/*
TEMPLATE FOR MEDIA QUERIES
	@media screen and (min-width:1180px) {}
	@media screen and (min-width:880px) and (max-width:1179px) {}
    @media screen and (max-width:879px) {}

INDEX
	- STRUCTURE
    - HEADER
    - FOOTER
    - TYPOGRAPHY
    - ENDPAGE/SEPARATOR
    - DEFAULT FORM
    - DEFAULT TABLE
    - SCROLL TO TOP
    - HMENU01
    - VMENU01
    - QUOTE
	- MINISTRY LISTING
	- OUR TEAM
    - SWIPER
    - ROTATOR
*/

/*-----------------------------------------------------------  PAGE RESET ----------------------*/
:root {
	--bg_hd: rgba(49,70,144,.8);
	--tx_hd: #fff;
	--aa_hd: #000;
	--ah_hd: #000;
	--h1_hd: #000;
	--h2_hd: #000;
	--h3_hd: #000;
	
	--color_pd: #031631;
	--color_p: #062756;
	--color_pl: #0b499f;
	
	--color_ad: #804901;
	--color_a: #8a5334;
	--color_al: #9f7257;
	
	--color_cd: #4f1810;
	--color_c: #a53322;
	--color_cl: #e7978b;		
}

/*-----------------------------------------------------------  STRUCTURE -----------------------*/
@media screen and (min-width:1180px) {
    aside, .content { flex-basis: auto;}
    
    section.has_aside aside { 
        order: 2;
        padding: 2.5em 0 0.8em;
    }

    section.has_aside .content { padding: 1.8em 3.125em 1.8em 0; }    
    
    .content { order: 1; padding: 0.8em 0; }
	
	main section.has_aside { background: linear-gradient(90deg, #fff calc(100% - 300px), #f9f9f9 300px); }
}

@media screen and (min-width:880px) and (max-width:1179px) {
    section.has_aside aside { 
        display: flex;
        flex-wrap: wrap;
    }    
}

@media screen and (max-width:879px) {
    section.has_aside aside { 
        display: flex;
        flex-wrap: wrap;
    }    
}

body {  
    font-family: 'Lato', sans-serif;
	font-size: 18px;
}

main { min-height: 450px; }    

section.has_aside aside {
	position: relative;
	padding-bottom: 63px;
}

input { border-radius: 0; }

aside .spanish{display:none;}

/*-----------------------------------------------------------  HEADER --------------------------*/
 
#logo{
    height: auto;
    width: auto;
}

#logo img{
    max-width: 150px;
}

header {
    background-color: white;
    color: black;
    border-bottom: 1px solid var(--gray2);
    padding: 10px 0px;
    font-family: "Roboto", sans-serif;
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
    transition: all 0.5s ease-in-out;
}

header .flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

header .social-area {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.social-area a, .social-area p {
    color: var(--gray4);
    font-weight: bold;
    font-size: 14px;
}

.social-area p a {
    font-size: 14px;
}

.social-area a{
    font-size: 16px;
}

.social-area a i {
    font-weight: 600;
}

header nav a{

}

header nav a:hover { 

 }

header a:hover { color: var(--color_a); }

@media screen and (min-width:1180px) {
    #logo {

    }    
    
    header section { height: auto; }     
    
    header nav { bottom: 0; left: 115px;}
}

@media screen and (max-width:1179px) {
    #logo {
        width: 90%;
    }

    header .flex{
        justify-content: center;
        gap: 5px;
    }
    
    header section { height: auto; }  
}

@media screen and (min-width:880px) and (max-width:1179px) {
    header nav {
        display: flex;
        justify-content: flex-end;
        width: 8%;
    }
}

@media screen and (max-width:879px) {
    #logo {
        width: 80%;
    }

    header nav {
        width: 15%;
    }

    .social-area{
        position: absolute;
        top: 0;
        width: 100%;
        font-size: 14px;
        padding: 10px 0px;
        gap: 10px;
        justify-content: center !important;
    }

    header .flex{
        justify-content: flex-start;
        gap: 10px;
        padding-top: 40px;
    }
}

.atimo_team header{
    position: relative !important;
}

div#alert{background: #f3f3f3;    border-bottom: 1px solid var(--gray2);}

div#alert section, div#alert .content {
    margin: 0 auto;
    padding: 0;
	align-items: center;
}

div#alert .fx_2 {
    margin: 0 !important;
    padding: 0 !important;
}
div#alert .fx_2 .imgC{margin: 0 auto;}

p.title_calltoaction, #alert a{
    font-size: clamp(19px, 2vw, 26px);
    text-align: center;
    margin: 0;
	color: #000;
}


.figure {
    position: relative;
    /*width: 360px;  can be omitted for a regular non-lazy image */
    max-width: 100%;
  }
  .figure img.Sirv.image-hover {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    object-fit: contain;
    opacity: 0;
    transition: opacity .2s;
  }
  #alert:hover .figure img.Sirv.image-hover {
    opacity: 1;
  }

