
/*==================================================
    General
==================================================*/

html,body{
  padding: 0;
  margin: 0; 
  height: 100%
}  
body{  
  font-family: 'Poppins', sans-serif;
  font-size:var(--f-20);
  font-weight: 300; 
  color:#fff;  
  line-height: 1.60;
  background-color:#121212;
  
  margin:0;
  padding:0;  

  position: relative;
  overflow-x: hidden;
}

/*
  font-family: 'DM Serif Display', serif;

  font-family: 'Poppins', sans-serif;
*/

.pc body{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; 
  image-rendering: -webkit-optimize-contrast;
}

b, strong{
  font-weight: bold; 
  font-family: inherit;
}
h1,h2,h3,h4,h5,h6{   
  margin:0;  
  color:inherit; 
  line-height: 1.4; 
  font-weight: 600;
  font-style: normal;  
  color: var(--blackMedium);
}  

.nowrap{ white-space: nowrap; }
 
a{
  color:inherit;
    -webkit-transition: all 0.2s ease-in-out;
       -moz-transition: all 0.2s ease-in-out;
         -o-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
}
a:hover{ text-decoration: none; color:inherit; }
 
.star{ color: #bc0000 }

.form-control{
 -webkit-appearance: none;
   
  padding:0 15px;

  color:inherit;
  font-weight: 400;
  font-size:inherit;

  height:41px;
  line-height:39px; 
  border-radius:0; 
  border:1px solid #CDCDCD;  
  background-color:#fff; 
  font-family: inherit;
    -webkit-transition: all 0.2s ease-in-out;
       -moz-transition: all 0.2s ease-in-out;
         -o-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
}
.form-control.normal{
  background-color: #fff!important;
  border-color: #fff;
}
.form-control.lb{
  background-color: transparent!important;
  border:0;
  border-bottom: 1px solid #ffffff;
  padding-left: 0;
  box-shadow: none !important;
}
.form-control.lb.black{border-bottom: 1px solid #000;}
textarea.form-control{
  height: 135px;
  line-height: normal;
  padding-top: 10px; 
}
 

.form-group{
  display: block;
  position: relative;
  margin-bottom: 18px;
}
.form-group label.title{
  text-align: left;
  display: block;
  margin-bottom: 12px;
  font-size: inherit;
  font-weight: 400;
} 
 
.radio-group, 
.checkbox-group{ 
  padding-left:0; 
  position:relative;
  list-style-type:none;
  margin:0px;
  padding:0px;
  text-align:center;
  display:inline-block;
  vertical-align:top
}
.radio-group{ display:inline-block; position:relative}
.radio-group.block{display: block; margin-left:0 !important }


.radio-group input[type="radio"],
.checkbox-group input[type="checkbox"] {
  /*display: none;*/
  visibility: hidden;
  opacity: 0;
  height: 0;
  position: absolute;
  width: 0;
 
}
.checkbox-group label:before,
.radio-group label:before {
  content: "";
  display: inline-block;

  margin-right: 5px;
  position: absolute;
  left:0;
  top:2px;
  background-color:#E5E7ED;
  border:1px solid var(--red);
  width:17px;
  height:17px;

  -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
          border-radius: 3px;
}

.radio-group:not(.checkbox) label:before,
.checkbox-group.radio label:before{ 
  top:-1px; 
  width:20px;
  height:20px; 
   background-color:#fff;
   border:3px solid #E5E7ED;;
  -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
          border-radius: 50%;
}

.checkbox-group label:before{
  top: 2px
}
 

.radio-group label,
.checkbox-group label {
  position:relative;
  padding-left:30px;
  padding-right:15px;
  text-align:left;
  margin:1px 0;
  display:block; 
  font-size:inherit;
  line-height:1.3;
  cursor:pointer;
 
}

.checkbox-group label{color: inherit;} 
.radio-group label{color: inherit;} 

 
.radio-group:not(.checkbox) input[type="radio"]:checked + label:after,
.checkbox-group.radio input[type="checkbox"]:checked + label:after{
  content: "";
  color: #ea6f21;
  background-color:var(--red); 
  position:absolute;
  left: 5px;
  top: 4px;
  width: 10px;
  height: 10px;

  -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
          border-radius: 50%;
}

.radio-group.right label,
.checkbox-group.right label{
  padding-left: 0;
  padding-right: 30px;
}
.radio-group.right label:before,
.checkbox-group.right label:before{
  left: auto;
  right: 0;
  margin: 0
}
.radio-group.right input[type="radio"]:checked + label:after,
.checkbox-group.right input[type="checkbox"]:checked + label:after{
  left: auto;
  right: 5px;
}
 
.checkbox-group input[type="checkbox"]:checked + label:after,
.checkbox-group input[type="checkbox"]:checked + span + label:after,

.radio-group.checkbox input[type="radio"]:checked + label:after,
.radio-group.checkbox input[type="radio"]:checked + span + label:after {
  content: "";
  color: #ea6f21; 
  background-image: url(../img/icons/icon-checker-white.svg);
  background-color: var(--red); 
  background-repeat: no-repeat;
  background-position:54% 5px;
  background-size:55%;
 
  position:absolute;

  top: 2px;
  left: 0px;
  width:17px;
  height: 17px; 
  border-radius: 3px;
}
 
.radio-group.no-text,
.checkbox-group.no-text{
  width: 29px;
  height: 29px;
  margin-top:-2px; 
} 

.checkbox-group label a{text-decoration: underline;}
.pc .checkbox-group label a:hover{color: var(--red)}
 
.checkbox-group input[type="checkbox"]:checked + span + label{ color: var(--black) !important }
 
.form-control::-webkit-input-placeholder {
  color: inherit;
  font-weight: inherit;
  opacity:0.7;
  color: inherit
}

.form-control::-moz-placeholder {
  color: inherit;
  font-weight: inherit;
  opacity:0.7;
  color:inherit
}

.form-control:-ms-input-placeholder {
  color: inherit;
  font-weight: inherit;
  opacity:0.7;
  color: inherit
}

.form-control::-ms-input-placeholder {
  color: inherit;
  font-weight: inherit;
  opacity:0.7;
  color:inherit
}

.form-control::placeholder {
  color: inherit;
  font-weight: inherit;
  opacity:0.7;
  color: inherit
}

.form-control:focus {
  color:inherit;
  background-color:#F3F4F8; 
}
.form-control:disabled, 
.form-control[readonly] {
  background-color: #e2e2e2;
  border-color: #c7c7c7;
}
 
.custom-select{  
  padding: 0 13px;
  height: 41px;
  height: 39px;
  font-weight:400;
  font-size: 12px;
  border-radius: 10px;
  outline:0 !important;
  box-shadow: none !important; 

  border-radius: 0;
  border: 1px solid rgba(255,184,184,0.7); 
  font-family: inherit;

  background: url("../img/icons/arrow-select.svg") no-repeat right .75rem center/16px 16px;   
  background-color: #D1D1D1;
} 
.custom-select:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) !important;
}

