/*------ Mixins ------*/
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
@import "https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css";
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/** Remove default margin. */
body { margin: 0; }

/* HTML5 display definitions ========================================================================== */
/** Correct `block` display not defined for any HTML5 element in IE 8/9. Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. Correct `block` display not defined for `main` in IE 11. */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }

/** 1. Correct `inline-block` display not defined in IE 8/9. 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */
audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }

/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }

/** Address `[hidden]` styling not present in IE 8/9/10. Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. */
[hidden], template { display: none; }

/* Links ========================================================================== */
/** Remove the gray background color from active links in IE 10. */
a { background: transparent; }

/** Improve readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }

/* Text-level semantics ========================================================================== */
/** Address styling not present in IE 8/9/10/11, Safari, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }

/** Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */
b, strong { font-weight: bold; }

/** Address styling not present in Safari and Chrome. */
dfn { font-style: italic; }

/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari, and Chrome. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Address styling not present in IE 8/9. */
mark { background: #ff0; color: #000; }

/** Address inconsistent and variable font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sup { top: -0.5em; }

sub { bottom: -0.25em; }

/* Embedded content ========================================================================== */
/** Remove border when inside `a` element in IE 8/9/10. */
img { border: 0; }

/** Correct overflow not hidden in IE 9/10/11. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** Address margin not present in IE 8/9 and Safari. */
figure { margin: 1em 40px; }

/** Address differences between Firefox and other browsers. */
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }

/** Contain overflow in all browsers. */
pre { overflow: auto; }

/** Address odd `em`-unit font size rendering in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }

/* Forms ========================================================================== */
/** Known limitation: by default, Chrome and Safari on OS X allow very limited styling of `select`, unless a `border` property is set. */
/** 1. Correct color not being inherited. Known issue: affects color of disabled elements. 2. Correct font properties not being inherited. 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */
button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }

/** Address `overflow` set to `hidden` in IE 8/9/10/11. */
button { overflow: visible; }

/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. Correct `select` style inheritance in Firefox. */
button, select { text-transform: none; }

/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }

/** Re-set default cursor for disabled elements. */
button[disabled], html input[disabled] { cursor: default; }

/** Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
input { line-height: normal; }

/** It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width.  1. Address box sizing set to `content-box` in IE 8/9/10. 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Fix the cursor style for Chrome's increment/decrement buttons. For certain `font-size` values of the `input`, it causes the cursor style of the decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Address `appearance` set to `searchfield` in Safari and Chrome. 2. Address `box-sizing` set to `border-box` in Safari and Chrome (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }

/** Remove inner padding and search cancel button in Safari and Chrome on OS X. Safari (but not Chrome) clips the cancel button when the search input has padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct `color` not being inherited in IE 8/9/10/11. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }

/** Remove default vertical scrollbar in IE 8/9/10/11. */
textarea { overflow: auto; }

/** Don't inherit the `font-weight` (applied by a rule above). NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup { font-weight: bold; }

/* Tables ========================================================================== */
/** Remove most spacing between table cells. */
table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; }