/*-----------------------------------------------------------  ASIDE - BOX  --------------------------*/
.asidebox { 
    padding: 10px 20px;
    font-size: 14px
}

.asidebox p { 
    margin-bottom: 10px;
}

.asidebox a { color: var(--color_cd); }
.asidebox a:hover { color: var(--color_cd); }

.asidebox h1 {
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 10px;
    font-size: 20px;
}

.asidebox ul { padding-left: 20px; }

.asidebox ul li {
    list-style: none;
}

.asidebox ul li::before {
    font-family: "Font Awesome 5 Free";
    content: '\f0c8';
    font-size: 5px;
    bottom: 0.1875em;
    position: relative;
    left: -8px;
    font-weight: bold;
    top: -3px;
}

/*-----------------------------------------------------------  FOOTER --------------------------*/

footer.Home{
    background: #3b3b3b0f url(../images/JasperOutdoor_back_contact.jpg);
    background-size: cover;
    background-blend-mode: multiply;
}

footer.Home .call.commercial{
    display: none;
}

footer.Home .call.residential{
    display: unset;
}

/* ---END--- */

footer.Commercial{
    background: #3b3b3b0f url(../images/JasperOutdoor_back_contact01.jpg);
    background-size: cover;
    background-blend-mode: multiply;
}

footer.Commercial .call.commercial{
    display: unset;
}

footer.Commercial .call.residential{
    display: none;
}

/* ---END--- */

footer.Thank_you{
    background: #3b3b3b0f url(../images/JasperOutdoor_back_contact01.jpg);
    background-size: cover;
    background-blend-mode: multiply;
}

footer.Thank_you .call.residential{
    display: none;
}

/* ---END--- */

footer.Rock_Collection {
    background: #3b3b3b0f
      url(/ctm/31330/projects/jasper/gallery/2024/08/bg-footer-rock_collection.jpg);
    background-size: cover;
    background-blend-mode: multiply;
}

footer.Rock_Collection .call.commercial {
    display: none;
}

footer.Rock_Collection .call.residential {
    display: unset;
}

/* ---END--- */

footer {
    color: #3b3b3b;
    font-family: "Lato", sans-serif;
}

footer section { 
    padding: 30px 0; 
    position: relative;
}

footer section.flex{
    gap: 25px;
    justify-content: center;
}

footer .contact span {
    background: #8C5434;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    float: left;
}

footer .call{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 28px;
}

footer h1 {
    font-size: 50px;
    color: black;
    font-weight: 300;
    text-align: center;
}

footer .call p {
    font-size: 21px;
    font-weight: 300;
    color: black;
    text-align: center;
    max-width: 910px;
}

footer .askQ {
    width: 100% !important;
    max-width: 550px !important;
}


footer div.flex > span{
    margin-right:  15px;
    margin-top: 8px;
}

footer fieldset{
    margin-top: 0 !important; 
}

footer h2 { color: var(--color1d); }
footer h3 { color: var(--color1d); }

footer a { color: #3b3b3b; }
footer a:hover { color: var(--color_a) }

footer .name-email {
    display: flex;
    gap: 4%;
}

footer .name-email input {
    max-width: 48%;
}

footer input.phone {
    width: 100% !important;
}

footer input, footer textarea {
    border-left: none !important;
}

footer input {
    padding: 10px !important;
}

footer input[type="submit"] {
    width: 100%;
    margin: 0 !important;
    line-height: 0 !important;
}

footer fieldset{
    padding: 0 !important;
}


.wrap_admin { background-color: var(--gray4); }
.wrap_admin p, 
.wrap_admin a { color: var(--white); }
.wrap_admin a:hover { color: var(--color_ad); }

.wrap_admin .fx_2 { margin: 0; }

@media screen and (min-width:1180px) {
    footer .contact {
        width: calc(100% / 2 - 250px) !important;
        display: flex ;
        justify-content: flex-start ;
        gap: 30px;
        flex-direction: column ;
        align-items: start ;
        line-height: 25px;
    }
}

@media screen and (min-width:880px) and (max-width:1179px) {
    footer .contact {
        width: calc(100% / 2 + 169px) !important;
        display: flex;
        justify-content: flex-start;
        gap: 30px;
        flex-direction: row;
        align-items: start;
        line-height: 25px;
        margin: 0 !important;
    }

    .contact .flex {
        display: flex;
        flex-wrap: nowrap;
    }
}
@media screen and (max-width:879px) {
    footer .contact {
        display: flex;
        justify-content: flex-start;
        gap: 30px;
        flex-direction: column;
        align-items: start;
        line-height: 25px;
    }

    footer .call p {
        font-size: 20px;
    }
    
    footer .call h1 {
        font-size: 40px;
    }

}

/*-----------------------------------------------------------  TYPOGRAPHY   --------------------*/
.content{
    font-family: "Lato", sans-serif;
}

.content h1 { color: var(--color_p); }

.content h2 { color: var(--color_a); }

.content h3 {
    color: var(--color_c);
    font-size: 1.3em;
}

.content h3 sup {  }

.content h4 {
    color: var(--color_ad);
    font-size: 18px;
    font-weight: 300;
    margin-top: 15px;
}

.content p { }

.content blockquote {
    padding: 15px;
    border-left: 5px solid;
    color: var(--color_pl);
    border-color: var(--color_pl);
    background-color: var(--gray1);
}

.content blockquote p { }

.content blockquote h1 { }

.content ul li::before {
    color: var(--color_a);
    content: '\f0c8';
    font-size: 0.5em;
    bottom: 0.1875em;
}

.content ol li::before { color: var(--color_a); }

/*-----------------------------------------------------------  ENDPAGE/SEPARATOR ---------------*/
.separator {
    background: url(../images/acc-separator.png);
    height: 2px;
    width: 227px;
    margin: 30px auto;
    clear: both;
}

/*-----------------------------------------------------------  SCROLL TO TOP   ------------------*/
#scrollToTop { color: rgba(0,0,0,0.4); }

/*-----------------------------------------------------------  TOP PAGE  -----------------------*/
#top_page {
	position: relative;
	z-index: 800;
	width: 100%;
	background-size: cover;
	background-position: center;
}