.custom-select.lg {
  background-color:#F8F8F8;
  border:1px solid #D1D1D1;
  color: #B1B1B1;
  height: 65px;
  line-height: 63px;
  font-size: var(--f-18);
  background: url("../img/icons/arrow-select-blue.svg") no-repeat right .75rem center/30px 30px;  
}
 
.btn{
  position: relative;
  border:0;
  padding: 0 20px; 
  height:38px;
  line-height: 36px;
  font-family:inherit;   
  font-size:inherit;
  font-weight: 400; 
  color:#ffffff; 
  background-color:var(--blue); 
  border:1px solid var(--blue); 
  border-radius:5px;

  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
} 
.btn:before{
  content: '';
  position: absolute;
  left: -1px;
  top:-1px; 
  right:-1px;
  bottom:-1px;
  background-color: rgba(255,255,255,0.2);
  border-radius: 5px;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease-in-out;
}
.pc .btn:hover:before{opacity: 1}
.btn span{
  position: relative;
  z-index: 1;
}

.pc .btn:hover{
  color: #fff;
  background-color:var(--blue); 
  border:1px solid var(--blue);  
}  
   
.btn[disabled]{
  border-color: #D4EAEA;
  background-color:#D4EAEA;
  color:#A1C9C9;
  line-height: 56px;
  pointer-events: none;
  opacity: 1;
} 
.btn.disabled, .btn:disabled{opacity: 0.35; pointer-events: none;}
.btn svg,
.btn img{
  position: relative;
  left: 0;
  -webkit-transition: all 0.2s ease-in-out;
     -moz-transition: all 0.2s ease-in-out;
       -o-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out;
}
 
