@charset "utf-8";

#quote_container{
	/*background: #FFF url(../img/featured-banner-inside.jpg) 10% 0% no-repeat; */
	/*padding:20px; 
	border: 1px solid #666; */
	min-height:0;
}
#table_container{
	/*width:520px; */
	min-height:375px;
	padding:18px;
	background: #f5f5f5;
}

#start_div {
	max-width: 800px;
	margin: 0 auto;
	padding: 4px 0 18px;
}
#start_div #quote_line_title {
	margin: 0 0 18px;
	color: #333;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
}
#start_div #quote_line_title span {
	font-size: 16px;
}
.quote-required-mark {
	margin-right: 3px;
	color: #c62828;
	font-size: 14px;
	font-weight: 400;
}
.quote-step-error {
	margin: -10px 0 14px;
	color: #c62828;
	font-size: 14px;
	font-weight: 400;
	text-align: center;
}
.quote-line-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}
.quote-line-column h2 {
	margin: 0;
	padding: 11px 14px;
	background: #3498db;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
}
.quote-line-options {
	display: grid;
	gap: 6px;
}
#start_div .quote-line-option {
	display: block;
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
#start_div .quote-line-row {
	display: flex;
	align-items: center;
	min-height: 48px;
	margin: 0;
	padding: 9px 15px;
	border: 1px solid #777;
	background: #fff;
	color: #222;
	cursor: pointer;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
}
#start_div .quote-line-icon-wrap {
	position: relative;
	display: inline-flex;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	margin-right: 8px;
	color: #aaa;
	transition: color 160ms ease;
	pointer-events: none;
}
#start_div .quote-line-icon {
	display: block;
	width: 22px;
	height: 22px;
	color: inherit;
	pointer-events: none;
}
#start_div .quote-line-icon path {
	color: inherit;
}
#start_div .quote-line-option:checked + .quote-line-row .quote-line-icon-wrap {
	color: #3498db;
}
#start_div .quote-line-icon-wrap::after {
	content: "";
	position: absolute;
	inset: -5px;
	color: #3498db;
	opacity: 0;
	background:
		linear-gradient(currentColor, currentColor) center top / 1px 3px,
		linear-gradient(currentColor, currentColor) right center / 3px 1px,
		linear-gradient(currentColor, currentColor) center bottom / 1px 3px,
		linear-gradient(currentColor, currentColor) left center / 3px 1px,
		linear-gradient(-45deg, transparent 35%, currentColor 35% 65%, transparent 65%) right 4px top 4px / 3px 3px,
		linear-gradient(45deg, transparent 35%, currentColor 35% 65%, transparent 65%) right 4px bottom 4px / 3px 3px,
		linear-gradient(-45deg, transparent 35%, currentColor 35% 65%, transparent 65%) left 4px bottom 4px / 3px 3px,
		linear-gradient(45deg, transparent 35%, currentColor 35% 65%, transparent 65%) left 4px top 4px / 3px 3px;
	background-repeat: no-repeat;
}
#start_div .quote-line-option:checked + .quote-line-clicked .quote-line-icon {
	animation: quote-icon-pop 200ms ease-out;
}
#start_div .quote-line-option:checked + .quote-line-clicked .quote-line-icon-wrap::after {
	animation: quote-icon-burst 200ms ease-out;
}
@keyframes quote-icon-pop {
	0%, 100% { transform: scale(1); }
	40% { transform: scale(1.12); }
}
@keyframes quote-icon-burst {
	0% { opacity: 0; transform: scale(.8); }
	35% { opacity: .55; }
	100% { opacity: 0; transform: scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
	#start_div .quote-line-icon-wrap { transition: none; }
	#start_div .quote-line-option + .quote-line-row.quote-line-clicked,
	#start_div .quote-line-option:checked + .quote-line-clicked .quote-line-icon,
	#start_div .quote-line-option:checked + .quote-line-clicked .quote-line-icon-wrap::after {
		animation: none;
	}
}
#start_div .quote-line-option + .quote-line-row:before {
	width: 18px;
	margin: 0 10px 0 0;
	color: #333;
	content: "\f096";
	font-size: 18px;
	letter-spacing: 0;
}
#start_div .quote-line-option:checked + .quote-line-row {
	background: #eef7fc;
	box-shadow: 0 0 4px 1px rgba(52, 152, 219, 0.38);
}
#start_div .quote-line-row.quote-line-clicked {
	animation: quote-line-click 280ms ease-out;
}
#start_div .quote-line-option:checked + .quote-line-row:before {
	color: #2386c8;
	content: "\f14a";
	letter-spacing: 0;
}
#start_div .quote-line-option:focus + .quote-line-row {
	outline: none;
}
#start_div .quote-line-option:focus-visible + .quote-line-row:before {
	color: #2386c8;
}
.quote-step-actions {
	padding-top: 18px;
	text-align: center;
}
.quote-required-note {
	margin: 12px 0 0;
	color: #707070;
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
}
.quote-required-note .quote-required-mark {
	margin-right: 0;
	font-size: inherit;
}
#quote_form_actions:not(:has(#quote_form_next)) + .quote-required-note {
	display: none;
}
.quote-step-button {
	min-width: 120px;
	margin-right: 0;
}
@keyframes quote-line-click {
	0% {
		background: #fff;
		box-shadow: 0 0 0 rgba(52, 152, 219, 0);
	}
	55% {
		background: #dceffb;
		box-shadow: 0 0 11px 2px rgba(52, 152, 219, 0.42);
	}
	100% {
		background: #eef7fc;
		box-shadow: 0 0 4px 1px rgba(52, 152, 219, 0.38);
	}
}
#quote_contact_step {
	max-width: 800px;
	margin: 0 auto;
	padding: 4px 0 18px;
}
.quote-benefits-box {
	position: relative;
	padding: 0 24px 24px;
	border: 1px solid #aaa;
	background: #fff;
}
#quote_contact_step #quote_contact_title {
	margin: 0 -24px 14px;
	padding: 13px 24px;
	background: #3498db;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
}
.quote-back-button {
	position: absolute;
	top: 7px;
	left: 8px;
	z-index: 1;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 3px;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font-size: 21px;
	line-height: 32px;
	text-align: center;
}
.quote-back-button span {
	color: inherit;
}
.quote-back-button:hover,
.quote-back-button:focus {
	background: rgba(255, 255, 255, 0.18);
	outline: none;
}
.quote-privacy-logo {
	display: block;
	width: 96px;
	height: 96px;
	margin: 0 auto 10px;
}
.page .quote-benefits-list {
	margin: 0;
	padding: 0 0 0 25px;
}
.page .quote-benefits-list li {
	padding-bottom: 8px;
}
.quote-contact-fields {
	max-width: 330px;
	margin: 14px auto 0;
}
.quote-contact-field {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 5px 0;
	margin-bottom: 10px;
}
.quote-contact-field label {
	margin: 0;
	text-align: right;
}
.quote-contact-field input {
	width: 100%;
	max-width: 220px;
	min-width: 0;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #888;
	background: #fff;
}
.quote-contact-field.has-error {
	background: rgb(255, 210, 210);
	box-shadow: 8px 0 0 rgb(255, 210, 210), -8px 0 0 rgb(255, 210, 210);
}
#quote_contact_step .quote-step-actions {
	display: flex;
	justify-content: center;
	gap: 16px;
}
#quote_form_step {
	max-width: none;
	margin: 0;
	padding: 4px 0 18px;
}
.quote-form-shell {
	position: relative;
	width: 500px;
	max-width: 100%;
	margin: 0 auto;
}
.quote-progress-tabs {
	min-height: 31px;
	margin: 0 0 8px;
	text-align: left;
}
.quote-progress-tabs .ff_nav {
	border: 1px solid #ccc;
	background: transparent;
}
.quote-progress-tabs .ff_nav.active,
.quote-progress-tabs .ff_nav.active:hover,
.quote-progress-tabs .ff_nav.active:focus {
	border-color: #378de5;
	background: #378de5;
	color: #fff !important;
	font-weight: 700;
}
.quote-progress-tabs .ff_nav:hover,
.quote-progress-tabs .ff_nav:focus {
	box-shadow: none;
	background: transparent;
	color: #4388d1;
	text-shadow: none;
	outline: none;
}
.quote-progress-tabs .ff_nav.completed {
	border-color: #92bade;
	background: #e7f1fa;
	color: #286496;
}
.quote-progress-tabs .ff_nav i {
	color: inherit;
	margin-right: 3px;
}
.quote-progress-tabs .ff_nav:disabled {
	color: #777;
	background: #eee;
	cursor: default;
}
.quote-step-count {
	margin-bottom: 6px;
	font-size: 13px;
	color: #555;
}
#quote_form_content > table,
#quote_form_content .ff_section > table,
#quote_form_content > .hide_table > table {
	margin-right: 0;
	margin-left: 0;
}
#quote_form_content .btn_div {
	display: none;
}
#quote_form_actions .ff_btn {
	margin: 0;
}
#quote_form_actions {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 16px;
	width: 500px;
	max-width: 100%;
}
#quote_form_content table tr:nth-child(odd) {
	background-color: #fff;
}
#quote_form_content table tr:nth-child(even) {
	background-color: #f5f5f5;
}
#quote_form_content tr:has(> td:nth-child(2) > [required], > td:nth-child(2) > .quote-premium > [required]) > td:first-child {
	position: relative;
}
#quote_form_content tr:has(> td:nth-child(2) > [required], > td:nth-child(2) > .quote-premium > [required]) > td:first-child::before {
	content: "*";
	position: absolute;
	left: 2px;
	top: 12px;
	color: #c40000;
	font-size: 0.75em;
	font-weight: normal;
	line-height: 0;
	vertical-align: super;
}
#submit input[type="email"]::placeholder {
	font-style: italic;
	font-size: 11px;
}
.quote-declarations p {
	margin: 8px 0 12px;
}
#quote_upload_drop {
	width: 100%;
	min-height: 100px;
	padding: 16px;
	border: 1px dashed #999;
	border-radius: 4px;
	background: #e9e9e9;
	color: #444;
	cursor: pointer;
}
#quote_upload_drop i {
	display: block;
	font-size: 24px;
}
#quote_upload_drop.drag-over {
	border-color: #3498db;
	background: #e2eff8;
}
#quote_upload_files {
	list-style: none;
	padding: 0;
	margin: 8px 0;
}
#quote_upload_files li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	overflow-wrap: anywhere;
}
#quote_upload_files button {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	color: #555;
}
#quote_upload_error, #quote_submit_status.quote-submit-error {
	color: #c40000;
}
.vehicle-vin-input::placeholder {
	color: #aaa;
	font-size: 12px;
	font-style: italic;
	opacity: 1;
}
#quote_form_content tr.required-row-invalid,
#quote_form_content tr.required-row-invalid:nth-child(odd) {
	background: rgb(255, 210, 210) !important;
}
.page a.quote-reviews-link,
.page a.quote-reviews-link:hover,
.page a.quote-reviews-link:visited,
.page a.quote-reviews-link:active {
	display: block;
	margin-top: 16px;
	text-align: center;
	font-size: 16px;
	color: #3498db;
	text-decoration: none;
	background: none;
	transition: none;
}
.quote-reviews-link i {
	display: block;
	color: inherit;
	font-size: 22px;
	transition: transform 150ms ease;
}
.quote-reviews-link:hover i {
	transform: translateY(2px) scale(1.08);
}
@media (prefers-reduced-motion: reduce) {
	.quote-reviews-link i {
		transition: none;
	}
	.quote-reviews-link:hover i {
		transform: none;
	}
}
#quote_container:has(#quote_form_step:not([hidden])) + .quote-reviews-link {
	display: none;
}
#quote_reviews {
	padding-top: 28px;
}
@media only screen and (max-width: 700px) {
	#table_container {
		padding: 14px;
	}
	#start_div #quote_line_title {
		font-size: 20px;
	}
	.quote-line-columns {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.quote-benefits-box {
		padding-right: 16px;
		padding-left: 16px;
	}
	#quote_contact_step #quote_contact_title {
		margin-right: -16px;
		margin-left: -16px;
		font-size: 16px;
	}
	#quote_form_content table {
		width: 100% !important;
	}
}
@media only screen and (max-width: 480px) {
	.navbar-brand {
		padding-right: 20px;
	}
	#quote_contact_step .quote-step-actions {
		flex-wrap: wrap;
	}
	.quote-contact-field {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.quote-contact-field label {
		text-align: left;
	}
}
#review_div{
	padding-top:40px;
}

