:root{
  --navy:#16255C;
  --navy-deep:#0d1740;
  --royal:#2D2F8E;
  --gold:#C6993A;
  --gold-l:#DEB154;
  --gold-d:#A07828;
  --paper:#FAFAF5;
  --paper-2:#F2EDE4;
  --ink:#111827;
  --mid:#6B7280;
  --bg-gradient:linear-gradient(160deg, #0d1740 0%, #16255c 100%);
  --serif:'Cormorant',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --ease-in:cubic-bezier(0.4,0,1,1);
}

/* ==========================================================
   GLOBAL CSS
========================================================== */

body {
	overflow-x:hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    padding-bottom: 0;
}

small {
    font-size: smaller;
}

.btn-arrow {
    display: inline-flex !important;
    align-items: center;
    gap: 12px;
    justify-content: center;
}

img.btn-arrow {
    width: 13px;
    height: 13px;
}

.solid-btn:hover img {
    transform: translateX(3px);
}

.et-fb-root-ancestor .rr,
.et-fb-root-ancestor .rl,
.et-fb-root-ancestor .rv{
	transform: unset;
    opacity: unset;
}

.et-fb-root-ancestor div#nav,
.et-fb-root-ancestor footer{
	display:none;
}

.et-fb-root-ancestor .bb-mobile-header{
  max-height:100%;
  opacity:1;
}

div#nav{
	    transition: all .6s var(--ease);
	position: relative;
    left: 50%;
    transform: translateX(-50%);	
    width: 100%;
}

div#nav.scrolled {
    position: fixed;
	border-bottom: 1px solid rgba(22, 37, 92, .1);
    box-shadow: 0 2px 20px rgba(22, 37, 92, .06);
}

.et-l--footer {
    position: sticky!important;
    bottom: 0;
    z-index: 0;
}



::-webkit-scrollbar{width:4px;}

::-webkit-scrollbar-thumb{background:#C6993A;border-radius:3px;cursor: grab;}


/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.btn-solid,
.btn-line,
.btn-line-dark,
.load-more-btn{
    display: inline-flex;
	background:transparent;
    align-items: center;
    gap: 12px;
    padding:10px 36px;
    font-size: .72rem;
    letter-spacing: 2px;
    text-transform: uppercase;
	cursor:pointer;
    transition: all .35s var(--ease);
}

button.load-more-btn {
    margin: 40px auto;
    display: block;
    padding: 18px 36px;
}

button.load-more-btn .bico{
	position: relative;
    top: 3px;
}

/* Solid Button */

.btn-solid {
    color: var(--paper)!important;
    font-weight: 500;

    background: var(--gold)!important;
    border: 1.5px solid var(--gold)!important;
}

.btn-solid:hover {
    background: var(--gold-l);
    border-color: var(--gold-l)!important;

    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(198, 153, 58, .35);
}

/* Dark Solid & Outlined Buttons */ 

.hero-btns.dark {
    justify-content: flex-start;
}

.dark a.btn-solid {
    background: var(--navy);
    border-color: var(--navy);
}

.dark a.btn-solid:hover {
    box-shadow: 0 12px 32px rgba(22, 37, 92, .25);
}

.dark .btn-line,
.load-more-btn{
    color: var(--navy)!important;
    border: 1.5px solid var(--navy)!important;
}

.dark .btn-line:hover,
.btn-line:hover,
.load-more-btn:hover {
    transform: translateY(-3px);
    color: var(--gold)!important;
    border: 1.5px solid var(--gold)!important;
}

/* Outline Button */

.btn-line {
    color: rgba(255, 255, 255, .75)!important;
    font-weight: 400;

    border: 1.5px solid rgba(255, 255, 255, .2)!important;
}

/* Button Icon */

.bico {
    width: 14px;
    height: 14px;

    fill: none;
    stroke: currentColor;
    flex-shrink: 0;
}

.btn-line-dark{
    background: transparent;
    color: var(--navy);
    border: 1.5px solid var(--navy);
}

.card:hover .btn-line-dark {
    background: var(--navy);
    color: #fff;
}

/* ═══════════════════════════════════════════════
   MOBILE HEADER
═══════════════════════════════════════════════ */

.gsc-mobile-menu-list .et_pb_widget {
    padding: 0 !important;
    width: fit-content !important;
    margin: 0 !important;
}

.gsc-nav-bar .et_pb_button.btn-arrow {
    min-width: 196px;
}

.bb-mobile-header{
	max-height:0;
  display: flex;
  flex-direction: column;
	overflow:hidden;
	opacity:0;
  padding:0;
	transform:translateY(-10px);
	transition:
		max-height 0.55s ease,
		opacity 0.45s ease,
		transform 0.45s ease,
  	padding 0.45s ease;
}

/* ACTIVE STATE */
.bb-mobile-header.active{
	min-height: 120vh;/* enough height */
	opacity:1;
	transform:translateY(0);
  padding:24px 0;
}

/* HAMBURGER */
.bb-hamburger{
	width: 20px;
    	height: 18px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	cursor:pointer;
	position:relative;
	z-index:999;
}

.bb-hamburger span{
	display:block;
	width:100%;
	height:3px;
	background:var(--navy);
	border-radius:0;
	transition:all 0.35s ease;
	transform-origin:center;
}

/* CLOSE ICON ANIMATION */
.bb-hamburger.active span:nth-child(1){
	transform:translateY(8px) rotate(45deg);
}

.bb-hamburger.active span:nth-child(2){
	opacity:0;
	transform:scaleX(0);
}

.bb-hamburger.active span:nth-child(3){
	    transform: translateY(-7px) rotate(-49deg);
}

@media (max-width:981px){
  .gsc_menu {
    display:none;
  }

.gsc-nav-bar .et_pb_button.btn-arrow {
    min-width: 140px;
    padding: 10px!important;
 }
	
	img.btn-arrow {
		width: 10px!important;
		height: 10px!important;
	}
}

@media (min-width:980px){
  .bb-hamburger {
    display:none;
  }
}

/* ═══════════════════════════════════════════════
   NAVIGATION BAR
═══════════════════════════════════════════════ */
.gsc_menu{
    transition: color .3s;
    position: relative;
}

.gsc_menu li a {
  padding-bottom:0!important;
}



.gsc_menu li:hover::after {
    width: 100%;
}
.gsc_menu li::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--gold);
    transition: width .4s var(--ease);
}

