/*

Theme Name: LFS - The Key Law Firm

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 --

*/

@import url('https://use.typekit.net/gap6vxe.css');






:root {
	
	--font1: 'area-variable', sans-serif;
	--font2: 'the-seasons', sans-serif;
	--font3: 'Font Awesome 5 Free';
	--color-primary: #222;
	--color-secondary: #d8cbb3;
	--color-tertiary: #464139;
	--color-text: #222;
	--color-bg-light: #FBFBFB;
	--color-black: #000;
	--color-default: #fff;
	
	--fs96: 6rem;
	--fs90: 5.625rem;
	--fs80: 5rem;
	--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;
	--fs43: 2.6875rem;
	--fs42: 2.625rem;
	--fs40: 2.5rem;
	--fs38: 2.375rem;
	--fs36: 2.25rem;
	--fs35: 2.1875rem;
	--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-full {
    max-width: 93.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: 400;
	font-family: var(--font2);
	color: var(--color-black);
	text-transform: none;
	line-height: 1.2em;
	margin-bottom: 1.875rem;
}
.h1, .h2, .h3, .h4, .h5 { margin-top: 0; }
h2, .h2 { font-size: var(--fs64); }
h3, .h3 {
	font-size: var(--fs32);
	font-weight: 400;
}
h4, .h4 {
	font-size: var(--fs24);
	font-weight: 400;
	line-height: 1.7em;
}
h5, .h5, .sub-heading {
	text-transform: uppercase;
	font-weight: 600;
	font-family: var(--font1);
	font-size: var(--fs15);
	color: var(--color-text);
	letter-spacing: 0.25rem;
	line-height: 1.7em;
	margin-bottom: 0.5rem;
}
.sub-heading { display: flex; align-items: center; }
.sub-heading:before { content: ''; height: 0.1875rem; background-color: var(--color-secondary); width: 2.6875rem; display: inline-block; margin-right: 1.5rem; }
a.btn, a.btn-secondary {
	background-color: var(--color-primary); 
	color: #F6F4F2;
	text-transform: capitalize;
	font-size: var(--fs20);
	font-family: var(--font1);
    font-weight: 700;
    padding: 1.3125rem 3.1875rem 1.25rem;
	border: 1.5px solid var(--color-secondary);
    border-radius: 0;
    letter-spacing: 0;
	text-decoration: none;
	line-height: 1.2em;
	white-space: pre-wrap;
	transition: all .5s ease-in-out;
}
a.btn:hover, a.btn:focus, a.btn-secondary {
	background-color: var(--color-secondary);
	color: var(--color-primary);
}
a.btn-secondary:hover, a.btn-secondary:focus { background-color: var(--color-primary); color: #F6F4F2; }
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; }
.flex-between { flex-wrap: wrap; justify-content: space-between; }
.flex-end { flex-wrap: wrap; justify-content: flex-end; }
.flex-center { flex-wrap: wrap; justify-content: center; }
.flex-start { flex-wrap: wrap; justify-content: flex-start; }
.flex-alend { align-items: flex-end; }
.flex-alcenter { align-items: center; }
.flex-alstart { align-items: flex-start; }
.col2 { -webkit-column-count: 2; column-count: 2; -webkit-column-gap: 5%; column-gap: 5%; }
icon svg, svg[data-use] {
	height: 1em;
    width: 1em;
    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; }





/* Header ---------------------------------------------*/
header#header { position: relative; }
header#header .menu-header-section { z-index: 3; }
header#header .bg-image:before { background: linear-gradient(to bottom, #222 0%, rgba(34,34,34,0.77) 55%, rgba(34,34,34,0) 100%); }
header#header .menu-content { padding: 2.5rem 0 1rem; }
header#header .logo { width: 30%; }
header#header .nav { width: 47%; }
header#header .ph a { font-size: var(--fs20); font-weight: 700; line-height: 1.2em; display: flex; align-items: center; border: 1.5px solid var(--color-secondary); color: var(--color-default); padding: 1.125rem 2.25rem 1rem; }
header#header .ph svg { margin-right: 1.25rem; transition: all 0.3s ease-in-out; width: 1.125rem; height: 1.125rem; }
header#header .ph a:hover, header#header .ph a:focus { background-color: var(--color-secondary); color: var(--color-primary); }  
header#header .ph a:hover svg path, header#header .ph a:focus svg path { fill: var(--color-primary); }



.main-menu { flex-wrap: wrap; justify-content: space-between; }
.main-menu > li {
	font-weight: 400;
	font-family: var(--font1);
	font-size: var(--fs15);
	line-height: 1.2em;
	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-default);
	-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:after, .main-menu > li > a:focus: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);
}