#finish_quote_div{
	display:none;
	margin-top:30px;
	margin-left:40px;
	width:480px;
	padding:40px;
	box-shadow:inset 0px 1px 0px 0px #FFF;
	background:linear-gradient(to bottom, #79bbff 5%, #378de5 100%);
	background-color:#79bbff;
	border-radius: 10px;
	border: 1px solid #666;
	color:#FFF;
}
#finish_quote_div table td{
	padding:5px;
	width:520px;
	font-size:bold !important;
}
#finish_quote_div table th{
	font-size:18px;
	padding:5px;
	text-shadow: 1px 2px 2px rgba(0,0,0,1);
}
#finish_quote_div table input, #benefits_table table input{
	padding:10px;
	color:#333;
	width:140px;
}

.finish_quote_btn{
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
	background-color:#ffffff;
	border-radius:6px;
	border:1px solid #000;
	display:inline-block;
	cursor:pointer;
	color:#666666;
	font-family:Arial;
	font-size:15px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #ffffff;
	margin-top:10px;
	font-size:normal;
}
.finish_quote_btn:hover {
	background:linear-gradient(to bottom, #e3e3e3 5%, #ffffff 100%);
	background-color:#e3e3e3;
}
.finish_quote_error{
	display:none;
}
.start_new{
	padding-top:10px;
}
.start_new:hover{
	text-decoration:underline;
	cursor:pointer;
}
.report_disclaimer{
	font-size:11px;
}
.our_carriers{
	padding-bottom:15px;
	font-weight:bold;
	color:#d40808;
	font-size:16px;
}
#fact_finder, #benefits_table{
	display:none;
	width:520px;
	padding:10px;
	background: rgba(255,255,255, 0.3);
	border: 1px solid #dbdbdb;	
	border-radius: 5px;
	min-height:375px;
	margin-bottom:25px;
	margin-top:20px;
}

