@keyframes circling {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}

@keyframes toast {
  0% {
    transform: translate3d(-50%,calc(100% + 3em),0);
  }
  10%{
    transform: translate3d(-50%,0,0);
  }
  90%{
    transform: translate3d(-50%,0,0);
  }
  100% {
    transform: translate3d(-50%,calc(100% + 3em),0);
  }
}


.toast--alert--container{
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  top: 0px;
  left: 0px;
  pointer-events: none;
}

.toast--alert--container .alert{
  position: absolute;
  bottom: 2em;
  left: 50%;
  width: 100%;
  max-width: 600px;
  background: #fff;
  border-radius: 2em;
  padding: 2em;
  transform: translate3d(-50%,calc(100% + 3em),0);
  color: #000;
  animation: toast 5s;
  box-shadow: 0px 0px 100px rgba(0,0,0,.9);
}

p.alert--message{
  color: #000;
  display: block;
  margin-bottom: 0;
  font-weight: 900;
  font-size: 18px;
}


*{
  box-sizing: border-box;
}
body{
  background: #000;
  color: #fff;
  font-size: 18px;
  width: 100%;
  overflow-x: hidden;
  max-width: 100%;
  padding: 0;
  margin:0;
}

body h1,body h2,
body h3,body h3,
body h4,body h4{
  font-family: "Instrument Serif", serif;
  font-weight: 400;
  font-style: normal;
}

body #loader{
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0);
  transition: background .5s ease-out;
  z-index: 999;
  pointer-events:none;
}

body #loader img{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 65%;
  max-width: 200px;
  height: auto;
  transform: translate3d(-50%,-50%,0) scale(1);
  opacity: 0;
  transition: transform .5s ease-out, opacity .5s;
}
body.loading #loader{
  background: rgba(0,0,0,1);
}
body.loading #loader img{
  transform: translate3d(-50%,-50%,0) scale(1.3);
  opacity: 1;
}


.instrument-serif-regular-italic {
  font-family: "Instrument Serif", serif;
  font-weight: 400;
  font-style: italic;
}

p{
  font-family: "Roboto", sans-serif;
  font-weight: 100;
}

ul{
  padding-left: 1em;
}

ul li, .privacy-form-cols label{
  font-size: 24px;
  padding-bottom: .5em;
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  padding-left: 0px;
}

#header{
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  padding: 1em 10%;
  z-index: 10;
  height: 160px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 70%);

}

#header .logo{
  display: block;
  color: #fff;
  padding-top: .5em;
  pointer-events: auto;
  width: 200px;
}

#header .logo img{
  display: block;
  width: 14em;
  height: auto;

}


#menu{
  position: fixed;
  top: 2em;
  left: 10%;
  widtH: 80%;
  text-align: center;
  z-index: 9;
  pointer-events: none;
}
#menu ul{
  display: inline-block;
  width: auto;
  margin: 0px;
  padding:  0px;
}

#menu ul li{
  display: inline-block;
  margin: 0 1em;
}

body #menu ul li a{
    display: block;
    color: #fff;
    text-decoration: none;
    pointer-events: auto;
    transform: translate3d(0,0,0);
    transition: transform .5s ease-out;
}

body #menu ul li a:after{
  content: "";
  position: absolute;
  width: 0;
  height: 4px;
  background: #fff;
  left:  0px;
  top: 0px;
  transition: width .5s;

}

body.loading #menu ul li a{
  transform: translate3d(0,-100px,0);
}

body #menu ul li a.active:after{
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  background: #fff;
  left:  0px;
  top: 0px;

}




#header .menutrigger{
  position: absolute;
  right: 10%;
  top: 1.75em;
  color: #fff;
  width: 2em;
  line-height: 0;
  pointer-events: auto;
}

#header .menutrigger span{
  display: inline-block;
  width: 100%;
  height: 2px;
  background: #fff;
  margin-bottom: .5em;
}