.gsc_menu a:hover::after {
    width: unset!important;
}
.gsc_menu a::after {
    bottom: unset!important;
    left: unset!important;
    width: unset!important;
    height: unset!important;
    background: none!important;
}

.gsc_menu ul.sub-menu {
    top: 24px !important;
    padding: 0 !important;
}

.gsc_menu ul.sub-menu li {
    padding: 5px 0;
    width: 100%;
}

.gsc_menu ul.sub-menu li a:hover{
	background-color:transparent!important;
}

.gsc_menu ul.sub-menu li::after {
	bottom:0!important;
}

/* ═══════════════════════════════════════════════
   PROGRESS BAR
═══════════════════════════════════════════════ */
#prog{
  position:fixed;top:8px;left:0;right:0;height:3px;
  background:linear-gradient(to right,var(--gold),var(--gold-l));
  transform-origin:left;transform:scaleX(0);z-index:1001;
  box-shadow:0 0 8px rgba(198,153,58,.4);
}

/* ═══════════════════════════════════════════════
 * FORM POPUP* /
═══════════════════════════════════════════════ */
.popup-overlay {
    display: none;
    position: fixed;
    z-index: 999999;
    inset: 0;
    background: rgba(0,0,0,.7);
    height:100vh;
}

body.popup-open {
    position:fixed;
    width:100%;
    overflow:hidden;
}

