* {
  transition:
  background-color .3s ease,
  border-color .3s ease,
  color .3s ease,
  transform .3s ease,
  box-shadow .3s ease;
}

:root {
  --primary-blue: #0A4EA1;
  --primary-dark: #062F66;
  --gold: #D4AF37;
  --gold-light: #F5D76E;
  --text-dark: #1A1A1A;
  --text-light: #6B7280;
  --glass-bg: rgba(255,255,255,0.70);
  --glass-border: rgba(255,255,255,0.35);
  --shadow-soft: 0 8px 32px rgba(31,38,135,.10);
  --shadow-hover: 0 20px 40px rgba(10,78,161,.15);
}

html {
  overflow-x: hidden; 

}

body {
  font-family: "Montserrat", sans-serif;
  line-height: 1.8;
  font-size: 15px;
  color: var(--text-light);
  background: #ffffff;
  overflow-x: hidden;
  font-weight: 400;
  letter-spacing: .2px;
}

body:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; 

}

body.offcanvas-menu:before {
  opacity: 1;
  visibility: visible; 

}

a {
  color: #0A4EA1;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; 

}

a:hover {
  color: #0A4EA1;
  text-decoration: none; 

}

h1, h2, h3, h4, h5, h6 {
  color: var(--primary-dark);
  font-weight: 700;
  line-height: 1.2;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  font-family: "Montserrat", sans-serif; 

}

.btn {
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 30px;
  padding-right: 30px;
  border-radius: 4px;
  font-size: 14px; 

}

.btn:active, .btn:focus {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none; 

}

.btn.btn-primary {
  background: var(--primary-blue);
  border: 1px solid var(--primary-blue);
  color: #ffffff;
  border-radius: 50px;
  padding: 14px 34px;
  font-size: 14px;
  font-weight: 600;
  transition: all .35s ease;
  box-shadow: 0 8px 25px rgba(10,78,161,.20);
}

.btn.btn-primary:hover {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(10,78,161,.25);
}

.btn.btn-white {
  background: rgba(255,255,255,.20);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.30);
  color: #ffffff;
  border-radius: 50px;
  transition: all .35s ease;
}

.btn.btn-white:hover {
  background: #ffffff;
  color: var(--primary-blue);
  transform: translateY(-3px);
}

.btn.btn-outline-white {
  border: 1px solid #ffffff;
}

.btn.btn-outline-white:hover {
  background: #ffffff;
  color: #0A4EA1 !important;
}

.btn.btn-outline-black {
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.btn.btn-outline-black:hover {
  background: transparent;
  color: #0A4EA1 !important;
}

.form-control, .custom-select {
  height: 55px;
  border-radius: 16px;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(10,78,161,.10);
  box-shadow: 0 4px 15px rgba(0,0,0,.04);
  transition: all .3s ease;
}

.form-control:focus, .custom-select:focus {
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 4px rgba(10,78,161,.08);
}

.gutter-v1 {
  margin-right: -20px;
  margin-left: -20px;
}

@media (max-width: 991.98px) {
  .gutter-v1 {
    margin-left: -15px;
    margin-right: -15px; 

  } 
}

.gutter-v1 > .col, .gutter-v1 > [class*="col-"] {
  padding-right: 20px;
  padding-left: 20px; 

}

@media (max-width: 991.98px) {
  .gutter-v1 > .col, .gutter-v1 > [class*="col-"] {
    padding-right: 15px;
    padding-left: 15px; 

  } 
}

.spinner-border {
color: #0A4EA1; 
}

/*PRELOADING------------ */
#overlayer {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 7100;
  background: #ffffff;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; 
}

.loader {
  z-index: 7700;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); 
}

.position-relative {
  position: relative; 
}

.logo {
  position: absolute;
  left: 0;
  z-index: 9;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); 
}

@media (max-width: 992px){
  .site-nav.scrolled .logo{
    left: 20px;
  }
}

@media (min-width: 992px){
  .site-nav.scrolled .logo{
    left: 50px;
  }
}

.logo a {
  color: #0A4EA1; 
}

.site-nav {
  position: absolute;
  top: 0;
  left: 30px;
  right: 30px;
  z-index: 99; 
}

.menu-absolute {
  position: absolute;
  right: 15px; 
}

.site-nav {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 60px);
  max-width: 1400px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 1px solid transparent;
  border-radius: 50px;
  box-shadow: none;
  transition: all .35s ease;
}

.site-nav.scrolled {
  background: rgba(255,255,255,.28);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(10,78,161,.08);
  box-shadow:
  0 10px 30px rgba(0,0,0,.06);
}

@media (max-width: 992px) {
  .site-nav.scrolled {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    border-radius: 0px;
  }
}

.site-nav h1 {
  margin-left: 15px;
  display: flex;
  align-items: center;
  height: 78px;
}

.site-nav .site-navigation .site-menu {
  margin-bottom: 0; 

}

.site-nav .site-navigation .site-menu > li {
  display: inline-block; 
}

.site-nav .site-navigation .site-menu > li > a {
  font-size: 14px;
  font-weight: 600;
  padding: 14px 10px;
  color: #fff;
  display: inline-block;
  text-decoration: none !important;
  border-radius: 12px;
}

@media (min-width:1080px){
  .site-nav .site-navigation .site-menu > li > a {
    padding: 14px 18px;
  }
}

.site-nav.scrolled .site-navigation .site-menu > li > a {
  color: #fff;
}

.site-nav .site-navigation .site-menu > li > a {
  position: relative;
  color: #fff;
  text-decoration: none;
}

.site-nav .site-navigation .site-menu > li > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: #fff;
  transform: translateX(-50%);
  transition: width .3s ease;
  border-radius: 50px;
}

.site-nav.scrolled .site-navigation .site-menu > li > a::after {
  background: #fff;
}

.site-nav .site-navigation .site-menu > li > a:hover {
  color: #fff;
}

.site-nav .site-navigation .site-menu > li > a:hover::after {
  width: 100%;
}

.site-nav.scrolled .site-navigation .site-menu > li > a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.site-nav .site-navigation .site-menu > li.cta-button {
  display: flex;
  align-items: center;
  height: 100%;
  margin-right: 10px;
}

.site-nav .site-navigation .site-menu > li.cta-button a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  min-width: 190px;
  padding: 0 32px;
  background: #ffffff;
  color: var(--primary-blue);
  border-radius: 999px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(10,78,161,.20);
}

.site-nav .site-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 78px;
}

.site-nav .site-navigation .site-menu {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.site-nav .site-navigation .site-menu > li.cta-button a:hover {
  color: #fff;
  background-color: transparent;
  border: 1px solid rgb(255, 255, 255);
}

.site-nav.scrolled .site-navigation .site-menu > li.cta-button a:hover {
  color: #fff;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.8);
}

.site-nav .site-navigation .site-menu > li.active > a {
  color: var(--primary-blue);
  background: rgba(255, 255, 255, 0.41);
}

.site-nav.scrolled .site-navigation .site-menu > li.active > a {
  color: var(--primary-blue);
  font-weight: 900;
  border: 2px solid rgba(255, 255, 255, 0.25);
}

.site-nav .site-navigation .site-menu .has-children {
  position: relative; 

}

.site-nav .site-navigation .site-menu .has-children > a {
  position: relative;
  padding-right: 20px; 

}

.site-nav .site-navigation .site-menu .has-children > a:before {
  position: absolute;
  content: "\e313";
  font-size: 14px;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: 'icomoon'; 

}

.site-nav .site-navigation .site-menu .has-children:hover > a, .site-nav .site-navigation .site-menu .has-children:focus > a, .site-nav .site-navigation .site-menu .has-children:active > a {
  color: #ffffff; 

}

.site-nav .site-navigation .site-menu .has-children:hover, .site-nav .site-navigation .site-menu .has-children:focus, .site-nav .site-navigation .site-menu .has-children:active {
  cursor: pointer; 

}

.site-nav .site-navigation .site-menu .has-children:hover > .dropdown, .site-nav .site-navigation .site-menu .has-children:focus > .dropdown, .site-nav .site-navigation .site-menu .has-children:active > .dropdown {
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
  margin-top: 0px;
  visibility: visible;
  opacity: 1; 

}

.site-mobile-menu-close {
  display: block;
  position: relative;
  height: 30px;
  width: 30px;
  z-index: 99;
  cursor: pointer;
  top: -20px; 

}

.site-mobile-menu-close > span {
  cursor: pointer;
  display: block;
  position: absolute;
  height: 30px;
  width: 30px; 

}
.site-mobile-menu-close > span:before, .site-mobile-menu-close > span:after {
  position: absolute;
  content: "";
  width: 2px;
  height: 30px;
  background: #000000; 

}
.site-mobile-menu-close > span:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); 

}
.site-mobile-menu-close > span:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); 

}

.site-mobile-menu {
  width: 300px;
  position: fixed;
  right: 0;
  z-index: 2000;
  padding-top: 20px;
  background:rgba(255,255,255,.90);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-left:
  1px solid rgba(255,255,255,.30);
  height: calc(100vh);
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1);
  transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1); 

}

.offcanvas-menu .site-mobile-menu {
  -webkit-box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
  box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
  -webkit-transform: translateX(0%);
  -ms-transform: translateX(0%);
  transform: translateX(0%); 
}

