/*

Theme Name: LFS - Rudolphi Law

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: 'neue-haas-grotesk-display', sans-serif;
	--font2: 'calluna', serif;
	--font3: 'Font Awesome 5 Free';
	--color-primary: #1E1E1E;
	--color-secondary: #214270;
	--color-tertiary: #061427;
	--color-text: #061427;
	--color-bg-light: #E0E8F3;
	--color-black: #000;
	--color-default: #fff;
	--color-navy-blue: #030E1F;
	--color-border: #BDC5D0;
	--color-light-blue: #5D77A1;
	
	--fs101: 6.3125rem;
	--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(--fs22);
	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-medium, .container-full {
    max-width: 97.75rem;
    width: 90%;
	padding-left: 0;
	padding-right: 0;
	margin: 0 auto;
}
.container-medium { max-width: 101.875rem; }
.container-large { max-width: 107.6875rem; width: 95%; }
.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-primary);
	text-transform: none;
	line-height: 1.1em;
	margin-bottom: 1.875rem;
}
.h1, .h2, .h3, .h4, .h5 { margin-top: 0; }
h2, .h2 { font-size: var(--fs64); }
h3, .h3 { font-size: var(--fs32); }
h4, .h4 {
	font-size: var(--fs24);
	line-height: 1.5em;
}
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, a.btn-navy {
	background-color: var(--color-secondary);
	color: var(--color-default);
	text-transform: uppercase;
	font-size: var(--fs18);
	font-family: var(--font1);
    font-weight: 500;
    padding: 1.1875rem 3.125rem 1.0625rem;
    border-radius: 0;
    letter-spacing: 0;
	text-decoration: none;
	line-height: 1.2em;
	white-space: pre-wrap;
	transition: all .5s ease;
	border: 0;
}
a.btn:hover, a.btn:focus, a.btn-navy { background-color: var(--color-primary); color: var(--color-default); }
a.btn-navy:hover, a.btn-navy:focus { background-color: var(--color-secondary); }
a:hover > img, a:hover > svg, a:focus > img, a:focus > svg { opacity: 0.8; }
blockquote {
	border: 0;
	border-left: 0.0625rem solid var(--color-primary);
	padding: 0 0 0 6rem;
	margin-bottom: 3.125rem;
	font-size: var(--fs24);
	font-weight: 400;
	line-height: 1.4em;
}
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(--fs18); font-weight: 700; text-transform: uppercase; letter-spacing: 0.5rem; line-height: 1.2em; margin-bottom: 1.25rem; }
.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: 500;
	font-family: var(--font1);
	font-size: var(--fs20);
	line-height: 1.2em;
	text-transform: none;
}
.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, .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); }
.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, .dark a.btn, .dark a.btn-navy { color: #fff; }
.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-default); 
	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-secondary);
}
.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-default);
}
.slick-slider .slick-arrow { width: 3.6875rem; height: 3.6875rem; 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;} 

iframe { width: 100% !important; height: 25rem !important; }
.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;
	background-color: #EFEFEF;
	color: var(--color-text);
	padding: 1.3125rem 1.5625rem !important;
	font-size: var(--fs18) !important;
	line-height: 1.5em;
}
.gform_wrapper .gfield textarea.small { height: 6.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: 0;
	font-size: var(--fs18) !important;
	font-weight: 500;
	font-family: var(--font1) !important;
	line-height: 1.2em;
	text-transform: uppercase;
	letter-spacing: 0;
	color: var(--color-default);
	background-color: var(--color-tertiary);
	padding: 1.25rem 3.5rem 1.125rem !important;
	transition: all 0.5s ease;
}
.gform_wrapper input[type=submit]:hover,
.gform_wrapper input[type=submit]:focus {
	background-color: var(--color-secondary);
	color: var(--color-default);
}
.gform_wrapper input::-webkit-input-placeholder,
.gform_wrapper textarea::-webkit-input-placeholder,
.gform_wrapper select::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #ccc;
}
.gform_wrapper input::-moz-placeholder,
.gform_wrapper textarea::-moz-placeholder,
.gform_wrapper select::-moz-placeholder { /* Firefox 19+ */
	color: #ccc;
}
.gform_wrapper input:-ms-input-placeholder,
.gform_wrapper textarea:-ms-input-placeholder,
.gform_wrapper select:-ms-input-placeholder { /* IE 10+ */
	color: #ccc;
}
.gform_wrapper input:-moz-placeholder,
.gform_wrapper textarea:-moz-placeholder,
.gform_wrapper select:-moz-placeholder { /* Firefox 18- */
	color: #ccc;
}
.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-tertiary) !important;
	border-top: 1px solid rgba(255,255,255,0.1) !important;
	font-size: var(--fs16);
	padding: 1rem 1.875rem 0.75em;
	width: 100%;
}
.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-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: #fff !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: 21%; }
header#header .nav { width: 60%; }
header#header .ph a { background-color: var(--color-tertiary); color: var(--color-default); font-size: var(--fs18); font-weight: 500; line-height: 1.2em; padding: 1.1875rem 3.25rem; display: block; }
header#header .ph a:hover, header#header .ph a:focus { background-color: var(--color-secondary); }