#top_page .transparent {
	width: 100%;
	height: 35px;
	background-color: rgba(255,255,255,.4);
	position: absolute;
	bottom: 0;
	border-top: 1px solid rgba(255,255,255,0.45);
}

#top_page h1 {
	position: absolute;
	bottom: 58px;
	color: white;
	font-size: 47px;
}

/*-----------------------------------------------------------  DEFAULT FORM   ------------------*/
form.default legend {
    color: var(--color_ad);
    font-size: 13px;
    letter-spacing: 0;
}

form.default label {
    color: var(--color_pd);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
}

form.default input,
form.default select,
form.default textarea { border-color: var(--gray2); }

form.default input[type="submit"], 
form.default input[type="button"],
.form_buttons a,
a.button {
    border-color: var(--color_a);
    color: var(--white);
    background-color: var(--color_a);
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
    font-size: 14px;
}

form.default input[type="submit"]:hover, 
form.default input[type="button"]:hover,
.form_buttons a:hover,
a.button:hover, 
a.button.selected {
    color: var(--color_ad);
    border-color: var(--color_ad);
    background-color: white;
}

a.button01 {
    border-color: var(--color_al);
    background: var(--white);
    color: var(--color_al);
    height: auto;
    font-weight: bold;
    text-align: center;
    width: 100%;
    font-size: 1.5em;
    border-radius: 30px;
    transition: color, background-color 0.7s;
    margin: 6px auto;
    float: none;
    display: block;
    padding: 10px 51px;
}

a.button01:hover {
	border-color: var(--white);
    color: var(--white);
    background: var(--color_al);
	transition: all 0.7s linear;
}

input.button {
    color: white;
    background-color: var(--color_a);
	width: 188px;
    padding: 5px 15px;
    font-size: 13px;
    cursor: pointer;
    height: 30px;
    margin-top: 5px;
}

input.button:hover {
    background-color: var(--color_al);
}

form.default .field_group {
    border: none;
    margin-top: 20px;
}

form.default .buttons_field_group { float: right; margin-bottom: 20px; }

form.default .buttons_field_group #remove_fgroup {
    background-color: transparent;
    color: var(--color_c);
    border: 1px solid var(--color_c);
    padding: 5px 20px;
    transition: all 0.2s linear;
}

form.default .buttons_field_group #add_fgroup {
    background-color: var(--color_pl);
    color: white;
    border: 1px solid var(--color_pl);
    border: 1px solid;
    padding: 5px 20px;
    transition: all 0.2s linear;
}

form.default .buttons_field_group #remove_fgroup:hover,
form.default .buttons_field_group #add_fgroup:hover {
    border-color: transparent;
    background: var(--color_al);
    color: white;
    transition: all 0.2s linear;
}

/*-----------------------------------------------------------   CLEAN FORM   -------------------*/
.clean .submit,
.Floating .submit {
    background: var(--color_c);
    width: 90px;
    text-transform: uppercase;
    font-size: 14px;
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
}

.clean input, .clean textarea { border-color: var(--gray4); }

/*--------------------------------------------------------  FLOATING FORM  ---------------------*/
.Floating input, .Floating textarea { border-color: var(--gray4); }

.Floating .submit { background: var(--color_c); }

.Floating .submit:hover { background: var(--color_cl); }

/*-----------------------------------------------------------  DEFAULT TABLE   -----------------*/
table.default caption {
    font-weight: 200;
    font-size: 24px;
    font-family: "Montserrat", sans-serif;
}