.content--section img{
  display: block;
  width: 100%;
  height: auto;

}

.content--section{
  padding: 15% 10% 0 10%;
  position: relative;
  opacity: 0;
  transition: opacity 1s;
}

.content--section .contact--form .row .col{
  padding: 1em;
}

.content--section.no-bottom-padding {
  padding-bottom: 2.5%;
}
.content--section.no-top-padding {
  padding-top: 2.5%;
}

.content--section .row .col{
  transition: transform 1s ease-out, opacity 1s;
  opacity: 0;
  transform: translate3d(0,2em,0);
}

.content--section.visible .row .col{
  opacity: 1;
  transform: translate3d(0,0,0);
}
.content--section.visible .row .col:nth-child(1){
  transition-delay: 0;
}
.content--section.visible .row .col:nth-child(2){
  transition-delay: .4s;
}
.content--section.visible .row .col:nth-child(3){
  transition-delay: .8s;
}
.content--section.visible .row .col:nth-child(4){
  transition-delay: 1.2s;
}


.content--section.visible{
  opacity: 1;

}
.content--section a.button--primary{
  opacity: 0;
  transform: translate3d(0,2em,0);
  transition: opacity .5s, transform .5s;
}

.content--section.visible a.button--primary{
  opacity: 1;
  transform: translate3d(0,0,0);

}


.content--section .content--wrapper{
  position: relative;
  z-index: 1;
}

.content--section.home h1{

}

.content--section.home p{
  max-width: 400px;
}


.content--section.home{
  padding-right: 40%;
  overflow: hidden;
}

.content--section .row{
  display: flex;
  margin-left: -1em;
  margin-right: -1em;
}

.content--section .row .col{
  padding: 1em;
  width: 50%;
}

.content--section .row .one-third-col{
  padding: 1em;
}

.content--section .row .one-third-col {
  width: 33%;
}
.content--section .row .one-col{
  padding: 1em;
  width: 100%;
}




body .content--section.home img{
  position: absolute;
  top: 50%;
  max-height: 100%;
  max-width: 50%;
  left: 50%;
  z-index: 0;
  opacity: 1;
  transform: translate3d(0,-50%,0) scale(1.4);
  transition: transform 8s ease-out, opacity 4s;
  transition-delay: .1s;
  mix-blend-mode: plus-lighter;
}
body.loading .content--section.home img{
  transform: translate3d(0,-50%,0) scale(2);
  opacity: 0;
}

body .circle--item{
  display: block;
  position: absolute;
  bottom: 10%;
  right: 10%;
  background: red;
  width: 200px;
  height: 200px;
  z-index:9;
  background: url('../images/circle.svg');
  transform: rotate(0deg);
  animation: circling 15s infinite linear;
  background-color: #fff;
  border-radius: 50%;
}

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


h1{
  font-size: 3em;
  line-height: 1;
  margin-top: 0;
}

h2{
  font-size: 3em;
  line-height: 1.3;
  margin-top: 0px;
}

h3{
  font-size: 3em;
  line-height: 1.4;
  margin-top: 0px;
  font-weight: 400;
}

h4{
  margin-bottom:0;
}
p, ul li, .privacy-form-cols label{
  font-size: 14px;
  line-height: 1.56;
}



p.big{
  font-size: 24px;
}

#page{
  position: relative;
  z-index: 1;
}

.background--canvas{
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;

}

.background--canvas video{
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%,-50%,0);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  pointer-events: none;

}

#packagestable{
  padding: 0%;
  margin-bottom: 3em;
}
#packagestable{
  width: 100%;
}

#packagestable h2{
  font-size: 2em;
}

#packagestable td.text-right{
  text-align: right;
}

#packagestable td a{
  display: block;
  width: 100%;
  text-align: center;
}

#packagestable td,
#packagestable th{
  width: 25%;
  padding: .5em 1em;
  vertical-align: top;
  text-align: left;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.6);
  border-right: 1px solid rgba(255,255,255,.6);
}