@media only screen and (max-width: 768px) {
	#fact_finder, .ff_section table {
		width:unset !Important;
	}
	.ff_section table TH {
		width:70%;
	}
}

#ff_nav_div{
	margin-top:10px;
}
.btn_div{
	text-align:center;
}
.ff_btn{
	box-shadow:inset 0px 1px 0px 0px #bbdaf7;
	background:linear-gradient(to bottom, #79bbff 5%, #378de5 100%);
	background-color:#79bbff;
	border-radius:6px;
	border:1px solid #84bbf3;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:15px;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #528ecc;
	margin-right:25px;
}
.ff_btn:hover {
	background:linear-gradient(to bottom, #378de5 5%, #79bbff 100%);
	background-color:#378de5;
}
.active {
	background:linear-gradient(to bottom, #378de5 5%, #79bbff 100%);
	background-color:#378de5;
	color:#FFF !important;
}
.hide_table, .hide_nav, .business_location_hide, .business_payroll_hide, .business_sub_payroll_hide, .commercial_property_hide, .wc_hide, .loading_gif{
	display:none;
}
.ff_section {
	
}
.ff_section input[type=text], .ff_section input[type=email], .ff_section select{
	width:140px;
	padding:5px;
	float:right;
}

.quote-premium {
	position: relative;
	float: right;
	width: 140px;
	margin-left: 10px;
}
.quote-premium > span {
	position: absolute;
	left: 7px;
	top: 6px;
	pointer-events: none;
}
.ff_section .quote-premium input[type=text] {
	padding-left: 20px;
	margin-left: 0;
	box-sizing: border-box;
}

.email_result{
	font-weight:bold;
}

  .dots::after{
    content: "";
    display: inline-block;
    width: 1.2em;              /* reserves space so text doesn't "jump" */
    text-align: left;
    animation: dots 1s steps(4, end) infinite;
  }

  @keyframes dots {
    0%   { content: ""; }
    25%  { content: "."; }
    50%  { content: ".."; }
    75%  { content: "..."; }
    100% { content: ""; }
  }
  

.ff_question{
	padding:5px;
	background:red;
}

.ff_section .table-header{
	font-weight:bold;
}

.ff_section table{
	color:#4f4f4f;
	width:500px;
	background-color:#FFF;
	
}
.ff_section table td{
	padding: 5px;
}

.ff_section table td:nth-child(1){
	padding:10px;
}
.ff_section table tr:nth-child(odd){
	background-color: #ededed;
}
.ff_section table th {
  padding: 10px 5px 10px 5px;
  text-align: left;
	box-shadow:inset 0px 1px 0px 0px #bbdaf7;
	background:linear-gradient(to bottom, #79bbff 5%, #378de5 100%);
	background-color:#79bbff;
	color: white;
	text-shadow:0px 1px 0px #528ecc;

}
.ff_property table th {
  padding: 10px 5px 10px 5px;
  text-align: left;
	box-shadow:inset 0px 1px 0px 0px #bbdaf7;
	background:linear-gradient(to bottom, #79bbff 5%, #378de5 100%);
	background-color:#79bbff;
	color: white;
	text-shadow:0px 1px 0px #528ecc;

}
.line_header{
	background-color:#3b3838 !important;
	color:#c9c9c9;
}
.clear{
	clear:both;
}

.ff_nav{
	padding:5px;
	font-size: 12px;
	cursor:pointer;
	color:#4388d1;
	background-color:none;
	border:none;
	margin-bottom:2px;
	margin-right:2px;
}
.ff_nav:hover{
	box-shadow:inset 0px 1px 0px 0px #bbdaf7;
	background:linear-gradient(to bottom, #79bbff 5%, #378de5 100%);
	background-color:#79bbff;
	color: white;
	text-shadow:0px 1px 0px #528ecc;

}

.show_want_coverage, .show_want_umpd, .property_used{
	display:none;
}



::-webkit-input-placeholder { /* Edge */
  color: #cccccc;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #cccccc;
}

::placeholder {
  color: #cccccc;
}

.killsession{
	display:none;
}
#code_values{
	display:none;
	margin-top:15px;
}
#code_values table tr:nth-child(odd){
	background-color: #f2f2f2;
}
#code_values table tr:nth-child(even){
	background-color: #fff;
}

.disclaimer{
	font-size:12px;
	text-decoration:italic;
	color:red;
	
}
.married_div{
	display:none;
}

#benefits_table ul li, #complete ul li{
	padding: 5px 0px 5px 0px;
	
}
#benefits_table, #complete, #submit{
	position: relative;	
}
.quality-logo {
 /* position: absolute;
  top: -15px;
  right: -25px;
  */
  width: 90px;
  height: 90px;
}

@font-face {
	font-family: 'FontAwesome';
	src: url('../vendor/fonts/fontawesome-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

#start-table{
	display:none;
	width:500px;
}

#start_table h1{
	font-size:24px;
}
#left_div{
	width:225px;
	float:left;
}
#right_div{
	width:225px;
	float:left;
	margin-left:15px;
}
.line_header{
	padding: 5px;
	text-align: left;
	box-shadow:inset 0px 1px 0px 0px #bbdaf7;
	background:linear-gradient(to bottom, #79bbff 5%, #378de5 100%);
	background-color:#79bbff;
	color: white;
	text-shadow:0px 1px 0px #528ecc;
	border-radius: 3px;
}

.submit-header{
	padding-right:50px !important;
}

input[type=checkbox] { display:none; } /* to hide the checkbox itself */
input[type=checkbox] + label:before {
  font-family: FontAwesome;
  display: inline-block;
  margin:5px 0px 5px 20px;
}

input[type=checkbox] + label:before { content: "\f096"; } /* unchecked icon */
input[type=checkbox] + label:before { letter-spacing: 10px; } /* space between checkbox and label */

input[type=checkbox]:checked + label:before { content: "\f046"; } /* checked icon */
input[type=checkbox]:checked + label:before { letter-spacing: 8px; } /* allow space for check mark */




/**
 * CSS style for carouselTicker
 **/


#content-wrapper{
	margin-top:60px;
	width:100%;
	height:60px;
}
.carouselTicker__list {
  padding: 0;
  list-style-type: none;
  overflow: hidden;
  height:40px;
}