table.default thead { }

table.default th, table.default td { padding: 5px 10px; }

table.default th {
    font-weight: normal;
    text-transform: uppercase;
    vertical-align: middle;
}

table.default td {
    vertical-align: middle;
    font-size: 14px;
    padding: 10px;
}

table.default thead tr { }

table.default thead th {
    font-weight: 300;
    vertical-align: middle;
    text-transform: inherit;
    padding: 8px 5px;
}

table.default thead td {
    font-weight: normal;
    background: transparent;
    vertical-align: middle;
}

table.default tfoot tr { }

table.default tfoot th {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    vertical-align: middle;
    padding: 2px 10px;
}

table.default tfoot td {
    font-size: 14px;
    font-weight: normal;
    text-transform: inherit;
    vertical-align: middle;
    padding: 2px 10px;
}

/*------ TABLE COLOR P ------*/
table.default.color_p caption { color: var(--color_pd); }

table.default.color_p td { border-bottom: 1px solid var(--gray2); }

table.default.color_p thead th {
    background: var(--color_pl);
    border-top: 1px solid var(--color_pd);
    border-bottom: 1px solid var(--color_pd);
    color: var(--color_pd);
}

table.default.color_p thead td { background: transparent; }

table.default.color_p tfoot th { background: transparent; }


/*------ TABLE COLOR A ------*/
table.default.color_a caption { color: var(--color_ad); }

table.default.color_a td { border-bottom: 1px solid var(--gray2); }

table.default.color_a thead th {
    background: var(--color_al);
    border-top: 1px solid var(--color_ad);
    border-bottom: 1px solid var(--color_ad);
    color: var(--color_ad);
}

table.default.color_a thead td { background: transparent; }

table.default.color_a tfoot th { background: transparent; }

table.default.color_a tfoot {
    color: var(--white);
    background: var(--color_ad);
}

/*------ TABLE COLOR C ------*/
table.default.color_c caption { color: var(--color_cd); }

table.default.color_c td { border-bottom: 1px solid var(--gray2); }

table.default.color_c thead th {
    background: var(--color_cl);
    border-top: 1px solid var(--color_cd);
    border-bottom: 1px solid var(--color_cd);
    color: var(--color_cd);
}

table.default.color_c thead td { background: transparent; }

table.default.color_c tfoot th { background: transparent; }

/*-----------------------------------------------------------  HMENU01   ------------------------*/
@media (min-width: 1180px) {
    /* FIRST LEVEL    -----------------*/
    .hmenu01 ul#main-menu > li > a {
        background-color: transparent; 
        padding: 10px 15px;
        font-size: 16px;
        font-weight: bold;
        text-decoration: none;
        text-transform: uppercase;
        color: black;
    }

    .hmenu01 ul#main-menu > li > a.selected,
    .hmenu01 ul#main-menu > li > a.highlighted,
    .hmenu01 ul#main-menu > li > a.current { 
        border: 1px solid var(--gray2);
        color: black;
    }

    /* SECOND+ LEVEL    ---------------*/
    .hmenu01 ul#main-menu > li ul { box-shadow: 3px 3px rgba(80,80,80,0.2); }

    .hmenu01 ul#main-menu > li > ul li { width: 100%; }

    .hmenu01 ul#main-menu > li > ul li a {
        background-color: var(--color_a); 
        color: var(--white); 
        border-bottom: 1px solid var(--white);
        padding: 10px 25px 10px 8px;
    }

    .hmenu01 ul#main-menu > li ul li a:hover{ 
        background-color: var(--color_al); 
        color: var(--color_ad); 
    } 

    .hmenu01 ul#main-menu > li > ul li:last-child a { border-bottom: none; }

    .hmenu01 ul#main-menu > li > ul li a.has-submenu span.sub-arrow { right: 0.9375em; }

    .hmenu01 ul#main-menu > li > ul li a.has-submenu span.sub-arrow:after {
        content: '\f105';
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        position: absolute;
    }
}

