/*
Theme Name: Total Child Theme
Theme URI: https://your-site.com
Description: Your site description. Go to Appearance > Editor to modify this file.
Author: Your Name
Author URI: https://your-site.com
Template: Total
Version: 1.0
*/

/* Paste the CSS from the dev site below this line. */

/* ===== Temporary CSS for WPBakery ===== */



.wssc-home-hero__tabs button {

	background: rgba(23, 35, 62, 0.5);

}





.wssc-home-hero__tabs button[aria-current="true"] {

		background: rgba(23, 35, 62, 1);

	border: 2px solid #ffd800;

	color: #fff;

}



/* ===== END - Temporary CSS for WPBakery ===== */



.post-meta-single {

    display: none;

}



.divider {

    display: none;

}



.page-header {

    display: none;

}



.call2Action {

    z-index: 100;

    text-align: center;

}



.call2Action-row {

    z-index: 99;

}



.vc_btn3-color-blue {

	background-color: #273555 !important;

	transition: 0.4s;

}



.vc_btn3-color-blue:hover {

	background-color: #121928 !important;

}



/* Home Page */



/* Dynamic visible crop height for homepage slider */

#rev_slider_1_1_forcefullwidth {

  /*height: var(--wssc-slider-crop-height, 544px) !important;*/

  overflow: hidden !important;

  /*position: relative !important;*/

}



/* This controls how much space the slider takes up in the page flow */

#rev_slider_1_1_forcefullwidth > rs-fw-forcer {

  height: var(--wssc-slider-crop-height, 544px) !important;

}



/* Keep the actual slider full-width */

#rev_slider_1_1_wrapper {

  width: 100vw !important;

  max-width: none !important;

  left: 50% !important;

  transform: translateX(-50%) !important;

}



/* Make sure video slides keep covering the full slider area */

#rev_slider_1_1 .html5vid,

#rev_slider_1_1 .html5vid video {

  width: 100% !important;

  height: 100% !important;

  object-fit: cover !important;

}



#rev_slider_1_1_wrapper rs-tabs-wrap > rs-tab[data-key="rs-1"] {

  display: none !important;

}



/* Remove all spacing around the homepage slider row */

.wssc-home-slider-row {

    margin-top: 0 !important;

    margin-bottom: 0 !important;

    padding-top: 0 !important;

    padding-bottom: 0 !important;

}



.wssc-home-slider-row > .wpb_column > .vc_column-inner {

    margin-top: 0 !important;

    margin-bottom: 0 !important;

    padding-top: 0 !important;

    padding-bottom: 0 !important;

}



.wssc-home-slider-row .wpb_content_element {

    margin-bottom: 0 !important;

}



/* Home quick links under slider */



.home-quick-links {

  display: grid !important;

  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;

  width: 100% !important;

}



/* Stop WPBakery pseudo-elements becoming grid cells */

.home-quick-links::before,

.home-quick-links::after {

  content: none !important;

  display: none !important;

}



/* Reset WPBakery column behaviour */

.home-quick-links > .wpb_column,

.home-quick-links > .vc_column_container {

  width: auto !important;

  max-width: none !important;

  float: none !important;

  clear: none !important;

  padding-left: 0 !important;

  padding-right: 0 !important;

}



/* Button sizing */

.home-quick-links .navBar-main {

  padding-left: 3px !important;

  padding-right: 3px !important;

  box-sizing: border-box !important;

}



/* Keep icon and text on one line */

.home-quick-links .navBar-main,

.home-quick-links .navBar-main .theme-button-inner {

  font-size: clamp(16px, 1.1vw, 22px) !important;

  line-height: 1 !important;

  white-space: nowrap !important;

}



.home-quick-links .navBar-main .theme-button-inner {

  display: flex !important;

  flex-direction: row !important;

  flex-wrap: nowrap !important;

  align-items: center !important;

  justify-content: center !important;

  gap: clamp(3px, 0.35vw, 8px) !important;

  width: 100%;

}



.home-quick-links .navBar-main .vcex-icon-wrap {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  margin-right: 0 !important;

  flex-shrink: 0 !important;

}



.home-quick-links .navBar-main .ticon {

  font-size: 0.9em !important;

  line-height: 1 !important;

}



/* Mobile: 1 per row */

@media (max-width: 767px) {

  .home-quick-links {

    grid-template-columns: 1fr !important;

  }

}



/* Home Page Feature Cards */



.wssc-home-features .wssc-home-section-label {

    justify-self: center !important;

}



.wssc-feature-row {

  /* Layout */

  display: grid !important;

  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

  gap: 18px !important;



  /* Make the row itself full browser width so the blue body background is covered */

  width: 100vw !important;

  max-width: none !important;

  margin-left: calc(50% - 50vw) !important;

  margin-right: calc(50% - 50vw) !important;

  margin-bottom: 0 !important;



  /* White section background */

  background: #ffffff !important;



  /* Create the contained card area */

  padding-left: max(40px, calc((100vw - 1500px) / 2)) !important;

  padding-right: max(40px, calc((100vw - 1500px) / 2)) !important;

  padding-top: 20px !important;

  padding-bottom: 60px !important;



  /* General cleanup */

  clear: both !important;

  box-sizing: border-box !important;

  position: relative;

  z-index: 1;

}



/* Full-width white background behind the constrained card row */

.wssc-feature-row::before {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 50%;

  width: 100vw;

  transform: translateX(-50%);

  background: #ffffff;

  z-index: -1;

}



/* Feature card columns inside the grid */

.wssc-feature-row > .wssc-feature-card {

  width: auto !important;

  max-width: none !important;

  min-width: 0 !important;



  float: none !important;

  clear: none !important;

  flex: initial !important;



  padding-left: 0 !important;

  padding-right: 0 !important;

  margin: 0 !important;



  box-sizing: border-box !important;

  justify-self: stretch !important;

  align-self: stretch !important;

}



/* Desktop: 4 across */

.wssc-feature-row .wssc-feature-card {

  clear: none !important;

  box-sizing: border-box !important;

  padding-left: 9px !important;

  padding-right: 9px !important;

  margin-bottom: 24px !important;

}



/* Tablet: 2 across */

@media (max-width: 1200px) {

  .wssc-feature-row {

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  }

}



/* Mobile: 1 across */

@media (max-width: 700px) {

  .wssc-feature-row {

    grid-template-columns: 1fr !important;

    padding-left: 20px !important;

    padding-right: 20px !important;

  }

}



/* Card styling */

.wssc-feature-card .vc_column-inner {

  background: #ffffff;

  border-radius: 18px;

  padding: 30px 22px !important;

  box-shadow: 0 8px 24px rgba(0,0,0,0.08);

  height: 400px;

  overflow: hidden;

  display: flex !important;

  align-items: center;

  justify-content: center;

  box-sizing: border-box;

  margin: 0 !important;

  width: 100% !important;

}



.wssc-feature-card .wpb_wrapper {

  width: 100%;

  text-align: center;

}



.wssc-feature-card img {

  max-width: 105px;

  margin-bottom: 15px;

}



.wssc-feature-card h3,

.wssc-feature-card h4 {

  color: #24395d;

  font-weight: 700;

  line-height: 1.12;

  font-size: clamp(20px, 1.45vw, 30px);

	margin: 15px 0 20px;

}



.wssc-feature-card p {

  color: #24395d;

  font-size: clamp(14px, 0.9vw, 17px);

  line-height: 1.45;

	margin-top: 10px;

  display: -webkit-box;

  -webkit-line-clamp: 4;

  -webkit-box-orient: vertical;

  overflow: hidden;

}



.wssc-feature-card.portal .vc_column-inner {

  border: 2px solid #ffd900;

  background: #fffdf2;

}



/* Let cards become flexible again on mobile */

@media (max-width: 700px) {

  .wssc-feature-card .vc_column-inner {

    height: auto;

    min-height: 340px;

  }

}



/* Force the following homepage section to start below the cards */

.wssc-feature-row + .vc_row,

.wssc-feature-row + .wpb_row,

#news-feed {

  clear: both !important;

}





/*@media (max-width: 1100px) {

  .wssc-feature-card {

    width: 50% !important;

  }

}



@media (max-width: 650px) {

  .wssc-feature-card {

    width: 100% !important;

  }

}*/



#discover-where-education {

    border-top: 4px solid #ffd800;

}



.upcmEvents-home {

    box-shadow: 5px 5px 5px #273555;   

}



