@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: #092d4d;
    --secondary-color: #092d4d;
    --tertiary-color: #f7d000;

    --primary-rgb: 9, 45, 77;
    --secondary-rgb: 201,184,160;
    --tertiary-rgb: 247, 208, 0;

    --default-white: #ffffff;
    --default-black: #000000;

    --title-font-family: 'EB Garamond', serif;
    --body-font-family: 'Lato', 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,.5);

    --swiper-box-shadow: var(--default-box-shadow);

    --ql-title-color: var(--default-white);
    --ph-title-font-size-mobile: 4.5vw !important;
}

.site-2 {
    --primary-color: #092d4d;
    --secondary-color: #092d4d;
    --tertiary-color: #f7d000;

    --primary-rgb: 9, 45, 77;
    --secondary-rgb: 201,184,160;
    --tertiary-rgb: 247, 208, 0;

    --default-white: #ffffff;
    --default-black: #000000;

    --title-font-family: 'EB Garamond', serif;
    --body-font-family: 'Lato', 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,.5);

    --swiper-box-shadow: var(--default-box-shadow);

    --ql-title-color: var(--default-white);

    --ql-font-size-desktop: 2vw;
    --ph-title-font-size-mobile: 4.5vw !important;
}

.site-3 {
    --primary-color: #092d4d;
    --secondary-color: #092d4d;
    --tertiary-color: #f7d000;

    --primary-rgb: 9, 45, 77;
    --secondary-rgb: 201,184,160;
    --tertiary-rgb: 247, 208, 0;

    --default-white: #ffffff;
    --default-black: #000000;

    --title-font-family: 'EB Garamond', serif;
    --body-font-family: 'Lato', 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,.5);

    --swiper-box-shadow: var(--default-box-shadow);

    --ql-title-color: var(--default-white);

    --ql-font-size-desktop: 2vw;
    --ph-title-font-size-mobile: 4.5vw !important;
}

:is(.site-1, .site-2, .site-3) .ql-fa-toplinks {
    --ql-title-color: var(--primary-color);
    --ql-icon-color: var(--primary-color);
}

.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);
}

:is(.site-1-sub, .site-2-sub, .site-3-sub) p {
    line-height: 1.3;
}

:is(.site-1-sub, .site-2-sub, .site-3-sub) {
    --grid-box-shadow: 0;
    --grid-title-font-size: 4vw !important;
}

a.limegreenbutton { 
  color: #ffffff; 
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  background: #8bdd39; 
  padding: .5rem 1rem;  
  border-radius: .5rem; 
  margin: 0;
  display: inline-block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #8bdd39;
  transition: all .2s ease-in;
}
a.hunterbutton { 
  color: #ffffff; 
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  background: #3a5c3b; 
	padding: .5rem 1rem;
  border-radius: .5rem; 
  margin: 0;
  display: inline-block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #3a5c3b;
  transition: all .2s ease-in;
}
a.greenbutton { 
  color: #ffffff; 
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  background: #026731; 
	padding: .5rem 1rem;
  border-radius: .5rem; 
  margin: 0;
  display: inline-block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #026731;
  transition: all .2s ease-in;
}
a.lightbluebutton { 
  color: #ffffff; 
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  background: #abc7dd; 
	padding: .5rem 1rem; 
  border-radius: .5rem; 
  margin: 0;
  display: inline-block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #abc7dd;
  transition: all .2s ease-in;
}
a.redbutton { 
  color: #ffffff; 
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  background: #700505; 
	padding: .5rem 1rem;
  border-radius: .5rem; 
  margin: 0;
  display: inline-block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #700505;
  transition: all .2s ease-in;
}
a.blackbutton { 
  color: #ffffff; 
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  background: #000000; 
	padding: .5rem 1rem; 
  border-radius: .5rem; 
  margin: 0;
  display: inline-block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #000000;
  transition: all .2s ease-in;
}
a.whitebutton { 
  color: #092D4D; 
  font-size: 1rem;
  text-transform: none;
  font-weight: normal;
  background: #ffffff; 
	padding: .5rem 1rem;
  border-radius: .5rem; 
  margin: 0;
  display: inline-block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #092D4D;
  transition: all .2s ease-in;
}

a.blueblockbutton { 
  color: #ffffff; 
  font-size: 1rem;
  text-transform: none;
  text-align: center;
  font-weight: normal;
  background: #092D4D; 
	padding: .5rem 1rem;
  border-radius: .5rem; 
  margin: 0;
  display: block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #092D4D;
  transition: all .2s ease-in;
}
a.blueblockbtn { 
  color: #092D4D; 
  font-size: 1rem;
  text-transform: none;
  text-align: center;
  font-weight: normal;
  background: transparent; 
	padding: .5rem 1rem;
  border-radius: .5rem; 
  margin: 0;
  display: block;
  font-weight: 500;
  line-height: 1.125rem;
  border: 2px solid #092D4D;
  transition: all .2s ease-in;
}


