/*
Theme Name: Cavallo & Cavallo
Theme URI: http://nextclient.com/
Description: Designed and Powered by NextClient, Inc.
Author: NextClient, Inc.
Version: 1.0
Template: universal_mm
*/

/* Universal Begins */
/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 3.3.0
build: 3167
*/

html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

em, i strong, em strong {font-style: italic;}
b em {font-weight: bold;}

header,nav,article,footer,section,aside,figure,figcaption{display:block}

a {outline: none;}

#nav-below {margin: 10px 0; overflow: hidden;}
.nav-previous, .nav-next {float: left; display: inline; width: 50%;}
.nav-next {float: right;text-align: right;}
.nav-previous a, .nav-next a {text-decoration: none;}

div.entry-meta {font-size: 90%;}
.post_entry_mult {
	border-bottom: 1px solid #999;
	overflow: hidden;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
	.post_entry_mult_left {float: left; display: inline; width: 150px;}
	.post_entry_mult_right {padding-left: 160px;}
	div.post_entry_mult h2 {padding-bottom: 0; margin-bottom: 0;}
	.excerpt_meta {font-size: 80%; margin: 0 0 10px;}
.postThumbSingle {float: left; margin: 5px 10px 0 0;}
.tag-links {display: block;}
.google-map {height: 350px;margin: 0 0 25px; border: 1px solid #333;}
/* Universal Ends */
/*  < adaBtn >  */
.adaBtn{
	display: block !important;
	position: fixed;
	bottom: 70px;
	left: 5px;
	width: 30px;
	height: 30px;
	overflow: hidden;
	z-index: 9999;
	cursor: pointer;
}
.adaBtn > img{ width: 100%; height: auto; }
.adaBtn:hover > img{ margin-top: -30px; }
/*  </ adaBtn >  */
blockquote {padding: 0 0 0 30px; font-style: italic;}
strong {font-weight: bold;}
i, em {font-style: italic;}
i strong, em strong, strong i, strong em {font-weight: bold;}

html,
body {
	background: #fff;
}

a { text-decoration: none; }
a:hover { text-decoration: none; }

/*  < persistent_header >  */
.persistent_header {
	z-index: 100;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	background-color: #fff;
	padding: 14px 5%;
	box-sizing: border-box;
}

body.sticky_zone .persistent_header {
	padding: 8px 5%;
}

/*  </ persistent_header >  */

/*  < mobile_phone_number >  */
.mobile_phone_number {
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	flex-direction: column;
	text-align: center;
	width: 100%;
	margin: -2px 0 0;
	gap: 3px;
}

body.sticky_zone .mobile_phone_number {
	flex-direction: row;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3px 10px;
	margin: 0 0;
}

.mobile_phone_number span {
	color: #52B7DC;
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(10px, 2vw, 16px);
	font-weight: bold;
}

body.sticky_zone .mobile_phone_number span br {
	display: none;
}

.mobile_phone_number a {
	display: inline-block;
	color: #fff;
}

.mpndot {
	display: inline-block;
	width: 3px;
	height: 3px;
	margin: 0 0 2px;
	border-radius: 100%;
	background-color: #52B7DC;
}

span.mpnNumber {
	color: #19255C;
	font-size: 9px;
}

span.mpnNumber a {
	color: #19255C;
	font-size: 9px;
	position: relative;
	padding: 0 0 0 15px;
}

span.mpnNumber a::before {
	content: '';
	position: absolute;
	left: 3px;
	top: 50%;
	transform: translateY(-50%);
	width: 9px;
	height: 9px;
	background-image: url('img/phone.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

/*  </ mobile_phone_number >  */

/*  < mobile_logo_main >  */
.mobile_logo_main {
	box-sizing: border-box;
	display: block;
	width: 131px;
	flex-shrink: 0;
	height: auto;
	background: #fff;
}

body.sticky_zone .mobile_logo_main {
	display: none;
}

.mobile_logo_main img {
	display: block;
	margin: auto;
	max-width: 131px;
	height: auto;
}

body.sticky_zone .mobile_logo_main img {
	display: none;
}

/*  </ mobile_logo_main >  */

/*	< slides >	*/
.sxn_marketing {
	position: relative;
	margin: 0 5%;
	line-height: 1;
	background-color: #020722;
	border-radius: 35px;
	overflow: hidden;
	isolation: isolate;
}

/* .sxn_marketing::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	width: 110%;
	height: 160px;
	background-color: #fff;
	pointer-events: none;
	z-index: -1;
} */

.formContain {
	padding: 0 12px 12px;
}

.g5StarTop {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
}

.legalPlan {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(10px, 2vw, 16px);
	color: #fff;
	font-weight: bold;
	background-color: #4173E2;
	border-radius: 5px;
	padding: 0 20px;
	min-height: 47px;
	text-align: center;
}

.contactForm {
    display: block;
    padding: 5%;
		margin: 10px 0 0;
    background: #4173E2;
    box-sizing: border-box;
    border-radius: 18px;
    color: #FFF;
    flex-shrink: 0;
}

.contactForm .sxn-title {
	font-family: 'Montserrat', sans-serif;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 16px;
}

#form_2, #form_3, #form_4 {
	display: flex;
	flex-direction: unset;
	gap: 11px 10px;
	flex-wrap: wrap;
	position: relative;
}

.formInput input, .formInput textarea, .formInput select {
	background: #FFF;
	border: 2px solid transparent;
	border-radius: 12px;
	font-family: 'Montserrat';
	box-shadow: 0 1px 10px #00000033;
	color: #000;
	display: block;
	width: 100%;
	outline: none;
	height: 50px;
	resize: none;
	padding: 5px 10px;
	box-sizing: border-box;
	font-size: 12px;
	font-weight: 400;
}

.formBlock {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.formReqBox {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 0 0 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: 10px;
}

.formReqBox p {
	padding: 0;
	line-height: 1.67;
}

.formSubmitBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px 25px;
    width: 100%;
}

.formSubmit {
	border-radius: 12px;
	width: 100%;
	height: 33px;
	max-width: 100%;
	transition: .5s;
	font: 16px/1 "Montserrat",sans-serif;
	font-weight: bold;
	overflow: hidden;
}

.grDisclaimerBox {
	background-color: #4a90e2;
	overflow: hidden;
	height: 60px;
	width: 255px;
}

.grdbBadge {
	float: left;
	width: 70px;
	height: 100%;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center center;
}

.grdbBadge {
    background-image: url(img/recaptcha-logo-48.png);
}

.grdbText {
    float: left;
    color: #fff;
    width: 185px;
    box-sizing: border-box;
    font-family: "Montserrat",Arial,sans-serif;
    font-size: 13px;
    padding: 7px 10px;
    line-height: 1;
}

.grdbHead {
    display: block;
    margin: 0 0 5px;
}

.grdbText {
    float: left;
    color: #fff;
    width: 185px;
    box-sizing: border-box;
    font-family: "Montserrat",Arial,sans-serif;
    font-size: 13px;
    padding: 7px 10px;
    line-height: 1;
}

.grdbLinks a {
    color: #fff;
    text-decoration: none;
    font-size: 10px;
}

.grdbSep {
    font-size: 8px;
}

.formSubmit input {
	width: 100%;
	height: 100%;
	outline: 0;
	background-color: #18225D;
	border: none;
	border-radius: 12px;
	display: block;
	cursor: pointer;
	color: #FFF;
	overflow: hidden;
	transition: .5s;
	font-size: 10px;
	font-weight: bold;
}

.formSubmit:hover input {
    background-color: #334190;
    color: #FFF;
}

#homeslides {
	position: relative;
	height: 300px;
}
@media only screen and (orientation : portrait) {
	#homeslides {
		height: calc( 100vw * (10/19) );
	}
}
@media only screen and (orientation : landscape) {
	#homeslides {
		/* height: calc( 100vw * (10/16) ); */
	}
}
	.homeslide {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		opacity: 0;
	}
	
	.homeslide .homeslide_img {
		opacity: 1;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.homeslide_1 .homeslide_img { background-image: url(img/slides/mobile-slides-1.webp); }
	.homeslide_2 .homeslide_img { background-image: url(img/slides/mobile-slides-2.webp); }
	.homeslide_3 .homeslide_img { background-image: url(img/slides/mobile-slides-3.webp); }

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
	.homeslide_1 .homeslide_img { background-image: url(img/slides/mobile-slides-1-2x.webp); }
	.homeslide_2 .homeslide_img { background-image: url(img/slides/mobile-slides-2-2x.webp); }
	.homeslide_3 .homeslide_img { background-image: url(img/slides/mobile-slides-3-2x.webp); }
}

