@import url("//fonts.googleapis.com/css2?family=Caudex:ital,wght@0,400;0,700;1,400;1,700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap");
/************ TEMPLATE  ************

************/

.site-1 {
  --primary-color: #0f3367;
  --secondary-color: #0f3367;

  --primary-rgb: 15, 51, 103;
  --secondary-rgb: 15, 51, 103;

  --default-white: #ffffff;
  --default-black: #000000;

  --title-font-family: "PT Serif", serif;
  --body-font-family: "PT Sans", sans-serif;

  --heading-color: var(--primary-color);
  --heading-font-family: var(--title-font-family);

  --title-border-bottom: 1px solid var(--secondary-color);

  --home-title-font: var(--title-font-family);

  --transparent: rgba(255, 255, 255, 0);

  --default-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);

  --swiper-box-shadow: var(--default-box-shadow);

  --ql-title-color: var(--default-white);
  --ql-border-radius: var(--site-border-radius);
  --ql-background-color: var(--primary-color);
  --ql-background-hover: var(--primary-color);

  --site-border-radius: 0.5rem;
  --website-border-radius: var(--site-border-radius);

  --site-gap: 1rem;

  --rok-mini-day-size: clamp(1.75rem, 1.75vw, 2rem);
  --rok-mini-time-size-desktop: 1rem;
  --rok-mini-list-background: #ffffff;

  --grid-img-width: 15vw;
}

.site-2 {
  --primary-color: #0f3367;
  --secondary-color: #0f3367;

  --primary-rgb: 15, 51, 103;
  --secondary-rgb: 15, 51, 103;

  --default-white: #ffffff;
  --default-black: #000000;

  --title-font-family: "PT Serif", serif;
  --body-font-family: "PT Sans", sans-serif;

  --heading-color: var(--primary-color);
  --heading-font-family: var(--title-font-family);

  --title-border-bottom: 1px solid var(--secondary-color);

  --home-title-font: var(--title-font-family);

  --transparent: rgba(255, 255, 255, 0);

  --default-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);

  --swiper-box-shadow: var(--default-box-shadow);

  --ql-title-color: var(--default-white);
  --ql-border-radius: var(--site-border-radius);
  --ql-background-color: var(--primary-color);
  --ql-background-hover: var(--primary-color);

  --site-border-radius: 0.5rem;
  --website-border-radius: var(--site-border-radius);

  --site-gap: 1rem;

  --rok-mini-day-size: clamp(1.75rem, 1.75vw, 2rem);
  --rok-mini-time-size-desktop: 1rem;
  --rok-mini-list-background: #ffffff;

  --grid-img-width: 15vw;
}

.ph-rec-row-hover {
  --ph-border-radius: var(--site-border-radius);
}

.readon,
.button,
.btn,
p.readmore .btn,
.sprocket-lists-portrait-container>li .sprocket-lists-portrait-item>a span,
.listentobutton.moduletable a {
  background: var(--primary-color);
  font-family: var(--body-font-family);
}

/*************** ALL SITE *****************/
.item-image {
  display: none;
}

.g-offcanvas-toggle {
  background: white;
  display: grid;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

@media (min-width: 50.99rem) {
  :is(.site-1-home, .site-2-home) #g-top .modern-alert .g-joomla-articles {
    padding: 0 3% !important;
  }
}

.admod td {
  padding: 0 !important;
}

.admod table,
.admod tr {
  gap: 0.5rem;
}

:is(.site-1-home, .site-2-home) #g-page-surround .g-content-array .g-content {
  padding: 0;
}

:is(.site-1-home, .site-2-home) #g-page-surround .g-content {
  padding: 0;
  margin: 0;
}

:is(.site-1-home, .site-2-home) #g-page-surround .g-array-item-text {
  margin: 0;
}

iframe {
  border: none;
}

#custom-3542-particle {
  margin: 0;
}

.admod td {
  padding: 0 !important;
}

.admod table,
.admod tr {
  gap: 0.5rem;
}

a.button {
  text-align: center;
  display: inline-block;
  background-color: var(--primary-color);
  padding: 1rem 2rem;
  border-radius: var(--site-border-radius);
  font-size: 1.1rem;
  transition: all 200ms ease-in;
}