#packagestable tr td:last-child,
#packagestable tr th:last-child{
  border-right: 0px;
}

#packagestable tr:last-child td,
#packagestable tr:last-child th{
  border-bottom: 0px;
}


#packagestable p{
  font-size: 18px;
  margin-bottom: 0;
}

.button--primary{
  display: inline-block;
  color: #fff;
  border: 1px solid #fff;
  background: #fff;
  padding: 1em 2em;
  color: #000;
  margin-top: .25em;
  margin-bottom: .25em;
  text-decoration: none;
  font-weight: 900;
  font-family: "Roboto", sans-serif;
}

.button--primary-ghost{
  display: inline-block;
  color: #fff;
  border: 1px solid #fff;
  background: transparent;
  padding: 1em 2em;
  text-decoration: none;
  margin-top: .25em;
  margin-bottom: .25em;
  font-weight: 900;
  font-family: "Roboto", sans-serif;
  transition: background .5s, color .5s;
}

.button--primary-ghost:hover{
  background: #fff;
  color: #000;
}



.benefit--cards--carousel .card.white{
  background:#fff;
  color: #000;
  padding: 1em;
  overflow: hidden;
  padding-top: 8em;
}

.benefit--cards--carousel .card.white p.number{
  font-size: 10em;
  position: absolute;
  top: 0px;
  opacity:.1;
  transform: translate3d(-10%,-30%,0);
}

p{
  margin-top: 0;
}

input, select, textarea{
  display: block;
  width: 100%;
  padding: 1em;
  resize: none;
}

input.has-error,
select.has-error,
textarea.has-error{
  border: 2px solid red;
}

textarea{
  height: 200px;
}





@media all and (min-width: 900px) {
  #menu ul li.meta{
    display: none;
  }

  p, ul li, .privacy-form-cols label{
    font-size: 18px;
  }

  .home--caption--content{
    padding-left: 3em;
    max-width: 75%;
  }

  #menu{
    z-index: 11;
  }

  #header .menutrigger{
    display: none;
  }
  #menu ul li.contact--item{
    position: absolute;
    right: 0px;
  }

  #menu ul li.contact--item a{
    display: block;
    background: #fff;
    color: #000;
    padding: .5em 1em;
    margin-top: -.5em;
    box-shadow: 0px 0px 10px rgba(255,255,255,0);
    transition: box-shadow .5s;
  }

  #menu ul li.contact--item a:hover{
    box-shadow: 0px 16px 24px rgba(255,255,255,.6);
  }

}

.col{
  position: relative;
}

.col .parallax--image{
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}


@media all and (max-width: 900px) {

  p, ul li, .privacy-form-cols label{
    font-size: 16px;
  }

  body .content--section.home img{
    top: 25%;
    max-width: 100%;
    transform: translate3d(-50%,-50%,0);
  }

  body .content--section.home{
    padding-right: 10%;
    padding-top: 50vH;
    min-height: 100vH;
  }

  body .circle--item{
    bottom: auto;
    top: 20%;
    right: 10%;
    width: 3em;
    height: 3em;
  }

  body .content--section.home a{
    margin-top: 2em;
  }

  .content--section .row{
    display: block;
  }

  .content--section .row .col{
    width: 100%;
  }

  h1{
    font-size: 2em;
    margin-bottom: .25em;
  }
  h2{
    font-size: 1.5em;
    margin-bottom: .25em;
  }
  h3{
    font-size: 1.3em;
  }

  body #menu{
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background:#000;
    padding: 10%;
    transform: translate3d(0,100%,0);
    transition: transform .5s ease-out;
    padding-top: 33.3%;

  }

  body.menuopen #menu{
    transform: translate3d(0,0,0);
  }
  body.menuopen #header .menutrigger span:first-child{
    opacity: 0;
  }

  body.menuopen #header .menutrigger span:last-child{
    opacity: 0;
  }



  body #menu ul li{
    opacity: 0;
    transform: translate3d(0,2em,0);
    transition: transform .5s, opacity .5s;
    display: block;
    margin: .5em;
  }

  body #menu ul li:nth-child(1){
    transition-delay: .2s;
  }

  body #menu ul li:nth-child(2){
    transition-delay: .4s;
  }

  body #menu ul li:nth-child(3){
    transition-delay: .6s;
  }

  body #menu ul li:nth-child(4){
    transition-delay: .7s;
  }

  body #menu ul li:nth-child(5){
    transition-delay: .8s;
  }

  body #menu ul li:nth-child(6){
    transition-delay: .9s;
  }

  body #menu ul li:nth-child(7){
    transition-delay: 1s;
  }

  body.menuopen #menu ul li{
    opacity: 1;
    transform: translate3d(0,0,0);
  }

  #menu ul li a{
    font-size: 2em;
  }
}

