@import url('//fonts.googleapis.com/css2?family=Cabin:ital,wght@0,400..700;1,400..700&display=swap');
/************ TEMPLATE  ************

************/

.site-1 {
    --primary-color: #334d99;
    --secondary-color: #eee9e0;
    --tertiary-color: #ffdc4b;

    --primary-rgb: 25,46,114;
    --secondary-rgb: 201,184,160;
    --tertiary-rgb: 247, 208, 0;

    --default-white: #ffffff;
    --default-black: #000000;


    --title-font-family: "Cabin", sans-serif;
    --body-font-family: "Cabin", 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-big-sq-width: 34vw;
}

.site-1 .ql-fa-toplinks {
    --ql-title-color: var(--primary-color);
}

.site-2 {
	--primary-color: #002035;
    --secondary-color: #5eaeb2;
    --tertiary-color: #ee9335;

    --primary-rgb: 0,32,53;
    --secondary-rgb: 94,174,178;
    --tertiary-rgb: 234, 147, 53;
}

.site-2 #g-navigation {border-bottom: 3px solid var(--primary-color);}

p, li {line-height: 1.4;}

.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;}

: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;
}

@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) {
    .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 ***************/
@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) {
    .site-1 #g-navigation .g-logo {
        max-width: 65%;
        margin: 2rem auto;
    }
	.site-2 #g-navigation .g-logo {
		 max-width: 70%;
        margin: 0 auto;
	}
}
/*************** SLIDESHOW ****************/ 
/*************** HEADER *******************/
@media only screen and (min-width: 50.99rem) {
    .ph-sq-5 {
        display: flex;
        flex-direction: column;
        gap: 3vw;
        justify-content: center;
        align-items: center;
    }
}

@media only screen and (min-width: 50.99rem) {
    .site-1-home .g-content-array > .g-grid > .g-block > .g-content {
        background: transparent;
    }
    .site-1-home .ph-sq-5 .g-array-item {
        padding: 1vw!important;
        border-radius: 1rem;
        transition: .3s all ease-in-out;
    }
    .site-1-home .ph-sq-5.ph-1 .g-content-array {
        grid-template-areas: 
            "a";
    }
    .site-1-home .ph-sq-5.ph-2 .g-content-array {
        grid-template-areas: 
            "a a b"
            "a a c";
    }
    .site-1-home .ph-sq-5.ph-3 .g-content-array {
        grid-template-areas: 
            "a a b"
            "a a c";
    }
    .site-1-home .ph-sq-5 .g-content-array > .g-grid :is(.g-block > .g-content, .g-array-item) {

        background: none!important; 
        box-shadow: none;
    }   
    .ph-sq-5 .g-array-item-image img {
        width: 100%;
        aspect-ratio: 16/9;
    }
    .ph-sq-5.ph-uw .g-array-item-image img {
        width: 100%;
        aspect-ratio: 3.6/1;
    }
    .ph-sq-5.ph-sw .g-array-item-image img {
        width: 100%;
        aspect-ratio: 2.39/1;
    }
    .ph-sq-5.ph-wide .g-array-item-image img {
        width: 100%;
        aspect-ratio: 16/9;
    }
    .ph-sq-5.ph-standard .g-array-item-image img {
        width: 100%;
        aspect-ratio: 4/3;
    }
    .ph-sq-5.ph-square .g-array-item-image img {
        width: 100%;
        aspect-ratio: 1/1;
    }
    .ph-sq-5.ph-portrait .g-array-item-image img {
        width: 100%;
        aspect-ratio: 3/4;
    }
    .site-1-home .ph-sq-5 .g-array-item-title {
        padding: 1vw 0;
        --ph-title-color: var(--primary-color);
        font-family: var(--body-font-family);
    }
    .site-1-home .ph-sq-5 .g-item-title {
        font-family: var(--body-font-family);
        font-weight: 600;
    }
    .site-1-home .ph-sq-5 .g-array-item-text {
        color: #2A6A72;
        padding: 0;
        font-size: 1.5vw!important;
        line-height: 1;
    }
    .site-1-home .ph-sq-5 .g-array-item-read-more {
        opacity: 0;
    }
    .site-1-home .ph-sq-5 .g-array-item-image {
        box-shadow: -3px 3px 5px rgba(0,0,0,.5);
        border-radius: .5rem;
    }
    .site-1-home .ph-sq-5 .g-content-array > .g-grid:nth-child(1) {
        padding: 0!important;
    }
    .site-1-home .ph-sq-5 .g-content-array > .g-grid:nth-child(1) .g-array-item-image {
        margin-top: 2vw;
    }
    .site-1-home .ph-sq-5.ph-1 .g-content-array > .g-grid:nth-child(1) .g-array-item-image {
        margin-top: 0;
    }

    .site-1-home .ph-sq-5 .g-content-array > .g-grid:hover .g-array-item {
        background: rgba(var(--secondary-rgb),.2)!important;
        /*box-shadow: var(--default-box-shadow)!important;*/
    }
    /*.site-1-home .ph-sq-5 .g-content-array > .g-grid:hover .g-array-item-title {
        --ph-title-color: var(--primary-color);
    }
    .site-1-home .ph-sq-5 .g-content-array > .g-grid:hover .g-array-item-text {
        color: var(--primary-color);
    }*/

    .site-1-home #g-mainbar {
        display: flex;
        flex-direction: column;
        gap: 4vw;
    }


    .news-button .button {
        background: transparent;
        font-size: 2vw;
        font-family: var(--title-font-family);
        font-weight: 300;
        text-transform: none;
        font-variant-caps: normal;
        padding: 1vw 3vw;
        border: 3px solid var(--primary-color);
        border-radius: .5rem;
        color: var(--primary-color);
        transition: .3s all ease-in-out;
    }
    .news-button .button:hover {
        border: 3px solid var(--transparent);
        background: var(--primary-color);
        color: var(--default-white);
        box-shadow: -5px 5px 15px rgba(0,0,0,.25);
        transform: scale(1.025);
    }
}