@media (max-width: 1179px) {
    .hmenu01 > ul#main-menu {
        background-color: black;
        width: 240px;
        padding: 5px 5px;
        top: 95px;
        right: 7px;
    }

    /* FIRST LEVEL    -----------------*/
    .hmenu01 ul#main-menu > li > a {
        border-bottom: 1px solid #ffffff;
        padding: 12px 5px;
        font-size: 17px;
        font-weight: normal;
        text-decoration: none;
        text-transform: uppercase;
        color: white;
    }
    
    .hmenu01 ul#main-menu > li > a.current,
	.hmenu01 ul#main-menu > li > a.highlighted { 
		border-bottom: none;
        background-color: var(--color_al);
	}    
    
    .hmenu01 ul#main-menu > li:last-child > a { border-bottom: none; }
    
    .hmenu01 ul#main-menu > li > a.has-submenu span.sub-arrow { right: 0.9375em; }

    .hmenu01 ul#main-menu > li > a.has-submenu span:after {
        content: '\f107';
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        position: absolute;
    }

    .hmenu01 ul#main-menu > li > ul li a:hover { 
        color: var(--white);
        border-bottom-color: var(--white);
        background: var(--color_al);
    }
    
    /* SECOND+ LEVEL    ---------------*/
    .hmenu01 ul#main-menu > li ul { margin: 0 10px 15px; }

    .hmenu01 ul#main-menu > li > ul li a {
        color: black; 
        border-bottom: 1px dotted var(--white);
        padding: 10px 8px;
    }

    .hmenu01 ul#main-menu > li > a.has-submenu span.sub-arrow { right: 0.9375em; }

    .hmenu01 ul#main-menu > li > a.has-submenu span:after {
        content: '\f107';
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        position: absolute;
    }

    .hmenu01 ul#main-menu > li > ul li a.current { color: var(--color_ad); }
    
    .main-menu-btn { top: 0; }
}
/* hamburger icon */
.main-menu-btn-icon,
.main-menu-btn-icon:before,
.main-menu-btn-icon:after {
    background-color: black;
}


/*-----------------------------------------------------------  VMENU01   -----------------------*/
@media screen and (min-width:1180px) {
	.vmenu01.fx_3 {
		position: relative;
		top: -75px;
		z-index: 900;
	}

    .vmenu01.fx_3 ul.side-nav {
        padding: 0 1.5625em;
    }
}

.vmenu01 > h1 {
    background-color: rgba(49,70,144,.8);
    color: white;
    border-top: 1px solid rgb(119, 124, 145);
	display: block;
	text-align: center;
	margin-bottom: 7px;
	height: 35px;
	line-height: 35px;
	width: 300px;
	/*left: -25px;*/
	position: relative;
	text-transform: uppercase;
	font-size: 14px;
}

.mbar {
    background-color: rgba(0,0,0,0.03);
	position: absolute;
	width: 92%;
	height: 100%;
	top: 0;
    left: 4%;
    z-index: -1;
}

.vmenu01 > ul > li {
	border: none;
    margin: 0;
}

.vmenu01 ul li::before{content: none !important;}

.vmenu01 > ul > li > a {
    color: var(--gray4);
    border-bottom: 1px solid transparent;
    border-left: none;
    font-size: 18px;
    padding: 10px 0 5px;
}

.vmenu01 a:hover,
.vmenu01 a.selected{ 
    color: var(--color_ad); 
    border-color: var(--color_ad); 
}

.vmenu01 > ul > li ul { margin: 0 15px 10px 45px !important; }

.vmenu01 > ul > li ul li {
    border-bottom: dashed 1px var(--gray2); 
    text-transform: uppercase;
    font-size: 0.8em;
	transition: .5s ease;
}

/*-----------------------------------------------------------  PAGE INDEX ----------------------*/
.content .box_index { border-color: var(--color_a); }

.content .box_index h1 {
    background-color: var(--color_pd);
    color: var(--white);
    padding: 5px 10px;
    text-transform: uppercase;
}

.content .box_index .page_index a {
    border-bottom: 1px dotted var(--color_a);
    font-size: 14px;
}

.index_this h3 { color: var(--color_c); }

.index_back a { color: var(--color_cl); }

.index_back a:hover { color: var(--color_cl); }

/*-----------------------------------------------------------  QUOTE ---------------------------*/
.quote p {
	color: var(--color2000);
	text-align: center;
	font-size: 20px;
	font-family: 'Quicksand', sans-serif;
	line-height: 32px;
	padding: 0 77px;
}

/*-----------------------------------------------------------  BG1D --------------------------*/
.bg1d { 
    background-color: var(--color_pd); 
    color: var(--white);
}

.bg1d a { color: var(--color_al); }
.bg1d a:hover { color: var(--color_al); }
.bg1d h1 { color: var(--color_pl); }
.bg1d h2 { color: var(--color_al); }
.bg1d h3 { color: var(--white); }

.bg1d .content ul li::before { color: var(--color_al); }

/*-----------------------------------------------------------  BG2D --------------------------*/
.bg2d { 
    background-color: var(--color_a); 
    color: var(--white);
}

.bg2d a { color: var(--color_pl); }
.bg2d a:hover { color: var(--color_pd); }
.bg2d h1 { color: var(--color_pd); }
.bg2d h2 { color: var(--color_ad); }
.bg2d h3 { color: var(--white); }

.bg2d .content ul li::before { color: var(--color_pd); }

/*-----------------------------------------------------------  BG3D --------------------------*/
.bg3d { 
    background-color: var(--color_c); 
    color: var(--white);
}

.bg3d a { color: var(--color_cl); }
.bg3d a:hover { color: var(--color_cl); }
.bg3d h1 { color: var(--color_cl); }
.bg3d h2 { color: var(--color_cl); }
.bg3d h3 { color: var(--white); }

