@charset "UTF-8";

/* ------------------------------------- */
/*   Custom fonts
/* ------------------------------------- */
/* @font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-Black.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis Extra';
  src: url('../../fonts/metropolis/Metropolis-ExtraBold.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-ExtraBold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-Bold.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-ThinItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-ThinItalic.woff') format('woff');
  font-weight: 100;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-RegularItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-RegularItalic.woff') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-MediumItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-MediumItalic.woff') format('woff');
  font-weight: 500;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-BlackItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-BlackItalic.woff') format('woff');
  font-weight: 900;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-BoldItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-BoldItalic.woff') format('woff');
  font-weight: bold;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-Medium.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis Extra';
  src: url('../../fonts/metropolis/Metropolis-ExtraLightItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-ExtraLightItalic.woff') format('woff');
  font-weight: 200;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis Extra';
  src: url('../../fonts/metropolis/Metropolis-ExtraBoldItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-ExtraBoldItalic.woff') format('woff');
  font-weight: 800;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis Extra';
  src: url('../../fonts/metropolis/Metropolis-ExtraLight.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-ExtraLight.woff') format('woff');
  font-weight: 200;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-Regular.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis Semi';
  src: url('../../fonts/metropolis/Metropolis-SemiBoldItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-SemiBoldItalic.woff') format('woff');
  font-weight: 600;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-Thin.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-LightItalic.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis Semi';
  src: url('../../fonts/metropolis/Metropolis-SemiBold.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../../fonts/metropolis/Metropolis-Light.woff2') format('woff2'),
      url('../../fonts/metropolis/Metropolis-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: fallback;
} */

/* * {
    -webkit-transition: all 0.2s ease;
       -moz-transition: all 0.2s ease;
        -ms-transition: all 0.2s ease;
            transition: all 0.2s ease;
} */

body.application {
    background: #fff;
    /* font-family: 'Metropolis', sans-serif; */
    font-family: Lato, sans-serif;
    font-size: 1em;
    width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /*overflow: hidden;*/
}

main {
  padding: 58px 0 0 0;
}
@media (max-width: 600px) {
  main {
    padding-top: 58px
  }
}
@media (max-width: 1080px) {
  main {
    padding: 58px 0 0 0;
  }
}


/*--------------------------------------------------------------
# MISC
--------------------------------------------------------------*/
::-moz-selection {
    background: #333;
    color: #fff;
    text-shadow:none;
}
::selection {
    background: #333;
    color: #fff;
    text-shadow:none;
}
::-webkit-selection {
    background: #333;
    color: #fff;
    text-shadow:none;
}
::-moz-selection {
    background: #333;
    color: #fff;
    text-shadow:none;
}

/*--------------------------------------------------------------
# HEADINGS & TEXT
--------------------------------------------------------------*/
.application h2, .h2 {
    font-size: 28px;
    font-weight: bold;
}

.application h4, .h4 {
    color: #aaa;
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.text-coal {
  color: #535353;
}

@media (max-width:575px) {
  h2, .h2 {
    font-size: 22px;
  }
  h4, .h4 {
    font-size: 14px;
  }
}

/*--------------------------------------------------------------
# BUTTONS
--------------------------------------------------------------*/
.btn {
  outline: none;
  border-radius: 40px;
  color: #fff;
  text-transform: uppercase;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  padding: 10px 30px;
  border: none;
  -webkit-appearance: none;
}
.btn-lg {
  font-size: 22px;
  padding: 12px 15px 10px 15px;
}
.btn-link {
  display: block;
  color: #838383;
  font-weight: 400;
  font-size: 14px;
  margin: 20px auto 0 auto;
  text-align: center;
  padding: 0;
}
.btn-link:hover {
  text-decoration: none;
  color: #2a2a2a;
}
.btn-icon {
  text-align: left;
  width: 280px;
  margin: 30px auto 0 auto;
  position: relative;
  display: block;
}
.btn-icon:after {
  content: "";
  text-align: left;
  background: url(../../img/icons/arrow-right-long.svg) no-repeat;
  display: inline-block;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 25px;
}
.btn-dark {
    background-color: #272727;
}
.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}
.btn-success:hover, .btn-success:active, .btn-success:focus {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}
.application .btn-primary {
    background-color: #ef9756;
    margin: 30px auto 0 auto;
    display: block;
}
.application .btn-primary:hover, .application .btn-primary:active, .application .btn-primary:focus {
    background-color: #f39243 !important;
    outline: none !important;
}