.site-mobile-menu .site-mobile-menu-header {
  width: 100%;
  float: left;
  padding-left: 20px;
  padding-right: 20px; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close {
  float: right;
  margin-top: 8px; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close span {
  font-size: 30px;
  display: inline-block;
  padding-left: 10px;
  padding-right: 0px;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo {
  float: left;
  margin-top: 10px;
  margin-left: 0px; 
}

.site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a {
  display: inline-block;
  text-transform: uppercase; 
}

  .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a img {
    max-width: 70px; 
}

  .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-logo a:hover {
    text-decoration: none; 
}

.site-mobile-menu .site-mobile-menu-body {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  position: relative;
  padding: 0 20px 20px 20px;
  height: calc(100vh - 52px);
  
  padding-bottom: 150px; 
}

.site-mobile-menu .site-nav-wrap {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative; 
}

.site-mobile-menu .site-nav-wrap a {
  padding: 5px 20px;
  display: block;
  position: relative;
  color: #000000; 
}

.site-mobile-menu .site-nav-wrap a:hover {
  color: #0A4EA1; 
}

.site-mobile-menu .site-nav-wrap li {
  position: relative;
  display: block; 
}

.site-mobile-menu .site-nav-wrap li.active > a {
  color: #0A4EA1; 
}

.site-mobile-menu .site-nav-wrap .arrow-collapse {
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 20;
  width: 36px;
  height: 36px;
  text-align: center;
  cursor: pointer;
  border-radius: 50%;
  border: 1px solid #f8f9fa; 
}

.site-mobile-menu .site-nav-wrap .arrow-collapse:before {
  font-size: 14px;
  z-index: 20;
  font-family: "icomoon";
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-180deg);
  -ms-transform: translate(-50%, -50%) rotate(-180deg);
  transform: translate(-50%, -50%) rotate(-180deg);
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; 
}

.site-mobile-menu .site-nav-wrap .arrow-collapse.collapsed:before {
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); 
}

.site-mobile-menu .site-nav-wrap > li {
  display: block;
  position: relative;
  float: left;
  width: 100%; 
}

.site-mobile-menu .site-nav-wrap > li > a {
  padding-left: 20px;
  font-size: 14px; 
}

.site-mobile-menu .site-nav-wrap > li > ul {
  padding: 0;
  margin: 0;
  list-style: none; 
}

.site-mobile-menu .site-nav-wrap > li > ul > li {
  display: block; 
}

.site-mobile-menu .site-nav-wrap > li > ul > li > a {
  padding-left: 40px;
  font-size: 14px; 
}

.site-mobile-menu .site-nav-wrap > li > ul > li > ul {
  padding: 0;
  margin: 0; 
}

.site-mobile-menu .site-nav-wrap > li > ul > li > ul > li {
  display: block; 
}

.site-mobile-menu .site-nav-wrap > li > ul > li > ul > li > a {
  font-size: 14px;
  padding-left: 60px; 
}

.sticky-wrapper {
  position: absolute;
  z-index: 100;
  width: 100%; 
}
  .sticky-wrapper .site-navbar {
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; 
}
  .sticky-wrapper .site-navbar .site-menu-toggle {
    color: #000000; 
}
  .sticky-wrapper .site-navbar .site-logo a {
    color: #000000; 
}
  .sticky-wrapper .site-navbar .site-menu > li > a {
    color: rgba(0, 0, 0, 0.8) !important; 
}
    .sticky-wrapper .site-navbar .site-menu > li > a:hover, .sticky-wrapper .site-navbar .site-menu > li > a.active {
      color: #000000 !important; 
}
  .sticky-wrapper.is-sticky .burger:before, .sticky-wrapper.is-sticky .burger span, .sticky-wrapper.is-sticky .burger:after {
    background: #000000;
    -webkit-transition: .0s all ease;
    -o-transition: .0s all ease;
    transition: .0s all ease; 
}
.sticky-wrapper.is-sticky .site-navbar {

  background:
  rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(255,255,255,.25);

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}
    .sticky-wrapper.is-sticky .site-navbar .site-logo a {
      color: #000000 !important; 
}
.sticky-wrapper.is-sticky .site-navbar .site-menu > li > a {

  color: var(--primary-dark) !important;

  font-weight: 600;

}
      .sticky-wrapper.is-sticky .site-navbar .site-menu > li > a:hover, .sticky-wrapper.is-sticky .site-navbar .site-menu > li > a.active {
        color: #0A4EA1 !important; 
}
    .sticky-wrapper.is-sticky .site-navbar .site-menu > li.active a {
      color: #0A4EA1 !important; 
}
  .sticky-wrapper .shrink {
    padding-top: 0px !important;
    padding-bottom: 0px !important; 
}

/* Burger */
.burger {
  width: 28px;
  height: 32px;
  cursor: pointer;
  position: relative; 
}

.site-nav.scrolled .burger {
  margin-right: 20px;
}

.burger:before, .burger span, .burger:after {
  width: 100%;
  height: 2px;
  display: block;
  background: #000;
  border-radius: 2px;
  position: absolute;
  opacity: 1; 
}

.burger.light:before, .burger.light span, .burger.light:after {
  background-color: #ffffff; 
}

.site-nav.scrolled {
  background-color: #0a4ea192; 
}

.burger:before, .burger:after {
  -webkit-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  content: ""; 
}

.burger:before {
  top: 4px; 
}

.burger span {
  top: 15px; 
}

.burger:after {
  top: 26px; 
}

/* Hover */
.burger:hover:before {
  top: 7px; 
}

.burger:hover:after {
  top: 23px; 
}

/* Click */
.burger.active span {
  opacity: 0; 
}

.burger.active:before, .burger.active:after {
  top: 40%; 
}

.burger.active:before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=5);
  /*for IE*/ }

.burger.active:after {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=-5);
  /*for IE*/ }

.burger:focus {
  outline: none; 
}

.overlay-svg {
  background-image: url("../images/overlay.svg");
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  height: 100vh;
  min-height: 600px;
  width: 100%;
  top: 0;
  background-size: cover; 
}

.wrap-slider {

  max-width: 900px;

  padding: 20px;

  margin-top: -150px;

  position: relative;

  background:
  rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 28px;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}

.custom-feature {

  background:
  rgba(255,255,255,.70);

  backdrop-filter: blur(18px);

  -webkit-backdrop-filter: blur(18px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 24px;

  padding: 40px 30px;

  text-align: center;

  transition: all .35s ease;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}

.custom-feature:hover {

  transform:
  translateY(-10px);

  box-shadow:
  0 20px 40px rgba(10,78,161,.15);

}
  .custom-feature h3 {
    font-size: 18px;
    font-weight: bold; 
}
  .custom-feature p {
    font-size: 15px; 
}
  .custom-feature *:last-child {
    margin-bottom: 0; 
}
.section-label {

  color: var(--gold);

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 2px;

  font-size: 13px;

}

.section-stack {
  position: relative; 
}
  .section-stack img {
    width: 100%;
    display: block; 
}
  .section-stack .image-stack::after {
    content: ' ';
    display: table;
    clear: both; 
}
  .section-stack .image-stack__item--top {
    float: left;
    width: 66%;
    margin-right: -100%;
    position: relative;
    z-index: 1; 
}
    .section-stack .image-stack__item--top img {
      border: 4px solid #ffffff;
      -webkit-box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.1);
      box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.1); 
}
  .section-stack .image-stack__item--bottom {
    float: right;
    width: 75%; 
}
  @supports ((display: -ms-grid) or (display: grid)) {
    .section-stack .image-stack {
      display: -ms-grid;
      display: grid;
      position: relative;
      -ms-grid-columns: (1fr)[12];
      grid-template-columns: repeat(12, 1fr); 
}
    .section-stack .image-stack__item--bottom {
      grid-column: 4 / -1;
      -ms-grid-row: 1;
      grid-row: 1;
      width: 100%; 
}
    .section-stack .image-stack__item--top {
      -ms-grid-row: 1;
      grid-row: 1;
      -ms-grid-column: 1;
      -ms-grid-column-span: 8;
      grid-column: 1 / span 8;
      padding-top: 20%;
      width: 100%; 
} }

.service {
  display: block; 
}
  .service img {
    margin-bottom: 30px;
    border-radius: 4px; 
}
  .service h3 {
    font-size: 18px; 
}
  .service p {
    color: #7a7a7a; 
}

.site-cover-2 {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed; 
}
  .site-cover-2.overlay {
    position: relative; 
}
    .site-cover-2.overlay:before {
      position: absolute;
      content: "";
      left: 0;
      bottom: 0;
      right: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.4); 
}

.pricing {

  background:
  rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 24px;

  padding: 35px;

  transition: all .35s ease;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}

.pricing:hover {

  transform: translateY(-10px);

  box-shadow:
  0 20px 40px rgba(10,78,161,.15);

}
  .pricing .price > span {
    color: #cccccc; 
}
    .pricing .price > span > span {
      font-size: 3rem;
      color: #0A4EA1; 
}
  .pricing ul li {
    margin-bottom: 20px; 
}

.ul-check {
  margin-bottom: 50px; 
}

.ul-check li {
  position: relative;
  padding-left: 35px;
  margin-bottom: 15px;
  line-height: 1.5; 
}

.ul-check li:before {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(10,78,161,.10);
  color: var(--primary-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

.ul-check.white li:before {
  color: #000000; 
}

.ul-check.success li:before {
  color: #28a745; 
}

.ul-check.primary li:before {
  color: #0A4EA1; 
}

.site-section {
  padding: 4rem 0; 

}

.hero {
  padding: 70px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; 
}

.hero p {
  color: rgba(255,255,255,.90);
  font-size: 18px;
  max-width: 650px;
  line-height: 1.8;
}

.hero.fixed-attachment {
  background-attachment: fixed; 
}
.hero.overlay {
  position: relative; 
}

.hero-slant.overlay:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,78,161,.92) 0%,
    rgba(10,78,161,.90) 35%,
    rgba(8,63,130,.88) 60%,
    rgba(8,63,130,.65) 75%,
    rgba(8,63,130,.25) 88%,
    rgba(255,255,255,.15) 95%,
    rgba(255,255,255,.75) 100%
  );
  z-index: 1;
}

.hero-slant::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 250px;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.35) 40%,
    rgba(255,255,255,.75) 75%,
    #ffffff 100%
  );
  z-index: 2;
  pointer-events: none;
}

.hero, .hero > .container > .row {
  height: 100vh;
  min-height: 500px; 
}

.hero h1 {
  color: #ffffff;
  font-size: 35px;
  font-weight: 800;
  line-height: 1.15;

}

@media (max-width: 991.98px) {
  .hero h1 {
    font-size: 30px;
  }
}

  .hero figure {
    position: relative; 
}
  .hero .quote {
    padding: 50px;
    background: #000839;
    color: #ffffff;
    width: 100%;
    bottom: -20px;
    left: -50px;
    position: absolute; 
}

.feature.d-flex .icon-wrap {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 40px;
  flex: 0 0 40px;
  margin-right: 15px; 
}

.feature .icon-wrap {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(232, 69, 69, 0.2);
  z-index: -1; 
}
  .feature .icon-wrap [class^="icon-"] {
    font-size: 16px;
    position: absolute;
    left: 50%;
    top: 50%;
    color: #0A4EA1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); 
}
  .feature .icon-wrap span {
    font-size: 30px;
    text-align: center; 
}