.bg3d .content ul li::before { color: var(--color_cd); }

/*-----------------------------------------------------------  BG1L --------------------------*/
.bg1l { 
    background-color: var(--color_pl); 
    color: var(--black);
}

.bg1l a { color: var(--color_a); }
.bg1l a:hover { color: var(--color_al); }
.bg1l h1 { color: var(--color_p); }
.bg1l h2 { color: var(--color_a); }
.bg1l h3 { color: var(--white); }

.bg1l .content ul li::before { color: var(--color_a); }


/*-----------------------------------------------------------  BG2L --------------------------*/
.bg2l { 
    background-color: var(--color_al); 
    color: var(--black);
}

.bg2l a { color: var(--color_p); }
.bg2l a:hover { color: var(--color_pl); }
.bg2l h1 { color: var(--color_p); }
.bg2l h2 { color: var(--color_a); }
.bg2l h3 { color: var(--white); }

.bg2l .content ul li::before { color: var(--color_p); }


/*-----------------------------------------------------------  BG3L --------------------------*/
.bg3l { 
    background-color: var(--color_cl); 
    color: var(--white);
}

.bg3l a { color: var(--color_cd); }
.bg3l a:hover { color: var(--color_cd); }
.bg3l h1 { color: var(--color_cd); }
.bg3l h2 { color: var(--color_cd); }
.bg3l h3 { color: var(--white); }

.bg3l .content ul li::before { color: var(--color_cd); }

/*-----------------------------------------------------------  ASIDE - PD --------------------------*/
.asidebox.pd { 
    background-color: var(--color_pd); 
    color: var(--white);
}

.asidebox.pd a { color: var(--color_pl); }

.asidebox.pd a:hover { color: var(--color_pl); }

.asidebox.pd h1 { color: var(--color_pl); }

.asidebox.pd ul li::before { color: var(--color_pl); }

/*-----------------------------------------------------------  ASIDE - AD --------------------------*/
.asidebox.ad { 
    background-color: var(--color_a); 
    color: var(--white);
}

.asidebox.ad a { color: var(--color_ad); }

.asidebox.ad a:hover { color: var(--color_ad); }

.asidebox.ad h1 { color: var(--color_al); }

.asidebox.ad ul li::before { color: var(--color_al); }

/*-----------------------------------------------------------  ASIDE - CD --------------------------*/
.asidebox.cd { 
    background-color: var(--color_c); 
    color: var(--white);
}

.asidebox.cd a { color: var(--color_cl); }

.asidebox.cd a:hover { color: var(--color_cl); }

.asidebox.cd h1 { color: var(--color_cl); }

.asidebox.cd ul li::before { color: var(--color_cd); }

/*-----------------------------------------------------------  ASIDE - PL --------------------------*/
.asidebox.pl { 
    background-color: var(--color_pl); 
    color: var(--black);
}

.asidebox.pl a { color: var(--color_pl); }

.asidebox.pl a:hover { color: var(--color_pl); }

.asidebox.pl h1 { color: var(--color_p); }

.asidebox.pl ul li::before { color: var(--color_p); }


/*-----------------------------------------------------------  ASIDE - AL --------------------------*/
.asidebox.al { 
    background-color: var(--color_al); 
    color: var(--black);
}
.asidebox.al a { color: var(--color_al); }

.asidebox.al a:hover { color: var(--color_al); }

.asidebox.al h1 { color: var(--color_a); }

.asidebox.al ul li::before { color: var(--color_a); }


/*-----------------------------------------------------------  ASIDE - CL --------------------------*/
.asidebox.cl { 
    background-color: var(--color_cl); 
    color: var(--black);
}
.asidebox.cl a { color: var(--color_cl); }

.asidebox.cl a:hover { color: var(--color_cl); }

.asidebox.cl h1 { color: var(--color_c); }

.asidebox.cl ul li::before { color: var(--color_c); }

/*-----------------------------------------------------  TODAY'S READINGS  ----------------------*/
#readings h2, #readings_spanish .rsslayer h2 {
    background: var(--color_a);
    font-size: 1.3em;
    width: 100%;
    text-align: center;
    color: white;
    padding: 5px 0;
    cursor: pointer;
    margin-bottom: 20px;
    transition: all 0.3s linear;
}

#readings h2:hover, #readings_spanish .rsslayer h2:hover {
    background: var(--color_a1);
    transition: all 0.3s linear;
}

#readings_spanish .rsscontent h2 {
    background: transparent;
    color: var(--color_pd);
    text-transform: uppercase;
    font-size: 20px;
}

#readings_spanish .rsscontent h2:hover {
    background: transparent;
    color: var(--color_ad);
    text-transform: uppercase;
    font-size: 20px;
}

#readings h4, #readings_spanish h4 {
    color: var(--color_pl);
    font-size: 1.1em;
    margin-bottom: 20px;
}