.navBar-main {

    z-index: 999;

}



.navBar-main:hover {

     border-top: 4px solid #ffd800;

}



.navBar-main .ticon {

    color: #ffd800;

}



#schoolPortal-navBar::before {

    display: inline-block;

    height: 50px;

    width: 50px;

    margin-right: 5px;

    content: "";

    background: url('/wp-content/uploads/2023/07/fontawesome-webfont.svg') no-repeat fixed center;

}



@media only screen and (max-width: 600px) {

	#news-feed {

		margin-left: -30px;

	}

	

	#calendar {

		margin-left: -30px;

	}

}



.wpex-carousel-entry-details {

	height: 150px;

}



.owl-prev {

	background: #273555 !important;

	border: none !important;

	color: white !important;	

	height: 30px !important;

	width: 30px !important;

}



.owl-next {

	background: #273555 !important;

	border: none !important;

	color: white !important;	

	height: 30px !important;

	width: 30px !important;

}



/* Make the menu overlay sit above homepage content */

#quadmenu,

.quadmenu,

.quadmenu-container,

.quadmenu-dropdown-menu {

  z-index: 99999 !important;

}



/* Force the menu dropdown/fullscreen panel to be solid */

.quadmenu-dropdown-menu {

  background: #fff !important;

}



/* Push Slider Revolution underneath */

.rev_slider_wrapper,

rs-module-wrap,

rs-module {

  z-index: 1 !important;

}



/* Hide quick links when menu is open */

body.quadmenu-open .quick-links,

body.quadmenu-open .rev_slider_wrapper + .vc_row {

  display: none !important;

}



/* Make the hamburger / close area easier to click */

#menu-item-933 > a.quadmenu-dropdown-toggle {

  display: flex !important;

  align-items: center;

  justify-content: center;

  width: 64px !important;

  height: 64px !important;

  padding: 0 !important;

  cursor: pointer !important;

  position: relative;

  z-index: 100001 !important;

}



/* Make the icon itself clickable too */

#menu-item-933 .quadmenu-icon {

  pointer-events: auto !important;

  cursor: pointer !important;

}



.quadmenu-item-25610 {

    margin-top: 15px !important;

}



.quadmenu-item-25585 {

    margin-bottom: 20px !important;

} 



/* Main Menu Animation */



/* QuadMenu fullscreen menu open animation */



#menu-item-933.open .quadmenu-dropdown-menu {

  animation: wsscQuadMenuOpen 0.45s cubic-bezier(.16,1,.3,1) both !important;

  transform-origin: top center !important;

}



@keyframes wsscQuadMenuOpen {

  from {

    opacity: 0;

    transform: translateY(-22px) scale(0.98);

  }



  to {

    opacity: 1;

    transform: translateY(0) scale(1);

  }

}



@media (prefers-reduced-motion: reduce) {

  #menu-item-933.open .quadmenu-dropdown-menu {

    animation: none !important;

  }

}



.utility-card svg.utility-card-icon {

    width: 48px;

    height: 48px;

    display: block;

}



.utility-card i.utility-card-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 50px;

    height: 50px;

    border-radius: 50%;

    background: #fff;

    color: #273555;

    font-size: 20px;

}



#quadmenu .utility-card i.utility-card-icon {

    font-size: 33px !important;

}



#quadmenu .quadmenu-item-25589 .utility-card i.utility-card-icon {

    font-size: 27px !important;

}



/* ===== Home page calendar carousel ===== */



.wssc-events-panel.vc_row {

    background: #fff !important;

    padding: 0 0 40px !important;

}



.sp-events-carousel {

  display: grid;

  grid-template-columns: 1fr auto auto 1fr;

  grid-template-rows: auto auto;

  column-gap: 12px;

  row-gap: 28px;

  width: 100%;

  max-width: 1600px;

  margin: 40px auto 20px;

  align-items: center;

	font-family: sans-serif;

}



.sp-events-track {

  grid-column: 1 / -1;

  grid-row: 1;

  display: flex;

  gap: 28px;

  overflow-x: auto;

  scroll-snap-type: x mandatory;

  scroll-behavior: smooth;

  padding: 10px 8px 20px;

  -webkit-overflow-scrolling: touch;

	scrollbar-width: thin !important;

}







/* Event card */

.sp-event-card {

  flex: 0 0 clamp(300px, 28vw, 430px);

  min-height: 300px;

  background: #ffffff;

  color: #273555;

  border-radius: 22px;

  overflow: hidden;

  scroll-snap-align: start;

  display: flex;

  flex-direction: column;

  box-shadow: 0 8px 24px rgba(0,0,0,0.08);

}



/* Top navy section */

.sp-event-card-top {

  background: #273555;

  color: #ffffff;

  padding: 26px 34px 24px;

  min-height: 145px;

  display: flex;

  flex-direction: column;

  justify-content: flex-start;

  gap: 10px;

}



/* Term / week */

.sp-event-week {

  color: #ffffff;

  font-weight: 400;

  text-transform: uppercase;

  font-size: clamp(22px, 1.8vw, 36px);

  line-height: 1.05;

  max-width: none;

}



/* Date */

.sp-event-date-block {

  text-align: left;

  color: #ffd800;

  display: flex;

  align-items: baseline;

  gap: 12px;

}



.sp-event-day {

  display: inline-block;

  font-size: clamp(44px, 4.4vw, 72px);

  font-weight: 800;

  line-height: 0.9;

}



.sp-event-month {

  display: inline-block;

  font-size: clamp(44px, 4.4vw, 72px);

  font-weight: 800;

  text-transform: uppercase;

  line-height: 0.9;

}



/* Bottom white section */

.sp-event-card-body {

  padding: 32px 36px 38px;

  background: #ffffff;

  flex: 1;

}



.sp-event-card-body h3 {

  color: #273555;

  font-size: clamp(30px, 2.4vw, 48px);

  line-height: 1.05;

  margin: 0 0 18px 0;

  text-transform: uppercase;

  font-weight: 800;

}



.sp-event-date-line {

  color: #8a8a8a;

  font-size: clamp(18px, 1.35vw, 27px);

  line-height: 1.25;

  margin: 0 0 16px 0;

}



.sp-event-location {

  color: #273555;

  font-size: clamp(18px, 1.35vw, 28px);

  line-height: 1.25;

  margin: 0;

}



/* Tablet */

@media (max-width: 1024px) {

  .sp-event-card {

    flex-basis: 340px;

    min-height: 290px;

  }



  .sp-event-card-top {

    padding: 24px 28px;

    min-height: 130px;

  }



  .sp-event-card-body {

    padding: 28px;

  }

}



/* Mobile */

@media (max-width: 700px) {

  .sp-events-carousel {

    row-gap: 22px;

  }



  .sp-event-card {

    flex: 0 0 84vw;

    min-height: 280px;

  }



  .sp-event-card-top {

    padding: 22px;

    min-height: 120px;

  }



  .sp-event-card-body {

    padding: 24px;

  }



  .sp-events-nav {

    width: 52px;

    height: 52px;

    font-size: 38px;

  }

}

/* ===== Calendar tiles: fixed height + fixed top section ===== */



.sp-event-card {

  flex: 0 0 clamp(260px, 23vw, 360px) !important;

/*height: 220px !important;*/

min-height: 220px !important;

max-height: 250px !important;



  border-radius: 22px !important;

  overflow: hidden !important;

  display: flex !important;

  flex-direction: column !important;

  background: #f5f5f5 !important;

}



/* Fixed navy section */

.sp-event-card-top {

 height: 88px !important;

min-height: 88px !important;

max-height: 88px !important;

  box-sizing: border-box !important;



  background: #273555 !important;

  padding: 14px 20px 12px !important;



  display: flex !important;

  flex-direction: column !important;

  justify-content: flex-start !important;

  gap: 8px !important;

}



/* Top white text */

.sp-event-week {

  font-size: clamp(14px, 1.05vw, 20px) !important;

  line-height: 1.05 !important;

  font-weight: 400 !important;

  color: #ffffff !important;

  text-transform: uppercase !important;

  margin: 0 !important;

}



/* Yellow date row */

.sp-event-date-block {

  display: flex !important;

  align-items: baseline !important;

  gap: 8px !important;

  text-align: left !important;

  color: #ffd800 !important;

}



.sp-event-day,