.feature h3 {
  font-size: 14px;
  font-weight: 700; 
}

.feature p {
  color: rgba(0, 8, 57, 0.5);
  font-size: 14px; 
}

.site-blocks-cover {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top;
  background-position: center center; 
}
  .site-blocks-cover.overlay {
    position: relative; 
}
    .site-blocks-cover.overlay:before {
      position: absolute;
      content: "";
      left: 0;
      bottom: 0;
      right: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.7); 
}
  .site-blocks-cover .player {
    position: absolute;
    bottom: -250px;
    width: 100%; 
}
  .site-blocks-cover, .site-blocks-cover > .container > .row {
    min-height: 600px;
    height: calc(100vh); 
}
  .site-blocks-cover.inner-page-cover, .site-blocks-cover.inner-page-cover > .container > .row {
    min-height: 400px;
    height: calc(20vh); 
}
  .site-blocks-cover h1 {
    font-size: 3rem;
    font-weight: 400;
    color: #ffffff;
    font-weight: 900; 
}
    @media (max-width: 991.98px) {
      .site-blocks-cover h1 {
        font-size: 2rem; 
} }
  .site-blocks-cover p {
    color: white;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 300; 
}
  .site-blocks-cover a {
    color: rgba(255, 255, 255, 0.5);
    border-bottom: dotted 1px #ffffff; 
}
    .site-blocks-cover a:hover {
      color: #ffffff; 
}
  .site-blocks-cover .btn {
    color: #ffffff; 
}
    .site-blocks-cover .btn:hover {
      border-color: #ffffff;
      background-color: #ffffff;
      color: #0A4EA1; 
}
  .site-blocks-cover .desc {
    font-size: 1.4rem;
    font-weight: 300; 
}
  .site-blocks-cover .intro-text {
    font-size: 16px;
    line-height: 1.5; 
}
  @media (max-width: 991.98px) {
    .site-blocks-cover .display-1 {
      font-size: 3rem; 
} }

.site-cover-2 {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed; 
}
  .site-cover-2.overlay {
    position: relative; 
}
    .site-cover-2.overlay:before {
      position: absolute;
      content: "";
      left: 0;
      bottom: 0;
      right: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.4); 
}

.count-numbers .number {
  font-size: 40px;
  font-weight: bold;
  color: #ffffff; 
}

.count-numbers span {
  color: rgba(255, 255, 255, 0.7); 
}

.how-it-works {
  margin-bottom: 70px; 
}
  .how-it-works .step {
    padding: 20px 70px 0 0;
    position: relative; 
}
    .how-it-works .step .icon-wrap {
      position: relative;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: #0A4EA1; 
}
      .how-it-works .step .icon-wrap > span {
        font-family: "Montserrat", sans-serif;
        font-size: 18px;
        font-weight: bold;
        color: #ffffff;
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); 
}
    .how-it-works .step h3 {
      font-size: 16px;
      font-weight: 700; 
}
    .how-it-works .step p {
      font-size: 14px; 
}

.trusted-by-companies {
  padding: 0rem 0 4rem 0;
  text-align: center; 
}
  .trusted-by-companies h2 {
    margin-bottom: 30px;
    font-size: 1.2rem;
    font-weight: 700; 
}

.pro {
  -webkit-box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.4);
  box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.4);
  position: relative;
  z-index: 2; 
}

.pricing {
  text-align: center; 
}
  .bg-white .pricing .price > span {
    color: #000000; 
}
    .bg-white .pricing .price > span > span {
      font-size: 3rem;
      color: #000000; 
}
  .bg-white .pricing ul {
    text-align: left; 
}
    .bg-white .pricing ul li {
      color: #000000;
      margin-bottom: 20px; 
}
      .bg-white .pricing ul li:before {
        color: #000000 !important; 
}
    .bg-white .pricing ul li.remove {
      text-decoration: line-through;
      color: rgba(0, 0, 0, 0.4); 
}
      .bg-white .pricing ul li.remove:before {
        color: rgba(0, 0, 0, 0.4); 
}
  .pricing .price > span > span {
    font-size: 3rem; 
}
  .pricing ul {
    text-align: left; 
}
    .pricing ul li {
      margin-bottom: 20px; 
}
    .pricing ul li.remove {
      text-decoration: line-through;
      color: rgba(0, 0, 0, 0.4); 
}
      .pricing ul li.remove:before {
        color: rgba(0, 0, 0, 0.4); 
}

/*--------- Start Portfolio Area -------------*/
.portfolio-area .primary-btn {
  color: #ffffff;
  background-color: #0A4EA1;
  margin-left: auto;
  margin-right: auto; 
}

.portfolio-area .filters {
  text-align: center; 
}

.portfolio-area .filters ul {
  padding: 0; 
}

.portfolio-area .filters ul li {
  list-style: none;
  display: inline-block;
  padding: 18px 15px;
  cursor: pointer;
  position: relative;
  text-transform: uppercase;
  color: #000000;
  font-size: 12px;
  font-weight: 500; 
}
  @media (max-width: 736px) {
    .portfolio-area .filters ul li {
      padding: 6px 6px; 
} }

.portfolio-area .filters ul li:after {
  content: "";
  display: block;
  width: calc(0% - 60px);
  position: absolute;
  height: 2px;
  background: #333;
  -webkit-transition: width 350ms ease-out;
  -o-transition: width 350ms ease-out;
  transition: width 350ms ease-out; 
}

.portfolio-area .filters ul li:hover:after {
  width: calc(100% - 60px);
  -webkit-transition: width 350ms ease-out;
  -o-transition: width 350ms ease-out;
  transition: width 350ms ease-out; 
}

.portfolio-area .filters ul li.active {
  color: #0A4EA1; 
}

.portfolio-area .filters-content {
  margin-top: 50px; 
}

.portfolio-area .filters-content .show {
  opacity: 1;
  visibility: visible;
  -webkit-transition: all 350ms;
  -o-transition: all 350ms;
  transition: all 350ms; 
}

.portfolio-area .filters-content .hide {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 350ms;
  -o-transition: all 350ms;
  transition: all 350ms; 
}

.portfolio-area .filters-content .item {
  text-align: center;
  cursor: pointer;
  margin-bottom: 30px; 
}

.portfolio-area .filters-content .item img {
  border-radius: 10px; 
}

.portfolio-area .filters-content .p-inner {
  padding: 20px 0px;
  text-align: center; 
}

.portfolio-area .filters-content .item .p-inner .cat {
  font-size: 13px; 
}

.portfolio-area .filters-content .item img {
  width: 100%; 
}

.image {
  opacity: 1;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: .5s ease;
  -o-transition: .5s ease;
  transition: .5s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; 
}

.middle {
  -webkit-transition: .5s ease;
  -o-transition: .5s ease;
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center; 
}

.isotope-card:hover .middle {
  opacity: 1; 
}

.isotope-card {
  border-radius: 5px;
  overflow: hidden; 
}
  .isotope-card > a {
    overflow: hidden;
    position: relative;
    display: block; 
}
    .isotope-card > a:before {
      position: absolute;
      content: "";
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      opacity: 0;
      visibility: hidden;
      height: 100%;
      z-index: 2;
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease;
      background: rgba(0, 0, 0, 0.5); 
}
    .isotope-card > a img {
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease;
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1); 
}
    .isotope-card > a:hover:before {
      visibility: visible;
      opacity: 1; 
}
    .isotope-card > a:hover img {
      -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
      transform: scale(1.05); 
}
    .isotope-card > a:hover .contents {
      z-index: 3;
      opacity: 1;
      visibility: visible; 
}
      .isotope-card > a:hover .contents h3 {
        color: #ffffff; 
}
  .isotope-card .contents {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; 
}

.thumb .overlay-bg {
  opacity: 0;
  border-radius: 5px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; 
}
  @media (prefers-reduced-motion: reduce) {
    .thumb .overlay-bg {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; 
} }

.filters {
  text-align: center; 
}
  .filters ul {
    padding: 0;
    margin: 0 0 30px 0; 
}
    .filters ul li {
      display: inline-block;
      cursor: pointer;
      padding: 20px;
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease; 
}
      .filters ul li:hover {
        color: #0A4EA1; 
}
      .filters ul li.active {
        color: #0A4EA1; 
}

.isotope-card {
  margin-bottom: 30px;
  display: block; 
}
  .isotope-card .relative {
    margin-bottom: 20px; 
}
  .isotope-card .contents h3 {
    color: #ffffff;
    font-size: 18px; 
}
  .isotope-card .contents .cat {
    color: #b3b3b3; 
}

.no-nav .owl-nav {
  display: none; 
}

.main-slider .owl-dots, .custom-slider .owl-dots {
  bottom: -50px; 
}

.main-slider .owl-nav, .custom-slider .owl-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); 
}
  @media (max-width: 767.98px) {
    .main-slider .owl-nav, .custom-slider .owl-nav {
      display: none; 
} }
  .main-slider .owl-nav .owl-prev, .main-slider .owl-nav .owl-next, .custom-slider .owl-nav .owl-prev, .custom-slider .owl-nav .owl-next {
    position: absolute;
    top: 0;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    -webkit-box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.2); 
}
    .main-slider .owl-nav .owl-prev span, .main-slider .owl-nav .owl-next span, .custom-slider .owl-nav .owl-prev span, .custom-slider .owl-nav .owl-next span {
      display: block;
      background: #ffffff;
      padding: 15px; 
}
    .main-slider .owl-nav .owl-prev:hover, .main-slider .owl-nav .owl-next:hover, .custom-slider .owl-nav .owl-prev:hover, .custom-slider .owl-nav .owl-next:hover {
      -webkit-box-shadow: 0 7px 15px -5px rgba(0, 0, 0, 0.2);
      box-shadow: 0 7px 15px -5px rgba(0, 0, 0, 0.2); 
}
  .main-slider .owl-nav .owl-prev, .custom-slider .owl-nav .owl-prev {
    left: -30px; 
}
  .main-slider .owl-nav .owl-next, .custom-slider .owl-nav .owl-next {
    right: -30px; 
}
    .main-slider .owl-nav .owl-next > span, .custom-slider .owl-nav .owl-next > span {
      position: relative;
      -webkit-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
      transform: rotate(-180deg); 
}