@media (min-width: 50.99rem) {
  a.button {
    border: 3px solid var(--primary-color);
  }
}

a.button:hover {
  transition: all 200ms ease-out;
  background-color: transparent;
  color: var(--primary-color);
}

a.secondary-button {
  text-align: center;
  display: inline-block;
  background-color: transparent;
  border: 3px solid var(--primary-color);
  color: var(--primary-color);
  padding: 1rem 2rem;
  border-radius: var(--site-border-radius);
  font-size: 1.1rem;
  transition: all 200ms ease-in;
}

a.secondary-button:hover {
  transition: all 200ms ease-out;
  background-color: var(--primary-color);
  color: var(--default-black);
}

/***********Custom Scrollbar****************/

/* Hide the default scrollbar */

::-webkit-scrollbar {
  width: .75rem;
}

::-webkit-scrollbar-track {
  background-color: #f5f5f5;
}

::-webkit-scrollbar-thumb {

  background-color: #ccc;
  border-radius: 5px;
}

/* Style the scrollbar on hover */

::-webkit-scrollbar-thumb:hover {
  background-color: #bbbbbb;
}

/* Style the scrollbar when it's being dragged */

::-webkit-scrollbar-thumb:active {
  background-color: #8c8c8c;
}

@-moz-document url-prefix() {
  * {
    scrollbar-width: thin;
    scrollbar-color: #ccc #f5f5f5;
  }
}

.site-1 .g-main-nav .g-toplevel > li:has(.g-logo) {
  display: none!important;
}

#g-offcanvas .g-toplevel > li:has(.g-logo) {
  display: none!important;
}

/*************** HOMELAYOUT ***************/
/*************** OFFCANVAS ****************/

.g-offcanvas-toggle {
  color: var(--primary-color);
}

.g-offcanvas-toggle .fa-fw {
  text-shadow: none;
}

/*************** TOP **********************/
/*************** NAVIGATION ***************/

.space-social .g-social-items {
  display: flex;
  gap: 1rem;
  justify-content: space-evenly;
}

:is(.site-1, .site-2) #g-navigation .g-toplevel {
  padding: 0.75rem;
}

.space-social a {
  color: white !important;
}

.space-social a:hover {
  color: white !important;
  opacity: 0.75;
}

:is(.site-1, .site-2) #g-navigation {
  padding: 2% 5%;
}

:is(.site-1, .site-2) #g-navigation .header-logo img {
  width: 100%;
}

:is(.site-1, .site-2) .header-logo img {
  padding: 0 10%;
}

:is(.site-1, .site-2) #g-navigation {
  padding: 2% 0%;
  padding-bottom: 0;
  background: url("/images/2024-images/navigation-bg.png");
  background-size: cover;
  background-position: center -7vw;
  background-repeat: no-repeat;
}

:is(.site-1, .site-2) .header-logo {
  padding-bottom: 2%;
}

@media (min-width: 50.99rem) {
  .g-main-nav .g-toplevel>li>.g-menu-item-container>.g-menu-item-content {
    font-size: 1.25rem !important;
  }
}

@media only screen and (min-width: 50.99rem) {
  .g-main-nav .g-toplevel>li>.g-menu-item-container>.g-menu-item-content {
    font-size: 1.25vw;
    font-family: var(--body-font-family);
  }

  .g-main-nav .g-sublevel>li>.g-menu-item-container>.g-menu-item-content>.g-menu-item-title {
    font-size: 1.25vw;
    font-family: var(--body-font-family);
  }
}

@media only screen and (max-width: 50.99rem) {
  #g-navigation .g-logo {
    max-width: 65%;
    margin: 2rem auto;
  }

  .header-logo img {
    padding-left: 10% !important;
  }
}

:is(.site-1, .site-2) :is(#g-navigation, #g-footer) .g-content-array .g-content {
  padding: 0;
}

:is(.site-1, .site-2) :is(#g-navigation, #g-footer) .g-content {
  padding: 0;
  margin: 0;
}