/* Footer ---------------------------------------------*/
.footer-section { 
	background-color: var(--color-navy-blue);
	color: #BABABA;
	line-height: 1.7em;
}
.footer-section .footer-content { padding: 4.5rem 0 2rem; }
.fstop {
	border-top: 0.0625rem solid #32373F;
	padding: 4rem 0 4.5rem;
}
.fstop a, .fstop .tel:hover, .fstop .tel:focus { color: var(--color-light-blue); }
.fstop .sub {
	margin-bottom: 1.875rem;
	letter-spacing: 0.25rem;
	font-weight: 500;
	color: #ccc;
}
.fstop .fscontact p { margin-bottom: 1.25rem; }
.fstop .fscontact .fsreach p { margin-bottom: 0.5rem; }
.fsfollow a { font-size: var(--fs25); margin: 0 0.75rem; }
.fsbottom { 
	border-top: 0.0625rem solid #32373F;
	padding: 2.5rem 0;
}
.fsbottom a, .fstop .tel { color: #BABABA; }
.fsnav ul li { position: relative; list-style: none; }
.fsnav ul li:before { content: ''; background-color: #fff; height: var(--fs13); width: 0.0625rem; display: inline-block; margin: 0 0.5rem; }

/* Banner Section ---------------------------------------------*/
.banner-section { min-height: 24.5625rem; }
.banner-section .bg-image:has(.img-fit):before { background: linear-gradient(to bottom, rgba(0,0,0,0.45) 5%, rgba(0,0,0,0.3) 100%); }
.banner-section h1, .banner-section .h1 { font-size: var(--fs101); }
.banner-section .banner { padding: 9rem 0 0; }


/* Blog ---------------------------------------------*/
.mcblog { gap: 0 2.75rem; }
article.blogpost {
	max-width: 30.6875rem;
	width: 100%;
	margin-bottom: 3.25rem;
	position: relative;
	padding-bottom: 1.625rem;
}
article.blogpost .p-title {
	font-size: var(--fs28);
	font-family: var(--font2);
	font-weight: 400;
	color: var(--color-text);
	margin-bottom: 1.25rem;
	line-height: 1.2em;
	text-transform: none;
}
article.blogpost .featured-image {
	height: 23.5rem;
	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 .more { font-weight: 700; color: var(--color-text); position: absolute; bottom: 0; }
article.blogpost .post-desc a:hover .more { color: var(--color-secondary); }
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%; }
.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; }

.form-section .form-content { padding: 6rem 0; }
.form-section .form-left {
	font-size: var(--fs24);
	line-height: 1.5em;
}
.form-section .form-left p { max-width: 25.375rem; }
.form-section .form-right {
	background-color: var(--color-default);
	padding: 3.5rem;
}

.contact-row .contact-info h2 {
	border-bottom: 0.0625rem solid var(--color-border);
	padding-bottom: 1.25rem;
}
.contact-row .contact-info strong { font-weight: 500; }
.contact-row .contact-map iframe { height: 35.1875rem !important; }

.news-list { gap: 0 1.75rem; }
.news-list article.blogpost { 
	line-height: 1.5em;
	max-width: 32.0625rem;
}
.news-list article.blogpost h3 {
	border-bottom: 0.0625rem solid var(--color-border);
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
.news-list article.blogpost p { margin-bottom: 1rem; }
.news-list article.blogpost .featured-image { margin-bottom: 1rem; }

.main-faqs .container, .faqs-section .container { max-width: 78.5625rem; }
.mid-content { margin-bottom: 3.75rem; }
.accordion-list .item {
	border-top: 0.0625rem solid var(--color-border);
}
.accordion-list .item:last-child { border-bottom: 0.0625rem solid var(--color-border); }
.accordion-list .item .item-header { 
	padding: 2rem 3rem 2rem 0;
	position: relative;
	cursor: pointer;
}
.accordion-list .item .item-header h3 { 
	margin-bottom: 0; 
	color: var(--color-text);
}
.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-text);
	position: absolute;
	right: 1rem;
	bottom: 1.5rem;
	transform: rotate(0);
	transition: transform .3s ease;
}
.accordion-list .item.active .item-header:after { transform: rotate(-180deg); }
.accordion-list .item-content { 
	height: 0; 
	overflow: hidden; 
	transition:
        height .4s ease,
        opacity .3s ease;
	opacity: 0;
}
.accordion-list .item.active .item-content { height: auto; overflow: visible; opacity: 1; }