.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: -1px;
    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;
}


/* Banner Section ---------------------------------------------*/
.banner-section { min-height: 15.625rem; }
.banner-section .banner { padding: 5rem 0; }



/* Main Content ---------------------------------------------*/
.inner-wrap { padding: 6rem 0 5rem; }
.main-content p { margin: 0 0 1.875rem; }
.main-content ul {
	margin-left: 1.25rem;
	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, .dark .sub-heading {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:not(.btn) { color: var(--color-secondary); }
.dark a:hover, .dark a:focus { color: #fff; }
.main-content .sitecol { flex-wrap: wrap; }
.main-content .sitecol .col { width: 33.3333%; padding-right: 3%; }
ul.check-list { margin-left: 0; }
ul.check-list > li > h3 { font-size: var(--fs34); font-weight: 500; text-transform: none; margin-bottom: 0.75rem; }
ul.check-list > li { margin-bottom: 0.5rem; position: relative; list-style: none; padding-left: 2.625rem; }
ul.check-list > li:before { content: '\f14a'; font-family: var(--font3); font-weight: 700; font-size: var(--fs20); color: var(--color-secondary); position: absolute; left: 0; top: 0; }




/* paginate ---------------------------------------------*/
.paginate {
	padding-top: 4rem;
	text-align: center;
	color: var(--color-text);
	display: flex;
	align-items: center;
	justify-content: center;
}
.paginate ul { margin-left: 0; display: flex; align-items: center; justify-content: center; }
.paginate ul li { list-style: none; margin: 0 0.3125rem;
	color: var(--color-text); }
.paginate ul li.pleft a, .paginate ul li.pright a {
	position: relative;
	background-color: var(--color-primary);
	color: var(--color-default);
	width: 2.8125rem;
	height: 2.8125rem;
	border-radius: 100%;
	font-size: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.paginate ul li.pleft a:before, .paginate ul li.pright a:before { content: '\f060'; font-weight: 700; font-size: var(--fs17); font-family: var(--font3); }
.paginate ul li.pright a:before { content: '\f061'; }
.paginate ul li.pleft a,.paginate ul li.pright a:hover, .paginate ul li.pright a:focus, .paginate .current {
	background-color: #F2F3F5;
	color: var(--color-text);
}
.paginate ul li.pleft a:hover, .paginate ul li.pleft a:focus {
	background-color: var(--color-primary);
	color: var(--color-default);
}








/* Blog ---------------------------------------------*/
.mcblog { padding-top: 1.25rem; column-gap: 1.5rem; }
article.blogpost {
	width: 100%;
	max-width: 35.125rem;
	background-color: var(--color-bg-light);
	border-radius: 1.5625rem;
	line-height: 1.5em;
	font-size: var(--fs16);
	text-align: left;
	margin-bottom: 1.5rem;
}
article.blogpost a { color: var(--color-text); text-decoration: none; }
article.blogpost .ptitle {
	font-size: var(--fs18);
	font-weight: 700;
	margin-bottom: 1rem;
	line-height: 1.3em;
	text-transform: capitalize;
	letter-spacing: 0;
}
article.blogpost .featured-image, .single-blog .featured-image {
	height: 18.125rem;
	width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
	border-top-left-radius: 1.5625rem;
	border-top-right-radius: 1.5625rem;
}
article.blogpost a:hover .ptitle, article.blogpost a:focus .ptitle { color: var(--color-secondary); text-decoration-line: underline; text-underline-offset: 3px; }
article.blogpost a:hover .featured-image, article.blogpost a:focus .featured-image { opacity: 0.8; }
article.blogpost .mcblogdesc { padding: 2rem 5rem 1rem 3.125rem; }
.pdate {
	font-size: var(--fs16);
	line-height: 1.5em;
	font-weight: 500;
	margin-bottom: 0.625rem;
}
.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: 40%; }


.single-blog .featured-image { border-radius: 1.5625rem; margin-bottom: 2.5rem; height: 24rem; }
.sidebar .box {
	background-color: var(--color-bg-light);
	padding: 3.125rem 4.75rem 3.125rem 3.5rem;
	border-radius: 1.5625rem;
}
.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; }




/* Testimonials ---------------------------------------------*/
.mctestimonials { column-gap: 2rem; }
.mctestimonials .item { background-color: var(--color-default); font-size: var(--fs18); font-weight: 400; line-height: 1.5em; padding: 3rem 3.3125rem; max-width: 29.6875rem; width: 100%; margin-bottom: 2rem; backdrop-filter: blur(44.3px); -webkit-backdrop-filter: blur(10px); }
.mctestimonials .item p:first-of-type:before, .mctestimonials .item p:last-of-type:after { content: '"'; }
.mctestimonials .item .rate { margin-bottom: 1.25rem; }
.mctestimonials .item .rate svg { width: 1.125rem; height: 1.175rem; margin-right: 0.9375rem; }
.mctestimonials .item .auth strong { display: block; }


.slick-slider .slick-arrow:before, .mcareas-sub .tab-pane ul li .box:after { content: '\f060'; font-family: var(--font3); font-weight: 700; opacity: 1; display: block; font-size: var(--fs14); color: var(--color-primary); }
.slick-slider .slick-arrow { border: 1px solid var(--color-secondary); border-radius: 100%; width: 2.4375rem; height: 2.4375rem; background-color: var(--color-secondary); transition: all 0.3s ease-in-out; }
.slick-slider .slick-prev { z-index: 1; left: 0; }
.slick-slider .slick-next { right: 0; }
.slick-slider .slick-next:before, .mcareas-sub .tab-pane ul li .box:after { content: '\f061'; }
.slick-slider .slick-prev, .slick-slider .slick-arrow:hover, .slick-slider .slick-arrow:focus, .slick-slider .slick-disabled { background-color: transparent; border-color: var(--color-default); }
.slick-slider .slick-prev:before, .slick-slider .slick-arrow:hover:before, .slick-slider .slick-arrow:focus:before, .slick-slider .slick-arrow.slick-disabled:before { opacity: 1; color: var(--color-secondary); }
.slick-slider .slick-prev:hover, .slick-slider .slick-prev:focus { background-color: var(--color-secondary); border-color: var(--color-secondary); }
.slick-slider .slick-prev:hover:before, .slick-slider .slick-prev:focus:before { color: var(--color-primary); }



/* Frontpage ---------------------------------------------*/
body.home header#header .bg-image:after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 100%); z-index: 1; }
body.home header#header .bg-image:before { z-index: 2; }
body.home .banner-section { z-index: 2; }
body.home .banner-section .banner { padding-bottom: 24rem; }  
.banner-text { max-width: 50rem; margin: 0 auto; }
.banner-text h1 em { color: var(--color-secondary); }
.banner-text p { margin-bottom: 2rem; }
#vid {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.att-section, .att-section .container, .att-section .att-content, .about-section, .testimonial-section, .testimonial-section .container, .mcareas .item .desc .desc-wrap { position: relative; }
.att-section { margin-top: -14rem; z-index: 1; }
.att-section .bg-image:before { background-color: rgba(70,65,57,0.9); }
.att-section .att-content { border: 1px solid var(--color-default); }
.att-flex .att-desc { padding: 4rem 0 3rem 4.75rem; }
.att-flex .att-img { position: relative; }
.att-flex .att-img .img { height: 100%; }
.att-flex .att-img .att-box { font-size: var(--fs16); font-weight: 400; line-height: 1.4em; text-transform: uppercase; text-align: center; position: absolute; bottom: 3rem; left: 0; right: 0; margin: 0 auto; }
.att-flex .att-img .att-box .wrap { background-color: var(--color-tertiary); padding: 1.625rem 3.8125rem 1.5rem; display: inline-block; }
.att-flex .att-img .att-box h2 { font-size: var(--fs43); font-weight: 400; margin-bottom: 0.75rem; }
.att-bio .bio-content { padding: 5rem 0 0; }

.area-section .as-content { padding: 5rem 0; }
.area-section .as-header, .testimonial-section .ts-header { margin-bottom: 1rem; }
.mcareas ul, .mcareas-sub .tab-pane ul { margin: 0; }
.mcareas ul li { list-style: none; margin-bottom: 0; float: none; }
.mcareas .item { position: relative; margin-bottom: 2.75rem; }
.mcareas .item h2 { font-size: var(--fs35); font-weight: 700; font-family: var(--font1); line-height: 1.2em; margin-bottom: 1rem; }
.mcareas .item .img { z-index: -1; }
.mcareas .item .desc { padding: 1.5rem 2.75rem; background-color: var(--color-default); display: flex; align-items: center; transition: all 0.5s ease-in-out; border: 1px solid var(--color-primary); min-height: 19.6875rem; }
.mcareas .item .desc:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(250deg, rgba(193, 154, 91, 0) 8%, #C19A5B 100%); opacity: 0.8; display: none; }
.mcareas .item .desc p { margin-bottom: 0; }
.mcareas .item .icon { margin-bottom: 1.75rem; }
.mcareas .item .icon img { height: 5.5rem; filter: none; transition: filter 0.5s ease-in-out; }
.mcareas ul li.active .item .desc, .mcareas ul li:hover .item .desc, .mcareas ul li:focus .item .desc { background-color: rgba(216,203,179,0.8); border-color: var(--color-default); }
.mcareas ul li.active .item .icon img, .mcareas ul li:hover .item .icon img, .mcareas ul li:focus .item .icon img { filter: brightness(0) saturate(100%) invert(13%) sepia(3%) saturate(0%) hue-rotate(0deg); }
.mcareas ul li.active .item .desc:before, .mcareas ul li:hover .item .desc:before, .mcareas ul li:focus .item .desc:before { display: block; }
.mcareas-sub { background-color: var(--color-primary); padding: 4rem 5rem; }
.mcareas-sub .tab-pane ul li { list-style: none; margin-bottom: 0; font-size: var(--fs16); line-height: 1.6em; }
.mcareas-sub .tab-pane ul li .box { border: 1px solid var(--color-secondary); display: block; font-weight: 700; font-size: var(--fs18); line-height: 1.2em; color: var(--color-default); min-height: 4.1875rem; display: flex; align-items: center; padding: 1rem 5rem 1rem 1.875rem; margin-bottom: 1rem; position: relative; }
.mcareas-sub .tab-pane ul li .box:after { border: 1px solid var(--color-default); border-radius: 100%; width: 2.4375rem; height: 2.4375rem; display: flex; align-items: center; justify-content: center; color: var(--color-secondary); position: absolute; right: 1.875rem; }
.mcareas-sub .tab-pane ul li p { margin-bottom: 1.25rem; }
.mcareas-sub .tab-pane { display: none; }
.mcareas-sub .tab-pane.active { display: block; }

.about-section, .contact-top { background-color: var(--color-tertiary); }
.about-section .about-content, .testimonial-section .ts-content { padding: 5rem 0; }

.testimonial-section .bg-image { z-index: -2; }
.testimonial-section .bg-image:before { background-color: rgba(0,0,0,0.2); }
.testimonial-list .item { max-width: unset; margin-bottom: 0; }
.testimonial-list .slick-arrow { top: unset; bottom: -6.5rem; }
.testimonial-list .slick-prev { left: calc(100% - 5.5rem); } 
.progress { display: block; width: calc(100% - 7rem); height: 0.1875rem; border-radius: 0.625rem; overflow: hidden; margin: 4rem 0 3.125rem; position: relative; box-shadow: none; background-color: transparent; background-image: linear-gradient(to right, #d8cbb3, #d8cbb3); background-repeat: no-repeat; background-size: 33% 100%; transition: background-size .4s ease-in-out; }
.progress .sr-only { position: relative; height: 0.1875rem; width: 100%; background-color: #fff; display: block; margin-top: 0; z-index: -1; }




/* Contact ---------------------------------------------*/
.contact-top .cs-top { min-height: 14rem; }
.contact-top .cs-top > div { padding: 3rem 0 2.5rem; display: flex; align-items: center; flex-wrap: wrap; }
.contact-top .cs-top .cstop-left { background-color: var(--color-primary); }
ul.contact-cols { margin: 0; }
ul.contact-cols li { list-style: none; font-weight: 700; line-height: 1.2em; display: flex; align-items: center; }
ul.contact-cols li .h4 { font-family: var(--font2); font-weight: 400; font-size: var(--fs35); color: var(--color-secondary); margin-bottom: 0; margin-right: 1.25rem; }
ul.contact-cols li:not(:last-child) a { color: var(--color-default); }
ul.contact-cols li a:hover, ul.contact-cols li a:focus { color: var(--color-secondary); }
ul.contact-cols li i { font-size: 4rem; }
ul.contact-cols li:last-child a { margin: 0 0.375rem; }
.contact-form { background-color: var(--color-bg-light); }
.contact-form .cs-form { padding: 5rem 0 4rem; }


.gform_wrapper { padding-top: 1.25rem; }
.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: 600 !important; margin-bottom: 0.625rem !important; }
.gform_wrapper input, .gform_wrapper textarea, .gform_wrapper select {
	border: 0;
	background-color: var(--color-default);
	color: var(--color-text);
	padding: 1.5rem 1.5625rem 1.4375rem !important;
	font-size: var(--fs16) !important;
	line-height: 1.5em;
	box-shadow: 0 0.25rem 15.625rem rgba(158,158,158,0.25);
}
.gform_wrapper .gfield textarea.small { height: 6.25rem !important; }
.gform_wrapper .gfield textarea.medium { height: 13rem !important; }
.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 0.875rem !important; grid-column-gap: 1.875rem !important; }
.gform_wrapper .gform_footer {
	text-align: right;
	justify-content: flex-end;
	padding: 1rem 0 1.25rem !important;
}
.gform_wrapper input[type=submit] {
	border: 1.5px solid var(--color-secondary);
	border-radius: 0;
	font-size: var(--fs20) !important;
	font-weight: 700;
	font-family: var(--font1) !important;
	line-height: 1.2em;
	text-transform: none;
	letter-spacing: 0;
	color: #F6F4F2;
	background-color: var(--color-primary);
	padding: 1.3125rem 3.25rem 1.25rem !important;
	transition: all 0.3s ease-in-out;
}
.gform_wrapper input[type=submit]:hover, .gform_wrapper input[type=submit]:focus {
	background-color: var(--color-secondary);
	color: var(--color-primary);
}
.gform_wrapper input::-webkit-input-placeholder, .gform_wrapper textarea::-webkit-input-placeholder,
.gform_wrapper select::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #73888C;
}
.gform_wrapper input::-moz-placeholder, .gform_wrapper textarea::-moz-placeholder,
.gform_wrapper select::-moz-placeholder { /* Firefox 19+ */
	color: #73888C;
}
.gform_wrapper input:-ms-input-placeholder, .gform_wrapper textarea:-ms-input-placeholder,
.gform_wrapper select:-ms-input-placeholder { /* IE 10+ */
	color: #73888C;
}
.gform_wrapper input:-moz-placeholder, .gform_wrapper textarea:-moz-placeholder,
.gform_wrapper select:-moz-placeholder { /* Firefox 18- */
	color: #73888C;
}
.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;
}







/* Footer ---------------------------------------------*/
.footer-section { background-color: var(--color-primary); }
.footer-top { padding: 5rem 0 4rem; }
.footer-top .h4 { font-family: var(--font1); font-weight: 700; font-size: var(--fs24); line-height: 1.2em; margin-bottom: 1rem; color: var(--color-default); letter-spacing: 0; text-transform: capitalize; }
.footer-top p { margin-bottom: 1rem; }
.fssocial a { width: 3.5rem; height: 3.5rem; border-radius: 100%; border: 1px solid var(--color-default); display: flex; align-items: center; justify-content: center; font-size: var(--fs24); line-height: 1.2em; margin: 0 0.25rem; }
.fssocial a:hover, .fssocial a:focus { background-color: var(--color-default); color: var(--color-secondary); }
.footer-bottom {  font-size: var(--fs16); line-height: 1.5em; border-top: 0.5px solid rgba(255,255,255,0.2); }
.footer-bottom a, .fsreach a.ph, .footer-bottom a:hover, .footer-bottom a:focus { color: var(--color-default) !important; }
.fsreach a.ph:hover, .fsreach a.ph:focus { text-decoration-line: underline; text-underline-offset: 2px; }
.footer-bottom .fsbottom { padding: 2.75rem 0 3rem; }
.fscopy { margin-right: 0.625rem; }
.designby img { margin-left: 0.625rem; }
.fsnav ul li { position: relative; list-style: none; }
.fsnav ul li:before { content: ''; background-color: #fff; height: var(--fs12); width: 0.0625rem; display: inline-block; margin: 0 0.75rem; }
.fsnav ul li:first-child:before { display: none; }










/* Mobile ---------------------------------------------*/
#mobile-nav {
    overflow: hidden;
    position: relative;
    z-index: 102;
    margin: 0;
}
#mobile-nav.topright {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    top: 2.5rem;
    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%;
	font-weight: 700;
}
.mean-container .mean-nav ul li li a {
    width: 100%;
	padding: 1rem 3.125rem 0.75em;
}
.mean-container .mean-nav { margin-top: 6.5rem !important; }
.mean-container a.meanmenu-reveal {
	width: 3.125rem !important;
    padding-top: 0.625rem !important;
    color: var(--color-default) !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-default) !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: var(--color-primary) !important; }