/*.readon:hover, .button:hover, .btn:hover,  p.readmore .btn:hover {background: transparent; color: #092D4D;   border: 2px solid #092D4D;}*/
.limegreenbutton:hover {background: transparent; color: #8bdd39;   border: 2px solid #8bdd39;}
.hunterbutton:hover {background: transparent; color: #3a5c3b;   border: 2px solid #3a5c3b;}
.greenbutton:hover {background: transparent; color: #026731;   border: 2px solid #026731;}
.lightbluebutton:hover {background: transparent; color: #abc7dd;   border: 2px solid #abc7dd;}
.redbutton:hover {background: transparent; color: #700505;   border: 2px solid #700505;}
.bluebutton:hover {background: transparent; color: #014E78;   border: 2px solid #014E78;}
.blackbutton:hover {background: transparent; color: #000000;   border: 2px solid #000000;}
.whitebutton:hover {background: #092D4D; color: white;   border: 2px solid #092D4D;}
.blueblockbutton:hover {background: transparent; color: #092D4D;   border: 2px solid #092D4D;}
.blueblockbtn:hover {background: #092D4D; color: white; }


/*************** ALL SITE *****************/

.g-container {
    width: 100%;
}

.g-content:has(.admod) {
    padding: 0 !important;
    margin: 0 !important;
}

.item-image {display: none;}

:is(.site-1-home, .site-2-home, .site-3-home) #g-page-surround .g-content {
    padding: 0;
    margin: 0;
}

:is(.site-1-home, .site-2-home, .site-3-home) #g-page-surround .g-array-item-text {
    margin: 0;
}

:is(.site-1-sub, .site-2-sub, .site-3-sub) section:not(#g-navigation, #g-container-footer, #g-copyright) .g-content:not(.g-blockcontent-subcontent-block-content) {
    margin: 0.625rem;
    padding: 1.5rem ;
}

:is(.site-1-sub, .site-2-sub, .site-3-sub) section:not(#g-navigation, #g-container-footer, #g-copyright) #grid-addpic .g-content {
    padding: 0 !important;
    margin: 0 !important;
}

:is(.site-1-sub, .site-2-sub, .site-3-sub) section#g-container-main #g-aside .g-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (min-width: 50.99rem) {
  :is(.site-1-home, .site-2-home, .site-3-home) #g-top .modern-alert .g-joomla-articles {
      padding: 0 3% !important;
  }
 }

 @media (min-width: 50.99rem) {
    .grid-staff .g-content-array > .g-grid > .g-block > .g-content {
        padding: 0 !important;
        margin: 0 !important;
    }
 }

/***********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;
    }
}

@media (min-width: 50.99rem) {
  :is(.site-1-home, .site-2-home) #g-top .modern-alert .g-joomla-articles {
      padding: 0 3% !important;
  }
}

/*************** HOMELAYOUT ***************/ 
/*************** OFFCANVAS ****************/
.g-offcanvas-toggle {color: var(--primary-color);} 
.g-offcanvas-toggle .fa-fw {text-shadow: none;}

@media only screen and (max-width: 50.99rem) {
    :is(.site-1, .site-2) #g-offcanvas .g-social-items {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        align-items: center;
        justify-content: center;
    }
    :is(.site-1, .site-2) #g-offcanvas .g-social-items a {
        color: var(--secondary-color);
    }
    :is(.site-1, .site-2) #g-offcanvas .g-social-items a:hover {
        color: var(--tertiary-color);
    }
}

/*************** TOP **********************/ 
/*************** NAVIGATION ***************/

.site-1-home #g-navigation {
    background: url("/images/template/mass-times-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-bottom: 36vw !important;
}

.site-1-sub #g-navigation {
    background: url("/images/template/mass-times-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
}

.site-1-home #g-slideshow {
    margin-top: -36vw !important;
}

@media (max-width: 50.99rem) {
    .ql-fa-toplinks .g-blockcontent-subcontent-block-content > .g-blockcontent-subcontent-title {
        display: initial;
    }
}

@media (max-width: 50.99rem) {
    .site-1 #g-navigation > .g-container > .g-grid:nth-child(1) {
        padding: 3% 7% !important;
    }
}

@media (min-width: 50.99rem) {
    .site-1 #g-navigation > .g-container > .g-grid:nth-child(2) {
        padding: 2% !important;
    }

    .site-2 .gray-background {
        background-color: gray;
    }

    .site-3 .gray-background {
        background-color: gray;
    }
}

@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.1vw;
        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);
    }

    .site-1 #g-navigation .g-social-items {
        display: flex;
        flex-direction: row;
        gap: 2vw;
        align-items: center;
    }
    .site-1 #g-navigation .g-social-items a {
        color: white;
        font-size: 1.25vw;
    }
    .site-1 #g-navigation .g-social-items a:hover {
        color: #ffffff91;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-navigation .g-logo {
        max-width: 65%;
        margin: 2rem auto;
    }
}

/* school */

.site-2-home #g-navigation {
    background: url("/images/template/mass-times-bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-bottom: 36vw !important;
}

.site-2-sub #g-navigation {
    background: url("/images/template/mass-times-bg.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-position: top;
}

.site-2-home #g-slideshow {
    margin-top: -36vw !important;
}

@media (max-width: 50.99rem) {
    .site-2 #g-navigation > .g-container > .g-grid:nth-child(1) {
        padding: 3% 7% !important;
    }
}