.popup-content {
    position: relative;
    width: 90%;
    max-width: 700px;
    margin: 5vh auto;
       background-image: linear-gradient(160deg, #0d1740 0%, #16255c 100%);
    padding: 30px;
    border-radius: 10px;
    max-height: 90vh;
    overflow-y: auto;
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 30px;
    cursor: pointer;
    line-height: 1;
}

/* ═══════════════════════════════════════════════
   SCROLL ANIMATION
═══════════════════════════════════════════════ */
.animate-on-scroll {
    opacity: 0;
}

.et-fb-root-ancestor .animate-on-scroll {
    opacity: 1!important;
}

.animate-on-scroll.show {
    animation: fadeUp 1s .4s forwards!important;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

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

.rl.in {
    opacity: 1;
    transform: translateX(0);
}
.rl {
    opacity: 0;
    transform: translateX(-28px);
    transition: opacity .95s var(--ease), transform .95s var(--ease)!important;
}

.rr.in {
    opacity: 1;
    transform: translateX(0);
}
.rr {
    opacity: 0;
    transform: translateX(38px);
    transition: opacity .95s var(--ease), transform .95s var(--ease)!important;
}

.rv {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .95s var(--ease), transform .95s var(--ease)!important;
}

.rv.in {
    opacity: 1;
    transform: translateY(0);
}

.d1:nth-child(1) {
    transition-delay: .16s;
}

.d1:nth-child(2) {
	transition-delay: .24s;
}

.d1:nth-child(3) {
	transition-delay: .36s;
}

/* ═══════════════════════════════════════════════
   PRELOADER — CINEMATIC
═══════════════════════════════════════════════ */
#preloader{
  position:fixed;inset:0;z-index:9999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--navy-deep);
  transition:clip-path 1.2s cubic-bezier(0.76,0,0.24,1) 0s;
  clip-path:inset(0 0 0 0);
}
#preloader.exit{
  clip-path:inset(0 0 100% 0);
}
.pl-logo{
  width:300px;opacity:0;transform:translateY(20px);
  animation:plFade .9s var(--ease) .3s forwards;
  margin-bottom:3rem;
}
.pl-logo img{width:100%;height:auto}

/* Number counter */
.pl-counter{
  font-family:var(--serif);
  font-size:clamp(6rem,15vw,14rem);
  font-weight:300;line-height:1;
  color:transparent;
  -webkit-text-stroke:1px rgba(198,153,58,.25);
  letter-spacing:-6px;
  position:relative;
  overflow:hidden;
  height:1.1em;
  display:flex;align-items:center;justify-content:center;
  min-width:320px;
}
.pl-count-inner{
  display:flex;flex-direction:column;
  animation:countUp 2.8s ease-in-out .4s forwards;
  transform:translateY(0);
}
.pl-num{
  height:0.8em;display:flex;align-items:center;justify-content:center;
  white-space:nowrap;
}
@keyframes countUp{
  0%{transform:translateY(0)}
  8%{transform:translateY(-1.1em)}
  17%{transform:translateY(-2.2em)}
  25%{transform:translateY(-3.3em)}
  33%{transform:translateY(-4.4em)}
  42%{transform:translateY(-5.5em)}
  50%{transform:translateY(-6.6em)}
  58%{transform:translateY(-7.7em)}
  67%{transform:translateY(-8.8em)}
  75%{transform:translateY(-9.9em)}
  83%{transform:translateY(-11em)}
  92%{transform:translateY(-12.1em)}
  100%{transform:translateY(-13.2em)}
}

.pl-bar-wrap{
  width:200px;height:1px;background:rgba(255,255,255,.08);
  margin-top:2.5rem;overflow:hidden;
}
.pl-bar{
  height:100%;width:0;background:var(--gold);
  animation:plBar 2.8s var(--ease) .4s forwards;
}
@keyframes plBar{to{width:100%}}

.pl-label{
  font-size:.58rem;letter-spacing:5px;text-transform:uppercase;text-align:center;
  color:rgba(255,255,255,.25);margin-top:1.5rem;font-weight:400;
  opacity:0;animation:plFade .8s var(--ease) .8s forwards;
}

@keyframes plFade{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}



/* ═══════════════════════════════════════════════
   KEY FRAMES
═══════════════════════════════════════════════ */

@keyframes plBar{to{width:100%}}

.pl-label{
  font-size:.58rem;letter-spacing:5px;text-transform:uppercase;
  color:rgba(255,255,255,.25);margin-top:1.5rem;font-weight:400;
  opacity:0;animation:plFade .8s var(--ease) .8s forwards;
}

@keyframes plFade{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}


/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  
	#preloader{display:none!important}
}

@media (max-width:720px)
{
	h1 {
		font-size:50px!important;
	}
}

@media (min-width:720px) and (max-width:1025px)
{
	h1 {
		font-size:70px!important;
	}
}


/* ═══════════════════════════════════════════════
   INNER PAGES GLOBAL STYLES
═══════════════════════════════════════════════ */