.services-section {
  background: #f8f9fa;
  padding: 70px 0; 
}

.img-wrap-2 {
  margin-top: -120px;
  position: relative; 
}
  .img-wrap-2 .dotted:before {
    position: absolute;
    content: "";
    background-image: url("../images/dotted.png");
    height: 273px;
    width: 313px;
    z-index: -1;
    bottom: -50px;
    left: -50px; 
}

.blog-entries-section {
  padding: 70px 0;
  background: #f8f9fa; 
}

.post-entry {

  padding: 30px;

  border-radius: 24px;

  background:
  rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(10,78,161,.08);

  position: relative;

  top: 0;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}

.post-entry:hover {

  transform: translateY(-8px);

  box-shadow:
  0 20px 40px rgba(10,78,161,.15);

}
  .post-entry .date {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: rgba(0, 8, 57, 0.5); 
}
  .post-entry h3 {
    font-size: 16px;
    font-weight: 700; 
}
    .post-entry h3 a {
      color: #000839; 
}
  .post-entry p {
    font-size: 14px; 
}
  .post-entry *:last-child {
    margin-bottom: 0; 
}
  .post-entry:hover, .post-entry:focus {
    top: -5px;
    -webkit-box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.05); 
}

.service-2.no-shadow.link {
  -webkit-box-shadow: none !important;
  box-shadow: none !important; 
}

.service-2 .service-icon {
  font-size: 24px;
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 4px;
  position: relative;
  color: #0A4EA1;
  background-color: #ffffff; 
}
  .service-2 .service-icon > svg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); 
}

.service-2 .service-contents h3 {
  font-size: 16px;
  color: #000000; 
}

.service-2.horizontal .service-icon {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 40px;
  flex: 0 0 40px;
  margin-right: 30px;
  width: 40px;
  height: 40px;
  font-size: 20px; 
}

.service-2.link {
  padding: 20px;
  margin-bottom: 10px;
  border-radius: 7px; 
}
  .service-2.link .service-contents {
    color: #939393; 
}
    .service-2.link .service-contents *:last-child {
      margin-bottom: 0; 
}
  .service-2.link:hover, .service-2.link.active {
    background: #ffffff;
    -webkit-box-shadow: 0 4px 10px -4px rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 10px -4px rgba(0, 0, 0, 0.05); 
}
    .service-2.link:hover .service-icon, .service-2.link.active .service-icon {
      background-color: #f8f9fa;
      color: #000000; 
}
  .service-2.link.active {
    position: relative;
    overflow: hidden; 
}
    .service-2.link.active .service-icon {
      color: #ffffff;
      background-color: #0A4EA1; 
}

.section-grey {
  padding-top: 60px;
  padding-bottom: 60px;
  background: #f5f5f5; 
}
  @media (max-width: 991.98px) {
    .section-grey .img-wrap .img {
      margin-top: 0; 
} }

.team h3 {
  font-size: 20px; 
}

.team .pic {
  margin-bottom: 30px; 
}
  .team .pic img {
    border-radius: 4px; 
}

.team .position {
  display: block;
  margin-bottom: 20px;
  font-size: 14px; 
}

.slider-team-wrap .owl-dots {
  position: absolutre;
  margin-top: 30px; 
}

.slider-team-wrap .slider-nav a {
  display: inline-block;
  width: 40px;
  height: 40px;
  position: relative;
  background: #0A4EA1;
  border-radius: 4px;
  position: relative;
  top: 0;
  -webkit-transition: .2s all ease;
  -o-transition: .2s all ease;
  transition: .2s all ease; 
}
  .slider-team-wrap .slider-nav a span {
    color: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); 
}
  .slider-team-wrap .slider-nav a:hover {
    background: #ffffff;
    top: -2px; 
}
    .slider-team-wrap .slider-nav a:hover span {
      color: #0A4EA1; 
}

.more {
  position: relative;
  padding-right: 30px;
  display: inline-block; 
}
.more span {
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 12px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: transparent;
  color: #ffffff;
  line-height: 1.6;
  text-align: center;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; 
}

.more:hover {
  color: #ffffff; 
}
.more:hover span {
  background: #0A4EA1; 
}

.more.dark {
  color: #000000; 
}

.more.dark > span {
  color: #000000; 
}

.more.dark:hover {
  color: #0A4EA1; 
}

.more.dark:hover span {
  color: #ffffff;
  background: #0A4EA1; 
}

.article {
  margin-bottom: 90px; 
}

@media (max-width: 991.98px) {
  .article {
    margin-bottom: 50px; 
  } 
}

.article .share {
top: 20px; 
}

.article .share h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 12px; 
}

@media (max-width: 991.98px) {
  .article .share h3 {
  display: inline-block; 
  }
}
.article .share .share-article {
  width: 100%; 
}
.article .share .share-article li {
  width: 100%;
  display: block;
  margin-bottom: 10px; 
}
@media (max-width: 991.98px) {
  .article .share .share-article li {
  display: inline !important; 
  }
}

.article .share .share-article li a {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: relative;
  color: #000000;
  border: 1px solid #efefef; 
}

@media (max-width: 991.98px) {
  .article .share .share-article li a {
  display: inline-block !important; 
  } 
}
.article .share .share-article li a span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); 
}

.comment-form-wrap {
  clear: both; 
}

.comment-list {
  padding: 0;
  margin: 0; 
}
  .comment-list .children {
    padding: 50px 0 0 40px;
    margin: 0;
    float: left;
    width: 100%; 
}
  .comment-list li {
    padding: 0;
    margin: 0 0 30px 0;
    float: left;
    width: 100%;
    clear: both;
    list-style: none; 
}
    .comment-list li .vcard {
      width: 80px;
      float: left; 
}
      .comment-list li .vcard img {
        width: 50px;
        border-radius: 50%; 
}
    .comment-list li .comment-body {
      float: right;
      width: calc(100% - 80px); 
}
      .comment-list li .comment-body h3 {
        font-size: 20px; 
}
      .comment-list li .comment-body .meta {
        text-transform: uppercase;
        font-size: 13px;
        letter-spacing: .1em;
        color: #ccc;
        margin-bottom: 20px; 
}
      .comment-list li .comment-body .reply {
        padding: 7px 12px;
        background: #cccccc;
        color: #ffffff;
        text-transform: uppercase;
        border-radius: 30px;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .1rem; 
}
        .comment-list li .comment-body .reply:hover {
          color: #ffffff;
          background: #8c8c8c; 
}

.categories_tags {
  font-weight: bold; 
}

.post-single-navigation a {
  line-height: 1.5;
  border: 1px solid #efefef;
  background-color: transparent;
  padding: 30px;
  width: 48% !important;
  border-radius: 4px;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: inline-block; 
}
  .post-single-navigation a span {
    margin-bottom: 10px;
    font-size: 11px;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.4); 
}

.section-latest {
  padding-top: 100px;
  padding-bottom: 100px !important; 
}

.floating-block {

  background:
  rgba(255,255,255,.78);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 24px;

  padding: 30px;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}
  .floating-block h2 {
    font-size: 16px;
    font-weight: 700;
    margin: 0; 
}
  .floating-block h3 {
    font-size: 13px; 
}

.hero-slant {

  position: relative;

  min-height: 100vh;

  padding-top: 120px;

  padding-bottom: 80px;

  display: flex;

  align-items: center;

  background-size: cover;

  background-position: center center;

  background-repeat: no-repeat;

  overflow: hidden;

}

.hero-slant {
  position: relative;
  min-height: 100vh;
  padding-top: 120px;
  padding-bottom: 100px;
  display: flex;
  align-items: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
}


.hero-slant .container {

  position: relative;

  z-index: 3;

}

.hero-slant .intro {

  max-width: 850px;

}

.hero-slant .intro h1 {

  color: #ffffff;

  font-size: 3rem;

  font-weight: 800;

  line-height: 1.1;

  margin-bottom: 1.5rem;

}

.hero-slant .intro p {

  color: rgba(255,255,255,.92);

  font-size: 1.15rem;

  line-height: 1.9;

  max-width: 720px;

}

.hero-actions {

  display: flex;

  flex-wrap: wrap;

  gap: 15px;

}

.hero-actions .btn {

  min-width: 220px;

  text-align: center;

}

.hero-trust {

  margin-top: 25px;

  color: rgba(255,255,255,.75);

  font-size: 14px;

  font-weight: 500;

}

@media (max-width: 991.98px) {

  .hero-slant {

    padding-top: 140px;

    text-align: center;

  }

  .hero-slant .intro {

    margin: 0 auto;

  }

  .hero-slant .intro h1 {

    font-size: 3rem;

  }

  .hero-slant .intro p {

    font-size: 1rem;

    margin-left: auto;

    margin-right: auto;

  }

  .hero-actions {

    justify-content: center;

  }

}

@media (max-width: 767.98px) {

  .hero-slant .intro h1 {

    font-size: 2.5rem;

  }

}

@media (max-width: 575.98px) {

  .hero-slant {

    padding-top: 120px;

    padding-bottom: 60px;

  }

  .hero-slant .intro h1 {

    font-size: 2.1rem;

    line-height: 1.2;

  }

  .hero-slant .intro p {

    font-size: 0.95rem;

    line-height: 1.8;

  }

  .hero-actions .btn {

    width: 100%;

    min-width: auto;

  }

}

.hero-actions {

  display: flex;

  flex-wrap: wrap;

  gap: 15px;

}

.hero-statistics-section {

  position: relative;

  margin-top: -150px;

  z-index: 20;

}

.hero-stats {

  padding: 45px;

  border-radius: 30px;

}

.hero-stats h3 {

  color: var(--primary-blue);

  font-size: 2.5rem;

  font-weight: 700;

  margin-bottom: 10px;

}

.hero-stats p {

  margin: 0;

  color: var(--text-light);

  font-size: 15px;

}

@media (max-width: 991px) {

  .hero-slant .intro h1 {

    font-size: 2.8rem;

  }

  .hero-stats {

    margin-top: 40px;

  }

}

@media (max-width: 991.98px) {
  .hero-slant {
    padding-top: 0;
    text-align: center;
  }

  .hero-slant .intro {
    margin: 0 auto;
  }

  .hero-slant .intro h1 {
    font-size: 3rem;
  }

  .hero-actions {
    justify-content: center;
  }

  .hero-statistics-section {
    margin-top: -80px;
  }
}

