*	{
	font-family: 'Bitter', serif;
	font-weight: normal !important;
}


body	{
	max-width:800px;
	margin: 0 auto;
}

div#if-logo {
    width: 400px;
    margin: 0 auto 30px;
}

div#if-logo img {
	width: 100%;
}

.package-service-select input[type="checkbox"] {
    display: none;
}

.package-service-select label {
    border: 2px solid #ccc;
    width: 100px;
    display: inline-block;
    text-align: center;
    padding: 10px 0;
    border-radius: 5px;
	cursor: pointer;
}

.package-service-select input[type="checkbox"]:checked+label {
    background: #2d4159;
    color: white;
    border-color: #2d4159;
}

div#package-select-wrap {
    text-align: center;
    margin-bottom: 20px;
}

p.fine-print {
    color: #ccc;
    font-size: 12px;
}

div#shop-tools {
    width: 100%;
    left: 0;
    padding: 10px;
    z-index: 10;
}

#shop-tools-inner {
    max-width: 900px;
    margin: 0 auto;
}

p.shop-tools-header {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 18px;
    line-height: 14px;
    margin-bottom: 5px;
}

.address-result {
	border:1px solid #ccc;
	border-radius: 2px;
	box-sizing: border-box;
	width: 30.333333333333%;
	margin: 15px 1.5%;
	float:left;
	padding:10px;
	cursor: pointer;
	transition: all 0.25s;
}

	.address-result:hover {
		background: #2d4159;
		color: white;
	}
	
	.address-result:hover p{
		color: white;
	}

.address-result p {
	margin: 0;
	transition: all 0.25s;
}

.search-result-intro {
	margin: 15px;
	text-transform: uppercase;
	weight:700;
}

.loader	{
	display: block;
}

#result-back-button	{
	position: absolute;
	top: 0;
	left: 20px;
}

.product_col	{
	width:25%;
	float:right;
	height: 310px;
    box-sizing: border-box;
}
	.product-col-inner {
	    height: 260px;
	    border-left:1px solid #999;
		color: blue;
	}
	
	.product_col p	{
		text-align: center;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    height: 100vh;
	    margin-bottom: 0;
	    border-bottom: 1px solid #999;
	    box-sizing: border-box;
	    font-size: 16px;
	    line-height: 18px;
	    transition: all 0.2s ease-in;
		cursor: pointer !important;
		margin-block-start: 0;
	}
	
	.product_col p.selected	{
		color: white;
		background: #2d4159;
		font-weight: 600;
	}

.provider_col	{
	width:25%;
	float:left;	
	
}

	.provider_col p.logo	{
		text-align: center;
/*	    display: flex;*/
	    align-items: center;
	    justify-content: center;
/* 	    height: 310px; */
	    margin: 15px 0;

	}
	
	.provider_wrap .logo {
/* 	    height: 310px; */
	    text-align: center;
	    padding: 0 !important;
	}
	
.col-header {
    padding: 10px;
    margin: 0;
    border-bottom: 1px solid #999;
    font-size: 20px;
    line-height: 30px;
}

	.col-header.first	{
		border-left: 1px solid #999;
	}
	
.price_row {
    width: 100%;
    border: 1px solid #999;
    border-radius: 0 0 3px 3px;
    border-top: none;
    box-sizing: border-box;
    padding-left: 25%;
}

.summary-col {
    width: 33.333333333333333%;
    float: left;
    text-align: center;
}

.price_row p {
    width: 100% !important;
}

.button_row {
    clear: none !important;
}

.provider_inner {
    border-radius: 3px 3px 0 0 !important;
}

.price_row p	{
	padding: 10px 0;
}

.price_row span {
    line-height: 24px;
}

.button_row button {
    font-size: 22px;
    padding: 10px 0;
}


#address-modal	{
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height: 100%;
	background: #2d4159;
	z-index: 9999;
}

	#address-modal-close {
	    position: absolute;
	    top: 0px;
	    right: 20px;
	    color: white;
	    font-size: 45px;
	    font-weight: 300;
	    cursor: pointer;
	}

	#address-modal-inner	{
		width: 500px;
		margin: 0 auto;
		height:100%; 
		/*overflow-y: auto; */
	}
	
	#address-modal-inner h2 {
		font-weight:300;
		font-size: 72px;
		text-align: center;
		text-transform: uppercase;
		color:white;
		margin-top:50px;
	}

