/*
	primary - 5382c2
	secondary - 
*/


/* Layout
-------------------------------------------------------------------*/
body { font: 62.5%/1.5 Helvetica, Arial, sans-serif; }
.center { width: 1000px; margin: 0 auto; }


/* Text / Links
-------------------------------------------------------------------*/
p,
.main-content li,
.main-content dl { color: #444; font-size: 1.5em; }
.main-content li li { font-size: 1em; }
.main-content p,
.main-content ul { margin-bottom: 15px; list-style-position: outside; }
.page-id-76 .main-content li {margin-bottom: 15px;}

h1, h2, h3, h4 { color: #5382c2; line-height: 1; font-family: 'Roboto Condensed', sans-serif; }
h1 { font-size: 2.8em; }
h2 { font-size: 2.2em; }
h3 { font-size: 1.8em; }
h4 { font-size: 1.5em; }

a { color: #5382c2; text-decoration: none; }
a:hover { text-decoration: underline; }

.main-content a { text-decoration: none; }
.main-content a:hover { text-decoration: underline; }


.btn { font-family: 'Roboto Condensed', sans-serif; font-size: 1.8em; padding: 10px 20px; line-height: 1; border: none; }
.btn-primary { background-color: #5382c2; }
.btn-secondary { background-color: #E7E6E6; color: #444; }
.btn-secondary:hover { background-color: #eee; }


/* Header
-------------------------------------------------------------------*/
header.main { padding: 20px 0; border-top: 10px solid #5382c2; border-bottom: 1px solid #ccc; }
header.main .logo { float: left; margin: 10px 0; }
header.main .logo a { display: block; }

header.main .search-form { float: right; font-size: 1.2em; }
header.main .search-form .search-field { border: 1px solid #ccc; padding: 2px; -webkit-border-radius: 4px; border-radius: 4px; }
header.main .search-form .search-submit { background-color: #eee; border: none; padding: 3px 15px; margin-left: 5px; -webkit-border-radius: 4px; border-radius: 4px; }



/* Nav
--------------------------------*/
header.main #main-nav {  }
header.main ul.nav { margin-top: 15px; }
header.main ul.nav > li { margin-left: 30px; }
header.main ul.nav > li > a {
	font-size: 1.6em;
	color: #444;
	padding: 0;
	font-family: 'Roboto Condensed', sans-serif;
}

header.main ul.nav > li > a:hover,
header.main ul.nav > li.active > a {
	text-decoration: none;
	color: #5382c2;
}
/* dropdown on hover */
/* .dropdown:hover .dropdown-menu { display: block; } */

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {/* background-color: #5382c2;*/ }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #eee; }
.dropdown-menu { background-color: #fff; }
.dropdown-menu > li > a { background-color: #fff; color: #5382c2; }

.mobile-nav { background-color: #333; width: 300px; right: -300px; position: fixed; top: 0; z-index: 1000; height: 100%; padding: 4% 2%; overflow: auto; }
.mobile-nav .close a { font-size: 3em; color: #fff; padding-left: 10px; display: block; }
.mobile-nav .close a:hover { text-decoration: none; opacity: .6; }
.mobile-nav ul.menu { margin-bottom: 20px; list-style-type: none; }
.mobile-nav ul.menu ul { list-style-type: none; }
.mobile-nav ul.menu ul li a { padding: 10px 0 10px 20px; }
.mobile-nav ul.menu ul ul li a { padding: 10px 0 10px 40px; }
.mobile-nav ul.menu ul li a:before { content: '❯'; margin-right: 10px; }
.mobile-nav ul.menu > li { font-size: 1.5em; }
.mobile-nav ul.menu li,
.mobile-nav ul.menu li.menu-item-has-children > a { border-bottom: 1px solid #444; }
.mobile-nav ul.menu li.last,
.mobile-nav ul.menu li.menu-item-has-children { border-bottom: none; }
.mobile-nav ul.menu li a { color: #fff; display: block; padding: 15px 0 15px 10px; }
.mobile-nav ul.menu li a:hover { background-color: #555; text-decoration: none; }
.mobile-nav form input { font-size: 1.3em; padding: 8px 10px; width: 100%; border: none; }
.admin-bar .mobile-nav { top: 32px; }


/* Template - styles used for every page
-------------------------------------------------------------------*/
.main-container { clear: both; margin: 40px 0; min-height: 300px; }
.main-container h1 { margin-bottom: 20px; background-color: #5382c2; padding: 15px; color: #fff; }
.main-container h2 { margin-bottom: 10px; }
.line { height: 1px; }

.sidebar-right { margin-left: 20px; }
.sidebar ul li { list-style-type: none; font-size: 1.5em; }
.sidebar ul li a { display: block; padding: 5px 10px; }
.sidebar ul li a:hover { background-color: #eee; text-decoration: none; }
.sidebar ul li.current_page_item a { background-color: #eee; }
.sidebar > ul > li > h4 > a { color: #333; padding: 0; }
.sidebar > ul > li > h4 > a:hover { background-color: transparent; color: #555; }
.sidebar ul li li { font-size: 1em; }
.sidebar h4 { margin-bottom: 10px; }



/* codes available
-------------------------------------------------------------------*/
.page-id-6403 {}
.sidebar-left h2 { color: #333; }
/*
li.cat-item {
    list-style-type: none;
    font-size: 22px !important;
    font-weight: bold;
    text-decoration: none;
}
*/

li.cat-item a {text-decoration: none;}

li.cat-item a:hover {
	color: #666;
}


/*
	
	*/
	
ul {
	list-style: none;
}

/* WooCommerce
-------------------------------------------------------------------*/
.woocommerce .woocommerce-breadcrumb a { color: #5382c2; font-weight: bold; }
.woocommerce .woocommerce-breadcrumb a:hover { color: #666; }

/* .woocommerce-cart .product-thumbnail { display: none; }	 */

/* product category */
.tax-product_cat .download-pdf { margin: 10px 0; }
.tax-product_cat .download-pdf a { font-size: 1.5em; }
.tax-product_cat span.price { font-size: 14px; }
.tax-product_cat table th { font-size: 16px; }
.tax-product_cat table td { padding: 10px 5px; border-bottom: 1px solid #ccc; }
.tax-product_cat .product-description p { margin-top: 3px; font-size: 1.3em; }


/* cart */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-family: 'Roboto Condensed', sans-serif; font-size: 1.8em; padding: 10px 20px; line-height: 1; border: none; background-color: #5382c2; }
.woocommerce-cart .cart-collaterals .cart_totals table td, 
.woocommerce-cart .cart-collaterals .cart_totals table th { padding: 10px; }
.woocommerce-cart .cart-collaterals .cart_totals table tr { border: none; }
.woocommerce-cart table,
.woocommerce-checkout table { font-size: 1.5em; }
.woocommerce-cart table p,
.woocommerce-cart table li,
.woocommerce-checkout table li,
.woocommerce-checkout table p { font-size: 1em; }
.woocommerce-cart table.cart .product-thumbnail { display: none; }

.woocommerce-checkout h3#order_review_heading { margin: 20px 0 10px 0; font-size: 2.2em; }
.woocommerce-checkout .woocommerce-billing-fields input { padding: 5px; border: 1px solid #ccc; }


/* checkout
-------------------------------------------------------------------*/
.woocommerce-checkout-payment li p { font-size: 1em; }
.woocommerce-checkout-payment input { padding: 5px; border: 1px solid #ccc; }
.woocommerce-checkout #payment div.payment_box:before { 
    border: 1em solid #fff;
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
}
.woocommerce-checkout #payment div.payment_box { background-color: #fff; }

.select2-results .select2-result-label { font-size: 1.2em; }

.woocommerce form .form-row.woocommerce-validated .select2-container, 
.woocommerce form .form-row.woocommerce-validated input.input-text, 
.woocommerce form .form-row.woocommerce-validated select { border: 1px solid #ccc; }

.woocommerce form .form-row.woocommerce-invalid .select2-container, 
.woocommerce form .form-row.woocommerce-invalid input.input-text, 
.woocommerce form .form-row.woocommerce-invalid select { border: 1px solid red; }

.woocommerce ul.products li.product h3 {font-size: 2em;}

.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
    float: none;
    margin: 0 3.8% 2.992em 0;
    padding: 0;
    position: relative;
	width: 100%;
}

.woocommerce-checkout #payment #place_order { padding: 10px; font-size: 1.8em; background-color: #5382c2; }

.woocommerce #content div.product div.summary, 
.woocommerce div.product div.summary, 
.woocommerce-page #content div.product div.summary, 
.woocommerce-page div.product div.summary {float: none;}


.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button { background-color: #5382c2; color: #fff; }


.woocommerce input.button.alt,
.woocommerce button.button.alt {
    background-color: #5382c2;
    color: #fff;
    font-size: 14px;
    padding: 4px;
    position: relative;
    float: right;
}

.woocommerce #respond input#submit.alt:hover, 
.woocommerce a.button.alt:hover, 
.woocommerce button.button.alt:hover, 
.woocommerce input.button.alt:hover {
    background-color: #263c5a;
    color: #fff;
}

.woocommerce .woocommerce-message {
    border-top-color: #5382c2;
}
.woocommerce .quantity .qty {
    width: 3.631em;
    text-align: center;
    background-color: #5382c2;
    color: #fff;
    font-family: Helvetica, Arial, sans-serif; 
    font-size: 13px;
    font-weight: bold;    
    border: 0px;
    border-radius: 2px;
    float: left;
    padding-left: 10px;
}
.woocommerce .woocommerce-message {
    border-top-color: #5382c2 !important;
    font-size: 16px;
    font-weight: bold;
}



.woocommerce .woocommerce-breadcrumb {
    font-size: 18px;
}
.woocommerce .woocommerce-message:before {
    color: #5382c2;
}

/*

.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals {
    font-size: 14px;
}
.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals p{
    font-size: 12px;
}
.amount {
	font-size: 16px;
}
*/
.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    width: 100%;
}
.woocommerce div.product .product_title {
	padding: 15px;
}


/* city
-------------------------------------------------------------------*/
.single-city .code-links { clear: both; }
.single-city .disclaimer { margin-top: 40px; border-top: 1px solid #ccc; padding-top: 40px; }
.single-city .disclaimer p { font-size: 1.3em; }
a.btn { text-decoration: none; }
.code-links .btn { margin-right: 20px; }

.mapcontainer { margin-bottom: 30px; }
.mapTooltip {
	position: fixed;
	background-color: #333;
	border-radius: 10px;
	padding: 10px;
	z-index: 1000;
	max-width: 200px;
	display: none;
	color: #fff;
	font-size: 1.5em;
}

.breadcrumb { font-size: 1.5em; margin-bottom: 10px; }

.tax-city_categories .main-container h2 a { text-decoration: none; margin-bottom: 15px; }
.tax-city_categories h2 a:hover { text-decoration: underline; }


/* code library
-------------------------------------------------------------------*/
svg { width: 100%; height: 100%; }


/* search
-------------------------------------------------------------------*/
.search .post { margin-bottom: 40px; padding-bottom: 45px; border-bottom: 1px solid #ccc; }



/* Home
-------------------------------------------------------------------*/
.home .banner .banner-image {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 350px;
}

.flex-control-nav { bottom: 18px; }
.flex-control-paging li a { background: rgba(255,255,255,0.6); }
.flex-control-paging li a.flex-active,
.flex-control-paging li a:hover { background: rgba(255,255,255,0.9); }
.home .banner .banner-content { height: 100%; text-align: center; background: rgba(0,0,0,.5); }
.v-align { position: relative; top: 50%; transform: translateY(-50%); }
.home .banner .banner-content a.btn { margin-top: 20px; }
.home .banner .banner-content p {
	font-size: 2.6em;
	color: #fff;
	font-family: 'Roboto Condensed', sans-serif;
	width: 66%;
	margin: 0 auto;
	text-align: center;
}

.home .featured { margin: 50px 0 80px 0; }
.home .featured .item { height: 160px; }
.home .featured .item:hover { background-color: rgba(0,0,0, .5); }
.home .featured .item a { display: block; height: 100%; width: 100%; transition: all .15s ease-in; border: 1px solid #fff; position: relative; background-color: #000; }
.home .featured .item h3 { color: #fff; font-size: 2em; text-align: center; }
.home .featured .item .image { width: 100%; height: 100%; background-position: center center; background-repeat: no-repeat; background-size: cover; position: absolute; left: 0; top: 0; transition: all .2s ease-in; }
.home .featured .item .v-align { z-index: 10; }
.home .featured .item.services .image { background-image: url(../images/featured_services.jpg); }
.home .featured .item.code-library .image { background-image: url(../images/featured_code_library.jpg); }
.home .featured .item.purchase-codes .image { background-image: url(../images/featured_purchase_codes.jpg); }
.home .featured .item.partnerships .image { background-image: url(../images/featured_partnerships.jpg); }

.home .featured .item a:hover { text-decoration: none; border-width: 3px; }
.home .featured .item a:hover .image { opacity: .7; }
.home .aml-marketing-text { width: 100%; }
.home .aml-marketing-text-inner { width: 100%; }
.home .aml-marketing-text-inner h2 { text-align: center; padding-top: 50px; color:#5382c2; font-size: 2.5em; }


/* Footer
-------------------------------------------------------------------*/
footer.main { background-color: #5382c2; }
footer.main p { font-size: 1.3em; color: #fff; }
footer.main a { color: inherit; }
footer.main h3 { color: #fff; font-size: 2em; margin-bottom: 5px; font-weight: normal; }

footer.main.top { padding: 30px 0 10px 0; }
footer.main.top .line { margin: 5px 0; }
footer.main.top p { margin-bottom: 15px; }
footer.main.top .contact { margin-top: 10px; }
footer.main.top .contact .item { margin-bottom: 25px; position: relative; }
footer.main.top .contact .v-align { position: absolute; }
footer.main.top .contact .item p { padding-left: 40px; line-height: 1.3; }
footer.main.top .contact .item img { float: left; }

footer.main.top .right p { font-size: 1.4em; }

footer.main.bottom { padding: 10px 30px; }
footer.main.bottom .line { margin-bottom: 30px; }
footer.main.bottom ul li { float: left; margin-right: 10px; list-style-type: none; }
footer.main.bottom ul li a { color: #fff; font-size: 1.3em; }
footer.main.bottom .right { text-align: right; }


/* Responsive
-------------------------------------------------------------------*/
@media screen and (max-width: 1060px) {
	.center { width: 96%; }
}

@media screen and (max-width: 900px) {
	.dropdown-menu { background-color: transparent; }
	.dropdown-menu > li > a { background-color: transparent; color: #fff; }
}

@media screen and (max-width: 550px) {
	.home .banner .banner-content p { font-size: 2em; line-height: 1.3; }
	header.main .logo { width: 80%; }
}











/* grads
-------------------------------------------------------------------*/
.grad-white-blue-white {
background: -moz-linear-gradient(left,  rgba(83,130,194,1) 0%, rgba(255,255,255,0.5) 30%, rgba(83,130,194,1) 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(83,130,194,1)), color-stop(30%,rgba(255,255,255,0.5)), color-stop(100%,rgba(83,130,194,1)));
background: -webkit-linear-gradient(left,  rgba(83,130,194,1) 0%,rgba(255,255,255,0.5) 30%,rgba(83,130,194,1) 100%);
background: -o-linear-gradient(left,  rgba(83,130,194,1) 0%,rgba(255,255,255,0.5) 30%,rgba(83,130,194,1) 100%);
background: -ms-linear-gradient(left,  rgba(83,130,194,1) 0%,rgba(255,255,255,0.5) 30%,rgba(83,130,194,1) 100%);
background: linear-gradient(to right,  rgba(83,130,194,1) 0%,rgba(255,255,255,0.5) 30%,rgba(83,130,194,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5382c2', endColorstr='#5382c2',GradientType=1 );

}

.grad-white-blue {
background: -moz-linear-gradient(left,  rgba(255,255,255,0.5) 0%, rgba(83,130,194,1) 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0.5)), color-stop(100%,rgba(83,130,194,1)));
background: -webkit-linear-gradient(left,  rgba(255,255,255,0.5) 0%,rgba(83,130,194,1) 100%);
background: -o-linear-gradient(left,  rgba(255,255,255,0.5) 0%,rgba(83,130,194,1) 100%);
background: -ms-linear-gradient(left,  rgba(255,255,255,0.5) 0%,rgba(83,130,194,1) 100%);
background: linear-gradient(to right,  rgba(255,255,255,0.5) 0%,rgba(83,130,194,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80ffffff', endColorstr='#5382c2',GradientType=1 );
}




/* ninja forms
-------------------------------------------------------------------*/
@media (min-width:600px){
	
	.ninja-forms-form-wrap input[type='number'] { width: 100px; }
	.ninja-forms-form-wrap .sub-total { border: none; }
	.ninja-forms-form-wrap select.list-as-text{
		appearance: none;
	    -webkit-appearance: none;
	    -moz-appearance: none;
	     /* needed for Firefox: */   
	    overflow:hidden;
	    width: 120%; 
	    pointer-events: none;
	    border: none;
	    background: transparent;
	}
	
	.ninja-forms-cont { font-size: 1.5em; }
	
	
	/* remove dumb fields from ninja forms */
	.ninja-forms-cont h2.ninja-forms-field,
	.ninja-forms-cont h3.ninja-forms-field { background-color: #fff; display: none; }

	.ninja-forms-cont .nf-desc { background-color: #888; padding: 10px; margin-bottom: 10px; }
	.ninja-forms-cont .nf-desc p { color: #fff; margin: 0; line-height: 1; }
	.ninja-forms-cont p { font-size: 1.2em; font-weight: bold; }
	.ninja-forms-cont li { font-size: 1em; }
	.ninja-forms-cont input,
	.ninja-forms-cont select,
	.ninja-forms-cont textarea { border: 1px solid #ccc; -webkit-border-radius: 4px; border-radius: 4px; padding: 2px 5px; color: #555; width: 100%; }
	.ninja-forms-cont select { height: 28px; }
	.ninja-forms-cont label { color: #555; text-transform: capitalize; }
	.ninja-forms-cont .label-left label { display: block; }
	.ninja-forms-cont input[type='submit'] { background-color: #000; color: #fff; -webkit-border-radius: 4px; border-radius: 4px; border: none; padding: 10px 20px; }
	.ninja-forms-cont input[type='submit']:hover { background-color: #333; }
	.ninja-forms-cont textarea { height: 80px !important; }
	.ninja-forms-required-items { display: none; }
	.field-wrap.label-left .ninja-forms-field, .field-wrap.label-left .ninja-forms-star-rating-control { margin-left: 0 !important; }
	.field-wrap, #ninja_forms_required_items { margin-bottom: 10px !important; }
	.ninja-forms-success-msg { color: green; }
	
	
	.ninja-forms-cont .list-dropdown-wrap{	width: 20%;	}
	.ninja-forms-cont .text-wrap{ width: 40%; margin-right: 5%; float: left; }
	.ninja-forms-cont .check_pay-wrap, 
	.ninja-forms-cont .number-wrap, 
	.ninja-forms-form-wrap .list-as-text-wrap { float: left; margin-right: 5%; }
	.ninja-forms-cont .form-clear,
	.ninja-forms-cont .form-clear-wrap{ clear: both; }
	.ninja-forms-cont .card-number-wrap{ width: 40%; margin-right: 7.5%; }
	.ninja-forms-cont .exp-date-wrap{ width: 20%; margin-right: 7.5%; }
	.ninja-forms-cont .security-code-wrap{ width: 10%; }
	.ninja-forms-form-wrap  .list-as-text-wrap,
	.ninja-forms-form-wrap .calc-wrap { float: left; /* width: 50px; */ }
	.ninja-forms-form-wrap .ninja-forms-field-calc-listen { margin-top: 5px; }
/* 	.ninja-forms-cont .ninja-forms-form-wrap input{ display: block; height: 2.8em;} */
	.ninja-forms-cont .ninja-forms-form-wrap select{ width: 20%; height: 1.8em; display: block; }

	.sub-total-wrap { color: #444; }
	.sub-total-wrap label { display: block; }
	.field-wrap.label-right.sub-total-wrap label, 
	.field-wrap.label-left.sub-total-wrap label { display: block !important; }
	
	.ninja-forms-cont .total-field-wrap { position: fixed; right: 0; top: 50%; z-index: 100; background-color: #000; padding: 10px; color: #fff; }
	.ninja-forms-cont .total-field-wrap label { color: #fff; margin-right: 5px; }
	.ninja-forms-cont .total-feild-wrap input { border: none; color: #fff; background: transparent; width: 75px; }
	
	
	.ninja-forms-error-msg { color: red; margin-bottom: 10px; }
	.ninja-forms-field-error p { color: red; margin-top: 5px; font-size: 1em; font-weight: normal; }


}
/*
@media (max-width:600px){
	.ninja-forms-cont .list-dropdown-wrap{	width: 20%;	}
	.ninja-forms-cont .text-wrap{ width: 80%; margin-right: 5%; }
	.ninja-forms-cont .check_pay-wrap, 
	.ninja-forms-cont .number-wrap, 
	.ninja-forms-form-wrap  .list-as-text-wrap { float: left; margin-right: 5%; }
	.ninja-forms-cont .form-clear,
	.ninja-forms-cont .form-clear-wrap{ clear: both; }
	.ninja-forms-cont .card-number-wrap{ width: 40%; margin-right: 7.5%; }
	.ninja-forms-cont .exp-date-wrap{ width: 20%; margin-right: 7.5%; }
	.ninja-forms-cont .security-code-wrap{ width: 10%; }
	.ninja-forms-form-wrap  .list-as-text-wrap,
	.ninja-forms-form-wrap .calc-wrap { float: left; width: 50px; }
	.ninja-forms-form-wrap .ninja-forms-field-calc-listen { margin-top: 5px; }
	.ninja-forms-cont .ninja-forms-form-wrap input{ display: block; height: 2.8em;}
	.ninja-forms-cont .ninja-forms-form-wrap select{ width: 20%; height: 2.8em; display: block; }

}
*/



/*put code library image into bottom of Ordinance Codification page*/
.wp-image-148{
	  width: 30%;
  	height: auto;
}