#readings .poetry, #readings_spanish .poetry {
    font-size: 0.9em;
    margin-bottom: 20px;
}

/*-----------------------------------------------------------  MASS INTENTIONS   ---------------*/
.mass_intentions dl { margin: 0 30px 35px 30px; }

.mass_intentions dl dt h2 {
    color: var(--color_a);
    font-size: 16px;
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
}

.mass_intentions dl dt p {
    background: var(--color_a);
    color: white;
    text-transform: uppercase;
    font-style: normal;
    font-size: 12px;
    font-weight: lighter;
    padding: 3px;
}

.mass_intentions dl dd { border-left-color: var(--color_a); }

.mass_intentions dl dd h2 {
    color: var(--color_pd);
    font-size: 16px;
}
    
.mass_intentions dl dd p { margin-bottom: 10px; }

.mass_intentions dl dd p + h2 {  }

/*-----------------------------------------------------------  MINISTRY LISTING   ------------*/
#ministry_listing .fx_3 { background: var(--gray1); }

#ministry_listing .fx_3 h2 {
    font-size: 16px;
    text-transform: uppercase;
    background: var(--color_p);
    text-align: center;
    font-weight: normal;
    padding: 5px 10px;
}

#ministry_listing .fx_3 h2 a { color: var(--gray1); }

#ministry_listing .fx_3 h2 a:hover { color: var(--color_a); }

#ministry_listing .fx_3 li {
    font-size: 15px;
    border-bottom: dotted 1px #Cecece;
    color: #6f6f6f;
}

#ministry_listing .fx_3 li a {
    color: var(--gray5);
    padding: 5px 5px 5px 5px;
}

#ministry_listing .fx_3 li a:hover {
    font-weight: normal;
    background: #f5b821;
    color: #FFFFFF;
}

/*-----------------------------------------------------------  OUR TEAM ----------------------*/
#ourteam #mainline.js-fixposition {
	position: fixed;
	top: 40px;
	right: 0;
	padding: 8px 50px 8px 15px;
}

#ourteam #mainline {
	z-index: 900;
	background: var(--color_pd);
	text-align: center;
	padding: 8px 0;
	color: white;
}

#ourteam #mainline p { margin-bottom: 0; }

#ourteam #mainline a { color: var(--color_pl); }

#ourteam #mainline a:hover { color: white; }

#ourteam h2 {
	margin-bottom: 15px;
	margin-top: 20px;
}

#ourteam .fx_4 { margin-bottom: 30px; }

#ourteam dl {
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
}

#ourteam dl dd.OT-name {
	text-align: center;
	background: var(--color_p);
	width: 180px;
	margin: -15px auto 0;
	color: white;
	font-size: 14px;
	padding: 5px 0;
	position: relative;
	z-index: 2;
	border-left: 2px solid var(--color_al);
	border-right: 2px solid var(--color_al);
	font-family: "IBM Plex Serif", serif;
}

#ourteam dl dt { position: relative; }

#ourteam dl dt img {
	border-bottom: 2px solid var(--color_al);
	width: 100%;
	margin-bottom: 0;
}

#ourteam dl dt a.read-profile {
	position: absolute;
	background: rgba(255,255,255,0.7);
	width: 60px;
	padding: 5px 0;
	text-align: center;
	right: 0;
	top: 0;
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--color_a);
	transition: all 0.2s linear;
}

#ourteam dl dt a.read-profile:hover {
	background: rgba(170,69,47,0.6);
	color: white;
	transition: all 0.2s linear;
}

#ourteam dl dd.OT-function {
	font-size: 14px;
	text-align: center;
	margin: 2px auto;
	color: var(--gray5);
	font-style: italic;
}

#ourteam dl dd.OT-contact {
	font-size: 13px;
	color: var(--color_a);
	text-align: center;
}

#ourteam dl dd.OT-contact a { color: var(--color_a); }

#ourteam dl dd.OT-contact a:hover { color: var(--color_al); }

/*-----------------------------------------------------------  SWIPER ----------------------*/

.swiper-container{
    overflow: hidden;
}

/*------------------------------ Buttom 01 --------------------------*/
.click-btn {
    display: flex;
	color: #8C5434;
    width: 100%;
    height: 50px;
    justify-content: center;
    align-items: center;
    margin: 0.5rem;
    line-height: 35px;
    border: 1px solid;
    border-radius: 100px;
    text-align: center;
    font-size: 18px;
    color: #8C5434;
    text-decoration: none;
    transition: all 0.35s;
	font-weight: bold;
}

