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

html,body{
  padding: 0;
  margin: 0; 
  height: 100%; 
}  

html{
  scroll-behavior:unset !important
}
body{     
  
  margin:0; 
  padding:0;  
 
  position: relative;
  overflow-x: hidden;

  /* overscroll-behavior: contain; */
}
 
:root {    

  --bs-body-color:#161616;
  --bs-body-bg:#0C0C0C;
  --bs-body-text-align:left;
  --bs-body-font-weight:var(--fw-300);
  --bs-body-line-height:1.60; 
  --bs-body-font-size:var(--fs-18);
  --bs-body-font-family: 'Kanit', sans-serif;   
  --bs-link-hover-color:var(--color-primary);

  --fs-89:87px;  
  --fs-76:74px; 
  --fs-69:68px;
  --fs-66:64px;
  --fs-39:39px;
  --fs-30:30px;
  --fs-26:26px;

  --fs-24:24px;
  --fs-20:20px;
  --fs-19:19px;
  --fs-18:18px; 
  --fs-17:17px;
  --fs-16:16px;
  --fs-15:15px;

  
  --yellow:#E7A441;  
  --dark-gray:#121212;

  --body-rgb-a:1;
  --rgb-white:255,255,255;
  --rgb-light-yellow:244, 220,0;
  --rgb-main-yellow:255, 202, 34;
  --rgb-dark-gray:17,17,17;
 
  --color-primary:var(--main-yellow); 
  --color-secondary:var(--main-gray); 

  --card-border-radius:20px; 

  --animation-primary: 0.4s cubic-bezier(.75, 0, .25, 1);
  --animation-navigation-fade: 0.3s ease-in-out; 
  
  --header-height:71px; 
  --navbar-brand:88px;; 

  --header-height-scrolling:60px; 
  --navbar-brand-scrolling:80px; 

  --padding-90:90px;
  --padding-80:80px;
  --padding-75:70px;
  --padding-50:50px;
  --padding-30:30px;
 
  /* --fw-200:200;
  --fw-300:200;
  --fw-400:300;
  --fw-500:400;
  --fw-600:500; 
  --fw-700:600;
  --fw-800:700;
  --fw-900:800; */

  --fw-200:200;
  --fw-300:300;
  --fw-400:400;
  --fw-500:500;
  --fw-600:600; 
  --fw-700:700;
  --fw-800:800;
  --fw-900:900; 
  
}  
 

@media (max-width:1550px) {
  :root{
    --padding-90:70px;  

    --fs-89:78px;  
    --fs-76:65px;
    --fs-69:var(--fs-66);
    --fs-66:58px;
    --fs-39:32px;
    --fs-26:22px;
    --fs-20:19px;
    --fs-19:18px;
    --fs-18:17px;
  }
}

@media (max-width:1500px) {
  :root{
    --fs-89:66px; 
    --fs-76:60px;  
    --fs-39:28px;  
  }
}

@media (max-width:1440px) {
  :root{
    --fs-76:55px;

    --fs-17:16px;
    --fs-24:22px;
  }
}

@media (max-width:1280px) {
  :root{
    --fs-89:58px;  
    --fs-76:45px;
    --fs-66:var(--fs-76);
    --fs-20:18px;
  }
}

@media (max-width:1199px) {
  :root{
    --padding-90:50px;

    --fs-89:48px;   
    --fs-76:40px;  
  }
}


@media (max-width:1024px) {
  :root{ 
    --header-height-scrolling:var(--header-height);
  }
}

@media (max-width:991.98px) {
  :root{
    --fs-24:20px;
  }
}
@media (max-width:670px) {
  :root{ 
    --padding-90:40px;     

    --fs-89:40px;   
    --fs-76:35px;
    --fs-26:20px;
    --fs-20:17px;
    --fs-19:17px;
    --fs-17:15px;
  }
}

@media (max-width:575px) {
  :root{
    --fs-89:32px;   

    --fs-76:28px; 
    --fs-26:18px;
    --fs-20:16px;
    --fs-19:16px;
    --fs-18:16px;
    --fs-16:15px;
  }
  
}  
.highlight{color: var(--color-primary);}

.modal-open{
  touch-action: none; 
  overscroll-behavior: contain;
}
 

.modal-backdrop{
  overscroll-behavior: contain;
  --bs-backdrop-opacity: 0.8;
  --bs-backdrop-zindex: 1051;
}
 
a{
  color:inherit;
  text-decoration: none; 
  transition: all 0.2s ease-in-out;
}
a:hover{ text-decoration: none;   }
 