h2.quote{
  font-weight: 400;
  font-size: 4em;
  position: relative;
}


h2.quote span{
  position: absolute;
  display: inline-block;
  height: 3em;
  width: 3em;
  z-index: 0;
  opacity: .2;
}

h2.quote span svg{
  display: block;
  fill: #fff;
  width: 100%;
  height: auto;
}

h2.quote span:first-child{
  top: 0px;
  left: 5%;
  transform: translate3d(-50%,-50%,0);

}

h2.quote span:last-child{
  bottom: 0px;
  right: 5%;
  transform: translate3d(50%,50%,0);
}

/*
.package--cards--carousel .owl-stage-outer,
.package--cards--carousel .owl-stage-outer .owl-stage,
.package--cards--carousel .owl-stage-outer .owl-stage .owl-item{
  height: 100%;
}
 */


.package--cards--carousel .card{
  border:1px solid #fff;
  padding: 1em;
  height: 100%;
  position: relative;
}

.package--cards--carousel .card:after{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border:2px solid #fff;
  transform: translate3d(-50%,-50%,0) scale(.9);
  opacity: 0;
  transition: transform .5s, opacity .5s;
  pointer-events: none;
}


.package--cards--carousel .card:hover:after{
  transform: translate3d(-50%,-50%,0) scale(1);
  opacity: 1;
}

.package--cards--carousel .card h3{
  margin-bottom: .25em;
  font-size: 2em;
}


.privacy-form-cols{
  display: flex;
  align-items: top;
  position: relative;
}

.privacy-form-cols input + label{
  padding-left: 2em;
}

.privacy-form-cols input + label:before{
  content:"";
  position: absolute;
  top: .25em;
  left: 0px;
  width: 1em;
  height: 1em;
  border: 1px solid #fff;
  z-index: 1;
}
.privacy-form-cols input:checked + label:before{
  background-color: #fff;
  background-image: url('../images/list_check.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% auto;
}

.privacy-form-cols input.has-error + label:before{
  border-color: red;
}

.privacy-form-cols input{
  width: 0px;
  height: 0px;
  opacity: 0px;
  position: absolute;
  overflow: hidden;
}

.package--cards--carousel a.button--primary{
  text-align: center;
  width: 100%;
}

.package--cards--carousel .card .number{
  position: absolute;
  font-size: 10em;
  pointer-events: none;
  top: 0px;
  right: 0px;
  line-height:1;
  opacity: .2;
}

#footer{
  padding: 2.5% 10%;
  position: relative;
}

#footer .copyright{
  position: absolute;
  left: 10%;
  top: 50%;
  transform: translate3d(0,-50%,0)
}

#footer .meta-menu{
  display: block;
  width: 100%;
  text-align: right;
}

#footer .meta-menu li{
  display: inline-block;
}
#footer .meta-menu li a{
  color: #fff;
  text-decoration: none;
}