.homeslide .cont_slide {
	position: relative;
	box-sizing: border-box;
	margin: auto;
	width: 100%;
	height: 100%;
}
.homeslide .cont_box {
	position: absolute;
	bottom: 0;
	box-sizing: border-box;
	margin: auto;
	padding: 20px 10px 20px;
	width: 100%;
	color: #fff;
	text-align: center;
}
.homeslide .cont_hdg {
	box-sizing: border-box;
	display: block;
	color: #fff;
	font: 18px/1 'Montserrat', sans-serif;
	font-weight: bold;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-transform: uppercase;
}

.homeslide .cont_hdg span{
	display: block;
	color: #52B7DC;
}
.homeslide_img:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom,rgba(24,34,93,0) 20%,#010621);
}
.homeslide p {
	padding: 0;
	font: italic 16px/1 arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-transform: none;
}
@media only screen and (orientation : portrait) {}
@media only screen and (orientation : landscape) {}
/*	< slides >	*/

#wrapper {padding: 85px 0 60px;} /* mod */
body.mob_menu #wpadminbar {position: absolute;}
body.fsMenuOn #wpadminbar,
body.fsMenuOn #contact-tab {display: none;}
#menuWrapper,
#mblSearchCont,
nav.mm_mob {display: none;}
.mob_menu #menuWrapper,
.fsMenuOn #mblSearchCont,
.fsMenuOn #closeMenu,
.fsMenuOn nav.mm_mob {display: block;}
.fsMenuOn #menuWrapper {z-index: 1;}
#menuWrapper {
	z-index: 999;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #212D6F;
}
/* Remove comment for MM client chat live background */
/*#menuWrapper:after {
	content:'';
	position: absolute;
	right: 0;
	bottom: -50px;
	left: 0;
	width: 100%;
	height: 50px;
	background: #AF2100;
}*/
#mobMenuItems {
    box-sizing: border-box;
    margin: auto;
    padding: 15px 5%;
    overflow: hidden;
    font-size: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
	.mmi {
		box-sizing: border-box;
		display: inline-block;
		width: calc( 100% / 4 );
		height: 100%;
		font: 10px/1 arial, sans-serif;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		list-style-type: none;
		list-style-position: outside;
		vertical-align: top;
	}
	.mmi a:before {
		content:'';
		position: absolute;
		top: 10px;
		right: 0;
		left: 0;
		margin: auto;
		width: 20px;
		height: 27px;
		background: no-repeat 0 bottom;
		background-size: 107px;
	}
	.mmi a {
		position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    width: 100%;
    max-width: 100%;
		background-color: #4173E2;
    padding: 0 5px;
    min-height: 35px;
    height: 35px;
    font-family: 'Montserrat', sans-serif;
    font-size: 9px;
    line-height: 1.2;
		font-weight: bold;
    text-align: center;
		text-transform: uppercase;
    transition: .4s;
		border-radius: 6px;
	}
	.mmi a:hover {text-decoration: none;background-color: #36B9DD;}
	/*  < mod >  */
	.mmi_1 a:before {
		width: 33px;
		background-position: 0 bottom;
	}
	.mmi_2 a:before {
		width: 16px;
		background-position: -35px bottom;
	}
	.mmi_3 a:before {
		width: 32px;
		background-position: -53px bottom;
	}
	.mmi_4 a:before {
		width: 18px;
		background-position: -87px bottom;
	}
	/*  </ mod >  */
nav.mm_mob {
	z-index: 9999;
	position: absolute;
	top: 0;
	left: 0;
	padding: 54px 0 20px;
	width: 100%;
	text-align: left;
	background: #212D6F;
}
	nav.mm_mob ul {padding: 0;}
	nav.mm_mob > ul {padding: 0;}
		nav.mm_mob ul li {
			display: block;
			list-style-type: none;
			list-style-position: outside;
		}
		nav.mm_mob ul a {
			display: block;
			padding: 5px 20px 4px 0;
			color: #fff;
			font: 15px/1 arial, sans-serif;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
		}
		nav.mm_mob a:hover {
			text-decoration: none;
		}
			nav.mm_mob ul a {padding-left: 20px;}
			nav.mm_mob ul ul a {padding-left: 40px;}
			nav.mm_mob ul ul ul a {padding-left: 60px;}
			nav.mm_mob ul ul li a {text-transform: none;}
#closeMenu {
	z-index: 999999999;
	position: fixed;
	top: 0;
	right: 0;
	box-sizing: border-box;
	display: none;
	padding: 0;
	width: 100%;
	height: 34px;
	color: #fff;
	font: 16px/34px arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	background: #4173E2;
	transition: all 250ms ease;
}
#closeMenu:hover {
	text-decoration: none;
}
body.fsMenuOn #menuWall {
	content:'';
	z-index: 999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 200%;
	background: #000;
	background: rgba(0, 0, 0, 0.9);
}
#mblSearch {
	padding: 0 20px 20px;
	max-width: 350px;
	overflow: hidden;
}
#mblsInput,
#mblsSubmit {
	-webkit-appearance: none;
	appearance: none;
	float: left;
	box-sizing: border-box;
	display: inline;
	font-family: arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	border-radius: 0;
}
#mblsInput {
	box-sizing: border-box;
	padding: 0 16px;
	width: 70%;
	height: 32px;
	font: 14px/normal arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	border: 0;
	border-radius: 4px 0 0 4px;
	outline: 0;
}
#mblsSubmit {
	cursor: pointer;
	width: 30%;
	height: 32px;
	color: #fff;
	font-size: 14px;
	line-height: normal;
	text-align: center;
	text-transform: uppercase;
	background: #4173E2;
	border: 0;
	border-radius: 0 4px 4px 0;
	transition: all 250ms ease;
}
#mblsSubmit:hover {}