.sp-event-month {

  font-size: clamp(30px, 2.0vw, 35px) !important;

  line-height: 0.95 !important;

  font-weight: 800 !important;

  text-transform: uppercase !important;

  margin: 0 !important;

}



/* White body fills remaining space */

.sp-event-card-body {

  flex: 1 !important;

  height: calc(250px - 98px) !important;

  box-sizing: border-box !important;

  padding: 18px 20px 18px !important;



  display: flex !important;

  flex-direction: column !important;

  justify-content: flex-start !important;

  overflow: hidden !important;

  background: #f5f5f5 !important;

}



/* Event title smaller */

.sp-event-card-body h3 {

  font-size: clamp(18px, 1.4vw, 28px) !important;

  line-height: 1.03 !important;

  font-weight: 800 !important;

  text-transform: uppercase !important;

  color: #273555 !important;

  margin: 0 0 10px 0 !important;



  display: -webkit-box !important;

  -webkit-line-clamp: 2 !important;

  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

}



/* Date line smaller */

.sp-event-date-line {

  font-size: clamp(13px, 1vw, 18px) !important;

  line-height: 1.15 !important;

  color: #8d8d8d !important;

  margin: 0 0 8px 0 !important;



  white-space: nowrap !important;

  overflow: hidden !important;

  text-overflow: ellipsis !important;

}



/* Location smaller */

.sp-event-location {

  font-size: clamp(13px, 1vw, 18px) !important;

  line-height: 1.15 !important;

  color: #273555 !important;

  margin: 0 !important;



  white-space: nowrap !important;

  overflow: hidden !important;

  text-overflow: ellipsis !important;

}



/* Click/tap label on calendar tiles */

.sp-event-card {

  cursor: pointer;

}



.sp-event-card-body {

  position: relative !important;

}



.sp-event-more {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  margin-top: auto;

  align-self: flex-end;



  color: #273555;

  font-size: clamp(10px, 0.75vw, 13px);

  font-weight: 700;

  line-height: 1;

  text-transform: uppercase;

  letter-spacing: 0.03em;

  opacity: 0.7;

}



.sp-event-info-icon {

  width: 15px;

  height: 15px;

  border-radius: 50%;

  border: 1.5px solid currentColor;



  display: inline-flex;

  align-items: center;

  justify-content: center;



  font-size: 10px;

  font-weight: 800;

  font-family: Arial, Helvetica, sans-serif;

  line-height: 1;

  text-transform: none;

}



.sp-event-card:hover .sp-event-more {

  opacity: 1;

}



/* Calendar event modal */

.sp-event-modal {

  position: fixed;

  inset: 0;

  z-index: 999999;

  display: none;

  align-items: center;

  justify-content: center;

  padding: 24px;

}



.sp-event-modal.is-open {

  display: flex;

}



.sp-event-modal-overlay {

  position: absolute;

  inset: 0;

  background: rgba(0,0,0,0.62);

}



.sp-event-modal-window {

  position: relative;

  z-index: 1;

  width: min(760px, 94vw);

  max-height: 86vh;

  overflow-y: auto;

  background: #ffffff;

  border-radius: 22px;

  box-shadow: 0 18px 50px rgba(0,0,0,0.3);

}



.sp-event-modal-close {

  position: absolute;

  top: 14px;

  right: 18px;

  z-index: 2;

  border: none;

  background: transparent;

  color: #ffffff;

  font-size: 38px;

  line-height: 1;

  cursor: pointer;

}



.sp-event-modal-top {

  background: #273555;

  color: #ffffff;

  padding: 34px 42px;

}



.sp-event-modal-week {

  margin: 0 0 14px 0;

  color: #ffd800;

  font-size: clamp(18px, 1.4vw, 26px);

  text-transform: uppercase;

  font-weight: 700;

}



.sp-event-modal-title {

  margin: 0;

  color: #ffffff;

  font-size: clamp(30px, 2.5vw, 48px);

  line-height: 1.05;

  text-transform: uppercase;

  font-weight: 800;

}



.sp-event-modal-body {

  padding: 34px 42px 42px;

  color: #273555;

  font-size: clamp(17px, 1.1vw, 22px);

  line-height: 1.45;

}



.sp-event-modal-body p {

  margin: 0 0 16px 0;

}



.sp-event-modal-description {

  margin-top: 8px !important;

  color: #555555;

  white-space: pre-wrap;

}



@media (max-width: 700px) {

  .sp-event-modal-window {

    width: 96vw;

    border-radius: 18px;

  }



  .sp-event-modal-top,

  .sp-event-modal-body {

    padding: 26px 24px;

  }

}



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

   Footer

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



/*

Footer row references:

- Desktop contact row: .vc_custom_1695169200267

- Tablet/mobile contact row: .vc_custom_1695174407201

- Desktop WFGS/social row: .vc_custom_1695167087159

- Tablet/mobile WFGS/social row: .vc_custom_1695174120663

*/





/* ---------------------------------------------------------

   Base footer setup

   --------------------------------------------------------- */



#footer.site-footer {

  --footer-blue: #273555;

  --footer-yellow: #ffd800;

  --footer-muted: #7985a0;

  --footer-white: #ffffff;



  background: var(--footer-blue) !important;

  border-top: 5px solid var(--footer-yellow) !important;

  overflow: hidden !important;

}



#footer .site-footer-inner,

#footer #footer-inner,

#footer #footer-widgets,

#footer .footer-box,

#footer .wpex-templatera-widget-content {

  width: 100% !important;

  max-width: none !important;

  padding: 0 !important;

  margin: 0 !important;

}



/* Stop WPBakery stretched rows causing horizontal overflow */

#footer .wpex-vc-row-stretched {

  left: auto !important;

  width: 100% !important;

  max-width: 100% !important;

  margin-left: auto !important;

  margin-right: auto !important;

  box-sizing: border-box !important;

}



/* Stop WPBakery clearfix pseudo-elements interfering with grid/flex */

#footer .vc_row::before,

#footer .vc_row::after {

  content: none !important;

  display: none !important;

}



/* General image scaling */

#footer .wpb_single_image img {

  max-width: 100% !important;

  height: auto !important;

}





/* ---------------------------------------------------------

   Contact row shared styling

   --------------------------------------------------------- */



#footer .vc_custom_1695169200267,

#footer .vc_custom_1695174407201 {

  width: 100% !important;

  margin-left: auto !important;

  margin-right: auto !important;

  box-sizing: border-box !important;

}



#footer .vc_custom_1695169200267 > .wpb_column,

#footer .vc_custom_1695174407201 > .wpb_column {

  width: auto !important;

  max-width: none !important;

  float: none !important;

  clear: none !important;

  padding-left: 0 !important;

  padding-right: 0 !important;

}



/* Footer contact headings: Visit / Contact / Email */

#footer .footerWidgets {

  background: transparent !important;

  padding: 0 !important;

  color: var(--footer-white) !important;

  font-size: clamp(14px, 1vw, 18px) !important;

  line-height: 1.1 !important;

  font-weight: 700 !important;

  text-transform: uppercase !important;

  white-space: nowrap !important;

}



#footer .footerWidgets .theme-button-inner {

  display: inline-flex !important;

  align-items: center !important;

  gap: 10px !important;

}



#footer .footerWidgets .ticon {

  color: var(--footer-yellow) !important;

  width: 18px !important;

  text-align: center !important;

  flex-shrink: 0 !important;

}



/* Contact detail text */

#footer .vc_custom_1695168360241,

#footer .vc_custom_1695168368491,

#footer .vc_custom_1695168375485,

#footer .vc_custom_1695174251994,

#footer .vc_custom_1695174295359,

#footer .vc_custom_1695174321083 {

  margin-top: 8px !important;

  padding-left: 28px !important;

  color: var(--footer-muted) !important;

  font-size: clamp(12px, 0.85vw, 15px) !important;

  line-height: 1.45 !important;

  max-width: 100% !important;

  overflow-wrap: anywhere !important;

}



#footer .vc_custom_1695168360241 p,

#footer .vc_custom_1695168368491 p,

#footer .vc_custom_1695168375485 p,

#footer .vc_custom_1695174251994 p,

#footer .vc_custom_1695174295359 p,

#footer .vc_custom_1695174321083 p {

  margin: 0 !important;

}





/* ---------------------------------------------------------

   WFGS / social row shared styling

   --------------------------------------------------------- */



#footer .vc_custom_1695167087159,