.btn-link, 
.btn-link:hover, 
.btn-link:focus, 
.btn-link:active{
  background-color: transparent;
}
.btn:focus,.btn:active,
button:focus,button:active{color: #fff;} 
.btn:focus,.btn:active,
button:focus,button:active,
a:focus,a:active {
   outline: none !important;
   box-shadow: none!important;
} 
.buttons{
  display: block; 
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
}  
svg path,
svg rect,
svg line,
svg circle,
svg polygon{ 
  -webkit-transition: all 0.2s ease-in-out;
     -moz-transition: all 0.2s ease-in-out;
       -o-transition: all 0.2s ease-in-out;
      -ms-transition: all 0.2s ease-in-out;
          transition: all 0.2s ease-in-out;
} 

@media (max-width:1440px) {}

@media (max-width:1199px) {}

@media (max-width:991.98px) {}

@media (max-width:767px) {}

/*==================================================
    Icon Setup
==================================================*/  

.icons{
  display:inline-block;
  position:relative;
  vertical-align:middle; 
  background-size: contain;
  background-repeat:no-repeat;
  background-position: center center;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}
.icons.before:before,
.icons.before:after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: contain;
  background-repeat:no-repeat;
  background-position: center center;
  transition: all 0.3s ease-in-out;
  opacity: 0;
}
.pc .btn:hover .icons.before:before{ opacity: 0; }
.pc .btn:hover .icons.before:after{ opacity: 1; }
 

.inline-black{
  display: inline-block;
  padding: 0 10px
}

/**/

.arrow-left,
.arrow-right,
.arrow-up,
.arrow-down{
  position: absolute;
  left: 0;
  top: 0;
  width:5px;
  height:5px;
  vertical-align:top;

  border-top: 1px solid #676767;
  border-left: 1px solid #676767;

   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition: all 0.2s ease-in-out;
   -o-transition: all 0.2s ease-in-out;
   -ms-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
}

.arrow-left{
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);  
}

.arrow-right{
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);  
}

.arrow-up{
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);  
}
.arrow-down{
   margin-left:1px; 
   -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);  
}
 
 
.container-fluid{
  max-width:calc(1920px + 200px); 
  padding-left:100px;
  padding-right:100px; 
  position: relative;
  z-index: 9; 
}

.container{
  max-width:calc(1440px + 400px); 
  padding-left:200px;
  padding-right:200px; 
  position:relative;
  z-index:9; 
}

.section-target{
  position: absolute;
  top: -92px;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;

}
 
@media (max-width:1440px) {
  .container{
    max-width:calc(1366px + 300px);
    padding-left:150px;
    padding-right:150px; 
  }
} 

@media (max-width:1199px) {
  .container,
  .container-fluid{ 
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media only screen and (min-width: 768px) and (max-height: 500px) {
  .container,
  .container-fluid{ 
    padding-left: 25px;
    padding-right: 25px;
  }
} 

@media (max-width: 767px) {
  .container,
  .container-fluid{ 
    padding-left: 25px;
    padding-right: 25px;
  }
   
}
   
.compensate-for-scrollbar{ margin-right: 0 !important } 
.compensate-for-scrollbar .header{ right: 0 } 
body.fancybox-active{ overflow: visible !important;padding-right: 0 !important  }


.fancybox-button--arrow_left,
.fancybox-button--arrow_right,
.fancybox-button--zoom,
.fancybox-button--play{opacity: 0 !important; pointer-events: none;} 
/*==================================================
    Header Setup
==================================================*/  

:root {  
  --white:#fff;
  --gold:#d3953d;

  --f-20:20px;  
  --f-18:18px;
  --f-24:24px;  
  --f-26:26px;  
  --f-30:30px;  
  --f-72:72px;
   
  --f-300:200;
  --f-400:300;
  --f-500:400;
  --f-600:500; 
  --f-700:600; 
}

.f-18{font-size: var(--f-18) !important}
.f-17{font-size: var(--f-17) !important}
.f-16{font-size: var(--f-16) !important}
.f-12{font-size: var(--f-12) !important}
.f-13{font-size: var(--f-13) !important}
.f-14{font-size: var(--f-14) !important}
.f-15{font-size: var(--f-15) !important}
.f-20{font-size: var(--f-20) !important}
.f-30{font-size: var(--f-30) !important}
 

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) { 
  
  :root{
    --f-300:300;
    --f-400:400;
    --f-500:500;
    --f-600:600; 
  }

} 

@media (max-width:1680px) {
  :root{
    --f-20:18px;  
    --f-24:22px;
    --f-26:24px;  
    --f-30:28px;
    --f-72:68px;
  }
}

@media (max-width:1440px) {
  :root {
    --f-20:16px;  
    --f-24:20px;  
    --f-26:22px;  
    --f-30:24px;
    --f-72:58px;
  }
}

@media (max-width:1199px) {
  :root {
    --f-24:18px; 
  } 
}

@media (max-width:991.98px) {
  :root{
    --f-20:15px;  
  }
}
@media (max-width:767px) {
  :root { 
    --f-20:14px;
    --f-24:16px;
    --f-26:18px;      

  } 
}

@media (max-width:375px) {
  :root {
    --f-20:14px;
    --f-24:16px;    

  } 
}

.header,  
.navbar-brand,
.navbar-brand img{ 
   -webkit-transition: all 0.35s ease-in-out;
     -moz-transition: all 0.35s ease-in-out;
     -o-transition: all 0.35s ease-in-out;
     -ms-transition: all 0.35s ease-in-out;
     transition: all 0.35s ease-in-out;
}
 

.header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding:0;
  height: auto;
  z-index: 1060;  
  padding:75px 0;   
  background-color:transparent;
  display: block; 
}