.carouselTicker__item {
  margin: 0 0 0 5px;
  float: left;
  width: 100px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

.carouselTicker__loader {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/**
 * CSS style for vertical direction
 **/

.carouselTicker_vertical .carouselTicker__list {
  margin: 0;
}

.carouselTicker_vertical .carouselTicker__item {
  margin: 0 0 5px 0;
  border: 4px solid red;
  width: 100px;
  height: 60px;
  line-height: 60px;
  text-align: center;
}

#carouselTicker .carouselTicker__item,
#carouselTicker-destructor-example .carouselTicker__item {
  width: auto;
  height: auto;
  line-height: normal;
}

.carouselTicker__item img {
  vertical-align: top;
  margin-right:20px;
}

			.line_header { 
				font-weight: bold;
				margin-top: 8px;
				margin-bottom: 8px;
			}
			.ff_section INPUT {
				margin-bottom: 10px;
				margin-left:10px;
			}

	#get_zip {
		display: none;
		width: 250px;
	}

	.btn-quote {
		width: 100%;
		font-size: 20px;
		padding:16px 0;
		font-family: open sans;
		font-weight: 700;
		color: #fff;
		background: linear-gradient(to bottom, #3498DB 0%, #3498DB 50%, #1e88d4 53%, #1e88d4 100%);
		border-radius: 4px;
		border: 0px;
		cursor: pointer;
	}
	.glow-white {
		box-shadow: 0px 0px 2px 4px #FFF;
	}
	.btn-quote:hover {
		box-shadow: 0px 0px 5px 5px #fff;
	}