#footer .vc_custom_1695174120663 {

  width: 100% !important;

  margin-left: auto !important;

  margin-right: auto !important;

  box-sizing: border-box !important;

}



#footer .vc_custom_1695167087159 img,

#footer .vc_custom_1695174120663 img {

  max-width: 100% !important;

  height: auto !important;

}



#footer #followText-footer,

#footer .socials-footer {

  width: auto !important;

  max-width: none !important;

  float: none !important;

  flex: 0 0 auto !important;

}



#footer .vc_inner {

  display: flex !important;

  align-items: center !important;

  justify-content: flex-start !important;

  gap: 10px !important;

  flex-wrap: nowrap !important;

}



#footer #followText-footer p,

#footer .vc_inner .wpb_text_column p {

  width: auto !important;

  margin: 0 !important;

  white-space: nowrap !important;

}



#footer .socials-footer .vcex-icon-wrap {

  color: var(--footer-muted) !important;

  font-size: clamp(28px, 2.3vw, 42px) !important;

  line-height: 1 !important;

}



#footer .socials-footer .vcex-icon-wrap:hover {

  color: var(--footer-white) !important;

  cursor: pointer !important;

}





/* ---------------------------------------------------------

   Acknowledgement row

   --------------------------------------------------------- */



#footer .no-bottom-margins {

  width: 100% !important;

  max-width: 1500px !important;

  margin: 0 auto !important;

  padding: 0 clamp(28px, 5vw, 70px) 30px !important;

  box-sizing: border-box !important;

}



#footer .vc_separator {

  margin-top: 0 !important;

  margin-bottom: 22px !important;

}



#footer .no-bottom-margins p {

  margin: 0 !important;

  color: var(--footer-white) !important;

  font-size: clamp(12px, 0.82vw, 15px) !important;

  line-height: 1.45 !important;

  text-align: center !important;



  display: flex !important;

  align-items: center !important;

  justify-content: center !important;

  gap: 8px !important;

  flex-wrap: wrap !important;

}



/* Keep flags consistent instead of percentage-based */

#footer .no-bottom-margins img {

  width: 24px !important;

  height: auto !important;

  position: static !important;

  top: auto !important;

  left: auto !important;

  margin: 0 0 0 4px !important;

}





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

   Desktop footer

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



@media (min-width: 1200px) {



  /* Show desktop rows, hide tablet/mobile rows */

  #footer .vc_custom_1695169200267,

  #footer .vc_custom_1695167087159 {

    display: block !important;

  }



  #footer .vc_custom_1695174407201,

  #footer .vc_custom_1695174120663 {

    display: none !important;

  }



  /* Contact row */

  #footer .vc_custom_1695169200267 {

    display: grid !important;

    grid-template-columns: minmax(340px, 1.5fr) repeat(3, minmax(160px, 1fr)) !important;

    gap: clamp(28px, 4vw, 70px) !important;

    align-items: center !important;



    max-width: 1500px !important;

    padding: 38px clamp(40px, 6vw, 90px) 0 !important;

  }



  /* WFGS/social row */

  #footer .vc_custom_1695167087159 {

    max-width: 1500px !important;

    padding: 0 clamp(40px, 6vw, 90px) 0 !important;



    /* Pulls acknowledgement line upward */

    margin: 0 auto -55px !important;

  }



  #footer .vc_custom_1695167087159 .center-row,

  #footer .vc_custom_1695167087159 .center-row-inner {

    width: 100% !important;

    max-width: none !important;

  }



  #footer .vc_custom_1695167087159 .center-row-inner {

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    align-items: center !important;

    gap: 32px !important;

  }



  #footer .no-bottom-margins {

    padding-top: 0 !important;

    padding-bottom: 30px !important;

  }

}





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

   Tablet / narrow desktop footer

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



@media (min-width: 768px) and (max-width: 1199px) {



  /* Show tablet rows, hide desktop rows */

  #footer .vc_custom_1695174407201,

  #footer .vc_custom_1695174120663 {

    display: block !important;

  }



  #footer .vc_custom_1695169200267,

  #footer .vc_custom_1695167087159 {

    display: none !important;

  }



  /* Contact row */

  #footer .vc_custom_1695174407201 {

    display: grid !important;

    grid-template-columns:

      minmax(250px, 1.25fr)

      minmax(120px, 0.8fr)

      minmax(140px, 0.9fr)

      minmax(170px, 1fr) !important;

    gap: clamp(16px, 2.4vw, 32px) !important;

    align-items: center !important;



    max-width: 1200px !important;

    padding: 36px clamp(28px, 5vw, 60px) 0 !important;

  }



  #footer .footerWidgets {

    font-size: clamp(13px, 1.05vw, 16px) !important;

  }



  #footer .vc_custom_1695174251994,

  #footer .vc_custom_1695174295359,

  #footer .vc_custom_1695174321083 {

    font-size: clamp(10px, 0.9vw, 12px) !important;

    line-height: 1.45 !important;

    padding-left: 24px !important;

  }



  /* WFGS/social row */

  #footer .vc_custom_1695174120663 {

    display: grid !important;

    grid-template-columns: 1fr 1fr !important;

    align-items: center !important;

    gap: 28px !important;



    max-width: 1200px !important;

    padding: 0 clamp(28px, 5vw, 60px) 0 !important;



    /* Pulls acknowledgement line upward */

    margin: 0 auto -45px !important;

  }



  #footer .vc_custom_1695174120663 > .wpb_column {

    width: auto !important;

    max-width: none !important;

    float: none !important;

    clear: none !important;

  }



  #footer .no-bottom-margins {

    padding-top: 0 !important;

    padding-bottom: 28px !important;

  }

}





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

   Mobile footer

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



@media (max-width: 767px) {



  /* Hide desktop rows, reuse tablet rows for mobile */

  #footer .vc_custom_1695169200267,

  #footer .vc_custom_1695167087159 {

    display: none !important;

  }



  #footer .vc_custom_1695174407201,

  #footer .vc_custom_1695174120663 {

    display: grid !important;

    grid-template-columns: 1fr !important;

    width: 100% !important;

    max-width: 560px !important;

    margin: 0 auto !important;

    padding-left: 24px !important;

    padding-right: 24px !important;

    box-sizing: border-box !important;

  }



  /* Contact row */

  #footer .vc_custom_1695174407201 {

    gap: 18px !important;

    padding-top: 32px !important;

    padding-bottom: 0 !important;

  }



  /* Force hidden-xs footer columns to show in controlled mobile layout */

  #footer .vc_custom_1695174407201 > .wpb_column,

  #footer .vc_custom_1695174120663 > .wpb_column {

    display: block !important;

    visibility: visible !important;

    width: 100% !important;

    max-width: none !important;

    float: none !important;

    clear: both !important;

    padding: 0 !important;

    text-align: center !important;

  }



  #footer .wpb_single_image,

  #footer .vc_align_left,

  #footer .vc_align_right {

    text-align: center !important;

    margin-left: auto !important;

    margin-right: auto !important;

  }



  #footer .vc_custom_1695174407201 img {

    max-width: min(100%, 360px) !important;

  }



  #footer .footerWidgets {

    font-size: 16px !important;

  }



  #footer .footerWidgets,

  #footer .footerWidgets .theme-button-inner {

    display: inline-flex !important;

    justify-content: center !important;

    text-align: center !important;

  }



  /* Centre Visit / Contact / Email text */

  #footer .vc_custom_1695174251994,

  #footer .vc_custom_1695174295359,

  #footer .vc_custom_1695174321083,

  #footer .vc_custom_1695168360241,

  #footer .vc_custom_1695168368491,

  #footer .vc_custom_1695168375485 {

    text-align: center !important;

    padding-left: 0 !important;

    margin-left: 0 !important;

    margin-right: 0 !important;

    margin-top: 6px !important;

    font-size: 13px !important;

  }



  #footer .vc_custom_1695174251994 .wpb_wrapper,

  #footer .vc_custom_1695174295359 .wpb_wrapper,

  #footer .vc_custom_1695174321083 .wpb_wrapper,

  #footer .vc_custom_1695168360241 .wpb_wrapper,

  #footer .vc_custom_1695168368491 .wpb_wrapper,

  #footer .vc_custom_1695168375485 .wpb_wrapper,

  #footer .vc_custom_1695174251994 p,

  #footer .vc_custom_1695174295359 p,

  #footer .vc_custom_1695174321083 p,

  #footer .vc_custom_1695168360241 p,

  #footer .vc_custom_1695168368491 p,

  #footer .vc_custom_1695168375485 p {

    text-align: center !important;

    margin-left: auto !important;

    margin-right: auto !important;

  }



  /* WFGS/social row */

  #footer .vc_custom_1695174120663 {

    gap: 16px !important;

    padding-top: 6px !important;

    padding-bottom: 22px !important;

  }



  /* Rebuild Follow WSSC + icons */

  #footer .vc_custom_1695174120663 .vc_inner {

    display: grid !important;

    grid-template-columns: repeat(4, auto) !important;

    justify-content: center !important;

    justify-items: center !important;

    align-items: center !important;

    column-gap: 12px !important;

    row-gap: 2px !important;

  }



  /* Follow WSSC above icons */

  #footer .vc_custom_1695174120663 .vc_inner > .wpb_column:first-child {

    grid-column: 1 / -1 !important;

    width: auto !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

  }



  #footer .vc_custom_1695174120663 .vc_inner .wpb_text_column {

    margin-bottom: 0 !important;

  }



  #footer .vc_custom_1695174120663 .vc_inner .wpb_text_column p {

    width: auto !important;

    margin: 0 !important;

    line-height: 1.2 !important;

    text-align: center !important;

  }



  /* Icons directly underneath */

  #footer .vc_custom_1695174120663 .vc_inner > .socials-footer {

    width: auto !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

  }



  #footer .vc_custom_1695174120663 .socials-footer .vc_column-inner,

  #footer .vc_custom_1695174120663 .socials-footer .wpb_wrapper,

  #footer .vc_custom_1695174120663 .socials-footer .vcex-module {

    margin: 0 !important;

    padding: 0 !important;

  }



  #footer .socials-footer .vcex-icon-wrap {

    font-size: 34px !important;

  }



  /* Acknowledgement row */

  #footer .vc_separator {

    margin-top: 0 !important;

    margin-bottom: 18px !important;

  }



  #footer .no-bottom-margins {

    padding-left: 24px !important;

    padding-right: 24px !important;

    padding-bottom: 32px !important;

  }

}