@media (max-width:650px) {
    .btn {
        font-size: 16px;
    }
}
@media (max-width:400px) {
    .btn {
        font-size: 15px;
    }
    .section__form .btn-primary {
      font-size: 17px;
      padding: 13px 30px;
      width: 100%;
    }
}

.btn-previous {
  width: 100%;
}
.section--jobs .btn-next {
  display: none;
}


/*--------------------------------------------------------------
# FORMS
--------------------------------------------------------------*/
.form-group {
    margin-bottom: 25px;
}

label {
    color: #454545;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 5px;
}

.form-control {
    background-color: #fff;
    border-radius: 5px;
    border-color: #D7D7D7;
    font-size: 16px;
    padding: 8px 12px;
    height: 44px;
    color: #2A2A2A;
    font-weight: 600;
}
.form-control:focus {
    color: #2A2A2A;
    border-color: #fda258;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.form-control.parsley-error {
    border-color: #f7d4d4;
}

select.form-control {
    -webkit-appearance: none;
    background: #fff url(../../img/icons/arrow-down.svg) 90% 12px no-repeat;
    background-size: 16px 16px;
    padding-right: 35px;
}

.checkbox label:after {
  content: '';
  display: table;
  clear: both;
}

.checkbox .cr {
  position: relative;
  display: inline-block;
  border: 1px solid #a9a9a9;
  border-radius: .25em;
  width: 1.3em;
  height: 1.3em;
  float: left;
  margin-right: .5em;
}

.checkbox .cr .cr-icon {
  position: absolute;
  font-size: .8em;
  line-height: 0;
  top: 50%;
  left: 15%;
}

.checkbox label input[type="checkbox"] {
  display: none;
}

.checkbox label input[type="checkbox"]+.cr>.cr-icon {
  opacity: 0;
}

.checkbox label input[type="checkbox"]:checked+.cr>.cr-icon {
  opacity: 1;
}

.checkbox label input[type="checkbox"]:disabled+.cr {
  opacity: .5;
}

.combodate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.combodate select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    width: 100% !important;
}