.form-item {
padding:5px 20px;
}
	
	#address-modal-inner p {
		color: white;	
	}
	
	#address-modal-inner .form-item	{
		padding-bottom: 0;
	}
	
	#address-modal-inner .form-text	{
		color: white;
	}
	
	#address-modal-inner .form-submit	{
		text-align: right;
		margin-top:15px;
		margin-bottom: 20px;
	}
	
	#address-modal-inner input[type="submit"] {
	    background: black;
	    color: white;
	}
	
	
		#address-modal-inner input[type="submit"]:hover {
		    background: white;
		    color: black;
		}
	
	#address-modal-inner input[type="text"]	{
		border: none;
	}
	
	
.contract_wrap {
    width: 47%;
    margin: 10px 1.5%;
    float: left;
    border: 1px solid #999;
    box-sizing: border-box;
    text-align: center;
    border-radius: 3px;
}

	.contract_wrap p.contract_nrc {
	    border-right: none !important;
	}
	
	.contract_wrap p.contract_nrc, .contract_wrap p.contract_mrc {
	    padding-top: 15px;
	}

	p.contract_name {
	    font-weight: 700;
	    font-size: 24px;
	}
	
div#step_start, div#step_contract, div#step_info, div#step_summary	{
	visibility: hidden;
	opacity: 0;
	transition: opacity 1s ease-in;
	height: 0px;
	overflow: hidden;
}	

div#step_start.current_step, div#step_contract.current_step, div#step_info.current_step, div#step_summary.current_step	{
	visibility: visible;
	opacity: 1.0;
	height: auto;
}

div#shop-tools-inner > div {
    width: 50%;
    float: left;
}

div#shop-tools-steps li {
    display: block;
    width: 25%;
    float: left;
    text-align: center;
    position: relative;
}

div#shop-tools-steps li:after {
    content: "";
    display: block;
    width: 60px;
    border-top: 1px solid #ccc;
    position: absolute;
    top: 15px;
    left: 60px;
}	
	div#shop-tools-steps li:last-child:after	{
		display: none;
	}

#shop-tools-inner li span {
    display: block;
}

span.step-number {
    width: 30px;
    height: 30px;
    border: 1px solid #ccc;
    border-radius: 15px;
    line-height: 35px;
    font-size: 25px;
    margin: 0 auto;
    font-weight: 300;
    color: #ccc;
    box-sizing: border-box;
}

span.step-name {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 15px;
    margin-top: 10px;
    color: #ccc;
}

li.complete span.step-number {
    background: #999;
    border-color: #999;
    color: #f0f0f0;
}

li.complete span.step-name {
    color: #999;
}

li.current span.step-number {
    background: #2d4159;
    border-color: #2d4159;
    color: white;
}

li.current span.step-name {
    color: black;
}


.provider-options input[type="number"] {
    width: 90%;
    border: 1px solid #ccc;
    border-radius: 2px;
    padding: 10px;
    width: 30%;
    display: block;
    text-align: center;
    float: right;
    margin-bottom:5px;
}

.provider-options	{
	padding:10px;
}

.provider-options label	{
	font-size:12px;
	display: block;
	width: 65%;
	float: left;
	text-align: left;
}

.provider-option-header	{
	font-weight:700;
	font-size:12px;
	text-align:left;
	text-transform: uppercase;
}


.premium-overlay {
    position: absolute;
    right: 0;
    font-size: 12px;
}

span.premium-trigger{
    font-size: 10px;
    float: right;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    padding: 0 5px;
    border: 1px solid #ccc;
    border-radius: 20px;
    line-height: 21px;
    top: 4px;
    position: relative;
    transition: all 0.2s ease-in;
}

	.video_products .col-header:hover .premium-overlay{
		display: block;	
	}
	
	.video_products .col-header:hover .premium-trigger{
		border-color: #2d4159;
		background: #2d4159;
		color: white;	
	}

.premium-overlay {
    position: absolute;
    right: -11px;
    font-size: 12px;
    background: #ccc;
    top: 36px;
    width: 217px;
    height: 259px;
    display: none;
}