p {padding: 0 0 20px;}
li {list-style-type: none; list-style-position: outside;}
.topo {display: block; overflow: hidden;}
.topo img {display: block; width: 100%;}

#contentArea {}
.article {
	padding: 20px;
	font-family: "Montserrat",Arial,"Helvetica Neue",Helvetica,sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #000;
	overflow: hidden;
}
	.article ul,
	.article ol {padding: 0 0 20px 30px;}
	.article li ul,
	.article li ol {padding: 0 0 0 30px;}
	.article li {list-style-position: outside;}
	.article ul li {list-style-type: disc;}
	.article ol > li {list-style-type: decimal;}
	.article ol > li > ol > li {list-style-type: lower-alpha;}
	.article ol > li > ol > li > ol > li {list-style-type: lower-roman;}
	.article ul ul {padding-bottom: 0;}
	.article ul li {}
	.article ul li p {}
	.article a {color: #4173E2;}
	.article a:hover {text-decoration: underline;}
	.article ul,
	.article ol {overflow: hidden;}
	.article h1,
	.article h2,
	.article h3,
	.article h4,
	.article h5,
	.article h6 {
    line-height: 1.2;
    font-weight: bold;
    font-family: "Montserrat",sans-serif;
    ;color: #000;
    padding: 0 0 5px 0
	}
	.article h1 {
    font-size: 30px;
    padding: 0 0 24px 0
}

.article h1>strong {
    font-size: 143%;
    display: block
}

.home .article h1 {
    padding: 0 0 57px 0
}

.article h2 {
    font-size: 25px;
    padding: 0 0 25px 0
}

.article h3 {
    font-size: 18px;
    font-weight: bold
}

.article h4 {
    font-size: 18px
}

.article h5 {
    font-size: 16px
}
	.article .headshot {
		float: left;
		margin: 0 15px 5px 0;
		width: 40%;
		max-width: 220px;
		height: auto;
	}
	.article .mc_fullsize {
		display: block;
		width: 100%;
		height: auto;
	}
	.article .alignright,
	.article .aligncenter,
	.article .alignleft {
		display: block;
		margin: 10px auto;
	}
	.mcImgScale{
		/*Do not add any additional css to this class.*/
		max-width: 100%;
		height: auto;
	}	
	.mcTable {margin: 0 0 20px;}
	.mcTable td {vertical-align: top; display: block;}
	.mcTable ul {padding: 0 0 0 30px;}


/*  < sxn_agency >  */
.sxn_agency {
	color: #fff;
	font: normal 10px/1.3 Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-align: center;
	background: #212d6f;
}
.sxn_agency a {
	color: #fff;
}
.sxn_agency a:hover {
	text-decoration: underline;
}
.sxn_agency .sxn_wrap {
	padding: 20px 60px;
}
/*  </ sxn_agency >  */

/* Chat Buttons Fix - font too big at 320px */
/*
@media screen and (max-width: 360px) {
    body .ccl-split-bar-item {
        font-size: 20px !important;
    }
}
*/
.home #mainContent figure.floatRight {
  float:right;
  width:100%;
}
.home #mainContent figure img {
  border-radius:26px;
  height:auto;
}
.home #mainContent figure.floatRight img:first-child {
  border-radius:26px 0 0 26px;
  margin:0 -20px -70px 70px;
}
@media screen and (min-width:800px) {

  .home #mainContent figure.floatRight {
    width:42%;
    margin-right:-20px;
  }
  .home #mainContent figure.floatRight img:first-child {
    margin:0 -20px -50px 100px;
  }

}
.mcViewBtnContain { display: none; }