@media (min-width: 50.99rem) {
    .site-2 #g-navigation > .g-container > .g-grid:nth-child(2) {
        padding: 2% !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.1vw;
        font-family: var(--body-font-family);
    }

    .site-2 #g-navigation .g-social-items {
        display: flex;
        flex-direction: row;
        gap: 2vw;
        align-items: center;
    }

    .site-2 #g-navigation .g-social-items a {
        color: white;
        font-size: 1.25vw;
    }

    .site-2 #g-navigation .g-social-items a:hover {
        color: #ffffff91;
    }
}

.site-2 #g-navigation img {
    width: 75%;
    margin: auto;
}

 @media (max-width: 50.99rem) {
    .site-2 #g-navigation img {
        width: 100%;
        margin: auto;
    }
 }

/* ECM */

.site-3-home #g-navigation {
    background: url("/images/template/header-bg-ecm.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding-bottom: 36vw !important;
}

.site-3-home #g-slideshow {
    margin-top: -36vw !important;
}

.site-3-sub #g-navigation {
    background: url("/images/template/header-bg-ecm.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
}

@media (max-width: 50.99rem) {
    .site-3 #g-navigation > .g-container > .g-grid:nth-child(1) {
        padding: 3% 7% !important;
    }
}

@media (min-width: 50.99rem) {
    .site-3 #g-navigation > .g-container > .g-grid:nth-child(2) {
        padding: 2% !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.1vw;
        font-family: var(--body-font-family);
    }

    .site-3 #g-navigation .g-social-items {
        display: flex;
        flex-direction: row;
        gap: 2vw;
        align-items: center;
    }

    .site-3 #g-navigation .g-social-items a {
        color: white;
        font-size: 1.25vw;
    }

    .site-3 #g-navigation .g-social-items a:hover {
        color: #ffffff91;
    }
}

.site-3 #g-navigation img {
    width: 75%;
    margin: auto;
}


 @media (max-width: 50.99rem) {
    .site-3 #g-navigation img {
        width: 70%;
        margin: auto;
    }
 }

/*************** SLIDESHOW ****************/ 

.style-502 :is(section:not(#g-top), #g-footer):has([class*="-502"]) {
  --ql-border-radius: 0;
}

.ql-inner-box .g-blockcontent-buttons > a.button {
  color: transparent !important;
}

#g-slideshow a:hover {
  color: transparent !important;
}

.style-502 #g-slideshow .quicklinks-502 {
  padding: 2% 5% 3% 5%;
}

.style-304 :is(section:not(#g-top), #g-footer):has([class*="-304"]) > .g-container {
    padding: 3vw 3vw 2vw 3vw !important;
}

.site-1-home .mass-times-block h6 {
    font-size: 1.75vw;
    margin-bottom: 0.5rem;
}

.mass-times-block :is(h1,h2,h3,h4,h5,h6) {
    margin-bottom: 0.5rem;
}

/* school */

.site-2-home #g-slideshow {
    position: relative;
}

@media (min-width: 50.99rem) {

    .site-2-home #swiper-6352-particle::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: -2%;
        background: #ffffff;
        width: 52%;
        height: 35px;
        display: block;
        transform: skew(45deg) translateX(-11px);
        z-index: 2;
    }
    
    .site-2-home #swiper-6352-particle::after {
        content: '';
        position: absolute;
        bottom: 0;
        right: -2%;
        background: #ffffff;
        width: 52%;
        height: 35px;
        display: block;
        transform: skew(-45deg) translateX(11px);
        z-index: 2;
    }

    .site--2-home #g-slideshow {
        position: relative;
    }

    .site-2-home .blue-ribbon img {
        width: 100%;
        padding: 2rem 1rem;
        padding-bottom: 5rem;
    }

    .site-2-home .g-grid:has(.blue-ribbon) {
        position: absolute;
        z-index: 10;
        top: 0;
        right: 3.75%;
        width: 15%;
        background-color: rgba(var(--primary-rgb),.75);
        clip-path: polygon(
            0% 0%,          /* top left */
            100% 0%,        /* top right */
            100% 100%,      /* right bottom */
            50% 85%,        /* middle dip up */
            0% 100%         /* left bottom */
            )
    }
}

@media (max-width: 50.99rem) {

    .icon-ecm-icon-2 {
        font-size: 2rem !important;
    }

    .site-2-home #swiper-6352-particle::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: -2%;
        background: #ffffff;
        width: 52.5%;
        height: 15px;
        display: block;
        transform: skew(45deg) translateX(-11px);
        z-index: 2;
    }
    
    .site-2-home #swiper-6352-particle::after {
        content: '';
        position: absolute;
        bottom: 0;
        right: -2%;
        background: #ffffff;
        width: 52.5%;
        height: 15px;
        display: block;
        transform: skew(-45deg) translateX(11px);
        z-index: 2;
    }

    .site-2-home .g-grid:has(.blue-ribbon) img {
        width: 40%;
        padding: 1rem 1rem;
        margin: auto;
        display: grid;
        z-index: 10;
        position: relative;
    }

    .site-2-home .g-grid:has(.blue-ribbon) {
        margin-top: 1rem;
        background-image: url('/images/template/pattern-4.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        box-shadow: var(--default-box-shadow);
        z-index: 10;
        position: relative;
    }

    .site-2-home #logo-2146-particle::after {
        position: absolute;
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(var(--primary-rgb),.95);
    }
}

.site-2-home #g-slideshow .swiper-pagination-parent-6352 {
    bottom: 4%;
}

