/*

Theme Name: LFS - Frontline Protective Services

Theme URI: http://www.lawfirmsites.com/

Author: Law Firm Site

Author URI: http://www.lawfirmsites.com

Description: A simple responsive theme with theme options panel, and page templates.

Version: 1.0

*/

/* Overwrite Bootstrap */


/*

    -- FONTS --

*/




:root {
	
	--font1: 'Red Hat Display', sans-serif;
	--font2: 'Red Hat Display', sans-serif;
	--font3: 'Font Awesome 5 Free';
	--color-primary: #141311;
	--color-secondary: #F3D14A;
	--color-tertiary: #C89843;
	--color-text: #282E3F;
	--color-bg-light: #F8EBC9;
	--color-black: #000;
	--color-default: #fff;
	--color-yellow: #FFD659;
	
	--fs96: 6rem;
	--fs90: 5.625rem;
	--fs75: 4.6875rem;
	--fs72: 4.5rem;
	--fs65: 4.0625rem;
	--fs64: 4rem;
	--fs60: 3.75rem;
	--fs58: 3.625rem;
	--fs55: 3.4375rem;
	--fs52: 3.25rem;
	--fs50: 3.125rem;
	--fs48: 3rem;
	--fs47: 2.9375rem;
	--fs45: 2.8125rem;
	--fs44: 2.75rem;
	--fs42: 2.625rem;
	--fs40: 2.5rem;
	--fs38: 2.375rem;
	--fs36: 2.25rem;
	--fs34: 2.125rem;
	--fs32: 2rem;
	--fs30: 1.875rem;
	--fs29: 1.8125rem;
	--fs28: 1.75rem;
	--fs27: 1.6875rem;
	--fs26: 1.625rem;
	--fs25: 1.563rem;
	--fs24: 1.5rem;
	--fs23: 1.438rem;
	--fs22: 1.375rem;
	--fs21: 1.35rem;
	--fs20: 1.25rem;
	--fs19: 1.188rem;
	--fs18: 1.125rem;
	--fs17: 1.0625rem;
	--fs16: 1rem;
	--fs15: 0.9375rem;
	--fs13: 0.8125rem;
	--fs14: 0.875rem;
	--fs12: 0.75rem;
	--fs11: 0.6875rem;
}





/* Ovewrite Bootstrap */

html { font-size: 0.833333vw; }

body{
    font-family: var(--font1);
	color: var(--color-text);
	font-size: var(--fs18);
	font-weight: 400;
	line-height: 1.7em;
}


h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5 {

    margin: 0px;

}

ul {

    list-style: none;

    margin: 0px;

    padding: 0px;

}

a {

    color: var(--color-secondary);

    transition: all .2s ease;

    -webkit-transition: all .2s ease;

    -mz-transition: all .2s ease;

    -moz-transition: all .2s ease;

    -o-transition: all .2s ease;

}

a:hover, a:focus {

    color: var(--color-primary);

    text-decoration: none;

    outline: none;

}