@media (max-width: 767.98px) {

  .hero-slant .intro h1 {

    font-size: 2.4rem;

  }

  .hero-slant .intro p {

    font-size: 1rem;

  }

  .hero-actions .btn {

    width: 100%;

    min-width: auto;

  }

  .hero-stats {

    padding: 30px;

  }

  .hero-stats h3 {

    font-size: 2rem;

  }

}

.unit-4 .unit-4-icon {
  position: relative; 
}
  .unit-4 .unit-4-icon span {
    font-size: 3rem;
    color: #0A4EA1; 
}
  .unit-4 .unit-4-icon:before {
    position: absolute;
    content: "";
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ccc;
    opacity: .2;
    z-index: -1;
    top: 10px;
    left: -20px; 
}

.unit-4 h3 {
  font-size: 20px;
  color: #000000; 
}

.testimonial-section {
  padding: 70px 0; 
}
  @media (max-width: 991.98px) {
    .testimonial-section {
      padding: 30px 0; 
} }

.testimonial--wrap {

  padding: 50px;

  background:
  rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 24px;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}
  .testimonial--wrap .owl-dots {
    bottom: -55px; 
}

.testimonial-item .photo img {
  max-width: 80px;
  border-radius: 50%; 
}

.testimonial-item .author {
  line-height: 1.4; 
}
  .testimonial-item .author cite {
    font-weight: 700;
    font-style: normal; 
}

.testimonial-item blockquote {
  font-size: 20px;
  color: #000000; 
}
  .testimonial-item blockquote, .testimonial-item blockquote *:last-child {
    margin-bottom: 0; 
}

.custom-nav-wrap {
  position: relative;
  margin-top: 20px; 
}
  .custom-nav-wrap .custom-owl-prev,
  .custom-nav-wrap .custom-owl-next {
    z-index: 2;
    position: absolute;
    font-size: 20px;
    color: #000000;
    width: 40px;
    height: 40px;
    display: block;
    border: 1px solid #efefef; 
}
    .custom-nav-wrap .custom-owl-prev span,
    .custom-nav-wrap .custom-owl-next span {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); 
}
    .custom-nav-wrap .custom-owl-prev:hover,
    .custom-nav-wrap .custom-owl-next:hover {
      border-color: #000000; 
}
  .custom-nav-wrap .custom-owl-next {
    left: 50px;
    position: relative;
    position: absolute;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); 
}

.blog_entry {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  position: relative; 
}
  .blog_entry img {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px; 
}
  .blog_entry h3 {
    font-size: 18px; 
}
    .blog_entry h3 a {
      color: #000000; 
}
  .blog_entry .date {
    color: #999999;
    display: block;
    font-size: .9rem;
    margin-bottom: 15px; 
}
  .blog_entry .more a {
    position: relative;
    color: #0A4EA1;
    padding-bottom: 10px; 
}
  .blog_entry:hover {
    -webkit-box-shadow: 0 15px 30px -7px rgba(0, 0, 0, 0.2);
    box-shadow: 0 15px 30px -7px rgba(0, 0, 0, 0.2); 
}

.owl-logos .owl-nav {
  display: none; 
}

.owl-logos img {
  margin: 0; 
}

.features-lg .feature {
  padding: 70px 0; 
}
  @media (max-width: 991.98px) {
    .features-lg .feature {
      padding: 30px 0; 
} }

.custom-accordion .accordion-item {
  background-color: #f9f9f9;
  margin-bottom: 0px;
  position: relative;
  border-radius: 0px;
  overflow: hidden; 
}
  .custom-accordion .accordion-item .btn-link {
    display: block;
    width: 100%;
    padding: 15px 0;
    text-decoration: none;
    text-align: left;
    color: #999;
    border: none;
    padding-left: 40px;
    border-radius: 0;
    position: relative;
    background: #ffffff; 
}
    .custom-accordion .accordion-item .btn-link:before {
      font-family: 'icomoon';
      content: "\f196";
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 15px; 
}
    .custom-accordion .accordion-item .btn-link[aria-expanded="true"] {
      font-weight: 700;
      color: #0A4EA1; 
}
      .custom-accordion .accordion-item .btn-link[aria-expanded="true"]:before {
        font-family: 'icomoon';
        content: "\f147";
        position: absolute;
        color: #0A4EA1;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); 
}
  .custom-accordion .accordion-item.active {
    z-index: 2; 
}
    .custom-accordion .accordion-item.active .btn-link {
      color: #0A4EA1;
      -webkit-box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1);
      box-shadow: 0 1px 10px 0 rgba(0, 0, 0, 0.1); 
}
  .custom-accordion .accordion-item .accordion-body {
    padding: 20px 20px 20px 20px;
    color: #888; 
}

.control {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
  cursor: pointer;
  font-size: 18px; 
}
  .control .caption {
    position: relative;
    top: -3px;
    font-size: 16px; 
}

.control input {
  position: absolute;
  z-index: -1;
  opacity: 0; 
}

.control__indicator {
  position: absolute;
  top: 2px;
  left: 0;
  height: 20px;
  width: 20px;
  background: #e6e6e6;
  border-radius: 4px; 
}

.control--radio .control__indicator {
  border-radius: 50%; 
}

.control:hover input ~ .control__indicator,
.control input:focus ~ .control__indicator {
  background: #ccc; 
}

.control input:checked ~ .control__indicator {
  background: #0A4EA1; 
}

.control:hover input:not([disabled]):checked ~ .control__indicator,
.control input:checked:focus ~ .control__indicator {
  background: #eb5c5c; 
}

.control input:disabled ~ .control__indicator {
  background: #e6e6e6;
  opacity: 0.9;
  pointer-events: none; 
}

.control__indicator:after {
  font-family: 'icomoon';
  content: '\e5ca';
  position: absolute;
  display: none;
  font-size: 14px;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease; 
}

.control input:checked ~ .control__indicator:after {
  display: block;
  color: #fff; 
}

.control--checkbox .control__indicator:after {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); 
}

.control--checkbox input:disabled ~ .control__indicator:after {
  border-color: #7b7b7b; 
}

.control--checkbox input:disabled:checked ~ .control__indicator {
  background-color: #0A4EA1;
  opacity: .2; 
}

.gal-item {
  display: block;
  margin-bottom: 8px; 
}
  .gal-item img {
    border-radius: 4px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    opacity: 1; 
}
  .gal-item:hover img {
    opacity: .5; 
}

.social-icons li {
  display: inline-block; 
}
  .social-icons li a {
    color: rgba(255, 255, 255, 0.5);
    display: inline-block;
    width: 40px;
    height: 40px;
    position: relative;
    border-radius: 50%;
    background: #303030; 
}
    .social-icons li a span {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); 
}
    .social-icons li a:hover {
      color: #ffffff; 
}
  .social-icons li:first-child a {
    padding-left: 0; 
}

.social-icons.light li a {
  color: #000000;
  display: inline-block;
  width: 40px;
  height: 40px;
  position: relative;
  border-radius: 50%;
  background: #f8f9fa; 
}

.video-wrap {
  position: relative; 
}
  .video-wrap .play-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; 
}
    .video-wrap .play-wrap > span {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); 
}
  .video-wrap:hover .play-wrap {
    width: 60px;
    height: 60px; 
}

.owl-single.dots-absolute .owl-dots {
  bottom: 40px; 
}
  .owl-single.dots-absolute .owl-dots .owl-dot span {
    background: rgba(255, 255, 255, 0.5); 
}

.owl-single .owl-dots {
  text-align: center;
  position: absolute;
  width: 100%; 
}
  .owl-single .owl-dots .owl-dot {
    display: inline-block;
    margin: 5px; 
}
    .owl-single .owl-dots .owl-dot span {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: rgba(0, 0, 0, 0.2); 
}
    .owl-single .owl-dots .owl-dot.active span {
      background: #0A4EA1; 
}

.testimonial {
  max-width: 500px;
  text-align: center;
  margin-bottom: 30px; 
}
  .testimonial .name {
    font-size: 18px;
    color: #000000; 
}
  .testimonial .img-wrap img {
    margin: 0 auto;
    width: 70px;
    border-radius: 50%; 
}

.list-check li {
  display: block;
  padding-left: 30px;
  position: relative; 
}
  .list-check li:before {
    content: "\e5ca";
    font-family: 'icomoon';
    position: absolute;
    top: -.3rem;
    font-size: 20px;
    left: 0; 
}

.list-check.primary li:before {
  color: #0A4EA1; 
}

.site-footer {
  padding-top: 70px;
  padding-bottom: 30px;
  font-size: 15px; 
}
  @media (max-width: 991.98px) {
    .site-footer {
      padding-top: 30px; 
} }
  .site-footer a {
    color: #000000; 
}
    .site-footer a:hover {
      color: #ffffff; 
}
  .site-footer .widget {
    margin-bottom: 30px; 
}
    .site-footer .widget h3 {
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 30px; 
}
    .site-footer .widget .social li {
      display: inline-block; 
}
      .site-footer .widget .social li a {
        width: 50px;
        height: 50px;
        border-radius: 10px;
        background: #f8f9fa;
        display: inline-block;
        position: relative;
        color: black; 
}
        .site-footer .widget .social li a span {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); 
}
        .site-footer .widget .social li a:hover {
          color: var(--gold-light); 
}
    .site-footer .widget .links li {
      display: block;
      margin-bottom: 10px; 
}
      .site-footer .widget .links li a {
        color: #000000; 
}
        .site-footer .widget .links li a:hover {
          color: #0A4EA1; 
}
  .site-footer .copyright {
    position: relative;
    padding-top: 10px;
    margin-top: 10px; 
}
    .site-footer .copyright:before {
      top: 0;
      position: absolute;
      left: 15px;
      right: 15px;
      height: 1px;
      background: #ebedee; 
}

.glass-card {

  background:
  rgba(255,255,255,.70);

  backdrop-filter: blur(18px);

  -webkit-backdrop-filter: blur(18px);

  border:
  1px solid rgba(255,255,255,.35);

  border-radius: 24px;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

  transition:
  all .35s ease;

}

.glass-card:hover {

  transform:
  translateY(-8px);

  box-shadow:
  0 20px 40px rgba(10,78,161,.15);

}

.glass {

  background:
  rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 24px;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}