.scrolling .header{
  padding: 25px 0;
  background-color:#121212;
}
 
.header .container{
  display: flex;
  -ms-flex-align: center;
  align-items: center;
} 

.navbar-brand{
  margin:auto 0;
  padding: 0;    
  width: 100px;
}
.navbar-brand img,
.navbar-brand svg{width: 100%; height: auto;} 


.btn.btn-icon{
  padding: 0 !important;
  border:0 !important;
  background-color: transparent !important;
  display: inline-block;
  vertical-align: middle;
  z-index: 1060; 
  border-radius: 0;
  position: relative;
  top: -1px;
  overflow: visible;
  margin: auto;
  margin-right:0; 
}
 
.btn.btn-icon{
  height: 20px;
  line-height: 25px;
  top: 0;
  opacity: 1 !important
}
.btn-icon:before{display: none;}
.btn-icon .group{
  display: block;
  position: relative;
  width: 35px;
  height:20px;
  margin: 0 auto 0
}
.btn-icon .group span{
  height: 2px;

  position: absolute;
  left: 0;
  right: 0;
  border-radius: 10px;
  -webkit-transform-origin: 25px, 1px;
  -ms-transform-origin: 25px, 1px;
  transform-origin: 25px, 1px
}
.btn-icon .group span:before{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background:#fff;
  transition: all 0.25s ease-in-out;
}
.btn-icon .group span:nth-child(1):before{ width: 100%; }
.btn-icon .group span:nth-child(2):before{ width: 100%; }
.btn-icon .group span:nth-child(3):before{ width:20px; }

.pc .btn-icon:hover span:nth-child(1):before { width: 17px }
.pc .btn-icon:hover span:nth-child(2):before { width: 100% }

.btn-icon .group span:nth-child(1) {
    top: 0;
    -webkit-transition: -webkit-transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: -webkit-transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98), -webkit-transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98)
}

.btn-icon .group span:nth-child(2) {
    top: 8px; 
    -webkit-transition: -webkit-transform 0.21s 0.175s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: -webkit-transform 0.21s 0.175s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.21s 0.175s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.21s 0.175s cubic-bezier(0.72, 0.01, 0.28, 0.98), -webkit-transform 0.21s 0.175s cubic-bezier(0.72, 0.01, 0.28, 0.98)
}

.btn-icon .group span:nth-child(3) {
    top: 16px;
    -webkit-transition: -webkit-transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: -webkit-transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98), -webkit-transform 0.33s 0s cubic-bezier(0.72, 0.01, 0.28, 0.98)
}

.pc .btn-icon:hover span:nth-child(1):before { width: 20px }
.pc .btn-icon:hover span:nth-child(2):before { width: 100% }
.pc .btn-icon:hover span:nth-child(3):before { width: 100% }

 
.nav-opened .btn-icon span:nth-child(1):beforee { width: 100% !important }
.nav-opened .btn-icon span:nth-child(2):before { width: 100% !important }
.nav-opened .btn-icon span:nth-child(3):before { width: 100% !important }