.testimonial-list { gap: 0 2.25rem; }
.testimonial-list .item {
	max-width: 30.5625rem;
	width: 100%;
	border: 0.0625rem solid var(--color-secondary);
	margin-bottom: 2.5rem;
	padding: 3.75rem;
	font-size: var(--fs24);
	line-height: 1.4em;
	cursor: pointer;
	background-color: var(--color-default);
}
.testimonial-list .item .i-quote {
	display: block;
    margin-bottom: 2rem;
}
.testimonial-list .item .i-quote svg { width: 3.25rem; height: 2.25rem; }
.testimonial-list .item .auth {
	font-weight: 700;
	font-size: var(--fs18);
	line-height: 1.4em;
}
.testimonial-list .item .rate svg { width: 1.25rem; height: 1.1875rem; }
.testimonial-list .item .desc { height: 15rem; 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; }

.main-bio h3 { font-size: var(--fs30); margin-bottom: 1.25rem; }
.bio-row .bio-side .img { max-height: 49.0625rem; margin-bottom: 2.5rem; }
.bio-row .bio-side .badges { max-width: 36rem; margin: 0 auto; }
.bio-row .bio-side .badges .item { margin: 0 0.5rem 2rem; }
.bio-row .bio-side .badges .item img { max-height: 5.625rem; }
.bio-row .bio-side .awards ul, .extended-bio ul { margin-left: 0; }
.bio-row .bio-side .awards ul li, .extended-bio ul li { 
	list-style: none; 
	margin-bottom: 0.3125rem;
    line-height: 1.5em;
}
.bio-details h1 { 
	font-size: var(--fs96); 
	line-height: 1em; 
	margin-bottom: 0; 
}
.bio-details .pos {
	font-size: var(--fs24);
	line-height: 1.2em;
	margin-bottom: 2rem;
}
.bio-details .bio-contact { line-height: 1.5em; }
.bio-details .bio-contact a { color: var(--color-text); border-bottom: 0.0625rem solid var(--color-text); }
.bio-details a:hover, .bio-details a:focus { border-bottom: 0; }
.extended-bio { gap: 0 3rem; }

