@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  ************
Copy stanne-wichita and update to stjohn-mil images, they will be moving to pushpay's calendar
like a news option with thumbnails to the left instead of above the text.

Include Formed Widget and Facebook Widget
Keep "A Mission Driven Parish"
Include a link to the Diocese
They make their own Bulletins
add RSS feed for Daily Readings

-----
COLORS
Primary: Blue 1E5B9B rgb(30,91,155)
Secondary: Tan/Green DDDDC5 rgb(221,221,197)
- Use the tan/green in place of the gray News/Events area on StAnne's

IMAGES / VECTORS
- Header included in Dropbox
- Logo icon(either gray or color) in Dropbox can be placed behind the bottom widget section. Set to 8% Opacity.

OTHER NOTES
- Footer: Just use heading text instead of a logo. "St. John Apostle & Evangelist Catholic Church"
- Same fonts as StAnne's will work just fine.
************/

.site-1 {
  --primary-color: #1E5B9B;
  --secondary-color: #ddddc5;
  --tertiary-color: #231F20;

  --primary-rgb: 30,91,155;
  --secondary-rgb: 221,221,197;
  --tertiary-rgb: 35,31,32;

  --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;
  --rok-mini-badge: var(--primary-color);
  
  --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;
  }
}

/*************** ALL SITE *****************/
.item-image {display: none;}

:is(.site-1-home, .site-2-home, .site-3-home) #g-page-surround .g-content {
    padding: 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 !important;
    padding: 1.5rem !important;
}

: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) #g-top .modern-alert .g-joomla-articles {
        padding: 0 3% !important;
    }
}

/*SUB-PAGE GRIDS TEXT SPACING*/

@media (min-width: 50.99rem) {
    #site-grid.site-1-sub #g-mainbar > .g-grid:has([itemprop="articleBody"]) {
        padding: 2vw 0!important;
    }
    #site-grid.site-1-sub #g-mainbar > .g-grid:has([itemprop="articleBody"]) p {
        font-size: 1.25vw;
        font-family: var(--body-font-family);
    }
}

@media only screen and (max-width: 50.99rem) {
    #site-grid.site-1-sub #g-mainbar > .g-grid:has([itemprop="articleBody"]) {
        padding: 2rem 0!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) {
    .site-1 #g-offcanvas .g-social-items {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        align-items: center;
        justify-content: center;
    }
    .site-1 #g-offcanvas .g-social-items a {
        color: var(--secondary-color);
    }
    .site-1 #g-offcanvas .g-social-items a:hover {
        color: var(--tertiary-color);
    }
}

/*************** 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: 0%;
  padding-bottom: 0;
  background: url("/images/template/header.png");
  background-size: cover;
  background-position: center 0;
  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: 17% !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;
}

@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);
  }

  .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: var(--secondary-color);
      font-size: 1.25vw;
  }
  .site-1 #g-navigation .g-social-items a:hover {
      color: var(--tertiary-color); 
  }
}

@media only screen and (max-width: 50.99rem) {
  #g-navigation .g-logo {
      max-width: 65%;
      margin: 2rem auto;
  }
}

/*************** 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: 2% 5%;
}
#missiondriven {
	padding-bottom: 3%;
}


/* 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%;
}

@media only screen and (min-width: 50.99rem) {
       .site-1-home #g-utility > .g-grid > .g-block {
        padding: 0 3vw!important;
    }
	 #g-utility h2.g-title {
	 font-size: 3.5vw;
	 font-variant-caps: normal;
	 font-weight: 400;
 }
 
  #g-container-main h2.g-title {
	 font-size: 2.5vw;
	 font-weight: 400;
 }
}
@media only screen and (max-width: 50.99rem) {
       .site-1-home #g-utility > .g-grid > .g-block {
        padding: 0 3vw!important;
    }
	 #g-utility h2.g-title {
	 font-size: 7.5vw;
	 font-variant-caps: normal;
	 font-weight: 400;
 }
 
  #g-container-main h2.g-title {
	 font-size: 5.5vw;
	 font-weight: 400;
 }
}

: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%;
}

.site-1-sub .contact-form .control-label label {
  font-size: 1.5rem;
}

.site-1-sub .contact-form legend {
  font-size: 2.5rem;
}

.contact-name {
  font-size: 3rem;
}

.site-1-sub .contact-form #jform_captcha > div, .control-label:not(:has(#jform_captcha-lbl)) {
  width: 100% !important;
}

:is(.site-1-sub, .site-2-sub, .site-3-sub) section:not(#g-navigation, #g-container-footer, #g-copyright) .grid-staff .g-content:not(.g-blockcontent-subcontent-block-content) {
  padding: 0 !important;
  margin: 0 !important;
}

/*************** MAIN *********************/
@media only screen and (min-width: 50.99rem) {
  .site-1-sub #g-mainbar {
      min-height: 30vh;
  }
}