:is(.site-1, .site-2) :is(#g-navigation, #g-footer) .g-array-item-text {
  margin: 0;
}

/*************** SLIDESHOW ****************/

:is(.site-1-home, .site-2-home) #g-slideshow {
  position: relative;
  z-index: 10;
}

:is(.site-1-home, .site-2-home) #g-slideshow a:hover {
  color: white !important;
}

@media (min-width: 50.99rem) {
  .site-1-home #g-slideshow .swiper-container::after {
    content: '';
    width: 50%;
    position: absolute;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.70) 0%, rgba(0, 0, 0, 0.60) 69%, rgba(255, 255, 255, 0) 100%);
    top: 0;
    left: 0%;
    z-index: 9;
    overflow: hidden;
  }
}

:is(.site-1-home, .site-2-home) #g-slideshow .fullwidth-swiper {
  overflow: hidden;
}

.j-mass-times-block :is(h1, h2, h3, h4, h5, h6) {
  color: white;
  text-shadow: var(--default-text-shadow);
}

.g-swiper.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active::after,
.g-swiper.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet-active::after {
  background: var(--primary-color);
}

.j-mass-times-block h2 {
  font-size: clamp(2rem, 2.6vw, 3.5rem);
}

.j-mass-times-block h3 {
  font-size: clamp(1.75rem, 2.5vw, 4rem);
  border-bottom: 2px solid var(--primary-color);
}

.j-mass-times-block p {
  color: white;
  text-shadow: var(--default-text-shadow);
  margin-bottom: 10px;
}

:is(.site-1-home, .site-2-home) #g-slideshow {
  padding: 0 0%;
}

.livestream-button {
  letter-spacing: 1px;
  text-transform: capitalize;
  border: 3px solid var(--primary-color) !important;
  box-shadow: var(--default-box-shadow);
}

@media (min-width: 50.99rem) {
  .j-mass-times-block {
    width: 30%;
    position: absolute;
    top: 50%;
    left: 7%;
    z-index: 10;
    transform: translate(0, -50%);
    max-height: 50vw;
    overflow: hidden;
  }

  .j-mass-times-block p {
    font-size: 1.1vw;
  }

  .livestream-button {
    color: white !important;
  }
}

@media (max-width: 50.99rem) {
  .j-mass-times-block {
    padding: 5%;
    background-color: var(--primary-color);
  }

  .livestream-button {
    background-color: white !important;
    color: var(--primary-color) !important;
    font-weight: bold;
    font-size: 1.5rem !important;
  }
}

/*************** HEADER *****************/

:is(.site-1-home, .site-2-home) #g-header {
  padding: 3% 5% 3% 5%;
}

/* ql-icons */

:is(.site-1) #g-header .ql-icon-container {
  display: flex;
  gap: 5vw;
  padding: 0 0 3% 0;
}

:is(.site-2) #g-header .ql-icon-container {
  display: flex;
  gap: 5vw;
  padding: 0 0 4% 0;
}

:is(.site-1-home, .site-2-home) .svg-inline--fa.fa-w-8 {
  width: 0.4em;
}

@media (max-width: 50.99rem) {
  #g-header .j-icon-ql-block {
    padding: 5% !important;
  }

  :is(.site-1, .site-2) #g-header .ql-icon-container {
    justify-content: center !important;
  }
}

:is(.site-1-home, .site-2-home) #g-header .ql-icon-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

:is(.site-1-home, .site-2-home) #g-header .ql-icon-container a:hover .ql-icon i {
  color: var(--secondary-color);
  background-color: rgba(255, 255, 255, 0.9);
  border: 4px solid var(--secondary-color);
  transform: scale(0.98);
  transition: all 300ms ease-out;
}

:is(.site-1-home, .site-2-home) #g-header .ql-icon-container p {
  text-align: center;
  font-size: clamp(1.3rem, 2vw, 3rem);
}