.nav-opened .btn-icon .group span:nth-child(1){
    -webkit-transition: -webkit-transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: -webkit-transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98), -webkit-transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    -webkit-transform: rotate(45deg) translate3d(5px, 7px, 0);
    transform: rotate(45deg) translate3d(5px, 7px, 0)
}
 
.nav-opened .btn-icon .group span:nth-child(2){
    -webkit-transition: -webkit-transform 0.21s 0.25s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: -webkit-transform 0.21s 0.25s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.21s 0.25s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.21s 0.25s cubic-bezier(0.72, 0.01, 0.28, 0.98), -webkit-transform 0.21s 0.25s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    -webkit-transform: scaleX(0) translateZ(0);
    transform: scaleX(0) translateZ(0)
}
 
.nav-opened .btn-icon .group span:nth-child(3) {
    -webkit-transition: -webkit-transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: -webkit-transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    transition: transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98), -webkit-transform 0.33s 0.45s cubic-bezier(0.72, 0.01, 0.28, 0.98);
    -webkit-transform: rotate(-45deg) translate3d(5px, -7px, 0);
    transform: rotate(-45deg) translate3d(5px, -7px, 0)
}

@media (max-width:1440px) {
  .header{padding: 50px 0}
}

@media (max-width:767px) {
  .header{padding:30px 0}

  .navbar-brand{width: 80px}
  .btn-icon .group{width: 30px}
}



/*==================================================
  navbar slide
==================================================*/  

.navbar-sidebar{
  position: fixed;
  top: 200%;
  left: 0%;
  width: 100%;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  /*height: 100vh;
  height: calc(var(--vh, 1vh) * 100);*/
  background:#121212;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  z-index: 1050;
  transition: .5s ease-in-out;
  padding-left: 0;
}

.nav-opened .navbar-sidebar{
  width: 100%;
  left: 0;
  top: 0;
  opacity: 1;
  pointer-events: auto;
}
 
.navbar-sidebar .container{
  width:80%;
  max-width:1000px;
}

.nav-main{
  flex-direction: column;
  text-align: center;
}
.nav-main li .number{
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,0.4);
  font-weight: 500;
}
.nav-main li{
  margin: 18px 0
}
.nav-main > li > a{
  display: inline-block;
  color: #fff;
  font-size: 55px;
  font-family: 'DM Serif Display', serif;
  font-weight: 400;
  line-height: 1.05;
  text-align: center;
}
.pc .nav-main li a:hover{opacity: 0.5}

.nav-opened .nav-main li{
  animation-name: navigationSlide;
  animation-duration: 1s;
}

@keyframes navigationSlide {
    0% {
        transform: translateY(250px);
        opacity: 0.5;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}



@media (max-width:1680px) {
  .nav-main > li > a{
    font-size: 50px;
  }
}

@media (max-width:1440px) {
  .nav-main > li > a{
    font-size:45px;
  }
}

@media (max-width:767px) {
  .nav-main > li{
    margin: 12px 0
  }
  .nav-main > li > a{
    font-size:33px; 
  }

  
}

@media (max-height:414px) {
    .nav-main > li{
      margin: 9px 0
    }
    .nav-main > li > a{
      font-size:25px; 
    }
  }    
/*==================================================
   Section
==================================================*/  
.page{
  display: block;
  position: relative;
  overflow: hidden;
  padding-top: 0
}
 
.preload{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color:#000;
  z-index: 1090; 
  display:block;  
} 

.section-full{
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100) !important;
  display: flex;
}

.section{
  display: block;
  position: relative;
  padding:95px 0;
}

.section-hgroup{
  display: block;
  text-align: center;
  padding: 0 0 70px;
  margin-top: -25px
}
.section-hgroup h2{
  font-size:var(--f-72);
  font-family: 'DM Serif Display', serif;
  font-weight: 400;
}
.section-hgroup p{
  margin: 0;
}
.section-hgroup p.mw-890{
  max-width:890px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; 
}
.section-hgroup p.mw-890 a{text-decoration: underline;}
.pc .section-hgroup p.mw-890 a:hover{color: var(--gold)}
.section-hgroup p.lg{
  font-size: var(--f-30);
}
.text-loading{color: rgba(255,255,255,0.1); }

.animated .text-loading:before {
    content: attr(data-text);
    position: absolute;
    overflow: hidden;
    max-width: 300px;
    padding-right: 10px;
    white-space: nowrap;
    color: #fff;
    animation: textloading 1.5s linear ;
}
@keyframes textloading {
    0% {
        max-width: 0;
    }
} 