/*------ Layout ------*/
*, *:before, *:after { box-sizing: inherit; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

html { font: 400 16px/1.5 "Lato", sans-serif; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body { background: #f6f7f8; color: #555; }

/*------ Images ------*/
img { display: block; width: 100%; }

/*------ Containers ------*/
.container { margin: 0 auto; max-width: 1000px; padding: 3rem 0; width: 90%; }

.container--narrow { max-width: 600px; position: relative; }

/*------ Section ------*/
.section__header { margin-bottom: 1.5rem; }
.section__header h2 { font-weight: 400; margin: 0; }

/*------ Row ------*/
.row { position: relative; margin-bottom: 1.5rem; }
.row:last-of-type { margin-bottom: 0; }

/*------ Module ------*/
.module { position: relative; }
@media (min-width: 640px) { .module { float: left; } }

/*------ Module sizes ------*/
@media (min-width: 640px) { .module--3 { width: 25%; } }

@media (min-width: 640px) { .module--4 { width: 33.33%; } }

@media (min-width: 640px) { .module--5 { width: 40%; } }

@media (min-width: 640px) { .module--6 { width: 50%; } }

@media (min-width: 640px) { .module--7 { width: 60%; } }

@media (min-width: 640px) { .module--8 { width: 66.66%; } }

@media (min-width: 640px) { .module--9 { width: 75%; } }

.module--12 { width: 100%; }

/*------ Module fixed sizes ------*/
.module--3-fixed { float: left; width: 25%; }

.module--4-fixed { float: left; width: 33.33%; }

.module--6-fixed { float: left; margin-left: 3%; width: 48.5%; }
.module--6-fixed:first-of-type { margin-left: 0; }

/*------ Module modifiers ------*/
.module--right { text-align: right; }

/*------ Typography ------*/
h1, h2, h3, h4 { color: #555; font: 700 16px/1.5 "Lato", sans-serif; margin: 0; }

h1 { font-size: 2rem; margin-bottom: 1rem; }

h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }

h3 { font-size: 1rem; margin-bottom: .5rem; }

h4 { font-size: .9rem; margin: 0; }

p { margin: 0; }

/*------ Links ------*/
a { color: inherit; }
a:hover { text-decoration: underline; }

/*------ Basic type styles ------*/
strong { font-weight: 700; }

.user-rating:after { color: #ff7b7b; content: "\f004"; font-family: "FontAwesome"; font-size: .9em; margin-left: .25rem; }

.user-rating--inverse:before { color: #ff7b7b; content: "\f004"; font-family: "FontAwesome"; font-size: .9em; margin-right: .25rem; }

.strike-through { color: #c8c8c8; text-decoration: line-through; }

.subtitle { color: #888; font-size: .75rem; }

/*------ Prepend ------*/
.prepend--location:before { content: "\f041"; font-family: "FontAwesome"; margin-right: .25rem; }

.prepend--phone:before { content: "\f095"; font-family: "FontAwesome"; margin-right: .25rem; }

.prepend--reviews:before { content: "\f0e6"; font-family: "FontAwesome"; margin-right: .25rem; }

.prepend--plus:before { content: "\f055"; font-family: "FontAwesome"; margin-right: .25rem; }

/*------ Pulse ------*/
@keyframes pulse { from { transform: scale(1.2); }
  to { transform: scale(1); } }
.pulse, .search-steps__circle--current { animation: pulse .75s ease-in-out infinite alternate; }

/*------ Card List ------*/
.card-list { list-style: none; margin: 0; padding: 0; }

.card-list__item { position: relative; }
@media (min-width: 640px) { .card-list__item { float: left; margin-left: 3%; width: 48.5%; }
  .card-list__item:nth-of-type(2n+1) { margin-left: 0; } }
@media (min-width: 900px) { .card-list__item { width: 31.33%; }
  .card-list__item:nth-of-type(2n+1) { margin-left: 3%; }
  .card-list__item:nth-of-type(3n+1) { margin-left: 0; } }

/*------ Card ------*/
.card { background: #fff; border: 1px solid #e3e6e9; border-radius: 3px; display: block; font-size: .9rem; margin-bottom: 1.5rem; overflow: hidden; text-decoration: none; transition: border ease-in-out 0.2s; }
.card:hover { border: 1px solid #d8dce0; }

/*------ Card Structure ------*/
.card__section { border-bottom: 1px solid #e3e6e9; padding: 1rem; }
.card__section:last-of-type { border-bottom: 0; }
@media (min-width: 640px) { .card__section { height: 200px; } }
@media (min-width: 900px) { .card__section { border-bottom: 0; border-left: 1px solid #e3e6e9; float: left; width: 25%; }
  .card__section:first-of-type { border-left: 0; } }

@media (min-width: 900px) { .card__section--large { width: 50%; } }

.card__section--center { text-align: center; }

.card__row { margin-bottom: 1rem; }
.card__row:last-of-type { margin-bottom: 0; }

.card__section--photo { height: 200px; }

/*------ Card Items ------*/
.card__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; font-size: 1rem; margin-bottom: 0; }

.card__special { background: rgba(88, 88, 88, 0.6); color: #fff; display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: 1px; right: 0; padding: .5rem 1rem; position: absolute; text-transform: uppercase; z-index: 3; }

.card__price { font-size: 2rem; font-weight: 400; margin-bottom: .5rem; }

.card__label { color: #888; font-size: .75rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }

/*------ Card List ------*/
.card__list { list-style: none; margin: 0; padding: 0; }
.card__list li { margin-bottom: 1rem; }
.card__list li:last-of-type { margin-bottom: 0; }

.card__list--class { display: inline-block; }
@media (min-width: 640px) { .card__list--class { float: right; } }
.card__list--class li { color: #888; float: left; font-size: 1rem; margin-bottom: 0; margin-left: .1rem; }
.card__list--class .empty { color: #d9dee2; }

/*------ Card Small ------*/
.card--small { border: 1px solid #e3e6e9; text-align: center; }
.card--small .card__section { border: 0; border-bottom: 1px solid #e3e6e9; height: auto; width: 100%; }
.card--small .card__section:last-of-type { border-bottom: 0; }
.card--small .card__section--photo { height: 200px; }

/*------ Card Flights ------*/
.card--flights .card__section { height: auto; padding: 0; }
@media (min-width: 900px) { .card--flights .card__section--extra-large { border: 0; width: 75%; } }
.card--flights .card__row { border-bottom: 1px solid #e3e6e9; margin: 0; padding: 1rem; }
.card--flights .card__row:last-of-type { border-bottom: 0; }
@media (min-width: 640px) { .card--flights .card__row--padded { padding: 1.7rem 1rem; } }
.card--flights .module { margin-bottom: 1rem; }
.card--flights .module:last-of-type { margin-bottom: 0; }
@media (min-width: 640px) { .card--flights .module { margin-bottom: 0; } }

/*------ Package photos ------*/
.new-york { background: url("../../assets/images/cards/destinations/newyork.jpg") 50% 0 no-repeat; background-size: cover; }

.san-fran { background: url("../../assets/images/cards/destinations/sanfran.jpg") center no-repeat; background-size: cover; }

.chicago { background: url("../../assets/images/cards/destinations/chicago.jpg") center no-repeat; background-size: cover; }

.nassau { background: url("../../assets/images/cards/destinations/nassau.jpg") center no-repeat; background-size: cover; }

.london { background: url("../../assets/images/cards/destinations/london.jpg") center no-repeat; background-size: cover; }

.berlin { background: url("../../assets/images/cards/destinations/berlin.jpg") center no-repeat; background-size: cover; }

/*------ Hotel photos ------*/
.hotel1 { background: url("../../assets/images/cards/hotels/hotel1.jpg") center no-repeat; background-position: 50% 70%; background-size: cover; }

.hotel2 { background: url("../../assets/images/cards/hotels/hotel2.jpg") center no-repeat; background-position: 50% 70%; background-size: cover; }

.hotel3 { background: url("../../assets/images/cards/hotels/hotel3.jpg") center no-repeat; background-position: 50% 45%; background-size: cover; }

.hotel4 { background: url("../../assets/images/cards/hotels/hotel4.jpg") center no-repeat; background-size: cover; }

.hotel5 { background: url("../../assets/images/cards/hotels/hotel5.jpg") center no-repeat; background-size: cover; }

/*------ Room photos ------*/
.room1 { background: url("../../assets/images/cards/room-type/room1.jpg") center no-repeat; background-size: cover; }

.room2 { background: url("../../assets/images/cards/room-type/room2.jpg") center no-repeat; background-size: cover; }

.room3 { background: url("../../assets/images/cards/room-type/room3.jpg") center no-repeat; background-size: cover; }

.room4 { background: url("../../assets/images/cards/room-type/room4.jpg") center no-repeat; background-size: cover; }

.room5 { background: url("../../assets/images/cards/room-type/room5.jpg") center no-repeat; background-size: cover; }

.room6 { background: url("../../assets/images/cards/room-type/room6.jpg") center no-repeat; background-size: cover; }

/*------ Car photos ------*/
.economy { background: url("../../assets/images/cards/cars/economy.jpg") center no-repeat; background-size: 80%; }

.compact { background: url("../../assets/images/cards/cars/compact.jpg") center no-repeat; background-size: 80%; }

.standard { background: url("../../assets/images/cards/cars/standard.jpg") center no-repeat; background-size: 80%; }

.fullsize { background: url("../../assets/images/cards/cars/fullsize.jpg") center no-repeat; background-size: 80%; }

.premium { background: url("../../assets/images/cards/cars/premium.jpg") center no-repeat; background-size: 80%; }

/*------ Forms ------*/
input[type="text"], input[type="date"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], input[type="url"], input[type="time"], textarea { -webkit-appearance: none; background: #fff; border: 1px solid #e3e6e9; border-radius: 3px; color: #555; font-size: .9rem; height: 40px; line-height: normal; outline: none; padding: .6rem .5rem; transition: ease-in-out 0.2s; width: 100%; }
input[type="text"]:focus, input[type="date"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="time"]:focus, textarea:focus { border: 1px solid #c1c7ce; }

/*------ Input Placeholder Text ------*/
input::-webkit-input-placeholder { color: #888; }

input:-moz-placeholder { color: #888; }

input::-moz-placeholder { color: #888; }

input:-ms-input-placeholder { color: #888; }

/*------ Custom Select  ------*/
select { -moz-appearance: none; -webkit-appearance: none; background: #fff url("../../assets/images/down-arrow.svg") no-repeat; background-position: center right 12px; background-size: auto 6px; border: 1px solid #e3e6e9; border-radius: 3px; color: #555; cursor: pointer; font-size: .9rem; line-height: normal; height: 40px; outline: 0; padding: .6rem .5rem; transition: border ease-in-out 0.2s; width: 100%; }
select:focus { border: 1px solid #c1c7ce; }

select::-ms-expand { display: none; }

select:-moz-focusring { border: 0; color: transparent; text-shadow: 0 0 0 #555; }

@media (min-width: 640px) { .section__header select { float: right; width: 230px; } }

/*------ HTML5 Date input overrides ------*/
input[type=date]::-webkit-datetime-edit-fields-wrapper { padding: 0; }

input[type=date]::-webkit-inner-spin-button { -webkit-appearance: none; display: none; }

input[type=date]::-webkit-clear-button { -webkit-appearance: none; margin: 0; }

input[type="date"]::-webkit-calendar-picker-indicator { background: url("../../assets/images/down-arrow.svg") no-repeat; background-position: center right 3px; background-size: auto 6px; color: rgba(255, 255, 255, 0); cursor: pointer; }

/*------ Labels  ------*/
label { color: #555; display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: 1px; margin-bottom: .25rem; text-transform: uppercase; }

.label--clickable { cursor: pointer; font-size: .9rem; font-weight: 400; letter-spacing: 0; text-transform: none; user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; }
.label--clickable input[type="checkbox"], .label--clickable input[type="radio"] { margin-right: .5rem; }

/*------ Form table  ------*/
.form-table { background: #fff; border: 1px solid #e3e6e9; border-radius: 3px; color: #fff; margin: 0 auto; padding: 1.5rem; overflow: hidden; width: 100%; }
.form-table .row { margin-bottom: .75rem; }
.form-table .row:last-of-type { margin-bottom: 0; margin-top: 1.5rem; }
.form-table .module--6 { margin-bottom: .5rem; width: 100%; }
.form-table .module--6:last-of-type { margin-bottom: 0; }
@media (min-width: 640px) { .form-table .module--6 { margin-bottom: 0; margin-left: 3%; width: 48.5%; }
  .form-table .module--6:first-of-type { margin-left: 0; } }
.form-table .module--4-fixed { float: left; margin-left: 5%; width: 30%; }
.form-table .module--4-fixed:first-of-type { margin-left: 0; }

/*------ Flight search tabs ------*/
.flight-search-tabs { list-style: none; margin: 0; padding: 0; border: 1px solid #e3e6e9; border-radius: 3px; margin-bottom: 0; overflow: hidden; }
@media (min-width: 640px) { .flight-search-tabs { margin-bottom: 0; } }

.flight-search-tabs__item { border-left: 1px solid #e3e6e9; color: #888; cursor: pointer; float: left; font-size: .7rem; font-weight: 700; letter-spacing: .5px; padding: .6rem 0; text-align: center; text-transform: uppercase; transition: 0.2s ease-in-out; width: 33.33%; }
.flight-search-tabs__item:first-of-type { border-left: 0; }
.flight-search-tabs__item:hover { background: #f6f7f8; }

.flight-search-tabs__item--current { background: #f6f7f8; color: #555; transition: 0.2s ease-in-out; }

/*------ Buttons ------*/
.button { border: 0; border-radius: 3px; display: block; font-size: .8rem; font-weight: 900; letter-spacing: 1px; outline: 0; padding: .8rem; text-align: center; text-decoration: none; text-transform: uppercase; transition: background ease-in-out 0.2s; width: 100%; }
.button:hover { text-decoration: none; }

.button--primary { background: #58d8aa; color: #fff; }
.button--primary:hover { background: #3fd29d; }

.button--secondary { background: #3abff0; color: #fff; }
.button--secondary:hover { background: #1eb6ee; }

.button--add { background: none; border: 2px dashed #bbbbbb; color: #888; cursor: pointer; display: inline-block; margin-top: 1.5rem; transition: 0.2s ease-in-out; width: auto; }
.button--add:before { content: "\f067"; font-family: "FontAwesome"; font-weight: 400; margin-right: 7px; }
.button--add:hover { border: 2px dashed #a2a2a2; color: #7b7b7b; }

/*------ Header ------*/
header { background: #395667; }

header .container { padding: .75rem 0; }

.logo { color: #fff; display: inline-block; float: left; font-size: 1.6rem; font-weight: 700; line-height: 42px; margin-right: 2rem; text-decoration: none; }
.logo:hover { text-decoration: none; }

/*------ Navigation List ------*/
.nav-list { list-style: none; margin: 0; padding: 0; float: left; line-height: 42px; }

.nav-list__item { float: left; margin-left: 1.25rem; }
.nav-list__item:first-of-type { margin-left: 0; }

.nav-list__link { color: #fff; text-decoration: none; transition: color 0.2s ease-in-out; }
.nav-list__link:hover { color: #d5d5d5; text-decoration: none; }

.nav-list__link--current { color: #d5d5d5; }

/*------ User Account ------*/
.nav__user { color: #fff; display: inline-block; line-height: 39px; position: relative; }
.nav__user:before { background: #fff url("../../assets/images/user.svg") 50% 4px no-repeat; background-size: cover; border-radius: 50%; content: ""; height: 30px; left: -42px; margin-top: 5px; position: absolute; width: 30px; }

/*------ Desktop Navigation ------*/
.nav--desktop { display: none; }
@media (min-width: 640px) { .nav--desktop { display: block; } }

/*------ Mobile Navigation ------*/
.nav--mobile { background: #324b5a; display: block; }
@media (min-width: 640px) { .nav--mobile { display: none; } }

.nav--mobile .container { padding: .25rem 0; }

/*------ Footer ------*/
footer { background: #fff; border-top: 1px solid #e3e6e9; color: #888; }

@media (min-width: 640px) { footer .container { padding: 5rem 0; } }

.footer__section { margin-bottom: 1.5rem; }
@media (min-width: 640px) { .footer__section { margin-bottom: 3rem; } }
.footer__section:last-of-type { margin-bottom: 0; }

.footer__logo { display: inline-block; font-size: 1.5rem; font-weight: 700; }

.footer-list { list-style: none; margin: 0; padding: 0; }

.footer-list__item { font-weight: 700; margin-bottom: .5rem; }
@media (min-width: 640px) { .footer-list__item { float: left; margin-bottom: 0; margin-left: 3%; }
  .footer-list__item:first-of-type { margin: 0; } }
.footer-list__item a { text-decoration: none; transition: color 0.2s ease-in-out; }
.footer-list__item a:hover { color: #555; }

.footer-list__item--icon { float: left; font-size: 1.75rem; font-weight: 400; margin-left: 5%; transition: color 0.2s ease-in-out; }
.footer-list__item--icon:hover { color: #555; }
.footer-list__item--icon:first-of-type { margin-left: 0; }

/*------ Hero ------*/
.hero { background: #edeff1; background: url("../../assets/images/hero/hero.jpg") no-repeat; background-position: 50% 35%; background-size: cover; border-bottom: 1px solid #e3e6e9; position: relative; }

.hero .container { padding: 2rem 0; }
@media (min-width: 640px) { .hero .container { min-height: 500px; } }
@media (min-width: 900px) { .hero .container { min-height: 600px; } }

.hero__title { color: #fff; }

@media (min-width: 640px) { .hero .form-table { left: 0; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } }

/*------ Resuts top bar ------*/
.top-bar { background: #fff; border-bottom: 1px solid #e3e6e9; color: #888; font-size: .9rem; }

.top-bar .container { padding: 1rem 0; position: relative; }

/*------ Search criteria ------*/
.search-criteria { list-style: none; margin: 0; padding: 0; margin-bottom: 1.5rem; }
@media (min-width: 640px) { .search-criteria { margin-bottom: 0; } }
@media (min-width: 1200px) { .search-criteria { position: relative; top: 17px; } }

.search-criteria__item { color: #a2a2a2; }
@media (min-width: 1200px) { .search-criteria__item { border-left: 1px solid #e3e6e9; float: left; margin-left: .5rem; padding-left: .5rem; }
  .search-criteria__item:first-of-type { border-left: 0; margin-left: 0; padding-left: 0; } }

/*------ Search steps ------*/
.search-steps__line { background: #e8eaed; border: 0; height: 2px; left: 0; margin: auto; position: absolute; right: 0; top: 17px; width: 72%; z-index: 1; }
@media (min-width: 640px) { .search-steps__line { top: 32px; } }
@media (min-width: 1200px) { .search-steps__line { top: 17px; } }

.search-steps__list { list-style: none; margin: 0; padding: 0; }

.search-steps__item { float: left; position: relative; text-align: center; z-index: 2; }
@media (min-width: 640px) { .search-steps__item { top: 17px; } }
@media (min-width: 1200px) { .search-steps__item { top: 0; } }

.search-steps__item--4 { width: 25%; }

.search-steps__item--3 { width: 33.33%; }

.search-steps__circle { background: #e8eaed; border-radius: 50%; color: #888; display: block; font-size: .8rem; font-weight: 900; line-height: 34px; height: 34px; margin: 0 auto .5rem; text-align: center; text-decoration: none; width: 34px; }

.search-steps__circle--current { background: #3abff0; color: #fff; }

.search-steps__circle--completed { background: #58d8aa; transition: transform ease-in-out 0.2s; }
.search-steps__circle--completed:before { color: #fff; content: "\f00c"; font-family: "FontAwesome"; font-weight: 400; }
.search-steps__circle--completed:hover { text-decoration: none; transform: scale(1.2); }

.search-steps__caption { font-size: .7rem; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }

/*------  Results header ------*/
.filter__toggle { background: #fff; border-radius: 3px; border: 1px solid #e3e6e9; cursor: pointer; font-size: .9rem; margin-bottom: .5rem; padding: .525rem 1rem; transition: 0.2s ease-in-out; }
@media (min-width: 640px) { .filter__toggle { display: inline-block; float: left; margin: 0; } }
.filter__toggle:before { content: "\f0c9"; font-family: "FontAwesome"; font-size: .8rem; margin-right: .5rem; }
.filter__toggle:hover { border: 1px solid #d2d7dc; color: #6f6f6f; }

/*------  Filter box ------*/
.filter__box { background: #fff; border: 1px solid #e3e6e9; border-radius: 3px; display: none; position: absolute; z-index: 999; width: 100%; }
@media (min-width: 640px) { .filter__box { margin-top: 3rem; max-width: 500px; } }
.filter__box .row { border-bottom: 1px solid #e3e6e9; margin: 0; padding: 1.5rem; }
.filter__box .row:last-of-type { border-bottom: 0; }
.filter__box .module { margin-bottom: 1rem; }
.filter__box .module:last-of-type { margin-bottom: 0; }
@media (min-width: 640px) { .filter__box .module { margin-bottom: 0; } }

.filter-box__header { margin-bottom: .5rem; }

.filter-box__list { list-style: none; margin: 0; padding: 0; }

/*------ Review ------*/
.review { font-size: .9rem; }
@media (min-width: 900px) { .review { font-size: 1rem; } }
.review .module--6 { margin-bottom: 1.5rem; }
@media (min-width: 640px) { .review .module--6 { width: 47.5%; margin-left: 5%; }
  .review .module--6:first-of-type { margin-left: 0; } }
.review .module--6:last-of-type { margin-bottom: 0; }

.review__summary { background: #fff; border: 1px solid #e3e6e9; border-radius: 3px; }
.review__summary .row { border-bottom: 1px solid #e3e6e9; margin: 0; padding: 1.5rem; }
.review__summary .row:last-of-type { border-bottom: 0; }
.review__summary .button { margin-top: 1.5rem; }

/*------ Utilities ------*/
.active { display: block; }

.add-margin-top { margin-top: 1.5rem; }

.add-padding { padding: 1rem; }

.center { text-align: center; }

.left { text-align: left; }

.float-right { float: right; }

/*------ Clearfix created by Nicolas Gallagher ------*/
.container, .row, .card-list, .card__row, .card__list--class, .card--small .card__section, .flight-search-tabs, .nav-list, .nav--mobile, .footer-list, .top-bar, .search-criteria, .search-steps__list { *zoom: 1; }
.container:before, .row:before, .card-list:before, .card__row:before, .card__list--class:before, .card--small .card__section:before, .flight-search-tabs:before, .nav-list:before, .nav--mobile:before, .footer-list:before, .top-bar:before, .search-criteria:before, .search-steps__list:before, .container:after, .row:after, .card-list:after, .card__row:after, .card__list--class:after, .card--small .card__section:after, .flight-search-tabs:after, .nav-list:after, .nav--mobile:after, .footer-list:after, .top-bar:after, .search-criteria:after, .search-steps__list:after { content: " "; display: table; }
.container:after, .row:after, .card-list:after, .card__row:after, .card__list--class:after, .card--small .card__section:after, .flight-search-tabs:after, .nav-list:after, .nav--mobile:after, .footer-list:after, .top-bar:after, .search-criteria:after, .search-steps__list:after { clear: both; }