@media only screen and (max-width: 50.99rem) {
    .site-1-home #g-mainbar {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        padding: 0!important
    }


    .news-button .button {
        background: transparent;
        font-size: 1.5rem;
        font-family: var(--title-font-family);
        font-weight: 300;
        text-transform: none;
        font-variant-caps: normal;
        padding: 1rem;
        border: 3px solid var(--primary-color);
        border-radius: .5rem;
        color: var(--primary-color);
        transition: .3s all ease-in-out;
    }
    .news-button .button:hover {
        border: 3px solid var(--transparent);
        background: var(--primary-color);
        color: var(--default-white);
        box-shadow: -5px 5px 15px rgba(0,0,0,.25);
        transform: scale(1.025);
    }
}

/*************** ABOVE ********************/
/*************** SHOWCASE *****************/
/*************** UTILITY ******************/
/*************** FEATURE ******************/
/*************** MAIN *********************/
.parish-home #g-container-main {
    padding: 0 5%;
}

@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;
    }
}

/*************** EXPANDED *****************/ 
/*************** EXTENSION ****************/
/*************** BOTTOM *******************/
/*************** FOOTER *******************/
#g-footer .g-content-array {margin: 0;}
#g-footer a {color: var(--default-white);} 

/*************** 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: var(--secondary-color);
} 

.moduletable .category-module {
	padding: 1rem;
	border: 0px solid white;
		}
.moduletable .category-module li {
	padding-bottom: 0.25rem;
	border-bottom: 0px solid white;
	list-style-type: circle !important;
}
.moduletable .category-module li a {
	display: block;
}
.mod-articles-category-date {
	padding-left: 10px;
	font-size: 0.9rem;
}

/*************** SECTIONS *****************/
/*************** MOBILE *******************/

.g-offcanvas-toggle {
  background: var(--default-white);
  display: grid;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

/*************** 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;
    }
}

/* Image Paths for Particle Template */
/* All images used in the particle template need to be updated here */

@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");}
}


/************** AJJ ADJUSTMENTS *****************/

p a, li a, ol a { color: #dc2819; }


h3 { font-weight: 700; }
h1 { font-weight: 700; }
h2 { font-weight: 700; 
     font-variant: none;
     color: black;
     font-size: 2.75rem;
}
h4 { font-weight: 700; 
    font-variant: none;
    color: black;
    font-size: 2rem;
}
h6 { font-weight: 700; 
    font-variant: none;
    color: rgb(68, 68, 68);
    font-size: 1.5rem;
    text-transform: none; 
}

#g-slideshow a.button {
    background: #eeeeee;
    color: #333;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
}

#g-slideshow a.button:hover {
    background: #dddddd;    
    color: #013cae !important;
}

h1.darkbacktitle {
    color: #ffffff; font-size: 4.5vw; line-height: 1; padding-bottom: 2vw;
}
p.darkbacksubtext {
    font-size: 1.8vw;
    font-weight: 700;
    color: #ffdc4b;
    margin-bottom: 1vw;
}