.italic{font-style: italic !important; }
.medium {font-weight: 500 !important}

.background{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;

  pointer-events: none;

  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.device .background.parallaxie{
  background-attachment: scroll !important;
  background-position: center center !important;
}

@media (max-width:1366px) {
  .section-hgroup{padding-bottom: 50px}
  .section-hgroup h2{font-size: 55px}
  .section-hgroup p.lg{font-size:22px}
}

@media (max-width:1199px) {
  .background.parallaxie{
    background-attachment: scroll !important;
    background-position: center center !important;
  }

  .section{padding: 70px 0}

  .section-hgroup h2{font-size:45px}
  .section-hgroup p.lg{font-size:19px}

  .section-hgroup p.mw-890{max-width: 600px}
}

@media (max-width:767px) {
  .section-hgroup h2{font-size:32px}
  .section-hgroup p.lg{font-size:18px}

  .section-hgroup{padding-bottom: 35px; margin-top: -15px}

  .section{padding:55px 0}
}
 
.card{
  border:0;
  border-radius: 0;
  background-color: transparent;
}
.card-photo{
  position: relative;
  overflow: hidden;
}

.card-photo .photo{
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  transition: all 0.35s ease 0s;
}
.card-photo img{
  width: 100%
}

@media (max-width: 1680px)  {}

@media (max-width: 1440px)  {}

@media (max-width: 1280px)  {}

@media (max-width: 1024px)  {}
 
@media (max-width: 757px)  {}



/*==================================================
   Intro
==================================================*/  
.video-device-popup{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  display: block;
}

.pc .video-device-popup{display: none;}
.device .video-device-popup{display: block;}


.video-wrapper{
  display: block;
  position: relative;
  margin: 0 auto;
  width: 100%;
}

.video-wrapper video{
  position: relative;
  width: 100%;
}

.video-screenshot{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;

  z-index: 10;

  transition: all 0.35s ease-in-out;
  opacity: 1;
}
.video-screenshot .screenshot{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.video-wrapper .video-play{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;

  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10%;
  background-image: url(../img/thumb/play-button-white.svg);
}

.video-wrapper.video-start .video-screenshot{opacity: 0; pointer-events: none;}
.article{
  display: block;
  margin: auto;
}
.article p{margin-bottom: 20px}

.article.intro{
  max-width: 900px;
  margin-top: 3vw;
  text-align: center;
}
.article.intro .logo{
  display: block;
  margin: 0 auto 35px;
  max-width:280px;
}

.section-next{
  display: flex;
  position: relative;
  padding:20px 0 0;
}
.section-next > a{
  color: #fff;
  position: relative;
}
.pc .section-next > a:hover{ color: var(--gold) }
.section-next .arrow{
  display: flex;
  flex-direction: column;
}
.section-next .arrow > span{
  margin: 0 auto;
  position: relative; 
  
}
.section-next .arrow-tail{
  width: 1px;
  height: 60px;
  background-color:transparent;
  margin-bottom:5px; 
  position: relative;
}
.section-next .arrow-tail:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 1px;
  background-color: var(--gold); 
  display: block;
   transition: all 0.45s ease-in-out;
}
.section-next .arrow-down{
  width: 12px;
  height: 12px;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  opacity: 0;
  top: -5px !important;
  transition: all 0.45s ease-in-out;
  transition-delay: 0.4s;
}

.section-next .white .arrow-tail:before{background-color:#fff;}
.section-next.animated .white .arrow-down{
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
}
.section-next h6{
  font-size: 14px;
  font-weight: 300;
  padding-top: 20px;
  transition: all 0.45s ease-in-out;
  transition-delay: 0.5s;
  opacity: 0;
  position: relative;
  top: -5px
}
.section-next h6 span{ color: #fff;transition: all 0.25s ease-in-out; }
.pc .section-next > a:hover h6 span{ opacity: 0.75}

.section-next.animated .arrow-down{
  opacity: 1;
  top: 0 !important;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold)

}

.section-next.animated .arrow-tail:before{
  height: 100%;
  transition-delay: 0.2s;
}
.section-next.animated h6{
  opacity: 1;
  top: 0
 }


.section-intro{
  padding: 0;
  display: flex;
  min-height: 100vh;
  /*min-height: calc(var(--vh, 1vh) * 100) !important;*/
}


@media (max-width:1680px) {
  .article.intro .logo{
    max-width: 240px;
    margin-bottom: 30px
  }
  .section-next .arrow-tail{height: 55px}

  .article p{margin-bottom: 15px}
}

@media (max-width:1440px) {
  .article.intro{margin-top: 2vw}
  .article.intro .logo{max-width: 220px;}

  .section-next{padding-top: 30px}
  .section-next .arrow-tail{height: 50px;}
  .section-next h6{font-size: 13px}
}

@media (max-width:991.98px) {
  .article.intro .logo{margin-bottom: 40px}

  .device .section-intro{ min-height: calc(100vh - 110px) }
}


@media (max-width:767px) {
  .article.intro{
    padding-top: 110px; 
    padding-bottom: 20px;
    text-align: center;
  }
  .article.intro .logo{max-width:140px; margin-bottom: 25px} 

  .section-next .arrow-tail{height: 40px;}
  .section-next .arrow-down{
    width: 9px;
    height: 9px;
  }
  .section-next h6{
    font-size: 11px;
    padding-top: 15px;
  }

  .section-intro .container{
    position: static;
  }

  .section-intro .section-next{
    position: relative;
    left: 0;
    right: 0;
    bottom: auto; 
    padding-top: 10px;
    padding-bottom: 20px;
  }

  .video-wrapper .video-play{background-size: 19%}
}

@media (max-width:850px) and (max-height:450px) {
  .section-intro{padding: 120px 0 50px}
  .article.intro .logo{margin-bottom: 20px} 
  .section-intro .section-next{
    position: relative;
    bottom: auto;
    padding-top: 10px; 
  }
  .article.intro{margin-top: 10px; padding-bottom: 0px}
}

/*==================================================
   Work
==================================================*/ 

.section-work:before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(100% - 450px);
  background-color: #1d1d1d
}

@media (max-width:1440px) {
  .section-work:before{height: calc(100% - 350px);}
}
@media (max-width:991.98px) {
  .section-work:before{height: calc(100% - 250px);}
}
/*==================================================
   What We Do
==================================================*/

.video-list{
  display: flex;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
justify-content: space-between; 
}
 
.card-video{
  width: 400px; 
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  margin-bottom: 20px
}
.card-video .card-photo:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4);
  transition: all 0.20s ease-in-out;
  opacity: 0;
}

