/* -- SETUP ----------------------*/
.alignwide, .alignfull {
	margin-right: calc(50% - 50vw);
	margin-left:  calc(50% - 50vw);
	max-width:  100vw;
	width:  100vw;
}

body:not(.home) .alignwide, body:not(.home) .alignfull {
    margin-right: initial;
    margin-left: initial;
    max-width: inherit;
    width: inherit;
}

/* Reset full width block container */
.full_container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
	.full_container { max-width: 540px; }
}
@media (min-width: 768px) {
	.full_container { max-width: 720px; }
}
@media (min-width: 992px) {
	.full_container { max-width: 960px; }
}
@media (min-width: 1200px) {
	.full_container { max-width: 1140px; }
	.site_contact .full_container { max-width: 800px; }
}

.flex { z-index: 99; }

.py-6 {
    padding-bottom: 4rem!important;
    padding-top: 4rem!important;
}

/* -- BACKGROUNDS ----------------------*/
.bg_color_black { background-color: #000; }
.bg_color_char { background-color: #404040; }
.bg_color_white { background-color: #FFF; }
.bg_color_whitesmoke { background-color: #f7f7f7; }
.bg_color_red { background-color: #B50014; }

/* -- TEXT SHADES ----------------------*/
.light_txt h1, .light_txt h2, .light_txt h3, .light_txt h4, .light_txt h5, .light_txt p { color: #FFF; }
.light_txt h1:after, .light_txt h2:after, .light_txt h3:after, .light_txt h4:after, .light_txt h5:after { background-color: #FFF; }


/* -- CALL TO ACTION ----------------------*/
.cta .plain_txt--content { font: normal normal normal 18px/28px Lato; }
.cta form .gform_body, .cta form .gform_footer, .cta .gform_wrapper.gravity-theme .gform_fields { display: inline-block !important; }
.cta .gform_wrapper.gravity-theme .gfield input.small, .cta .gform_wrapper.gravity-theme .gfield select.small { width: 100%; }
.cta .gform_wrapper.gravity-theme .gfield input, .cta .gform_wrapper.gravity-theme .gform_footer input { background: transparent; border: 0; border: 2px solid #FFF; border-radius: 23px; height: 43px; }
.cta .gform_wrapper.gravity-theme .gfield input { background: #FFF; padding: 8px 27px; }
.cta .gform_wrapper.gravity-theme .gform_footer input { border-color: #FFF; color: #FFF; }
.cta .gform_wrapper.gravity-theme .gform_footer input:hover { background-color: #000; border-color: #000; color: #FFF; }

.cta.bg_color_white .gform_wrapper.gravity-theme .gfield input { border-color: #B50014; }
.cta.bg_color_white .gform_wrapper.gravity-theme .gform_footer input { border-color: #B50014; color: #B50014; }

@media screen and (min-width: 992px) {
	.cta .gform_wrapper.gravity-theme .gform_fields { margin-right: 20px; width: 363px; }
	.cta .gform_wrapper.gravity-theme .gform_footer input { min-width: 118px !important; }
}

/* -- COVER IMAGE ----------------------*/
.cover { align-items: center; background-repeat: no-repeat; background-size: cover; display: flex; height: 544px; text-align: center; }
.cover .strapline { color: #FFF; font-family: 'Josefin Sans', sans-serif; font-size: 2.2rem; position: relative; z-index: 2; }

@media screen and (max-width: 1024px) {
	.cover { height: 444px; }
}
@media screen and (max-width: 767px) {
	.cover { height: 344px; }
}
@media screen and (max-width: 576px) {
	.cover { height: 300px; }
}
@media (max-width: 375px) {
	.cover .strapline { font-size: 1.7rem; line-height: 1.5; }
}

/* -- PLAIN TEXT AREA ----------------------*/
.plain_txt { position: relative; }
.plain_txt .full_container { position: relative; z-index: 1; }
.plain_txt--content .btn { margin-top: 30px; }
.plain_txt.has_bg_graphic { background-position: right center; background-repeat: no-repeat; background-size: cover; min-height: 600px; }

.dome { background-position: center top; background-size: cover; height: 200px; left: -10%; position: absolute; top: -120px; width: 120%; z-index: 0; }

.plain_txt.has_bg_graphic .full_container { top: 100px; }


@media screen and (min-width: 992px) {
	.plain_txt.has_bg_graphic { background-position: -740px top; }
}
@media screen and (min-width: 1024px) {
	.plain_txt.has_bg_graphic { background-position: -620px top; }
}
@media screen and (min-width: 1199px) {
	.plain_txt.has_bg_graphic { background-position: -550px top; }
}
@media screen and (min-width: 1440px) {
	.plain_txt.has_bg_graphic { background-position: -460px top; }
}
@media screen and (min-width: 1550px) {
	.plain_txt.has_bg_graphic { background-position: -320px top; }
}
@media screen and (min-width: 1920px) {
	.plain_txt.has_bg_graphic { background-position: -360px top; }
	.dome { top: -140px; }
}
@media screen and (min-width: 2560px) {
	.plain_txt.has_bg_graphic { background-position: -570px top; min-height: 700px; }
	.dome { top: -170px; }
}
@media screen and (max-width: 1199px) {
	.plain_txt.has_bg_graphic { background: #b50014 !important; min-height: 380px; }
	.dome { display: none; }
}


/* -- TWO COLUMN LIST ----------------------*/
.list_2_col ul, .team_cards ul { list-style: none; margin: 0; padding: 0; }
.list_2_col .bg_whitesmoke { background-color: whitesmoke; padding: 30px; }
.list_2_col ul li { font: normal normal normal 18px/28px Lato; margin-bottom: 15px; padding-left: 20px; text-indent: -10px; }
.list_2_col ul li:before, .team_cards ul li:before { background-color: #FFF; border: 2px solid #B50014; border-radius: 100%; content: ''; display: inline-block; height: 10px; position: relative; left: -8px; width: 10px;  }


/* -- ICON BOXES ----------------------*/
.icon_boxes { justify-content: center; margin: 80px 0 -40px; }
.icon_box { background-position: center; background-repeat: no-repeat; background-size: contain; height: 100px; margin-bottom: 18px; }
.icon_boxes p { font: normal normal 600 16px/1.3 Josefin Sans; margin-bottom: 60px; }

@media screen and (min-width: 992px) {
	.icon_boxes p { padding: 0 10px; }
}

/* -- SOCIAL ICONS ----------------------*/
ul.social_icons { list-style: none; margin-top: 20px; padding: 0; }
ul.social_icons li { display: inline-block; margin-right: 24px; }
ul.social_icons li:last-child { margin-right: 0; }
ul.social_icons li a { color: #FFF; }
ul.social_icons li a:hover { color: #000; }

.cta.bg_color_white ul.social_icons li a { color: #B50014; }
.cta.bg_color_white ul.social_icons li a:hover { color: #000; }

/* -- TEAM ----------------------*/
.team_member--cards { display: flex; flex-wrap: wrap; }
.team_cards { background: whitesmoke; display: flex; margin-bottom: 30px; padding: 25px 15px; width: 100%; }

.team_cards h5 { color: #B50014; }
.team_cards h5:after { display: none; }

.team_cards ul { margin: 15px 0 0; }
.team_cards ul li { font: normal normal normal 13px/21px Lato; margin-bottom: 15px; padding-left: 20px; text-indent: -10px; }
.team_cards ul li:before { position: relative; left: -8px; }

ul.social-profiles li { display: inline-block; margin-bottom: 0; margin-right: 3px; padding-left: 0; text-indent: 0; }
ul.social-profiles li:before { display: none; }

/* -- ACCORDIONS ----------------------*/
.accordion-header:after { display: none; }
.accordion-button:focus {
	border-color: #B50014;
    -webkit-box-shadow: 0 0 0 0.25rem rgb(181 0 20 / 25%);
    box-shadow: 0 0 0 0.25rem rgb(181 0 20 / 25%);
}
.accordion-button:not(.collapsed) { background-color: #fde4e7; color: #B50014; }

.accordion-button:not(.collapsed):after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23B50014'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* -- MAPS ----------------------*/
.wpgmza_map, #wpgmza_map { padding: 0 15px; }
@media screen and (max-width: 991px) {
	.wpgmza_map, #wpgmza_map { padding-left: 13px; padding-right: 13px; }
}