/* 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;}
	.main-menu > li:first-child { display: none; }
	
	.flex,
	.flex-container {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
	}
	
	.fslogo { width: 30%; }
	.fscontact { width: 43.1%; }
	.fssocial a:first-child { margin-left: 0; }
	.csform-flex .csform-left { width: 34.2%; }
	.csform-flex .csform-right { width: 57.9%; }
	.contact-top .cs-top .cstop-left { width: 39.2%; justify-content: center; }
	.contact-top .cs-top .cstop-right { width: 60.8%; padding-left: 2.5rem; }
	.contact-top .cs-top .cstop-right .wrap { max-width: 57.1875rem; width: 90%; }
	ul.contact-cols { display: flex; align-items: center; flex-wrap: wrap; }
	ul.contact-cols li:before { content: ''; height: 7.75rem; width: 0.1875rem; background-color: var(--color-secondary); margin: 0 1.5rem; opacity: 0.1; }
	ul.contact-cols li:first-child:before { display: none; }
	.testimonial-section .ts-header .ts-title { width: 28%; }
	.testimonial-list .slick-track { display: flex; column-gap: 2rem; }
	.testimonial-list .slick-track:before, .testimonial-list .slick-track:after { display: none; }
	.testimonial-list .item { height: initial; }
	.about-section .img { position: absolute; left: 0; top: -17rem; bottom: 0; max-width: 60.6875rem; width: 100%; }
	.about-section .about-flex .desc { width: 44.8%; margin-left: auto; }
	.area-section .as-header .as-title { width: 38%; }
	.mcarea-cols .mcareas { width: 42%; margin-bottom: 4.5rem; }
	.mcarea-cols .mcareas-sub { width: 54.6%; }
	.mcareas ul li:last-child .item { margin-bottom: 0; } 
	.att-flex .att-desc { width: 53%; }
	.att-flex .att-img { width: 47%; z-index: 1; }
	.att-flex .att-img { margin-top: -5.5rem; }
	.mcflex .the-content { width: 44.3%; }
	.mcflex .sidebar { width: 46.5%; }
}




@media (max-width: 1099px) {
	header#header .menu-fixed-section { display: none !important; }
}

@media (max-width: 991px) {
	html { font-size: 3vw; }
	.hideMobile, header#header .ph { 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; }
	
	
	.footer-section { text-align: center; }
	.slick-slider .slick-arrow { bottom: -6rem; top: unset; }
	.slick-slider { margin-bottom: 7rem; }
	.slick-slider .slick-prev { left: calc(50% - 2.625rem); }
	.slick-slider .slick-next { right: calc(50% - 2.625rem); }
	.fsnav ul, .fssocial { display: flex; justify-content: center; }
	.fslogo, .fscontact > div:not(:last-child) { margin-bottom: 2.5rem; }
	.fsbottom > div:not(:last-child) { margin-bottom: 1rem; }
	.gform_wrapper .gform_footer { text-align: center; justify-content: center; }
	.contact-top .cs-top > div { padding-left: 5%; padding-right: 5%; justify-content: center; }
	ul.contact-cols li { justify-content: center; }
	.progress { width: 100%; }
	.testimonial-section .ts-content { position: relative; padding-bottom: 9rem; }
	.testimonial-section .ts-header .button { position: absolute; bottom: 4rem; text-align: center; width: 100%; }
	.about-section .img, .about-section .about-content { position: relative; top: -10rem; }
	.area-section .as-content { padding-bottom: 15rem; }
	.mcareas-sub { padding: 2.5rem 2rem; }
	.mcareas .item .desc { padding: 1.5rem 2rem; min-height: unset; }
	.mcareas .item .icon img { height: 4rem; }
	.mcareas .item h2 { font-size: var(--fs24); }
	.att-flex .att-desc { padding: 4rem 2rem 3rem 2rem; }
	.att-flex .att-img .att-box h2 { font-size: var(--fs30); }
	.att-flex .att-img .att-box .wrap { padding: 1rem; }
	
	
	header#header .logo { width: 60%; position: relative; z-index: 99999; }
	
	
	:root {
		--fs80: 4rem;
		--fs64: 3.25rem;
	}
}