.glass-hover:hover {

  transform: translateY(-8px);

  box-shadow:
  0 20px 40px rgba(10,78,161,.15);

}

.about-link {

  color: var(--primary-blue);

  font-weight: 600;

  font-size: 16px;

  text-decoration: none;

  display: inline-flex;

  align-items: center;

  gap: 10px;

  transition: all .3s ease;

}

.about-link:hover {

  color: var(--gold);

  transform: translateX(5px);

}

.event-card {

  height: 100%;

  overflow: hidden;

}

.event-card img {

  width: 100%;

  height: 240px;

  object-fit: cover;

}

.event-category {

  display: inline-block;

  margin-bottom: 12px;

  padding: 6px 14px;

  border-radius: 30px;

  background: rgba(212,175,55,.15);

  color: var(--gold);

  font-size: 12px;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 1px;

}

.event-date {

  color: var(--primary-blue);

  font-size: 14px;

  font-weight: 600;

  margin-bottom: 15px;

}

.event-card h3 {

  font-size: 1.3rem;

  margin-bottom: 15px;

}

.event-card h3 a {

  color: var(--primary-dark);

  text-decoration: none;

}

.event-card h3 a:hover {

  color: var(--primary-blue);

}

.event-card .more a {

  color: var(--primary-blue);

  font-weight: 600;

  text-decoration: none;

}

.event-card .more a:hover {

  color: var(--gold);

}

.offer-card {

  padding: 40px 30px;

  height: 100%;

  border-radius: 24px;

}

.offer-icon {

  width: 80px;

  height: 80px;

  margin: 0 auto 25px;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 50%;

  background: rgba(212,175,55,.10);

}

.offer-icon span {

  font-size: 36px;

  color: var(--gold);

}

.offer-card h3 {

  font-size: 1.3rem;

  margin-bottom: 15px;

  color: var(--primary-dark);

}

.offer-card p {

  margin-bottom: 0;

  line-height: 1.8;

}

.testimonial-item blockquote p {

  font-size: 1.05rem;

  line-height: 1.9;

  color: var(--text-dark);

}

.testimonial-item .author cite {

  color: var(--primary-dark);

  font-weight: 700;

}

.testimonial-item .author span {

  color: var(--gold);

  font-size: 14px;

}

.testimonial-item .photo img {

  width: 70px;

  height: 70px;

  object-fit: cover;

  border-radius: 50%;

  border: 3px solid rgba(212,175,55,.25);

}

.final-cta {

  position: relative;

}

.final-cta:before {

  content: "";

  position: absolute;

  inset: 0;

  background:
  linear-gradient(
    135deg,
    rgba(10,78,161,.92),
    rgba(6,47,102,.88)
  );

}

.final-cta .container {

  position: relative;

  z-index: 2;

}

.final-cta h2 {

  font-size: 3rem;

  font-weight: 700;

  line-height: 1.2;

}

.final-cta p {

  max-width: 750px;

  margin-left: auto;

  margin-right: auto;

  font-size: 1.1rem;

  line-height: 1.9;

  color: rgba(255,255,255,.92);

}

@media (max-width: 991.98px) {

  .final-cta h2 {

    font-size: 2.3rem;

  }

}

.footer-tagline {

  color: var(--gold);

  font-weight: 600;

  margin-top: 15px;

  line-height: 1.8;

}

.footer-divider {

  margin: 20px 0 10px;

  border-color: #ddd;

}

.site-footer .widget h3 {

  color: var(--primary-blue);

  font-size: 18px;

  font-weight: 700;

  margin-bottom: 20px;

}

.site-footer .links li {
  margin-bottom: 12px;
}

.site-footer .links a {
  color: rgba(255,255,255,.75);
  transition: all .3s ease;
}

.site-footer .links a:hover {
  color: var(--gold);
  padding-left: 5px;
}

.site-footer .social li a {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  transition: all .3s ease;
}

.site-footer .social li a:hover {
  background: var(--primary-blue);
  transform: translateY(-3px);
}

.copyright {
  color: var(--text-light);
}

.about-card {
  height: 100%;
  padding: 45px 35px;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(10,78,161,.08);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(31,38,135,.10);
  transition: all .35s ease;
}

.about-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(10,78,161,.15);
}

.about-card-icon {
  width: 90px;
  height: 90px;
  margin: 0 auto;
  border-radius: 50%;
  background: rgba(161, 136, 10, 0.289);
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-card-icon span {
  font-size: 40px;
  color: var(--gold);
}

.about-card h3 {
  color: var(--primary-dark);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.about-card p {
  margin-bottom: 0;
  line-height: 1.9;
  color: var(--text-light);
}

.section-label {
  color: var(--gold);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 13px;
}

.view-switcher {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(10,78,161,.08);
  border-radius: 999px;
  box-shadow: 0 8px 32px rgba(31,38,135,.10);
}

.view-switcher button {
  border: none;
  background: transparent;
  color: var(--primary-blue);
  font-weight: 600;
  font-size: 14px;
  padding: 12px 24px;
  border-radius: 999px;
  transition: all .3s ease;
  cursor: pointer;
}

.view-switcher button.active {
  background: var(--primary-blue);
  color: #fff;
  box-shadow: 0 8px 20px rgba(10,78,161,.20);
}

.view-switcher button:hover:not(.active) {
  background: rgba(10,78,161,.08);
}

.calendar-wrapper {
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(10,78,161,.08);
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 8px 32px rgba(31,38,135,.10);
}

.calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.calendar-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary-dark);
}

.calendar-nav {
  display: flex;
  gap: 10px;
}

.calendar-nav button {
  width: 45px;
  height: 45px;
  border: none;
  border-radius: 50%;
  background: rgba(10,78,161,.08);
  color: var(--primary-blue);
  transition: .3s;
}

.calendar-nav button:hover {
  background: var(--primary-blue);
  color: #fff;
}

.calendar-days {
  display: grid;
  grid-template-columns: repeat(7,1fr);
  gap: 15px;
  margin-bottom: 15px;
}

.calendar-days div {
  text-align: center;
  font-weight: 700;
  color: var(--primary-blue);
  padding: 15px 0;
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7,1fr);
  gap: 15px;
}

.calendar-day {
  min-height: 140px;
  padding: 15px;
  border-radius: 20px;
  background: rgba(255,255,255,.60);
  border: 1px solid rgba(10,78,161,.08);
  transition: all .3s ease;
  position: relative;
}

.calendar-day:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(10,78,161,.12);
}

.calendar-day.empty {
  background: transparent;
  border: none;
}

.calendar-day-number {
  font-weight: 700;
  color: var(--primary-dark);
}

.calendar-event {
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(10,78,161,.08);
  border-left: 4px solid var(--gold);
}

.calendar-event h6 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary-dark);
}

.calendar-event span {
  display: block;
  font-size: 11px;
  color: var(--text-light);
}

.list-view {
  display: none;
}

.list-view.active {
  display: block;
}

.event-list-card {
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(10,78,161,.08);
  border-radius: 24px;
  padding: 30px;
  margin-bottom: 25px;
  transition: all .35s ease;
}

.event-list-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(10,78,161,.15);
}

.event-date-box {
  width: 90px;
  height: 90px;
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    var(--primary-blue),
    var(--primary-dark)
  );
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.event-date-box .day {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}

.event-date-box .month {
  font-size: 13px;
  text-transform: uppercase;
}

.list-view {
  display: none;
}

.list-view.active {
  display: block;
}

.event-list-card {
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(10,78,161,.08);
  border-radius: 24px;
  padding: 30px;
  margin-bottom: 25px;
  transition: all .35s ease;
  box-shadow: 0 8px 32px rgba(31,38,135,.10);
}

.event-list-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(10,78,161,.15);
}

.event-list-card h3 {
  color: var(--primary-dark);
  font-size: 1.4rem;
  font-weight: 700;
  margin: 15px 0;
}

.event-list-card p {
  margin-top: 15px;
  margin-bottom: 0;
}