.ph-crumb {
    font-size: .6rem;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    margin-bottom: 2rem;
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.ph-crumb a {
    color: rgba(255, 255, 255, .45)!important;
    transition: color .3s!important;
}

.ph-tags {
    margin-top: 2.4rem;
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
}

.ph-tag {
    font-size: .6rem;
    letter-spacing: 2.5px;
	line-height: normal;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
    border: 1px solid rgba(255, 255, 255, .18);
    padding: .6rem 1.05rem;
    border-radius: 40px;
}

.et_pb_section.gsc-inner-hero {
	background-repeat:no-repeat;
	background-size:cover;
}

.et_pb_section.gsc-inner-hero:before {
/*     background:linear-gradient(150deg,var(--navy-deep) 0%,var(--navy) 58%,#1d3270 100%) !important; */
	background: linear-gradient(91deg, var(--navy-deep) 0%, #16255cdb 58%, #1d327000 100%) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    position: absolute;
    z-index: 1;
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    top: 0;
    left: 0;
}


/* NUMBERIC BLURBS */
.blurb-nums .et_pb_image_wrap:before {
    content: "01";
    position: absolute;
    font-family: var(--serif);
    font-size: 2.3rem;
    color: var(--gold);
    font-weight: 400;
    line-height: .9;
    top: -5px;
    left: 0;
    z-index: 1;
    width: 50px;
    height: 50px;
}

.et_pb_blurb.blurb-nums:nth-child(2) .et_pb_image_wrap::before {
    content: "02";
}

.et_pb_blurb.blurb-nums:nth-child(3) .et_pb_image_wrap::before {
    content: "03";
}

.et_pb_blurb.blurb-nums:nth-child(4) .et_pb_image_wrap::before {
    content: "04";
}
.et_pb_blurb.blurb-nums:nth-child(6) .et_pb_image_wrap::before {
    content: "06";
}
.et_pb_blurb.blurb-nums:nth-child(7) .et_pb_image_wrap::before {
    content: "07";
}
.et_pb_blurb.blurb-nums:nth-child(5) .et_pb_image_wrap::before {
    content: "05";
}
.et_pb_blurb.blurb-nums:nth-child(8) .et_pb_image_wrap::before {
    content: "08";
}

.blurb-nums .et_pb_image_wrap{
  padding-right:10px;
}

@media (max-width:520px)
{
	h2 {
		font-size:38px!important
	}
}


/* ═══════════════════════════════════════════════
   FORM'S GLOBAL STYLES
═══════════════════════════════════════════════ */


.forminator-row.forminator-row-last,
.forminator-ui.forminator-custom-form[data-design=default]
{
	margin-bottom:0!important;
}



/* ═══════════════════════════════════════════════
   TICK ICON GLOBAL STYLES
═══════════════════════════════════════════════ */

.bullet-points ul {
    padding-bottom: 0;
    margin-top: 1.5rem;
}

.bullet-points li {
    margin-bottom: 1rem;
    position:relative;
	padding-left: 16px;
} 


.bullet-points li:before,
.sg-points li:before{
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    left: -30px;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: rgba(198, 153, 58, .14);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C6993A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
    background-size: .7rem;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 10px;
    color: #C6993A;
    font-weight: 900 !important;
}

.two-rows ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 2.5rem;
}

@media (max-width:1025px){
	.bullet-points li {
    	margin-bottom: 0.5em;
	}
	
	.two-rows ul {
		grid-template-columns: 1fr;
		gap: 0 2.5rem;
	}
}


/* ==========================================================
   404 CSS
========================================================== */
.nf-links {
    margin-top: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem 1.5rem;
    flex-wrap: wrap;
    font-family: var(--sans);
    font-size: .82rem;
}

.nf-links span {
    color: rgba(255, 255, 255, .38);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: .64rem;
}

.nf-links a {
    color: rgba(255, 255, 255, .72);
    position: relative;
    transition: color .3s;
	    font-size: .68rem;
    line-height: normal;
    letter-spacing: 4px;
	    font-weight: 500;
	    text-transform: uppercase;
}

.nf-links a:hover{
	color:var(--gold);
}



/* ==========================================================
   REMOVE THESE ONCE A/L PAGE IS UP
========================================================== */

.bb-academics-wrapper a:last-child{
    pointer-events: none;
}