.area-list { gap: 0 2.375rem; }
.area-list .item {
	max-width: 25.3125rem;
	width: 100%;
	position: relative;
	height: 32.75rem;
	background-color: var(--color-tertiary);
	margin-bottom: 2.375rem;
	overflow: hidden;
}
.area-list .item a { color: var(--color-default); display: block; height: 100%; }
.area-list .item h3 {
	font-size: var(--fs30);
	margin-bottom: 0;
	color: var(--color-default);
}
.area-list .item .overlay .o-wrap {
	background-color: var(--color-tertiary);
	padding: 0 1.75rem 1.75rem;
	line-height: 1.5em;
    width: 100%;
    transform: translateY(6.75rem);
    transition: 1s;
}
.area-list .item .overlay .o-wrap .o-title {
	display: flex;
    min-height: 6.75rem;
    align-items: center;
    padding: 0.5rem 0px;
    transition: transform 0.5s;
	border-bottom: 0.0625rem solid #555E6C;
	margin-bottom: 1.75rem;
}
.area-list .item .overlay .o-wrap .o-desc { opacity: 0; transition: 1s; }
.area-list .item a:hover .overlay .o-wrap { transform: translateY(0px); }
.area-list .item a:hover .overlay .o-wrap .o-desc { opacity: 1; }
.main-areas .sub, .area-row .area-side .areas .sub, .why-box .sub, .banner-text .sub { 
	display: flex; 
	align-items: center; 
	justify-content: space-between; 
}
.main-areas .sub:before, .main-areas .sub:after,
.area-row .area-side .areas .sub:before, .area-row .area-side .areas .sub:after, 
.why-box .sub:before, .why-box .sub:after, .banner-text .sub:before, .banner-text .sub:after {
	content: '';
	background-color: var(--color-secondary);
	height: 0.0625rem;
	max-width: 34.0625rem;
	display: block;
	width: 50%;
}
.area-row .area-side { 
	margin-bottom: 2rem; 
	max-width: 37.9375rem; 
	width: 100%;
}
.area-row .area-side .img { max-height: 33.75rem; margin-bottom: 3.125rem; }
.area-row .area-side .areas {
	background-color: var(--color-tertiary);
	padding: 2.1875rem 0;
}
.area-row .area-side .areas .sub { margin-bottom: 3rem; }
.area-row .area-side .areas .sub:before, .area-row .area-side .areas .sub:after { 
	max-width: 9.125rem;
	background-color: var(--color-default);
}
.area-row .area-side .areas ul {
	margin: 0 auto;
	max-width: 20rem;
}
.area-row .area-side .areas ul li {
	list-style: none;
	margin-bottom: 2rem;
}
.area-row .area-side .areas ul li:last-child { margin-bottom: 0; }
.area-row .area-side .areas ul li a {
	display: block;
	text-align: center;	
	background-color: var(--color-default);
	font-size: var(--fs24);
	font-weight: 400;
	line-height: 1.2em;
	font-family: var(--font2);
	color: var(--color-tertiary);
	padding: 0.5rem;
	transition: all 0.3s ease;
}
.area-row .area-side .areas ul li a:hover, .area-row .area-side .areas ul li a:focus,
.area-row .area-side .areas ul li.current a {
	background-color: var(--color-secondary);
	color: var(--color-default);
}
.area-row .area-side {
	float: left;
	margin-right: 5rem;
}
.main-service .inner-wrap { display: flow-root; }

/* Frontpage ---------------------------------------------*/
.banner-text { padding: 14rem 0 7rem; }
.banner-text .sub:before, .banner-text .sub:after { background-color: var(--color-default); }
.banner-text .sub.bottom { 
	font-size: var(--fs24); 
	font-weight: 400; 
	text-transform: none;
	letter-spacing: 0;
}
.banner-text .button { margin-top: 3rem; }
.banner-text h1 { max-width: 76.375rem; margin: 0 auto 2rem; }