.site-2-home .g-swiper .g-swiper-slider .swiper-slide .slide .slide-content-wrapper {
    display: initial;
    position: absolute;
    bottom: 28%;
    left: 7%;
    height: initial;
    width: max-content;
    max-width: 90%;
}

.site-2-home .g-swiper-text :is(h1,h2,h3,h4,h5,h6,p) {
    color: white !important;
    line-height: 1;
    margin: 0;
    margin-bottom: 1.5rem;
}

.site-2-home .g-swiper-text p {
    margin: 0;
    line-height: 1.3;
    font-size: clamp(1.2rem, 1.3vw, 4rem);
}

.site-2-home .g-swiper-text .button {
    margin-top: 1.5rem;
}

.site-2-home .g-swiper-text h1 {
    font-size: clamp(1.2rem, 6vw, 8rem);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

@media (max-width: 50.99rem) {
    .site-2-home .g-swiper .g-swiper-slider .swiper-slide .slide .slide-content-wrapper {
        display: initial;
        position: absolute;
        bottom: 50%;
        left: 50%;
        transform: translate(-50%, 50%);
        height: initial;
        width: max-content;
    }

    .site-2-home .g-swiper-text,
    .site-3-home .g-swiper-text {
        margin: 0 !important;
    }
}

/* ECM */

.site-3-home #g-slideshow {
    position: relative;
}

.site-3-home #swiper-6352-particle::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -2%;
    background: #ffffff;
    width: 52%;
    height: 35px;
    display: block;
    transform: skew(45deg) translateX(-11px);
    z-index: 2;
}

.site-3-home #swiper-6352-particle::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: -2%;
    background: #ffffff;
    width: 52%;
    height: 35px;
    display: block;
    transform: skew(-45deg) translateX(11px);
    z-index: 2;
}

.site-3-home #g-slideshow .swiper-pagination-parent-6352 {
    bottom: 4%;
}

.site-3-home .g-swiper .g-swiper-slider .swiper-slide .slide .slide-content-wrapper {
    display: initial;
    position: absolute;
    bottom: 28%;
    left: 7%;
    height: initial;
    width: max-content;
    max-width: 90%;
}

.site-3-home .g-swiper-text :is(h1,h2,h3,h4,h5,h6,p) {
    color: white !important;
    line-height: 1;
    margin: 0;
    margin-bottom: 1.5rem;
}

.site-3-home .g-swiper-text p {
    margin: 0;
    line-height: 1.3;
    font-size: clamp(0.9rem, 1.3vw, 4rem);
}

.site-3-home .g-swiper-text .button {
    margin-top: 1.5rem;
}

.site-3-home .g-swiper-text h1 {
    font-size: clamp(1.2rem, 4.75vw, 8rem);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

@media (max-width: 50.99rem) {
    .site-3-home .g-swiper .g-swiper-slider .swiper-slide .slide .slide-content-wrapper {
        display: initial;
        position: absolute;
        bottom: 50%;
        left: 50%;
        transform: translate(-50%, 50%);
        height: initial;
        width: max-content;
    }

    .site-3-home .swiper-navigation {
        display: none;
    }
}

/*************** HEADER *******************/

/* school */

.site-2-home.style-502 :is(section:not(#g-top), #g-footer, #g-header):has([class*="-502"]) {
    --ql-border-radius: 0 !important;
}

.site-2-home .mass-times-block h6 {
    font-size: 1.75vw;
    margin-bottom: 0.5rem;
}

/* ECM */

.site-3-home.style-502 :is(section:not(#g-top), #g-footer, #g-header):has([class*="-502"]) {
    --ql-border-radius: 0 !important;
}

.site-3-home .mass-times-block h6 {
    font-size: 1.75vw;
    margin-bottom: 0.5rem;
}

/*************** ABOVE ********************/
/*************** SHOWCASE *****************/

.style-903 :is(section:not(#g-top), #g-footer):has([class*="-903"]) {
    padding: 3vw 3vw 3vw 5vw !important;
}

.site-1-home #g-showcase {
    padding: 0 !important;
    padding-bottom: 2vw !important;
}

@media (max-width: 50.99rem) {
    .site-1-home #g-showcase {
        padding: 5% 0 !important;
    }
}

/* school */

.site-2-home #g-showcase {
    padding: 0 !important;
    margin-top: 2vw !important;
}

@media (max-width: 50.99rem) {
    .site-2-home #g-showcase {
        margin: 5% 0 !important;
    }
}

/* ECM */

.site-3-home #g-showcase p {
    margin: 0;
}

.site-3-home #g-showcase h1 {
    color: white;
    font-size: 2vw;
    line-height: 1.65;
    margin: 0;
    padding: 0 5%;
    text-shadow: var(--default-box-shadow);
}

.site-3-home #g-showcase > .g-container {
    position: relative;
}

.site-3-home #g-showcase .g-grid:has(h1) {
    position: relative;
    z-index: 10;
}

.site-3-home #g-showcase {
    background-image: url('/images/template/pattern-4.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: var(--default-box-shadow);
    z-index: 10;
    position: relative;
}

.site-3-home #g-showcase > .g-container::after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--primary-rgb),.85);
}

@media (min-width: 50.99rem) {
    .site-3-home #g-showcase > .g-container {
        padding: 2% 3% !important;
    }
}

