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

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

body{

  margin:0;
  padding:0;

  position: relative;
  overflow-x: hidden;

  /* overscroll-behavior: contain; */
}

:root {

  --bs-body-color:#8D93A5;
  --bs-body-bg:#fff;
  --bs-body-text-align:left;
  --bs-body-font-weight:var(--fw-400);
  --bs-body-line-height:1.65;
  --bs-body-font-size:var(--fs-16);
  --bs-body-font-family:"IBM Plex Sans Thai", sans-serif;
  --bs-link-hover-color:inherit;

  --purple:#5A318F;
  --green:#14908F;
  --green-light:#41A81A;
  --green-medium:#00A261;
  --yellow:#FBBE22;

  --alert-green:#00DD9C;
  --alert-green-light:#E6FCF5;
  --alert-red:#FF3E40;
  --alert-red-light:#FFECEC;

  --fs-54:54px;
  --fs-36:36px;
  --fs-32:32px;
  --fs-28:28px;
  --fs-25:25px;
  --fs-24:24px;
  --fs-23:23px;
  --fs-22:22px;
  --fs-20:20px;
  --fs-18:18px;
  --fs-16:16px;
  --fs-15:15px;
  --fs-14:14px;
  --fs-12:12px;

  --body-rgb-a:1;
  --rgb-white:255,255,255;

  --color-primary:var(--blue-light);
  --card-border-radius:22px;

  --animation-primary: 0.4s cubic-bezier(.75, 0, .25, 1);
  --animation-navigation-fade: 0.3s ease-in-out;

  --header-toppage:100px;
  --header-menu:75px;
  --header-height:calc(var(--header-toppage) + var(--header-menu));
  --navbar-brand:120px;

  --header-scrolling-toppage:65px;
  --header-scrolling-menu:65px;
  --navbar-brand-scrolling:80px;
  --header-scrolling-height:calc(var(--header-scrolling-toppage) + var(--header-scrolling-menu));

  --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:1700px) {
  :root{}
}
@media (max-width:1550px) {
  :root{
    --padding-90:70px;
  }
}

@media (max-width:1400px) {
  :root{
    --header-toppage:80px;
    --header-menu:65px;
    --navbar-brand:100px;

    --fs-25:var(--fs-24);
    --fs-24:22px;
    --fs-32:28px;
    --fs-36:32px;
  }
}

@media (max-width:1199px) {
  :root{
    --header-menu:55px;
    --header-scrolling-menu: 55px;

  }

}

@media (max-width:991.98px){
  :root{
    --header-toppage:100px;
    --header-height:var(--header-toppage);
    --navbar-brand:110px;

    --fs-20:18px;
    --fs-18:16px;
    --fs-16:15px;
  }

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

    --header-toppage:80px;
    --navbar-brand:80px;


    --fs-36:28px;
    --fs-32:24px;
    --fs-24:20px;
    --fs-15:14px;

  }
}

@media (max-width:575px) {
  :root{
    --fs-36:25px;
    --fs-32:22px;
    --fs-24:18px;
    --fs-22:18px;
  }
}