.owl-controls .owl-nav{
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.owl-controls .owl-nav .owl-prev{
  position:absolute;
  width: 10%;
  height: 25vW;
  left: 0px;
  top: 50%;
  transform: translate3d(0,-50%,0);
  overflow: hidden;
  text-indent: -999px;
  background-image: url('../images/prev_arrow.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 33% auto;
  mix-blend-mode: exclusion;
  pointer-events: auto;
}

.owl-controls .owl-nav .owl-next{
  position:absolute;
  width: 10%;
  height: 25vW;
  left: 90%;
  top: 50%;
  transform: translate3d(0,-50%,0);
  overflow: hidden;
  text-indent: -999px;
  background-image: url('../images/next_arrow.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 33% auto;
  mix-blend-mode: exclusion;
  pointer-events: auto;
}

h4{
  opacity: .5;
}

.owl-controls .owl-dots{
  display: block;
  width: 100%;
  text-align: center;
  padding-top: 1em;
}

.owl-controls .owl-dots .owl-dot{
  display: inline-block;
  width: .5em;
  height: .5em;
  background: #fff;
  margin: .25em;
  opacity: .3;
}

.owl-controls .owl-dots .owl-dot.active{
  opacity: 1;
}

.social-row{
  display: flex;
  gap: 8px;
}

.social-row a svg{
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: exclusion;
  fill: #fff;
}

.social-row a{
  display: block;
  width: 50%;
  padding: 2em;
  border: 1px solid #fff;
  background: transparent;
  transition: background .5s;
}
.social-row a svg{
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: exclusion;
}
.social-row a:hover{
  background: #fff;
}

body .content--section .row.benefit--row{

  margin: 0 auto;
}


body select, body input[type="checkbox"]{
  appearance: none;
  -webkit-appearance: none;
}



@media all and (min-width: 768px) {

}

@media all and (min-width: 1024px) {

  p, ul li, .privacy-form-cols label{
    font-size: 18px;
  }

  h1{
    font-size: 4em;
  }

  .content--section .row .col{
    padding: 2em;
  }

  body .content--section .row.benefit--row .col{
    padding-top: 3em;
    padding-bottom: 3em;
  }

  .package--cards--carousel .card .caption-row{
    font-size: 12px;
  }
  .package--cards--carousel .card .caption-row p{
    font-size: 14px;
  }

  .package--cards--carousel .card .caption-row .caption-col{

  }

  .package--cards--carousel .card .caption-row .caption-col:last-child{
    text-align: right;
    margin-top: auto;
  }

}

@media all and (min-width: 1240px) {


  .content--section{
    padding-left: 12.5%;
    padding-right: 12.5%;
  }

  .content--section.no-bottom-padding {
    padding-bttom: 2.5%;
  }
  .content--section.no-top-padding {
    padding-top: 2.5%;
  }

  .col .parallax--image{
    max-width: 80%;
  }

  h1{
    font-size: 6em;
    width: 100%;
    max-width: 100%;
  }

  .content--section .row .col{
    padding: 1em 4em;
  }

  body .content--section .row.benefit--row .col{
    padding-top: 8em;
    padding-bottom: 8em;
    min-height: 600px;
  }

  p, ul li, .privacy-form-cols label{
    font-size: 24px;
  }
}

@media all and (min-width: 900px) {

  body .benefit--row .col{
    padding-top: 3em;
    padding-bottom: 3em;
  }
}

@media all and (min-width: 1200px) {
  #packagestable{
    display: block;
  }
  .package--cards--carousel{
    display: none !important;
  }
}


@media all and (max-width: 1024px) {
  .col .parallax--image{
    display: block;
    position: static;
    width: 100% !important;
    height: auto;
    max-width: 100% !important;
  }

}

@media all and (max-width: 1200px) {
  #packagestable{
    display: none;
  }
  .package--cards--carousel{
    display: block;
  }
}