.required-field {
    font-size: 10px;
    color: #ffffff;
    text-align: left;
    background: none;
    border: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.parsley-errors-list, .error {
    color: #f74646;
    font-weight: 500;
    margin: 5px 0 0 0;
    padding: 0;
    font-size: 13px;
    list-style: none;
}
.error-block {
  padding: 10px 15px;
  margin-top: 30px;
  color: #fff;
  background-color:#f74646;
}


/*--------------------------------------------------------------
# BLOCKS
--------------------------------------------------------------*/
.block {
  background-color: transparent;
  position: fixed;
  top: -10rem;
  left: -5rem;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  width: auto;
  height: auto;
  z-index: 1;
}
.block.right {
  right: 0;
  left: auto;
  top: 0;
}
.block.right img {
  float: right;
}
.block.left {
  left: 0%;
  right: auto;
  top: auto;
  bottom: -30%;
}
.block img {
  display: block;
  opacity: 0;
  height: 0;
  -webkit-transition: transform 0.3s ease;
          -webkit-transition: -webkit-transform 0.3s ease;
          transition: -webkit-transform 0.3s ease;
          -o-transition: transform 0.3s ease;
          transition: transform 0.3s ease;
          transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.block img.block--active {
  opacity: 1;
  height: 100%;
}
@media (max-width:1550px) {
  .block {
    width: 21%;
  }
}
@media (max-width: 1200px) {
  .block {
    width: 18%;
  }
}
@media (max-width: 1200px) {
  .block {
    display: none;
  }
}

/*--------------------------------------------------------------
# HEADER
--------------------------------------------------------------*/
.application header {
  background-color: #fff;
  padding: 20px 30px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
}
.application header.transparent {
  background-color: transparent;
}
@media (min-width:575px) {
  .application header {
    background-color: transparent;
  }
}
.application header .logo-wrap {
  position: relative;
}
.application header .logo {
    width: 110px;
    position: relative;
    opacity: 1;
    z-index: 1;
    -webkit-transition: all 0.2s ease;
            -o-transition: all 0.2s ease;
            transition: all 0.2s ease;
}
.application header .logo--dark {
    opacity: 0;
    position: absolute;
    left: 0;
}
.application header .logo--show {
  opacity: 1;
}

@media (max-width:650px) {
    .application header {
      padding: 20px;
    }
    .application header .logo {
        width: 80px;
    }
}
@media (max-width:500px) {
  .application header {
        padding: 20px;
    }
}

/*--------------------------------------------------------------
# SECTIONS
--------------------------------------------------------------*/
.section {
  background-color: #fff;
  position: relative;
  overflow: hidden;
  height: 100vh;
  min-height: 700px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.section__form {
  height: 0;
  min-height: 0;
  
 /* position: absolute;*/
  width: 100%;

  opacity: 0;
  visibility: hidden;
  -webkit-transition: visibility .3s ease-out 0s, opacity .3s ease-out 0s;
  -o-transition: visibility .3s ease-out 0s, opacity .3s ease-out 0s;
  transition: visibility .3s ease-out 0s, opacity .3s ease-out 0s;
}

.section__form.section--current, .section__form.section--complete {
  height: auto;
  min-height: 870px;
  padding: 120px 30px;
  opacity: 1;
  visibility: visible;
  -webkit-transition: visibility .3s ease-out 0s, opacity .3s ease-out 0s;
  -o-transition: visibility .3s ease-out 0s, opacity .3s ease-out 0s;
  transition: visibility .3s ease-out 0s, opacity .3s ease-out 0s;
}

.section__form .section__title {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all .3s ease-out 0.8s;
  -o-transition: all .3s ease-out 0.8s;
  transition: all .3s ease-out 0.8s;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px);
}

.section__form .section__content {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all .3s ease-out 1s;
  -o-transition: all .3s ease-out 1s;
  transition: all .3s ease-out 1s;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px);
}
.section__form.section--current .section__title, .section__form.section--current .section__content,  .section__form.section--complete .section__title, .section__form.section--complete .section__content {
  opacity: 1;
  visibility: visible;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.section .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-line-pack: center;
      align-content: center;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.section--splash {
    background-color: #f69c48;
    z-index: 2;
}
.section--splash .container {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.section__title {
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 40px;
    width: 100%;
}
.section__title h2 {
    color: #fda258;
}
.section__content {
    margin: 0 auto;
    max-width: 800px;
    width: 100%;
    position: relative;
    z-index: 1;
}

@media (max-width:768px) { 
  .section__form.section--current, .section__form.section--complete {
      height: auto;
      min-height: auto;
      overflow: visible;
    }
  .section .container, .section__form .container, .section__content {
    max-width: 100%;
  }
}

@media (max-width:650px) {
    .section--splash {
      min-height: 600px;
    }
    .section--splash .container {
      padding: 100px 20px;
    }
    .section__form.section--current, .section__form.section--complete {
      padding: 80px 20px 50px 20px;
    }
}
@media (max-width:575px) {
    
    .section--splash .container {
     padding: 80px 15px;
    }
    .section__title {
      margin-bottom: 20px;
    }
}




/*--------------------------------------------------------------
# SPLASH
--------------------------------------------------------------*/
#header .header {
  position:  relative !important;
}
.section--payment {
  height: 730px;
  z-index: 0;
}
.section--payment .section__splash--content {
  padding-top: 20px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start; 
}
.section--splash .container {
    max-width: 1500px;
}
.section__splash--content, .section__checker--content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: center;
        align-content: center;
    height: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 600px;
    position: relative;
    z-index: 1;
}
.section__checker--content {
  padding-top:100px;
  padding-bottom: 300px;
  width: 100%;
}
.section__splash--heading {
    color: white;
    font-size: 43px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.section__splash--sub-heading {
    color: #fff;
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 10px;
}
.section__splash--body {
    color: white;
    margin-bottom: 40px;
    font-weight: 500;
}
.section__splash--image {
    width: 1035px;
    height: 1035px;
    border-radius: 50%;
    display: block;
    background-size: cover;
    background-position: right 220px;
    background-repeat: no-repeat;
    right: -10%;
    top: -220px;
    position: absolute;
}
/*--------------------------------------------------------------
# Page load animation 
--------------------------------------------------------------*/
.section__splash--image {
  opacity: 0;
  -webkit-animation: scaleUp .2s ease-in-out forwards 0.5s;
          animation: scaleUp .2s ease-in-out forwards 0.5s;
}
.p-hidden {
  height: auto;
  overflow: hidden;
}
.p-hidden .section__splash--body {
  -webkit-transform: translateY(300px);
      -ms-transform: translateY(300px);
          transform: translateY(300px);
  -webkit-animation: slideUp .7s ease-in-out forwards 1.2s;
          animation: slideUp .7s ease-in-out forwards 1.2s;
}
.btn-hidden {
  height: 50px;
  position: relative;
  overflow: hidden;
}
.btn-hidden .btn-start {
  -webkit-transform: translateY(50px);
      -ms-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-animation: slideUp .7s ease-in-out forwards 1.4s;
          animation: slideUp .7s ease-in-out forwards 1.4s;
}
.heading-hidden {
  overflow: hidden;
  height: 130px;
}
.heading-hidden .section__splash--heading {
    -webkit-transform: translateY(200px);
        -ms-transform: translateY(200px);
            transform: translateY(200px);
    -webkit-animation: slideUp .7s ease forwards .9s;
            animation: slideUp .7s ease forwards .9s;
}

@keyframes slideUp {
  0% {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(300px);
            transform: translateY(300px);
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes scaleUp {
  0% {
  
    opacity: 0;
  }
  100% {

    opacity: 1;
  }
}
@-webkit-keyframes scaleUp {
  0% {
  
    opacity: 0;
  }
  100% {

    opacity: 1;
  }
}

@media (max-width:1550px) {
    .section__splash--image {
        width: 900px;
        height: 900px;
        top: -13%;
        right: -12%;
        background-position: right 0;
        background-size: cover;
    }
}
@media (max-width:1350px) {
    .section__splash--image {
        width: 800px;
        height: 800px;
    }
}
@media (max-width:1150px) {
    .section__splash--image {
        width: 800px;
        height: 800px;
        top: 50%;
        margin-top: -400px;
        right: -30%;
        background-position: -600px 0;
    }
}
@media (max-width:950px) {
    .section__splash--image {
        right: -40%;
    }
}
@media (max-width:850px) {
    .section__splash--image {
        width: 700px;
        height: 700px;
        top: 50%;
        margin-top: -350px;
        right: -50%;
        background-position: -550px 0;
    }
    .section__splash--content {
        max-width: 480px;
    }
    .section__splash--heading {
        font-size: 40px;
    }
    .heading-hidden {
      height: 160px;
    }
}
@media (max-width:650px) {
    .section--splash.section--payment .container {
      padding-top: 0px;
    }
    .section__splash--image {
        width: 400px;
        height: 400px;
        top: auto;
        bottom: -7%;
        margin-top: 0;
        right: -25%;
        background-position: -250px 0;
    }
    .section__splash--content {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: start;
    }
    .section__splash--heading {
        font-size: 35px;
    }
    .section__splash--body {
        font-size: 15px;
        margin-bottom: 30px;
    }
    .heading-hidden {
      height: 100px;
    }
}
@media (max-width:500px) {
    .section__splash--heading {
        font-size: 33px;
    }
    .heading-hidden {
      height:125px;
    }
}
@media (max-width:400px) {
    .section__splash--image {
        right: -40%;
    }
    .section__splash--heading {
        font-size: 29px;
    }
    .heading-hidden {
      height:115px;
    }
    .section__splash--body {
        font-size: 14px;
        margin-bottom: 20px;
    }
}






/*--------------------------------------------------------------
# RESORTS
--------------------------------------------------------------*/
.resorts__grid {
  text-align: center;
}
.resorts__grid-item {
  margin: 7px 5px;
  width: 140px;
  height: 125px;
  position: relative;
  display: inline-block;
}
.resorts__grid-item input {
  display: none;
}
.resorts__grid-item label {
  background-size: cover;
  background-repeat: no-repeat;
  line-height: 1;
  border-radius: 5px;
  margin: 0;
  text-align: center;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-transition: transform 0.2s ease;
          -webkit-transition: -webkit-transform 0.2s ease;
          transition: -webkit-transform 0.2s ease;
          -o-transition: transform 0.2s ease;
          transition: transform 0.2s ease;
          transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.resorts__grid-item label:after {
  content: "";
  background-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 5px;
}
.resorts__grid-item.resort__sold-out label:after {
  background-color: rgba(0, 0, 0, 0.5);
}
.resorts__grid-item label:hover {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
}
.resorts__grid-item label:hover:after {
  background-color: rgba(0, 0, 0, 0.3);
}
.resorts__grid-item.resort__sold-out label:hover {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}
.resorts__grid-item.resort__sold-out label:hover:after {
  background-color: rgba(0, 0, 0, 0.5);
}
.resorts__grid-item label .resort__name {
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 18px;
  position: absolute;
  z-index: 1;
  padding: 10px;
}
.resorts__grid-item label .resort__state {
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 14px;
  position: absolute;
  z-index: 1;
  padding: 6px;
  bottom: 0;
  background-color: #f03636;
  left: 0;
  width: 100%;
  border-radius: 0 0 5px 5px;
}

.resorts__grid-item input:checked + label:after {
  background-color: rgba(0, 0, 0, 0.4);
}
.resorts__grid-item input:checked + label {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
}
.resorts__grid-item input:checked + label:before {
  content: "";
  border-bottom: 5px solid #F19E56;
  height: 1px;
  position: absolute;
  bottom: -5px;
  width: 75%;
  border-radius: 14px;
}



/*--------------------------------------------------------------
# RESORT DATES
--------------------------------------------------------------*/
#resort-actions, #section__resort-date {
  display: none;
}

.resorts__grid-item.resorts__grid-item--selected {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.resorts__grid-item.resorts__grid-item--selected label:hover {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.resort__selected-choice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.resort__change {
  position: absolute;
  bottom: 0;
  padding: 9px;
  color: #fff;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  left: 0;
  border-radius: 0 0 5px 5px;
}
.carousel-dates {
  margin-left: -10px;
}
.resort__date {
  display: inline-block;
  
  width: 50%;
  max-width: 140px;
  height: 152px;
  padding-left: 10px;
  margin-bottom: 25px;
  padding-top: 27px;
}
.resort__date input {
  display: none;
}
.resort__date label {
  cursor: pointer;
  background-color: #FFF;
  border: 2px solid #D9D9D9;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  margin: 0;
  text-align: center;
  position: relative;
  line-height: 1.2;
  -webkit-transition: transform 0.2s ease;
          -webkit-transition: -webkit-transform 0.2s ease;
          transition: -webkit-transform 0.2s ease;
          -o-transition: transform 0.2s ease;
          transition: transform 0.2s ease;
          transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.resort__date label:hover {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
}
.resort__date label .date {
  color: #2A2A2A;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 18px;
  padding: 10px;
}
.resort__date label .remaining {
      position: absolute;
    top: -18px;
    left: 50%;
    margin-left: -54px;
    border-radius: 5px;
    width: 85%;
    background-color: #D23232;
    color: #fff;
    padding: 4px 5px;
    font-size: 11px;
    line-height: 1.4;
}
.resort__date input:checked + label {
  background-color: #2C2C2C;
  border-color: #2C2C2C;
}
.resort__date input:checked + label .date {
  color: #F1A058;
}


/*--------------------------------------------------------------
# RESORT DATES
--------------------------------------------------------------*/
.options__grid {
  display: block;
  text-align: center;
}
.options__grid .option__item {
  display: inline-block;
  text-align: center;
  margin: 0 10px;
}
.options__grid .option__item input {
  display: none;
  -webkit-appearance: none;
}
.options__grid .option__item .circle {
  border-radius: 50%;
  display: block;
  color: #fff;
  cursor: pointer;
  height: 132px;
  margin: 0 auto; 
  width: 133px;
}
.options__grid .option__item i {
  color: #252525;
  font-size: 4.5em;
  line-height: 130px;
  display: block;
  text-shadow: none;
}
.options__grid .option__item span {
  color: #252525;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 1.2em;
  display: block;
  padding-top: 10px;
  margin: 0 0 25px 0;
}
.options__grid .option__item input:checked + label .circle {
  background-color: #252525 !important;
}
.options__grid .option__item input:checked + label i {
  color: #f69c48;
}

.selected__choice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 13px;
  background-color: #fff;
  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.21);
          box-shadow: 0 1px 10px rgba(0, 0, 0, 0.21);
  padding: 10px 15px;
  margin: 0 auto;
  max-width: 505px;
  -webkit-transform: scale(0.7);
      -ms-transform: scale(0.7);
          transform: scale(0.7);
  -webkit-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease;
  opacity: 0;
}
.selected__choice.visible {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}
.selected__choice img {
  margin-right: 20px;
}
.selected__choice p {
  margin-bottom: 0;
}

.resort__selected-choice .selected__choice {
  margin: 0 0 0 20px;
}


@media (max-width: 700px) {
  .section__form .section__title {
    margin-bottom: 20px;
  }

  .options__grid .option__item  {
    width: 38%;
  }

  .resort__selected-choice {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .resort__selected-choice .selected__choice {
    margin: 20px 0;
  }
  #section__resort-date h4 {
    margin-bottom: 30px;
    text-align: center;
  }
}

@media (max-width: 400px) {
  .options__grid .option__item span {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .options__grid .option__item i {
    font-size: 4em;
    line-height: 120px;
  }
  .options__grid .option__item .circle {
    height: 120px;
    width: 120px;
  }
  .resort__date label:hover {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  /*.options__grid .option__item label[for="room-friends"] {
    position: relative;
    top: 20px;
  }*/
}




/*--------------------------------------------------------------
# CHECKER
--------------------------------------------------------------*/
#checking {
  min-height: 450px;
}
.checker {
  max-width: 360px;
  margin: -10px auto 0 auto;
  position: relative;
  width: 100%;
}
.checker__card {
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  padding: 25px;
  border-radius: 13px;
  background-color: #fff;
  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.20);
          box-shadow: 0 1px 10px rgba(0, 0, 0, 0.20);
  position: absolute;
  width: 100%;
  text-align: center;
  left: 0;
  right: 0;
  margin: 0 auto -330px auto;
  min-height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.checker__card:nth-child(1) {
  bottom: 24px;
  width: 80%;
}
.checker__card:nth-child(2) {
  bottom: 36px;
  width: 85%;
}
.checker__card:nth-child(3) {
  bottom: 48px;
  width: 90%;
}
.checker__card:nth-child(4) {
  bottom: 60px;
  width: 95%;
}
.checker__card:nth-child(5) {
  bottom: 72px;
  width: 100%;
}
.checker__step {
    margin-bottom: 10px;
    color: #8B8B8B;
}
.checker__card i {
  font-size: 70px;
}
.checker__card i.icon-tick {
  background-color: #3dc03d;
  border-radius: 50%;
  color: #fff;
  font-size: 40px;
  padding: 22px;
  display: inline-block;
  line-height: 37px;
}
.checker__card h3 {
  font-size: 17px;
  font-weight: 600;
  text-transform: uppercase;
  margin: 15px 0 0 0;
}

#app-loading {
  background-color: #eee;
  width: 100%;
  border-radius: 30px;
  height: 15px;
  max-width: 360px;
  margin: 0 auto;
}
#app-loading-bar {
  background-color: #3dc03d;
  height: 15px;
  border-radius: 30px;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
#app-loading-precent {
  display: none;
}

.transformPrev {
  /* animation: scaleUp 100ms forwards !important; */
  display: none;
}

@keyframes scaleUp {
  0% {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0; 
  }
  20% {
    -webkit-transform: scale(1.15);
        -ms-transform: scale(1.15);
            transform: scale(1.15);
    opacity: 0.10;
  }
  40% {
    -webkit-transform: scale(1.10);
        -ms-transform: scale(1.10);
            transform: scale(1.10);
    opacity: 0.20;
  }
  60% {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.40;
  }
  80% {
    -webkit-transform: scale(1.01);
        -ms-transform: scale(1.01);
            transform: scale(1.01);
    opacity: 0.80;
  }
  100% {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes scaleUp {
  0% {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0; 
  }
  20% {
    -webkit-transform: scale(1.15);
        -ms-transform: scale(1.15);
            transform: scale(1.15);
    opacity: 0.10;
  }
  40% {
    -webkit-transform: scale(1.10);
        -ms-transform: scale(1.10);
            transform: scale(1.10);
    opacity: 0.20;
  }
  60% {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.40;
  }
  80% {
    -webkit-transform: scale(1.01);
        -ms-transform: scale(1.01);
            transform: scale(1.01);
    opacity: 0.80;
  }
  100% {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes scaleDown {
  0% {-webkit-transform: scale(1) translateY(0);transform: scale(1) translateY(0); opacity: 1; }
  20% {-webkit-transform: scale(1.01) translateY(20px);transform: scale(1.01) translateY(20px); opacity: 0.80;}
  40% {-webkit-transform: scale(1.05) translateY(40px);transform: scale(1.05) translateY(40px); opacity: 0.40;}
  60% {-webkit-transform: scale(1.10) translateY(60px);transform: scale(1.10) translateY(60px); opacity: 0.20;}
  80% {-webkit-transform: scale(1.15) translateY(80px);transform: scale(1.15) translateY(80px); opacity: 0.10;}
  100% {-webkit-transform: scale(1.2) translateY(100px);transform: scale(1.2) translateY(100px); opacity: 0;}
}
@-webkit-keyframes scaleDown {
  0% {-webkit-transform: scale(1) translateY(0);transform: scale(1) translateY(0); opacity: 1; }
  20% {-webkit-transform: scale(1.01) translateY(20px);transform: scale(1.01) translateY(20px); opacity: 0.80;}
  40% {-webkit-transform: scale(1.05) translateY(40px);transform: scale(1.05) translateY(40px); opacity: 0.40;}
  60% {-webkit-transform: scale(1.10) translateY(60px);transform: scale(1.10) translateY(60px); opacity: 0.20;}
  80% {-webkit-transform: scale(1.15) translateY(80px);transform: scale(1.15) translateY(80px); opacity: 0.10;}
  100% {-webkit-transform: scale(1.2) translateY(100px);transform: scale(1.2) translateY(100px); opacity: 0;}
}

@keyframes scaleCard {
  0%   {top:5px;}
  100% {top:24px;}    
}
@-webkit-keyframes scaleCard {
  0%   {top:5px;}
  100% {top:24px;}    
}


/*--------------------------------------------------------------
# TABS
--------------------------------------------------------------*/
.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* align-items: center;
  justify-content: center; */
  padding-top: 60px;
}
.tabs a {
  background-color: #F1F1F1;
  padding: 15px;
  color: #5B5B5B;
  font-weight: bold;
  font-size: 18px;
  border-radius: 50px;
  height: 65px;
  margin-right: 20px;
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.2s ease;
            -o-transition: all 0.2s ease;
            transition: all 0.2s ease;
}
.tabs a:last-child {
  margin-right: 0;
}
.tabs a:hover {
  text-decoration: none;
  background-color: #e4e4e4;
  
}
.tabs a.tab--active {
  background-color: #F1A15A;
  color: #fff;
}
.tab__content {
  display: none;
  padding-top: 40px;
}
.tab__content h3 {
  color: #5B5B5B;
  font-weight: bold;
  font-size: 25px;
  margin: 10px 0 20px 0;
}
.tab__content p {
  color: #7D7D7D;
  line-height: 1.6;
  margin-bottom: 30px;
}

.resort__image {
  width: 48%;
  height: 260px;
  border-radius: 15px;
  margin-right: 20px;
  background-size: cover;
  background-repeat: no-repeat;
  display: inline-block;

  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}
.flickity-button.flickity-prev-next-button {
  border-radius: 8px
}
.flickity-button:focus {
  -webkit-box-shadow: none!important;
          box-shadow: none!important
}
.flickity-button.flickity-prev-next-button:disabled {
  visibility: hidden
}

/*--------------------------------------------------------------
# TICK LIST
--------------------------------------------------------------*/
.tick__list {
  padding-left: 35px;
}
.tick__list li {
  list-style: none;
  margin: 20px 0;
  font-size: 17px;
  position: relative;
}
.tick__list--green li:before {
  content: "";
  display: block;
  background-image: url(../../img/icons/tick-green-circle.svg);
  background-size: 25px;
  background-repeat: no-repeat;
  width: 28px;
  height: 30px;
  position: absolute;
  left: -35px;
}

/*--------------------------------------------------------------
# PAYMENT
--------------------------------------------------------------*/
.application__cta {
  position: -webkit-sticky;
  position: sticky;
  top: 40px;
  margin-top: -300px;
  width: 100%;
  max-width: 400px;
  z-index: 2;
}
.application__cta .btn {
  -webkit-box-shadow: 0 7px 17px rgba(0, 0, 0, 0.25);
          box-shadow: 0 7px 17px rgba(0, 0, 0, 0.25);
  padding: 14px 15px;
}
.application__card {
    background-color: #3E3E3E;
    border-radius: 25px;
    -webkit-box-shadow: 0 3px 38px rgba(0, 0, 0, 0.2);
            box-shadow: 0 3px 38px rgba(0, 0, 0, 0.2);
    padding: 30px;
    text-align: center;
    margin-bottom: 25px;
}
.application__card h4 {
  font-size: 14px;
  color: #BCBCBC;
  margin-bottom: 15px;
}
.application__card h3 {
  color: #fff;
  font-weight: bold;
  font-size: 25px;
  margin-bottom: 20px;
}
.application__card .badge {
  border-radius: 30px;
  padding: 8px 20px;
  text-transform: uppercase;
}
.application__option {
  padding: 10px;
  background-color: #2C2C2C;
  border-radius: 5px;
  margin-top: 25px;
  min-height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.application__option--value {
  color: #f69c48;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2;
}
.application__option--name {
  color: #848484;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
  margin-top: 10px;
}
.application__label {
  color: rgba(255, 255, 255, 0.63);
  text-align: left;
  margin-top: 10px;
}
.application__value {
  color: #fff;
  text-align: left;
  margin-top: 10px;
}
.countdown-heading, #countdown-clock-flaps {
  text-align: center;
  color: #DD3434;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 17px;
  
}
#countdown-clock-flaps {
  font-size: 35px;
  margin-bottom: 20px;
  text-transform: none;
}


#checkout {
 background-color: #fff;
 padding: 120px 0;
 text-align: center;
}
#checkout h2 {
  color: #f69c48;
  text-transform: uppercase;
}
.payment__card {
  width: 100%;
  max-width: 450px;
  margin: 100px auto 30px auto;
  padding: 30px;
  background-color: #3e3e3e;
  border-radius: 15px;
}
.payment__price {
  border-radius: 50%;
  background-color: #f69c48;
  color: #fff;
  padding: 10px;
  font-weight: bold;
  font-size: 40px;
  margin-top: -80px;
  width: 120px;
  height: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: -80px auto 30px auto;
  line-height: 1.1;
}
.payment__price span {
  font-size: 17px;
  text-transform: uppercase;
  line-height: 1.1;
}
.payment__card h4 {
  color: #F1A15A;
  text-transform: uppercase;
  font-size: 24px;
}
.payment__card form {
  text-align: left;
}
.payment__card label {
  color: #eee;
  text-transform: uppercase;
}
.payment__card .form-control {
  border-radius: 5px;
}
.payment__card .form-group {
  margin-bottom: 20px;
}
.payment__card #card-element {
  background-color: #fff
}
.payment__card .btn {
  margin-bottom: -55px;
  -webkit-box-shadow: 0 7px 17px rgba(0, 0, 0, 0.25);
          box-shadow: 0 7px 17px rgba(0, 0, 0, 0.25);
}


@media (max-width:992px) {

  .section--payment .section__splash--content {
    padding-top: 20px;
  }
  .application__cta {
    margin-left: auto;
    margin-right: auto;
    margin-top: -250px;
  }
  #checkout {
    padding: 60px 0;
  }
  #checking {
    padding: 0 20px;
  }

}

@media (max-width: 650px) {
  #checking {
    margin-top: 0;
  }
  .section--payment .section__splash--content {
    padding-top: 0;
  }
  .section__splash--sub-heading {
    font-size: 30px;
  }
  .application__cta { 
    margin-top: -410px;
    position: relative;
  }
  #payment .row .col-lg-6 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .payment__card {
    padding: 15px;
  }
  .payment__card .btn {
    margin-bottom: -33px;
  }
}