.card-video .play-btn{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  margin: -40px 0 0 -40px; 
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/thumb/play-button.svg);
}
.card-video .card-title{
  font-size: var(--f-24);
  font-weight: 400;
  color: #fff;
  transition: all 0.20s ease-in-out;
  padding: 20px 0
}

.pc .card-video:hover .card-title{
  color: var(--gold);
  font-style: italic;
}
.pc .card-video:hover .card-photo:before{
  opacity: 1
}

hr{border-top-color:#636363}

@media (max-width:1680px) {
  .card-video{width: 350px}
}

@media (max-width:1550px) {
  .card-video{width: 320px}

  .card-video .play-btn{
    width: 70px;
    height: 70px;
    margin: -35px 0 0 -35px
  }
}


@media (max-width:1280px) {
  .video-list{margin: 0 -25px}
  .video-list .cols{width: 33.333%; padding: 0 25px;}
  .card-video{width: 100%} 
}

@media (max-width:991.98px) {
  .video-list{margin: 0 -15px}
  .video-list .cols{ padding: 0 15px;} 

  .card-video .card-title{font-size:var(--f-20)}

  .card-video .play-btn{
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px
  }
}

@media (max-width:767px) {
  .video-list{margin: 0 -10px}
  .video-list .cols{ padding: 0 10px; width: 50%} 

  .card-video .card-title{font-size:var(--f-20)}

  .card-video .play-btn{
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px
  }
}

@media (max-width:430px) {
  .video-list{margin: 0 -10px}
  .video-list .cols{ padding: 0 10px; width: 100%} 
  .card-video {margin-bottom: 0px;}
  .card-video .card-title{font-size:var(--f-24)}
}


/*==================================================
   Clients
==================================================*/ 

.swiper-single.clients{
  margin-bottom:85px
}

.client-box{
  display: block;
  padding: 0 100px;
  margin: 0 auto;
  max-width: calc(1100px + 200px);
  text-align: center;
}

.client-box h3{
  max-width: 70%;
  color:#fff;
  font-weight:500;
  margin-left: auto;
  margin-right:auto;
  font-size: var(--f-26);
  font-style: italic;
  line-height: 1.6;
  position: relative;
  padding: 0 20px;
}

.client-box h3.quote{ 
  margin:30px auto;
  color: var(--gold);
  display: inline-block;
}
.client-box h3.quote:before,
.client-box h3.quote:after{
  content: '';
  position: absolute;
  
  width: 30px;
  height: 30px;
  line-height: 1;
  font-size:80px;
  color: #a7a7a7;
}
.client-box h3.quote:before{
  content: '“';
  left: -35px;
  top: -20px;
}
.client-box h3.quote:after{
  content: '”';
  right: -10px;
  bottom: 0;
}

.client-box strong{
  font-weight: 500;
  font-style: italic;
}
.client-box br{line-height: 0.1}
.client-box .bottom{
  display: block;
  position: relative;
  padding-top:35px;
  margin-top: 50px
}

.client-box .bottom:before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 4px;
  height: 20px;
  background-color: #fff;
  margin-left: -2px
}