.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:var(--alert-red) }
.highlight{color: var(--green) !important;}
.text-primary{color: var(--green) !important;}
.text-black{color: #2A2A32 !important;}

.form-control,
.form-select,
.form-selects{
  --input-h:48px;
 -webkit-appearance: none;
  padding:0 15px;

  font-weight:var(--fw-400);
  font-family:inherit;
  border:1px solid #F0F0F0;

  height:var(--input-h);
  line-height:calc(var(--input-h) - 0px);
  background-color:#F9F9F9;
  border-radius:12px;
  color: #1F1F1F;
  font-size: var(--fs-15);

    -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.bg-white,
.form-select.bg-white,
.form-selects.bg-white{
  background-color: #fff;
}
.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],
.form-select.disabled,
.form-select:disabled,
.form-select[readonly] {
background-color: #F9F9F9 !important;
border-color: #F0F0F0;
color: #8D93A5;
}

.form-control.bg-light{
  background-color: #F4F7FE!important;
  border-color: #F4F7FE!important;
}
.form-control.bg-light:focus{
  border-color:var(--green)!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='%23222222' 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: 15px;
  background-repeat: no-repeat;
}

.form-control:focus,
.form-select:focus{
  background-color: #fff;
  outline: 0;
  box-shadow:none;
  border-color: var(--purple);
}
textarea.form-control{
  height: 120px;
  line-height: normal;
  padding-top: 10px;
}
textarea.form-control.h-200{height: 180px;}

.form-select:not(.selected){color: rgba(0, 0, 0, 0.5);}

div.form-control{
  display: flex;
  align-items: center;
  gap:10px
}

.form-check {
  position: relative;
  padding-left:0;
  display: flex;
  gap: 10px;
}
.form-check strong{font-weight: var(--fw-500);}
.form-check .form-check-input{
  width:24px;
  height:24px;
  margin-right: 0;
  border-width: 1px;
  position: relative;
  margin-left:0;
  margin-top: 0;
  border-radius:5px;
  flex-shrink: 0;
  border-color:#D6D6D6;
  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='%235FC9FD'/%3e%3c/svg%3e");
  border-color: #5FC9FD;
}
.form-check label{
  margin-bottom:0;
  font-weight: var(--fw-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-image: 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='2' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-color:var(--alert-green);
  border-color:var(--alert-green);
}
.form-switch{min-height: 0 !important; }
.form-switch .form-check-input{
  width: 48px !important;
  border-radius: 50px;
}
.form-switch .form-check-input[type=checkbox]{
  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='%23ccc'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked[type=checkbox]{
  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='%23fff'/%3e%3c/svg%3e");
  background-position:center right;
  background-color:#3B72FF;
  border-color:#3B72FF;
}
.form-switch.style-2 .form-check-input:checked[type=checkbox]{
  background-color:#00DD9C;
  border-color:#00DD9C;
}
.form-switch .form-check-label{
  font-size: 14px;
  color: #A3AED0;
}
.form-switch .form-check-label  > span:nth-child(1){display: none;}
.form-switch .form-check-label  > span:nth-child(2){display: block;}
.form-switch .form-check-input:checked + .form-check-label  > span:nth-child(1){display: block;}
.form-switch .form-check-input:checked + .form-check-label  > span:nth-child(2){display: none;}
.form-select [data-bs-toggle]{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  gap:5px;
  padding-top: 2px;
  opacity: 0.5;
  outline: 0 !important;
  color:#222222;
}

.form-check.no-text{
  gap:0;
  height: 16px;
  width: 16px;
}
.form-select [data-bs-toggle].selected{opacity: 1;}
.form-select [data-bs-toggle] .icons{top: -2px;}

.form-check.normal .form-check-input {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border-width: 2px;
  background-color: #F4F5F7;
}
.form-check.normal .form-check-input:checked[type=checkbox]{
  background-color:#3B72FF;
  border-color:#3B72FF;
}
.form-check.normal label{
  font-weight: var(--gw-500);
  color: #2B3674;
}
.form-group{
  display: block;
  position: relative;
  z-index: 10;
}

.form-group label.title{
  padding-bottom:5px;
  font-size: inherit;
  color: #1F1F1F;
  font-weight: var(--fw-600);
}
.form-group label.title small{
  font-size: var(--fs-14);
  font-weight: var(--fw-400);
  color: #5D6A85;
}
.form-group span.error{
  color:#DF1642;
  padding-top: 5px;
  /* margin-top: -15px;  */
  display: block;
}

.form-group .group{
  position: relative;
  display: block;
}
.form-group .icons.left,
.form-group .icons.right{
  position: absolute;
  top: 0 !important;
  right: 11px;
  bottom: 0 !important;
  width:20px;
  height: auto;

  transition: none;
  z-index: 1;
}

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

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

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

.form-group .icon-eye{
  background-image: url(../img/icons/icon-eye-off.svg);
  height: 48px;
  bottom: auto !important;
  cursor: pointer;
}
.form-group .icon-eye.on{
  background-image: url(../img/icons/icon-eye.svg);
}
.form-group .icon-calendar{
  background-image: url(../img/icons/icon-calendar.svg);
}
select.form-select.error{display: none !important;}

.form-group.rows{
  display: flex;
  flex-direction:row;
  gap:14px;
  align-items: center;
}
.form-group.rows label.title{
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  font-weight: var(--fw-500);
}
.btn{
  --btn-h:56px;
  position: relative;
  padding:0 20px;
  height:var(--btn-h);
  line-height:calc(var(--btn-h) - 1px);
  transition: all 0.25s ease-in-out;
  font-weight: var(--fw-500);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-16);
  gap:5px;
  max-width: var(--max-width);
  --max-width:none;
  --bs-btn-border-width:0;
  --bs-btn-border-radius:12px;

  --bs-btn-color:#fff;
  --bs-btn-bg:var(--green);
  --bs-btn-hover-color:var(--bs-btn-color);
  --bs-btn-hover-bg:#1f1f1f;
  --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,
.btn .icons{
  position: relative;
  z-index: 10;
}
.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 .icons:first-child{
  margin-left: -5px;
}

.btn-primary{
  box-shadow: 0px 20px 30px -10px rgba(20, 144, 143, 0.15), 0px 10px 10px -5px rgba(20, 144, 143, 0.12);
}
.btn-primary:hover,
.btn-primary:focus{
  box-shadow: 0px 20px 30px -10px rgba(31, 31, 31, 0.15), 0px 10px 10px -5px rgba(31, 31, 31, 0.12);
}

.btn-danger{
  --bs-btn-color:#fff;
  --bs-btn-bg:#FF3E40;
  box-shadow: 0px 20px 30px -10px rgba(255, 62, 64, 0.15), 0px 10px 10px -5px rgba(255, 62, 64, 0.12);
}
.btn-danger path[stroke]{stroke:#fff !important; fill: none;}
.btn-danger:hover path[stroke]{stroke:#fff; fill: none}
.btn-danger path[fill]{fill:#fff !important;}
.btn-danger:hover path[fill]{fill:#fff;}

.btn-purple{
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--purple);
}
.btn-purple path[stroke]{stroke:#fff !important;}
.btn-purple:hover path[stroke]{stroke:#fff;}

.btn-light{
  --bs-btn-color:#2A2A32;
  --bs-btn-bg:#62E5E4;
  --bs-btn-hover-color:#fff;
  box-shadow: 0px 20px 30px -10px rgba(20, 144, 143, 0.15), 0px 10px 10px -5px rgba(20, 144, 143, 0.12);
}
.btn-light path[stroke]{stroke:#2A2A32 !important;}
.btn-light:hover path[stroke]{stroke:#fff!important;}


.btn-outline-white{
  --bs-btn-border-width:1px;
  --bs-btn-color:#fff;
  --bs-btn-bg:rgba(255, 255, 255, 0.1);
  --bs-btn-border-color:#fff;

  --bs-btn-hover-bg:#fff;
  --bs-btn-hover-color:var(--green);
  --bs-btn-hover-border-color:var(--bs-btn-border-color);
  --bs-btn-active-color:var(--bs-btn-hover-color);
  --bs-btn-active-border-color:var(--bs-btn-border-color);
}
.btn-outline-white:hover path{fill: var(--green);}

.btn-outline{
  --bs-btn-border-width:1px;
  --bs-btn-color:var(--green);
  --bs-btn-bg:#fff;
  --bs-btn-border-color:var(--green);

  --bs-btn-hover-bg:var(--green);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-border-color:var(--bs-btn-border-color);
  --bs-btn-active-color:var(--bs-btn-hover-color);
  --bs-btn-active-border-color:var(--bs-btn-border-color);
}
.btn-outline path[stroke]{stroke:var(--green) !important;}
.btn-outline:hover path[stroke]{stroke:#fff !important;}

.btn-outline.text-black:hover{ color:#fff !important;}
.btn-outline.text-black path[stroke]{stroke:#2A2A32 !important;}
.btn-outline.text-black:hover path[stroke]{stroke:#fff !important;}

.btn-link.white{
  --bs-btn-hover-bg:transparent;
  --bs-btn-hover-color:#fff;
  font-weight: var(--fw-500);
  text-decoration: none;
}
.btn-link.white .link-effect{
  margin: auto;
  height: auto;
  line-height: 1.6;
}
.btn-link.white .link-effect:before{
  background-color: #fff;
}
.btn-link.white:hover .link-effect:before {
  transform: scaleX(1) rotate(0.001deg);
  transform-origin: left;
}

.btn.btn-xl{--btn-h:72px; padding-left: 25px; padding-right: 25px; gap:10px}
.btn.btn-md{--btn-h:42px;}
.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.rounded{border-radius: 100px !important;}
.buttons{
  display: flex;
  text-align: center;
  justify-content: center;
  gap:25px;
  padding: 30px 0 0;
}

.buttons.rows{
  gap:15px;
}

.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{
 transition: all 0.2s ease-in-out;
}

@media (max-width:1280px){
  .btn.btn-xl{
    --btn-h:65px;
  }

}

@media (max-width:991.98px){
  .form-check .form-check-input{
    width:20px;
    height:20px;
  }
  .form-check-input:checked[type=checkbox]{
    background-size:18px;
  }

  .form-check.normal .form-check-input {
    width:18px;
    height:18px;

    border-radius: 4px;
  }

  .form-switch .form-check-input{
    width: 40px !important;
  }
}

@media (max-width:690px){
  .btn.btn-xl{
    --btn-h:55px;
  }
  .btn{--btn-h:50px;}
}

/*==================================================
    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:24px;
  flex-shrink: 0;
  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-14{--icon-size:14px;}
.icons.w-18{--icon-size:18px;}
.icons.w-20{--icon-size:20px;}
.icons.w-32{--icon-size:32px;}

.container-fluid{
  --padding-x:80px;
  max-width:1720px;
  padding-left:var(--padding-x);
  padding-right:var(--padding-x);
  position: relative;
  z-index: 9;
}

.container{
  --padding-x:100px;
  max-width: calc(1220px + (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);  */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.section{
  display: block;
  position: relative;
  flex: 1 1 auto;
  --padding-top:65px;
  --padding-bottom:65px;

  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:1440px) {
  .container-fluid{
    --padding-x:40px;
  }
  .container{
    --padding-x:80px;
  }
}
@media (max-width:1199px) {
  .container-fluid,
  .container{
    --padding-x:40px;
  }

}

@media (max-width:1024px) {
  .container-fluid{
    --padding-x:30px;
  }
  .container{
    --padding-x:50px;
  }
}
@media (max-width: 991.98px) {

}

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

  .section{
    --padding-top:40px;
    --padding-bottom:40px;
  }
}

/*==================================================
    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;}

b, strong{
  font-weight: var(--fw-600);
  font-family: inherit;
}
.text-danger{color: var(--alert-red) !important;}
.text-warning{color: #FBBE22 !important;}
.fs-28{font-size: var(--fs-28) !important;}
.fs-25{font-size: var(--fs-25) !important;}
.fs-24{font-size: var(--fs-24) !important;}
.fs-22{font-size: var(--fs-22) !important;}
.fs-20{font-size: var(--fs-20) !important;}
.fs-18{font-size: var(--fs-18) !important;}
.fs-16{font-size: var(--fs-16) !important;}
.fs-15{font-size: var(--fs-15) !important;}
.fs-14{font-size: var(--fs-14) !important;}
.fs-12{font-size: var(--fs-12) !important;}
.fs-10{font-size: var(--fs-10) !important;}
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6{
  margin:0;
  font-weight:var(--fw-700);
  font-style: normal;
  line-height:1.5;
  position: relative;
  color: #1f1f1f;
}

h1,.h1{
  font-size:var(--fs-36);
}
h2,.h2{
  font-size:var(--fs-32);
}
h3,.h3{
  font-size:var(--fs-25);
}
h4,.h4{
  font-size:var(--fs-23);
}
h5,.h5{
  font-size:var(--fs-20);
}
h6,.h6{
  font-size:var(--fs-18);
}
.nowrap{ white-space: nowrap; }

.header,
.navbar-brand,
.navbar-brand img,
.navbar-toppage,
.navbar-menu{
  transition: all 0.3s;
}
.header{
  position: fixed;
  top: 0;
  left:0;
  right: 0;

  height: auto;
  z-index: 1020;
  display: block;
  height: var(--header-height);
  background-color:#fff;
  box-shadow:0px -1px 36.7px rgba(0, 0, 0, 0.13);
}

.header .container,
.header .container-fluid{
  display: flex;
  align-items:center;
  height: 100%;
  z-index: 400;
  position: relative;
  justify-content: space-between;
}

.navbar-brand{
  padding: 0;
  flex-shrink: 0;
  z-index: 200;
  width: var(--navbar-brand);

}

.navbar-brand a{
  display: block;
}
.navbar-brand img,
.navbar-brand svg{
  height: auto;
  width: 100%;
  margin: 0;
}

.dropdown [data-bs-toggle]{
  display: flex;
  align-items: center;
  gap:5px
}
.dropdown [data-bs-toggle]:after{
  content: '';
  width: 24px;
  height: 24px;
  margin-left:0px;
  background-position:center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icons/icon-arrow-down.svg);
}
.dropdown-menu{
  --bs-dropdown-border-radius:10px;
  --bs-dropdown-menu-border-radius:5px;
  --bs-dropdown-border-color:#fff;
  --bs-dropdown-bg:#fff;
  --bs-dropdown-color:#222;
  --bs-dropdown-padding-x:15px;
  --bs-dropdown-padding-y:5px;
  --bs-dropdown-spacer:0;
  --bs-dropdown-min-width:0;
  --bs-dropdown-link-hover-bg:rgba(0, 0, 0, 0.05);
  --bs-dropdown-border-width:0;

  opacity: 0;
  display: block;
  pointer-events: none;
  transition: all 0.35s;
  top: 110%;
  box-shadow: 0 5px 8px rgba(45, 82, 114, 0.1);
  padding: 10px 0;
  width: auto;
}
.dropdown-menu.right{
  left: auto;
  right: 0;
}
.dropdown:hover .dropdown-menu,
.dropdown .dropdown-menu.show{
  opacity: 1;
  top: 100%;
  pointer-events: all;
}

.dropdown-menu > li{
  position: relative;
  z-index: 10;
}

.dropdown-menu > li > a{
  display: block;
  position: relative;
  padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
}
.dropdown-menu > li > a:hover{
  background-color: rgba(20, 144, 143, 0.05);
}
.btn.btn-icon,
.navbar-slider{display: none;}

.nav-general{
  gap:20px;
  /* height:56px; */
  align-items: center;
}
.nav-general > li > a:not(.btn){
  height: 100%;
  color: #15244B;
  font-weight: var(--fw-500);
}
.nav-general.before-login,
.nav-general.after-login {gap:15px}
.nav-general.before-login .btn{
  min-width: 120px;
  padding: 0 20px;
  --btn-h:48px;
}

.nav-general .btn{--btn-h:48px;}

@keyframes trin {

  from {
      transform:rotate3d(0, 0, 1, 0deg);
  }
  20%, 32%, 44%, 56%, 68% {
      transform: rotate3d(0, 0, 1, 0deg);
  }
  23%, 35%, 47%, 59%, 71% {
      transform: rotate3d(0,0,1,15deg);
  }
  26%, 38%, 50%, 62%, 74% {
      transform: rotate3d(0,0,1,0deg);
  }
  29%, 41%, 53%, 65%, 77% {
      transform: rotate3d(0,0,1,-15deg);
  }
  80% {
      transform:rotate3d(0, 0, 1, 0deg);
  }

}


.nav-lang .flag{
  width: 18px;
  height: 18px;
  margin-right: 4px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.nav-lang .flag-th{
  background-image: url(../img/icons/flag-th.png);
}
.nav-lang .flag-en{
  background-image: url(../img/icons/flag-en.png);
}
.nav-lang .dropdown-menu {
  width: 100%;
}
.nav-lang .dropdown-menu a{
  display: flex;
  align-items: center;
  font-size: 14px;
  gap:5px;
}
.nav-lang .dropdown-menu .flag{
  width: 16px;
  height: 16px;
}

.navbar-toppage .nav-user-mobile{display: none;}


@media (min-width:992px) {
  .navbar-toppage{
    height: var(--header-toppage);
    background-color: #fff;
    position: relative;
    z-index: 100;
  }
  .navbar-menu{
    height: var(--header-menu);
    background-color: var(--green);
    position: relative;
    z-index: 10;
  }

  .scrolling .header{
    height: var(--header-scrolling-height);
  }
  .scrolling .navbar-toppage{
    height:var(--header-scrolling-toppage);
  }
  .scrolling .navbar-menu{
    height:var(--header-scrolling-menu);
  }
  .scrolling .navbar-brand{
    width:var(--navbar-brand-scrolling)
  }
  .scrolling .nav-general.after-login .btn{  --btn-h:48px;}
  .nav-main{
    display: flex;
    --nav-main-h:56px;
  }
  .nav-main > li > a{
    display: flex;
    align-items: center;
    /* padding: 0 20px; */
    padding: 0 15px;
    color: #fff;
    height: var(--nav-main-h);
  }
  .nav-main > li:first-child > a{padding-left: 0;}
  .nav-main > li.active > a{
    font-weight: var(--fw-600);
    /* pointer-events: none; */
  }
  .nav-main > li > a:hover{opacity: 0.7;}

  .nav-general .btn .username{
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
  }

  .navbar-menu .dropdown [data-bs-toggle]:after{
    background-image: url(../img/icons/icon-arrow-down-white.svg);
  }

  .navbar-menu .nav-general{min-height: 48px;}
  .navbar-menu .nav-general li{height:100%;}

  .dropdown-menu.user{
    width: auto;
    white-space: nowrap;
    left: auto;
    right: 0;
    font-size: 15px;
  }
}
@media (min-width:1340px) {
  .nav-user-mobile{display: none !important;}
}


/* @media (min-width:1501px) {
  .nav-main > li > a{
    padding: 0 30px;
  }

} */

/*==================================================
   Mobile
==================================================*/

@media (max-width:1280px) {
  .nav-general .btn .username{max-width: 120px;}
}

@media (min-width: 1340px) {
    .d-xl-flex-custom {
        display: flex !important;
    }
}

@media (max-width:991.98px) {
  .navbar-menu{display: none;}
  .navbar-toppage{
    height: var(--header-toppage);
    background-color: #fff;
    position: relative;
    z-index: 100;

    border-top: 5px solid var(--green);
  }
  .dropdown-menu.user{
    width: auto;
    white-space: nowrap;
    left: auto;
    right: 0;
    font-size: 15px;
  }
  .nav-user-mobile > a{gap:0 !important}
  .nav-user-mobile .icons path{fill: var(--green);}

  .nav-general > li{height: 100%;}

  .nav-general .dropdown [data-bs-toggle]:after{
    width: 18px;
    height: 18px;
  }

  .navbar-toppage .nav-user-mobile{display: block;}

  /**/

  .btn.btn-icon{
    padding: 0 !important;
    border:0 !important;
    z-index: 1060;
    border-radius: 0;
    position: relative;
    margin: auto 0 auto 0;
    width: auto;
    height: 100%;
    background-color:transparent !important;
    overflow: visible;
    --bs-btn-bg:transparent;
    box-shadow: none;
    opacity: 1 !important;
    display: flex;
    gap:12px;
    box-shadow: none !important;
  }

  .btn-icon:before,
  .btn-icon:after{display: none;}
  .btn-icon .group{
    display: block;
    position: relative;
    width:28px;
    height:18px;
    margin: 0 auto 0
  }
  .btn-icon .group span{
    height: 3px;

    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:var(--green);
    transition: all 0.25s ease-in-out;
    border-radius: 5px;
  }


  .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)
  }
  .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(6px, 6px, 0);
    transform: rotate(45deg) translate3d(6px, 6px, 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(6px, -6px, 0);
    transform: rotate(-45deg) translate3d(6px, -6px, 0)
  }

  .navbar-slider {
    --navbar-width:100vw;
    --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: var(--green);
      align-items: normal;
      -ms-flex-align: normal;

      opacity: 0;
      height: 0;
      display: flex;
      flex-direction: column;
      transition: all 0.6s;

  }

  .nav-opened .header {
      pointer-events: none;
  }

  .nav-opened .navbar-slider {
    pointer-events: all;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100) !important;
    opacity: 1;
  }
  .nav.mainmenu {
      position: static;
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width:440px;
      margin: auto auto;
      text-align: center;
  }
  .nav.mainmenu li {
      display: block;
      position: static;
      position: relative;
      z-index: 100;

      transition: all 1s;
      opacity: 0;
  }
  .nav.mainmenu > li > a {
      padding:20px 0;
      font-size: 20px;
      height: auto!important;
      line-height: normal !important;
      display: block;
      position: relative;
      color: #fff;
      outline: 0 !important;
  }
  .nav.mainmenu > li > a:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 48%,rgba(255,255,255,0) 100%);

    opacity: 0.3;
  }
  .nav-opened .nav.mainmenu li{opacity: 1;}
  .nav-opened .nav.mainmenu li:nth-child(1) {transition-delay: 0.2s;}
  .nav-opened .nav.mainmenu li:nth-child(2) {transition-delay: 0.25s;}
  .nav-opened .nav.mainmenu li:nth-child(3) {transition-delay: 0.3s;}
  .nav-opened .nav.mainmenu li:nth-child(4) {transition-delay: 0.35s;}
  .nav-opened .nav.mainmenu li:nth-child(5) {transition-delay: 0.4s;}
  .nav-opened .nav.mainmenu li:nth-child(6) {transition-delay: 0.45s;}

  .navbar-slider .btn-icon{
    position: absolute;
    top: 25px;
    right: 20px;
    height: auto;
  }
  .navbar-slider .btn-icon .group span:before{background-color: #fff;}
}

@media (max-width:575px) {
  .nav-general{
    gap:10px;
  }

  .nav.mainmenu > li > a {
    font-size: 18px;
    padding: 15px 0;
  }

  .nav.mainmenu{max-width:280px;}
}

/*==================================================
   Section
==================================================*/

.page{
  display: flex;
  position: relative;
  overflow: hidden;
  padding-top: var(--header-height);
  flex-direction: column;
  min-height: 100%;
  background-color: var(--bg);
  --bg:#fff;
}
.page.bg-light{
  background-color: #F4F7FE !important;
}
.preload{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color:#fff;
  z-index: 1090;
  display:flex;
}

.loader {
  width: 34px;
  height:34px;
  margin:  auto;
  display: block;
  border-top: 3px solid var(--color-primary);
  border-right: 3px solid rgba(0, 0, 0, 0.2);
  border-bottom: 3px solid rgba(0, 0, 0, 0.2);
  border-left: 3px solid rgba(0, 0, 0, 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;
}

.card{
  position: relative;
  --bs-card-border-width:0;
}
.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-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;
  flex: unset;
}

.section-body{
  flex: 1 1 auto;
  --padding-top:40px;
  --padding-bottom:40px;
  /* 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:1;}

.link-purple{
  color: var(--purple);
}
.link-underline{
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.link-purple:hover{color: var(--green);}
.link-underline:hover{
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
@media (max-width:575px) { }

/*==================================================
Sign up / Sign in
==================================================*/
.row .cols{
  --width:100%;
  width: var(--width);
}
.section-column {
  --padding-top:35px;
  --padding-bottom:35px;
}
.section-column > div > .row-main{
  --bs-gutter-x:30px;
  --bs-gutter-y: 0;
}
.section-column .col-photo{
  --width:42%;
}
.section-column .col-photo img{
  border-radius: 32px;
}
.section-column .col-form{
  width:58%;
}

.card-form{
  --bs-card-border-width:0;
  --bs-card-border-radius:32px;
  --bs-card-width:700px;
  color: #1F1F1F;
}
.card-form.main{height: 100%;}
.card-form{margin-bottom: 10px;}
.card-form .card-header{
  background-color: transparent;
  border: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  padding:10px var(--bs-card-spacer-x) 10px;
}

.card-form.main .card-header{padding-top: 65px;}

.card-form .card-header,
.card-form .card-body{
  width: 100%;
  max-width: calc(var(--bs-card-width) + 100px);
  margin: 0 auto;
  padding-left:50px;
  padding-right:50px;
}
.card-form .card-body{
  padding-bottom: 40px;
}
.card-form .card-body.w-100{
  --bs-card-width:100%
}
.card-form .card-body.mw-1000{
  --bs-card-width:1000px;
}
.card-form .buttons.flex-column{
  gap:30px;
  width: 100%;
  max-width: 450px;
  margin:5px auto;
}
.card-form .goback {
  position: absolute;
  top: 25px;
  left: 25px;
}
.goback a{
  display: flex;
  align-items: center;
  gap:8px;
  color: #565C6E;
  font-size: var(--fs-18);
}
.goback .icons{left: 0; top: -1px;}
.goback a:hover .icons{left: -5px;}

@media (max-width:1199px) {
  .section-column > div > .row-main {
    --bs-gutter-x:20px;
  }

  .card-form .card-header, .card-form .card-body{
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width:1024px) {
  .section-body{
    --padding-top:30px;
    --padding-bottom:30px;
  }
  .card-form{
    --bs-card-border-radius: 25px;
  }

  .card-form .card-header, .card-form .card-body{
    padding-left: 30px;
    padding-right: 30px;
  }

  .section-column .col-photo img{
    border-radius: 25px;
  }
}

@media (max-width:991.98px) {
  .section-column {
    --padding-top: 30px;
    --padding-bottom: 30px;
  }
  .section-column .col-photo,
  .section-column .col-form{
    width: 100%;
  }

  .section-column .col-photo{
    height: 50vw;
  }
  .section-column .col-photo img{
    height: 100%;
    object-position: center center;
    object-fit: cover;
  }

  .section-column > div > .row-main {
    --bs-gutter-y:20px;
  }
}


@media (max-width:575px) {
  .section-body{
    --padding-top:20px;
    --padding-bottom:20px;
  }
  .section-column {
    --padding-top: 20px;
    --padding-bottom: 20px;
  }
  .section-column > div > .row-main {--bs-gutter-y:15px;}
  .card-form .buttons.flex-column{
    gap:20px;
    padding: 20px 0 0;
    margin-top: 0;
  }
  .card-form .card-header{padding-bottom: 0; padding-top: 0;}
  .card-form.main .card-header{padding-top: 25px;}
  .card-form .card-header, .card-form .card-body {
    padding-left:20px;
    padding-right:20px;
  }
  .card-form .card-body {
    padding-top: 5px;
    padding-bottom: 25px;
  }
  .section-column .col-photo img{border-radius: 18px;}
  .card-form {--bs-card-border-radius: 18px;}
  .card-form .goback {
    top: 15px;
    left: 20px;
  }
  .goback a{
    gap:5px;
    font-size: 14px;
  }

  .goback .icons{
    --icon-size:20px;
  }
  .card-form .goback + .h2{margin-top: 10px;}
  .card-form .buttons.flex-column{padding-top: 5px;}
}

/*==================================================
Questionnaire
==================================================*/

.nav-form-step{
  --max-width:100%;
  gap:0;
  justify-content:space-between;
  width: var(--max-width);
  margin: 10px auto 0;
  position: relative;
  flex-wrap: unset;
}
.nav-form-step li{
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
  display: flex;
}
.nav-form-step li a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap:10px;
  pointer-events: none;
  padding: 10px 15px;
  margin: auto;
  background-color: #fff;
  z-index: 100;
  position: relative;
}

.nav-form-step li:before,
.nav-form-step li:after{
  content: '';
  position: absolute;
  top: 50%;
  width: 50%;
  border-top: 1px dashed #D6D6D6;
}
.nav-form-step li:before{left:0}
.nav-form-step li:after{right: 0;}

.nav-form-step li:first-child:before,
.nav-form-step li:last-child:after{display: none;}

.nav-form-step li.done:after{
  border-color: var(--alert-green);
}
.nav-form-step li.done + li:before{border-color: var(--alert-green);}
.nav-form-step .icons{
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #D6D6D6;
  background-color: #fff;
}
.nav-form-step h6{
  color: #8D93A5;
  font-weight: var(--fw-400);
  font-size:var(--fs-16);
}
.nav-form-step h6 .number{display: none;}
.nav-form-step li.done:not(.active) a{
  pointer-events: all;
}
.nav-form-step li.done h6{
  color: var(--alert-green);
  font-weight: var(--fw-500);
}
.nav-form-step li.done .icons{
  border-color: var(--alert-green);
  background-color: var(--alert-green);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.questionnaire-lists,
.questionnaire-lists ul{
  display: flex;
  flex-direction: column;
  gap:25px;
  padding: 0;
  margin: 0;
  list-style-type: none;
  color: #1F1F1F;
}
.questionnaire-lists ul{
  padding-left:60px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.questionnaire-lists .row{
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1.2rem;
}
.questionnaire-lists .row strong{line-height: 1.3;display: inline-block;}

.questionnaire-lists .form-control{font-size: 15px;}
.cols.w-215{
  --width:235px;
}
.cols.w-215 + .cols{
  width: calc(100% - 235px);
}

.questionnaire-lists .buttons{
  margin-top: 0 !important;
  padding-top: 10px;
}

.text-error{
  color: var(--alert-red);
  font-size: var(--fs-14);
  margin: 10px 0 0;
}
.alert{
  --width:100%;
  margin: 0 auto;
  width: 100%;
  max-width: var(--width);
  --bs-alert-border-radius:16px;
}
.alert-danger{
  --bs-alert-color:var(--alert-red);
  --bs-alert-bg: #FFF5F5;
  --bs-alert-border-color: #FFF5F5;
  --bs-alert-padding-x: 0.75rem;
  --bs-alert-padding-y: 0.75rem;

  gap:10px
}
.alert-info{
  --bs-alert-color:var(--green);
  --bs-alert-bg: rgba(20, 144, 143, 0.05);
  --bs-alert-border-color: var(--green);
  --bs-alert-padding-x:1rem;
  --bs-alert-padding-y:1rem;
  --bs-alert-border-radius:16px;
  gap:10px;

}
.alert ol{
  padding-left:22px;
}
.alert ol:last-child,
.alert p:last-child{
  margin-bottom: 0;
}
.alert ol li{margin-bottom: 10px;}
.alert ol li:last-child{margin-bottom: 0;}
.buttons.rows .btn.save{width: 38%; flex-shrink: 0;}
.buttons.rows .btn.save + .btn.next{width: 100%;}

.file-upload-group{
  display: block;
  position: relative;
}
.file-upload-group .input-file{
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.file-upload-group .btn-tertiary{
  --btn-h:56px;
  height: var(--btn-h);
  border: 1px solid #14908F;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #14908F;
  font-size: var(--fs-15);
  gap:5px;
}
.file-upload-group .btn-tertiary .js-fileName{
  max-width: 74%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.file-upload-group .btn-tertiary .icon-add{
  background-image: url(../img/icons/icon-add-square.svg);
}
.file-upload-group .btn-tertiary.has-file .icon-add{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%2314908F' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.file-upload-group .btn-tertiary:hover{
  border-color: var(--green);
}

.file-upload-group.success{
  display: flex;
  align-items: center;
  gap:10px;
  border: 1px solid #F0F0F0;
  border-radius: 12px;
  padding: 10px 7px;
  height: 56px;
  color: #565C6E;
  font-size: 14px;
}
.file-upload-group.success .img{
  border-radius: 8px;
  height: 40px;
  height: 40px;
  object-position: center;
  object-fit: cover;
  flex-shrink: 0;
}
.file-upload-group.success .icon-check{
  background-image: url(../img/icons/icon-check.svg);
  margin-left: auto;
  margin-right:2px;
}

.file-upload-group.success.border-green{
  border-color: var(--green);
}


@media (min-width:576px) {
  .nav-form-step li:first-child a{padding-left: 0;}
  .nav-form-step li:last-child a{padding-right: 0;}
}

@media (max-width:1610px) {
  .questionnaire-lists ul{
    padding-left:50px;
  }
}

@media (max-width:1400px) {
  .nav-form-step.steps li a{
    background-color: transparent;
    flex-direction: column;
    text-align: center;
    width: 100%;
    margin-top: 0;
    padding: 5px 10px;
  }
  .nav-form-step.steps li:before, .nav-form-step li:after{
    top: 15px;
  }
  .nav-form-step.steps h6{
    font-size: 14px;
    line-height: 1.2;
  }
}

@media (max-width:1320px) {
  .questionnaire-lists .cols.w-215,
  .questionnaire-lists .cols.w-215 + .cols{width: 100%;}
  .questionnaire-lists .cols.w-215 + .cols{margin-top: 5px;}
}

@media (max-width:1199px) {
  .questionnaire-lists ul{
    padding-left:35px;
  }
}

@media (max-width:575px) {
  .nav-form-step{
    gap:0;
    background-color:rgba(0, 0, 0, 0.02);
    border-radius: 22px;
    padding:15px 0;
    margin: 15px auto;
    width: 100%;
  }
  .nav-form-step:before{display: none;}
  .nav-form-step li{width: 50%;}
  .nav-form-step li a{
    background-color: transparent;
    flex-direction: column;
    text-align: center;
    width: 100%;
    padding: 5px 10px;
  }
  .nav-form-step li:before, .nav-form-step li:after{
    top: 15px;
  }
  .nav-form-step h6{
    font-size: 14px;
  }
  .nav-form-step.steps h6{font-size: 11px;}
  .questionnaire-lists{
    font-size: 14px;
  }
  .questionnaire-lists ul{
    padding-top:15px;
    padding-bottom:15px;
    padding-left: 27px;
  }

  .questionnaire-lists .form-check .form-check-input {
    width:18px;
    height: 18px;
  }
  .questionnaire-lists .form-control{font-size: inherit;}

  .questionnaire-lists .buttons{padding-top: 0 !important;}
  .questionnaire-lists .buttons  p:last-child{margin-bottom: 0;}

  .alert-danger.fs-14{font-size: 13px !important;}

  .file-upload-group .btn-tertiary{
    --btn-h:48px;
  }
}

/*==================================================
Modal
==================================================*/
.modal{
  --bs-modal-border-radius:32px;
  --bs-modal-padding:30px;
}
.modal .btn-close{
  position: absolute;
  top: 20px;
  right: 20px;
  opacity: 1;
  z-index: 100;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/12px auto no-repeat;
  background-color: #8D93A5;
  opacity: 0.4;
  width: 26px;
  height: 26px;
  border-radius:6px;
  padding: 0;
  transition: all 0.25s;
}
.modal .btn-close:hover{opacity: 0.8;}

.modal .btn-close.circle{
  top: -15px;
  right:2px;
  opacity: 1;
  width:41px;
  height:41px;
  border-radius: 50%;

  border: 2px solid #5A318F;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%235A318F'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/15px auto no-repeat;
  background-color:#fff;
}
.modal-alert{
  --bs-modal-width:550px;

  text-align: center;
  font-size: var(--fs-15);
}

.modal-alert.modal-370{
  --bs-modal-width:370px;
}

.modal-alert .icon-main{
  margin: 10px auto 5px;
}
.modal-alert .icons.w-180{
  --icon-size:180px
}

.modal-alert .buttons{
  max-width: 280px;
  margin: 0 auto;
  padding: 10px 0 20px;
  width: 100%;
}

.modal-alert .buttons.w-480{
  max-width: 480px;
  gap:15px
}

@media (max-width:575px) {
  .modal-alert .icons.w-180{
    --icon-size:160px
  }

  .nav-form-step h6{font-size: 12px;}

  .modal .btn-close{top: 15px; right: 15px;}
  .modal{
    --bs-modal-border-radius:28px;
    --bs-modal-padding:20px;
  }

  .modal .btn-close.circle{
    width: 36px;
    height: 36px;
  }
}

/*==================================================
  datepicker
==================================================*/
.datepicker-dropdown {
  opacity: 1;
  pointer-events: all;
  display: none;
  --bs-dropdown-padding-x:10px;
  --bs-dropdown-padding-y: 8px;
}
.datepicker thead tr:nth-child(2) th{
  cursor: pointer;
}
.datepicker-inline thead th{
  padding: 10px;
}

.datepicker-dropdown {
  width: auto;
  padding:10px !important;
  border: 0 !important;
  box-shadow:none;
  filter: drop-shadow(0px 16px 24px rgba(48, 49, 51, 0.10)) drop-shadow(0px 0px 1px rgba(48, 49, 51, 0.05));
}
.datepicker table{
  width: 100%;
  font-size:12px;
  text-align: center;
}
.datepicker table th{
  font-weight: var(--fw-600);
  color:var(--green);
}
.datepicker table td{
  text-align: center;
  padding:5px 0;
  min-width: 30px;
}
.datepicker table td.old,
.datepicker table td.new{
  opacity: 0.4;
}

.datepicker table tr td > span{
  display: block;
  width: 25px;
  height: 25px;
  line-height: 22px;
  border-radius: 50%;
  margin: auto;
  border: 2px solid transparent;
}
.datepicker table tr td.today > span,
.datepicker table tr td.day:hover > span,
.datepicker table tr td.focused  > span,
.datepicker table tr td.active  > span{

  background-color: #eee;
  transition: all 0.25s;
}
.datepicker table tr td.today > span{
  background:var(--alert-green-light);
}
.datepicker table tr td.active{
  pointer-events: none;
}
.datepicker table tr td.active  > span{
  background: var(--alert-green);
  color: #fff;

}
.datepicker table tr td.focused > span{
  background: #eee;
  cursor: pointer;
}

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

.datepicker table th.prev,
.datepicker table th.next{
  cursor: pointer;
}
.datepicker table th.prev{text-align: left;}
.datepicker table th.next{ text-align: right;}
.datepicker .icon-next,
.datepicker .icon-prev{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-size: contain;
  background-image: url(../img/icons/icon-arrow-down.svg);

  display: block;
  margin: auto;
  transition: all 0.25s;
}

.datepicker .icon-next{
  top: -1px;
  transform: rotate(-90deg);

}
.datepicker .icon-prev{
  top: -1px;
  transform: rotate(90deg);
}

.datepicker table td{ padding:2px 0;}
.datepicker-inline table td{  padding:7px 0;}
.datepicker-months span.month,
.datepicker-years span.year{
  display:inline-block;
  margin: 2px;
  cursor: pointer;
  transition: all 0.25s;
  border-radius: 5px;
  width: auto;
  height: auto;
  padding: 0 15px 0;
}
.datepicker-months span.month.focused,
.datepicker-years span.year.focused{
 background: var(--green);
  color: #fff !important;
}
.pc .datepicker-months span.month:hover,
.pc .datepicker-years span.year:hover{background-color:#eee;}

.datepicker-dropdown .icon-next,
.datepicker-dropdown .icon-prev{
  background-size:24px;
}

/*==================================================
  Information student
==================================================*/

.card-hgroup{
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: #5D6A85;
  flex-direction: column;
  font-size: var(--fs-15);

  padding: 30px 20px;
}
.card-hgroup .icons{
  margin-bottom: 15px;
}
.card-hgroup .icons.w-128{
  --icon-size:128px;
  height: auto;
}

.img-profile{
  object-position: center;
  object-fit: cover;
  width: 168px;
  height: 176px;
  border-radius: 16px;
}

.card:not(.card-form-edit) .form-group-error label.title{color: var(--alert-red);}
.card:not(.card-form-edit) .form-group-error .form-control,
.card:not(.card-form-edit) .form-group-error .form-select{
  /* background-color: #fff !important; */
  border-color: var(--alert-red);
  color: var(--alert-red);
}

.rounded-16{
  border-radius: 16px !important;
}
.alert.alert-form-edit{
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y:1rem;
  border-radius: 16px;
  margin-top:30px;
}

.col-xl-4 .alert.alert-form-edit{
  max-width: 416px;
  width: 100%;
  margin-left: auto;
  font-size: var(--fs-15);
}

@media (max-width:1199px) {
  .col-xl-4 .alert.alert-form-edit{
    max-width: 100%;
    margin-left: 0;
    margin-top: 25px;
  }
}

@media (max-width:575px) {
  .card-hgroup .icons.w-128{
    --icon-size:111px;
  }
  .card-hgroup .icons{
    margin-bottom: 10px;
  }
}

/*==================================================
Banner
==================================================*/

.section-banner {
  background-color: var(--purple);
  padding:80px 0 100px;
}

.page.bg-light .section-banner{
  background-color: #F4F7FE;
}
.section-banner .background-color{
  position: absolute;
  top: 0;
  left: -10%;
  right: -10%;
  bottom: 0;
  background-color:#FFF3E4;
  border-radius:0 0 45% 45%;
}

.section-banner .container-fluid{
  display: flex;
  align-items: center;
}

.banner-main-details{
  display: block;
  color: #464646;
  font-size: var(--fs-24);
  width: 45%;
  max-width: 608px;
  padding: 0 0 40px;
}
.banner-main-details h1{
  font-size:var(--fs-54);
  line-height: 1.3;
  font-weight: var(--fw-700);
  margin-bottom: 15px;
  color: var(--purple);
}
.banner-main-details .buttons{
  justify-content: start;
  padding: 40px 0 0 0;
}
.banner-main-details .btn-xl{
  padding: 0 45px;
}

.banner-main-images{
  width: 55%;
  max-width: 832px;
  margin-left: auto;
  position: relative;
}
.banner-main-images .img{
  width: 100%;
}

.banner-main-images .icons.chart{
  --icon-size:69px;
  position: absolute;
  top: 25px;
  right: -40px;
}
.card-menu{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap:10px;
  background-color: #FFFFFF;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  border-radius:20px;
  padding:20px 25px;
  position: absolute;
  min-width: 300px;
}

.card-menu .rows{
  display: flex;
  align-items: center;
  gap:15px;
}

.card-menu .card-icon .icons{
  --icon-size:50px;
}
.card-menu h4{
  font-size: var(--fs-24);
  line-height: 1.1;
  transition: all 0.35s;
}
.card-menu:hover h4{color: var(--green);}
.card-menu p{
  margin: 0;
  color: #545567;
  font-size: 17px;
  font-weight:300;
}
.card-menu .icon-check{
  background-image: url(../img/icons/icon-check.svg);
  --icon-size:20px;
  top: -2px;
}
.card-menu .btn{
  --btn-h:48px;
  font-size: var(--fs-15);
  width: 100%;
}
.card-menu:hover .btn{
  --bs-btn-bg:var(--green);
}
.card-menu.menu-01{
  top: -55px;
  left: 10%;
}
.card-menu.menu-02{
  top: 50%;
  right: -50px;
}
.card-menu.menu-03{
  bottom: -60px;
  left: -2%;
}

/* .card-menu:hover .card-icon{
  animation-name: trin;
    animation-duration: 1.5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
} */

@media (max-width:1620px) {
  .banner-main-details{
    font-size: 22px;
  }
  .banner-main-details h1{
    font-size: 50px;
    margin-bottom:5px;
  }
  .banner-main-details .buttons{
    padding-top: 20px;
  }

  .banner-main-images{
    width: 51%;
  }
  .card-menu{
    padding: 15px 20px;
    border-radius:16px;
    min-width: 260px;
  }
  .card-menu .card-icon .icons {--icon-size: 45px;}
  .card-menu h4{font-size: 20px;}
  .card-menu p{font-size: 15px;}
  .card-menu .btn{--btn-h:44px}

  .banner-main-images .icons.chart{
    --icon-size:60px;
    top:20px;
  }

}

@media (max-width:1440px) {
  .card-menu.menu-02{right: -20px;}
}
@media (max-width:1400px) {
  .banner-main-details{font-size:20px; max-width: 540px; padding-left: 40px;}
  .banner-main-details h1{font-size: 42px;}
  .banner-main-images{max-width: 720px;}

  .banner-main-images .icons.chart{
    --icon-size:50px;
    top:0px;
    right: 0;
  }
}
@media (max-width:1199px) {
  .banner-main-details{padding-left: 0px;}

  .card-menu{ min-width: 230px;}
  .card-menu .card-icon .icons {--icon-size: 40px;}
  .card-menu h4{font-size: 18px;}
  .card-menu p{font-size:15px;}
  .card-menu .btn{--btn-h:40px}
  .section-banner .background-color{border-radius: 0 0 25% 25%;}
}
@media (max-width:991.98px) {
  .section-banner{padding-bottom: 40px;}
  .section-banner .container-fluid{
    flex-direction:column-reverse;
    justify-content: center;
    align-items: center;
  }

  .banner-main-images{
    margin: 0 auto 90px;
    width: 540px;
  }

  .card-menu.menu-02{right: -50px;}

  .banner-main-details{
    width: 100%;
    max-width: 550px;
    text-align: center;
  }
  .banner-main-details .buttons{
    justify-content: center;
  }
  .card-menu.menu-03{left: -15%;}
}

@media (max-width:800px) {
  .banner-main-images{
    width: 480px;
  }
}

@media (max-width:670px) {
  .section-banner{padding-bottom: 10px;}
  .banner-main-images{
    width: 320px;
  }

  .card-menu{padding: 12px; border-radius: 10px; min-width: auto;}
  .card-menu .rows{gap:10px;}
  .card-menu .card-icon .icons {--icon-size:30px;}
  .card-menu .icon-check{--icon-size:16px;}
  .card-menu h4{font-size: 15px;}
  .card-menu p{font-size:12px;}
  .card-menu .btn{--btn-h:32px}
  .banner-main-images .icons.chart{
    top:-5%;
    right: -50px;
  }

  .banner-main-details{font-size: var(--fs-16);}
  .banner-main-details h1{font-size: 30px;}

  .banner-main-details .buttons{padding-top: 0;}
}
@media (max-width:450px) {
  .banner-main-images {width: 290px;}
  .banner-main-details h1{font-size: 24px;}
  .card-menu.menu-02{top: 45%; right: -35px;}
  .card-menu.menu-03{left: -10%;}

  .banner-main-images .icons.chart{
    top:-15%;
    right: -20px;
    --icon-size:42px;
  }
}

/*==================================================
ปฏิทิน Admission
==================================================*/

.section-admission-calendar{
  background-color: var(--purple);
  color: #fff;
  --padding-bottom:200px;
}
.section-admission-calendar .hgroup{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 300;
  flex-direction: column;
}
.section-admission-calendar .hgroup h2{
  margin-bottom: 10px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap:10px
}

.filter-group{
  display: flex;
  justify-content: center;
  gap:25px;
  padding: 25px 0;
}
.filter-group h6{
  color: #fff;
  font-size: var(--fs-16);
  font-weight: var(--fw-600);
}
.filter-group .filter-item{
  display: flex;
  align-items: center;
  gap:15px
}
.form-pretty{
  display: flex;
  --input-h:40px;
  --border-radius:50px;
}
.form-pretty .icons{
 --icon-size:40px;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 padding-left: 3px;
 background-color: var(--alert-green);
 border-radius: var(--border-radius) 0 0 var(--border-radius);
}
.form-pretty .icons img{
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.form-pretty .form-select{
  --input-h:40px;
  border: 0 !important;
  padding: 0 15px  0 10px;
  text-align: left;
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
  background-size: 10px;
  min-width: 120px;
}

.pattern-group > div{
  position:absolute;
}
.pattern-group > div img{
  width: 100%;
}
.pattern-group.admission > div{
  width: 242px;
}
.pattern-group.admission .pattern-1{
 left: -190px;
 top: -80px;
}
.pattern-group.admission .pattern-2{
  right: -110px;
  bottom:-80px;
}

.card-calendar{
  --bs-card-spacer-y: 25px;
  --bs-card-spacer-x: 25px;
  --bs-card-cap-padding-y:12px;
  --bs-card-cap-padding-x:25px;
  --bs-card-border-color:#CAAAF2;
  --bs-card-border-radius:24px;
  --bs-card-color:var(--purple);
  --bs-card-cap-color:var(--purple);
  --bs-card-border-width: 1px;

  padding: var(--bs-card-spacer-y) 0;
  color: var(--bs-card-color);
  position: relative;
  height: 100%;
}
.card-calendar .card-header{
  background: transparent;
  border: 0;
}
.card-calendar .card-header h4{
  font-size: 55px;
  font-weight:var(--fw-700);
  line-height: 1;
}
.card-calendar .card-header p{
  margin: 0 0 2px;
  font-size:20px;
}
.card-calendar hr{
  margin: 0 var(--bs-card-cap-padding-x) 5px;
  border-color: rgba(181, 143, 229, 0.2);
}
.card-calendar h4,
.card-calendar h3{
  color: inherit;
}
.card-calendar h3{
  font-size: 23px;
  line-height: 1.3;
  margin-bottom: 5px;
}
.card-calendar p{
  font-size: 14px;
  margin: 0;
}
.card-calendar .card-body{
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
}

.card-calendar,
.card-calendar h4,
.card-calendar h3,
.card-calendar p,
.card-calendar hr{
  transition: all 0.35s;
}

.card-calendar:hover{
  background-color:#9866D8;
}
.card-calendar:hover h4,
.card-calendar:hover h3,
.card-calendar:hover p{
   color: #fff;
}
.card-calendar:hover hr{
  border-color: rgba(255, 255, 255, 0.2);
}

.swiper-overflow.admission{
  margin: -138px 0 0;
}

.swiper-overflow.admission .swiper-pagination{
  padding: 45px 0;
}

.section-admission-calendar.slider{
  padding: 0;
  background-color: #fff;
}
.swiper-button{
  width: 36px;
  height: 36px;
  margin-top:120px;
  top: 0;
  background-color: #F1F1F1;
  transition: all 0.25s;
}
.swiper-button .icons{
  position: absolute;
  top: 0;
  left: 0;
  --icon-size:100%;
  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='%23222222' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-position:center center;
  background-size: 12px;
  background-repeat: no-repeat;
  transform: rotate(-90deg);
}
.swiper-button:hover{background-color: var(--green);}
.swiper-button: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='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); }
.swiper-button-prev{left:-60px;}
.swiper-button-prev .icons{transform: rotate(90deg);}
.swiper-button-next{right:-60px;}

@media (max-width:1680px) {
  .card-calendar{
    --bs-card-spacer-y: 20px;
    --bs-card-cap-padding-x: 20px;
  }
  .card-calendar .card-header h4{font-size: 50px;}
  .card-calendar .card-header p{font-size: 18px;}
  .card-calendar .card-body{padding-bottom: 5px;}
  .card-calendar h3{font-size: 19px;}

  .section-admission-calendar{--padding-bottom:180px}
  .swiper-overflow.admission{margin-top: -130px;}

  .pattern-group.admission .pattern-1{left: -80px;}
  .swiper-overflow.admission .swiper-button{margin-top: 110px;}

}

@media (max-width:1440px) {
  .pattern-group.admission > div{width: 220px;}
  .swiper-overflow.admission{margin-left:50px;margin-right:50px;}
}

@media (max-width:1280px) {
  .swiper-overflow.admission{margin-top: -114px;}
  .card-calendar .card-header h4{font-size:37px;}
  .card-calendar .card-header p{font-size: 17px;}
  .card-calendar h3{font-size: 17px;}

  .filter-group{padding: 10px 0;}
  .swiper-overflow.admission .swiper-pagination{padding:25px 0;}
}

@media (max-width:1199px) {
  .pattern-group.admission > div{width: 140px;}
  .pattern-group.admission .pattern-1{left: -40px;top: -40px;}
  .pattern-group.admission .pattern-2{right: -70px;}

  .swiper-overflow.admission{margin-left:0;margin-right:0;}
  .swiper-overflow.admission .swiper-button{display:none;}
}
@media (max-width:670px) {
  .section-admission-calendar{--padding-bottom:140px}
  .pattern-group.admission > div{width: 100px;}
  .pattern-group.admission .pattern-1{left: -40px;top: -20px;}
  .pattern-group.admission .pattern-2{right: -70px;}

  .filter-group .filter-item{
    flex-direction: column;
    gap:5px
  }
}
@media (max-width:460px) {
  .filter-group{
    flex-direction: column;
    gap:15px
  }
}


/*==================================================
Home - About
==================================================*/

.section-aboutus{
  --padding-top:120px;
  --padding-bottom:120px;
}
.article{
  color: #5D6A85;
}
.article h2{
  margin-bottom: 15px;
  position: relative;
}
.article .buttons{
  padding:20px 0 0 0 ;
  justify-content: start;
}
.article.about{
  font-size: var(--fs-18);
  padding-left: 40px;
}

.article.about h2 .line{
  display: inline-block;
  position: relative;
}

.article.about h2 .line:before{
  content: '';
  position: absolute;
  left: 10px;
  right: -5%;
  top: 63%;
  height:120%;
  background-position: top left;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/thumb/line-1.png);
  z-index: -1;
}

.card-about-lists{
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x) ;
  background-color: #FBFBFF;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  --bs-card-border-radius:40px;
  --bs-card-spacer-y: 20px;
  --bs-card-spacer-x: 40px;
}

.card-about-lists > .row{
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1.8rem;
}

.card-about{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap:20px
}
.card-about .card-icon{
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F2F3FF;
}
.card-about .card-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.card-about h3{
  font-size: var(--fs-18);
  font-weight: var(--fw-400);
  margin-bottom: 0;
}

@media (max-width:1440px) {
  .article.about{
    font-size: var(--fs-16);
    padding-left:20px;
  }
  .card-about h3{
    font-size: var(--fs-16);
  }
}

@media (max-width:991.98px) {
  .section-aboutus{
    --padding-top:80px;
    --padding-bottom:80px;
  }

  .card-about-lists{
    margin-bottom: 50px;
    height: auto;
    padding: 40px 20px;
  }

  .article.about{padding-left: 0;}
}

@media (max-width:575px) {
  .section-aboutus{
    --padding-top:40px;
    --padding-bottom:50px;
  }
  .card-about-lists{
    --bs-card-border-radius:24px;
    --bs-card-spacer-y: 20px;
    --bs-card-spacer-x: 20px;
  }

  .card-about{
    gap:15px
  }

}
@media (max-width:390px) {
  .card-about h3{font-size: 14px;}
}

/*==================================================
Home - Faq
==================================================*/

.section-faq{
  background-color: #F7F5F9;
  --padding-top:80px;
  --padding-bottom:80px;
}

.card-faq{
  --bs-card-border-radius:32px;
  --bs-card-spacer-y:35px;
  --bs-card-spacer-x:50px;
  flex-direction: row;
  box-shadow: 0px 80px 120px -50px rgba(41, 47, 83, 0.15);
  width: 100%;
  max-width: 1190px;
  margin: 0 auto;
}

.card-faq .col-left,
.card-faq .col-right{
  padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}
.card-faq .col-left{
  width: 48%;
  border-right: 1px solid #D4D5DF;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.card-faq .col-right{
  width: 52%;
  padding-right:30px;
}

.card-faq .hgroup{
  padding: 35px 0;
  margin-right: auto;
}
.card-faq h6{
  font-size: var(--fs-18);
  font-weight: var(--fw-400);
  color: #555660;
}

.card-faq .buttons{
  justify-content: start;
  padding:35px 0 15px;
}
.card-faq .scrollbar-inner{
  height:455px;
  padding-right: 30px;
}
.card-faq .accordion .accordion-item:first-child{ padding-top: 0;}
.card-faq .accordion .accordion-item:last-child{border-bottom: 0;}

.scrollbar-inner > .scroll-element.scroll-y{width: 8px;}
.scrollbar-inner > .scroll-element .scroll-bar{background-color: #5A318F;}
.scrollbar-inner > .scroll-element .scroll-element_track{background-color: #EFEFEF;}
.scrollbar-inner > .scroll-element .scroll-element_outer, .scrollbar-inner > .scroll-element .scroll-element_track, .scrollbar-inner > .scroll-element .scroll-bar {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.faq-images{
  position: relative;
  margin: auto auto 0;
  width: 270px;
  transition: all 0.25s;
}
.faq-images .icons{
  position: absolute;
  top: -15px;
  right: -25px;
  --icon-size:82px;
}
.accordion{
  --bs-accordion-border-width:0;
  --bs-accordion-border-radius:0;
  --bs-accordion-border-color:#D4D5DF;
  --bs-accordion-padding-y:10px;
  --bs-accordion-color:#565C6E;
}
.accordion-title{
  font-size: var(--fs-18);
  color: #2A2A32;
  font-weight: var(--fw-400);
  position: relative;
  display: flex;
  gap:25px;
  justify-content: space-between;
  align-items: center;
  padding: var(--bs-accordion-padding-y) 0;
  transition: all 0.25s;
  cursor: pointer;
}
.accordion-title .icons{--icon-size:20px}
.accordion-title[aria-expanded="true"]{
  color: var(--green);
  font-weight: var(--fw-600);
}
.accordion-title:hover{color: var(--green);}
.accordion-item{
  border-bottom: 1px solid var(--bs-accordion-border-color);
  padding: var(--bs-accordion-padding-y) 0;
}

.accordion-body{
  padding:0 0 var( --bs-accordion-body-padding-y) ;
  font-size: var(--fs-14);
}
.accordion-body p:last-child{margin-bottom: 0;}
.plus{
  position: absolute;
  top: 0;
  left: 3px;
  right:3px;
  bottom: 0;
}
.plus:before,
.plus:after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #2A2A32;
  top: 50%;
  margin-top: -0.5px;
}

.plus:after{
  transform: rotate(-90deg);
}
[aria-expanded="true"] .plus:after{
  transform: rotate(0);
}
[aria-expanded="false"] .plus:after{
  transform: rotate(-90deg);
}
.show .minus:after{
  transform: rotate(0);
}

@media (max-width:1280px) {
  .section-faq {
    --padding-top: 60px;
    --padding-bottom: 60px;
  }
}

@media (max-width:1199px) {
  .card-faq{
    --bs-card-spacer-x:30px;
  }
  .accordion-title .icons {--icon-size:18px;}
}

@media (max-width:1024px) {
  .card-faq{
    flex-direction: column;
  }

  .card-faq .col-left,
  .card-faq .col-right{
    width: 100%;
    border: 0;
  }
  .card-faq .col-left{
    flex-direction: row;
    align-items: center;
    gap:20px
  }
  .card-faq .accordion{
    border-top: 1px solid var(--bs-accordion-border-color);
  }
  .faq-images{
    width: 180px;
  }
  .faq-images .icons{
    --icon-size:52px;
    top: -5px;
    right: -15px;
  }

  .card-faq .scrollbar-inner{
    height:355px;
    padding-right: 30px;
  }
  .card-faq .col-right{padding-right: 0;}
}

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

  .accordion{
    --bs-accordion-padding-y:8px;
    --bs-accordion-body-padding-y:6px;
  }
  .card-faq {
    --bs-card-spacer-x:20px;
    --bs-card-border-radius:24px;
  }

  .card-faq h6{font-size: 14px;}
  .card-faq .buttons {padding: 25px 0 5px;}
  .faq-images{
    width: 150px;
  }
  .faq-images .icons{
    --icon-size:32px;
    top: -5px;
    right: -5px;
  }
  .accordion-title{font-size: 15px;}
  .accordion-title .icons {--icon-size: 16px;}

  .card-faq .scrollbar-inner{padding-right: 20px;}
  .scrollbar-inner > .scroll-element.scroll-y{width: 5px;}
}

/*==================================================
Home - Article
==================================================*/

.section-article {
  --col-details-size:680px;
  overflow: hidden;
  padding:20px 0;
  margin: 80px 0 20px;
}
.section-article .background{
  background-color: var(--green);
  border-radius: 0 60px 60px 0;
  right: 100px;
  left: -100vw;
  top: 85px;
  bottom: 85px;
}

.section-article .article-content{
  position: relative;
  height: 710px;
  width: 100%;
  display: flex;
}

.section-article .col-slider{
  width: 50%;
  max-width: 700px;
  padding-right: 35px;
  position: relative;
  margin-left: auto;
}

.section-article .col-details{
  width: var(--col-details-size);
  display: flex;
  align-items: center;
  color: #fff;
  position: relative;
}
.section-article .article{
  color: #fff;
  font-size: var(--fs-18);
  max-width: 455px;
  margin: auto;
}
.section-article .article h2{
  color: #fff;
  font-weight: var(--fw-600);
  margin-bottom: 5px;
}
.section-article .article p{
  overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.section-article .article .buttons{
  padding:30px 0 0 0;
}

.article-circle{
  position: absolute;
  top:13px;
  left: -35px;

  width:var(--col-details-size);
  height: var(--col-details-size);
  border-radius: 50%;
  border: 1px solid #48C1C0;
}

.article-circle .dot{
  position: absolute;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  background-color: #03605F;
  display:flex;
}
.article-circle .dot:before{
  content: '';
  position: relative;
  width: 8px;
  height: 8px;
  margin: auto;
  border-radius: 50%;
  background-color: #48C1C0;
  z-index: 10;
}
.article-circle .dot.big:before{display:none;}
.article-circle .dot.big{
  background-color: var(--purple);
  width: 64px;
  height: 64px;
}

.article-circle .dot:nth-child(1){left: 2%;top: 19%;}
.article-circle .dot:nth-child(2){left: 67%;top: 2%;}
.article-circle .dot:nth-child(3){left: 98.4%;top:48%;}
.article-circle .dot:nth-child(4){left: 67%;bottom: 2%;}
.card-article{
  --bs-card-border-radius:32px;
  --bs-card-spacer-y: 20px;
  --bs-card-spacer-x:20px;
  display: flex;
  box-shadow: 0px 0px 120px -50px rgba(41, 47, 83, 0.2);
  padding: var(--bs-card-spacer-y)  var(--bs-card-spacer-x);
  flex-direction: row;
  width: 480px;
  height: 200px;
  position: relative;
  background-color: #fff;
}

.card-article .card-photo{
  width: 180px;
  flex-shrink: 0;
  border-radius: 20px;
  margin-bottom: auto;
}

.card-article .card-body{
  padding: 0 10px;
  display: flex;
  flex-direction: column;
}
.card-article .card-photo + .card-body{padding-left: 15px;}
.card-article h3{
  font-size: 16px;
  margin-bottom: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  transition: all 0.25s;
}
.card-article p{
  font-size: 14px;
  overflow: hidden;
  margin-bottom: 10px;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.card-article p.readmore{
  color: var(--purple);
  margin:auto 0 0 0;
  transition: all 0.25s;
}
.card-article p.readmore > span{
  display: inline-block;
  position: relative;
}
.card-article p.readmore > span:before{
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  transition: all 0.35s;
  border-bottom: 1px solid var(--purple);
  opacity: 0.6;
}

.swiper-article-vertical{
  height: 710px;
  overflow: visible;
}
.card-article.in-slider{
  box-shadow:0px 10px 25px rgba(41, 47, 83, 0.1);
  transition: all 0.2s;
  top: 0 !important;
}
.swiper-article-vertical .swiper-slide-next .card-article{
  margin-left: auto;
}
.swiper-article-vertical .swiper-slide{
  display: flex;
  transition: all 0.2s;
}

.swiper-article-vertical .swiper-slide-prev,
.swiper-article-vertical .swiper-slide-next + .swiper-slide + .swiper-slide{
  opacity: 0;
  transition-delay: 0.2s;
}

.swiper-button-vertical{
  position: absolute;
  top: 0;
  bottom: 0;
  right: -40px;
  display: flex;
  flex-direction: column;
}
.swiper-button-vertical .group{
  margin: auto;
  height: 360px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.swiper-button-vertical .swiper-button{
  margin: 0;
  left: auto;
  right: auto;
  position: relative;
}

.swiper-button-vertical .swiper-pagination{
  flex-direction: column;
  padding: 0;
  gap:15px
}

.swiper-button-vertical .swiper-button-prev .icons{transform: rotate(180deg);}
.swiper-button-vertical .swiper-button-next .icons{transform: rotate(0deg);}

.card-article-lists{
  padding-top:20px;
  padding-bottom:20px;

  --bs-gutter-x:40px;
  --bs-gutter-y:30px;
}
.card-article-lists .card-article{
  width: 100%;
  transition: all 0.25s;
  position: relative;
  top: 0;
}
.pc .card-article:hover {top: -10px;}
.pc .card-article:hover p.readmore > span:before{width: 100%;}
/* .pc .card-article:hover h3{color: var(--green);}  */
@media (max-width:1680px) {
  .card-article-lists{
    --bs-gutter-x:30px;
    --bs-gutter-y:25px;
  }
}

@media (max-width:1490px) {
  .section-article{
    --col-details-size: 620px;
  }
  .section-article .article-content,
  .swiper-article-vertical{
    height: 640px;
  }

  .card-article{
    --bs-card-spacer-y: 15px;
    --bs-card-spacer-x: 15px;

    height: 171px;
  }

  .card-article h3{-webkit-line-clamp: 2;}
  .card-article .card-photo{width: 160px;}

  .article-circle{left: -10px;}

  .card-article-lists{
    --bs-gutter-x:25px;
  }
}

@media (max-width:1366px) {
  .section-article .article-content,
  .swiper-article-vertical{
    height: 580px;
  }
  .section-article{
    --col-details-size: 527px;
  }
  .swiper-button-vertical{right: -20px;}
  .article-circle{top: 28px;}
  .card-article{
    width: 400px;
    height: 161px;
  }
  .card-article .card-photo{width: 150px;}
  .section-article .col-slider{
    width: 47%;
  }
  .section-article .article{font-size: var(--fs-16); max-width: 400px;}
  .section-article .article .buttons{padding-top: 20px;}
  .section-article .article .btn{--btn-h:60px}

  .article-circle .dot.big{
    width: 50px;
    height: 50px;
  }

  .article-circle .dot:nth-child(1){left: 2%;top: 19%;}
}

@media (max-width:1280px) {
  .article-circle{display: none;}
  .section-article .article{margin-left: 0;}
  .section-article .col-slider{width: 60%; max-width: 590px;}

  .card-article-lists{
    --bs-gutter-x:20px;
    --bs-gutter-y:20px;
  }
}

@media (max-width:1199px) {
  .section-article .background{right: 50px;}
  .card-article.in-slider{
    margin-left:auto;
    margin-right:50px;
  }
  .swiper-button-vertical{right: 0;}

  .card-article-lists{
    --bs-gutter-x:25px;
    --bs-gutter-y:25px;
  }
}

@media (max-width:992px) {
  .section-article {
    background-color: var(--green);
    padding: 50px 0;
  }
  .section-article .background{
    top: 50px;
    right:20px;
    bottom: auto;
    height: 425px;
  }
  .article-content{
    height: auto;
    flex-direction: column;
  }
  .section-article .article-content{
    height: auto;
  }
  .section-article .col-slider{
    width: auto;
    max-width: none;
    overflow: hidden;
  }
  .section-article .col-details{
    margin: 0 auto;
    height:auto;
    width: 100%;
  }

  .article-circle{top: 0; left: 0;}
  .section-article .article{
    text-align: center;
    padding-left: 0;
  }
  .section-article .article .buttons{
    justify-content: center;
  }
  .card-article.in-slider{
    width:auto;
    margin-left: 45px !important;
    margin-right: 25px;
  }
  .swiper-article-vertical .swiper-slide{
    display: block;
  }
  .section-article .article{
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 50px;
  }
}

@media (max-width:670px) {
  .section-article {margin-top: 40px; margin-bottom:0px; padding-bottom: 30px;}
  .section-article .col-slider{
    padding-right: 20;
    margin-right: -20px;
  }
  .card-article.in-slider{
    margin-left: 0 !important;
    margin-right: 35px;
  }
  .card-article{
    height: 123px;
    --bs-card-spacer-y: 12px;
    --bs-card-spacer-x: 12px;
    --bs-card-border-radius:28px;
  }
  .card-article .card-photo{
    width: 110px;
    border-radius:16px;
  }
  .card-article p{font-size: 13px;}
  .card-article p.readmore{display: none;}

  .swiper-article-vertical{
    height: 420px;
  }
  .swiper-button-vertical{
    right:17px;
  }
  .swiper-button-vertical .group{
    height: auto;
    gap:20px
  }
  .section-article .article .btn {
    --btn-h:52px;
  }
  .section-article .article .buttons{
    padding-top: 10px;
  }

  .card-article-lists{
    --bs-gutter-x:20px;
    --bs-gutter-y:20px;
  }
}

@media (max-width:440px) {
  .swiper-button-vertical{
    right:10px;
  }
  .card-article.in-slider{
    margin-right: 22px;
  }

  .card-article-lists{
    --bs-gutter-y:15px;
  }
}

/*==================================================
Article
==================================================*/
.section-header{
  display: flex;
  flex-direction: column;
}
.section-header .rows{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding:18px 0;
  flex-wrap: wrap;
  gap:10px
}
.section-header hr{
  border-color:#9BE3E2;
  margin: 0;
}
.section-header h5{
  font-size: var(--fs-25);
  font-weight: var(--fw-300);
}
.section-body{
  padding-top: 30px;
}
.nav-button{
  gap:25px;
  padding: 5px 0;
  flex-wrap: wrap;
}
.nav-button .btn{
  --btn-h:38px;
  --bs-btn-bg:#F0F0F0;
  --bs-btn-color:#505050;
  --bs-btn-border-color:#B69ED4;
  --bs-btn-border-width:1px;

  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:#5A318F;
  --bs-btn-hover-border-color:#5A318F;
  --bs-btn-active-color:#fff;
  font-size: 15px;
  border-radius: 15px;
  min-width: 130px;
}

.pagination{
  --bs-pagination-padding-x:13px;
  --bs-pagination-padding-y:7px;
  --bs-pagination-border-width:0;
  --bs-pagination-border-radius:8px;
  --bs-pagination-font-size:16px;
  --bs-pagination-bg:#EBEBEB;
  --bs-pagination-color:#A0A0A0;
  --bs-pagination-hover-color:#fff;
  --bs-pagination-hover-bg:var(--purple);
  --bs-pagination-active-bg:var(--bs-pagination-hover-bg);
  padding: 30px 0 0;
  justify-content: center;
  gap:10px;
}
.page-link{
  border-radius: var(--bs-pagination-border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 0 0 0;
  height: 40px;
  width: 37px;
}
.page-link small{font-size: 12px; font-weight: 500;}
.page-link.text{padding: 2px 0 0; width: 62px;}
.page-link.arrow{
  border-radius: 15px !important;
  width: 40px;
}
.page-link.prev{margin-right: 8px;}
.page-link.next{margin-left: 8px !important;}
.page-item:not(:first-child) .page-link{margin: 0;}
.page-link.text:hover{
  background-color: #EDE2FA;
  color: var(--purple);
}

.article-details-boxed{
  display: block;
  width: 100%;
  max-width: 1290px;
  background-color: #fff;
  padding: 40px;
  margin: 0 auto;
}

.breadcrumb{
  --bs-breadcrumb-margin-bottom:0;
  --bs-breadcrumb-font-size:14px;
  --bs-breadcrumb-color:#BEBEBE;
  --bs-breadcrumb-item-hover-color:#212121;
  --bs-breadcrumb-item-active-color:#212121;
  --bs-breadcrumb-divider-color:#BEBEBE;
  font-weight: var(--fw-600);
}
.breadcrumb-item.active:before{color: var(--bs-breadcrumb-item-active-color);}
.breadcrumb-item a:hover{color: var(--bs-breadcrumb-item-hover-color);}

.breadcrumb-item.back .icons{
  --icon-size:27px;
  border-radius: 50%;
  background-color: var(--purple);
  margin-right:8px;
  top: -4px;
}
.breadcrumb-item.back .icons:hover{
  background-color: var(--green);
}
.breadcrumb-item.back .icons:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
  background-image: url(../img/icons/icon-arrow-down-white.svg);
  transform: rotate(90deg);
}
.breadcrumb-item.back + .breadcrumb-item:before{display: none;}

.breadcrumb.fs-16{
  --bs-breadcrumb-margin-bottom:15px;
  --bs-breadcrumb-font-size:16px;
}

.card-document-download{
  position: relative;
  flex-direction: row;
  --bs-card-border-radius:10px;
  --bs-card-inner-border-radius:10px;
  --bs-card-border-width:1px;
  --bs-card-border-color:#E8D9FD;
  --bs-card-color:#1B1B1B;
  --bs-card-bg:#F9F9F9;

  font-size: 14px;
  height: 65px;
  border:0;
}
.card-document-download p{
  margin: 0;
  line-height: 1.2;
  transition: all 0.25s;
}
.card-document-download small{
  font-size: 12px;
}
.card-document-download .card-icon{
  border-radius: var(--bs-card-inner-border-radius) 0 0 var(--bs-card-inner-border-radius);
  background-color: var(--purple);
  display: flex;
  align-items: center;
  justify-content: center;
  width:78px;;
}
.card-document-download .card-body{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:0 15px;
  transition: all 0.25s;
  border:1px solid var(--bs-card-border-color);
  border-left: 0;
  border-radius:0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0;
}
.card-document-download:hover p{
   color: var(--green);
}

.document-exemple{
  display: block;
  background-color: #2D2D2D;
  height: 456px;
  text-align: center;
  margin-bottom: 45px;
}
.document-exemple img{
  width: 100%;
  height: 100%;
  object-position: center;
  object-fit: contain;
}

.article-body h3{
  font-size: 17px;
  color: #252525;
  margin: 15px 0;
}
.article-body .article{
  color: #484848;
  margin-bottom: 20px;
}

@media (max-width:1440px) {
  .section-header .rows{
    padding: 15px 0;
  }
  .nav-button{gap:20px}
}

@media (max-width:1199px) {
  .nav-button{gap:10px}
  .nav-button .btn{min-width: auto;}

  .card-document-download .card-icon{
    width: 65px;
  }
}

@media (max-width:1024px) {
  .section-header h5{font-size: var(--fs-18);}

  .pagination{
    --bs-pagination-font-size:15px;

    gap:6px;
  }
  .page-link{
    height:38px;
    width: 35px;
  }
}

@media (max-width:800px) {
  .section-header .rows{gap:5px}

  .article-details-boxed{
    padding: 30px;
  }

  .breadcrumb.fs-16{--bs-breadcrumb-font-size:14px}
}

@media (max-width:575px) {
  .section-header .rows{gap:5px}
  .section-header h5{padding-top:5px;}
  .nav-button{gap:5px}
  .nav-button .btn{
    --btn-h:34px;
    min-width: 0;
    border-radius:11px;
    font-size: 13px;
    padding: 0 15px;
  }

  .pagination{
    --bs-pagination-font-size:12px;

    gap:5px;
  }
  .page-link{
    height:30px;
    width: 30px;
  }
  .page-link.prev{margin-right: 0 !important;}
  .page-link.next{margin-left: 0 !important;}
  .page-link.arrow{width: 30px; border-radius: 10px !important;}
  .page-link.text{width: 50px;}
  .page-link small{font-size: 10px;}
  .article-details-boxed{
    padding: 20px;
  }
  .card-document-download .card-body{
    padding: 10px;
  }
  .card-document-download .card-icon{
    width: 55px;
  }
  .card-document-download .card-icon .icons{
    --icon-size:20px
  }

  .document-exemple{height: 320px; margin-bottom: 35px;}
  .article-body h3{margin-bottom:10px;}
  .article-body .article{font-size: 15px !important;}
  .article-body .article ul{padding-left: 17px;}

  .breadcrumb{
    --bs-breadcrumb-font-size:12px
  }
  .breadcrumb-item.back .icons{
    margin-right:0px;
  }

  .breadcrumb.fs-16{
    --bs-breadcrumb-font-size:12px;
    --bs-breadcrumb-margin-bottom: 10px;
    margin-top: -10px;
  }
}

/*==================================================
Print exam card
==================================================*/
.card-admission{
  --bs-card-border-radius:32px;
  --bs-card-spacer-y:40px;
  --bs-card-spacer-x:80px;

  width: 100%;
  max-width: 1065px;
  margin: 0 auto;
}

.card-admission .card-title{
  text-align: center;
  font-size: var(--fs-24);
  margin-bottom: 28px;
  margin-top: 2px;
}
.card-student-infos{
  display: flex;
}
.card-student-infos .card-photo{
  width: 200px;
  height: 215px;
  overflow: visible;
  flex-shrink: 0;
}
.card-student-infos .card-photo:before{
  content: '';
  position: absolute;
  top: -25px;
  left: -25px;
  width: 95px;
  height: 99px;
  background-color: #EFEAF4;
  border-radius: 12px;
}
.card-student-infos .card-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  position: relative;
  z-index: 100;
}

.card-student-infos .card-body{
  padding: 0 0 0 45px;
}
.card-form .card-student-infos .card-photo:before{display: none;}
.table-form th{font-weight: var(--fw-600); color: #1F1F1F;}
.table-form td{font-weight: var(--fw-400); color: #5D6A85;}

.table-form th,
.table-form td{
  padding:3px 10px;
}
.table-form .w-220{width: 220px;}
.table-form .w-160{width:160px;}
.table-form tr td:first-child{padding-left: 0;}
.card-admission .alert{
  --bs-alert-border-radius:16px;
  margin-top:30px;
  margin-bottom:5px;
}

.btn.w-390{
  width: 100%;
  max-width: 390px;
  margin: 0 auto;
}
.btn.w-500{
  width: 100%;
  max-width:500px;
  margin: 0 auto;
}
.modal-admission{
  --bs-modal-width:850px;
  --bs-modal-padding: 40px 35px;
}
.modal .card-student-infos{max-width: 650px; margin:15px auto 25px;}
.modal .card-student-infos .card-photo:before{display: none;}
.modal .card-student-infos .card-body{padding-left:30px;}
.modal .card-student-infos .table-form{margin-top: -10px;}
.modal .card-student-infos .table-form td:first-child{width:190px; white-space: nowrap;}

.alert.w-730{width: 100%; max-width: 750px;margin: 0% auto;}
@media (max-width:991.98px) {
  .card-admission{--bs-card-spacer-x: 40px;}

  .card-student-infos .card-body{padding-left:25px;}
  .card-student-infos .table-form .w-220{width: auto;}
  .card-student-infos .card-photo:before {
    top: -18px;
    left: -18px;
    width: 85px;
    height: 89px;
  }
  .card-student-infos .card-photo{
    width: 180px;
    height: 195px;
  }

  .modal .card-student-infos .card-body{
    padding-left: 15px;
  }
}

@media (max-width:700px) {
  .card-student-infos{
    flex-direction: column;
  }

  .card-student-infos .card-photo{
    margin: 10px auto 30px;
  }

  .card-student-infos .card-body{
    padding-left: 0;
  }

  .card-student-infos .table-form .w-220{width: 220px;}
  .modal .card-student-infos .card-body{padding-left: 0;}
}

@media (max-width:575px) {
  .card-admission {
    --bs-card-spacer-y:25px;
    --bs-card-spacer-x:20px;
  }
  .card-admission .card-title{font-size: 20px; padding: 0 20px;}

  .table-form{width: 100%;}
  .table-form th,
  .table-form td{
    width: 100% !important;
    display: block;
    padding: 0 0;
  }
  .table-form td{
    padding-top: 0;
    padding-top: 12px;
  }
  .table-form th{
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  }

  .alert{font-size: 14px;}

  .modal-admission{--bs-modal-padding: 40px 25px;}

}

/*==================================================
Contact
==================================================*/

.card-contact{
  --bs-card-spacer-y:30px;
  --bs-card-spacer-x:30px;
  --bs-card-border-radius:32px;

  flex-direction: row;
  gap:20px;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: #fff;
  font-size:18px;
  color: #fff;
}
.card-contact .card-photo{
  width:500px;
  margin: 20px 0;
}
.card-contact .card-body{
  border-radius: 24px;
  padding: 60px;
  background-image: url(../img/thumb/bg-contact.jpg);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.card-contact h2{
  color: #fff;
  font-size: 40px;
  margin-bottom: 20px;
}
.card-contact .address-lists{gap:19px}
.card-contact .address-lists li{color: #fff;}
.card-contact strong{font-weight: var(--fw-500);}
.address-lists li > .d-flex{gap:12px}

.card-contact .alert{
  font-size: 14px;
  max-width: 425px;
  margin: 30px 0 0;
  --bs-alert-border-radius: 12px;
  --bs-alert-bg:rgba(255, 255, 255, 0.2);
  --bs-alert-padding-x: 15px;
  --bs-alert-padding-y: 10px;
}
.card-contact .alert strong{font-weight: var(--fw-600);}

@media (max-width:1440px) {
  .card-contact{font-size: 16px;}
  .card-contact .card-photo{
    width: 35%;
  }
  .card-contact .card-body{
    padding: 40px;
  }
  .card-contact h2{font-size: 34px;}
  .card-contact .alert{max-width: 360px;}
  .card-contact .address-lists{gap:14px}
}

@media (max-width:1280px) {
  .card-contact {
    --bs-card-spacer-y:20px;
    --bs-card-spacer-x:20px;
  }
  .card-contact h2{font-size:var(--fs-36);}
  .card-contact .card-photo{
    width: 25%;
    margin: auto 0;
  }
}

@media (max-width:991.98px) {
  .card-contact {
    flex-direction: column;
  }

  .card-contact .card-photo{
    width: 240px;
    margin: 0 auto;
  }

  .card-contact .alert{
    margin: 20px 0 10px;
  }
}

@media (max-width:670px) {
  .card-contact .card-body{padding: 30px;}
  .card-contact .address-lists li{
    flex-direction: column;
    gap:0
  }
  .card-contact .address-lists li strong{padding-left: 30px;}
}
@media (max-width:575px) {
  .card-contact {
    --bs-card-spacer-y:0;
    --bs-card-spacer-x:0;
    font-size: 15px;
  }
  .card-contact .card-photo{width:180px; margin-top: 30px;}
  .card-contact .card-body {padding:20px;}
}

/*==================================================
Status Round
==================================================*/
.nav-status-tabs{
  border-bottom:0;
  margin-top: 10px;
  margin-bottom: 25px;
  gap:24px
}
.nav-status-tabs li{
  /* width: 244px; */
}
.nav-status-tabs a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap:5px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 16px;
  padding: 10px 25px;
  height: 96px;
  color: #5D6A85;
}
.nav-status-tabs p{
  margin: 0;
  transition: all 0.25s;

  font-size: var(--fs-18);
  font-weight: var(--fw-500);
}
.nav-status-tabs h4{
  line-height: 1;
  transition: all 0.25s;
}
.nav-status-tabs li.active a{
  border-color: var(--purple);
  color: var(--purple);
  background-color: #EEEAF3;
  pointer-events: none;
}
.nav-status-tabs li  a:hover{
  border-color: #EEEAF3;
  color: var(--purple);
  background-color: #EEEAF3;
}
.nav-status-tabs li.active h4{
  color: var(--purple);
}

.card-infos{
  --bs-card-border-radius:32px;
}

.student-lists{
  padding: 0 0 10px;
  margin: 0;
  list-style-type: none;
  display: flex;
  align-items: center;
  font-size: var(--fs-18);
  flex-wrap: wrap;
}
.student-lists .status{
  display: flex;
  gap:10px;
}
.student-lists li{ }
.student-lists li.d-flex{align-items: center;}
.student-lists h4{
  font-size:18px;
  font-weight: var(--fw-500);
}
.student-lists h4 .id{
  color: #5D6A85;

}
.student-lists .btn{
  --btn-h:48px;
  font-size: 15px;
}
.status-item{
  display: flex;
  gap:10px;
}
.status-item .icons{
  --icon-size:12px;
  border-radius: 50px;
  background-color:#FBBE22;
  top:7px;
}
.status-item .icons.success{
  background-color: #00DD9C;
}
.card.h-340{min-height: 340px;}

.card-form .text-success{color: #00DD9C !important;}
/* .card-form .text-danger{color: #00DD9C !important;} */
.download-lists{
  padding: 0;
  margin: 0;
  list-style-type: none;
  display: flex;
  flex-direction: column;
  gap:10px
}
.download-lists li{
  display: flex;
  gap:10px;
}
.download-lists a{
  text-decoration: underline;
  color: #0075FF;
}
.download-lists a:hover{
  color: var(--alert-green);
}
@media (max-width:1440px) {
  .student-lists h4{
    font-size: 16px;
  }
}
@media (max-width:1280px) {
  .student-lists .btn{
    --btn-h:42px;
    font-size: 14px;
    border-radius:8px;
  }

  .nav-status-tabs{gap:15px}
  .nav-status-tabs li{width: 210px;}
  .nav-status-tabs a{
    height: 85px;
    border-radius: 14px;
    padding: 10px 20px;
  }
  .nav-status-tabs h4{font-size: 20px;}
  .nav-status-tabs p{font-size: 15px;}
}

@media (max-width:991.98px) {
  .nav-status-tabs{gap:14px;margin-bottom: 20px;}
  .nav-status-tabs li{width:calc(33.333% - 10px);}
  .nav-status-tabs a{height:75px;}
}
@media (max-width:767px) {
  .nav-status-tabs h4{font-size:18px;}
  .nav-status-tabs p{font-size: 14px;}

}
@media (max-width:670px) {
  .student-lists li.d-flex.col-xl-7{
    flex-direction: column;
    align-items: flex-start;
  }
  .student-lists li.d-flex.col-xl-7 .btn{
    margin-left: 0 !important;
    margin-top: 15px;
  }
  .status-item{
    padding-top: 5px;
  }
}

@media (max-width:575px) {
  .nav-status-tabs{gap:5px;margin-bottom: 20px; margin-top: 0;}
  .nav-status-tabs li{width:calc(33.333% - 5px);}
  .nav-status-tabs a{height:55px; padding:5px 10px; gap:0; border-radius:10px;}
  .nav-status-tabs h4{font-size:15px;}
  .nav-status-tabs p{font-size: 12px;}
}
@media (max-width:400px) {
  .nav-status-tabs p{font-size: 11px; margin-bottom: 3px;}
  .nav-status-tabs a{height:68px; padding-top: 10px; padding-bottom: 0; justify-content: center; text-align: center; justify-content: flex-start;}
}

/*==================================================
Home - Document Download
==================================================*/

.section-download{
  margin: 40px 0 0;
  padding-bottom: 0;
}
.swiper-overflow.download{
  margin: 40px 0;
  position: relative;
}

.swiper-overflow.download .swiper-pagination{
  padding-top: 50px;
}

.swiper-overflow.download .swiper-button{
  margin-top: 15px;
}

@media (max-width:1440px) {
  .swiper-overflow.download{
    margin-left: 30px;
    margin-right: 30px;
  }

  .swiper-overflow.download .swiper-button-prev{left: -50px;}
  .swiper-overflow.download .swiper-button-next{right: -50px;}
}


@media (max-width:1280px) {
  .swiper-overflow.download{
    margin: 25px 0;
  }
  .swiper-overflow.download .swiper-pagination{
    padding-top: 30px;
  }

  .swiper-overflow.download{margin-left: 0; margin-right: 0;}
  .swiper-overflow.download .swiper-button{display: none;}
}

@media (max-width:575px) {
  .swiper-overflow.download .swiper-pagination{
    padding-top:20px;
    gap:5px
  }

  .swiper-overflow.download .swiper-pagination-bullet{width: 6px; height: 6px;}
}


/*==================================================
Footer
==================================================*/
.footer {
  background-color: #fff;
}
.footer .container-fluid{
  display: flex;
  justify-content: space-between;
}
.footer-infos,
.footer-links{
  padding:50px 0 60px;
}
.footer-infos{
  display: flex;
  flex-direction: column;
}

.footer-infos .logo{
  width: 105px;
  height: auto;
  margin-bottom: 15px;
}
.footer-infos h4{
  font-size: var(--fs-20);
}
.address-lists{
  flex-direction: column;
  gap:12px;
}
.address-lists li{
  display: flex;
  gap:10px;
  color: #565C6E;
}

.footer-links{
  margin: 0 auto;
  width: 100%;
  max-width: 770px;
}

.footer-links h4{
  font-size: var(--fs-20);
  font-weight: var(--fw-600);
  margin-bottom: 10px;
}
.nav-footer{
  font-size: var(--fs-15);
  color: #565C6E;
  flex-direction: column;
  padding-left: 10px;
}

.nav-footer li a{
  color:inherit;
  display: flex;
  gap:12px
}
.nav-footer li a:before{
  content: '';
  width: 4px;
  height: 4px;
  background-color:#565C6E;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  top: 9px;
}

.footer-secondary{
  background-color: var(--green);
  color: #fff;
  padding: 15px 0 12px;
  font-size: 14px;
}
.footer-secondary .container-fluid{
  display: flex;
  justify-content:space-between;
}
.footer-secondary p{
  margin: 0;
}

.nav-links li a{
  position: relative;
  display: block;
  border-right:1px solid #23ABAA;
  padding: 0 10px;
}
.nav-links li a:hover{opacity: 0.6;}
.nav-links li:last-child a{border-right: 0;}

.totop {
  position: absolute;
  right: 80px;
  bottom: 60px;

}
.totop .icons{
  --icon-size:56px;
  border-radius: 50%;
  background-color: #F6F6F6;
  display: flex;
  align-items: center;
  justify-content: center;
}

.totop .icons svg,
.totop .icons img{
 width: 16px;
 height: 16px;
}

.pc .totop .icons:hover{
  background-color: var(--green);
}
.pc .totop .icons:hover path{
  stroke: #fff;
}

@media (max-width:1440px) {
  .footer .container-fluid{
    gap:40px
  }

  .footer-secondary{font-size: 13px;}

  .totop {bottom: 40px; right: 60px;}
}

@media (max-width:1280px) {
  .footer-infos{
    font-size: 15px;
  }
  .address-lists{
    gap:8px
  }
  .address-lists .icons{
    --icon-size:20px
  }
}

@media (max-width:1199px) {
  .footer-secondary .container-fluid{
    font-size: 11px;
    flex-direction: column;
    text-align: center;
    gap:10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .nav-links {
    justify-content: center;
  }

  .totop { right: 40px;}
}

@media (max-width:1024px) {
  .footer-links h4{font-size: 16px;}
  .nav-footer{font-size: 14px;}
}

@media (max-width:991.98px) {
  .footer .container-fluid{
    flex-direction: column;
  }

  .footer-infos{padding-bottom:0px; padding-top: 40px;}
  .footer-links{padding-top: 0; padding-bottom: 50px;}

  .totop { right:20px; bottom: 20px;}
}

@media (max-width:575px) {
  .nav-links li a{
    padding: 0 10px;
  }
  .totop .icons{--icon-size:48px}
}



/*=========Cookie Policy=========*/

.cookie-policy{
  position: fixed;
  left: 50%;
  bottom: 0;
  padding:25px 0 ;
  color: #fff;
  font-size: 14px;
  z-index: 1000;
  font-weight: 300;

  --width:1480px;
  width: var(--width);
  margin-left: calc(var(--width)/2 * -1);


  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease;

  -webkit-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    transform: translate(0, 100%);
    -webkit-transform: translate3d(0, 0, 100%);
    transform: translate3d(0, 0, 100%);
}

.cookie-policy:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(27, 27, 27, 0.7);
  backdrop-filter: blur(5px);
  border-radius: 32px 32px 0 0;

}

.cookie-policy.cookie-show{
  -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);
}

.cookie-policy a{
  color:#fff;
  position: relative;
}
.cookie-policy a.link{white-space: nowrap;}
.cookie-policy a.link:before{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  bottom:2px;
  border-bottom: 1px solid #fff;

}

.pc .cookie-policy a:hover{
  opacity: 0.8;
}
.cookie-policy .cols{
  position: relative;
  z-index: 1000;
}
.cookie-policy .cols:nth-child(1){
  position: relative;
  padding-right: 40px;
}
.cookie-policy .cols:nth-child(2){
  margin-left: auto;
}

.cookie-policy .container-fluid{
  display: flex;
  align-items: center;
  padding: 0 40px;
}
.cookie-policy .buttons{
  padding: 0 50px 0 0;
  display: flex;
}

.cookie-policy .btn-primary{
  --btn-h:48px;
  width: 180px;
  border-radius: 8px;
  font-size: var(--fs-15);
}
.cookie-policy .btn-close{
  position: absolute;
  top: -25px;
  right: -30px;
  opacity: 1;
  box-shadow: none !important;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/0.8em auto no-repeat;
  --bs-btn-hover-bg:transparent;
  --btn-h:30px;
}
.cookie-policy h6{
  font-size: var(--fs-20);
  font-weight: var(--fw-700);
  margin-bottom: 5px;
  color: #fff;
}
.cookie-policy p{
  font-size:14px;
  margin: 0;
}

@media (max-width:1480px){
  .cookie-policy{
    left: 20px;
    right: 20px;
    margin: 0;
    width: auto;
  }
  .cookie-policy h6{
    font-size: var(--fs-18);
  }
  .cookie-policy .btn-primary{
    width: 160px;
  }
}

@media (max-width:991.98px){
  .cookie-policy .btn-primary{
    --btn-h:42px;
    width: 130px;
    font-size: 14px;
  }
  .cookie-policy .buttons{padding-right: 30px;}
}

@media (max-width:767px){
  .cookie-policy .container-fluid{
    flex-direction: column;
    padding: 0 20px;
  }
  .cookie-policy .cols{
    width: 100%;
    position: static;
  }
  .cookie-policy .buttons{
    justify-content: start;
    padding-top: 15px;
  }
  .cookie-policy .btn-close {
    top:-10px;
    right:0px;
  }
}

@media (max-width:575px){
  .cookie-policy{
    left: 10px;
    right: 10px;
  }
  .cookie-policy .btn-primary{
    --btn-h:38px;
    width: 100px;
    font-size: 13px;
  }

  .cookie-policy p{
    font-size:13px;
  }
}