:is(.site-1-home, .site-2-home) #g-header .ql-icon {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 50.99rem) {

  :is(.site-1-home, .site-2-home) #g-header .ql-icon p {
    color: black;
    margin: 0;
    line-height: 1.2;
  }

  :is(.site-1-home, .site-2-home) #g-header .ql-icon-container a {
    width: fit-content;
    display: inline-block;
  }

  :is(.site-1-home, .site-2-home) #g-header .ql-icon i {
    font-size: 3.25vw;
    color: white;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid --primary-color;
    width: 9vw;
    height: 9vw;
    margin: auto;
    background-color: var(--secondary-color);
    transition: all 300ms ease-in;
  }
}

@media (max-width: 50.99rem) {

  :is(.site-1-home, .site-2-home) #g-header .ql-icon p {
    color: black;
    text-shadow: none !important;
    font-size: 1.5rem;
  }

  :is(.site-1-home, .site-2-home) #g-header .ql-icon i {
    font-size: 7vw;
    color: white;
    text-align: center;
    display: grid;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid White;
    width: 17vw;
    height: 17vw;
    margin: auto;
    background-color: var(--secondary-color);
    transition: all 300ms ease-in;
  }

  :is(.site-1-home, .site-2-home) .ql-icon-container>a {
    width: 40% !important;
    display: grid;
    justify-content: center;
    align-items: center;
  }

  :is(.site-1-home, .site-2-home) .ql-icon-container {
    margin-bottom: 2rem;
  }

  :is(.site-1-home, .site-2-home) #g-header {
    padding: 5%;
  }
}

/*************** ABOVE ********************/
/*************** SHOWCASE *****************/
/*************** UTILITY ******************/

:is(.site-1-home) #g-utility {
  padding: 7% 5%;
}

:is(.site-2-home) #g-utility {
  padding: 5%;
}


:is(.site-1-home, .site-2-home) #g-utility h1 {
  margin: 0;
  line-height: 1;
  margin-bottom: calc(var(--site-gap) * 3);
}

@media (min-width: 50.99rem) {
  .rok-mini-list-desktop .rme-item {
    padding: 0;
    margin: 0;
    max-height: 8vw;
  }

  .rok-mini-list-desktop .rme-badge {
    padding: 0;
    justify-content: center;
  }

  .rok-mini-list-desktop a {
    display: block;
    width: fit-content;
    margin: auto;
    margin-top: calc(var(--site-gap) * 3);
  }


  :is(.site-1-home, .site-2-home) #g-utility .ph-rec-row a.news-button {
    margin-top: calc(var(--site-gap) * 3);
    ;
  }

  @media (min-width: 50.99rem) {
    .rok-mini-list-desktop .rme-title {
      min-width: 100%;
    }
  }

  .rok-mini-list-desktop .rme-description {
    padding-right: 5%;
  }

  .rok-mini-list-desktop .rme-title {
    text-align: left;
  }

  .rok-mini-list-desktop .rme-items {
    gap: 1rem;
    height: 100%;
  }

  .rok-mini-list-desktop .rme-items:after {
    display: none;
  }

  .rok-mini-list-desktop .rme-time {
    line-height: 2;
  }

  .rok-mini-list-desktop .rme-timeline {
    display: none;
  }

  .ph-rec-row-hover {
    padding-left: 7%;
  }

  .ph-rec-row-hover .g-content-array>.g-grid {
    width: 48.5% !important;
  }

  .rok-mini-list-desktop .rme-badge {
    gap: 0;
  }

  .site-1-home .rok-mini-list-desktop .rokminievents3 {
    height: 48vw;
  }

  .rok-mini-list-desktop>.g-content {
    height: 100%;
  }

  .rok-mini-list-desktop h1 {
    font-size: 3.5vw;
  }
}

@media (max-width: 50.99rem) {
  :is(.site-1-home, .site-2-home) #g-utility h1 {
    margin: 0;
    line-height: 1;
    margin-bottom: calc(var(--site-gap));
  }

  .rok-mini-list-desktop a {
    display: block;
    width: fit-content;
    margin: auto;
    margin-top: calc(var(--site-gap));
    margin-bottom: 3rem;
  }

  :is(.site-1-home, .site-2-home) #g-utility .ph-rec-row a.news-button {
    margin-top: var(--site-gap);
  }

  :is(.site-1-home, .site-2-home) .rme-item {
    padding: 0;
  }

  :is(.site-1-home, .site-2-home) #g-utility .rme-description span {
    text-align: left;
  }
}