/* ---------------------------------------------------------

   Legacy footer-bottom support, if used elsewhere

   --------------------------------------------------------- */



#footer-bottom {

  border-top: 4px solid #ffd800;

}



#footer-bottom-inner {

  width: 100% !important;

}



.footer-bottom-flex {

  justify-content: center;

}



#copyright {

  margin-right: 0 !important;

}



.socialLinks-container {

  display: flex;

  justify-content: center;

}



#facebook span:hover,

#youtube span:hover,

#instagram span:hover,

#twitter span:hover {

  cursor: pointer;

  color: white !important;

}



/* latest news */

.latestNews-item .wpex-carousel-entry-details {

	border-radius: 0px 0px 8px 8px;

}



.latestNews-item .wpex-image-hover {

	border-radius: 8px 8px 0px 0px;

	max-height: 200px;

}



.latestNews-item p {

	white-space: normal;

	overflow: hidden;

	text-overflow: ellipsis;

	height: 90px;

}





#site-header-inner {

	padding-bottom: 0px !important;

	padding-top: 0px !important;

	padding-left: 2%;

	padding-right: 2%;

	

}



#site-header {

	border-bottom: solid 4px #ffd800;

	background-color: #273555 !important;

}





.call2action-container:hover {

	animation-name: call2actionhover;

  	animation-duration: 1s;

}



@keyframes call2actionhover {

  from {margin-top: 0px;}

  to (margin-top: 10px;)

}



/* Latest News - equal height carousel cards */



.latestNews-item .owl-stage {

  display: flex !important;

  align-items: stretch !important;

}



.latestNews-item .owl-item {

  display: flex !important;

  height: auto !important;

}



.latestNews-item .wpex-carousel-slide {

  width: 100% !important;

  height: 100% !important;

  min-height: 370px !important;

  display: flex !important;

  flex-direction: column !important;

  background: #eeeeee !important;

  border-radius: 18px !important;

  overflow: hidden !important;

}



/* Keep image area consistent */

.latestNews-item .wpex-carousel-entry-media {

  height: 155px !important;

  overflow: hidden !important;

  flex-shrink: 0 !important;

}



.latestNews-item .wpex-carousel-entry-media img {

  width: 100% !important;

  height: 155px !important;

  object-fit: cover !important;

  display: block !important;

}



/* Make text area fill the rest of the card */

.latestNews-item .wpex-carousel-entry-details {

  flex: 1 !important;

  height: auto !important;

  min-height: 215px !important;

  background: #eeeeee !important;

  /*padding: 32px 34px !important;*/

  display: flex !important;

  flex-direction: column !important;

}



/* Title clamp */

.latestNews-item .wpex-carousel-entry-title {

  font-size: clamp(18px, 1.25vw, 26px) !important;

  line-height: 1.25 !important;

  margin-bottom: 18px !important;



  display: -webkit-box !important;

  -webkit-line-clamp: 2 !important;

  -webkit-box-orient: vertical !important;

  overflow: hidden !important;

}



.latestNews-item .wpex-carousel-entry-title a {

  color: #273555 !important;

  text-decoration: none !important;

}



/* Date */

.latestNews-item .vcex-blog-entry-date {

  color: #7f7f7f !important;

  font-size: clamp(9px, 0.59vw, 12.4px) !important;

  line-height: 1.25 !important;

  margin-bottom: 16px !important;

}



/* Excerpt clamp */

.latestNews-item .wpex-carousel-entry-excerpt {

  color: #3f3f3f !important;

  font-size: clamp(15px, 1vw, 20px) !important;

  line-height: 1.35 !important;

  overflow: hidden !important;



  display: -webkit-box !important;

  -webkit-line-clamp: 3 !important;

  -webkit-box-orient: vertical !important;

}



.latestNews-item .wpex-carousel-entry-excerpt p {

  margin: 0 !important;

}



/* Main Menu */



.full-screen-overlay-nav-menu ul.sub-menu {

	display: block !important;

}



.sf-with-ul {

	font-weight: bold;

	color: #273555 !important;

	text-transform: uppercase;

	text-decoration: none !important;

	padding-left: 5px;

	font-size: 0.8em;

}



.sf-with-ul:hover {

	opacity: 1 !important;

}



.sub-menu li {

	color: #273555 !important;

	font-size: 0.5em;

}



.full-screen-overlay-nav-menu ul {

	text-align: left;

	display: flex;

}



.full-screen-overlay-nav-menu li {

	padding-right: 10px;

	padding-left: 10px;

}



/* Quad Menu */

/* #quadmenu .utility-card {

  display: flex !important;

  align-items: center;

  gap: 14px;

  background: #24395d !important;

  color: #ffffff !important;

  text-decoration: none !important;

  padding: 20px 24px !important;

  border-radius: 12px;

  border: 2px solid rgba(255, 217, 0, 0.45);

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

  min-height: 90px;

  transition: all 0.2s ease;

}



#quadmenu .utility-card:hover {

  background: #ffd900 !important;

  color: #24395d !important;

  transform: translateY(-2px);

}



#quadmenu .utility-card i {

  font-size: 30px;

  line-height: 1;

}



#quadmenu .utility-card span {

  font-size: 18px;

  font-weight: 700;

} */



/*.wpex-search {

	position: fixed;

	top: 0;

}*/



/* Mobile Menu */

.mobile-utility-cards {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 10px;

  padding-top: 18px;

  padding-bottom: 18px;

  /*border-bottom: 1px solid rgba(0,0,0,.08);*/

  margin-bottom: 8px;

}



.mobile-utility-card {

  background: #e8e8e8;

	border: 2px solid #9999992e !important;

  color: #273555 !important;

  text-align: center;

  padding: 16px 10px;

  border-radius: 12px;

  font-weight: 700;

  text-decoration: none !important;

	min-height: 52px;

  display: flex;

  align-items: center;

  justify-content: center;

	gap: 10px;

}



.mobile-utility-card:hover {

  background: #ffd900;

  color: #23395d !important;

}



.mobile-utility-icon{

    width:18px;

    height:18px;

    flex-shrink:0;

}



/* Let the mobile menu scroll */

.mobile-toggle-nav {

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

  overflow-y: auto;

}



.quadmenu_btt {

	margin-left: 0 !important;

	position: fixed !important;

}