@media only screen and (max-width: 50.99rem) {
  :is(.site-1-sub, .site-2-sub) #g-mainbar > .g-grid > .g-block > .g-content {
      margin: 0;
      padding: 0;
  }
}



:is(.site-1-home) #g-container-main {
  padding: 5% 3% calc(75px + 3%) 3%;
  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) #g-container-main > .g-grid > .g-block {
  padding: 0 10px;
 }

: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/template/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); transition: .3s all ease-in-out;} 
#g-footer a:hover {opacity: .5;}
#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 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
  }
}

@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 *******************/
.g-offcanvas-toggle {
  background: var(--default-white);
  display: grid;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  box-shadow: var(--default-box-shadow);
}

/*************** 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-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/template/news-background.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;
}

@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/parallax1.jpg'); 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 only screen and (min-width: 50.99rem) {
  body[class*="-sub"] #g-mainbar.section-padding-5 > .g-grid > .g-block > .g-content {
      margin: 0!important;
      padding: 0!important;
  }
  body[class*="-sub"] #g-mainbar.section-padding-5:has(.page-header) > .g-grid > .g-block > .g-content {
      margin: .625rem 0!important;
      padding: 1.5rem 0!important;
  }
  body[class*="-sub"] #g-container-main:has(#g-mainbar.section-padding-5, #g-aside) {
      margin: 0!important;
      padding: 0 5%!important;
  }
  body[class*="-sub"] #g-container-main:has(#g-mainbar.section-padding-5, #g-aside) #g-mainbar.section-padding-5 {
      margin: 0!important;
      padding: 0!important
  }
  body[class*="-sub"] #g-container-main:has(#g-mainbar.section-padding-5, #g-aside) #g-mainbar.section-padding-5 > .g-grid > .g-block > .g-content {
      margin: 0!important;
      padding: 0 5% 0 0!important;
  }
  body[class*="-sub"] #g-container-main:has(#g-mainbar.section-padding-5, #g-aside) #g-mainbar.section-padding-5:has(.page-header) > .g-grid > .g-block > .g-content {
      margin: .625rem 0!important;
      padding: 1.5rem 5% 1.5rem 0!important;
  }
}

@media only screen and (max-width: 50.99rem) {
  body[class*="-sub"] #g-mainbar.section-padding-5 > .g-grid > .g-block > .g-content {
      margin: 0!important;
      padding: 0!important;
  }
}

/*  */

@media only screen and (min-width: 50.99rem) {
  #g-top-nav {
      display: none!important;
  }
  #g-mobile-fixed-nav {
      display: none!important;
  }
}

@media only screen and (max-width: 50.99rem) {
  #g-top-nav {
      display: none!important;
  }
  #g-mobile-fixed-nav {
      display: none!important;
  }
}