p:empty {

    display: none;

}
/*#wrapper {
	max-width: 160rem;
	margin: 0 auto;
}*/
.container, .container-large, .container-full {
    max-width: 99.125rem;
    width: 90%;
	padding-left: 0;
	padding-right: 0;
	margin: 0 auto;
}
.container-full { max-width: 100%; width: 100%; }
.row {
	margin-left: 0;
	margin-right: 0;
}
.alignleft {
	float: left;
    margin: 0 1.875rem 1.875rem 0;
}
.alignright {
	float: right;
    margin: 0 0 1.875rem 1.875rem;
}
.aligncenter {
	display:block;
	margin: 0 auto 1.875rem;
}
.wp-caption-text {
	font-style: italic;
	font-size: 0.6875rem;
	line-height: 1.5em;
    text-align: center;
}
.clear {
	clear: both;
}
.col-md-6,
.col-md-4,
.col-md-8,
.col-md-5,
.col-md-7,
.col-md-3,
.col-md-2,
.col-md-9 {
	padding-left: 0;
	padding-right: 0;
}
.center {text-align: center !important;}
.flex-container {
	max-width: 1800px;
	padding: 0 0.9375rem;
	margin: 0 auto;
	justify-content: space-between;
}
img {
	max-width: 100%;
	height: auto;
}
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
	font-size: var(--fs64);
	font-weight: 700;
	font-family: var(--font2);
	color: var(--color-primary);
	text-transform: none;
	line-height: 1.2em;
	margin-bottom: 1.875rem;
}
.h1, .h2, .h3, .h4, .h5 { margin-top: 0; }
.h1 { font-weight: 300; }
h2, .h2 { font-size: var(--fs40); }
h3, .h3 {
	font-size: var(--fs32);
	font-weight: 700;
}
h4, .h4 {
	font-size: var(--fs24);
	font-weight: 400;
	line-height: 1.7em;
}
h5, .h5 {
	text-transform: uppercase;
	font-weight: 600;
	font-size: var(--fs18);
	color: var(--color-text);
	letter-spacing: 0.0625rem;
	line-height: 1.7em;
	margin-bottom: 0;
}
a.btn {
	background-color: var(--color-secondary);
	color: var(--color-black);
	text-transform: uppercase;
	font-size: var(--fs16);
	font-family: var(--font2);
    font-weight: 800;
    padding: 1.0625rem 2.5rem;
    border-radius: 1.25rem;
    letter-spacing: 0.0625rem;
	text-decoration: none;
	line-height: 1.2em;
	white-space: pre-wrap;
	transition: all .5s ease;
}
a.btn:hover, a.btn:focus {
	background-color: var(--color-tertiary);
	color: var(--color-black);
}
a:hover > img, a:hover > svg, a:focus > img, a:focus > svg { opacity: 0.8; }
blockquote {
	border: 0;
	border-bottom: 1px solid var(--color-primary);
	padding: 0 0 1.25rem;
	margin-bottom: 3.75rem;
	color: var(--color-primary);
	font-size: var(--fs26);
	font-family: var(--font2);
	font-weight: 700;
	line-height: 1.8em;
}
hr {
	border-top: 1px solid var(--color-primary);
	margin-top: 1.25rem;
    margin-bottom: 2.8125rem;
}
.bg-overlay:before { content: ''; }
.overlay, .bg-overlay:before { position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
.bg-overlay, .bg-overlay > div, header#header > section { position: relative; }
.bg { background-repeat: no-repeat; background-size: cover; }
.justify-between { flex-wrap: wrap; justify-content: space-between; }
.justify-end { flex-wrap: wrap; justify-content: flex-end; }
.justify-center { flex-wrap: wrap; justify-content: center; }
.justify-start { flex-wrap: wrap; justify-content: flex-start; }
.align-items-start { align-items: flex-start; }
.align-items-end { align-items: flex-end; }
.align-items-center { align-items: center; }
.flex-column { flex-direction: column; }
.flex-column-reverse { flex-direction: column-reverse; }
.flex-row-reverse { flex-direction: row-reverse; }
.flex-nowrap { flex-wrap: nowrap; }
.col2, .col-2 { -webkit-column-count: 2; column-count: 2; -webkit-column-gap: 5%; column-gap: 5%; }
.col3, .col-3 { -webkit-column-count: 3; column-count: 3; -webkit-column-gap: 5%; column-gap: 5%; }
.col4, .col-4 { -webkit-column-count: 4; column-count: 4; -webkit-column-gap: 5%; column-gap: 5%; }
.col5, .col-5 { -webkit-column-count: 5; column-count: 5; -webkit-column-gap: 5%; column-gap: 5%; }
.col6, .col-6 { -webkit-column-count: 6; column-count: 6; -webkit-column-gap: 1%; column-gap: 1%; }
icon svg, svg[data-use] { height: 1rem; width: 1rem; fill: inherit; stroke: inherit; }
a.skip-main { position: absolute; top: auto; width: 1px; height: 1px; overflow: hidden; z-index: 999; }
a.post-edit-link { display: inline-block; background-color: rgba(0,0,0,0.8); position: fixed; bottom: 1.25rem; left: 1.25rem; z-index: 9999; color: var(--color-default); font-size: 1.125rem; padding: 0.5rem 2.5rem; line-height: 1.4em; }
a.post-edit-link:hover { background-color: rgba(0,0,0,1); }
.bg-image.bg-overlay { position: absolute; }
.img-fit { width: 100%; height: 100%; object-fit: cover; }
.p-relative { position: relative; }
.p-absolute { position: relative; }
.d-block { display: block; }
.p-relative, section:has(> .bg-image), div:has(> .bg-image), .bg-image + div { position: relative; }
.sub { font-size: var(--fs14); font-weight: 400; text-transform: uppercase; letter-spacing: 0.375rem; line-height: 1.2em; margin-bottom: 1.875rem; }
.sub:before { content: ''; width: 0.5rem; height: 0.5rem; border-radius: 100%; background-color: var(--color-yellow); display: inline-block; margin-right: 1rem; }
.vid { position: absolute; top: 0; left: 0; object-fit: cover; width: 100%; height: 100%; }

.main-menu { flex-wrap: wrap; justify-content: center; gap: 0 2.5rem; }
.main-menu > li {
	font-weight: 800;
	font-family: var(--font1);
	font-size: var(--fs16);
	line-height: 1.2em;
	letter-spacing: 0.0125rem;
	text-transform: uppercase;
}
.main-menu > li > a {
	color: var(--color-default);
	text-decoration: none;
	display: block;
	padding: 5px 0;
	transition: all .5s ease-in-out;
}
.main-menu > li > a:after {
	content: ''; display: block; width: 100%; height: 0.125rem; background-color: var(--color-tertiary);
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0% 100%;
	transform-origin: 0% 100%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	margin-top: 0.25rem;
}
.main-menu > li > a:hover, .main-menu > li > a:focus, .main-menu > li.current-menu-item > a { color: var(--color-tertiary); }
.main-menu > li > a:hover:after, .main-menu > li > a:focus:after, .main-menu > li.current-menu-item > a:after, .main-menu > li.current-page-ancestor > a:after, .main-menu > li.current-menu-parent > a:after { -webkit-transform: scaleX(1); transform: scaleX(1); }
.main-menu ul li.current-menu-item > a,
.main-menu li.menu-item-has-children ul li a:hover, .main-menu li.menu-item-has-children ul li a:focus { background-color: var(--color-secondary); color: var(--color-black); }
.main-menu li ul li a {
	padding: 0.75rem 1.25rem 0.625rem;
	display: block;
	text-align: left;
	color: var(--color-default);
	border-bottom: 1px solid #033444;
	margin: 0;
}
.main-menu li ul li:last-child a {
	border-bottom: 0;
}
/* 3 layers */
.main-menu li ul ul {
	top: 0;
    left: 100%;
    margin-top: 0;
    width: 20.625rem;
    position: absolute;
}
.main-menu li ul.sub-menu::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 0.25rem rgba(0,0,0,0.5);
	background-color: #383b38;
}
.main-menu li ul.sub-menu::-webkit-scrollbar {
	width: 0.25rem;
	background-color: #383b38;
}
.main-menu li ul.sub-menu::-webkit-scrollbar-thumb {
	background-color: #797979;
}