#menu-item-934, #menu-item-953, #menu-item-961, #menu-item-963, #menu-item-965, #menu-item-967, #menu-item-969 {

	flex-grow: 2;

}  



.quadmenu-title {

	border-color: grey !important;

	text-indent: 10px !important;

}



#quadmenu .quadmenu-navbar-nav li.quadmenu-item .quadmenu-icon {

	font-size: 2em !important;

	

}



#menu-item-933.open > a > span > span > span.quadmenu-icon.fa.fa-bars.hover.t_1000::before{

	transition-delay: 0.3s;

	

	transition: 0.4s;

	content: "\f00d" !important;

	

}





#menu-item-933.open > a > span > span > span.quadmenu-icon.fa.fa-bars.hover.t_1000 {

	animation-name: menuRotate;

	animation-duration: 0.4s;

	animation-fill-mode: forwards;

}





/* The animation code */

@keyframes menuRotate {

	 0%   {transform:rotate(0deg);}

	100%   {transform:rotate(90deg);}

}



/* Calendar Plugin */



.upcmAccordion {

  background-color: #273555;

  color: white;

font-weight: 500;

font-size: 0.9em;

text-transform: uppercase;

  cursor: pointer;

  padding-left: 8px;

  padding-top: 3px;

	padding-bottom: 4px;

  width: 97.5%;

  text-align: left;

  border: none;

  outline: none;

  transition: 0.4s;

margin-bottom: 3px;

margin-top: 7px;



}



@media only screen and (max-width: 600px) {

  .upcmAccordion {

    width: 87.5%;

  }

}



.upcmAccordion.active, .upcmAccordion:hover {

  border-left: solid 5px #ffd800;

}



.upcmEvents {

  max-height: 0;

  overflow: hidden;

  transition: max-height 0.2s ease-out;

}



.upcmPanel {

  background-color: white;

color: #273555;

padding-left: 18px;

}



.upcmPanel:nth-child(even) {

background-color: #eee;

}



.upcmAccordion:after {

  content: url(/wp-content/plugins/school-portal-events/plus.png); /* Unicode character for "plus" sign (+) */

  font-size: 13px;

  color: white !important;

  float: right;

  margin-right: 5px;

}



.upcmAccordion.active:after {

  content: url(/wp-content/plugins/school-portal-events/minus.png); /* Unicode character for "minus" sign (-) */

}



.upcmPanel li {

color: white;

background-color: #273555;

margin-top: 15px;

margin-left: 0px !important;

padding: 4px 4px 4px 10px;

list-style-type: none !important;

font-weight: bold;

}



@media only screen and (max-width: 600px) {

  .upcmPanel li {

    margin-left: -20px !important;

  }

}



.upcmPanel span {

font-weight: 100;

font-size: small;

color: #273555;

}



/* Contents to Nav */



#id-list li{

	background-color: #efefef;

	text-transform: uppercase;

	margin-bottom: 5px;

	padding: 2px 10px;

	transition: 0.4s;

}



#id-list a{

	text-decoration: none !important;

	color: #9c9c9c !important;

	scroll-behavior: smooth;

}





#id-list a li:hover{

	border-left: 5px solid #ffd800;

	color: white !important;

	background-color: white;

}



#id-list a li.hovered {

	border-left: 5px solid #ffd800;

	color: white !important;

	background-color: white;

} 





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

   Sidebar

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





#sidebar.sidebar-container.sidebar-primary {

	padding: 10px !important;

}



.sidebar-container h3 {

	margin: 0;

	color: #273555;

	padding: 3px 10px;

	margin-bottom: 10px;

	border-bottom: #273555 1px solid;

}



#block-20 {

	margin: 0;

}



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

   Compact Expandable Sidebar Search

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



.wssc-sidebar-search,

.wp-block-search.wssc-sidebar-search,

#block-20 .wp-block-search {

  margin: 16px 0 28px !important;

}



/* Hide the Search label */

.wssc-sidebar-search .wp-block-search__label,

.wp-block-search.wssc-sidebar-search .wp-block-search__label,

#block-20 .wp-block-search__label {

  display: none !important;

}



/* Search wrapper */

.wssc-sidebar-search .wp-block-search__inside-wrapper,

.wp-block-search.wssc-sidebar-search .wp-block-search__inside-wrapper,

#block-20 .wp-block-search__inside-wrapper {

  display: flex !important;

  justify-content: flex-end !important;

  align-items: center !important;

  width: 100% !important;

}



/* Default collapsed input */

.wssc-sidebar-search .wp-block-search__input,

.wp-block-search.wssc-sidebar-search .wp-block-search__input,

#block-20 .wp-block-search__input {

  width: 0 !important;

  max-width: 0 !important;

  min-width: 0 !important;

  height: 44px !important;

  opacity: 0 !important;

  padding: 0 !important;

  border: 0 !important;

  overflow: hidden !important;

  background: #273555 !important;

  color: #273555 !important;

  transition:

    width 0.28s ease,

    max-width 0.28s ease,

    opacity 0.2s ease,

    padding 0.28s ease,

    border 0.28s ease !important;

}



/* Expanded input on hover/focus */

.wssc-sidebar-search:hover .wp-block-search__input,

.wssc-sidebar-search:focus-within .wp-block-search__input,

.wp-block-search.wssc-sidebar-search:hover .wp-block-search__input,

.wp-block-search.wssc-sidebar-search:focus-within .wp-block-search__input,

#block-20 .wp-block-search:hover .wp-block-search__input,

#block-20 .wp-block-search:focus-within .wp-block-search__input {

  width: 220px !important;

  max-width: 220px !important;

  opacity: 1 !important;

  padding: 0 14px !important;

  border: 1px solid rgba(39, 53, 85, 0.22) !important;

  border-right: 0 !important;

  border-radius: 999px 0 0 999px !important;

}



/* Default button: small navy circle */

.wssc-sidebar-search .wp-block-search__button,

.wp-block-search.wssc-sidebar-search .wp-block-search__button,

#block-20 .wp-block-search__button {

  position: relative !important;

  width: 46px !important;

  min-width: 46px !important;

  height: 46px !important;

  margin-left: 0 !important;

  padding: 0 !important;

  border: none !important;

  border-radius: 999px !important;

  background: #273555 !important;

  color: transparent !important;

  font-size: 0 !important;

  transition:

    background 0.2s ease,

    border-radius 0.28s ease !important;

}



/* Cleaner search icon */

.wssc-floating-search .wp-block-search__button::before,

.wp-block-search.wssc-floating-search .wp-block-search__button::before {

  content: "" !important;

  position: absolute !important;

  inset: 0 !important;

  margin: auto !important;

  width: 22px !important;

  height: 22px !important;

  background: #fff !important;



  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") center / contain no-repeat;

  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") center / contain no-repeat;

}



/* Disable old handle */

.wssc-floating-search .wp-block-search__button::after,

.wp-block-search.wssc-floating-search .wp-block-search__button::after {

  display: none !important;

}



/* Expanded button: yellow end cap */

.wssc-sidebar-search:hover .wp-block-search__button,

.wssc-sidebar-search:focus-within .wp-block-search__button,

.wp-block-search.wssc-sidebar-search:hover .wp-block-search__button,

.wp-block-search.wssc-sidebar-search:focus-within .wp-block-search__button,

#block-20 .wp-block-search:hover .wp-block-search__button,

#block-20 .wp-block-search:focus-within .wp-block-search__button {

  height: 44px !important;

  background: #ffd400 !important;

  border-radius: 0 10px 10px 0 !important;

}



/* Icon colour when expanded */

.wssc-sidebar-search:hover .wp-block-search__button::before,

.wssc-sidebar-search:focus-within .wp-block-search__button::before,

.wp-block-search.wssc-sidebar-search:hover .wp-block-search__button::before,

.wp-block-search.wssc-sidebar-search:focus-within .wp-block-search__button::before,

#block-20 .wp-block-search:hover .wp-block-search__button::before,

#block-20 .wp-block-search:focus-within .wp-block-search__button::before {

  border-color: #273555 !important;

}



.wssc-sidebar-search:hover .wp-block-search__button::after,

.wssc-sidebar-search:focus-within .wp-block-search__button::after,

.wp-block-search.wssc-sidebar-search:hover .wp-block-search__button::after,

.wp-block-search.wssc-sidebar-search:focus-within .wp-block-search__button::after,

#block-20 .wp-block-search:hover .wp-block-search__button::after,