body {background-color: var(--primary-color);}
@media only screen and (max-width: 50.99rem) {
@media (display-mode: standalone) {
  #g-top-nav {
      display: flex!important;
  }
  #g-mobile-fixed-nav {
      display: flex!important;
  }
  #g-top.modern-alert-padding {
      padding: 2rem 5%!important;
  }
  body {background-color: var(--primary-color);}
  #g-offcanvas {height: calc(100% - 120pt); top: 40pt; bottom: 80pt;}
  #g-top {margin-top: 40pt!important;}
  #g-navigation .g-logo {display: none;}
  #g-top-nav .g-particle:has(.g-logo) {width: 100%;}
  #g-top-nav .g-logo {text-align: center; display: flex; align-items: center; justify-content: center; width: 100%; height: 40pt;}
  #g-top-nav .g-logo img {height: 80%; width: auto;}
  #g-page-surround .g-offcanvas-toggle {display: none;}
  #g-page-surround {background: var(--primary-color);}
  #g-top-nav {display: flex; position: fixed; top: 0; left: 0; right: 0; width: 100%; height: 40pt; background: var(--primary-color); z-index: 100; box-shadow: var(--default-box-shadow);}
  .g-offcanvas-toggle {position: fixed!important; z-index: 101; top: 0; left: 10pt; height: 40pt; font-size: 23pt; display: flex; justify-content: center; align-items: center; background: none!important; border-radius: unset; box-shadow: unset;}
  .g-offcanvas-toggle {color: var(--default-white);} 
  .g-offcanvas-toggle .fa-fw {text-shadow: none;}
  #g-container-footer {padding-bottom: 80pt!important;}
  #g-mobile-fixed-nav {display: flex; height: 80pt; background: var(--primary-color); color: var(--default-white); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); z-index: 100; position: fixed; bottom: 0; left: 0; right: 0; width: 100%; box-shadow: var(--default-box-shadow)}
  .mobile-nav-link {color: var(--default-white); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; height: 60pt;}
  .mobile-nav-link:hover {color: var(--secondary-color);}
  .mobile-fixed-nav {width: 100%; height: 60pt;}

  .mobile-fixed-nav {
      margin: 0;
      padding: 0;
      display: flex;
      width: 100%;
      align-items: center;
      overflow: hidden;
  }
  .mobile-fixed-nav .g-particle {
      margin: 0;
      padding: 0;
      width: 100%;
  }
  .mobile-fixed-nav .g-particle > div {
      margin: 0;
      padding: 0;
  }
  .mobile-fixed-nav .g-blockcontent {
      margin: 0;
      padding: 0;
  }
  .mobile-fixed-nav .g-blockcontent-subcontent {
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      gap: 1pt;
  }
  .mobile-fixed-nav .g-blockcontent-subcontent-block {
      margin: 0;
      padding: 0;
      flex: 1;
      position: relative;
  }
  .mobile-fixed-nav .g-blockcontent-subcontent-block-content {
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
  }
  .mobile-fixed-nav .g-blockcontent-subcontent-title-icon {
      margin: 0;
      padding: 0;
      order: 1;
      color: var(--default-white);
      font-size: 5vw;
  }
  .mobile-fixed-nav .g-blockcontent-subcontent-title {
      margin: 0;
      padding: 0;
      order: 2;
  }
  .mobile-fixed-nav .g-blockcontent-subcontent-title-text {
      margin: 0;
      padding: 0;
      color: var(--default-white);
      font-size: 4vw;
      font-family: var(--body-font-family);
  }
  .mobile-fixed-nav .g-blockcontent-buttons {
      margin: 0;
      padding: 0;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      height: 100%;
      width: 100%;
      opacity: 0;
  }
  .mobile-fixed-nav .g-blockcontent-buttons a {
      margin: 0;
      padding: 0;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      height: 100%;
      width: 100%;
      opacity: 0;
  }
}
}

/*  */

.site-1-home #g-utility > .g-grid > .g-block.solid-plan {
  padding: 0 !important;
}

/* --- CONSOLIDATED BASE & RESET --- */
.solid-plan .gcaltohtml,
.solid-plan .cc-date-event-container,
.solid-plan .cc-dateblockformat,
.solid-plan .cc-eventblock,
.solid-plan .cc-monthformat,
.solid-plan .cc-dayformat,
.solid-plan .event,
.solid-plan .g-content {
    box-sizing: border-box;
    block-size: auto !important;
    height: auto !important;
    inline-size: auto !important;
    width: auto !important;
    position: relative !important;
    transform: none !important;
    perspective: none !important;
    overflow: visible !important;
}

/* --- MAIN CONTAINERS --- */
.solid-plan .gcaltohtml {
    display: flex;
    flex-direction: column;
    width: 100% !important;
    gap: 15px;
}

.solid-plan .cc-date-event-container {
    display: flex;
    flex-direction: row;
    background-color: #ffffff;
    color: var(--primary-color, #166736);
    border: 2px solid var(--primary-color, #166736);
    padding: 1.5rem;
    border-radius: 8px;
}

/* --- DATE BLOCK (LEFT) --- */
.solid-plan .cc-dateblockformat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right: 1.25rem;
    min-width: 80px;
    flex-shrink: 0;
    text-align: center;
}

.solid-plan .cc-monthformat {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.solid-plan .cc-dayformat {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
}

/* --- EVENT BLOCK (RIGHT) --- */
.solid-plan .cc-eventblock {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
    padding-left: 1.25rem;
    border-left: 1px solid var(--primary-color, #166736);
    gap: 12px;
}

.solid-plan .event {
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 500;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--primary-color, rgba(22, 103, 54, 0.15));
}

.solid-plan .event:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.solid-plan .cc-timeofday {
    font-size: 0.85rem;
    text-transform: uppercase;
    opacity: 0.8;
    margin-bottom: 2px;
}

/* --- BUTTONS & INTERACTION --- */
.solid-plan .button {
    transition: all 0.2s ease-in;
    background-color: var(--primary-color, #166736);
    border-color: var(--primary-color, #166736);
}

.solid-plan .button:hover {
    filter: brightness(85%); /* Darkens whatever variable color is used */
    transform: translateY(-1px);
}

/* --- RESPONSIVE ADJUSTMENTS --- */
@media (max-width: 50.99rem) {
    .solid-plan .cc-date-event-container {
        padding: 1rem;
    }
    .solid-plan .cc-dayformat {
        font-size: 2rem;
    }
}

/*  */