@media (max-width: 450px) {
  .form-group {
    margin-bottom: 20px;
  }
  .section--payment .section__splash--heading {
    font-size: 30px;
  }
  .section__splash--sub-heading {
    font-size: 25px;
    margin-bottom: 20px
  }
  .section__checker--content {
    padding-top: 0;
    padding-bottom: 340px;
  }
  .checker {
    max-width: 280px;
  }
  .checker__card {
    padding: 20px;
  }
  .application__cta { 
    margin-top: -420px;
  }
  .section--payment {
    padding-top: 1.5rem;
  }
  .application__card {
    padding: 20px;
  }
  .application__card .row {
    margin-right: -5px;
    margin-left: -5px;
  }
  .application__card .col-6 {
    padding-left: 5px;
    padding-right: 5px;
  }
  .application__value {
    margin-top: 3px;
  }
  .application__option {
    margin-top: 10px;
  }
  .application__card .badge {
    margin-bottom: 10px;
  }
  .tabs {
    padding-top: 90px;
  }
  .tabs a {
    margin: 0;
    width: 100%;
    font-size: 15px;
    height: 50px;
    padding: 15px 5px;
  }
  .tabs a:first-child {
    /* margin-right: 10px; */
  }
  .tab__content {
    padding-top: 20px;
  }
  .resort__image {
    width: 100%;
  }
  #checkout {
    padding-top: 40px;
  }
}

@media (max-width: 360px) {

  .application__cta { 
    margin-top: -350px;
  }

}
/*--------------------------------------------------------------
# LOADING
--------------------------------------------------------------*/
#stripe-card-error {
  display: none
}

#loading-overlay {
  background: rgba(0,0,0,0.8);
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  text-align: center;
  z-index: 9999;
  display: none
}

#loading-overlay img {
  margin-bottom: 25px
}

#loading-overlay .center-block {
  position: absolute;
  top: 50%;
  margin-top: -80px;
  text-align: center;
  padding: 0 10px;
  width: 100%
}

#loading-overlay p {
    color: #fff;
    font-size: 19px
}