.addon-button	{
	border-bottom:1px solid #999;
	text-align:center;
	padding:7px 0;
	color: black;
	background: white;
	display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease-in;
    text-transform: none;
    font-size:12px;
    transition: all 0.2s ease-in;
}

	.addon-button.selected	{
		background: #2d4159;
		color: white;
		font-weight: 700;
	}
	
span.remove-signer {
    text-decoration: underline;
    color: #999;
    margin-top: 25px;
    display: block;
    cursor: pointer;
}

	span.remove-signer:hover	{
		color: #2d4159;
	}


.add-signer {
    display: block;
    width: 125px;
    margin: 0 auto;
    text-align: center;
    border: 1px solid #999;
    border-radius: 20px;
    padding: 5px;
    margin-top: 10px;
    color: #999;
    cursor: pointer;
}

	.add-signer:hover	{
		background: #2d4159;
		color: white;
		font-weight: 700;
		border-color: #2d4159;
	}
	
	
p.cue-sign-detail {
    padding-left: 20px;
}

.cart-nav button	{
	width:150px;
}

	.cart-nav button.next-button	{
		float: right;
	}
	
	.cart-nav button.back-button	{
		float: left;
		border-color: #999;
		color: #999;
	}
	
		.cart-nav button.back-button:hover	{
			background: #999;
			color: white;
		}
		
		
.summary-col.summary-amount-col {
    width: 16.6666666667%;
    text-align: center;
}
		
.summary-row {
    clear: both;
}

.summary-col img {
    max-width: 100px;
}

.summary-col h2 {
   font-size:16px;
}

.summary-col	{
	text-align: left;
}


.validation-message {
    text-align: center;
    width: 80%;
    margin: 10px auto;
    padding: 5px 0;
    border: 1px solid #f5a56b;
    border-radius: 3px;
    background: #fde9da;
    font-weight: 700;
}

.validation-message.fixed-message	{
	position: fixed;
	bottom: 0;
	border-radius: 3px 3px 0 0;
	border-bottom:none;
	margin: 0 auto;
	width: 60%;
	left: 10%;
}


.invalid-field {
    border-color: #f5a56b !important;
    background: #fde9da;
}





@media only screen and (max-width: 425px) {
	.validation-message {
	    width: 100%;
	}
	
	.address-result {
	    width: 100%;
	    margin-bottom: 5px;
	}
	
	#result-back-button {
	    position: static;
	    margin-bottom:10px;
	}
	
	#shop-tools-steps	{
		display: none;
	}
	
	#app_wrap div#shop_wrap {
	    margin-top: 125px;
	    padding: 10px;
	}
	
	div#shop_wrap .provider_wrap {
		width: 91% !important;
	}
	
	.product_col {
	    width: 100%;
	    float: none;
	    height: auto;
	    box-sizing: border-box;
	}
	
	.provider_col {
	    width: 100%;
	}
	
	.provider_col .logo img {
	    max-width: 200px;
	    height: auto !important;
	    max-height: 200px;
	}
	
	.provider_col {
	    height: auto !important;
	    width: 100%;
	    float: none;
	}
	
	.summary-col {
	    width: 50% !important;
	}
	
	.price_row {
	    padding-left: 0;
	}
	
	.summary-col.button_row {
	    width: 100% !important;
	}
	
	.product_col p {
	    height: auto !important;
	    padding: 15px 0;
	    border-left: none !important;
	    border-right: none !important;
	}
	
	.product-col-inner {
	    height: auto !important;
	    border-left: none;
	}
	
	h2.col-header {
	    margin-left: 0 !important;
	    border-left: none !important;
	    width: 100% !important;
	    box-sizing: border-box;
	    background: #ccc;
	}
	
	div#shop-tools-title {
	    width: 100% !important;
	}
	
	p.logo {
	    height: auto !important;
	}
	
	.summary-col:nth-child(1), .summary-col:nth-child(2) {
	    width: 100% !important;
	}
	
	.summary-col img {
	    max-width: 150px;
	    margin-top: 20px;
	}
}


.provider_col p img  {
max-width:90%;
height:50px;
}


@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */
.product_col p {
    height: auto !important;
}

.product-col-inner{
position:relative;

}

.product-col-inner p  {
margin:0;
padding:7px 11px
}

}