.event-category {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 30px;
  background: rgba(212,175,55,.12);
  color: var(--gold);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.event-meta span {
  color: var(--text-light);
  font-size: 14px;
}

.event-meta i {
  color: var(--primary-blue);
  margin-right: 8px;
}

.event-date-box {
  width: 100px;
  height: 100px;
  border-radius: 24px;
  background: linear-gradient(
    135deg,
    var(--primary-blue),
    var(--primary-dark)
  );
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  box-shadow: 0 15px 30px rgba(10,78,161,.20);
}

.event-date-box .day {
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}

.event-date-box .month {
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media (max-width: 991px) {

  .event-date-box {
    margin: 0 auto;
  }

  .event-list-card {
    text-align: center;
  }

  .event-meta {
    justify-content: center;
  }

}

#calendarView,
#listView {
  transition: all .35s ease;
}

.view-hidden {
  display: none;
}

.view-visible {
  display: block;
  animation: fadeIn .35s ease;
}

@keyframes fadeIn {

  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

.page-banner {

  position: relative;

  padding: 150px 0 50px;

  overflow: hidden;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

}

.registration-banner {

  background-image:
  linear-gradient(
    135deg,
    rgba(10,78,161,.95),
    rgba(6,47,102,.92)
  ),
  url("../images/hero-min.jpg");

}

.page-banner::before {

  content: "";

  position: absolute;

  inset: 0;

  background:
  radial-gradient(
    circle at top right,
    rgba(212,175,55,.12),
    transparent 40%
  );

}

.page-banner .container {

  position: relative;

  z-index: 2;

}

.page-banner h1 {

  color: #ffffff;

  font-size: 3rem;

  font-weight: 800;

  margin-bottom: 20px;

}

.page-banner p {

  color: rgba(255,255,255,.85);

  font-size: 1.05rem;

  line-height: 1.9;

  max-width: 750px;

  margin: 0 auto 25px;

}

.breadcrumb-nav {

  margin-top: 15px;

}

.breadcrumb {

  background: transparent;

  padding: 0;

  margin: 0;

}

.breadcrumb-item {

  font-size: 14px;

  font-weight: 500;

}

.breadcrumb-item a {

  color: rgba(255,255,255,.75);

  text-decoration: none;

}

.breadcrumb-item a:hover {

  color: var(--gold);

}

.breadcrumb-item.active {

  color: #ffffff;

}

.breadcrumb-item + .breadcrumb-item::before {

  color: rgba(255,255,255,.45);

}

@media (max-width: 991px) {

  .page-banner {

    padding: 150px 0 80px;

  }

  .page-banner h1 {

    font-size: 2.4rem;

  }

}

@media (max-width: 767px) {

  .page-banner {

    padding: 140px 0 70px;

  }

  .page-banner h1 {

    font-size: 2rem;

  }

  .page-banner p {

    font-size: .95rem;

  }

}

/* ==========================================
   REGISTRATION FORM
========================================== */

.registration-section {

  margin-bottom: 50px;

  padding: 40px;

  background:
  rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 28px;

  box-shadow:
  0 8px 32px rgba(31,38,135,.10);

}

.registration-section:last-child {

  margin-bottom: 0;

}

/* ==========================================
   SECTION HEADERS
========================================== */

.registration-section h3 {

  position: relative;

  font-size: 1.5rem;

  font-weight: 700;

  color: var(--primary-dark);

  margin-bottom: 35px;

  padding-bottom: 15px;

}

.registration-section h3::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: 0;

  width: 80px;

  height: 4px;

  border-radius: 50px;

  background:
  linear-gradient(
    90deg,
    var(--primary-blue),
    var(--gold)
  );

}

/* ==========================================
   LABELS
========================================== */

.registration-section label {

  display: block;

  font-size: 14px;

  font-weight: 600;

  color: var(--primary-dark);

  margin-bottom: 10px;

}

/* ==========================================
   INPUTS
========================================== */

.registration-section .form-control {

  height: 58px;

  border-radius: 16px;

  background:
  rgba(255,255,255,.85);

  border:
  1px solid rgba(10,78,161,.12);

  box-shadow:
  0 4px 12px rgba(0,0,0,.03);

  font-size: 14px;

  color: var(--text-dark);

}

.registration-section .form-control:focus {

  border-color:
  var(--primary-blue);

  box-shadow:
  0 0 0 4px rgba(10,78,161,.08);

  background:
  #ffffff;

}

/* ==========================================
   TEXTAREAS
========================================== */

.registration-section textarea.form-control {

  height: auto;

  min-height: 140px;

  padding-top: 15px;

  resize: vertical;

}

/* ==========================================
   SELECTS
========================================== */

.registration-section select.form-control {

  cursor: pointer;

}

/* ==========================================
   READ ONLY FIELDS
========================================== */

.registration-section input[readonly] {

  background:
  rgba(10,78,161,.04);

  color:
  var(--primary-blue);

  font-weight: 600;

}

/* ==========================================
   SECTION SPACING
========================================== */

.registration-section .row + .row {

  margin-top: 25px;

}

/* ==========================================
   REGISTRATION CONTAINER
========================================== */

.registration-wrapper {

  max-width: 1200px;

  margin: auto;

}

.registration-page {

  padding: 80px 0;

}

/* ==========================================
   SUBMIT AREA
========================================== */

.registration-submit {

  text-align: center;

  margin-top: 60px;

}

.registration-submit .btn {

  min-width: 280px;

  height: 60px;

  font-size: 16px;

  font-weight: 700;

}

/* ==========================================
   FORM PROGRESS LOOK
========================================== */

.registration-section:hover {

  transform:
  translateY(-4px);

  box-shadow:
  0 20px 40px rgba(10,78,161,.12);

}

/* ==========================================
   OPTIONAL SECTION NUMBER BADGE
========================================== */

.registration-section-number {

  width: 55px;

  height: 55px;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  background:
  linear-gradient(
    135deg,
    var(--primary-blue),
    var(--primary-dark)
  );

  color: #ffffff;

  font-weight: 700;

  margin-bottom: 20px;

}

/* ==========================================
   REQUIRED FIELD ASTERISK
========================================== */

.registration-section label.required::after {

  content: " *";

  color: #dc3545;

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 991px) {

  .registration-section {

    padding: 30px;

  }

}

@media (max-width: 767px) {

  .registration-section {

    padding: 25px;

    border-radius: 22px;

  }

  .registration-section h3 {

    font-size: 1.25rem;

  }

  .registration-submit .btn {

    width: 100%;

    min-width: auto;

  }

}

/* ==========================================
   EVENT SUMMARY CARD
========================================== */

.event-summary-card {

  margin-top: -60px;

  /* margin-bottom: 60px; */

  padding: 40px;

  position: relative;

  z-index: 20;

  background:
  rgba(255,255,255,.82);

  backdrop-filter: blur(24px);

  -webkit-backdrop-filter: blur(24px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 30px;

  box-shadow:
  0 20px 50px rgba(0,0,0,.08);

}

.event-summary-badge {

  display: inline-block;

  padding: 8px 18px;

  border-radius: 50px;

  background:
  rgba(212,175,55,.15);

  color:
  var(--gold);

  font-size: 12px;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 1px;

  margin-bottom: 15px;

}

.event-summary-title {

  font-size: 2rem;

  font-weight: 700;

  color:
  var(--primary-dark);

  margin-bottom: 25px;

}

.event-summary-meta {

  display: flex;

  flex-wrap: wrap;

  gap: 30px;

}

.event-meta-item {

  display: flex;

  align-items: flex-start;

  gap: 15px;

}

.event-meta-item i {

  color:
  var(--primary-blue);

  font-size: 22px;

  margin-top: 4px;

}

.event-meta-item strong {

  display: block;

  color:
  var(--primary-dark);

  font-size: 14px;

  margin-bottom: 4px;

}

.event-meta-item span {

  display: block;

  color:
  var(--text-light);

  line-height: 1.6;

}

/* ==========================================
   RIGHT PANEL
========================================== */

.event-summary-stats {

  background:
  rgba(10,78,161,.04);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 24px;

  padding: 30px;

}

.event-stat {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 15px 0;

  border-bottom:
  1px solid rgba(10,78,161,.08);

}

.event-stat:last-of-type {

  border-bottom: none;

}

.stat-label {

  font-size: 14px;

  color:
  var(--text-light);

}

.stat-value {

  font-size: 18px;

  font-weight: 700;

  color:
  var(--primary-dark);

}

.seats-left {

  color:
  #28a745;

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 991px) {

  .event-summary-card {

    margin-top: -40px;

    padding: 30px;

  }

  .event-summary-title {

    font-size: 1.6rem;

  }

  .event-summary-stats {

    margin-top: 30px;

  }

}

@media (max-width: 767px) {

  .event-summary-card {

    padding: 25px;

    border-radius: 24px;

  }

  .event-summary-title {

    font-size: 1.4rem;

  }

  .event-summary-meta {

    flex-direction: column;

    gap: 20px;

  }

}

/* ==========================================
   CONTACT CARDS
========================================== */

.contact-card {

  background:
  rgba(255,255,255,.85);

  backdrop-filter:
  blur(24px);

  -webkit-backdrop-filter:
  blur(24px);

  border:
  1px solid rgba(10,78,161,.08);

  border-radius: 30px;

  padding: 40px;

  height: 100%;

  box-shadow:
  0 20px 50px rgba(0,0,0,.08);

}

.contact-card-header {

  margin-bottom: 30px;

}

.contact-card-header h3 {

  font-size: 2rem;

  font-weight: 700;

  margin-bottom: 15px;

  color:
  var(--primary-dark);

}

.contact-card-header p {

  margin-bottom: 0;

  color:
  #6c757d;

  line-height: 1.8;

}

/* ==========================================
   CONTACT DETAILS
========================================== */

.contact-details {

  margin-bottom: 30px;

}

.contact-detail {

  display: flex;

  gap: 20px;

  margin-bottom: 25px;

}

.contact-detail:last-child {

  margin-bottom: 0;

}

.contact-detail i {

  width: 55px;

  height: 55px;

  border-radius: 15px;

  display: flex;

  align-items: center;

  justify-content: center;

  background:
  rgba(161, 143, 10, 0.08);

  color:
  var(--gold);

  font-size: 20px;

  flex-shrink: 0;

}

.contact-detail strong {

  display: block;

  margin-bottom: 5px;

  color:
  var(--primary-dark);

}

.contact-detail p {

  margin-bottom: 0;

  color:
  #6c757d;

  line-height: 1.7;

}

/* ==========================================
   MAP
========================================== */

.contact-map-wrapper {

  margin-top: 30px;

  border-radius: 20px;

  overflow: hidden;

  height: 320px;

}

.contact-map-wrapper iframe {

  width: 100%;

  height: 100%;

  border: none;

}

/* ==========================================
   FORM
========================================== */

.contact-card .form-control {

  height: 58px;

  border-radius: 15px;

  border:
  1px solid rgba(10,78,161,.10);

}

.contact-card textarea.form-control {

  height: auto;

  min-height: 160px;

  resize: vertical;

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {

  .contact-card {

    padding: 25px;

    border-radius: 24px;

  }

  .contact-card-header h3 {

    font-size: 1.6rem;

  }

}

/* ==========================================
   MASONRY GRID
========================================== */

.gallery-masonry {

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 24px;

}

/* ==========================================
   CARD
========================================== */

.gallery-card {

  position: relative;

  overflow: hidden;

  border-radius: 28px;

  min-height: 280px;

  background: #fff;

  cursor: pointer;

  box-shadow:
    0 15px 40px rgba(0,0,0,.08);

  transition: all .4s ease;

}

.gallery-card:hover {

  transform:
    translateY(-8px);

  box-shadow:
    0 25px 60px rgba(0,0,0,.12);

}

/* ==========================================
   FEATURED IMAGE
========================================== */

.gallery-featured {

  grid-column: span 2;

  grid-row: span 2;

  min-height: 620px;

}

/* ==========================================
   IMAGE
========================================== */

.gallery-image {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition:
    transform .8s ease;

}

.gallery-card:hover .gallery-image {

  transform: scale(1.12);

}

/* ==========================================
   OVERLAY
========================================== */

.gallery-overlay {

  position: absolute;

  inset: 0;

  padding: 30px;

  display: flex;

  flex-direction: column;

  justify-content: flex-end;

  background:
    linear-gradient(
      to top,
      rgba(0,44,95,.95),
      rgba(0,44,95,.25),
      transparent
    );

  opacity: 0;

  transition: all .4s ease;

}

.gallery-card:hover .gallery-overlay {

  opacity: 1;

}

/* ==========================================
   BADGE
========================================== */

.gallery-badge {

  position: absolute;

  top: 25px;
  left: 25px;

  z-index: 20;

  background: #d4af37;

  color: #fff;

  font-size: 12px;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: 1px;

  padding: 10px 18px;

  border-radius: 50px;

  box-shadow:
    0 10px 25px rgba(212,175,55,.35);

}

/* ==========================================
   CATEGORY
========================================== */

.gallery-category {

  display: inline-flex;

  width: fit-content;

  padding: 8px 16px;

  border-radius: 50px;

  background:
    rgba(255,255,255,.15);

  backdrop-filter:
    blur(20px);

  color: #fff;

  font-size: 12px;

  font-weight: 600;

  margin-bottom: 15px;

}

/* ==========================================
   TITLE
========================================== */

.gallery-title {

  color: #fff;

  font-size: 24px;

  font-weight: 700;

  margin-bottom: 10px;

}

/* ==========================================
   DESCRIPTION
========================================== */

.gallery-description {

  color:
    rgba(255,255,255,.9);

  margin: 0;

  line-height: 1.7;

  font-size: 14px;

}

/* ==========================================
   ICON
========================================== */

.gallery-icon {

  position: absolute;

  top: 25px;
  right: 25px;

  width: 60px;
  height: 60px;

  border-radius: 50%;

  background:
    rgba(255,255,255,.15);

  backdrop-filter:
    blur(20px);

  color: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 20px;

  opacity: 0;

  transform:
    translateY(-15px);

  transition: all .4s ease;

}

.gallery-card:hover .gallery-icon {

  opacity: 1;

  transform:
    translateY(0);

}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1199px) {

  .gallery-masonry {

    grid-template-columns:
      repeat(3, 1fr);

  }

}

@media (max-width: 991px) {

  .gallery-masonry {

    grid-template-columns:
      repeat(2, 1fr);

  }

  .gallery-featured {

    grid-column: span 2;

    min-height: 500px;

  }

}

@media (max-width: 767px) {

  .gallery-masonry {

    grid-template-columns: 1fr;

  }

  .gallery-featured {

    grid-column: span 1;

    grid-row: span 1;

    min-height: 350px;

  }

  .gallery-card {

    min-height: 300px;

  }

}

/* ==========================================

   FILTER BUTTONS

========================================== */

.gallery-filter button {

  border: none;

  margin: 0 8px 12px;

  padding: 12px 24px;

  border-radius: 50px;

  background: rgba(255,255,255,0.65);

  backdrop-filter: blur(18px);

  color: #333;

  font-weight: 600;

  transition: all 0.3s ease;

}

.gallery-filter button:hover,

.gallery-filter button.active {

  background: #0f4c81;

  color: #fff;

  transform: translateY(-3px);

  box-shadow:

    0 10px 25px rgba(15,76,129,0.25);

}

/* ==========================================
   POLICY BANNER
========================================== */

.policy-banner {

  padding: 140px 0 80px;

  background:
    linear-gradient(
      135deg,
      #0f4c81,
      #1f6fb2
    );

  color: #fff;

}

.policy-banner h1 {

  font-size: 52px;

  font-weight: 700;

  margin-bottom: 20px;

}

.policy-banner p {

  max-width: 800px;

  margin: 0 auto;

  font-size: 18px;

  opacity: .9;

}

.policy-update {

  margin-top: 25px;

  display: inline-block;

  padding: 10px 20px;

  border-radius: 50px;

  background:
    rgba(255,255,255,.15);

  backdrop-filter: blur(20px);

}

/* ==========================================
   BREADCRUMB
========================================== */

.breadcrumb-nav {

  display: flex;

  justify-content: center;

  gap: 12px;

  margin-bottom: 25px;

  list-style: none;

  padding: 0;

}

.breadcrumb-nav li {

  color: rgba(255,255,255,.8);

}

.breadcrumb-nav a {

  color: #fff;

}

/* ==========================================
   POLICY SECTION
========================================== */

.policy-section {

  background: #f8fafc;

}

.policy-card {

  background: #fff;

  border-radius: 24px;

  padding: 50px;

  box-shadow:
    0 20px 60px rgba(0,0,0,.06);

}

.policy-card section {
  scroll-margin-top: 140px;
}

.policy-card h2 {

  color: #0f4c81;

  margin-bottom: 20px;

  font-weight: 700;

}

.policy-card h4 {

  margin-top: 30px;

  margin-bottom: 15px;

}

.policy-card p {

  line-height: 1.9;

  color: #666;

}

/* ==========================================
   SIDEBAR
========================================== */

/* Sidebar Column */
.policy-sidebar-wrapper {
  position: relative;
}

/* Sticky Card */
.policy-sidebar {

  position: sticky;

  top: 120px; 

  max-height: calc(100vh - 140px);

  overflow-y: auto;

  z-index: 20;

  background: #fff;

  border-radius: 24px;

  padding: 30px;

  box-shadow:
    0 15px 40px rgba(0,0,0,.06);

}

.policy-sidebar h4 {

  margin-bottom: 20px;

}

.policy-sidebar ul {

  list-style: none;

  padding: 0;

}

.policy-sidebar li {

  margin-bottom: 12px;

}

.policy-sidebar a {

  color: #555;

  transition: .3s;

}

.policy-sidebar a:hover {

  color: #0f4c81;

}

/* ==========================================
   LISTS
========================================== */

.policy-list {

  padding-left: 20px;

}

.policy-list li {

  margin-bottom: 12px;

  line-height: 1.8;

}

/* ==========================================
   DEFINITIONS
========================================== */

.policy-definition {

  padding: 20px;

  margin-bottom: 15px;

  border-left: 4px solid #0f4c81;

  background: #f8fafc;

  border-radius: 12px;

}

/* ==========================================
   CONTACT CARD
========================================== */

.contact-policy-card {

  background: #f8fafc;

  padding: 25px;

  border-radius: 16px;

  margin-top: 20px;

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width: 991px) {

  .policy-sidebar {

    position: relative;

    top: auto;

    margin-bottom: 30px;

  }

  .policy-card {

    padding: 30px;

  }

}

/* ==========================================
   FAQ PAGE
========================================== */

.faq-intro {
  background: #ffffff;
}

.faq-container {
  max-width: 900px;
  margin: 0 auto;
}

.faq-item {

  background: rgba(255,255,255,.75);

  backdrop-filter: blur(20px);

  -webkit-backdrop-filter: blur(20px);

  border: 1px solid rgba(10,78,161,.08);

  border-radius: 20px;

  margin-bottom: 18px;

  overflow: hidden;

  box-shadow:
    0 8px 25px rgba(0,0,0,.05);

}

.faq-question {

  width: 100%;

  display: flex;

  justify-content: space-between;

  align-items: center;

  background: transparent;

  border: none;

  padding: 24px 30px;

  text-align: left;

  font-size: 17px;

  font-weight: 700;

  color: var(--primary-dark);

  cursor: pointer;

}

.faq-question span {

  color: var(--primary-blue);

  font-size: 18px;

}

.faq-answer {

  max-height: 0;

  overflow: hidden;

  transition: max-height .35s ease;

}

.faq-answer p {

  padding: 0 30px 25px;

  margin: 0;

  color: var(--text-light);

  line-height: 1.9;

}

.faq-item.active .faq-answer {

  max-height: 300px;

}

.faq-item.active .faq-question i {

  transform: rotate(45deg);

}

.faq-question i {

  transition: .3s ease;

}

/* ==========================================
   EVENT DETAILS PAGE
========================================== */

.event-category-badge {

  display: inline-block;

  background: rgba(255,255,255,.15);

  backdrop-filter: blur(20px);

  color: #fff;

  padding: 10px 22px;

  border-radius: 50px;

  margin-bottom: 25px;

  font-weight: 600;

}

.event-hero-image {

  border-radius: 30px;

  width: 100%;

  max-height: 500px;

  object-fit: cover;

  box-shadow:
    0 20px 50px rgba(0,0,0,.12);

}

.event-summary-card {

  background: #fff;

  padding: 35px;

  border-radius: 25px;

  box-shadow:
    0 15px 40px rgba(0,0,0,.08);

  position: sticky;

  top: 120px;

}

.event-summary-card h3 {

  margin-bottom: 30px;

}

.event-info-item {

  display: flex;

  gap: 15px;

  margin-bottom: 21px;

}

.event-info-item i {

  color: #0f4c81;

  font-size: 22px;

  width: 30px;

}

.event-info-item strong {

  display: block;

}

.event-info-item span {

  color: #777;

}

.programme-item {

  display: flex;

  gap: 30px;

  margin-bottom: 25px;

}

.programme-time {

  min-width: 90px;

  background: #0f4c81;

  color: #fff;

  padding: 10px;

  text-align: center;

  border-radius: 12px;

  font-weight: 700;

}

.programme-content {

  flex: 1;

  background: #fff;

  padding: 20px;

  border-radius: 16px;

  box-shadow:
    0 5px 20px rgba(0,0,0,.05);

}

.calendar-event {

  display: block;

  text-decoration: none;

  background: rgba(15, 76, 129, .08);

  border-left: 4px solid #0f4c81;

  padding: 8px;

  border-radius: 10px;

  transition: all .3s ease;

}

.calendar-event:hover {

  background: #0f4c81;

  transform: translateY(-2px);

}

.calendar-event:hover h6,
.calendar-event:hover span {

  color: #fff;

}

.calendar-event h6 {

  margin-bottom: 4px;

  font-size: 12px;

  color: #0f4c81;

  font-weight: 700;

}

.calendar-event span {

  font-size: 11px;

  color: #666;

}

/* ==========================================
   PAGINATION
========================================== */

.event-pagination {

  display: flex;

  justify-content: center;

  align-items: center;

  gap: 12px;

  margin-top: 60px;

}

.pagination-btn {

  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 14px;

  background: #fff;

  color: #0f4c81;

  font-weight: 700;

  text-decoration: none;

  box-shadow:
    0 8px 20px rgba(0,0,0,.06);

  transition: all .3s ease;

}

.pagination-btn:hover {

  background: #0f4c81;

  color: #fff;

  transform: translateY(-3px);

}

.pagination-btn.active {

  background: #0f4c81;

  color: #fff;

}

.pagination-btn.disabled {

  opacity: .4;

  pointer-events: none;

}