.yellowtext { color: #ffdc4b; }
.whitetext { color: #ffffff; } 
.mutedtext { color: rgba(255,255,255,0.7) }
.bluetext { color: #013cae; }
.noborder { border: none; }
.bigblacktext {
    font-size: 5vw;
    color: black;
}
.bluetext.button { color: white; }

#g-slideshow a { color: #ffdc4b; }
 
img.personicon {border-radius: 100%; border: solid #ffdc4b 4px; max-width: 70px }
.person-image img {border-radius: 100%; border: solid #a6a6a6 5px; max-width: 150px; width: 100%; }
.person-circle { text-align: center; }

.pilgrimage-guides img { border-radius: 10px; width: 100%; }

/*
#g-utility .box1 > .g-content {
    position: absolute;
    top:0;
    bottom: 0;
    left:0;
    right:0;
} */

.box1>.g-content { 
    background: #013cae;
    margin: 15px;
    border-radius: 15px;
    padding: 20px !important;
 }



.g-content-array .g-grid.nopbot { padding-bottom: 0; margin-bottom: 0;}

.fatherlyquotepadding { padding-top: 20vw; padding-bottom: 10vw; padding-left: 10vw; padding-right: 10vw; background-image:linear-gradient(180deg, rgba(0,7,21,0.66) 14%,rgba(0,1,2,0.2) 100%) }
.box1>.g-content:before, .box1>.g-content:after { display: none; }
.section-vertical-paddings { padding: 0; }

.box1 .fa:before, .box1 .fas:before {
    display: block;
    font-size: 60px;
    padding-bottom: 20px;
}



.withicon {
    font-family: Cabin;
}

.style-902 .ph-headlines-902 {
    padding: 0;
}

#g-feature .sprocket-lists .sprocket-lists-container li {
    background: none;
    border: none;
    box-shadow: none;
}
#g-feature .sprocket-lists-container li:first-child {
    display: none;
}

#g-feature .sprocket-lists .sprocket-lists-container li h4.sprocket-lists-title {
    background: none;
    color: #013cae;
    font-size: 2rem !important;
    background: white;
    border-radius: 0;
}
.sprocket-lists-title {
    margin: 10px 10px 0 10px !important;
    padding: 15px !important;
    border: none;
    border-radius: 0;
}

.sprocket-lists-item .sprocket-padding {
    padding: 5px 20px;
    display: block;
    font-size: 1.2rem;
    margin: 0 10px;
    background: white;
}

.sprocket-lists-title .indicator {
    display: none;
}

.sprocket-lists-item .sprocket-padding p {
    font-size: 1.2rem;
    line-height: 1.3;
}

.relativeitem {
    position: relative;
}

.relativeitem  * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0;
    margin: 0;
}
.relativeitem img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}


.sprocket-lists-title .indicator {
    display: none;
}

.homeboxyellowunderline .g-grid {
    background: white;
    border-width: 0 0 7px 0;
    border-color: #ffdc4b;
    border-style: solid;
    border-radius: 6px 6px 6px 6px;
}

.homeboxyellowunderline p, .homeboxyellowunderline h4 {
    padding: 10px

}
.homeboxyellowunderline img {
    border-radius: 6px 6px 0 0;
}
#g-above p {
    font-size: 1.2rem;
}

.g-toplevel {
    padding: var(--class-202-toplevel-padding);
}


:is(section:not(#g-top), #g-footer) {
    --class-202-g-grid-1-padding: 0 1% 0 1%;
    --class-202-logo-text-width: 95%;
    --class-202-logo-icon-width: 90%;
    --class-202-logo-icon-margin: 0 0 -4rem 0;
    --class-202-logo-icon-img-margin: 1rem 0 0 0;
    --class-202-toplevel-padding: 0 0 0 15%;
    --ql-title-color: var(--primary-color);
    --ql-icon-color: var(--primary-color);
    --ql-right-border-color: var(--primary-color);
    --ql-font-size-mobile: clamp(1rem, 1.3vw, 2rem);
    --ql-background-hover: transparent;
}

.hero img { opacity: 1; }

#hero-title-text {
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 1;
    width: 100%;
    background: linear-gradient(to top, white 25%, transparent 100%);
    padding-left: 6vw;
    padding-bottom: 1vw;
    padding-top: 3vw;
}

#hero-title-text { line-height: 1.2; }

@media only screen and (min-width: 50.99rem) {
    #g-expanded {
        background: url(/images/stories/template/IMG_5521-1-1200x900.jpg) 50% 50% no-repeat;
        background-size: cover;
        background-attachment: fixed;
    }

    .showdate .g-content-array .g-array-item-details {
        display: flex;
        flex-grow: 1;
        font-size: 1.2rem;
        color: #334d99;
        position: absolute;
        bottom: 5px;
        right: 5px;
    }

    .site-1 #g-container-main #g-mainbar > .g-grid{ 
        padding: 30px 10vw 10px 10vw;
    }

    .site-1-home .ph-sq-5 .g-content-array > .g-grid .g-array-item {
        background: blue;
    }
    
}  

@media only screen and (max-width: 50.99rem) {
    h1.darkbacktitle {
        font-size: 10vw; line-height: 1; padding-bottom: 2vw;
    }
    p.darkbacksubtext {
        font-size: 3.5vw;
    }
    .bigblacktext {
        font-size: 12vw;
    }

    #g-bottom > .g-container .g-grid {
        padding: 5% 5%;
    }

    .g-content-array .g-array-item-details {
        color: #a0a0a0;
        position: absolute;
        right: 0;
        bottom: 0;
    }
}

@media only screen and (min-width: 51rem) and (max-width: 75.99rem) {
    .g-container {
        width: 90vw;
    }
}