/*************** FEATURE ******************/

/* school */

.site-2-home .j-school-news .g-array-item {
  display: flex;
  flex-direction: column-reverse;
}

.site-2-home .j-school-news .g-array-item-image {
  order: 1;
}

.site-2-home .j-school-news .g-array-item-title {
  order: 2;
}

.site-2-home #g-feature:has(.g-joomla-articles > .g-grid) {
  padding: 1% 5% 5% 5%;
}

.site-2-home #g-feature .g-array-item-image a {
  pointer-events: none;
}

.site-2-home #g-feature .g-joomla-articles>.g-grid {
  padding: 3%;
}

.site-2-home #g-feature .g-item-title {
  font-size: clamp(2rem, 3vw, 4rem);
  border: none;
  margin-bottom: 1.5rem;
}

.site-2-home #g-feature .g-item-title a {
  color: var(--primary-color);
  text-decoration: none;
  pointer-events: none;
}

.site-2-home #g-feature .g-joomla-articles {
  background: #f1f1f1;
  border-radius: 1rem;
  box-shadow: var(--default-box-shadow);
}

.site-2-home #g-feature .g-joomla-articles>.g-grid {
  gap: 5%;
}

/*************** MAIN *********************/

:is(.site-1-home) #g-container-main {
  padding: 7% 5% calc(75px + 5%) 5%;
  position: relative;
}

:is(.site-2-home) #g-container-main {
  padding: 5% 5% calc(75px + 5%) 5%;
  position: relative;
}

:is(.site-1-home, .site-2-home) #g-container-main>.g-grid {
  position: relative;
  z-index: 3;
}

:is(.site-1-home, .site-2-home) .k-ui-namespace {
  margin: auto;
  width: 65%;
  text-align: center;
}

:is(.site-1-home, .site-2-home) .k-ui-namespace .mod_docman ul li .koowa_header {
  justify-content: center;
}

:is(.site-1-home, .site-2-home) .k-ui-namespace .mod_docman ul {
  padding: 0;
}

:is(.site-1-home, .site-2-home) #g-aside {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

:is(.site-1-home, .site-2-home) #g-aside a.button {
  text-align: center;
  display: inline-block;
  padding: 0.75rem 1rem;
  border-radius: var(--site-border-radius);
  font-size: 1rem;
  border: 3px solid var(--primary-color);
}

@media (max-width: 50.99rem) {

  .site-1-home #g-aside {
    padding: 3rem 5%;
    padding-bottom: 5rem;
  }

  .site-1-home #g-aside .button {
    max-width: 75%;
    margin-top: 2rem;
  }

  .site-1-home #g-aside .button {
    margin: auto;
    display: grid !important;
  }
}

@media (min-width: 50.99rem) {
  :is(.site-1-home) #g-mainbar {
    padding: 0 0 0 11%;
  }

  :is(.site-1-home, .site-2-home) #g-container-main::after {
    content: '';
    opacity: 0.1;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    background: url('/images/2024-images/news-background.png');
    z-index: 1;
    background-size: 90%;
    background-repeat: no-repeat;
    background-position: 30vw 0vw;
  }
}

@media only screen and (max-width: 50.99rem) {
  .site-1-sub #g-mainbar>.g-grid>.g-block>.g-content {
    margin: 0;
    padding: 0;
  }

  :is(.site-1-home, .site-2-home) #g-container-main {
    padding: 5%;
  }

  :is(.site-1-home, .site-2-home) #g-container-main>div {
    flex-direction: column-reverse;
  }

  :is(.site-1-home, .site-2-home) #g-container-main>div>div {
    flex: 100%;
    width: 100%;
  }
}

/*************** EXPANDED *****************/



@media (min-width: 50.99rem) {
  :is(.site-1-home) #g-expanded>.g-grid {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    width: 100%;
    transform: translate(-50%, 0);
  }

  :is(.site-1-home) #g-expanded {
    height: 0;
    z-index: 99;
    position: relative;
    padding: 0 !important;
  }
}

.site-2-home #g-expanded {
  padding: 2% 0;
}