.highlight { font-size: var(--fs24); line-height: 1.5em;}
.att-section { background-color: #F0F0F0; }
.att-content .att-left { padding: 7rem 2.5rem 6rem; }
.att-content .att-left h2 { font-size: var(--fs96); }
.att-content .att-left .button a { display: inline-block; }
.att-content .att-left .img { max-height: 47.75rem; margin-bottom: 1.875rem; }
.att-content .att-right { padding: 14rem 2.5rem 2.5rem; }
.att-content .att-right .img { margin-bottom: 5rem; }
.att-content .att-right .img img { max-width: 10.4375rem; }
.att-section .badges { gap: 0 1.5rem; }
.att-section .badges .item { margin-bottom: 1.5rem; }

.about-section, .why-section, .testimonial-section { background-color: var(--color-tertiary); }

.area-section .bg-image { 
	height: 67.0625rem; 
	bottom: 0;
	top: unset;
}
.area-section .bg-image:before {
	background-image: linear-gradient(to top, rgba(255,255,255,0) 20%, rgba(255,255,255,0.62) 45%, #fff 70%, #fff 100% );
}
.area-section .area-content { padding: 5.5rem 0 25rem; }
.area-section .area-header { margin-bottom: 3rem; }
.area-section .area-header .button, .testimonial-section .ts-header .desc, .insight-section .insight-header .button { margin-bottom: 2.25rem; }
.area-section .area-list .item { max-width: unset; }

.about-section .about-content { padding: 4rem 0 5rem; }
.about-row .sub { margin-bottom: 2rem; }
.about-quote .img { max-width: 22.5rem; height: 21.5rem; }
.about-row .about-desc { max-width: 45rem; }

.why-section .bg-image .vid { height: 50.375rem; }
.why-section .bg-image:before {
	background-image: linear-gradient(to top, #061427 0%, rgba(6,20,39,0) 100%);
	height: 75%;
	top: unset;
	z-index: 1;
}
.why-section .container { position: relative; z-index: 1; }
.why-section .why-content { padding: 6rem 0 0; }
.why-box {
	max-width: 94rem;
	margin: 0 auto 10rem;
	padding: 5rem 0 1rem;
	position: relative;
}
.why-box .overlay { background-color: var(--color-default); }
.why-box h2 { 
	max-width: 60rem;
    margin: 0 auto 5.875rem; 
}
.why-box .sub { margin-bottom: 1.875rem; }
.why-box .button {
	position: absolute;
    bottom: -1.875rem;
    left: 0;
    right: 0;
}
.why-list { gap: 0 5.5rem; }
.why-list .item {
	max-width: 32.5rem;
	width: 100%;
	margin-bottom: 2rem;
}
.why-list .item .icon {
	width: 9.3125rem;
	height: 9.3125rem;
	border: 0.0938rem solid rgba(133,147,166,0.24);
	margin-bottom: 1.5rem;
}
.why-list .item .desc { max-width: 20.4375rem; width: 100%; }

.testimonial-section .container { margin-bottom: -12.5rem; }
.testimonial-section .ts-content { padding: 6rem 0 0; }
.testimonial-section .ts-header, .insight-section .insight-header { margin-bottom: 2rem; }
.testimonial-section .testimonial-list .item { border: 0; }

.faqs-section { background-color: var(--color-bg-light); }
.faqs-section .faqs-content { padding: 17rem 0 8rem; }
.faqs-header, .faqs-list { margin-bottom: 5rem; }


/* 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-tertiary);
		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;
	}
	.fslogo { width: 22%; }
	.fscontact { width: 60%; }
	.fsfollow a:first-of-type { margin-left: 0; }
	.form-section .form-left { width: 41%; }
	.form-section .form-right { width: 50%; }
	.gform_wrapper .gform_footer {
		text-align: right;
		justify-content: flex-end;
	}
	header#header .menu-header-section .container, .main-areas .container, body.home .banner-section .container { max-width: 115rem; width: 97%; }
	.main-contact .container { max-width: 86.375rem; }
	.contact-row { flex-direction: row-reverse; }
	.contact-row .contact-map { width: 66.3%; }
	.contact-row .contact-info { width: 27.2%; }
	.main-news .container { max-width: 100rem; }
	.mcflex .the-content  { width: 62%; }
	.mcflex .sidebar  { width: 33%; }
	.bio-row .bio-side { width: 36.3%; }
	.bio-row .bio-content { width: 59.5%; }
	.bio-details .bio-contact { text-align: right; padding-top: 1.875rem; }
	.extended-bio .item { max-width: 33.5625rem; margin-bottom: 2rem; }
	.extended-bio .item ul { max-width: 28.3125rem; }
	.main-areas .area-list { max-width: 90rem; margin: 0 auto; }
	.insight-list .slick-track, .testimonial-list .slick-track, .area-section .area-list .slick-track, .area-list .slick-track { display: flex; gap: 0 2.75rem; }
	.insight-list .slick-track:after, .insight-list .slick-track:before, .area-list .slick-track:before, .area-list .slick-track:after { display: none; }
	.insight-list .blogpost { max-width: unset; height: initial; }
	.insight-section .insight-header .title { width: 60%; }
	.testimonial-section .container { max-width: 100%; width: 100%; }
	.about-section .container, .testimonial-section .ts-header { max-width: 114.125rem; width: 97%; }
	.testimonial-section .ts-header { margin-left: auto; margin-right: auto; }
	.testimonial-section .ts-header .title { width: 40%; }
	.testimonial-section .ts-header .desc .button { margin-right: 10.25rem; }
	.testimonial-list { padding-left: 2.9375rem; max-width: 120rem; width: 100%; margin: 0 auto; }
	.testimonial-list .slick-track { gap: 0 2.25rem; }
	.testimonial-list .slick-arrow { top: -6.0625rem; right: 2.9375rem; }
	.testimonial-list .slick-prev { left: calc(100% - 11.3125rem); }
	.why-section .container { max-width: 108.5rem; width: 95%; }
	.why-section .why-content { padding: 12.9375rem 0 0; }
	.about-row > div { width: 50%; }
	.about-row .about-desc { padding-left: 6rem; }
	.about-quote blockquote { width: 49%; }
	.area-section .area-header .title { width: 45%; }
	.att-content .att-left { width: 76%; }
	.att-content .att-right { width: 24%; }
	.att-content .att-left .att-row { max-width: 77.5rem; margin: 0 auto; }
	.att-content .att-left .att-row .img { width: 47.7%; }
	.att-content .att-left .att-row .desc { width: 44.8%; }
}


@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, .testimonial-section .ts-header, .area-section .area-header, .att-content .att-left .att-row { text-align: center; }
	.slick-slider .slick-arrow { bottom: -4.5rem; top: unset; }
	.slick-slider { margin-bottom: 4rem; }
	.slick-slider .slick-prev { left: calc(50% - 4.125rem); }
	.slick-slider .slick-next { right: calc(50% - 4.125rem); }
	.fslogo, .fscontact > div:not(:last-child) { margin-bottom: 3.125rem; }
	.fsnav ul, .paginate ul { justify-content: center; }
	.fsnav ul li:first-child:before { display: none; } 
	.form-section .form-right { padding: 3.5rem 2.5rem; }
	.testimonial-list .item { padding: 2.5rem; }
	.bio-details, .about-row .about-image { margin-bottom: 2rem; }
	.area-list .item, .why-list .item > div { margin-left: auto; margin-right: auto; }
	.area-row { display: flex; flex-direction: column-reverse; }
	.area-row .area-side { float: none; margin: 0 auto; }
	.testimonial-section .testimonial-list .item { max-width: unset; }
	.why-section .bg-image:before { background-image: linear-gradient(to top, #061427 0%, #061427 70%, rgba(6,20,39,0) 100%); }
	.why-list .item { text-align: center; justify-content: center; }
	.about-row .about-image { margin-bottom: 2rem; }
	.att-content .att-right { padding-top: 4rem; }
	.sub { font-size: var(--fs12); letter-spacing: 0.3125rem; }
	.main-areas .sub:before, .main-areas .sub:after, .area-row .area-side .areas .sub:before, .area-row .area-side .areas .sub:after, .why-box .sub:before, .why-box .sub:after, .banner-text .sub:before, .banner-text .sub:after { width: 15%; }
	.banner-text .sub.bottom { font-size: var(--fs14); }
	.banner-text { padding: 6rem 0 5rem; }
	
	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: 2.5rem; }
	header#header .ph a { 
		font-size: 0; 
		padding: 0;
        width: 2.5rem;
        height: 2.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
	}
	header#header .ph i { font-size: var(--fs16); }
	
	:root {
		--fs101: 3.4375rem;
		--fs96: 3rem;
		--fs64: 2.75rem;
	}
}

@-webkit-keyframes slideInLeft{ 0%{opacity:0;-webkit-transform:translateX(-40%);} 100%{opacity:1;-webkit-transform:translateX(0);} }
@-moz-keyframes slideInLeft{ 0%{opacity:0;-moz-transform:translateX(-40%);} 100%{opacity:1;-moz-transform:translateX(0);} }
@keyframes slideInLeft{
	0%{opacity:0;-webkit-transform:translateX(-40%);-moz-transform:translateX(-40%);-ms-transform:translateX(-40%);-o-transform:translateX(-40%);transform:translateX(-40%);}
	100%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0);}
}
@-webkit-keyframes slideInRight { 0%{opacity:0;-webkit-transform:translateX(40%);} 100%{opacity:1;-webkit-transform:translateX(0);} }
@-moz-keyframes slideInRight{ 0%{opacity:0;-moz-transform:translateX(40%);} 100%{opacity:1;-moz-transform:translateX(0);} }
@keyframes slideInRight{
	0%{opacity:0;-webkit-transform:translateX(40%);-moz-transform:translateX(40%);-ms-transform:translateX(40%);-o-transform:translateX(40);transform:translateX(40%);}
	100%{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0);}
}
@-webkit-keyframes slideInUp{
	0%{opacity:0;-webkit-transform:translateY(40%);-moz-transform:translateY(40%);-ms-transform:translateY(40%);-o-transform:translateY(40%);transform:translateY(40%)}
	100%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}
}
@-moz-keyframes slideInUp{
	0%{opacity:0;-webkit-transform:translateY(40%);-moz-transform:translateY(40%);-ms-transform:translateY(40%);-o-transform:translateY(40%);transform:translateY(40%)}
	100%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}
}
@keyframes slideInUp {
	0%{opacity:0;-webkit-transform:translateY(40%);-moz-transform:translateY(40%);-ms-transform:translateY(40%);-o-transform:translateY(40%);transform:translateY(40%)}
	100%{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}
}
.active .slideInLeft { -webkit-animation:slideInLeft 2s ease-in-out;-moz-animation:slideInLeft 2s ease-in-out;animation:slideInLeft 2s ease-in-out; }
.active .slideInRight, .active .testimonial-list .item { -webkit-animation:slideInRight 2s ease-in-out;-moz-animation:slideInRight 2s ease-in-out;animation:slideInRight 2s ease-in-out; }
.active .slideInUp, .active .insight-list article.blogpost { -webkit-animation:slideInUp 2s ease-in-out;-moz-animation:slideInUp 2s ease-in-out;animation:slideInUp 2s ease-in-out; }
.active .about-row .about-desc .button, .active .insight-list article.blogpost:nth-child(2), .active .testimonial-list .item:nth-child(even)  { animation-duration: 2.4s; }
.att-section, .about-section, .why-section, .insight-section { overflow: hidden; }
.g-review { margin-bottom: 2rem; position: relative; }
.g-review .ti-widget.ti-goog { text-align: right; }
.g-review .ti-widget.ti-goog .ti-platform-icon { width: 4.4375rem; height: 4.625rem; }
.g-review .ti-widget.ti-goog .ti-mob-row { align-items: center; }