/* Form Validation -- Begins */
form input[type=text].validationError, 
form textarea.validationError, 
form select.validationError,
form .validationError::placeholder {
    background-color: red !important;
    color: #fff !important;
}
form .validationError:-moz-placeholder,
form .validationError::-moz-placeholder {
	opacity: 1;
}
input[type=checkbox].validationError {
    position:relative
}
.cfRequiredMark {
	position: relative;
	font-size: 0;
}
input[type=radio].validationError + .cfRequiredMark:before,
input[type=checkbox].validationError  + .cfRequiredMark:before {
	display: inline-block;
	content: "";
	position: absolute;
	left: -26px;
	top: -11px;
	background-color: red;
	height: 8px;
	width: 8px;
	border-radius: 4px;
	opacity: 1;
	box-shadow: 1px 1px 3px red;
}
.validationFeedback {
    display: none;
    text-align: center;
    background-color: #f5770c;
    color: #000;
    padding: 20px 20px 0;
    margin:0 auto 20px;
		font-family: 'Montserrat', sans-serif;
		font-size: 12px;
}
.vfActive {
    display: block;
	width: calc(100% - 40px);
}
.vfFailedEmailValidationPrompt,
.vfFailedTelephoneValidationPrompt,
.vfFailedZipValidationPrompt {display: none;}
.vfFailedEmailValidation .vfFailedEmailValidationPrompt,
.vfFailedTelephoneValidation .vfFailedTelephoneValidationPrompt,
.vfFailedZipValidation .vfFailedZipValidationPrompt {display: block;}

/* Form Validation -- Ends */

/* Higher z-index than Intaker Chat */
/* You might have to use similar values as below on #persistentHeader */
nav.mm_mob {z-index: 2147482901;}
#closeMenu{z-index: 2147482902;}

.adaBtn{left: 10px;}

/* Intaker Chat - MHMI */
body .icw--position--BottomRight {bottom: 70px;}
body .bottomsPosition.icw--call--position--BottomLeft {bottom: 120px; left: 10px;}