/*************** EXTENSION ****************/

:is(.site-1-home, .site-2-home) #g-extension {
  background: url('/images/2024-images/paralax2.jpg') 50% 50% no-repeat;
  background-size: 125% auto;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center;
}

:is(.site-1-home, .site-2-home).tablet-screen #g-extension {
  background: url('/images/2024-images/paralax2.jpg') 50% 50% no-repeat;
  background-size: cover;
  background-attachment: unset !important;
}

:is(.site-1-home, .site-2-home) #g-extension>div {
  background: rgba(0, 0, 0, 0.0);
  /* You can change the color here */
}

:is(.site-1-home, .site-2-home) #g-extension>div:nth-child(1) {
  padding-top: 5%;
}

:is(.site-1-home, .site-2-home) #g-extension>div:nth-child(2) {
  padding: 0 5% 5% 5%;
}

:is(.site-1-home, .site-2-home) #g-extension h1 {
  margin: 0 0 2rem 0;
  color: white;
}

@media (max-width: 1010px) {
  :is(.site-1-home, .site-2-home) #g-extension {
    background: url('/images/2024-images/paralax2.jpg') 50% 50% no-repeat;
    background-size: cover;
    background-position: 0 100px;
  }
}

/*************** BOTTOM *******************/

:is(.site-1-home, .site-2-home) #g-bottom {
  padding-bottom: 5% !important;
}

/*************** FOOTER *******************/
#g-footer .g-content-array {
  margin: 0;
}

#g-footer a {
  color: var(--default-white);
}

:is(.site-1, .site-2) #g-footer {
  position: relative;
}

:is(.site-1, .site-2) #g-footer .footer-tower img {
  position: absolute;
  bottom: 0;
  left: 5%;
  height: 90%;
}

:is(.site-1, .site-2) .footer-tower {
  flex: 0 0;
  width: 0;
}

:is(.site-1, .site-2) #g-footer {
  background: rgb(37, 125, 255);
  background: linear-gradient(90deg, rgba(37, 125, 255, 1) 0%, rgba(15, 51, 103, 1) 50%);
}

:is(.site-1, .site-2) #g-copyright {
  background: rgb(37, 125, 255);
  background: linear-gradient(90deg, rgba(37, 125, 255, 1) 0%, rgba(15, 51, 103, 1) 50%);
}

:is(.site-1, .site-2) #g-footer>.g-grid {
  justify-content: center;
}

:is(.site-1, .site-2) .footer-text {
  padding: 3% 0;
}

:is(.site-1, .site-2) #g-footer p {
  margin: 0;
}

:is(.site-1, .site-2) #g-footer a:hover:not(:has(img)) {
  opacity: 0.75;
}

:is(.site-1, .site-2) #g-footer h2 {
  color: white;
  margin: 0;
  line-height: 1;
  margin-bottom: 1rem;
}

:is(.site-1, .site-2) #g-footer {
  padding: 0;
}

@media (min-width: 50.99rem) {
  :is(.site-1, .site-2) #g-footer img {
    padding: 2rem 0 2rem 0%;
    width: 50%;
    display: grid;
    justify-content: center;
    margin: auto;
  }
}

@media (max-width: 50.99rem) {
  :is(.site-1, .site-2) #g-footer img {
    padding: 2rem 0 2rem 0%;
    width: 90%;
    display: grid;
    justify-content: center;
    margin: auto;
  }
}

/*************** COPYRIGHT ****************/

@media (max-width: 50.99rem) {
  #g-copyright {
    padding: 0 !important;
  }
}

@media (max-width: 50.99rem) {
  #g-offcanvas :is(.g-toplevel, .g-sublevel) {
    padding-left: 5%;
  }
}

/*************** MODULES ******************/
.moduletable .nav.menu,
.moduletable .unstyled {
  background: var(--primary-color);
}

.moduletable .nav.menu li.current.active a,
.moduletable .nav.menu li a:hover {
  color: var(--primary-color);
  background: var(--secondary-color);
}

/*************** SECTIONS *****************/


.sprocket-lists-portrait-item li {
  border-bottom: none;
  overflow: initial;
  padding: 2px 0;
}