.star{ color: #FF3E40 }

.form-control,
.form-select,
.form-selects{
  --input-h:48px;
 -webkit-appearance: none; 
  padding:0 15px;
 
  font-weight:var(--fw-400); 
  font-family:inherit;  
  font-size:var(--fs-16); 
  border:1px solid #F0F0F0;

  height:var(--input-h);
  line-height:calc(var(--input-h) - 2px);  
  background:#fff; 
  border-radius: 12px; 
  color: var(--title-color);  
 
    -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-select.secondary{
  color: #2F9AB9;
  border-color: #2F9AB9;
  background-color: #EBF5F8;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%232F9AB9' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
 
.form-control::placeholder {   
  opacity:1;  
  color: #8D93A5; 
}

.form-control:-ms-input-placeholder {   
  opacity:1;  
  color: #8D93A5;
}

.form-control::-ms-input-placeholder {   
  opacity:1;  
  color: #8D93A5;
}

.form-control.disabled,
.form-control:disabled, 
.form-control[readonly] {
background: #F6F6F6;
border-color: #D3D3D3;
} 

.form-control.bg-light{
  background-color: #F7F7FC !important;
  border-color: #F7F7FC !important;
}
 
.form-select,
.form-selects{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238D93A5' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); 
  background-position:right .75rem center;
  background-size: 12px;
  background-repeat: no-repeat;
 
} 
 
.form-control:focus,
.form-select:focus{
  background-color: #fff; 
  outline: 0;
  border-color:rgba(86, 208, 201, 0.5);
  box-shadow: 0 0 0 0.2rem rgba(80, 203, 239, 0.25);
 
}

.form-select.h-40,
.form-control.h-40{
  --input-h:40px;
}
.form-select.w-200{width: 200px;}
textarea.form-control{
  height: 120px;
  line-height: normal;
  padding-top: 10px;  
}
textarea.form-control.h-180{
  height: 180px;
} 

div.form-control{
  display: flex;
  align-items: center;
  gap:10px
}
.form-check {
  position: relative;
  padding-left:0;
  display: flex;
  gap: 10px;
}
.form-check .form-check-input{
  width: 20px;
  height: 20px;
  margin-right: 0; 
  border-width: 2px;
  position: relative;
  margin-left:0;
  margin-top: 0;
  border-radius: 3px; 
  flex-shrink: 0;
  border-color:#F0F0F0;
  box-shadow: none !important;
}
.form-check .form-check-input[type=radio],
.form-check .form-check-input[type=checkbox].circle{
  border-radius: 50%; 
}

.form-check .form-check-input[type=radio]:checked,
.form-check .form-check-input[type=checkbox].circle:checked {
  background-color: transparent; 
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%234F8F85'/%3e%3c/svg%3e");
}
.form-check label{
  margin-bottom:0;
  font-weight: 400;
  font-size: inherit; 
}
.form-check-input:checked[type=checkbox], 
.form-check-input.rounded:checked[type=radio]{
  background-color:transparent; 
}

.form-check-input:checked[type=checkbox]{
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  background-color: #25C870;
  border-color: #25C870; 
}
.form-select [data-bs-toggle]{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  gap:5px;
  color: var(--title-color); 
  padding-top: 2px;
  opacity: 0.5;
  outline: 0 !important;
}
.form-select [data-bs-toggle].selected{opacity: 1;}
.form-select [data-bs-toggle] .icons{top: -2px;}
.form-select.dropdown{padding: 0 10px; position: relative; z-index: 100;}
.form-select.dropdown:hover{
  border-color: rgba(86, 208, 201, 0.5);
  box-shadow: 0 0 0 0.2rem rgba(80, 203, 239, 0.25);
}
.form-select .dropdown-menu{  
  border-radius: 8px;
  margin-top: 0;
  padding: 0px; 
  top: 100%;
  left: 0;
  z-index: 11;
  margin-top: 4px;

  transition: all .45s;
  width: 100%;
  overflow: hidden;
  overflow-y: auto;
  max-height: 200px;
  
}
.form-select .dropdown-menu:before,
.form-select .dropdown-menu:after{display: none;}
.form-select .dropdown-menu > li{
  border-bottom: 0;
}
.form-select .dropdown-menu > li {
  font-size: 14px;
  padding: 7px 10px;
  outline: none;
  text-align: left;
  transition: all 0.2s;
  list-style: none; 
  display: flex;
  gap:8px;
  align-items: center;
  line-height: normal;
  border-bottom: 0;
  cursor: pointer;
  transition: all 0.25s;
}
.form-select .dropdown-menu > li:hover ,
.form-select .dropdown-menu > li.active {
  background-color: var(--bs-dropdown-link-hover-bg);
}
.form-group{
  display: block;
  position: relative;  
  z-index: 10;
} 
.form-group h6{ 
  font-weight:var(--fw-500); 
  font-size: var(--fs-18);
  margin-bottom:10px;
  color: #1F1F1F;
}
.form-group span.error{
  color:#DF1642; 
  padding-top: 5px; 
  /* margin-top: -15px;  */
  display: block;
}
 
.form-group .group{
  position: relative;
  display: block;
} 
.form-group .group .icons{
  position: absolute;
  top: 0 !important;
  right: 15px;
  bottom: 0 !important;
  width: 16px; 
  height: auto;

  transition: none;
  z-index: 1;
} 
  
.form-group .group .icons.left{
  left: 10px;
  right: auto;
}
.form-group .group .icons.left.w-20{
  left: 14px;
}
.form-group .group .icons.left + .form-control{
  padding-left: 45px;
}
 

.form-group  .error + .icons{bottom: 31px !important;}
.form-group  .error[style] + .icons{bottom: 0 !important;}
.error + .form-select{border-color: #DF1642; }

.form-select + .error{
  position: absolute;
  left: 0;
  top: 100%;
  line-height: 0.9;
}

select.form-select.error{display: none !important;}

.btn{
  --btn-h:45px; 
  position: relative; 
  padding:0 20px;       
  height:var(--btn-h); 
  line-height:calc(var(--btn-h) - 2px);  
  transition: all 0.25s ease-in-out;    
  font-weight: var(--fw-400);    
  font-size: var(--fs-17); 
  display: flex;
  align-items: center;
  justify-content: center;
  gap:6px;   
  --bs-btn-border-width:0;
  --bs-btn-border-radius:20px;

  --bs-btn-color:#fff; 
  --bs-btn-bg: var(--yellow);  
  --bs-btn-hover-color:#fff; 
  --bs-btn-hover-bg:#FBA321;
  
  --bs-btn-active-color:var(--bs-btn-color);  
  --bs-btn-active-bg:var(--bs-btn-hover-bg); 
 
} 
 
.btn{
  display: flex;
  align-items: center;
  justify-content: center;
} 
.btn span{
  position: relative;
  z-index: 10;
}
.btn-black{
  --bs-btn-border-width:1px;
  --bs-btn-border-radius:30px;
  --bs-btn-bg: #121212;    
}
.btn-outline{
  --bs-btn-border-width:1px;
  --bs-btn-border-radius:30px;
  --bs-btn-bg: #fff;  
  --bs-btn-color: #161616;  
  --bs-btn-border-color:#D4D4D4; 
}

.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.rounded {border-radius: 50px !important;}
 
.btn:focus,.btn:active,
button:focus,button:active,
a:focus,a:active {
   /* outline: none;
   box-shadow: none; */
} 

.btn.disabled, .btn:disabled{  pointer-events: none;}
 
.shadow-0{box-shadow: none !important;}
.btn.w-300{
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}
  
.buttons{
  display: flex; 
  text-align: center; 
  gap:20px;
  justify-content: center;

  padding: 30px 0;
} 
.btn.w-110{width: 110px;}
.btn.w-150{width: 150px;}
.btn.w-210{width: 210px;}

.rounded-3{border-radius: 3px !important;}
.rounded-12{border-radius: 12px !important;}
.rounded{border-radius: 50% !important;}

.py-90{padding: var(--padding-90) 0 !important;}
.pt-90{padding-top: var(--padding-90) !important;}
.pb-90{padding-bottom: var(--padding-90) !important;}

.py-80{padding: var(--padding-80) 0 !important;}
.pt-80{padding-top: var(--padding-80) !important ;}
.pb-80{padding-bottom: var(--padding-80) !important ;}

.py-70{padding: var(--padding-75) 0 !important;}
.pt-70{padding-top: var(--padding-75) !important;}
.pb-70{padding-bottom: var(--padding-75)!important ;}

.py-50{padding: var(--padding-50) 0 !important;}
.pt-50{padding-top: var(--padding-50) !important;}
.pb-50{padding-bottom: var(--padding-50)!important ;}

.py-30{padding: var(--padding-30) 0 !important;}
.pt-30{padding-top: var(--padding-30) !important;}
.pb-30{padding-bottom: var(--padding-30)!important ;}

hr{border-color: #EBEBEB; opacity: 1;}

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:1280px){ }

@media (max-width:670px){
  
} 
 
/*==================================================
    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.2s ease-in-out;
  opacity: 1;
  
  --icon-size:16px;
  width: var(--icon-size);
  height: var(--icon-size);
  
}
.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.35s ease-in-out;
  opacity: 0;
}
.btn .icons.before:before{ opacity: 1; }
.btn .icons.before:after{ opacity: 0; }
.pc .btn:hover .icons.before:before{ opacity: 0; }
.pc .btn:hover .icons.before:after{ opacity: 1; }

img.icons,
svg.icons{ 
  object-fit: contain;
  object-position:center;
  flex-shrink: 0;
}
.icons.w-18{--icon-size:18px;}
.icons.w-20{--icon-size:20px;}
.container-fluid{
  max-width: 1920px;
  --padding-x:50px;
  padding-left:var(--padding-x);
  padding-right:var(--padding-x); 
  position: relative;
  z-index: 9;    
}

.container{ 
  --padding-x:80px;
  max-width: calc(1550px + (var(--padding-x) * 2));
  padding-left: var(--padding-x);
  padding-right: var(--padding-x);
  position:relative;
  z-index:9; 
}
 
.section-target{
  position: absolute; 
  top: calc((var(--header-height)  + 0px) * -1); 
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none; 
}
 
.section{
  display: block;
  position: relative; 
  --padding-top:100px;
  --padding-bottom:100px;

  padding: var(--padding-top) 0 var(--padding-bottom);
}
 
.compensate-for-scrollbar{ margin-right: 0 !important } 
.compensate-for-scrollbar .header{ right: 0 } 
body.fancybox-active{ overflow: visible !important;padding-right: 0 !important  }
 
 
@media (max-width:1800px) {}
@media (max-width:1550px) {
  .container-fluid{
    --padding-x:70px;
  }
  
}

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

  .section{ 
    --padding-top:60px;
    --padding-bottom:60px;
  }
}
  
@media (max-width:991.98px) { 
  .container-fluid{
    --padding-x:30px;
  }  
}
@media (max-width: 670px) {
  .container{
    --padding-x:30px;
  }

  .section{ 
    --padding-top:50px;
    --padding-bottom:50px;
  }
}
@media (max-width: 575px) {
  .container,
  .container-fluid{
    --padding-x:20px;
  }

  /* .section-target{top: -60px;} */
   
}

/*==================================================
    Header Setup
==================================================*/  
.fw-light{font-weight: var(--fw-300) !important;}
.fw-400{font-weight: var(--fw-400) !important;}
.fw-500{font-weight: var(--fw-500) !important;}
.fw-600{font-weight: var(--fw-600) !important;}   
.fw-700{font-weight: var(--fw-700) !important;}    

.title-main{color: var(--title-color);}
 
b, strong{
  font-weight: var(--fw-600); 
  font-family: inherit;
}
.h1, .h2, .h3, .h4, .h5, .h6, 
h1, h2, h3, h4, h5, h6{   
  margin:0;    
  font-weight:var(--fw-500);
  font-style: normal;  
  line-height:1.2;    
  position: relative;  
  padding-top: 2px; 
}   
.nowrap{ white-space: nowrap; }    
 
.h1, h1{
  font-size: var(--fs-89); 
}
.h2, h2{
  font-size: var(--fs-76); 
}
.h3, h3{
  font-size: var(--fs-76); 
}
.h4, h4{ }
.h5, h5{ }
.h6, h6{
  font-size: var(--fs-26);
  line-height: 1.6;
}
 
.header,
.navbar-brand,
.navbar-brand img{
  transition: all 0.3s;
}
.header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 0;
  height: auto;
  z-index: 1020;      
  display: block;    
  height: var(--header-height);  
  background-color:#151515;  
  color: #fff;

  --nav-general-height:48px;
  --nav-main-height:56px;

} 
.header .btn{font-size: var(--fs-14);}
.header-trans{ 
  background-color: transparent;
}

.scrolling .header{
  /* height: var(--header-height-scrolling);  */ 
}
.scrolling .header-trans{  
  background-color: #0A0A0A;
}
.header .container,
.header .container-fluid{  
  display: flex;   
  align-items:center;  
  height: 100%; 
  z-index: 400;
  position: relative; 
  justify-content:space-between;
} 
  
.navbar-brand{
  margin:auto 0;  
  padding: 0;   
  flex-shrink: 0;
  z-index: 200;  
  flex-shrink: 0; 
  width: var(--navbar-brand);
}
.navbar-brand a{
  display: block;
  position: relative;
}
.navbar-brand img,
.navbar-brand svg{
  width: 100%; 
  height: auto;  
}  
   
.btn-menu{display: none;} 
.nav-btn-menu{display: none;}

.nav-general{
  gap:25px; 
  height: 100%;
  padding: 0;
  height: 40px;
  display: flex;
  justify-content: end;
}
.nav-general > li{
  display: flex;
  align-items: center;
} 
.dropdown-menu{
  --bs-dropdown-border-radius:12px;
  --bs-dropdown-border-color:#FBFBFB;
  --bs-dropdown-bg:#FBFBFB;
  --bs-dropdown-font-size:var(--fs-15);
  --bs-dropdown-color:var(--bs-body-color);
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y:4px;
  --bs-dropdown-spacer:0;
  --bs-dropdown-min-width:0;
  --bs-dropdown-link-hover-bg:rgba(241, 241, 241, 0.3);
  --bs-dropdown-border-width:0;

  opacity: 0;
  display: block;
  pointer-events: none;
  transition: all 0.35s;
  top: 110%;
} 
.dropdown-menu > li > a{
  display: flex;
  gap:10px;
  padding:8px 15px;
  color: var(--bs-dropdown-color);
  align-items: center;
}
.dropdown-menu > li{
  border-bottom: 1px solid var(--bs-dropdown-border-color);
}
.dropdown-menu > li:last-child{
  border: 0;
}
.dropdown-menu > li > a:hover{
  background-color: var(--bs-dropdown-link-hover-bg);
}
 
.pc li.dropdown:hover .dropdown-menu,
.dropdown-menu.show{
  top: 100%;
  pointer-events: all;
  opacity: 1;
}
 
.avatar{
  --avatar-size:40px;
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: 50%;
  object-position: center;
  object-fit: cover;
  flex-shrink: 0;
} 

 
.btn-icon,.navbar-slider{display: none;}
 
@media (min-width:1025px) { 
  .btn-icon{display: none;}
  .nav-main{
    gap:0; 
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    --padding-x:20px; 
  }
  .nav-main > li > a {
    display: flex;
    gap:8px;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 var(--padding-x);
    font-size: 15px;
    font-weight: var(--fw-200); 
    height:var(--header-height); 
    text-transform: uppercase;
  }  
  .nav-main > li:hover > a{color: #F3B861;}
  .nav-main > li.active > a {color:#F3B861; font-weight: var(--fw-400);}

  .nav-main > li.dropdown > a:after{
    content: '';
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    width: 12px;
    height: 12px;
    transition: all 0.25s;
  }
  .nav-main > li.dropdown:hover > a:after,
  .nav-main > li.dropdown.active > a:after{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23F3B861' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  }
   
  .nav-main > li > a span{
    position: relative;
    margin: auto;
  }
  .nav-main > li > a span:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background-color: var(--yellow);
    transition: all 0.25s;
    transition-delay: 0.2s;
  }
  .nav-main > li:hover > a span:before,
  .nav-main > li.active > a span:before{width: 20px;}

  .card-menu{
    position: relative;
    display: flex;
    border-radius: 9px 15px 15px 9px;
    background-color: #242424;
    width: 228px;
    align-items: center;
    transition: all 0.25s;
  }
  .card-menu:hover{
    background-color: #E7A441;
  }
  .card-menu .card-photo{
    border-radius: 9px;
    flex-shrink: 0;
    height: 75px;
    width: 75px;
  }
  .card-menu .card-photo img{
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
  }

  .card-menu .card-title{
    padding-left: 25px;
  }
  .card-menu .card-title h5{
    font-size: 15px;
    color: #fff;
    font-weight: 500;
  }

  .card-menu.c-2{margin-left:30%;}
  .card-menu.c-3{margin-left:60%;}

  .card-menu.c-3:before{
    content: '';
    position: absolute;
    left: -40px;
    right: -35px;
    bottom: 0;
    border-bottom:1px solid #2F2F2F ;
  }

  .card-menu.c-4{
    margin-left: auto;
  }

  .header .dropdown{
    position: static;
  }
  .header .dropdown-menu{
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0 0 50px 50px;
    background-color: #151515;
    padding-bottom:45px;
    padding-top: 25px;
  }
  .header .dropdown-menu .nav{
    display: flex;
    flex-direction: column;
    width:100%;
    margin-left: auto;
    display: flex;
    position: relative;
  }
 
  .dropdown-menu .nav  li{
    display: flex;
    
    position: relative;
  }
  .dropdown-menu .nav  li:before{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom:1px solid #2F2F2F ;
  }
  .dropdown-menu .nav li:nth-child(4):before,
  .dropdown-menu .nav li:nth-child(1):before{
    border: 0;
  }
  .dropdown-menu .nav li:nth-child(2):before{
    right: 30px;
  }
  .header .container{position: static;}

  .dropdown-menu .nav li.nav-title{
    border: 0;
    color: #fff;
    font-size: 12px;
    padding: 20px 0;
  }

  .header .dropdown-menu .nav:before{
    content: '';
    position: absolute;
    top: 24px;
    bottom: 0;
    left: -30px;
    border-left:1px solid #2F2F2F;
    display: none;
  }

  .header .dropdown-menu .container:before{
    content: '';
    position: absolute;
    left: var(--padding-x);
    right: var(--padding-x);
    top:10px;
    border-top:1px solid #2F2F2F ;
  }
}
 
@media (min-width:1281px) {
  .nav-main{--padding-x:30px;}
  .header .dropdown-menu .nav{width: 880px;}
  .header .dropdown-menu .nav:before{display: block;}
} 

@media (min-width:1441px) {
  .header .dropdown-menu .nav{width: 56%;}
}
/*==================================================
   Mobile
==================================================*/  
@media (max-width:1024px) {
  .header .nav-main{display: none;}

  .btn.btn-icon{
    padding: 0 !important;
    border:0 !important;   
    z-index: 1060; 
    border-radius: 0;
    position: relative; 
    margin: auto 0; 
    width: auto; 
    height: auto;
    background-color:transparent !important;
    overflow: visible;  
    --bs-btn-bg:transparent;
    box-shadow: none;
    opacity: 1 !important;
    display: block;
  }
 
  .btn-icon:before{display: none;}
  .btn-icon .group{
    display: block;
    position: relative;
    width:25px;
    height:17px;
    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) {
      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: 7px; 
      -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: 14px;
      -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)
  }
  .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, 5px, 0);
    transform: rotate(45deg) translate3d(5px, 5px, 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, -5px, 0);
    transform: rotate(-45deg) translate3d(5px, -5px, 0)
  }

  /**/

  .header-slideout,
  .page-slideout {
      transition: -webkit-transform 0.6s ease;
      transition: transform 0.6s ease;
      transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .page-slideout {
      position: relative;
      background-color: #fff;
      overflow: hidden;
  }
  .closing .page-slideout,
  .nav-opened .page-slideout {
      z-index: 1040;
  }
  .closing .header-slideout,
  .nav-opened .header-slideout {
      z-index: 1043;
  }
  .page-blocker {
      position: fixed;
      top: 0;
      left: 0;
      bottom: 0;
      width: 100%;
      background-color: rgba(0, 0, 0, 0);
      z-index: 1090;
      pointer-events: none;
      transition: -webkit-transform 0.6s ease;
      transition: transform 0.6s ease;
      transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .nav-opened .header-slideout,
  .nav-opened .page-blocker,
  .nav-opened .page-slideout {
      /*-webkit-transform: translate(-280px, 0);
      -ms-transform: translate(-280px, 0);
      transform: translate(-280px, 0);
      -webkit-transform: translate3d(-280px, 0, 0);
      transform: translate3d(-280px, 0, 0);*/
  }
  .nav-opened .page-blocker {
      background-color: rgba(0, 0, 0, 0.6);
  }
  .nav-opened .page-blocker {
      pointer-events: auto;
      display: block;
      cursor: pointer;
  }
  .navbar-slider {
    --navbar-width:440px;
    --navbar-width-column:220px;

      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 1095;
      width: var(--navbar-width);
      overflow: hidden;
      padding: 0; 
      display:block;
      background-color:#151515;
      align-items: normal;
      -ms-flex-align: normal;
      -webkit-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    transform: translate(100%, 0);
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
      transition: -webkit-transform 0.6s ease;
      transition: transform 0.6s ease;
      transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .nav-opened .navbar-slider {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
  }
  .nav-opened .header {
      pointer-events: none;
  }

  .navbar-inner{
    position: relative;
    overflow: hidden;
    height: 100%;
  }
 
  .nav-main {
      position: absolute;
      top: 0;
      bottom: 0;
      display: block;
      height: 100%; 
      right: calc(-1 * var(--navbar-width));
      width: calc(var(--navbar-width) * 2);
      overflow: hidden;
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch; 
      -webkit-transition: all 0.4s;
      -o-transition: all 0.4s;
      transition: all 0.4s;
  }
  .nav-main li {
      display: block;
      position: static;
  }
  .nav-main li {
      padding-left: 30px !important;
  }
  .nav-main li a {
      padding: 18px 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      font-weight: 400;
      font-size:17px;
      height: auto!important;
      line-height: normal !important; 
      display: block;
      position: relative;
      color: #fff;
      outline: 0 !important;
  } 
  .nav-main > li > a {
      /* width: var(--navbar-width-column);; */
      position: relative;
  }
  .nav-main > li.dropdown > a:after {
      content: "";
      position: absolute;
      top: 25px;
      left:calc(var(--navbar-width) - 60px);
      content: "";
      width: 8px;
      height: 8px;
      opacity: 0.75;
      vertical-align: top; 
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
  }

   .nav-main > li > a .arrow{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50px;
    z-index: 1; 
   }
  .nav-main .dropdown-menu {
      position: absolute;
      top: 0 !important;
      right: 0;
      bottom: 0;
      left: auto !important;
      width: var(--navbar-width);
      margin: 0;
      padding: 0;
      transition: none;
      border: 0;
      background-color:#151515;
      
  } 
  .nav-main li.nav-title {
      padding-left: 0;
      position: relative;
      cursor: pointer;
      display: flex;

      opacity: 0.8; 
      padding: 13px 0 13px 40px;
      margin-bottom: 0;
      padding-left: 40px !important;
      color:rgba(255,255,255,0.5); 
      font-size: 16px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important
  } 
  .nav-main li.nav-title > span{
    display: block;
    position: relative;
    padding: 0 0 0  0px;
  }
  .nav-main li.nav-title:after{
    display: none;
  }
  .nav-main li.nav-title .arrow{
      display: inline-block;
      position: absolute;
      vertical-align: top;
      left: 20px;
      top: 50%;
      margin-top: -4px;
  }
  .nav-main li.nav-title .arrow:before{
      content: "";
      width: 8px;
      height: 8px;
      vertical-align: top;
      position: absolute;
      top: 0;
      left: 0;
      border-top: 1px solid rgba(255, 255, 255, 0.8);
      border-left: 1px solid rgba(255, 255, 255, 0.8);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
  }  
  .nav-main .dropdown.showing .dropdown-menu {
      display: block;
      opacity: 1;
  }
  .nav-main .dropdown .nav{
    flex-direction: column;
  }
  .level-1-opened .nav-main {
      right: 0;
  }

  .nav-main .dropdown-menu > li{border: 0;}

  .card-menu{
    display: flex !important;
    align-items: center;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .card-menu .card-photo{
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border-radius: 5px;
  }
  .card-menu .card-photo img{
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
  }
  .card-menu .card-title{
    color: #fff;
    padding-left: 20px;
    
  }
  .card-menu .card-title h5{
    font-weight: 300;
    font-size: 15px;
  }
 
  .navbar-slider .container{
    padding: 0;
  }
  
}
@media (max-width:670px) {
  .h6, h6{line-height: 1.4;}
}

@media (max-width:575px) { 
 
  .navbar-slider {
    --navbar-width:calc(100vw - 50px);
  }
  .nav-main li {
    padding-left:20px !important;
  }
  .nav-main li a{font-size: 16px;}
  .nav-main > li.dropdown > a:after{
    left: calc(var(--navbar-width) - 45px);
  }
}
/*==================================================
   Section
==================================================*/  
 
.page{
  display: flex;
  position: relative;
  overflow: hidden;   
  padding-top: var(--header-height);
  flex-direction: column;
  min-height: 100%;
} 
.page-light{
  background-color: #F5F5F5;
}
.preload{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color:var(--bs-body-bg);
  z-index: 1090; 
  display:flex;   
} 


.loader {
  width: 34px;
  height:34px;
  margin:  auto;
  display: block;
  border-top: 3px solid var(--yellow);
  border-right: 3px solid rgba(255, 255, 255, 0.2);
  border-bottom: 3px solid rgba(255, 255, 255, 0.2);
  border-left: 3px solid rgba(255, 255, 255, 0.2);
  border-radius: 100px;
  animation: spin 1s infinite linear;
}
 
 
@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
.section-full{
  min-height: 100vh;
  min-height: calc(var(--vhs, 1vh) * 100) !important;
  display: flex;
}
 
.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;
}
 
.background.fixed{
  background-attachment: fixed;
}
.device .background.parallaxie,
.device .background.fixed{
  background-attachment: scroll !important;
  background-position: center center !important;
}

@media (max-width:1199px) {
  .background.parallaxie{
    background-attachment: scroll !important;
    background-position: center center !important;
  }
}
 
.section{ 
  position: relative; 
}
.section.h-full{
  min-height: 100vh;
}

.section-title{  
  position: relative;       
}   
   
.hgroup{
  display: block;
  padding:0;
}
.hgroup.center{
  justify-content: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.hgroup .group{
  position: relative;
}
.hgroup .line-animate{
  margin-top: 8px;
}

.hgroup .title-main{
  font-size: var(--fs-69);
  line-height: 1.2;
}
.hgroup h6{font-size: var(--fs-19); font-weight: var(--fw-400);}
.hgroup p small{font-weight: var(--fw-200);}
.hgroup a.goback{
  display: flex;
  position: relative;
  gap:20px;
  align-items: center;
  margin-bottom: 10px;
}
.hgroup a.goback .icons{
  --icon-size:16px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23AAAAAA' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-position: center center;
  background-size: contain;
  transform: rotate(90deg);
  margin-left: -35px;
  left: 0;
  position: relative;
}
.pc a.goback:hover .icons{
  left: -7px;
}
.hgroup .swiper-freemode{
  margin:30px 0;
}

.hgroup hr{
  border-color: #3F3F3F;
  margin:30px 0 25px;
}
.hgroup .icons.note{
  margin-right: 5px;
}
.card{ 
  position: relative;
}
.card-photo{
  position: relative;
  overflow: hidden;
  display: block;   
}

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

.card-photo.rounded,
.card-photo.rounded .photo{
  border-radius: 10px;
}
.card-body{color: inherit;}
 
.card-link{
  position: absolute !important;
  top: 0;
  left: 0; 
  right: 0;
  height: 100%;
  z-index: 100;
  z-index: 20 !important;
}
.card h3,
.card p,
.card .card-body{transition: all 0.2s ease 0s;}
    
.section-banner{ 
  position: relative;
  padding: 0 !important;
}

.section-body{
  flex: 1 1 auto;
  /* padding-top:var(--header-height); */
  --padding-top:40px;
}
.section-breadcrumb{
  padding-top:var(--header-height);
}
.textrow{
  position: relative;
  overflow: hidden;
  display: block;
}
.textrow > span{
  display: inline-block;
}

  
.link-effect{
  position: relative;
  display: inline-block; 
  color: var(--color-primary);
}
.link-effect:before{
  content: '';
  position: absolute;
  bottom:0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
  transform: scaleX(0) rotate(0.001deg);
  transform-origin: right;
  transition: transform var(--animation-primary), background-color var(--animation-navigation-fade);
}

 .pc .link-effect:hover:before{
  transform: scaleX(1) rotate(0.001deg);
  transform-origin: left;  
}
.link-effect.link-white{color: #fff;}
.link-effect.link-white:before{ background-color:#fff;} 
.pc .link-effect.link-white:hover{opacity: 0.8;}

@media (max-width:1440px) {
  .section-body{
    --padding-top:30px;
  }
}
@media (max-width:991.98px) {
  .hgroup .swiper-freemode{overflow: visible; margin:20px 0;}

  .hgroup hr{ margin: 25px 0 20px;}

  .hgroup a.goback{font-size: 15px; gap:10px}
  .hgroup a.goback .icons{margin-left: -25px;}
}

@media (max-width:670px) {
  .section-body{
    --padding-top:20px;
  }

  .hgroup a.goback .icons{
    margin-left:-5px;
  }
  .hgroup a.goback{gap:7px}
  .hgroup a.goback{font-size: 13px;}

  .hgroup hr{ margin: 15px 0 10px;}

  .hgroup p small{font-size: 13px;}
  .hgroup .icons.note{--icon-size:14px}
}

/*==================================================
   Home - Banner
==================================================*/ 
.pt-body{padding-top: var(--header-height) !important;}

.section-dark{
  color: #fff;
}
.section-banner{
  height:calc(100vh - var(--header-height)); 
  display: flex;
}
.section-banner:before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height:120px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #3E3E3E 100%);
  z-index: 10;
} 

.section-banner .background{
  width: 50%;
}

.section-banner .row{
  flex: 1 1 auto;
  position: relative; 
}
.section-banner div.left{
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 100;
  
}
.section-banner div.right{
  height: 100%; 
}
.banner-caption {
  padding-bottom: 100px;
}
.banner-caption h5{
  font-size: var(--fs-39);
  color: #868686;
  font-weight: var(--fw-300);
  margin-top:20px;
}

.banner-caption .buttons{
  display: flex;
  justify-content: flex-start;
  gap:20px;
  padding:40px 0 0 ;
}

.banner-caption .btn{
  --btn-h:54px;
  --bs-btn-color: #fff;
  --bs-btn-bg: #E79B2A;
  --bs-btn-border-radius:8px;
  font-size: 23px;
  padding: 0 18px;
}
.banner-caption .btn .icons.phone{
  --icon-size:20px;
  margin-right: 10px;
}
.banner-caption .btn.line{
  --bs-btn-color: #fff;
  --bs-btn-bg: #05A205;
  --bs-btn-hover-bg:#04BF04;
  font-size: 21px;
  padding: 0 10px 0 22px;
  gap:15px
}
.banner-caption .btn.line .icon-line{
  height:95%;
  width: auto;
}
.page-scrolldown{
  display: flex;
  align-items: center;
  gap:10px;

  position: absolute;
  bottom: 100px;
  left: auto;
  font-size: 15px;
  font-weight:200;
  z-index: 100;
}

.page-scrolldown .icons{
  --icon-size:18px;
  background-image: url(../img/icons/icon-arrow-down.svg);
}
.swiper-overflow.main{
  width: 50vw;
  height: 100%;
}
.swiper-banner.main{ 
  height: 100%;
}
.swiper-banner.main .swiper-slide{
  height: 100%;
  width: 100%;
}
.swiper-banner.main .swiper-slide img{
  width: 100%;
  height: 100%;
  object-position: center ;
  object-fit: cover;
}
@media (max-width:1800px) {
  .banner-caption .btn{
    --btn-h:50px;
    font-size: 21px;
  }
  .banner-caption .btn.line{
    font-size: 19px;
  }

  .page-scrolldown{bottom: 50px;}
}

@media (max-width:1199px) {
  .banner-caption h1{line-height: 1.4;}
  .banner-caption h5{font-size: 22px;}

  .banner-caption .btn{
    --btn-h:45px;
    font-size:18px;
  }
  .banner-caption .btn.line{
    font-size:17px;
  }
  .banner-caption .btn .icons.phone{
    --icon-size: 18px;
    margin-right: 6px;
  }
  .banner-caption .buttons{gap:15px; padding-top: 35px;}
}

@media (max-width:991.98px) {
  .section-banner{height: auto;}
  .section-banner:before{display: none;}
  .section-banner .row{
    flex-direction:column-reverse;
  }
  .section-banner div.left,
  .section-banner div.right,
  .section-banner .background{
    width: 100%;
    height: auto;
  }
  
  .swiper-overflow.main{
    width:100vw;
    height: 50vw;
  }

  .page-scrolldown{display: none;}

  .banner-caption{
    padding: 50px 0;
  }
  .banner-caption .buttons{
    margin-bottom: 10px;
  }
} 

@media (max-width:670px) {
  .swiper-overflow.main{
    height: 55vw;
  }
  .banner-caption{
    padding:34px 0;
  }

  .banner-caption h5{font-size:15px; margin-top:10px; margin-bottom: 10px;}
}

@media (max-width:575px) {
  .banner-caption .buttons{
    flex-direction: column;
    gap:10px;
    padding-top: 25px;
  }
}

/*==================================================
   Home - About
==================================================*/ 
.section-title{
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
}
.section-title h6{
  font-size: var(--fs-19);
  font-weight: var(--fw-400);
  margin-right: auto;
}
.section-title .underline{ 
  position: absolute;
  width: 69px;
  right: 0;
  bottom: 0;
}
.section-title .underline:before{
  content: '';
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 0;
  height: 1px;
  transition: all 0.55s;
  background-color: #E7A441;
}
.section-title .underline.aos-animate:before{
  width: 100%;
  transition-delay: 0.2s;
}
.section-about{
  overflow: hidden;
}
.section-about .background{
  background-size: auto;
  background-position: top center;
  top: -140px;
}
.section-about div.left{width: 55%;}
.section-about div.right{width: 45%;}

.article{
  --space-bottom:25px;
}
.article h6,
.article p{
  margin-bottom: var(--space-bottom);
}
.article p:last-child{
  margin-bottom:0;
}

.statistic-lists{
  /* display: flex;
  justify-content: space-between;
  gap:0 30px; */
  padding: 120px 0 0;
}
.statistic-lists .col{
  flex: unset;
  max-width: 458px;
  width: 100%;
}
.card-statistic{ 
  height: 100%;
  background-color: #292929;
  border-radius: var(--card-border-radius);
  padding:40px 40px ;
}
.card-statistic .card-header{
  display: flex;
  gap:20px
}
.card-statistic .card-header p{
  margin: 0;
  font-size: var(--fs-20);
  font-weight: var(--fw-200);
  position: relative;
  top: 13px;
  color: #fff;
}
.card-statistic .card-header  h2{
  font-size: 70px;
}
.card-statistic .card-body{
  padding:15px 0 0 0;
}
.card-statistic h3{
  font-size: var(--fs-20);
  margin-bottom:6px;
}
.card-statistic p{
  margin: 0 0 12px;
  color: #808080;
}

.section-background{
  height: 80vh;
}

.bg-white{
  background-color: #fff !important;
}
.bg-black{
  background-color: #0C0C0C !important;
}
@media (min-width:1025px) {
  .swiper-card.statistic .swiper-slide{ 
    width: calc(33.33% - 20px);
  }

  .swiper-card.statistic .swiper-wrapper{
    justify-content: space-between;
    gap:20px
  }
}

@media (min-width:1381px) {
  .swiper-card.statistic .swiper-slide{ 
    width: calc(33.33% - 30px);
  }
}

@media (min-width:1651px) {
  .swiper-card.statistic .swiper-slide{
    max-width: 458px;
    width: 100%;
  }
}

@media (min-width:1940px) {
  .section-about .background:before,
  .section-about .background:after{
    content: '';
    position: absolute; 
    width: 30%;
    top: 0;
    bottom: 0;
    background: linear-gradient(to right,  rgba(12,12,12,1) 0%,rgba(255,255,255,0) 100%);
  
  }
  .section-about .background:before{
    left: 0;
  }
  .section-about .background:after{
    right: 0;
    transform: rotate(-180deg);
  }
}

@media (max-width:1550px) {
  .section-about p br{display: none;}

  .card-statistic .card-header h2{font-size: 65px;}
}

@media (max-width:1440px) {
  .statistic-lists{
    padding: 80px 0 0;
  }
  .card-statistic{
    padding:40px 30px;
  }
  .card-statistic .card-header h2{font-size: 60px;}

  .card-statistic p{padding-bottom: 0px;}

  .section-background{
    height: 44vw;
  }
}

@media (max-width:1280px) {
  .statistic-lists{padding-top: 50px;}
}

@media (max-width:1199px) {
  .section-about div.left,
  .section-about div.right{width: 100%;}

  .statistic-lists{
    padding:40px 0 0;
  }
}

@media (max-width:1024px) {
  .swiper-card.statistic{
    overflow: visible;
  }
  .swiper-card.statistic .swiper-slide{ 
    width: 350px;
    padding-right: 25px;
  }
}

@media (max-width:991.98px) {
  
  .card-statistic{
    padding:30px 25px;
  }
  .card-statistic .card-header{
    gap:10px
  } 
}
 
@media (max-width:670px) {
  .section-title{margin-bottom: 30px;}
  .section-title h6{font-size: 15px;}
  .section-title .underline{width: 50px;}
  .article {
    --space-bottom:20px;
  }
  .section-about h6 br{display: none;}

  .section-about .article{
    padding-top: 15px;
  }
  .statistic-lists{padding-top: 20px;}
  .card-statistic .card-header h2{
    font-size: 45px;
  }

  .card-statistic .card-header p{
    font-size: 15px;
    top: 10px;
  }
  .card-statistic h3{
    font-size: 16px;
  }
  .card-statistic p{
    font-size: 15px;
  }
  .swiper-card.statistic .swiper-slide{ 
    width:280px;
    padding-right: 15px;
  }
}

/*==================================================
   Home - Service
==================================================*/ 
.service-line-bg{
  position: absolute;
  top: -70px;
  bottom: 20px;
  left: var(--padding-x);
  right: var(--padding-x); 
  list-style-type: none;
  padding: 0;
  margin: 0;
  opacity: 0.7;
}
.service-line-bg li{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-left: 1px solid #4B4B4B;
}
.service-line-bg li:nth-child(2){left: 20%;}
.service-line-bg li:nth-child(3){left: 40%;top: 50px;}
.service-line-bg li:nth-child(4){left: 60%;top: 50px;}
.service-line-bg li:nth-child(5){left: 80%;}
.service-line-bg li:nth-child(6){left: 100%;}
.section-service .section-title{
  position: relative;
  z-index: 10;
  padding-bottom: 2.8%;
}
.section-service .section-title h2{
  font-size:var(--fs-39);
  margin-top: 30px;
  line-height: 1.5;
}
.section-service .section-title .icon{
  position: relative;
  margin-top: 30px;
}
.section-title .stars{
  position: absolute;
  width: 20%;
  opacity: 0.8;
}

.section-title + .swiper-overflow{
  position: relative;
  z-index: 100;
}

.card-service{
  position: relative;
  display: flex;
  flex-direction: column;
  height: 555px;
  overflow: hidden;
  transition: all 0.25s;
}

.card-service .card-photo{
  border-radius: var(--card-border-radius); 
}
.card-service .card-photo:before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom:0;

  height: 40%; 
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 74%);
}
.card-service .card-photo,
.card-service .card-photo .photo{
  height: 100%;
  border-radius: var(--card-border-radius);
}
 
.card-service .card-body{
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 100%; 
  color: #fff;
  padding: 30px 30px; 
}

.card-service h3{
  font-size:30px;
  font-weight: var(--fw-500);
}
.card-service h6{
  font-size:19px;
  font-weight: var(--fw-200);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-service .tgroup{
  font-size: 16px;
  font-weight: var(--fw-200);
  line-height: 1.4;
  display: flex;
  justify-content: space-between;
  gap:50px;
  padding-top: 10px; 

  display: none;
  transition: all 0.25s;
  opacity: 0;
}
.card-service .tgroup p{
  margin: 0;
  overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;

}
.card-service .tgroup .btn{
  flex-shrink: 0;
  font-size: 13px;
  --btn-h:37px;
  padding: 0 20px 0 8px;
  font-weight: 300;
}
.card-service .tgroup .btn .icons{
  background-image: url(../img/icons/icon-star.png);
  --icon-size:27px
}
.swiper-card.service{
  position: relative;
  z-index: 100;
}
.swiper-card.service .swiper-slide{
  width:20%;
  padding-right: 40px;
  transition: all 0.25s;
}
.swiper-card.service .swiper-slide.hover{
  width: calc(40% + 40px);
}
.swiper-card.service .swiper-slide.hover .card-service h6{
  font-weight: 500;
}
.swiper-card.service .swiper-slide.hover .tgroup{
  display: flex;
  opacity: 1;
  transition-delay: 0.2s;
}

@media (max-width:1550px) {
  .card-service{height: 530px;}
  .card-service h3{
    font-size:24px;
  }
  .card-service h6{
    font-size:17px;
  }
  .card-service .card-body{padding:30px;}
  .card-service .tgroup{gap:30px}

  .swiper-card.service .swiper-slide{padding-right: 25px;}
  .swiper-card.service .swiper-slide.hover{width: calc(40% + 25px);}
}

@media (max-width:1440px) {
  .card-service{height:480px;}
  .card-service h3{
    font-size:20px;
  }
  .card-service h6{
    font-size: 15px;
  }
  .card-service .card-body{padding:20px;}
  .section-service .section-title{margin-bottom: 2.4%;}
  .section-service .section-title .icon{margin-top: 20px;}
}

@media (max-width:1199px) {
  .service-line-bg li:nth-child(6){display: none;}

  .service-line-bg li:nth-child(2){left: 25%;}
  .service-line-bg li:nth-child(3){left: 50%;}
  .service-line-bg li:nth-child(4){left: 75%;}
  .service-line-bg li:nth-child(5){left: 100%;}

  .swiper-card.service .swiper-slide{
    width:25%;
  }
  .swiper-card.service .swiper-slide.hover{width: calc(50% + 25px);}

  .section-title .stars{width: 25%;}
 
}

@media (max-width:1024px) {
  .swiper-card.service .swiper-slide,
  .swiper-card.service .swiper-slide.hover{width:240px !important;}
  .card-service .tgroup{display: none !important;}
  .swiper-card.service .swiper-slide.hover .card-service h6{font-weight: var(--fw-200);}
  .swiper-card.service .swiper-slide:last-child{display: none !important;}
}

@media (max-width:991.98px) {
  .service-line-bg{top: -40px;}
  .swiper-card.service .swiper-slide{padding-right: 15px;} 
  .card-service .tgroup{font-size: 14px;}


}

@media (max-width:767px) { 
  .card-service{height:420px;}
  .service-line-bg li:nth-child(6){display: block;}

  .service-line-bg li:nth-child(2){left: 20%;}
  .service-line-bg li:nth-child(3){left: 40%;}
  .service-line-bg li:nth-child(4){left: 60%;}
  .service-line-bg li:nth-child(5){left: 80%;}

  .swiper-card.service .swiper-slide{width:240px !important;} 

  .swiper-card.service{
    overflow: visible;
  }
  .section-title .stars{width: 40%;}
}

@media (max-width:575px) { 
  .card-service .tgroup{
    flex-direction: column;
    gap: 15px;
  }
  .card-service .tgroup .btn { 
    font-size: 12px;
    --btn-h: 30px;  
    margin-right: auto;
  }
  .card-service .card-photo:before{height: 60%;} 

  .card-service h3{
    font-size:18px;
  }
  .card-service h6{
    font-size: 14px;
  }

  .service-line-bg li:nth-child(3){top: 0;}
  .service-line-bg li:nth-child(4){top: 0;}

  .section-service .section-title h2{font-size: 20px;}

  .section-service .section-title .icon{margin-top:10px;}
  .section-title .stars{width: 60%;}
}
/*==================================================
   Home - Portfolio
==================================================*/ 

.section-portfolio{
  --padding-top:80px;
  --padding-bottom:80px;
}

.portfolio-lists .row{
  --bs-gutter-x:60px;
}
.portfolio-lists .row > div{
  
}
.card-portfolio{
  position: relative;
 padding-top: 60px;
 height: 100%;
 display: flex;
 flex-direction: column;
}
.card-portfolio:before{
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 130%;
  border-bottom: 1px solid #E4E4E4;
}
.portfolio-lists .row > div:nth-child(even) .card-portfolio:before{ width: 100%;}
.card-portfolio .buttons{
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  gap:12px;
  justify-content: flex-start;
  padding:15px 0 30px;
  margin-top: auto;
}
.card-portfolio .buttons .btn{
  --btn-h:35px;
  font-size: var(--fs-17);
  pointer-events: none;
}
.card-portfolio .card-hover{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(3.5px);
  background-color:rgba(231, 164, 65, 0.3);
  transition: all 0.35s;
  opacity: 0;
}
.card-portfolio .card-hover .btn{
  --btn-h:40px;
  font-weight: 200;
  font-size: 11px;
  padding: 0 15px 0 8px;
  transition: all 0.45s;
  position: relative;
  top: 30px;
  opacity: 0;
}
.card-portfolio .card-hover .btn .icons{
  --icon-size:28px;
  background-image: url(../img/icons/icon-star.png);
}
.card-portfolio .card-body{
  padding:25px 0;
  display: flex;
  flex-direction: column;
}
.card-portfolio h3{
  font-size: var(--fs-24);
  font-weight: var(--fw-600);
}
.card-portfolio h3 small{
  font-weight: 200;
  font-size:var(--fs-17);
}
.card-portfolio:hover .card-hover{
  opacity: 1;
}
.card-portfolio:hover .card-hover .btn{
  top: 0;
  opacity: 1;
  transition-delay: 0.2s;
}

.section-portfolio .hgroup{
  font-size: var(--fs-19);
}
.section-portfolio .hgroup p{
  margin: 0;
  padding-top: 30px;
}
.viewmore{
  display: flex;
  gap:10px;
  align-items: center;
  justify-content: flex-end;
}
.viewmore .icons{ 
  background-image: url(../img/icons/icon-arrow-right.svg);
  left: 0;
}
.viewmore:hover .icons{left:7px;}

.button-lists{
  display: flex;
  justify-content: end;
  gap:16px;
  position: absolute;
  top: 0;
  right: var(--padding-x);
}
.button-lists .btn{
  --btn-h:33px;
  font-size: 14px;
  font-weight: 300; 
  --bs-btn-bg:#222222;
  min-width: 120px;
}

@media (max-width:1440px) {

  .portfolio-lists .row{
    --bs-gutter-x:45px;
  }
  .card-portfolio{padding-top: 45px;}
  .card-portfolio .buttons{
    padding-bottom: 20px;
    gap:8px
  }
}

@media (max-width:1280px) {
  .section-portfolio {
    --padding-top:60px;
    --padding-bottom: 60px;
  }
  .section-portfolio .hgroup{
    font-size: var(--fs-18);
  }

  .card-portfolio .buttons .btn{
    font-size: var(--fs-16);
  }
  .card-portfolio h3 small{
    font-size: var(--fs-16);
  }
}
@media (max-width:991.98px) {
  .section-portfolio .hgroup{
    font-size: var(--fs-16);
  }
  .section-portfolio .hgroup p{
    padding-top:20px;
  }

  .portfolio-lists{
    margin-top: -15px;
  } 
  .portfolio-lists .row{
    --bs-gutter-x:35px;
  }
  .card-portfolio .buttons{
    padding-bottom: 15px;
    gap:5px
  }

  .card-portfolio .buttons .btn{
    --btn-h:32px;
    font-size: 14px;
    padding: 0 15px;
  }
  .button-lists{gap:5px}
  .button-lists .btn{
    --btn-h:28px;
    padding: 0 10px;
    min-width: 100px;
    font-size: 12px;
  }
}
@media (max-width:767px) {
  .card-portfolio:before{width: 100%;}
}

@media (max-width:670px) {
  .section-portfolio {
    --padding-top:40px;
    --padding-bottom: 40px;
  }

  .viewmore .icons{--icon-size:14px}

  .card-portfolio .card-body{
    padding:15px 0;
  }
  .card-portfolio{
    padding-top: 32px;
  }
  .card-portfolio .buttons .btn{
    font-size: 13px;
  }
}
@media (max-width:575px) {
  .section-portfolio .hgroup{font-size: 14px;}
  .viewmore{gap:5px}
  .viewmore .icons{--icon-size:12px}

  .button-lists{
    position: relative;
    right:auto;
    justify-content: start;
    padding: 0 0 30px;
  }
}

/*==================================================
  Article - Details
==================================================*/ 

.article-banner{
  position: relative;
  height: 558px;
  border-radius: var(--card-border-radius);
  overflow: hidden;
  margin-bottom: 10px;
}
.article-banner .background{
  pointer-events: all;
}
.article-header{
  padding:30px 0;
  border-bottom: 1px solid #3F3F3F;
  margin-bottom: 10px;
}
.article-header h1{
  font-size: 40px;
  font-weight: var(--fw-600);
  color: #fff;
}
.article-header h6{
  align-items: center;
  gap:10px;
  flex-wrap: wrap;
  font-size: var(--fs-17);
  font-weight: var(--fw-200);
}
.article-details{ 

  --text-color:#676464;
  --title-color:#333333;
  --space-bottom:15px;
  line-height: 1.7;
  color: var(--text-color);
  margin-top:30px;
  font-size: var(--fs-16);
  font-weight: 200;
}

.article-details.dark{
  --text-color:#B3B3B3;
  --title-color:#E6E6E6;
}

.article-details .row{
  --bs-gutter-x: 3rem;
}
.article-details .left .textblock{padding-right: 10px;}
.article-details .right .textblock{padding-left: 10px;}
.article-details.aboutus .left .textblock{
  padding-right: 20px;
}
.article-details .right{
  position: relative;
}
.article-details.aboutus .right .textblock{
  padding-left:20px;
}
.article-details .right.line:before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-left: 1px solid #E4E4E4;
}
.article-details h5{
  font-size: var(--fs-16);
  font-weight: var(--fw-500);
  color: var(--title-color); 
  line-height:inherit;
}
.article-details h2,
.article-details h3,
.article-details h4,
.article-details h5,
.article-details p{
  margin-bottom: var(--space-bottom);
}

.article-details p img{
  margin-top: 25px;
  margin-bottom: 25px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.article-details img{width: 100%; height: auto !important;}
.article-details p.m-0 img{margin-bottom: 0;}
.article-details h2{
  font-size: 29px;
  color: #E6E6E6;
  padding: 20px 0;
}
.article-details h4{
  font-size: 20px;
  color: #E6E6E6;
  padding-top: 20px;
} 
.article-details h2 + h4{padding-top: 0;}
 
.article-details h2,
.article-details h4{
  line-height: 1.4;
}
.article-details.service img{
  border-radius: var(--card-border-radius);
}

.article-details.service .mt-10{margin-top: 10rem;}
.article-details.article img{border-radius: var(--card-border-radius);}

.article-details hr{
  opacity: 1;
  border-color: #3F3F3F;
  margin: 20px 0;
}
.vector-group > img{position: absolute; z-index: -1;}
.vector-group.service img{
  width: 315px;
}
.vector-group.service img.icon-1{
  top: -88px;
  left: 0;
}
.vector-group.service img.icon-2{
  top: 350px;
  right: 0;
}
@media (max-width:1366px) {
  /* .article-details .left .textblock{padding-right:10px;}
  .article-details .right .textblock{padding-left: 10px;} */

  .article-details .row{
    --bs-gutter-x: 2rem;
  }

  .article-banner{height:40vw;}
  .vector-group.service img{width: 22vw;}
  .vector-group.service img.icon-2{top: 24vw;}

  .article-header h1{font-size: 35px;}
}
@media (max-width:1199px) {
  .article-details.service .mt-10{
    margin-top: 0;
  }

  .article-header h1{font-size:28px;}

  .article-details h2{font-size: 22px;}
  .article-details h4{font-size: 17px;}
}

@media (max-width:991.98px) {
  .article-details .left .textblock,
  .article-details .right .textblock{padding: 0 !important;}
  .article-details .right.line:before{display: none;}
  .article-header {padding: 15px 0; margin-bottom: 0;}
  .article-header h1{font-size:24px;}
}

@media (max-width:575px) {
  .article-details{
    margin-top: 15px;
    --space-bottom: 10px;
  }

  .article-details p.m-0 img{
    margin-top: 0;
  }

  .article-details hr{
    margin: 10px 0;
  }

  .article-details.service img{
    border-radius: 14px;
  }

  .article-header h1{font-size:20px;}
  .article-banner{height: 50vw; border-radius: 16px;}

  .vector-group.service img{width: 30vw;}
  .vector-group.service img.icon-1{top: -60px;}
  .vector-group.service img.icon-2{top: 32vw;}

  .article-details h2{font-size: 18px; padding: 15px 0;}
  .article-details h4{font-size: 16px;}
}

/*==================================================
  Portfolio
==================================================*/ 
.nav-buttons {gap:15px}
.nav-buttons .btn{
  --bs-btn-border-width: 1px;
  --bs-btn-border-radius:50px;
  --bs-btn-color: #161616;
  --bs-btn-bg:#fff;
  --bs-btn-border-color:#D4D4D4;

  --bs-btn-hover-color:#fff; 
  --bs-btn-hover-bg:#F3B861;
  --bs-btn-hover-border-color:#E7A441;

  --bs-btn-active-color:var(--bs-btn-hover-color);  
  --bs-btn-active-bg:var(--bs-btn-hover-bg); 
  --bs-btn-active-border-color:var(--bs-btn-hover-border-color); 

  min-width: 162px;
}

.portfolio-lists.main-page{margin-top: -35px;}

.pagination{
  padding: 0;
  margin: 0;
  list-style-type: none;
  justify-content: center;
  align-items: center;
  display: flex;
  gap:12px;
  margin-top: 50px;

  --bg:#EBEBEB;
  --number-bg-hover:#151515;
  --number-text-color:#808080;
  --number-text--hover-color:#FFFFFF;

  --btn-h:40px;
  --btn-w:38px;
}
.pagination a{ 
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--btn-h);
  width: var(--btn-w); 
  color: var(--number-text-color);
  border-radius: 8px; 
  background-color: var(--bg);
  font-size: 16px;
  font-weight: var(--fw-400);
}
.pc .pagination a:hover,
.pagination a.active{
  background-color: var(--number-bg-hover);
  color: var(--number-text--hover-color);
}

.pagination a.disabled{
  opacity: 0.5;
  pointer-events: none;
}

.pagination a.text{
  width:62px;
  padding: 0;
  font-size: 12px;
}
.pc .pagination a.text:hover{
  background-color:#DDDDDD;
  color: #151515;
}
.pagination a.arrow{ border-radius:16px;}
.pagination a.arrow .icons{
  width: 14px;
  height: 14px; 
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23B3B3B3' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.pagination a.arrow.prev{margin-right:5px;}
.pagination a.arrow.next{margin-left: 5px;}
.pagination a.arrow.prev .icons{
  transform: rotate(90deg);
}
.pagination a.arrow.next .icons{
  transform: rotate(-90deg);
}

.pc .pagination a.arrow:hover .icons{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
.article-details.portfolio{padding-top: 10px;}
.article-details.portfolio .row{--bs-gutter-x: 5rem;}

.project-details{
  background-image: url(../img/thumb/bg-dot.png);
  background-position: center center;
  background-repeat: repeat;
  background-size: auto;
  background-color: #000000;
  border-radius: var(--card-border-radius);

  padding:30px;
  display: flex;
  align-items: center;
  justify-content: center;

  height: 100%;

}
.project-details .inner{
  width: 100%;
  max-width: 800px;
}

.project-details p{
  margin: 0;
  font-size: 15px;
  color: #B3B3B3;
}
.project-details h5{ 
  color: #E6E6E6;  
}

.card-photo.project{
  width: 100%;
  height: 309px;
  border-radius: var(--card-border-radius);

}

.card-photo.project .photo{
  width: 100%;
  height: 100%; 
}
.project-gallery {
  --image-space:180px;
  margin-bottom: 20px;
}
.project-gallery .col-5{ width:45.5%; display: flex;} 
.project-gallery .col-7{width:54.5%;}
.project-gallery .card-photo{
  border-radius: var(--card-border-radius); 
  flex-shrink: 0;
  width: 100%;
}
.project-gallery .card-photo:hover .photo{ transform: scale(1.15);}
.project-gallery .card-photo.xs{
  max-width:74% ;
}
.project-gallery .row:nth-child(odd) {align-items: flex-end;}
.project-gallery .row:nth-child(odd) .card-photo:not(.xs){ margin-bottom: var(--image-space);}
.project-gallery .row:nth-child(even){flex-direction: row-reverse;}
.project-gallery .row:nth-child(even) .card-photo.xs{margin-left: auto; margin-bottom: auto;}
.project-gallery .row:nth-child(even) .card-photo:not(.xs){ margin-top: var(--image-space);}
.project-gallery .row{position: relative;}
.project-gallery .row:before{
  content: '';
  position: absolute;
  top: 0;
  
  bottom: 0; 
  
  background-repeat: no-repeat;
  background-image: url(../img/thumb/bg-dot-2.png);
  background-size: auto;

}

.project-gallery .row:nth-child(odd):before{
  left: -80px;
  right: 0;
  background-position: top left;
}
.project-gallery .row:nth-child(even):before{
  right: -80px; 
  left: 0;
  background-position: top right;
}
@media (max-width:1550px) {
  .article-details.portfolio .row{--bs-gutter-x: 4rem;}

  .project-gallery .row:before{
    background-size: 58%;
  }
}

@media (max-width:1440px) {
  .portfolio-lists.main-page{margin-top: -30px;}
  .article-details.portfolio .row{--bs-gutter-x: 3rem;}
  .card-photo.project{height: 280px;}

  .project-gallery {
    --image-space:140px;
  }
}

@media (max-width:1280px) {
  .nav-buttons .btn{
    --btn-h:42px;
    padding: 0 15px;
    font-size: 15px;
    min-width: 145px;
  }
}

@media (max-width:1024px) {
  .pagination{
    margin-top: 30px;
  }
  .article-details.portfolio{padding-top: 0;}
  .article-details.portfolio .row{--bs-gutter-x: 2.5rem;}
}

@media (max-width:991.98px) {
  .nav-buttons{gap:8px}
  .nav-buttons .btn{
    --btn-h:38px;
    padding: 0 20px;
    font-size: 15px;
    min-width: 100px;
    font-size: 14px;
  } 

  .card-photo.project{ margin-bottom:35px;}

  .project-gallery{padding-top: 40px;}
  .project-gallery {
    --image-space:120px;
  }
}

@media (max-width:720px) {
  .project-gallery {
    --image-space:100px;
  }
}

@media (max-width:670px) {
  .nav-buttons{gap:5px}
  .nav-buttons .btn{
    --btn-h:33px;
    padding: 0 20px;
    font-size: 14px;
    min-width: 80px;
    font-size: 14px;
  }

  .portfolio-lists.main-page{margin-top: -25px;}
  .pagination{
    --btn-h: 31px;
    --btn-w: 31px;
    
    
    gap:5px;
  }
  .pagination a{
    font-size: 13px;
    border-radius: 6px;
  }
  .pagination a.text {
    width: 55px;
    padding: 0;
    font-size: 10px;
  }
  .pagination a.arrow {
    border-radius: 12px;
  }
  .pagination a.arrow .icons {
    width: 12px;
    height: 12px;
  }

  .project-gallery {
    --image-space:50px;
  }

  .project-gallery .card-photo.xs{max-width: 100%;}
}

@media (max-width:550px) {
  .pagination{
    --btn-h: 24px;
    --btn-w: 24px;
  }
  .pagination a.arrow {
    border-radius: 8px;
  }
  .card-photo.project{ margin-bottom:25px;}

  .project-details h5{margin-bottom: 0;}
}

/*==================================================
  Article 
==================================================*/ 
.news-lists {
  padding-top: 20px;
}
.news-lists .row{
  --bs-gutter-x:50px;
  --bs-gutter-y:50px;
}


.card-news{
  display: flex;
  flex-direction: column;
  position: relative;
  border-radius: var(--card-border-radius) var(--card-border-radius) 0 0;
 box-shadow: 0px -2px 16px rgba(0, 0, 0, 0.11);

 font-size: 16px;
 font-weight: 200;
 height: 100%;
 overflow: hidden;
}

.card-news h3{
  color: #161616;
  font-size: 21px;
  margin-bottom: 10px;

}
.card-news h3,
.card-news p{
  
  overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.card-news p{margin: 0;}
.card-news .card-photo{
  border-radius: var(--card-border-radius) var(--card-border-radius) 0 0;
  overflow: hidden;
}
.card-news .card-body{
  display: flex;
  flex-direction: column;
  padding: 20px 25px;

}
.card-news .card-footer{
  display: flex; 
  justify-content: space-between;
  align-items: center;
  padding: 0 25px 20px;
}
.card-news .card-footer .btn{
  --btn-h:37px;
  font-size: 13px;
  font-weight: 200;
  padding: 0 15px 0 5px;
}
.card-news .card-footer .btn .icons{
  --icon-size:27px;
  background-image: url(../img/icons/icon-star.png);
}
.card-news .card-hover{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(3px);
  background-color:rgba(231, 164, 65, 0.3);
  transition: all 0.35s;
  opacity: 0;
}
.pc .card-news:hover .card-hover{ 
  opacity: 1;
}
.pc .card-news:hover .photo{transform: scale(1.2);}
.news-lists .row.highlight{
  margin-bottom: 50px;
}
.card-news.xl .card-photo{height:343px;}
.card-news.xl .card-photo img{
  display: none;
}
.card-news.xl .card-photo .photo{
  height: 100%;
  background-position: top center;
} 
@media (max-width:1550px) {
  .card-news {font-size: 15px;}
  .card-news h3{font-size: 20px;}

  .highlight .card-news .card-photo{height: 20vw;} 
}

@media (max-width:1440px) { 
  .news-lists .row{
    --bs-gutter-x:40px;
    --bs-gutter-y:40px;
  }
 
  .card-news h3{font-size:18px;}

  .card-news .card-footer .btn{
    --btn-h:32px;
    font-size: 12px;
    font-weight: 200;
    padding: 0 15px 0 5px;
  }
  .card-news .card-footer .btn .icons{
    --icon-size:24px;
  }
  .card-news .card-body{
    padding-top: 20px;
    padding-bottom:15px;
  }
  .card-news .card-body,
  .card-news .card-footer{
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width:1199px) {
  .news-lists .row{
    --bs-gutter-x:30px;
    --bs-gutter-y:30px;
  }
  .news-lists .row.highlight{margin-bottom: 30px;}
  .card-news {font-size: 14px;}
  .card-news h3{font-size:17px;}

  .card-news .card-footer .btn{
    --btn-h:28px;
    font-size: 11px;
    font-weight: 200;
    padding: 0 10px 0 5px; 
  }
  .card-news .card-footer .btn .icons{
    --icon-size:21px;
  }

  .card-news .card-footer{
    font-size: 12px;
  }
}
@media (max-width:991.98px) {
  .news-lists .row{
    --bs-gutter-x:50px;
    --bs-gutter-y:50px;
  }
  .news-lists .row.highlight{margin-bottom: 50px;}
  .highlight .card-news .card-photo{height: auto;} 
  .highlight .card-news .card-photo img{display: block !important;}
}

@media (max-width:690px) {
  .news-lists .row{
    --bs-gutter-x:25px;
    --bs-gutter-y:25px;
  }
  .news-lists .row.highlight{margin-bottom: 25px;}
}


/*==================================================
  Privacy Policy
==================================================*/ 

.privacy-policy-boxed{
  position: relative;
  width: 100%;
  max-width:1084px;
  margin: -15px auto 0;
}
.privacy-policy-boxed .article-details{ 
  --text-color:#B3B3B3;
  --title-color:#E6E6E6;
  --space-bottom:20px;

  background-color: #000000;
  border-radius: var(--card-border-radius);
  padding:15px 35px 25px;

  width: 100%;  
  position: relative;
  z-index: 10;
}

.vector-group.privacy > img{
  position: absolute;
  z-index: -1;
  width: 310px;
}
.vector-group.privacy > img.icon-1{
  left: -120px;
  top:10px;
}
.vector-group.privacy > img.icon-2{
  right: -120px;
  top:10px;
}

.vector-group.privacy > img.icon-3{
  left: -120px;
  bottom:10px;
}
.vector-group.privacy > img.icon-4{
  right: -120px;
  bottom:10px;
}


@media (max-width:1280px) {
  .privacy-policy-boxed{
    margin-left:40px;
    margin-right: 40px;
    width: auto;
  }
}
@media (max-width:991.98px) {
  .privacy-policy-boxed .article-details{ 
    font-size: 15px;
    --space-bottom:15px;
  }
}
@media (max-width:670px) {
  .privacy-policy-boxed{
    margin-left:20px;
    margin-right:20px; 
  }
}

@media (max-width:575px) {
  .privacy-policy-boxed {
    margin-top: 0;
  }
  .privacy-policy-boxed .article-details{
    padding: 0 20px 20px;
    font-size: 14px;
  }
  .privacy-policy-boxed .article-details h4{
    font-size: 15px;
  }

  .privacy-policy-boxed{
    margin-left:0;
    margin-right:0; 
  }
 
}

/*==================================================
  Contact
==================================================*/ 
.section-body.contact{
  --padding-top:50px;
  --padding-bottom: 50px;
}
.contact-boxed{
  border-radius: var(--card-border-radius);
  position: relative;
  overflow: hidden;
  width: 100%; 

  height: 550px;
}
.contact-boxed .background{
  border-radius: var(--card-border-radius);
  background-image: url(../img/thumb/bg-noise.png);
  backdrop-filter: blur(18px); 
}
 
.contact-boxed .background:after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color:rgba(22, 22, 22, 0.38);
}

.contact-boxed .hgroup{
  padding: 45px 0;
  text-align: center;
  position: relative;
  z-index: 10;
}
.contact-boxed .hgroup p{
  font-size: var(--fs-19);
  font-weight:200;
}
.section.contact .title{
  font-size: 33px;
  color: #fff;
  margin-bottom: 15px;
}

.card-contact{
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: center;
  width: 100%;
  max-width: 234px;
  margin: 0 auto;


}
.card-contact .card-icon{
  display: flex;
  justify-content: center;
  margin-bottom: -45px;
  position: relative;
  top: 0;
  transition: all 0.15s;
}
.card-contact .card-icon .icons{
  --icon-size:90px;
}
.card-contact .card-body{
  border-radius:14px;
  background-color: #fff;
  height: 135px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-contact .card-body p{
  margin:15px 0 0;
  color: #2F2F2F;
  font-size: 25px;
  font-weight: var(--fw-600);
  text-align: center;
  transition: all 0.25s;
}
.card-contact .card-button{
  display: flex;
  justify-content: center;
  margin-top: -22px;
}
.card-contact .card-button .btn{
  --bs-btn-bg:#fff;
  --bs-btn-color:var(--card-color);
  --bs-btn-border-radius:14px;
  --bs-btn-border-width: 1px; 
  --bs-btn-border-color:var(--card-color);
  --bs-btn-hover-bg:var(--card-color);
  --bs-btn-hover-color:#fff;
  --btn:44px;

  font-size: 12px;
  width: 128px;
}

/* .pc .card-contact:hover .card-button .btn{
  background-color: var(--bs-btn-hover-bg);
  color: var(--bs-btn-hover-color);
} */

.pc .card-contact:hover p{color:var(--card-color);}
.pc .card-contact:hover .card-icon{top: -10px;}
.card-contact.call{--card-color:#F67416;}
.card-contact.facebook{--card-color:#1760CE;}
.card-contact.messenger{--card-color:#60A0FF;}
.card-contact.line{--card-color:#15BB26;}

.contact-lists{
  display: block;
  width: 100%;
  max-width:1380px;
  margin: 0 auto;
}

@media (max-width:1550px) {
  .contact-lists{
    padding: 0 40px;
  }
}

@media (max-width:1440px) {
  .contact-boxed .hgroup{padding-bottom:20px;}
  .contact-boxed{height:480px;}
  
  .card-contact{max-width: 210px;}
  .card-contact .card-icon {margin-bottom: -35px;}
  .card-contact .card-icon .icons{--icon-size:80px}
  .card-contact .card-body p{font-size: 22px;}
  .card-contact .card-body{height: 120px;}
  .card-contact .card-button{margin-top: -20px;}
  .card-contact .card-button .btn{--btn-h:40px; width: 110px;}
}

@media (max-width:1280px) {
  .section.contact .title{font-size: 28px;}
  .contact-boxed .hgroup p{font-size: 16px;}
}

@media (max-width:1199px) {
  .contact-boxed{height: auto; padding-bottom:80px;}
  .contact-lists .row{
    --bs-gutter-x: .5rem;
    --bs-gutter-y: 3rem;
  }
}

@media (max-width:750px) {
  .card-contact .card-icon {margin-bottom: -35px;}
  .card-contact .card-icon .icons{--icon-size:70px}
  .card-contact .card-body p{font-size: 20px; margin-top: 10px;}
  /* .card-contact .card-body{height: 120px;}
  .card-contact .card-button{margin-top: -20px;}
  .card-contact .card-button .btn{--btn-h:40px; width: 110px;} */

  .contact-lists{
    padding: 0 20px;
  }
}

@media (max-width:670px) {
  .section.contact .title {
    font-size: 24px;
  }
}
 
/*==================================================
  Contact
==================================================*/ 

.section-contact{
  background-color: #0C0C0C;
  color: #fff;
  padding-top:50px;
  padding-bottom: 0;
  overflow: hidden;
}

.section-contact .title{
  font-size: 33px;
  line-height: 1;
}

.contact-details{
  display: flex;
  margin-top:50px; 
  position: relative;
  padding-bottom:90px;
}

.map-boxed{
  position:relative;
  border-radius: var(--card-border-radius);
  overflow: hidden;
  width:38%;
  height:430px;
}

.map-boxed iframe{
  width: 100%;
  height: 100%;
}

.contact-row{
  display: flex;
  width: 62%; 

  padding-left:8%;
  justify-content: space-between;
}
.contact-row .col-left{
  width: 290px;
}
.contact-row .col-right{
  width: 290px;
}
.contact-details h3{
  font-size: 18px;
  color: #E6E6E6;
  margin-bottom: 12px;
}
.contact-details p{
  font-weight:200;
  color: #B3B3B3;
  font-size: 16px;
  margin-bottom: 10px;
}

.contact-details .link-effect:before{
  background-color: #E6E6E6;
}

.pc .contact-details a:hover {opacity: 0.8;}

.footer-copyright{
  background-color: #000000;
  padding: 15px 0;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 200;
}
.footer-copyright .container{
  display: flex;
  justify-content:space-between;

}
.footer-copyright p{
  margin: 0;
}
.footer-copyright .link-effect:before{
  background-color: #fff;
}

.vector-group.contact img{
  width: 316px;
}
.vector-group.contact .icon-1{
  top: 0;
  left: -245px;
  transform: rotate(-90deg);
}
.vector-group.contact .icon-2{
  bottom: -91px;
  right: -75px;
}
@media (max-width:1480px) {
  .contact-row{padding-left: 6%;}
  .map-boxed{height:380px;}
}

@media (max-width:1280px) {
  .section-contact .title{
    font-size:28px;
  }
}

@media (max-width:1199px) {
  .contact-details{
    flex-direction: column;
  }
  .map-boxed{
    width: 100%;
    height: 290px;
  }
  .contact-row{
    width: 100%;
    padding-top:40px;
    padding-left:0;
  }

  .vector-group.contact img{
    width: 216px;
  }
  .vector-group.contact .icon-1{
    left: -80px;
  }
}


@media (max-width:670px) {
  .section-contact{
    padding-top: 30px;
  }
  .section-contact .title{
    font-size:22px;
  }
  .contact-details{
    margin-top: 30px;
  }
  .contact-details h3{
    font-size: 16px;
  }
  .contact-details p{
    font-size: 14px;
  }

  .footer-copyright{
    font-size: 14px;
  }
}

@media (max-width:575px) {
 
  .contact-row{
    flex-direction: column;
  }
  .contact-row .col-left,
  .contact-row .col-right{
    width: 100%;
  }
  .contact-row .col-right{
    padding-top: 15px;
  }
  .contact-details p{
    margin-bottom: 5px;
  }

  .footer-copyright{
    font-size: 12px;
  }
  .footer-copyright .container{
    flex-direction: column;
    gap:2px
  }

  .contact-details{padding-bottom: 50px;}
}
/*==================================================
  footer
==================================================*/ 

.footer{
  background-color:#000;
  padding: 150px 0;
  color: #fff;
  position: relative;
}

.footer h6{
  font-size: var(--fs-19);
  font-weight: var(--fw-200);
  margin-bottom: 15px;
}
.footer p{
  font-size: var(--fs-19);
  font-weight: 200;
  color: #9E9E9E;
  margin-bottom:12px;
}
.footer p small{
  font-size: var(--fs-16);
  color: #9E9E9E;
}
.footer a.underline{text-decoration: underline;}
.footer-group{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; 
}
.footer-group .footer-infos{
  flex-direction: column;
  display: flex;  
}
.footer-infos .tel{
  margin: -20px 0 0 ;
}
.footer-infos .tel a{
  display: flex;
  gap:14px;
  align-items: center;
  font-size: 35px;
  font-weight: 400;
  color: #fff;
}
.footer-infos .tel .icons{
  --icon-size:23px;
}
.pc .footer-infos .tel a:hover{
  color: var(--yellow);
}
.pc .footer-infos .tel a:hover path{
  fill: var(--yellow);
}
.line-button{
  padding: 10px 0;
}
.line-button a{display: inline-block;}
.line-button img{
  height:auto;
  width: 194px;
}
.nav-footer{
  flex-direction: column;
}
.nav-footer li{
  margin: 6px 0;
  position: relative;
  overflow: hidden;
}
.nav-footer li a{
  font-size: var(--fs-66);
  line-height: 1.2;
  font-weight: var(--fw-500);
  display: inline-block;
}
.nav-footer li a:hover{color: var(--yellow);}

@media (max-width:1440px) {
  .footer-infos .tel{
    margin-top: -15px;
  }
  .footer-infos .tel a{
    font-size: 30px;
  }
}

@media (max-width:1280px) {
  .footer{
    padding: 100px 0;
  }
  .footer p{margin-bottom: 8px;}
  .footer p small{font-size: 14px;}
}
@media (max-width:670px) {
  .footer{
    padding:80px 0;
  }
  .footer h6{
    font-size: 16px;
  }

  .line-button img{width: 160px;}
  .footer-infos .tel{margin-top: 0;}
  .footer-infos .tel a{font-size: 23px;}
  .footer-infos .tel .icons{--icon-size:19px}
}
@media (max-width:575px) {
  .footer-group{
    flex-direction: column;
  }
  .nav-footer{
    margin-bottom: 25px;
  }
  .footer {
    padding: 40px 0;
  }
  .nav-footer li{margin:2px 0;}
  .footer p{margin-bottom: 5px;}
  .footer p.mt-auto{margin-top: 20px !important;}

  .footer h6{font-size: 15px;}
  .footer-infos .tel a{gap:10px}
}