@media (max-width: 50.99rem) {
    .site-3-home #g-showcase > .g-container {
        padding: 5% !important;
    }

    .site-3-home #g-showcase h1 {
        font-size: 1.5rem;
    }

    .site-3-home #g-showcase {
        margin-top: 2rem !important;
    }
}

/*************** UTILITY ******************/

.site-1-home #g-utility p {
    margin: 0;
}

.site-1-home #g-utility h1 {
    color: white;
    font-size: 2vw;
    line-height: 1.65;
    margin: 0;
    padding: 0 5%;
    text-shadow: var(--default-box-shadow);
}

.site-1-home #g-utility > .g-container {
    position: relative;
}

.site-1-home #g-utility .g-grid:has(h1) {
    position: relative;
    z-index: 10;
}

.site-1-home #g-utility {
    background-image: url('/images/template/pattern-4.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: var(--default-box-shadow);
    z-index: 10;
    position: relative;
}

.site-1-home #g-utility > .g-container::after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--primary-rgb),.85);
}

.g-grid:has(.teacher-spotlight) {
    background-color: var(--primary-color);
}

.teacher-spotlight .g-title {
    font-size: 3.5rem;
    color: white;
    font-weight: normal;
    text-transform: initial;
    font-variant-caps: initial;
}

.teacher-spotlight p {
    color: var(--secondary-color);
    line-height: 1.5;
    margin-bottom: 0;
    font-size: 1.2rem;
}

.teacher-spotlight img {
    border-radius: 5px;
    box-shadow: var(--default-box-shadow);
}

.teacher-spotlight {
    background-image: url('/images/template/pattern-4.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: var(--default-box-shadow);
    z-index: 10;
    position: relative;
}

#contentarray-9771-particle {
    position: relative;
    z-index: 99;
    margin: 0;
}

.teacher-spotlight::after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--primary-rgb),.86);
}

.teacher-spotlight .g-array-item-text {
    height: 100%;
    display: grid;
    justify-content: center;
    align-items: center;
    background-color: white;
    padding: 5%;
    border-radius: 5px;
    box-shadow: var(--default-box-shadow);
}

#contentarray-9771-particle > h2 {
    color: white;
    font-size: 3.5rem;
}

@media (min-width: 50.99rem) {
    .site-1-home #g-utility > .g-container {
        padding: 2% 3% !important;
    }

    .g-grid:has(.padding-here) {
        padding: 3% 10% 0 10% !important;
    }

    .g-grid:has(.padding-2) {
        padding: 0 10% 3% 10% !important;
    }

    .site-2-home #blockcontent-3329-particle > div > div > div {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .teacher-spotlight .g-array-item {
        display: grid;
        grid-template-columns: 1fr 3fr;
        gap: 5%;
        justify-content: center;
        align-items: center;
    }

    .teacher-spotlight .g-array-item-image {
        margin: 0;
        display: grid;
        justify-items: center;
    }

    .teacher-spotlight {
        padding: 3% 10%;
    }
}

@media (max-width: 50.99rem) {
    .site-1-home #g-utility > .g-container {
        padding: 5% !important;
    }

    .site-1-home #g-utility h1 {
        font-size: 1.5rem;
    }

    .g-grid:has(.padding-here) {
        padding: 5% 7% 0 7% !important;
    }

    .g-grid:has(.padding-2) {
        padding: 0 7% 5% 7% !important;
    }

    .teacher-spotlight {
        padding: 5% 7%;
    }

    .teacher-spotlight img {
        margin: auto;
        display: grid;
    }
}

/* ***************** */

.site-2-home #g-showcase p {
    margin: 0;
}

.site-2-home #g-showcase h1 {
    color: white;
    font-size: 2vw;
    line-height: 1.65;
    margin: 0;
    padding: 0 5%;
    text-shadow: var(--default-box-shadow);
}

.site-2-home #g-showcase > .g-container {
    position: relative;
}

.site-2-home #g-showcase .g-grid:has(h1) {
    position: relative;
    z-index: 10;
}

.site-2-home #g-showcase {
    background-image: url('/images/template/pattern-4.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: var(--default-box-shadow);
    z-index: 10;
    position: relative;
}

.site-2-home #g-showcase > .g-container::after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--primary-rgb),.85);
}

@media (min-width: 50.99rem) {
    .site-2-home #g-showcase > .g-container {
        padding: 2% 3% !important;
    }
}

@media (max-width: 50.99rem) {
    .site-2-home #g-showcase > .g-container {
        padding: 5% !important;
    }

    .site-2-home #g-showcase h1 {
        font-size: 1.5rem;
    }
}

/* ECM 2 */

.site-3-home #blockcontent-3329-particle {
    margin: 0;
}

.grade-ql {
    padding: 0 !important;
}

.site-3-home #blockcontent-3329-particle > div > div > div > .g-block > div {
    margin: 0;
}

@media (min-width: 50.99rem) {
    .site-3-home #blockcontent-3329-particle > div > div > div {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .site-3-home #g-utility {
        padding: 0 !important;
    }

    .site-3-home #g-showcase {
        margin: 2% 0 0 0 !important;
    }

}

.site-3-home #g-expanded .ql-inner-box .g-blockcontent-subcontent-title > .g-blockcontent-subcontent-title-text {
    border: none;
}