.sprocket-lists-portrait-item ul {
  list-style: initial !important;
  margin: unset;
  margin-left: 1.5rem;
  padding: initial;
}

/*************** MOBILE *******************/
/*************** ADS **********************/

/* subpages */

.moduletable .nav.menu li.current.active a,
.moduletable .nav.menu li a:hover {
  color: white;
  background: #2f5a9e;
}

.giving-page {
  --grid-img-width-mobile: 100vw;
  --grid-tile-height: 17vw;
}

.giving-page #g-mainbar {
  padding-bottom: 5%;
}

@media (min-width: 50.99rem) {
  .giving-page #g-mainbar .g-joomla-articles {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .giving-page .g-joomla-articles>.g-grid {
    margin: auto;
  }
}

.school-news .g-item-title {
  pointer-events: none;
  text-decoration: none;
  border-bottom: none;
}

.school-news .g-item-title a {
  pointer-events: none;
  text-decoration: none;
  color: var(--primary-color) !important;
  font-family: var(--heading-font-family);
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  font-variant-caps: var(--h3-font-variant-caps);
  text-transform: var(--h3-text-transform);
  line-height: var(--h3-line-height);
  margin: var(--h3-margin);
  padding: var(--h3-padding);
  border-bottom: var(--title-border-bottom);
  border-radius: var(--null);
  background: var(--h3-background);
  border-bottom: none;
}

@media (min-width: 50.99rem) {
  :is(.site-1-sub, .site-2-sub) #g-container-main::after {
    content: '';
    opacity: 0.05;
    top: -150px;
    left: 0;
    height: calc(100% + 295px);
    width: 100%;
    position: absolute;
    background: url('/images/2024-images/news-background-2.png');
    z-index: 1;
    background-size: 60%;
    background-repeat: no-repeat;
    background-position: bottom right;
  }

  :is(.site-1-sub, .site-2-sub) #g-container-main {
    position: relative;
  }

  :is(.site-1-sub, .site-2-sub) #g-container-main>.g-grid {
    z-index: 3;
    position: relative;
  }

  :is(.site-1-sub, .site-2-sub) #g-bottom,
  :is(.site-1-sub, .site-2-sub) #g-aside,
  :is(.site-1-sub, .site-2-sub) #g-utility {
    background-color: transparent;
    z-index: 3;
    position: relative;
  }

  :is(.site-1, .site-2) #g-navigation {
    z-index: 15;
    position: relative;
  }

  :is(.site-1-sub, .site-2-sub) #g-footer {
    z-index: 3;
    position: relative;
  }

}

.site-1-home #yottie_1 {
  margin: auto;
}

/*  */

/* Vertical-Calendar */

/* 3. Grid Layout for Days (Wrapper) */
.vertical-calendar .gcaltohtml {
  display: grid;
  grid-template-columns: 90px 1fr;
  grid-auto-rows: auto;
  row-gap: 1.5rem;
  column-gap: 0;
  background-color: transparent;
  box-shadow: none;
  margin-bottom: 1.5rem;
  overflow: visible;
}

