body{
	font-family: "Roboto", sans-serif !important;
  font-optical-sizing: auto;
}

main{
	background-color: var(--white);
}

::selection {
  background-color: var(--spb-blue-darker);
  color: var(--white);
}

::-moz-selection {
  background-color: var(--spb-blue-darker);
  color: var(--white);
}

/* Roboto Font */

.roboto-<uniquifier> {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

h1.display{
	font-size: 64px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 500 !important;
  line-height: 105% !important;
}

h1{
	font-size: 54px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 500 !important;
  line-height: 105% !important;
  margin-bottom: 0 !important;
}

h2{
	font-size: 46px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 500 !important;
  line-height: 105% !important;
  margin-bottom: 0 !important;
}

h3{
	font-size: 38px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 500 !important;
  line-height: 105% !important;
  margin-bottom: 0 !important;
}

h4{
	font-size: 32px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 500 !important;
  line-height: 105% !important;
  margin-bottom: 0 !important;
}

h5{
	font-size: 24px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 500 !important;
  line-height: 120% !important;
  margin-bottom: 0 !important;
}

p{
	font-size: 18px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 400 !important;
  line-height: 160% !important;
}

p.small{
	font-size: 16px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 400 !important;
  line-height: 120% !important;
}

p.lead{
	font-size: 18px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 500 !important;
  line-height: 160% !important;
}

p.display{
	font-size: 24px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 400 !important;
  line-height: 160% !important;
}

p.tag-yellow{
	font-size: 14px !important;
  font-family: "Roboto", sans-serif;
  font-weight: 400 !important;
  line-height: 160% !important;
  margin-bottom: 0 !important;
  background-color: var(--spb-yellow);
  border-radius: 99px;
  padding: 8px 24px;
  width: fit-content;
  height: fit-content;
}

span.bold{
	font-weight: bold !important;
}

@media screen and (max-width: 992px) {
	h1.display{
		font-size: 40px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 500 !important;
	  line-height: 105% !important;
	}

	h1{
		font-size: 36px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 500 !important;
	  line-height: 105% !important;
	}

	h2{
		font-size: 32px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 500 !important;
	  line-height: 105% !important;
	}

	h3{
		font-size: 28px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 500 !important;
	  line-height: 105% !important;
	}

	h4{
		font-size: 24px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 500 !important;
	  line-height: 105% !important;
	}

	h5{
		font-size: 20px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 500 !important;
	  line-height: 120% !important;
	}

	p{
		font-size: 16px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 400 !important;
	  line-height: 160% !important;
	}

	p.small{
		font-size: 14px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 400 !important;
	  line-height: 160% !important;
	}

	p.lead{
		font-size: 16px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 500 !important;
	  line-height: 160% !important;
	}

	p.display{
		font-size: 18px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 400 !important;
	  line-height: 160% !important;
	}

	p.tag-yellow{
		font-size: 12px !important;
	  font-family: "Roboto", sans-serif;
	  font-weight: 400 !important;
	  line-height: 160% !important;
	  margin-bottom: 0 !important;
	  background-color: var(--spb-yellow);
	  border-radius: 99px;
	  padding: 4px 18px;
	  width: fit-content;
	  height: fit-content;
	}
}

/* Color Components */
:root {
  --white: #ffffff;
  --black: #1B1B1B;
  --light-grey: #FBFBFB;
  --grey: #6E6E6E;
  --spb-blue: #28668E;
  --spb-blue-light: #509AC9;
  --spb-blue-darker: #154564;
  --spb-yellow: #FDEE23;
  --spb-red: #DC3545;
}

.bg-dark-custom{
	background-color: #28668E;
}

.logo-spb{
	margin: 10px 10px 10px 0;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.numbered-list {
  list-style: none;
  counter-reset: custom-counter;
}

ul.numbered-list li {
  counter-increment: custom-counter;
  position: relative;
  padding-left: 1.5em;
}

ul.numbered-list li::before {
  content: counter(custom-counter) ". ";
  position: absolute;
  left: 0;
}

a{
	text-decoration: none !important;
}

br.mobile-br{
	display: none;
}

@media screen and (max-width: 991px) {
	br.mobile-br{
		display: inline;
	}
}

/* Button Components */
.btn-spb-blue{
	font-size: 18px;
	padding: 12px 28px;
	border-radius: 8px;
	background-color: var(--spb-blue);
	text-decoration: none;
	color: white;
	transition: all ease 0.3s;
}

.btn-spb-blue:hover{
	text-decoration: none;
	color: var(--white);
	background-color: var(--spb-blue-darker);
}

.btn-spb-blue-darker{
	font-size: 18px;
	padding: 12px 28px;
	border-radius: 8px;
	background-color: var(--spb-blue-darker);
	text-decoration: none;
	color: white;
	transition: all ease 0.3s;
}

.btn-spb-blue-darker:hover{
	text-decoration: none;
	color: var(--white);
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
}

.btn-spb-red{
	font-size: 18px;
	padding: 12px 28px;
	border-radius: 8px;
	background-color: var(--spb-red);
	text-decoration: none;
	color: white;
	transition: all ease 0.3s;
}

.btn-spb-red:hover{
	text-decoration: none;
	color: var(--white);
	background-color: var(--spb-blue-darker);
}

.btn-spb-transparent{
	font-size: 18px;
	padding: 12px 28px;
	border-radius: 8px;
	border: 0.5px solid rgba(255, 255, 255, 0.3);
	background-color: rgba(255, 255, 255, 0.2);
	-webkit-backdrop-filter: blur(10px) !important;
	backdrop-filter: blur(10px) !important;
	text-decoration: none;
	color: white;
	transition: all ease 0.3s;
}

.btn-spb-transparent:hover{
	text-decoration: none;
	border: 0.5px solid var(--spb-blue);
	color: var(--white);
	background-color: var(--spb-blue-darker);
}

@media screen and (max-width: 991px) {
	.btn-spb-blue{
		font-size: 16px;
		padding: 10px 24px;
		width: fit-content;
	}

	.btn-spb-blue-darker{
		font-size: 16px;
		padding: 10px 24px;
		width: fit-content;
	}

	.btn-spb-red{
		font-size: 16px;
		padding: 10px 24px;
		width: fit-content;
	}

	.btn-spb-transparent{
		font-size: 16px;
		padding: 10px 24px;
		width: fit-content;
	}
}

/* Resets */
button {
  outline: none;
  border: none;
  cursor: pointer;
  background-color: transparent;
}

/* New Header */

/* End New Header */

/* Header */
ul.header__nav{
  margin-bottom: 0;
}

.sr-only{
	display: none;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background-color: transparent;
  z-index: 9999;
  transition: background-color 400ms, 400ms ease;
}

.header.scrolled {
  background-color: #28668E;
  transition: background-color 400ms, 400ms ease;
}


.header-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 120px;
  margin: 0;
}

.header__logo {
  display: flex;
  align-items: center;
  position: relative;
}

.header__logo img {
  object-fit: contain;
  height: 68px;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 5%;
  left: 0;
  transform: translate(0, -50%);
  transition: opacity 400ms, 400ms ease;
}

.scrolled .header__logo img.color,
.header__logo img.white,
.drawer-open .header__logo img.color {
  opacity: 1;
  visibility: visible;
}

.scrolled .header__logo img.white,
.drawer-open .header__logo img.white {
  opacity: 0;
  visibility: hidden;
}

.header__toggle {
  display: none;
  position: relative;
  width: 30px;
  height: 30px;
  cursor: pointer;
  z-index: 9999;
}

.header__toggle .close,
.header__toggle .open {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity .3s ease-in-out;
}

.header__toggle svg {
  width: 24px;
  height: 24px;
}

.header__toggle .open,
.header__toggle[aria-expanded=true] .close {
  opacity: 1;
}

.header__toggle[aria-expanded=true] .open {
  opacity: 0;
}

.header__nav {
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav {
  position: relative;  
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-content: stretch;
    flex-wrap: wrap;
    align-items: stretch;

}

.nav[data-visible=true] {
  transform: translate(0);
}

.nav__item {
  margin: 0 10px;
  position: relative;
}

.nav__item--mobile {
  display: none;
}

.nav__link {
  color: var(--white);
  text-decoration: none;
  font-size: 18px;
  line-height: 24px;
  transition: color 400ms, 400ms ease;
}

a.nav__link:hover{
	color: var(--white);
	text-decoration: none;
}

.scrolled .nav__link,
.nav__submenu .nav__link {
  color: var(--white);
}

.nav__link--cta {
  display: flex;
  gap: 8px;
  background-color: transparent;
  color: var(--white);
  border: 1px solid var(--white);
  font-size: 18px;
  line-height: 23.4px;
  padding: 12px 28px;
  border-radius: 8px;
  transition: background-color 400ms, 400ms ease;
}

.scrolled .nav__link--cta,
.drawer-open .nav__link--cta {
	justify-content: center;
  color: var(--white);
  background-color: var(--spb-blue-darker);
  border: none;
}

.nav__link--cta:hover {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transition: background-color 400ms, 400ms ease;
}

.nav__link--cta svg {
  width: 24px;
  height: 24px;
}

/* Submenu */
.nav__submenu-wrapper {
  top: 80px;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  transition: all .3s ease-in-out;
}

.nav__item-has-submenu {
  position: relative;
}

.nav__item-has-submenu.active .nav__submenu-wrapper {
  opacity: 1;
  visibility: visible;
  transition: all .3s ease-in-out;
}

.nav__link-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.nav__icon {
  padding-top: 4px;
  pointer-events: none;
}

.nav__icon svg {
  position: relative;
  transform: rotate(0deg);
  transition: transform .3s ease-in-out;
  line-height: 0;
  width: 20px;
  height: 20px;
}

.nav__submenu-toggle svg path {
  fill: var(--white);
}

.scrolled .nav__submenu-toggle svg path,
.drawer-open .nav__submenu-toggle svg path {
  fill: var(--white);
}

.nav__item-has-submenu:hover .nav__icon svg,
.nav__item-has-submenu.active .nav__icon svg {
  transform: rotate(180deg);
}

.nav__submenu {
  background-color: var(--spb-blue);
  padding: 20px;
  border-radius: 8px;
}

.nav__item-sub {
  margin: 0;
  padding: 12px 18px;
  transition: all ease 0.2s;
}

.nav__item-sub:hover{
	background-color: var(--spb-blue-darker);
	border-radius: 6px;
}

@media screen and (max-width: 991px) {
  .header-wrapper {
    padding: 20px;
  }

  .header__logo {
    position: relative;
    z-index: 999;
  }

  .header__logo img {
  	width: auto;
    height: 48px !important;
  }

  .header__toggle {
    display: block;
  }

  .header__toggle .open svg path {
    fill: var(--white);
  }

  .scrolled .header__toggle .open svg path {
    fill: var(--white);
  }

  .header__nav {
    flex-direction: column;
    height: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
  }

  ul.header__nav {
    padding-bottom: 24px;
    padding-left: 25px;
  }

  .header__nav::before {
  	margin: 0 0 24px 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #eee;
  }

  .nav {
    width: 100vw;
    position: absolute;
    background-color: var(--spb-blue);
    height: 100vh;
    transform: translate(100%);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transition: transform .3s ease-in-out;
    padding: 72px 25px;
    overflow: hidden;
  }

  .nav__link {
    font-size: 24px;
  }

  .nav__link--cta{
		margin: 14px 0 0 0;
  }

  .nav__item-sub .nav__link {
    font-size: 20px;
  }

  .nav--cta {
    display: none;
  }

  .nav__item {
  	width: 100%;
    margin: 12px 0;
  }

  .nav__item-has-submenu {
    width: 100%;
  }

  .nav__item--mobile {
    display: block;
  }

  .nav__submenu-wrapper {
  	top: 0;
    position: relative;
    height: 0;
  }

  .nav__icon {
    position: absolute;
    pointer-events: visible;
    right: 0;
    width: 40px;
    height: 40px;
  }

  .nav__submenu {
    background-color: var(--spb-blue);
  }
}

@media screen and (min-width: 992px) {
  .nav__item-has-submenu:hover .nav__submenu-wrapper {
    opacity: 1;
    visibility: visible;
    transition: opacity .3s ease-in-out;
  }
}

/* Hero Home*/
.hero{
	width: 100%;
  height: 100vh !important;
  padding: 0 !important;
  position: fixed;
  z-index: -100;
}

.hero-text-banner{
  position: absolute;
  padding: 120px;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: flex-end;
}

.hero-text-banner .container{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.hero-text-banner .description{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px;
	border: 0.5px solid rgba(255, 255, 255, 0.2);
	-webkit-backdrop-filter: blur(10px) !important;
	backdrop-filter: blur(10px) !important;
	border-radius: 12px;
}

.hero-text-banner .description .button{
	gap: 12px;
}

.text-hero{
	display: flex;
  bottom: 80px;
  z-index: 1000;
}

.blank-section{
  padding-top: 100vh;
}

.img-slide{
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100vh;
}

@media screen and (max-width: 991px) {
  .hero-text-banner{
    padding: 64px 20px 20px 20px;
  }

  .hero-text-banner h1{
    font-size: 36px !important;
    text-align: center !important;
  }

  .text-hero{
  	gap: 12px;
  	flex-direction: column;
    width: 100% !important;
  }

  .hero-text-banner .description{
  	padding: 20px;
  }

  .hero-text-banner .description p{
  	text-align: center;
  }

  .hero-text-banner .button{
  	justify-content: center;
  }

}

.blank-section{
  padding-top: 100vh;
}

/* Hero Solid */
.hero-color{
	display: flex;
	flex-direction: column;
	background-color: var(--spb-blue);
	padding: 140px 120px 80px 120px;
}

.hero-color-wrapper{
	display: flex;
	flex-direction: column;
	min-height: 400px;
	justify-content: space-between;
}

.hero-color .breadcrumbs{
	display: flex;
	gap: 12px;
	color: var(--white);
}

.hero-color .breadcrumbs a{
	text-decoration: none;
	color: var(--white);
	display: flex;
	gap: 8px;
}

.hero-color .breadcrumbs .divider-arrow img{
	width: 12px;
	transform: rotate(90deg);
}

.hero-color .title{
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 75%;
}

.hero-color .title h1{
	color: var(--white);
}


@media screen and (max-width: 991px) {
	.hero-color{
		padding: 120px 20px 64px 20px;
	}

	.hero-color .title h1{
		width: 100%;
	}

	.hero-color-wrapper{
		gap: 64px;
	}
}

/* Hero Color Image */
.hero-color-image{
	display: flex;
	flex-direction: column;
	background-color: var(--spb-blue);
	padding: 140px 120px 80px 120px;
}

.hero-color-image-wrapper{
	min-height: 400px;
}

.hero-color-image .breadcrumbs{
	display: flex;
	gap: 12px;
	color: var(--white);
}

.hero-color-image .breadcrumbs a{
	text-decoration: none;
	color: var(--white);
	display: flex;
	gap: 8px;
}

.hero-color-image .breadcrumbs .divider-arrow img{
	width: 12px;
	transform: rotate(90deg);
}

.hero-color-image .title{
	margin-top: 120px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 75%;
}

.hero-color-image .title h1{
	color: var(--white);
}

.hero-color-image .image{
	margin-top: 48px;
	margin-bottom: -440px;
	width: 100%;
	aspect-ratio: 21/9 !important;
	overflow: hidden;
	border-radius: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.hero-color-image .image img{
	width: 100%;
}


@media screen and (max-width: 991px) {
	.hero-color-image{
		padding: 120px 20px 48px 20px;
	}

	.hero-color-image .title{
		width: 100%;
	}

	.hero-color-image .title h1{
		width: 100%;
	}

	.hero-color-image .image{
		margin-bottom: -240px !important;
		aspect-ratio: 1/1 !important;
	}

	.hero-color-image .image img{
		width: fit-content;
		height: 100%;
	}
}

/* About Us */
.about-us{
	background-color: var(--spb-blue);
	padding: 120px 120px 56px 120px;
}

.about-us-wrapper{
	display: flex;
	justify-content: space-between;
}

.about-us-wrapper .description{
	width: 45%;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.about-us-wrapper .description .button{
	display: flex;
	gap: 8px;
}

.about-us-wrapper .graphic{
	width: 50%;
}

.about-us-wrapper .graphic img{
	width: 100%;
}

.about-us-wrapper .image{
	width: 45%;
}

.about-us-wrapper .image img{
	width: 100%;
}

.ornament-background img{
	width: 100%;
}

@media screen and (max-width: 992px) {
	.about-us{
		padding: 64px 20px 24px 20px !important;
	}

	.about-us-wrapper{
		flex-direction: column;
		gap: 24px;
	}

	.about-us-wrapper .description{
		width: 100%;
	}

	.about-us-wrapper .description .button{
		flex-direction: column;
	}

	.about-us-wrapper .graphic{
		width: 100%;
	}

	.ornament-background{
		overflow: hidden;
	}

	.ornament-background img{
		width: 220%;
	}
}


/* Company Video */
.company-video{
	background-color: var(--light-grey);
	padding: 120px;
}

.company-video .title{
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 75%;
	align-items: center;
}

.company-video-wrapper{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

.video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 21/9 !important;
  overflow: hidden;
  border-radius: 12px;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 992px) {
	.company-video{
		padding: 64px 20px !important;
	}

	.company-video .title{
		width: 100%;
	}

	.video-container{
		aspect-ratio: 4/3 !important;
	}
}

/* Vision Mission */
.vision-mission{
	padding: 120px;
}

.vision-mission .title{
	display: flex;
	gap: 32px;
	justify-content: space-between;
}

.vision-mission .title h2{
	width: 70%;
}

.vision-mission p.display{
	color: var(--grey);
	width: 50%;
	margin-bottom: 0 !important;
}

.vision-mission-wrapper{
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.vision-photo{
	display: flex;
	gap: 20px;
	width: 100%;
	justify-content: space-between;
}

.vision-photo .image{
	width: 33%;
	overflow: hidden;
	border-radius: 18px;
}

.vision-photo .image img{
	width: 100%;
}

.vision, .mission{
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.mission-list{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: space-between;
}

.mission-card{
	width: 49%;
	padding: 24px;
	aspect-ratio: 21/9 !important;
	border: 1px solid rgba(0, 0, 0, 0.5);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: 18px;
	transition: all ease-out 0.3s;
}

.mission-card .image{
	width: 54px;
	height: 54px;
	background-color: var(--spb-blue-darker);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	transition: all ease-out 0.3s;
}

.mission-card .image .svg-wrapper{
	transition: all 0.3s ease-out;
}

.mission-card .image img{
	transition: all ease-out 0.3s;
}

.mission-card h5{
	width: 100%;
	margin-bottom: 0 !important;
	transition: all ease 0.3s;
}

.mission-card:hover{
	background-color: var(--spb-blue);
	border: 2px solid var(--spb-blue-light);
}

.mission-card:hover h5{
	color: var(--white);
}

.mission-card:hover .image{
	background-color: var(--spb-yellow);
}

.mission-card:hover .image .svg-wrapper{
	transform: rotate(90deg) !important;
}

.mission-card:hover .image svg path{
	fill: var(--black) !important;
}

@media screen and (max-width: 992px) {
	.vision-mission{
		padding: 64px 20px !important;
	}

	.vision .title, .mission .title{
		flex-direction: column;
		gap: 24px;
	}

	.vision-mission .title h2{
		width: 100%;
	}

	.vision-photo{
		flex-direction: column;
	}

	.vision-photo .image{
		width: 100%;
	}

	.mission-card{
		width: 100%;
		gap: 48px;
		padding: 20px;
	}
}

/* Our Program */
.our-program{
	background-color: var(--light-grey);
	padding: 120px;
}

.our-program .title{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.our-program-wrapper{
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.program-wrapper{
	display: flex;
	flex-direction: column;
	gap: 48px;
}

a.wide-card{
	text-decoration: none;
}

a.wide-card:hover{
	text-decoration: none;
}

a.wide-card:hover .wide-card-wrapper{
	background-color: var(--spb-blue);
	border: 2px solid var(--spb-blue-light);
	padding: 10.5px 64px 10.5px 10.5px;
}

a.wide-card:hover h3{
	color: var(--white) !important;
}

a.wide-card:hover p{
	color: var(--white) !important;
}

.wide-card-wrapper{
	gap: 48px;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	transition: all ease 0.3s;
	border-radius: 24px;
	border: 2px solid var(--light-grey);
}

.wide-card-wrapper .card-image{
	aspect-ratio: 16/9;
	width: 50%;
	border-radius: 18px;
	overflow: hidden;
}

.wide-card-wrapper .card-image img{
	width: 100%;
}

.wide-card-wrapper .card-detail{
	width: 40%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	padding: 32px 0;
}

.wide-card-wrapper .card-detail .card-title h3{
	color: var(--black);
	margin-bottom: 18px !important;
	transition: all ease 0.3s;
}

.wide-card-wrapper .card-detail .card-title p{
	color: var(--grey);
	transition: all ease 0.3s;
}

.program-detail{
	padding: 440px 120px 80px 120px;
}

.program-detail-wrapper{
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.program-detail .overview{
	width: 70%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.program-detail .side-nav{
	width: 25%;
}

.side-nav{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.side-nav hr{
	margin: 0 !important;
}

a.sidenav-card{
	width: 100%;
	display: flex;
	gap: 10px;
	padding: 12px 0;
	align-items: center;
	transition: all 0.3s ease-out;
}

a.sidenav-card .image{
	width: 76px;
	height: 76px;
	overflow: hidden;
	border-radius: 4px;
	aspect-ratio: 1/1 !important;
	display: flex;
	justify-content: center;
	align-items: center;
}

a.sidenav-card .image img{
	height: 100%;
}

a.sidenav-card p{
	width: 70%;
	margin-bottom: 0 !important;
	color: var(--black);
}

a.sidenav-card:hover{
	background-color: #E4E4E4;
	padding: 12px 12px;
}


@media screen and (max-width: 992px) {
	.our-program{
		padding: 64px 20px !important;
	}

	.wide-card-wrapper{
		flex-direction: column;
		gap: 32px;
	}

	.wide-card-wrapper .card-image, .wide-card-wrapper .card-detail{
		width: 100%;
	}

	.wide-card-wrapper .card-detail{
		padding: 0;
	}

	.program-detail{
		padding: 240px 20px 64px 20px;
	}

	.program-detail-wrapper{
		flex-direction: column;
		gap: 48px;
	}

	.program-detail .overview, .program-detail .side-nav{
		width: 100%;
	}
}


/* Gallery */
.gallery{
	padding: 120px;
}

.gallery-wrap{
	display: flex;
	flex-direction: column;
	gap: 64px;
	align-items: flex-start;
}

.gallery .title{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.photo-gallery-wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
}

.facility-gallery{
	margin-top: 64px;
}

.photo-gallery-wrapper img{
	width: 32.7%;
	border-radius: 18px;
}


@media screen and (max-width: 992px) {
	.gallery{
		padding: 64px 20px;
	}

	.photo-gallery-wrapper img{
		width: 48%;
		border-radius: 8px;
	}
}

/* Testimonial */
.review{
	padding: 120px 120px;
}

.review .title{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.review .title .title-detail{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.review-wrapper{
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.review-list .swiper-slide{
	width: 75%;
	margin-right: 0;
}

.review-card{
	padding: 12px;
	background-color: var(--spb-blue);
	display: flex;
	border-radius: 18px;
	justify-content: space-between;
}

.review-card .review-content{
	padding: 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.review-card .review-content h5{
	color: var(--white);
}

.review-card .review-content p{
	color: var(--white);
	margin-bottom: 0 !important;
}

.review-card .review-image{
	width: 280px !important;
	height: 280px !important;
	aspect-ratio: 1/1 !important;
}

.review-card .review-image img{
	border-radius: 14px;
	width: 100%;
}

.review-slide-control{
	display: flex;
	gap: 8px;
}

.review-button{
	background-color: var(--spb-blue);
}

.swiper-container{
	overflow: auto;
	width: 100%;
	height: 100%;
}

.swiper-button-next, .swiper-button-prev{
	position: static !important;
}

.swiper-button-next:after, .swiper-button-prev:after{
	content: none !important;
}

.swiper-slide-prev .review-card, .swiper-slide-next .review-card{
  background-color: var(--light-grey) !important;
  border: 1px solid rgba(0, 0, 0, 0.2);
  opacity: 0.5;
}

.swiper-slide-prev .review-card h5, .swiper-slide-next .review-card h5{
	color: rgba(0, 0, 0, 0.2);
}

.swiper-slide-prev .review-card p, .swiper-slide-next .review-card p{
	color: rgba(0, 0, 0, 0.2);
}

.swiper-navigation-button {
  width: 40px !important;
  height: 40px !important;
  background-color: var(--spb-blue);
  border-radius: 100%;
  --swiper-navigation-color: #fff;
  --swiper-navigation-size: 24px;
  transition: background-color 400ms, 400ms ease;
}

.swiper-navigation-button:hover {
  background-color: var(--spb-blue-darker);
  transition: background-color 400ms, 400ms ease;
}

@media screen and (max-width: 992px) {
	.review{
		padding: 64px 20px !important;
	}

	.review-wrapper{
		gap: 32px;
	}

	.review-card{
		flex-direction: column;
	}

	.review-card .review-content{
		gap: 24px;
		padding: 14px;
	}

	.review-content .review-star img{
		width: 14px;
	}

	.review-content h5{
		margin-bottom: 0 !important;
	}

	.review-card .review-image{
		width: 100% !important;
		height: 100% !important; 
	}
}

/* CTA */
.call-to-action{
	padding: 120px 120px 0 120px;
	margin-bottom: -180px;
	position: relative;
}

.call-to-action-wrapper{
	background: var(--spb-blue);
	border: 2px solid var(--spb-blue-light);
	border-radius: 24px;
	padding: 24px 120px;
	display: flex;
	justify-content: space-between;
}

.call-to-action .description{
	width: 55%;
	display: flex;
	flex-direction: column;
	gap: 18px;
	justify-content: center;
}

.call-to-action .image img{
	margin-top: -120px;
}

@media screen and (max-width: 992px) {
	.call-to-action{
		padding: 64px 20px !important;
	}

	.call-to-action-wrapper{
		flex-direction: column-reverse;
		padding: 48px 20px 20px 20px;
	}

	.call-to-action .description{
		width: 100%;
		gap: 8px;
	}

	.call-to-action .image img{
		width: 100%;
		margin-top: 0;
	}
}

/* Footer */
footer{
	padding: 32px;
}

.footer-wrap{
	padding: 240px 88px 88px 88px;
	background-color: var(--black);
	display: flex;
	flex-direction: column;
	border-radius: 24px;
	gap: 32px;
}

.footer-top{
	display: flex;
	gap: 20px;
}

.footer-company, .footer-link{
	width: 25%;
}

.footer-company{
	display: flex;
	flex-direction: column;
	gap: 32px;
	color: var(--white);
}

.footer-company .logo{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.footer-company .address p{
	margin-bottom: 6px !important;
	color: var(--white);
}

.footer-company .logo img{
	width: 50%;
}

.footer-company .social{
	display: flex;
	gap: 8px;
}

.footer-company .social a{
	display: flex;
	align-items: center;
	padding: 12px;
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.1);
	transition: all ease-out 0.3s;
}

.footer-company .social a:hover{
	background-color: rgba(255, 255, 255, 0.5);
}

.footer-company .social a img{
	width: 20px;
}

.footer-link, .footer-partner{
	display: flex;
	flex-direction: column;
	gap: 0;
}

.footer-link p.lead, .footer-partner p.lead{
	color: var(--grey);
}

.footer-link .link-list{
	display: flex;
	flex-direction: column;
}

.footer-partner{
	width: 50%;
}

.footer-partner .link-list{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	column-gap: 24px;
}

.footer-partner .link-list a{
	width: 48%;
}

.link-list a{
	text-decoration: none;
	color: var(--white);
}

.link-list a:hover{
	text-decoration: none;
	color: var(--grey);
}

.footer-bottom{
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.footer-bottom p{
	margin-bottom: 0 !important;
	color: var(--white);
}

.footer-bottom p a{
	font-weight: bold;
	text-decoration: none;
	color: var(--white);
}

footer hr {
  border: solid;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.6);
}

@media screen and (max-width: 992px) {
	footer{
		padding: 64px 0 0 0 !important;
	}

	.footer-wrap{
		padding: 96px 20px 56px 20px;
		gap: 4px;
		border-radius: 0;
	}

	.footer-top{
		flex-direction: column;
		gap: 20px;
	}

	.footer-bottom{
		margin-top: 8px;
		flex-direction: column;
		gap: 14px;
	}

	.link-list p{
		margin-bottom: 8px;
	}

	.footer-company, .footer-link, .footer-partner{
		width: 100%;
	}

	.footer-company{
		gap: 14px;
		margin-bottom: 8px;
	}

	.footer-partner .link-list a{
		width: 100%;
	}
}

/* Our Office */
.our-office{
	padding: 80px 120px;
}

.our-office-wrapper{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.our-office .description{
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.our-office .description h2{
	color: var(--black) !important;
}

.our-office .description p{
	color: var(--grey) !important;
}

.contact-list{
	display: flex;
	gap: 20px;
}

.contact-card{
	width: 25%;
	padding: 24px;
	aspect-ratio: 4/3 !important;
	border: 1px solid rgba(0, 0, 0, 0.5);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: 18px;
	transition: all ease-out 0.3s;
}

.contact-card .image{
	width: 54px;
	height: 54px;
	background-color: var(--spb-blue-darker);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
}

.contact-card .title{
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.contact-card .title p{
	margin-bottom: 0 !important;
	color: var(--grey);
}

.contact-card .title h5{
	color: var(--black);
}

.contact-card .image img{
	transition: all ease-out 0.3s;
}
.contact-card:hover{
	background-color: var(--spb-blue);
	border: 2px solid var(--spb-blue-light);
}
.contact-card:hover .image img{
	transform: rotate(45deg);
}

.contact-card:hover h5, .contact-card:hover p{
	color: var(--white);
}


@media screen and (max-width: 992px) {
	.our-office{
		padding: 64px 20px;
	}

	.contact-list{
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.contact-card{
		padding: 20px;
		gap: 48px;
		width: 100%;
		aspect-ratio: unset !important;
	}

}

/* CSS */
.map-container {
  position: relative;
  width: 100%;
  height: 100vh; /* Full screen height */
  overflow: hidden;
  border-radius: 20px;
  margin-top: 64px;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Sidenav */
.sidenav {
  /* height: 170px; */ /* Full-height: remove this if you want "auto" height */
  width: 205px; /* Set the width of the sidebar */
  position: fixed; /* Fixed Sidebar (stay in place on scroll) */
  z-index: 1; /* Stay on top */
  bottom: 0; /* Stay at the top */
  right: 0;
  overflow-x: hidden; /* Disable horizontal scroll */
  margin: 20px;
  padding: 0px 23px;
}
.sidenav a{
	height: 50px;
	width: 100%;
	font-size: 65px;
}