/*************** FEATURE ******************/
/*************** MAIN *********************/

.bulletin-picture-list .bulletin-variables {
    --bulletin-border-radius: 5px;
}

#g-mainbar > div:nth-child(4) {
    margin-top: 1rem;
}

.bulletin-picture-list .bulletin-variables {
    --bulletin-container-padding: 1rem 5vw 0 5vw;
}

@media (max-width: 50.99rem) {
    #contentarray-4636-particle > div {
        padding: 0;
    }

    .latest-bulletin-title,
    .upcoming-events-title {
        margin-top: 2rem;
    }

    .style-903 :is(section:not(#g-top), #g-footer):has([class*="-903"]) {
        padding: 10% !important;
    }
}

@media only screen and (min-width: 50.99rem) {
    :is(.site-1-sub, .site-2-sub, .site-3-sub) #g-mainbar {
        min-height: 30vh;
    }
}

@media only screen and (max-width: 50.99rem) {
    :is(.site-1-sub, .site-2-sub, .site-3-sub) #g-mainbar > .g-grid > .g-block > .g-content {
        margin: 0;
        padding: 0;
    }
}

.site-2-home #g-mainbar {
    padding: 0 10% !important;
}

/*************** EXPANDED *****************/ 

/*************** EXTENSION ****************/

.site-1-home #g-extension {
    background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
    background-size: 125% auto;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center;
}

.site-1-home.tablet-screen #g-extension {
    background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
    background-size: cover;
    background-attachment: unset !important;
}

.site-1-home #g-extension {
    background-size: cover;
    background-position: center;
    position: relative;
}

.site-1-home #g-extension > .g-container {
    padding: 3vw 3vw 5vw 3vw !important;
}

.site-1-home #g-extension > .g-container {
    background-color: rgba(var(--primary-rgb),.75);
}

#custom-6033-particle > h1 {
    color: white;
}

#custom-6033-particle > h1 {
    margin-top: 0;
    line-height: 1;
    margin-bottom: 4vw;
    text-shadow: var(--default-box-shadow);
}

.style-304 :is(section:not(#g-top), #g-footer) > .g-container > .g-grid:has([class*="-304"]) {
    gap: 3vw;
}

#custom-9419-particle > p {
    margin: 0;
}

#custom-9419-particle {
    margin: 0;
}

#custom-9644-particle, 
#custom-9644-particle > p {
    margin: 0;
}

#g-extension > div {
    width: 100%;
}

.site-1-home #g-extension > div > div:nth-child(3) {
    padding-top: 2rem;
}

#blockcontent-7253-particle {
    margin: 0;   
}

@media (max-width: 50.99rem) {
    .site-1-home #g-extension {
        background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
        background-size: cover;
     }

    .site-1-home #g-extension > .g-container {
        padding: 5% !important;
    }

    .facebook-widget {
        margin-bottom: 10%;
    }

    .site-1-home #blockcontent-7253-particle > div > div > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 50.99rem) {

    .site-1-home #g-expanded {
        --ql-font-size-desktop: 2.25vw !important;
    }

    #g-extension > div > div:nth-child(2) > .g-block {
        padding: 0 2vw;
    }

    .style-304 .mass-times-304 {
        max-width: calc(33% - 3vw);
        flex: calc(33% - 3vw);
    }

    .site-1-home #blockcontent-7253-particle > div > div > div {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

    #custom-8062-particle > h1 {
        margin: 0;
        line-height: 1;
        margin-bottom: 2rem;
    }

    #g-expanded > div > div:nth-child(2) > div {
        padding: 0;
    }

    #g-expanded .g-blockcontent-subcontent-title-text {
        padding: 1rem;
    }

    .site-1-home #g-expanded {
        padding: 3vw 17vw 5vw 17vw !important;
    }

    .site-1-home #g-expanded .g-container {
        width: 100%;
    }
}

/* school */

.site-2-home #g-extension > div {
    width: 100%;
}

.site-2-home #g-extension > div > div:nth-child(3) {
    padding-top: 2rem !important;
}

.site-2-home #g-extension {
    background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
    background-size: 125% auto;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center;
}

.site-2-home.tablet-screen #g-extension {
    background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
    background-size: cover;
    background-attachment: unset !important;
}

@media (max-width: 50.99rem) {

  .site-2-home #g-extension {
      background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
      background-size: cover;
  }

  .site-2-home .ql-dm .g-blockcontent-subcontent-block-content {
    height: auto;
    aspect-ratio: 1/1;
  }

  .site-2-home #g-expanded {
    padding: 5% 5%;
  }

  .site-2-home #g-expanded .ql-dm .g-blockcontent-subcontent {
    gap: 1rem;
  }

  .site-2-home .ql-dm .g-blockcontent-subcontent-block {
    flex: 48%;
  }

}

@media (min-width: 50.99rem) {

    .site-2-home #g-extension .g-grid:has(.facebook-widget) {
        display: grid !important;
        gap: 5%;
        grid-template-columns: 1fr 1fr;
    }
    
    .site-2-home #g-extension .g-grid:has(.facebook-widget) > div {
        max-width: 100%;
        width: 100%;
    }

}

.site-2-home #g-extension {
    background-size: cover;
    background-position: center;
    position: relative;
}