#block-20 .wp-block-search:focus-within .wp-block-search__button::after {

  background: #273555 !important;

}



/* Floating sticky search button */



.wssc-floating-search,

.wp-block-search.wssc-floating-search {

  position: fixed !important;

  top: 150px !important;

  right: 28px !important;

  z-index: 99998 !important;

  width: auto !important;

  margin: 0 !important;

  padding: 0 !important;

}



/* Hide label */

.wssc-floating-search .wp-block-search__label,

.wp-block-search.wssc-floating-search .wp-block-search__label {

  display: none !important;

}



/* Search wrapper */

.wssc-floating-search .wp-block-search__inside-wrapper,

.wp-block-search.wssc-floating-search .wp-block-search__inside-wrapper {

  display: flex !important;

  align-items: center !important;

  justify-content: flex-end !important;

  width: auto !important;

}



/* Collapsed input */

.wssc-floating-search .wp-block-search__input,

.wp-block-search.wssc-floating-search .wp-block-search__input {

  width: 0 !important;

  max-width: 0 !important;

  min-width: 0 !important;

  height: 46px !important;

  opacity: 0 !important;

  padding: 0 !important;

  border: 0 !important;

  overflow: hidden !important;

  background: #fff !important;

  color: #273555 !important;

  box-shadow: 0 8px 22px rgba(0,0,0,0.14) !important;



  transition:

    width 0.28s ease,

    max-width 0.28s ease,

    opacity 0.2s ease,

    padding 0.28s ease,

    border 0.28s ease !important;

}



/* Expanded input */

.wssc-floating-search:hover .wp-block-search__input,

.wssc-floating-search:focus-within .wp-block-search__input,

.wp-block-search.wssc-floating-search:hover .wp-block-search__input,

.wp-block-search.wssc-floating-search:focus-within .wp-block-search__input {

  width: 260px !important;

  max-width: 260px !important;

  opacity: 1 !important;

  padding: 0 16px !important;

  border: 1px solid rgba(39,53,85,0.22) !important;

  border-right: 0 !important;

  border-radius: 10px 0 0 10px !important;

}



/* Button */

.wssc-floating-search .wp-block-search__button,

.wp-block-search.wssc-floating-search .wp-block-search__button {

  position: relative !important;

  width: 46px !important;

  min-width: 46px !important;

  height: 46px !important;

  margin-left: 0 !important;

  padding: 0 !important;

  border: solid 1px #273555 !important;

  border-radius: 10px !important;

  background: #efefef !important;

  color: transparent !important;

  font-size: 0 !important;

  box-shadow: 0 8px 22px rgba(0,0,0,0.18) !important;

  transition:

    background 0.2s ease,

    border-radius 0.28s ease !important;

}



/* Magnifying glass circle */

.wssc-floating-search .wp-block-search__button::before,

.wp-block-search.wssc-floating-search .wp-block-search__button::before {

  content: "" !important;

  position: absolute !important;

  width: 18px !important;

  height: 18px !important;

  border: 8px solid #273555 !important;

  border-radius: 50% !important;

  /*top: 13px !important;*/

  /*left: 13px !important;*/

}



/* Magnifying glass handle */

.wssc-floating-search .wp-block-search__button::after,

.wp-block-search.wssc-floating-search .wp-block-search__button::after {

  content: "" !important;

  position: absolute !important;

  width: 9px !important;

  height: 2px !important;

  background: #273555 !important;

  border-radius: 10px !important;

  transform: rotate(45deg) !important;

  top: 28px !important;

  left: 28px !important;

}



/* Expanded button */

.wssc-floating-search:hover .wp-block-search__button,

.wssc-floating-search:focus-within .wp-block-search__button,

.wp-block-search.wssc-floating-search:hover .wp-block-search__button,

.wp-block-search.wssc-floating-search:focus-within .wp-block-search__button {

  background: #273555 !important;

  border-radius: 0 10px 10px 0 !important;

}



/* Icon colour when expanded */

.wssc-floating-search:hover .wp-block-search__button::before,

.wssc-floating-search:focus-within .wp-block-search__button::before,

.wp-block-search.wssc-floating-search:hover .wp-block-search__button::before,

.wp-block-search.wssc-floating-search:focus-within .wp-block-search__button::before {

  border-color: #fff !important;

}



.wssc-floating-search:hover .wp-block-search__button::after,

.wssc-floating-search:focus-within .wp-block-search__button::after,

.wp-block-search.wssc-floating-search:hover .wp-block-search__button::after,

.wp-block-search.wssc-floating-search:focus-within .wp-block-search__button::after {

  background: #273555 !important;

}



/* Post & Page Template */



.post-title-img-banner {

	text-transform: uppercase;

	text-shadow: 3px 3px 3px #0000006b;

	margin-top: 10px;

}



.post-title-img-banner-mobile {

	text-transform: uppercase;

	text-shadow: 3px 3px 3px #0000006b;

}



.wpb_wrapper:has(.post-title-img-banner-mobile) {

	margin: 0 calc(50% - 50vw);

}



.post-title-img-banner .vcex-ib-content-wrap {

	padding: 70px 40px !important;

}



.post-title-img-banner-mobile .vcex-ib-content-wrap {

	padding: 30px 20px !important;

}



/*.single-post-title {

	color: white;

	background-color: #273555;

	text-transform: uppercase;

}*/



/* Post/Page Content */



.headerBar {

  position: relative;

  display: block;

  margin: 35px 0 20px;

  padding: 0 0 14px 20px;

  background: none !important;

  color: #273555 !important;

  font-size: clamp(14px, 1.2vw, 26px);

  line-height: 1.15;

  font-weight: 700;

  text-transform: capitalize;

  letter-spacing: 0.01em;

  border: none !important;

  scroll-margin-top: 120px;

}



/* Gold vertical bar */

.headerBar::before {

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  bottom: 14px; /* this stops it before the underline */

  width: 3px;

  background: #ffd800;

}



/* Subtle underline */

.headerBar::after {

  content: "";

  position: absolute;

  left: 20px;

  bottom: 0;

  width: min(100%, 620px);

  height: 0.5px;

  background: rgba(39, 53, 85, 0.18);

}



.YoutubeVideo {

	width: 60%;

	min-height: 354px;	

}



p:has(>iframe.YoutubeVideo) {

	text-align: center;

}



@media only screen and (max-width: 800px){

.YoutubeVideo {

	width: 100%;

	min-height: 198px;

}

}



/* OPTION 3 STYLE - PAGE TITLE BANNER */



.post-title-img-banner,

.post-title-img-banner-mobile {

  position: relative;

  overflow: hidden;

  border-radius: 5px 5px 0px 0px;

  /*min-height: 330px;*/

  text-align: left !important;

  background: #273555;

}



.post-title-img-banner .vcex-ib-overlay,

.post-title-img-banner-mobile .vcex-ib-overlay {

  background: rgba(39, 53, 85, 0.78) !important;

	display: none !important;

}



.post-title-img-banner .vcex-ib-content-wrap,

.post-title-img-banner-mobile .vcex-ib-content-wrap {

  display: flex;

  align-items: center;

  justify-content: flex-start;

  padding: 45px;

}



.post-title-img-banner .vcex-ib-content,

.post-title-img-banner-mobile .vcex-ib-content {

  max-width: 400px;

  padding: 34px 38px;

  background: rgba(12, 29, 58, 1);

  border: 1px solid rgba(255,255,255,0.25);

  border-left: 6px solid #ffd400;

  border-radius: 2px;

  box-shadow: 0 12px 30px rgba(0,0,0,0.18);

}





.post-title-img-banner .vcex-ib-title,

.post-title-img-banner-mobile .vcex-ib-title {

  color: #fff !important;

  font-size: clamp(30px, 2vw, 48px) !important;

  line-height: 0.98;

  font-weight: 700;

  text-transform: uppercase;

  text-align: left !important;

}



.wssc-banner-summary {

  color: #fff;

  font-size: 17px;

  line-height: 1.5;

  font-weight: 400;

  text-align: left;

}



.wssc-banner-summary-block {

  position: relative;

  z-index: 5;

  max-width: 360px;

  margin-top: -110px;

  margin-left: 82px;

  padding: 0 34px 26px;

  color: #fff;

  font-size: 16px;

  line-height: 1.5;

}



/* Breadcrumb bar */

.wssc-breadcrumbs,