.click-btn {
  position: relative;
  background-color: #ffffff00;
  border-color: #8C5434;
  overflow: hidden;
	font-weight: bold;
  span {
    position: relative;
    left: -1em;
    transition: all 0.5s;
  }
  &::before,
  &::after {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #8C5434;
    transition: all 0.5s;
    color: #fff;
  }
  &::before {
    width: 50px;
	content: "\f56d";
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "FontAwesome";
	font-size: 21px;
	font-weight: bold;
	text-indent: 5px;
	border-radius: 50% 0 0 50%;
	z-index: 1;
	color: #FFF;
  }
  &::after {
	width: 100%;
	transform: translate(100%, 0);
	content: attr(data-hover);
	text-align: left;
	text-indent: 0;
	line-height: 47px;
  }
  &:hover {
    border-color: #8C5434;
    span {
      left: -100%;
    }
    &::before {
      right: calc(100% - 50px);
    }
    &::after {
      right: calc(100% - 49px);
    }
  }
}


/*------------------------------ Buttom 02 --------------------------*/
.link_button {
    display: flex;
	color: #8C5434;
    width: 100%;
    height: 50px;
    justify-content: center;
    align-items: center;
    margin: 0.5rem;
    line-height: 35px;
    border: 1px solid;
    border-radius: 100px;
    text-align: center;
    font-size: 18px;
    color: #8C5434;
    text-decoration: none;
    transition: all 0.35s;
	font-weight: bold;
}

.link_button {
  position: relative;
  background-color: #ffffff00;
  border-color: #8C5434;
  overflow: hidden;
	font-weight: bold;
  span {
    position: relative;
    left: -1em;
    transition: all 0.5s;
  }
  &::before,
  &::after {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #8C5434;
    transition: all 0.5s;
    color: #fff;
  }
  &::before {
    width: 50px;
	content: "\f0c1";
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "FontAwesome";
	font-size: 21px;
	font-weight: bold;
	text-indent: 5px;
	border-radius: 50% 0 0 50%;
	z-index: 1;
	color: #FFF;
  }
  &::after {
	width: 100%;
	transform: translate(100%, 0);
	content: attr(data-hover);
	text-align: left;
	text-indent: 0;
	line-height: 47px;
  }
  &:hover {
    border-color: #8C5434;
    span {
      left: -100%;
    }
    &::before {
      right: calc(100% - 50px);
    }
    &::after {
      right: calc(100% - 49px);
    }
  }
}


/*------------------------------ Buttom 03 --------------------------*/
.click-btn-blue {
    display: flex;
	color: #1a2535;
    width: 100%;
    height: 50px;
    justify-content: center;
    align-items: center;
    margin: 0.5rem;
    line-height: 35px;
    border: 1px solid;
    border-radius: 100px;
    text-align: center;
    font-size: 18px;
    color: #1a2535;
    text-decoration: none;
    transition: all 0.35s;
	font-weight: bold;
}

.click-btn-blue {
  position: relative;
  background-color: #ffffff00;
  border-color: #1a2535;
  overflow: hidden;
	font-weight: bold;
  span {
    position: relative;
    left: -1em;
    transition: all 0.5s;
  }
  &::before,
  &::after {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #1a2535;
    transition: all 0.5s;
    color: #fff;
  }
  &::before {
    width: 50px;
	content: "\f086";
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "FontAwesome";
	font-size: 21px;
	font-weight: bold;
	text-indent: 5px;
	border-radius: 50% 0 0 50%;
	z-index: 1;
	color: #FFF;
  }
  &::after {
	width: 100%;
	transform: translate(100%, 0);
	content: attr(data-hover);
	text-align: left;
	text-indent: 0;
	line-height: 47px;
  }
  &:hover {
    border-color: #1a2535;
    span {
      left: -100%;
    }
    &::before {
      right: calc(100% - 50px);
    }
    &::after {
      right: calc(100% - 49px);
    }
  }
}


/*------------------------------ Buttom Floating --------------------------*/

/* Floating button styles */
.floating-button {
	position: fixed;
	bottom: 50%;
	right: 20px;
	background-color: #63a7b1;
	color: white;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: all 0.3s ease-in-out;
	z-index: 1000;
}

div#floatingButton a {
    color: #FFF;
}

.phone-icon {
    font-size: 30px;
    line-height: 60px;
    text-align: center;
    width: 100%;
    display: block;
}

.tooltip {
    visibility: hidden;
    width: 180px;
    background-color: #1a2535;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    position: absolute;
    bottom: 0;
    right: 60px;
    opacity: 0;
    transition: opacity 0.3s;
}

/* Hover effect */
.floating-button:hover .tooltip {
    visibility: visible;
    opacity: 1;
}

/* Hide the floating button when it reaches the footer */
.hide {
    display: none;
}


/*-----------------------------------------------------------  ROTATOR  ----------------------*/
#rotator_container {
    min-height: 602px;
    display: flex;
}

#rotator_container #loading-svg {
    background-image: url(../images/loading.svg);
    width: 100%;
    height: 420px;
    background-size: 86px;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width:879px) {
    #rotator_container {
        min-height: 420px;
    }
}