/* Main Content ---------------------------------------------*/
.inner-wrap { padding: 6rem 0 5rem; }
.main-content p { margin: 0 0 1.875rem; }
.main-content ul {
	margin-left: 1.875rem;
	list-style-type: disc;
}
.main-content ul li { margin-bottom: 0.4375rem; }
.main-content ul,
.main-content ol { margin-bottom: 1.875rem; }
.main-content ul ul,
.main-content ol ol { margin-bottom: 0; }
.main-content ol { padding-left: 1rem; }
.main-content .wp-caption {
	display: table;
	margin-bottom: 1.875rem;
}
.main-content .wp-caption-text {
	display: table-caption;
	caption-side: top;
	color: #b29b55;
	font-size: 12px;
	font-style: italic;
}
.main-content .wp-caption p { margin: 0 0 1.25rem; }
.dark {color: #fff;}
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6, .dark .h1, .dark .h2, .dark .h3, .dark .h4, .dark .h5 { color: #fff; }
.dark a { color: var(--color-secondary); }
.dark a:hover, .dark a:focus { color: #fff; }
.dark a.btn { color: var(--color-black); }
.dark blockquote { border-color: var(--color-default); }
.main-content .sitecol { flex-wrap: wrap; }
.main-content .sitecol .col { width: 33.3333%; padding-right: 3%; }
.d-root { display: flow-root; padding-left: 1rem; }

/* paginate ---------------------------------------------*/
.paginate {
	padding-top: 4rem;
	color: var(--color-text);
	width: 100%;
}
.paginate ul { margin-left: 0; }
.paginate ul li, .paginate ul li a,
.paginate ul li.pleft a:before, .paginate ul li.pright a:after {
	display: flex;
	align-items: center;
	justify-content: center;
}
.paginate ul li { 
	list-style: none; 
	margin: 0 0.3125rem;
	height: 2.25rem;
	color: var(--color-black); 
	background-color: var(--color-secondary);
	font-size: var(--fs20);
	line-height: 1.2em;
	font-weight: 700;
	min-width: 2.25rem;
	height: 2.25rem;
}
.paginate ul li a { 
	width: 100%;
	height: 100%;
}
.paginate ul li.pleft, .paginate ul li.pright { 
	background-color: transparent; 
	font-size: 0; 
	min-width: unset;
	width: 1.5rem;
}
.paginate ul li.pleft a:before, .paginate ul li.pright a:after {
	content: '\f053';
	font-weight: 700; 
	font-size: var(--fs17); 
	font-family: var(--font3);
	width: 100%;
	height: 100%;
	transition: all 0.5s ease;
	color: var(--color-black);
}
.paginate ul li.pright a:after { content: '\f054'; }
.paginate ul li.pleft a:before,.paginate ul li.pright a:hover:after, .paginate ul li.pright a:focus:after {	color: var(--color-primary); }
.paginate ul li.pleft a:hover:before, .paginate ul li.pleft a:focus:before { color: var(--color-secondary); }

.slick-slider .slick-arrow:before {
	content: '\f060';
	font-family: var(--font3);
	font-weight: 700;
	opacity: 1;
	display: block;
	font-size: var(--fs17);
	color: var(--color-black);
}
.slick-slider .slick-arrow { border-radius: 1rem; width: 4.25rem; height: 4.25rem; background-color: var(--color-secondary); }
.slick-slider .slick-prev { z-index: 1; left: 0; }
.slick-slider .slick-next { right: 0; }
.slick-slider .slick-next:before { content: '\f061'; }
.slick-slider .slick-arrow:hover, .slick-slider .slick-arrow:focus { background-color: var(--color-tertiary); }
.slick-slider .slick-dots { margin-left: 0; bottom: 0; margin-bottom: 0; }
.slick-slider .slick-dots li { margin: 0 0.25rem; width: 0.5625rem; height: 0.5625rem; }
.slick-slider .slick-dots li button { width: 0.5625rem; height: 0.5625rem; }
.slick-slider .slick-dots li button:before { width: 0.5625rem; height: 0.5625rem; background-color: #D9D9D9; border: 0; font-size: 0; opacity: 1; border-radius: 100%; }
.slick-slider .slick-dots li button:hover:before, .slick-slider .slick-dots li button:focus:before, .slick-slider .slick-dots li.slick-active button:before { background-color: var(--color-secondary); opacity: 1;} 

.gform_wrapper form { text-align: left; }
.gform_wrapper .gform_heading { display: none !important; }
.gform_wrapper .gfieldlabelnone .gfield_label, .hide-text {
	position: absolute;
	left: -99999px;
	top:auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.gform_wrapper .gfield_label { font-weight: 400 !important; }
.gform_wrapper input, .gform_wrapper textarea,
.gform_wrapper select {
	border: 0.0625rem solid #ddd;
	background-color: #EFEFEF;
	color: #1D2124;
	padding: 0.875rem 1.5625rem !important;
	font-size: var(--fs18) !important;
	line-height: 1.5em;
}
.gform_wrapper .gfield textarea.small { height: 7.25rem !important; }
.gform_wrapper .gfield textarea.medium { height: 9.6875rem !important; }
.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 1.25rem !important; }
.gform_wrapper .gform_footer {
	text-align: center;
	justify-content: center;
	padding: 0 0 1.25rem !important;
}
.gform_wrapper input[type=submit] {
	border: 0;
	border-radius: 1rem;
	font-size: var(--fs16) !important;
	font-weight: 800;
	font-family: var(--font1) !important;
	line-height: 1.2em;
	text-transform: uppercase;
	letter-spacing: 0.125rem;
	color: var(--color-black);
	background-color: var(--color-secondary);
	padding: 1.3126rem 3.125rem !important;
	transition: all 0.5s ease;
}
.gform_wrapper input[type=submit]:hover, .gform_wrapper input[type=submit]:focus {
	background-color: var(--color-tertiary);
	color: var(--color-black);
}
.gform_wrapper input::-webkit-input-placeholder,
.gform_wrapper textarea::-webkit-input-placeholder,
.gform_wrapper select::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #1D2124;
}
.gform_wrapper input::-moz-placeholder,
.gform_wrapper textarea::-moz-placeholder,
.gform_wrapper select::-moz-placeholder { /* Firefox 19+ */
	color: #1D2124;
}
.gform_wrapper input:-ms-input-placeholder,
.gform_wrapper textarea:-ms-input-placeholder,
.gform_wrapper select:-ms-input-placeholder { /* IE 10+ */
	color: #1D2124;
}
.gform_wrapper input:-moz-placeholder,
.gform_wrapper textarea:-moz-placeholder,
.gform_wrapper select:-moz-placeholder { /* Firefox 18- */
	color: #1D2124;
}
.gform_confirmation_wrapper { text-align: center; }
.gform_confirmation_wrapper .gform_confirmation_message {
	background-color: var(--color-default);
    color: #000;
    font-size: var(--fs18);
    padding: 0.625rem 1.25rem;
    border: 0.125rem solid #20ab44;
    display: inline-block;
    margin-top: 1.875rem;
	line-height: 1.5em;
    font-weight: 500;
}

/* Mobile ---------------------------------------------*/
#mobile-nav {
    overflow: hidden;
    position: relative;
    z-index: 102;
    margin: 0;
}
#mobile-nav.topright {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    top: 1.5625rem;
    right: 0;
	position: absolute;
}
#mobile-nav .main-menu > li > a:after { display: none; }
#mobile-nav.topright .mean-bar {
    background-color: transparent;
	position: relative;
}
.mean-container .mean-nav ul li a {
	background-color: var(--color-primary) !important;
	border-top: 1px solid rgba(255,255,255,0.1) !important;
	font-size: var(--fs16);
	padding: 1rem 1.875rem 0.75em;
	width: 100%;
	color: var(--color-default);
}
.mean-container .mean-nav ul li li a {
    width: 100%;
	padding: 1rem 3.125rem 0.75em;
}
.mean-container .mean-nav { margin-top: 4.5rem !important; }
.mean-container a.meanmenu-reveal {
	width: 3.125rem !important;
    padding-top: 0.625rem !important;
    color: var(--color-yellow) !important;
    font-size: var(--fs32) !important;
    height: 3rem;
	margin-right: 1rem;
}
.mean-container a.meanmenu-reveal span span span { margin-top: 9px; }
.mean-container .mean-nav ul {
	max-height: 100vh;
	max-height: calc(100vh - 95px);
	width: 100%;
	overflow-y: auto;
	overflow-x: hidden;
}
.mean-container a.meanmenu-reveal span {
    background: var(--color-yellow) !important;
    width: 80% !important;
    height: 0.25rem !important;
    border-radius: 0.625rem;
    margin: 0.625rem auto 0 !important;
}
.mean-container .mean-nav ul li a.mean-expand {
	height: 1.5rem !important;
    font-size: var(--fs21) !important;
    display: flex;
    align-items: center;
    justify-content: center;
	width: 2rem !important;
	padding: 0.75rem !important;
	border: 0 !important;
}
.mean-container a.meanmenu-reveal.meanclose { display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }
.mean-container .mean-nav ul li a:hover, .mean-container .mean-nav ul li a:focus { background-color: var(--color-secondary) !important; color: #000 !important; }

/* Header ---------------------------------------------*/
header#header { position: absolute; top: 0; left: 0; right: 0; z-index: 2; }
header#header .menu-content { padding: 1.75rem 0; }
header#header .logo { width: 18%; }
header#header .nav { width: 60%; }
header#header .ph a { background-color: var(--color-secondary); color: var(--color-black); font-size: var(--fs16); font-weight: 800; line-height: 1.2em; padding: 1.3125rem 3.0625rem; display: block; border-radius: 1rem; letter-spacing: 0.125rem; text-transform: uppercase; transition: all 0.5s ease; }
header#header .ph a:hover, header#header .ph a:focus { background-color: var(--color-tertiary); }

/* Banner Section ---------------------------------------------*/
.banner-section { min-height: 31.75rem; overflow: hidden; }
.banner-section .bg-image:before { background: linear-gradient(to right, #000 0%, rgba(0,0,0,0) 100%); z-index: 1; }
.banner-section .banner, .banner-section .banner-box { position: relative; z-index: 1; }
.banner-bottom { min-height: 6.5rem; border-top: 0.0625rem solid var(--color-secondary); background-color: rgba(0,0,0,0.49); width: 100%; position: absolute; bottom: 0; z-index: 1; }
.banner-section h1, .banner-section .h1 { line-height: 1em; font-weight: 700; }
.banner-section h1 span, .banner-section .h1 span { display: block; }
.banner-section h1 span, .banner-section .h1 span, .text-gradient {
	background: linear-gradient(0deg, #C89843, #F3D14A);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
	font-weight: 700;
}

/* Footer ---------------------------------------------*/
.footer-section .fs-content { padding: 5rem 0 6rem; color: #1D2124; }
.fstop, .fslogo, .fssocial { margin-bottom: 2.5rem; }
.fstext {
	font-size: var(--fs36);
	font-weight: 400;
	line-height: 1.2em;
}
.fssocial a { 
	font-size: var(--fs24);
	margin: 0 0.75rem 0.5rem;
}
.fsmenu { margin-bottom: 3.5rem; }
.fsmenu ul { gap: 0 2.5rem; }
.fsmenu ul li {
	font-size: var(--fs16);
	font-weight: 800;
	letter-spacing: 0.125rem;
	text-transform: uppercase;
	line-height: 1.2em;
}
.fsmenu ul li a { color: var(--color-black); }
.fsmenu ul li a:hover, .fsmenu ul li a:focus, .fsmenu ul li.current-menu-item a, 
.fsbottom a:hover, .fsbottom a:focus { color: var(--color-tertiary); }
.fsnav ul li { position: relative; list-style: none; }
.fsnav ul li:before { content: ''; background-color: #1D2124; height: var(--fs14); width: 0.0625rem; display: inline-block; margin: 0 0.5rem; }
.fsbottom a { color: #1D2124; }

.form-section .h1 { font-weight: 700; line-height: 1em; }
.form-section .bg-image:before { background-image: linear-gradient(to left, #1D2124 0%, rgba(29,33,36,0) 100%); }
.form-section .form-content { padding: 5rem 0 3.125rem; }
.form-wrap { 
	max-width: 33rem;
	margin: 0 0 0 auto;
}

/* Blog ---------------------------------------------*/
.main-blog, .news-section, .award-section { background-color: #F8F8F8; }
.mcblog { gap: 0 1.25rem; margin-bottom: 2rem; }
article.blogpost {
	background-color: var(--color-default);
	max-width: 42.625rem;
	width: 100%;
	margin-bottom: 2rem;
}
article.blogpost .p-title {
	font-size: var(--fs32);
	font-family: var(--font2);
	font-weight: 700;
	color: var(--color-black);
	margin-bottom: 1.25rem;
	line-height: 1.1em;
	text-transform: none;
}
article.blogpost .p-title:after {
	content: '';
	background-color: var(--color-secondary);
	width: 7.375rem;
	height: 0.125rem;
	display: block;
	margin-top: 1.25rem;
}
article.blogpost .p-desc { padding: 2.5rem 3.125rem 1rem; }
article.blogpost .featured-image {
	height: 24.1875rem;
	width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}
article.blogpost .post-meta {
	border-bottom: 0.0625rem solid var(--color-border);
	padding: 0.75rem 0;
	min-height: 5rem;
	line-height: 1.4em;
	margin-bottom: 1.5rem;
}
article.blogpost .p-date {
	font-size: var(--fs16);
	font-weight: 500;
}
article.blogpost a { color: var(--color-text); }
article.blogpost a:hover .p-title, article.blogpost a:focus .p-title { color: var(--color-tertiary); }
article.blogpost a:hover .featured-image, article.blogpost a:focus .featured-image { opacity: 0.8; }
.featured-image.nopic { background-image: none; background-color: var(--color-primary); display: flex !important; justify-content: center; align-items: center; }
.featured-image.nopic img { width: 80%; }
article.blogpost .featured-image, article.blogpost .featured-image.nopic { display: none !important; }
.sidebar .box {
	background-color: var(--color-bg-light);
	padding: 3.125rem 2.5rem;
}
.side-blog ul { margin: 0; }
.side-blog ul li {
	list-style: none;
	margin-bottom: 1.25rem;
	line-height: 1.5em;
}
.side-blog ul li a {
	text-decoration: none;
	color: var(--color-primary);
	border-bottom: 0.0625rem solid var(--color-primary);
}
.side-blog ul li a:hover, .side-blog ul li a:focus { border-bottom: 0; }

.page-template-page-contact .form-wrap { margin-right: auto; }
.main-contact iframe { width: 100% !important; height: 28.3125rem !important; }
.contact-boxes { gap: 0 1.875rem; }
.contact-boxes .item {
	min-height: 15.625rem;
	background-color: #F8F8F8;
	padding: 3.75rem 3.75rem 1.25rem;
	min-width: 31.625rem;
	margin-bottom: 1.875rem;
}
.contact-boxes .item h3 {
	font-size: var(--fs24);
	font-weight: 700;
	line-height: 1.2em;
	margin-bottom: 1.5rem;
}

.main-faqs .container, .faq-section .faq-content { max-width: 71.875rem; margin: 0 auto; }
.mid-content { margin-bottom: 3.125rem; }  
.accordion-list .item { margin-bottom: 1.25rem; }
.accordion-list .item .item-header { 
	padding: 1rem 4rem 1rem 2.5rem;
	position: relative;
	cursor: pointer;
	background-color: #F8F8F8;
	min-height: 6.25rem;
	display: flex;
	align-items: center;
}
.accordion-list .item .item-header h3 { 
	margin-bottom: 0; 
	color: var(--color-black);
	font-size: var(--fs24);
	font-weight: 700;
	line-height: 1.2em;
}
.accordion-list .item .item-header:after {
	content: '\f078';
	font-weight: 700;
	font-size: var(--fs21);
	font-family: var(--font3);
	line-height: 1.2em;
	color: var(--color-tertiary);
	position: absolute;
	right: 2.25rem;
	top: 2rem;
	transform: rotate(0);
	transition: transform .3s ease;
}
.accordion-list .item.active .item-header:after { transform: rotate(-180deg); }
.accordion-list .item-content { 
	background-color: #F8F8F8;
	height: 0; 
	overflow: hidden; 
	transition:
        height .4s ease,
        opacity .3s ease;
	opacity: 0;
}
.accordion-list .item-content .item-content-wrap { padding: 2rem 2rem 00.5rem; }
.accordion-list .item.active .item-content { height: auto; overflow: visible; opacity: 1; }

.testimonial-list { gap: 0 1.5625rem; }
.testimonial-list .item {
	max-width: 37.3125rem;
	width: 100%;
	border: 0.0625rem solid #D7D7D7;
	margin-bottom: 1.5625rem;
	padding: 3.75rem 4rem 7rem;
	cursor: pointer;
	position: relative;
	background-color: var(--color-default);
}
.testimonial-list .item h3 { 
	line-height: 1.2em; 
	font-weight: 700;
	margin-bottom: 1.25rem;
}
.testimonial-list .item h3:before, .testimonial-list .item h3:after { content: '"'; }
.testimonial-list .item .auth {
	font-weight: 700;
	color: #282E3F;
	position: absolute;
	bottom: 3.75rem;
}
.testimonial-list .item .desc { height: 12rem; overflow: hidden; margin-bottom: 1.25rem; transition: height 0.5s ease-in-out; cursor: pointer; }
.testimonial-list .item .desc.more { height: auto; min-height: 15rem; }

.single-area .service-image { margin: 3.5rem 0; }
.single-area .mcflex .the-content h2 { font-weight: 700; }
ul.with-background-list { margin-left: 0; margin-bottom: 3.125rem; }
ul.with-background-list.col2 { column-gap: 0.75rem; }
ul.with-background-list li {
	background-color: #F8F8F8;
	padding: 1.1875rem 2rem 1.1875rem 2.75rem;
	list-style: none;
	position: relative;
	margin-bottom: 0.75rem;
}
ul.with-background-list li:before {
	content: '';
	background-color: var(--color-text);
	border-radius: 100%;
	width: 0.3125rem;
	height: 0.3125rem;
	display: block;
	position: absolute;
	left: 1.625rem;
	top: 1.9375rem;
}
.side-areas {
	background-color: #F8F8F8;
	padding: 3.25rem 3.625rem;
}
.side-areas .sub { margin-bottom: 3.25rem; }
.side-areas ul { margin: 0; }
.side-areas ul li {
	list-style: none;
	font-weight: 700;
	font-size: var(--fs24);
	line-height: 1.2em;
	margin-bottom: 2rem;
}
.side-areas ul li .icon, .area-list .item .icon {
	display: flex;
	align-items: center;
	width: 6.4375rem;
	height: 6.4375rem;
	justify-content: center;
	background-image: linear-gradient(to bottom, #F3D14A 0%, #C89843 100%);
	border-radius: 100%;
}
.side-areas ul li .icon:before, .area-list .item .icon:before {
	content: '';
	background-image: url(images/icon-shield.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 3.1875rem;
	height: 3.875rem;
	display: block;
}
.side-areas ul li span + span { width: calc(100% - 7rem); }
.side-areas ul li a { 
	color: var(--color-black); 
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 1.5rem;
}
.side-areas ul li a:hover, .side-areas ul li a:focus { color: var(--color-tertiary); }
.main-areas .mid-content { max-width: 70.5rem; margin: 0 auto 4.5rem; }
.area-list { gap: 0 2rem; }
.area-list .item {
	max-width: 31.4375rem;
	width: 100%;
	margin-bottom: 2.5rem;
	background-color: var(--color-default);
}
.area-list .item h3 {
	margin-bottom: 0;
	font-size: var(--fs24);
	font-weight: 700;
	line-height: 1.2em;
	color: var(--color-black);
	padding: 0 1rem;
}
.area-list .item a {
	padding-bottom: 3rem;
    display: block;
}
.area-list .item a:hover .img > img, .area-list .item a:focus .img > img { opacity: 0.7; }
.area-list .item .img, .award-header { margin-bottom: 5rem; }
.area-list .item .icon {
	bottom: -3.25rem;
	top: unset;
	margin: 0 auto;
}

.main-about .mid-content { max-width: 68rem; margin: 0 auto 4.5rem; }
.mcabout-row { background-color: #F8F8F8; margin-bottom: 5rem; }
.mcabout-row .desc { padding: 5rem 2.5rem 3rem; }
.mcabout-row .desc .desc-wrap { max-width: 30.25rem; margin: 0 auto; }
.what-section .bg-image:before, .area-section .bg-image:before { background-color: rgba(0,0,0,0.75); }
.what-section { 
	min-height: 39.3125rem;
	display: flex;
	align-items: center;
}
.att-row .att-details .info-row {
	background-color: #F8F8F8;
	padding: 2.5rem;
}
.att-row .att-details .info-row h3 { margin-bottom: 0.5rem; }
.att-row .att-details .info-row .pos {
	text-transform: uppercase;
	color: var(--color-tertiary);
	letter-spacing: 0.3125rem;
	font-weight: 600;
	line-height: 1.4em;
	font-size: var(--fs18);
}
.att-row .att-details .info-row .att-link i { 
	font-size: var(--fs32); 
	color: var(--color-black); 
}
.att-row .att-details .info-row .att-link a {
	margin-top: 0.3125rem;
    display: inline-block;
}
.award-row .desc { padding-top: 2.5rem; }

/* Frontpage ---------------------------------------------*/
.home .banner-section .banner { padding: 17rem 0 2rem; }
.banner-text { margin-bottom: 4rem; }
.banner-text h1 span { font-weight: 800; }
.banner-section .banner-box { 
	background-color: rgba(0,0,0,0.56); 
	max-width: 23.4375rem;
	padding: 1.25rem 1.5rem 1.25rem 2.5rem;
	text-align: left;
	border-left: 0.625rem solid var(--color-secondary);
	margin-bottom: 9.5rem;
	margin-left: auto;
}
.banner-section .banner-box h2 { 
	font-size: var(--fs16);
	text-transform: uppercase;
	font-family: var(--font1);
	margin-bottom: 0;
	letter-spacing: 0.1875rem;
	line-height: 1.5em;
}
.banner-section .banner-box .sub { margin-bottom: 0.625rem; font-size: var(--fs14); }
.banner-bottom .item.sub { 
	font-size: var(--fs14); 
	margin-bottom: 0; 
	text-align: left;
	font-weight: 700;
	letter-spacing: 0.1875rem;
}
.banner-bottom .banner-marquee .slick-list { width: 110%; }
.banner-bottom .banner-marquee .slick-track { display: flex; gap: 0px 2.25rem; }

.about-section { padding-bottom: 6rem; }
.about-row .about-top, .about-row .about-bottom { padding-top: 6rem; }
.about-row .about-top h2 { line-height: 1em;}
.about-row .about-bottom { text-align: right; }
.about-section .about-images .img { max-width: 29.5625rem; }

.area-section .bg-image { height: 39.3125rem; }
.area-section .area-header { margin-bottom: 5rem; }
.area-section .area-list .item { margin-bottom: 0; }
.area-section .area-list .item .img { margin-bottom: 4rem; }

.faq-section { background-color: var(--color-black); }
.faq-section .bg-image img { object-position: top; }
.faq-section .accordion-list, .faq-header { margin-bottom: 3.125rem; }

.testimonial-section { background-color: #F8EBC9; }
.testimonial-section .ts-header, .testimonial-section .ts-header .button, .news-list { margin-bottom: 2rem; }
.testimonial-section .testimonial-list .item { max-width: unset; }

.news-section .news-content { padding: 6rem 0; }
.news-section .news-header, .main-blog .blog-header { margin-bottom: 4rem; }


/* Media ---------------------------------------------*/
@media ( min-width: 1960px ) {
	html { font-size:16px; }
}
@media (min-width: 992px) {
	.hideDesktop { display: none !important; }
	.main-menu li ul {
		z-index: 1000;
		padding: 0;
		position: absolute;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
		opacity: 0;
		visibility: hidden;
		webkit-transition: opacity .05s 0s ease-in-out;
		-ms-transition: opacity .05s 0s ease-in-out;
		-o-transition: opacity .05s 0s ease-in-out;
		transition: opacity .05s 0s ease-in-out;
		-webkit-transition: 350ms;
		-moz-transition: 350ms;
		-o-transition: 350ms;
		transition: 350ms;
		margin-top: 5px;
	}
	.main-menu li ul li {
		background-color: var(--color-primary);
		display: block;
		border: none;
		margin: 0;
		padding: 0;
		line-height: 1.5em;
		-webkit-transition: height 200ms ease-in-out;
		-moz-transition: height 200ms ease-in-out;
		-o-transition: height 200ms ease-in-out;
		transition: height 200ms ease-in-out;
		position: relative;
	}
	.main-menu li:hover > ul {
		opacity: 1;
		visibility: visible;
	}
	.main-menu li:hover ul li {height: auto;}
	
	.flex,
	.flex-container {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
	}
	
	.container-large { max-width: 108.625rem; width: 95%; }
	.footer-section .container, .form-section .container { max-width: 90.125rem; }
	.fslogo-wrap { order: 2; }
	.fshours { order: 3; text-align: right; }
	.fslogo { max-width: 22.5rem; margin: 0 auto 2rem; }
	.form-wrap .gform_wrapper { max-width: 29rem; margin: 0 auto; }
	.mcflex .the-content { width: 61.7%; }
	.mcflex .sidebar { width: 31.6%; }
	.side-areas, .side-blog { position: sticky; top: 0; }
	.mcabout-row > div { width: 50%; }
	.what-section .container { max-width: 60rem; }
	.what-section .h1 span { display: block; }
	.att-section .att-row .att-bio { width: 45%; }
	.att-section .att-row .att-details { width: 42.1%; margin-right: 5rem; }
	.att-row .att-details .info-row .att-link { text-align: right; }
	.award-section .container { max-width: 86.8125rem; }
	.award-row .img { width: 39.6%; }
	.award-row .desc { width: 51.3%; }
	.testimonial-section .container { max-width: 114.4375rem; width: 97%; }
	.testimonial-section .ts-header { max-width: 108.375rem; margin: 0 auto 2rem; }
	.testimonial-section .testimonial-row .ts-slider { width: 66.7%; }
	.testimonial-section .testimonial-row .img { width: 32.6%; height: 32.375rem; }
	.testimonial-list .slick-track { display: flex; gap: 0 1.25rem; }
	.testimonial-list .slick-track:before, .testimonial-list .slick-track:after { display: none; }
	.testimonial-section .testimonial-list .item { min-height: 32.375rem; }
	.faq-section .bg-image { max-width: 43.125rem; }
	.faq-section { min-height: 59.6875rem; }
	.faq-section .container { max-width: 90rem; width: 95%; }
	.faq-section .faq-content { margin-right: 0; }
	.area-section .area-list .item .img { height: 20.9375rem; }
	.about-row .about-top, .about-row .about-bottom { width: 27.2%; }
	.about-row .about-mid { width: 32.4%; background-color: #F8F8F8; padding: 7rem 4.6875rem 3.125rem; }
	.about-section .about-images { position: absolute; bottom: 0; height: 26.5rem; width: 100%; }
	.about-section .about-images .img:last-child { position: absolute; right: 0; }
	.banner-text { max-width: 43.125rem; text-align: left; }
	.banner-text h1 span { display: inline-block; }
	.news-section .news-content { max-width: 86.5rem; margin: 0 auto; }
	.news-list {
		display: grid;
		grid-column-gap: 1.25rem;
		grid-template-columns: repeat(auto-fill, minmax(42.625rem, 1fr));
	}
	.news-list .blogpost { min-height: 24.1875rem; }
	.news-list .blogpost:nth-child(2) { grid-column: 2; grid-row: 1 / 3; }
	.news-list .blogpost:nth-child(2) .featured-image { display: block !important; }
	.news-list .blogpost:nth-child(2) .featured-image.nopic { display: flex !important; }
}
@media (min-width: 461px) {
	.area-section .area-list .slick-track { display: flex; gap: 0 1.25rem; }
	.area-section .area-list .slick-track:before, .area-section .area-list .slick-track:after { display: none; }
}


@media (max-width: 991px) {
	html { font-size: 3vw; }
	.hideMobile { display: none; }
	.main-content .sitecol .col { width: 100%; padding-right: 0; }
	.main-menu li .sub-menu { position: static; }
	.main-menu li ul ul { width: 100%; position: relative; }
	.col2 { column-count: 1; -webkit-column-count: 1; }
	.alignright, .alignleft { margin: 0 auto 1.875rem; float: none; display: block; }
	.flex-mobile { display: flex; }
	
	.footer-section, .att-row .att-details .info-row, .testimonial-section .ts-header, .about-section, .about-row .about-bottom { text-align: center; }
	.slick-slider .slick-arrow { bottom: -7rem; top: unset; }
	.slick-slider { margin-bottom: 4rem; }
	.slick-slider .slick-prev { left: calc(50% - 4.625rem); }
	.slick-slider .slick-next { right: calc(50% - 4.625rem); }
	.fsnav ul li:first-child:before { display: none; }
	.fslogo-wrap, .fsloc { margin-bottom: 2.5rem; }
	.fsnav ul { justify-content: center; }
	.fsmenu ul li { margin-bottom: 1rem; }
	.att-section .att-row .att-details { margin-bottom: 2rem; }
	.testimonial-section .ts-content { position: relative; padding-bottom: 10rem; }
	.testimonial-section .ts-header .button {
		position: absolute;
		right: 0;
		left: 0;
		bottom: 1rem;
	}
	.faq-section .bg-image { position: relative; height: 30.1875rem; }
	.area-section .area-list .item .img { height: 15.5625rem; }
	.about-section .about-images { gap: 0 1rem; justify-content: center; }
	.about-row .about-top { padding-bottom: 3.125rem; }
	.about-row .about-bottom { padding-top: 2rem; }
	.banner-bottom .banner-marquee { margin-bottom: 0; }
	.banner-section .bg-image:before { background-image: linear-gradient(20deg, #000 0%, rgba(0,0,0,0.56) 71%, rgba(0,0,0,0) 100%); }
	.news-list .blogpost:not(:first-child) { display: none; }
	article.blogpost .p-desc { padding: 2.5rem 2.5rem 1rem; }
	
	header#header .logo { width: 55%; position: relative; }
	header#header .ph, header#header .logo { z-index: 99999;  } 
	header#header .ph { position: absolute; right: 5.5rem; top: 2rem; }
	header#header .ph a { 
		font-size: 0; 
		padding: 0;
        width: 3.3125rem;
        height: 3.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
		border-radius: 1rem;
		letter-spacing: unset;
	}
	header#header .ph i { font-size: var(--fs16); }
	
	
	:root {
		--fs96: 3.4375rem;
		--fs64: 2.9375rem;
	}
}