/* 4. Date Column (Left side) */
.vertical-calendar .cc-dateblockformat {
  grid-column: 1;
  background-color: var(--primary-color);
  color: #ffffff;
  border-radius: 8px 0 0 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem 0.5rem;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

.vertical-calendar .cc-monthformat {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0.25rem;
  opacity: 0.9;
}

.vertical-calendar .cc-dayformat {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

/* 5. Event List Column (Right side) */
.vertical-calendar .cc-eventblock {
  grid-column: 2;
  background-color: #ffffff;
  border-radius: 0 8px 8px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.75rem 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* 6. Individual Event Items */
.vertical-calendar .event {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0.35rem 1.25rem;
  gap: 1rem;
}

/* 7. Time "Tag" Styling (Pills) */
.vertical-calendar .cc-timeofday {
  /* Uses a 10% opacity tint of the primary color for the background */
  background-color: rgba(var(--primary-rgb), 0.1);
  color: var(--primary-color);
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.35rem 0.75rem;
  border-radius: 50px;
  white-space: nowrap;
  line-height: 1;
  min-width: 85px;
  text-align: center;
  flex-shrink: 0;
}

/* 8. Event Title */
.vertical-calendar .cc-title {
  font-size: 0.95rem;
  color: #000000;
  line-height: 1.4;
  padding-top: 2px;
}

/* 10. Mobile Responsiveness */
@media (max-width: 50.99rem) {
  .vertical-calendar .gcaltohtml {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .vertical-calendar .cc-dateblockformat {
    grid-column: 1;
    width: 100%;
    border-radius: 8px 8px 0 0;
    flex-direction: row;
    gap: 0.5rem;
    padding: 0.75rem;
    align-items: baseline;
    justify-content: flex-start;
    margin-top: 1.5rem;
  }

  .vertical-calendar .cc-dateblockformat:first-child {
    margin-top: 0;
  }

  .vertical-calendar .cc-monthformat {
    font-size: 1.1rem;
    margin-bottom: 0;
  }

  .vertical-calendar .cc-dayformat {
    font-size: 1.1rem;
  }

  .vertical-calendar .cc-eventblock {
    grid-column: 1;
    border-radius: 0 0 8px 8px;
  }

  .vertical-calendar .event {
    padding: 0.75rem 1rem;
  }
}

/*  */


.site-2-sub #hero .g-content {
  margin: 0 !important;
  padding: 0 !important;
}

.site-2 #g-navigation {
  --ql-title-color: var(--primary-color);
  --ql-icon-color: var(--primary-color);
}


/* --- TOP LINKS / SCHOOL ICONS --- */
.school-icons {
  height: auto !important;
  width: auto !important;
  position: relative !important;
  margin: 3rem 0 !important;
  z-index: 10 !important;
}

.school-icons .g-grid {
  display: flex !important;
  justify-content: center !important;
  gap: 1.5rem !important;
}

.school-icons .g-blockcontent-subcontent-block {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  padding: 1.25rem !important;
  flex: 0 1 auto !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid var(--primary-color);
  height: auto !important;
  min-height: auto !important;
}

.school-icons .g-blockcontent-subcontent-block:hover {
  background: rgba(var(--primary-rgb), 0.05) !important;
  box-shadow: none;
}

.school-icons .g-blockcontent-subcontent-block:hover .g-blockcontent-subcontent-title-text {
  color: var(--primary-color) !important;
}

.school-icons .g-blockcontent-subcontent-block-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  height: auto !important;
  width: auto !important;
}

.school-icons .g-blockcontent-subcontent-title-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: var(--primary-color, #0f3367) !important;
  font-size: 28px !important;
  transition: all 0.3s ease;
  margin: 0 0 8px 0 !important;
}

.school-icons .g-blockcontent-subcontent-block:hover .g-blockcontent-subcontent-title-icon {
  color: var(--primary-color) !important;
  transform: scale(1.05);
}

.school-icons .g-blockcontent-subcontent-title {
  margin: 0 !important;
  line-height: normal !important;
  height: auto !important;
}

.school-icons .g-blockcontent-subcontent-title-text {
  color: var(--primary-color, #0f3367) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.school-icons .g-blockcontent-buttons {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.school-icons .g-blockcontent-buttons a.button {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

@media (max-width: 50.99rem) {
  .school-icons {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    z-index: 1000000 !important;
    margin: 0 !important;
  }

  .school-icons .g-blockcontent-subcontent-block {
    background: #ffffff !important;
    border-radius: 0 0 0 50% !important;
    padding: 5px 5px !important;
    flex: 0 1 auto !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid var(--primary-color) !important;
  }

  .school-icons .g-grid {
    gap: 8px !important;
    padding: 0 !important;
  }

  .school-icons .g-blockcontent-subcontent-title-icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 13px !important;
    margin-bottom: 0 !important;
  }

  .school-icons .g-blockcontent-subcontent-title-text {
    display: none !important;
  }
}

@media (max-width: 50.99rem) {
  .g-offcanvas-toggle {
    top: 0;
    left: 0;
    border-radius: 0 0 50% 0
  }
}

.g-content:has(.j-donate-form) {
  padding-right: 2rem !important;
}