.site-2-home #g-extension > .g-container {
    padding: 3vw 3vw 5vw 3vw !important;
}

@media (max-width: 50.99rem) {
    .site-2-home #g-extension > .g-container {
        padding: 10% !important;
      } 

      .site-2-home #g-container-main {
        padding-bottom: 0 !important;
      }

      .site-2-home .swiper-navigation {
        display: none;
      }
}

.site-2-home #g-extension > .g-container {
    background-color: rgba(var(--primary-rgb),.75);
}

/* ECM */

.site-3-home #g-extension > div > div:nth-child(3) {
    margin-top: 2rem;
}

.site-3-home #g-extension > div {
    width: 100%;
}

.site-3-home #g-extension {
    background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
    background-size: 125% auto;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center;
}

.site-3-home.tablet-screen #g-extension {
    background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
    background-size: cover;
    background-attachment: unset !important;
}

@media (max-width: 50.99rem) {

  .site-3-home #g-extension {
      background: url("/images/template/home-social-bg.png") 50% 50% no-repeat;
      background-size: cover;
  }

  .site-3-home .ql-dm .g-blockcontent-subcontent-block-content {
    height: auto;
    aspect-ratio: 1/1;
  }

  .site-3-home #g-expanded {
    padding: 5% 5%;
  }

  .site-3-home #g-expanded .ql-dm .g-blockcontent-subcontent {
    gap: 1rem;
  }

  .site-3-home .ql-dm .g-blockcontent-subcontent-block {
    flex: 48%;
  }

}

@media (min-width: 50.99rem) {

    .site-3-home #g-extension .g-grid:has(.facebook-widget) {
        display: grid !important;
        gap: 5%;
        grid-template-columns: 1fr 1fr;
    }
    
    .site-3-home #g-extension .g-grid:has(.facebook-widget) > div {
        max-width: 100%;
        width: 100%;
    }

}

.site-3-home #g-extension {
    background-size: cover;
    background-position: center;
    position: relative;
}

.site-3-home #g-extension > .g-container {
    padding: 3vw 3vw 5vw 3vw !important;
}

@media (max-width: 50.99rem) {
    .site-3-home #g-extension > .g-container {
        padding: 2rem 10% !important;
      } 

      .site-3-home #g-container-main {
        padding-bottom: 0 !important;
      }
}

.site-3-home #g-extension > .g-container {
    background-color: rgba(var(--primary-rgb),.75);
}

/*************** BOTTOM *******************/
/*************** FOOTER *******************/

.style-1303 #g-footer .g-grid:has([class*="-1303"]) {
  display: grid;
}

.style-1303 #g-footer .g-grid:has([class*="-1303"]) > div {
  width: 100%;
  max-width: none;
}

.style-1303 #g-footer .g-grid:has([class*="-1303"]) :is(h1,h2,h3,h4,h5,h6) {
  margin-bottom: 1rem;
}

.style-1303 #g-footer .g-grid:has([class*="-1303"]) {
    gap: 1rem;
}

@media (max-width: 50.99rem) {
    .style-1303 #g-footer:has([class*="-1303"]) > .g-container {
        padding: 7% !important;
    }
}

@media (max-width: 50.99rem) {
    .footer-center-1303 {
        margin: 1rem 0;
    }
}

#g-footer .g-content-array {margin: 0;}
#g-footer a {color: var(--default-white); transition: .3s all ease-in-out;} 
#g-footer a:hover {opacity: .5;}

/*************** COPYRIGHT ****************/ 
@media only screen and (max-width: 50.99rem) {
    .web-policy {
        justify-content: flex-end;
        padding-right: 10px;
    }
    .site-1 .adminfootericon {
        bottom: 40px
    }

    .site-2 .adminfootericon {
        bottom: 40px
    }
}

/*************** 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(--default-white); 
    background: #47627a;
} 
/*************** SECTIONS *****************/

@media (max-width: 50.99rem) {
    .grid-mobile-stacked .g-content-array > .g-grid {
        box-shadow: var(--default-box-shadow);
        display: grid;
        align-items: start;
    }

    .page-header h2 {
        font-size: 2.5rem;
        padding-bottom: 1.5rem;
    }

    :is(.site-1-sub, .site-2-sub, .site-3-sub) #g-container-main {
        padding: 0 5%;
    }

    :is(.site-1-sub, .site-2-sub, .site-3-sub) #g-bottom {
        padding: 2rem 0 !important;
    }

    .social-icons-sub img {
        width: 50px !important;
        height: 50px !important;
    }

    .eapps-facebook-feed-header-actions-more {
        display: none !important;
    }

    .site-2-sub .ph-sidebyside-mobile .g-content {
        padding: 0 !important;
        margin: 0 !important;
    }

    .grid-mobile-stacked .g-content-array {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .grid-tiles .g-array-item-title {
        height: auto;
    }

    .grid-mobile-stacked .g-item-title a {
        font-size: 5vw;
    }

    .grid-tiles .g-array-item-title {
        max-width: initial;
        justify-content: center;
        padding-bottom: 1rem;
    }

    .grid-mobile-stacked .g-item-title {
        text-align: center;
    }

    #g-mainbar:has(.grid-mobile-stacked) {
        margin: 1rem 0 !important;
    }
}