.swiper-button{margin-top: -70px;}
.swiper-button-prev{left: 10px}
.swiper-button-next{right: 10px}
.swiper-button > span{
  width: 35px;
  height: 35px;
  border-top: 4px solid #676767;
  border-left: 4px solid #676767;
}

.pc .swiper-button:hover > span{
  border-top-color:#ffffff;
  border-left-color:#ffffff;
}


@media (max-width:1440px) {
  .client-box{
    max-width: calc(900px + 200px);
  }
  .client-box h3.quote:before,
  .client-box h3.quote:after{
    font-size: 65px;
  }
  .client-box h3.quote{ 
    margin-bottom: 20px;
    padding: 0 10px;
  }
  .client-box h3.quote::before {
    left: -40px;
    top: -10px;
  }
  .client-box h3.quote::after {
    right: -20px;
  }
 
  .swiper-single.clients{margin-bottom: 75px}

  .client-box .bottom{margin-top: 30px}
}

@media (max-width:1024px) {
  .client-box h3{max-width: 80%}
  .swiper-single.clients{margin-bottom: 55px} 
}

@media (max-width:991.98px) {

  .client-box{padding: 0 }
  .client-box h3{max-width: 540px}
  .client-box h3.quote:before,
  .client-box h3.quote:after{
    font-size: 55px;
  } 

  .client-box .bottom{
    padding-bottom: 30px;
    padding-top: 25px;
  }
  .client-box .bottom:before{
    width: 2px;
    margin-left: -1px
  }

  .swiper-button {display: none;}

  .swiper-pagination.single{
    bottom: 0 !important
  }
  .swiper-pagination-bullet{
    width: 8px;
    height: 8px;
  }
}



@media (max-width:767px) {
  .swiper-single.clients{margin-top: 15px; margin-bottom: 70px}
  .client-box{padding: 0 0px}
  .client-box h3.quote{
    max-width: 540px; 
    margin: 0 auto 20px;
    padding: 10px 30px 5px;
    line-height: 1.3;
  }
  .client-box h3.quote:before,
  .client-box h3.quote:after{
    font-size:40px;
    width: 20px;
    height: 20px;
  }
  .client-box h3.quote:before{left:0px; top: 0}
  .client-box h3.quote:after{right:10px}
}
/*==================================================
   Contact
==================================================*/ 

.contact-list{
  max-width: 630px;
  margin: -30px auto 0;
  text-align: center;
}
.contact-list h5{
  font-size: 36px;
  font-weight: 600;
}
.contact-list p{
  font-size: var(--f-18);
  margin: 0;
  font-weight: 200;
  margin-top: 15px
}
.contact-list p a{ 
  color: var(--gold);
  display: inline-block;
  border-bottom: 1px solid var(--gold)
}

.pc .contact-list a:hover{opacity: 0.8}

.contact-list .animated .text-loading::before{animation: textloading 1s linear;}

.copyright{
  margin: 0;
  padding: 80px 40px 0 40px;
  text-align: center;
  font-size: 14px;
  font-weight: 200;
}

@media (max-width:1440px) {
  .contact-list{
    margin-top: -10px;
    max-width: 580px
  }
  .contact-list h5{font-size: 32px;}
}


@media (max-width:767px) {
  .section-contact .section-hgroup{
    padding: 30px 0 50px
  }
   .contact-list h5{font-size:24px;}
   .contact-list p{
    margin-top:5px;
    margin-bottom: 30px 
   }


}