.wssc-breadcrumbs-mobile {

  margin: 0;

  padding: 14px 28px;

  background: #273555;

  color: #fff !important;

  border-radius: 0 0 5px 5px;

  text-align: left !important;

}



.wssc-breadcrumbs a,

.wssc-breadcrumbs-mobile a {

  color: #fff !important;

}



.wssc-breadcrumbs .trail-end,

.wssc-breadcrumbs-mobile .trail-end {

  color: #ffd400;

}



/* Mobile tweaks */

@media (max-width: 767px) {

  .post-title-img-banner-mobile {

    min-height: 300px;

  }



  .post-title-img-banner-mobile .vcex-ib-content-wrap {

    padding: 24px;

  }



  .post-title-img-banner-mobile .vcex-ib-content {

    padding: 26px 28px;

    max-width: 100%;

  }



  .post-title-img-banner-mobile .vcex-ib-title {

    font-size: 30px !important;

  }



  .wssc-banner-summary {

    font-size: 15px;

  }

}



/* Banner card slide-in animation */



.post-title-img-banner .vcex-ib-content-wrap {

  animation: wsscBannerCardSlideIn 0.8s cubic-bezier(.2,.8,.2,1) both !important;

  animation-delay: 0.5s !important;

}



@keyframes wsscBannerCardSlideIn {

  from {

    opacity: 0;

    transform: translateX(-55px);

  }



  to {

    opacity: 1;

    transform: translateX(0);

  }

}



/* Optional: keep mobile static */

/*.post-title-img-banner-mobile .vcex-ib-content {

  animation: none;

}*/



/* Accessibility */

/*@media (prefers-reduced-motion: reduce) {

  .post-title-img-banner .vcex-ib-content {

    animation: none;

  }

}*/



/* OPTION 4 - SPLIT LAYOUT WITH VERTICAL GOLD BAR */



.post-title-img-banner.post-title-img-banner-alt {

	position: relative !important;

  min-height: 360px !important;

  overflow: hidden !important;

	border-radius: 5px 5px 0px 0px;

  background: #273555 !important;

}



/* Image on right */

.post-title-img-banner.post-title-img-banner-alt .vcex-ib-img {

  position: absolute;

	inset: 0 0 0 auto !important;

  width: 42%;

	height: 100%;

	display: block !important;

	opacity: 1 !important;

	z-index: 1 !important;

  background-size: cover;

  background-position: center;

}



/* Hide overlay over the image */

.post-title-img-banner.post-title-img-banner-alt .vcex-ib-overlay {

  display: none !important;

}



/* Blue content panel */

.post-title-img-banner.post-title-img-banner-alt .vcex-ib-content-wrap {

  position: absolute;

	inset: 0 auto 0 0 !important;

  width: 58%;

	z-index: 3 !important;

  display: flex;

  align-items: center;

  justify-content: flex-start;

  padding: 55px;

  background: linear-gradient(135deg, #102748 0%, #273555 100%);

}



/* Vertical gold divider */

.post-title-img-banner.post-title-img-banner-alt::after {

  content: "";

  position: absolute !important;

  top: 0;

  right: 42%;

  width: 8px;

  height: 100%;

  background: #ffd400;

	z-index: 4 !important;

	transform: translatex(50%);

}



/* Remove card styling from Option 3 */

.post-title-img-banner.post-title-img-banner-alt .vcex-ib-content {

  max-width: 520px;

  padding: 0;

  background: none;

  border: none;

  box-shadow: none;

  position: relative;

  z-index: 2;

}



.vcex-image-banner .vcex-ib-content {

	margin: 0 !important;

}







/* Legacy Posts */



.headerLink {

	text-align: right;

	float: right;

	text-transform: none !important;

	color: #ffd800;

	font-weight: normal;

	padding-right: 10px;

}



.headerLink:hover {

	color: white;

}



.flexContentContainer {

	display: none;

}



/* Video Player */



.wsscVideoPlayer {

	max-width: 704px;

	margin: 0px auto;

}



.wsscVideoPlayer > div {

	position: relative;

	padding-bottom: 56.2%;

	height: 0px;

}



.wsscVideoPlayer iframe {

	position: absolute;

	top: 0px;

	left: 0px;

	width: 100%;

	height: 100%;

}



/* Breadcrumbs */



.wssc-breadcrumbs {

	color: white !important;

	background-color: #273555;

	padding: 0px 10px;

	text-transform: uppercase;

	text-align: center;

}



.wssc-breadcrumbs-mobile {

	color: white !important;

	background-color: #273555;

	padding: 0px 10px;

	text-transform: uppercase;

	text-align: center;

	font-size: smaller;

}



/* Revolution Slider */



.tp-tab-title {

	text-transform: uppercase !important;

	line-height: 1.1 !important;

	font-family: 'Roboto', serif !important;

	font-size: 15px !important;

	font-weight: 500 !important;

	padding: 15px !important;

}



/* ---------------------------------------------------------

   Site Header

--------------------------------------------------------- */



/* Fixed header */

#site-header,

.site-header {

    position: fixed !important;

    top: 0 !important;

    left: 0 !important;

    right: 0 !important;

    width: 100% !important;

    z-index: 100000 !important;

}



/* Push page content below fixed header only once */

#main.site-main,

#main {

    padding-top: 60px !important;

}



#main #content-wrap {

    padding-top: 0 !important;

}



.site-main,

#content-wrap {

    padding-top: 0 !important;

}



/* Keep WordPress admin bar above header */

#wpadminbar {

    z-index: 100001 !important;

}



/* Move header below admin bar while logged in */

body.admin-bar #site-header,

body.admin-bar .site-header {

    top: 32px !important;

}



@media screen and (max-width: 782px) {

    body.admin-bar #site-header,

    body.admin-bar .site-header {

        top: 46px !important;

    }

}



/* Page Contents sidebar - compact non-sticky version */



.wp_widget_plugin_box {

  position: relative !important;

  top: auto !important;

  max-height: none !important;

  overflow: visible !important;

  margin-bottom: 26px !important;

  padding-bottom: 0 !important;

  background: transparent !important;

}



/* Generated list */

#id-list {

  list-style: none !important;

  margin: 18px 0 0 !important;

  padding: 0 !important;

  max-height: 200px !important;

  overflow-y: auto !important;

  border-top: 1px solid rgba(39, 53, 85, 0.14) !important;

  border-bottom: 1px solid rgba(39, 53, 85, 0.14) !important;

}



/* Works with either  or  structure */

#id-list > a,

#id-list li > a {

  display: block !important;

  text-decoration: none !important;

  color: inherit !important;

}



/* List item */

#id-list li,

#id-list > a > li {

  position: relative !important;

  display: block !important;

  margin: 0 !important;

  padding: 9px 12px 9px 16px !important;

  background: transparent !important;

  border-bottom: 1px solid rgba(39, 53, 85, 0.12) !important;

  color: rgba(39, 53, 85, 0.72) !important;

  font-size: 10px !important;

  line-height: 1.25 !important;

  font-weight: 600 !important;

  text-transform: uppercase !important;

  letter-spacing: 0.02em !important;



  /*white-space: nowrap !important;*/

  overflow: hidden !important;

  text-overflow: ellipsis !important;

}



/* Gold marker */

#id-list li::before,

#id-list > a > li::before {

  content: "" !important;

  position: absolute !important;

  left: 0 !important;

  top: 7px !important;

  bottom: 7px !important;

  width: 3px !important;

  background: #ffd400 !important;

  opacity: 0 !important;

}



/* Hover */

#id-list > a:hover > li,

#id-list li:hover {

  background: rgba(39, 53, 85, 0.06) !important;

  color: #273555 !important;

  padding-left: 20px !important;

}



#id-list > a:hover > li::before,

#id-list li:hover::before {

  opacity: 1 !important;

}



/* Active item */

#id-list li.hovered,

#id-list > a > li.hovered {

  background: rgba(255, 212, 0, 0.18) !important;

  color: #273555 !important;

  padding-left: 20px !important;

}



#id-list li.hovered::before,

#id-list > a > li.hovered::before {

  opacity: 1 !important;

}



/* Slim scrollbar */

#id-list::-webkit-scrollbar {

  width: 6px;

}



#id-list::-webkit-scrollbar-track {

  background: rgba(39, 53, 85, 0.06);

}



#id-list::-webkit-scrollbar-thumb {

  background: rgba(39, 53, 85, 0.28);

  border-radius: 999px;

}