/*************** MOBILE *******************/

.g-offcanvas-toggle {
  background: var(--default-white);
  display: grid;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  box-shadow: var(--default-box-shadow);
}

@media (min-width: 50.99rem) {

    .side-menu-particle {
        padding-top: 2rem !important;
        padding-right: 2rem !important;
    }

}

@media (max-width: 50.99rem) {

    .gray-background > .g-menu-item-container > .g-menu-item-content {
        background-color: gray;
        border-radius: 1rem;
        padding: 5px 0px 5px 5px;
        color: white;
        padding: 5px;
        width: 80%;
    }

}

/*************** ADS **********************/

@media only screen and (min-width: 50.99rem) {
    #site-grid #g-container-main {
        padding-bottom: 3vw;
    }
}

@media only screen and (max-width: 50.99rem) {
    .grid.ph-sidebyside-mobile .g-array-item-read-more {
        opacity: 0;
    }
    .grid.ph-sidebyside-mobile .g-array-item-title {
        padding: 1rem;
    }
}

@media only screen and (min-width: 50.99rem) {
    .search-page button.btn {
        background: var(--primary-color)!important;
    }
    .search-page button.btn:hover {
        background: var(--secondary-color)!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .search-page button.btn {
        background: var(--primary-color)!important;
    }
    .search-page button.btn:hover {
        background: var(--secondary-color)!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .ph-sidebyside-mobile .g-array-item-read-more {
        opacity: 0;
    }
    .ph-sidebyside-mobile .g-array-item-title {
        padding: 1rem;
    }
}

@media only screen and (min-width: 50.99rem) {
    .bilingual {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 2vw;
    }
    .bilingual .englishtext {
        flex: 1;
    }
    .bilingual .spanishtext {
        flex: 1;
        font-style: italic;
    }
}

@media only screen and (max-width: 50.99rem) {
    .bilingual {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .bilingual .englishtext {
        flex: 1;
    }
    .bilingual .spanishtext {
        flex: 1;
        font-style: italic;
    }
}

@media only screen and (min-width: 50.99rem) {
    .bulletin-page #g-mainbar > .g-grid:nth-child(1) {
        display: none!important;
    }
    .bulletin-page .docman_category {
        display: none!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .bulletin-page #g-mainbar > .g-grid:nth-child(1) {
        display: none!important;
    }
    .bulletin-page .docman_category {
        display: none!important;
    }
}

/* Image Paths for Particle Template */
/* All images used in the particle template need to be updated here */

.style-1303 #g-footer:has([class*="-1303"]) {background-image: url('/images/template/pattern-4.png'); background-size: cover; background-position: center; background-repeat: no-repeat;}

@media (min-width: 50.99rem) {
  .style-201 .g-container:has([class*="-201"]) {background-image: url('/images/template/header-church-transparent-background.png'); background-position: center; background-size: cover; background-repeat: no-repeat;}
  .style-202 .g-container:has([class*="-202"]) {background-image: url("/images/template/header-church-transparent-background.png"); background-position: center; background-size: cover; background-repeat: no-repeat;}
  .style-301 .mass-times-301 {background: url('/images/template/masstimes.jpg') 0% no-repeat; background-size: cover; background-position: center;}
  .style-303 .mass-times-303 {background: url('/images/template/masstimes.jpg') 0% no-repeat; background-size: cover; background-position: center;}
  .style-304 .mass-times-304 {background: url('/images/template/masstimes.jpg') 0% no-repeat; background-size: cover; background-position: center;}
  .style-305 .mass-times-305 {background: url('/images/template/masstimes.jpg') 0% no-repeat; background-size: cover; background-position: center;}
  .style-1001 :is(#g-navigation, #g-slideshow, #g-header, #g-above, #g-feature, #g-showcase, #g-utility, #g-container-main, #g-expanded, #g-extension, #g-bottom, #g-footer, #g-copyright):has([class*="-1001"]) {background: url('/images/template/parallax1.jpg') 50% 50% no-repeat;}
  .mockup-ads.particle-template .g-block:has(div.adside) .adside {background-image: url("/images/template/side-ads.png");}
  .mockup-ads.particle-template .adhorizontal {background-image: url("/images/template/horizontal-ads.png");}
}

@media (max-width: 50.99rem) {
   .mockup-ads.particle-template .g-block:has(div.adside) .adside {background-image: url("/images/template/side-ads.png");}
   .mockup-ads.particle-template .adhorizontal {background-image: url("/images/template/horizontal-ads-mobile.png");}
}

/*  */

@media (max-width: 50.99rem) {

    .style-903 :is(section:not(#g-top), #g-footer):has([class*="-903"]) {
        padding-bottom: 0 !important;
      }
}

 .site-2-home #g-utility iframe {
	margin-top: 25px;
	}

@media only screen and (max-width: 50.99rem) {
    .mobile-stack-table {
        min-width: unset!important;
        margin: 0;
        width: 100%;
    }
    .mobile-stack-table tr {
        display: flex;
        flex-direction: column;
    }
    .mobile-stack-table tr > td {
        flex: 1;
        width: 100%;
        max-width: calc(100vw - 4rem)!important;
        min-width: unset;
    }
	table h4 {
		font-size: 1.05rem;
	}
	table img {
		min-width: 70px;
	}
	
}