@charset "UTF-8";
/* CSS Document */
/*Column layout*/
.aaa-column-outer-container{
    background-color: #ffffff;
}
.aaa-column-inner-container{
	border-left: none;
	border-right: none;
	background-color: #ffffff;
}
.aaa-left-column{
    width: 25%;
	height: 200px;
	display: none;
}
.aaa-middle-column{
	border-left: none;
	border-right: none;
	padding: 0px;
	width: auto;
	max-width: 800px;
	float: none;
    margin: 0 auto;
}
.aaa-right-column{
    width: 20%;
	display: none;
}
/*Map*/
.aaa-map-inner-container{
    max-width: none;
}
.aaa-map-container{
    height: auto;
	padding: 24px;
}
.aaa-map-it-button{
	z-index: 4;
	bottom: 116px;
}
.aaa-map-cover{
	/**/
	background: -moz-radial-gradient(center, ellipse cover,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 44%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-radial-gradient(center, ellipse cover,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 44%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: radial-gradient(ellipse at center,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 44%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-8 fallback on horizontal gradient */
	top: -296px;
	top: 0;
    background: transparent;
    height: 0;
}
/*AAR Main Details*/
.aaa-details-top-container{
	position: relative;
}
.aaa-details-container{
	padding-bottom: 32px;
}
.aaa-details-container.map-open{
	position: inherit;
	width: auto;
	top: auto;
	left: auto;
	margin-top: 0px;
}
.aar-detail{
	position: relative;
	display: block;
	margin: 0px;
	text-decoration: none;
	cursor: inherit;
}
.aar-detail span{
	display: block;
}
.aar-detail .aar-count{
	background-color: #E5E5E5;
	height: 40px;
	width: 40px;
	border-radius: 50px;
	padding: 8px;
	text-align: center;
	float: left;
	margin-right: 14px;
}
.aar-detail .aar-shop{
	display: inline-block;
}
.aar-title{
	color: inherit;
	max-width: 450px;
}
.aar-title:hover{
	text-decoration: none;
}
.aar-address1{
	margin-top: 10px;
}
.aar-address1, .aar-address2{
	line-height: 22px;
}
.aar-phone{
	line-height: 22px;
	margin-top: 4px;
}
.aar-detail a{
	text-decoration: none;
	color: #003893;
	font-size: 16px;
	display: block;
	line-height: 22px;
}
.aar-detail a:focus {
    outline: 1px solid #333;
}
.aar-detail a:hover{
	text-decoration: underline;
}
.aar-detail-main-icons{
	margin-top: 24px;
	display: inline-block;	
}
.aar-detail-main-icons span{
	float: left;
	margin-right: 24px;
}
.aar-detail-main-icons span:lastg-child{
	margin-right: 0px;
}
.aar-main-logo{
	background-image: url('../images/aar-logo-color.svg');
	background-repeat: no-repeat;
	background-size: 66px 68px;
	background-position: center center;
	height: 68px;
	width: 66px;
	border: 0;	
}
.caar-main-logo{
	background-image: url('../images/caar-logo-color.png');
	background-repeat: no-repeat;
	background-size: 66px 68px;
	background-position: center center;
	height: 68px;
	width: 66px;
	border: 0;	
}
.aaa-napa-logo{
	background-image: url('../images/napa-icon.png');
	background-repeat: no-repeat;
	background-size: auto 68px;
	background-position: center center;
	height: 68px;
	width: 94px;
	border: 0;
}
.aaa-napapromo-logo{
	background-image: url('../images/napapromo-icon.png');
	background-repeat: no-repeat;
	background-size: auto 68px;
	background-position: center center;
	height: 68px;
	width: 94px;
	border: 0;
}
.aar-detail .aar-shop-img {
	float: left; 
}
.aar-detail .aar-shop-img img {
	margin-right: 25px;
	width: 200px;
}
.aar-detail .aar-side-detail {
	margin-top: 0px;
	display: inline-block;
	position: absolute;
	top: 0px;
	right: 0px;
}
.aar-detail .aar-distance {
	padding: 10px 0px;
	width: 100%;
}
.aar-detail .aar-distance span {
	display: inline-block;
}
.aar-detail .arr-icons span {
	display: inline-block;
	background-size: 32px auto;
	background-position: left center;
	background-repeat: no-repeat;
	height: 42px;
	width: 32px;
	margin-left: 6px;
}
.aar-detail .arr-icons span:first-child{
	margin-left: 0px;
}
/*AAR Discount and Hours*/
.aaa-details-bottom-container{
	border-top: 1px solid #E5E5E5;
	padding: 24px 0px;
}
.aar-detail-left{
	float: left;
	width: 40%;
}
.aar-detail-right{
	float: right;
	width: 50%;
}
.aar-discountRewards-logo{
	background-size: 121px auto;
    float: none;
    height: 38px;
    width: 130px;
	margin-bottom: 14px;
	background-color: #fff;
    border: 0;
}
a.aaa-btn.aaa-btn-secondary,
button.aaa-btn.aaa-btn-secondary{
	border: 2px solid #003893;
	background-color: transparent;
	color: #003893;
	margin-bottom: 0px;
}
a.aaa-btn.aaa-btn-secondary:hover,
button.aaa-btn.aaa-btn-secondary:hover{
	background-color: #F2F2F2;
}
a.aaa-btn.aaa-btn-secondary:focus,
button.aaa-btn.aaa-btn-secondary:focus{
	outline: 1px solid #333;
}
.aar-hours-return{
	display: inline-block;
	width: 100%;
}
.aar-day{
	text-align: left;
	float: left;
    width: 50%;
}
.aar-hours{
	text-align: left;
	float: right;
    width: 50%;
}
.aar-bottom-discount-return{
	margin-top: 12px;
}
/*Make Appointment*/
a#make-appointment.aaa-btn.aaa-btn-secondary{
	font-size: 16px;
}
.aaa-make-appointment{
	display: none;
	background-color: #f5f5f5;
}
.aaa-make-appointment .aaa-inner-container{
	padding: 24px;
	position: relative;
}
.aaa-make-appointment .aar-detail {
	margin: 24px 0 14px 0;
}
.aaa-make-appointment .aar-detail .aar-title {
	width: auto;
}
.aaa-make-appointment h2{
    margin-bottom: 12px;
}
.aaa-close-appointment{
	background-image: url('../images/x-icon.svg');
	background-size: 14px 14px;
	background-position: right center;
	background-repeat: no-repeat;
	color: #003893;
	font-size: 16px;
	text-align: right;
	padding: 28px;
	position: absolute;
    right: 24px;
    top: 12px;
	cursor: pointer;
}
.aaa-close-appointment-iframe {
	float: right;
	margin-right: 45px;
	padding: 0 0 30px 0;
	position: relative;
	right: 0;
	top: 0;
	width: 14px;
}
.aaa-make-appointment input.aaa-inputText{
    border: 1px solid #333;
}
.aaa-radioContainer label:before {
    content: '';
    border: 1px solid #333;
    position: absolute;
    left: 0;
    top: 1px;
    width: 22px;
    height: 23px;
    border-radius: 50%;
}
.aaa-make-appointment input.aaa-inputText.invalid, .aaa-aaaSelectContainer.year.invalid {
    box-shadow: 0 0 1.5px 1px red;
    outline: none;
	margin-bottom: 10px;
}
span.invalid-error {
    position: absolute;
    top: 85%;
    left: 0;
    font-size: 12px;
    font-style: italic;
    color: red;
	display: block;
}
small.error {
    position: absolute;
    left: 0;
    bottom: 5px;
    color: red;
    font-size: 12px;
	display: none;
	transition: .8s;
}
.invalid + small.error {
    display: block;
}
.aaa-formLeft {
    position: relative;
}
.aaa-make-appointment input.aaa-inputText::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #003893;
    opacity: 1;
}
.aaa-make-appointment input.aaa-inputText:-moz-placeholder { /* Firefox 18- */
	color: #003893;
    opacity: 1;
}
.aaa-make-appointment input.aaa-inputText::-moz-placeholder { /* Firefox 19+ */
	color: #003893;
    opacity: 1;
}
.aaa-make-appointment input.aaa-inputText:-ms-input-placeholder { /* IE 10+ */
	color: #003893;
    opacity: 1;
}
.aaa-make-appointment input.aaa-inputText[type=number] { /* Firefox */
	-moz-appearance: textfield;
}
.aaa-make-appointment input.aaa-inputText[type=number]::-webkit-inner-spin-button, 
.aaa-make-appointment input.aaa-inputText[type=number]::-webkit-outer-spin-button { /* Chrome/Opera/Safari */
    -webkit-appearance: none;
    margin: 0;
}
.aaa-make-appointment .aaa-aaaSelectContainer{
	border: 1px solid #333;
}
.aaa-make-appointment .aaa-aaaSelectContainer.invalid {
	box-shadow: 0 0 1.5px 1px red;
}
.aaa-make-appointment .aaa-aaaSelectContainer select {
	box-shadow: none;
}

.aaa-make-appointment .aaa-aaaSelectContainer select:focus {
    outline: 2px solid #000;
}
.aaa-make-appointment .aaa-aaaSelectContainer.disabled select:disabled {
	cursor: not-allowed;
}
.aaa-make-appointment input.aaa-inputText.aaa-phone-input{
	margin-right: 10px;
	width: 65px;
}
.aaa-make-appointment input.aaa-inputText.aaa-email-input{
	width: 300px;
}
.aaa-make-appointment textarea.aaa-textArea {
	border: 1px solid #333;
	width: 100%;
}
.aaa-make-appointment .aaa-apointment-transportation {
	height: auto;
	margin: 14px 0 0 0;
	min-height: 65px;
}
.aaa-make-appointment .aaa-apointment-transportation span {
	display: block;
}
.aaa-form-header{
	margin: 24px 0px;
}
.aaa-contacted-by-container{
	width: 50%;
}
/*Radios*/
.aaa-aar-radio-contact{
	float: left;
	width: 22%;
}
/*Checkboxes*/
.aaa-checkboxContainer input#alternateTransportation {
    width: 17px;
    height: 17px;
}
.aaa-checkboxContainer input#alternateTransportation:focus {
    outline: 2px solid #000;
}
.aaa-checkboxContainer label{
    background-color: #f5f5f5;
 	/* background-image: url('../images/check-box-border.png'); */
	 background-image: none;
	background-size: 24px 24px;
	font-size: 14px;
	padding-left: 0;
    margin-left: 34px;
}

.aaa-checkboxContainer:focus label,
.aaa-checkboxContainer label:focus {
  outline: #003893 solid 2px;
  width: 100%;
}

.aaa-checkboxContainer input:focus {
  outline: #003893 solid 2px;
}

.aar-alter-checkbox{
	width: 50%;
}
/*Submit Request*/
.aaa-make-appointment a.aaa-btn, .aaa-make-appointment input.aaa-btn{
	margin-bottom: 24px;
}
/*Appointment Summary*/
.aar-appointment-summary{
	margin-top: 14px;
}
.aar-summary-label{
    float: left;
    text-align: left;
    width: 50%;
}
.aaa-success-icon-title{
	background-image: url('/AAA/common/images/aaa_services/formelements/success-icon.svg');
	background-size: 44px 44px;
	background-repeat: no-repeat;
	background-position: left center;
	height: 54px;
    padding-left: 62px;
    padding-top: 10px;
}
.aar-appointment-success-return{
	display: inline-block;
	width: 100%;
}
.aar-appointment-success-left{
	text-align: left;
	float: left;
    width: 50%;
}
.aar-appointment-success-right{
	text-align: left;
	float: right;
    width: 50%;
}
/*AAR Details*/
.aar-shop-description{
	margin-bottom: 24px;
}
.aar-services{
	margin-top: 4px;
}
.aar-vehicle-services{
	float: left;
    margin-right: 24px;
    width: auto;
}
.aar-services-container .aar-detail-left{
	float: left;
	width: 40%;
}
ul.aar-detail-left {
    list-style: none;
    padding: 0;
    margin: 0;
}
.aar-services-container .aar-detail-right{
	float: right;
	width: 50%;
	height: auto;
}
.aar-section-title{
	margin-bottom: 12px;
}
/*Vehicles serviced*/
.aaa-vehicle-serviced{
	position:relative;
	overflow: hidden;
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
    -webkit-column-width: 120px;
    -moz-column-width: 120px;
    column-width: 120px;
    -moz-column-gap: 20px;
    -webkit-column-gap: 20px;
    column-gap: 20px;
}
ul.aaa-vehicle-serviced-list{
	position: relative; 
	list-style: none;
	padding: 0px;
	margin: 0;
}
ul.aaa-vehicle-serviced-list li{
  	padding-bottom: 4px;
}
ul.aaa-vehicle-serviced-list li a.aaa-link{
    font-size: 16px;
}
@media only screen and (max-width : 1300px){
	/*Column layout*/
	.aaa-left-column{
		display:none;
	}
	.aaa-middle-column{
		border-top: none;
		width: auto;
	}
	.aaa-right-column{
		width: 28%;
	}
}
@media only screen and (max-width : 980px){
	.aaa-inner-container{
		padding: 24px;
	}
	.aaa-details-container{
		position: inherit;
		width: auto;
		top: auto;
		left: auto;	
	}
	.aaa-details-container .aaa-inner-container{
		padding: 24px 24px 0px;
	}
	.aar-detail .aar-side-detail {
		display: block;
		margin: 14px 0;
		position: inherit;
	}
	.aar-detail .aar-distance.aar-hide {
		display: none;
	}
	.aaa-details-container.map-open{
		margin-top: 0px;
	}
	.aar-detail-left{
		float: none;
		width: 100%;
	}
	.aar-detail-right{
		float: none;
		width: 100%;
		margin-top: 24px;
	}
	.aar-services-container .aar-detail-left{
		float: none;
		width: 100%;
	}
	.aar-services-container .aar-detail-right{
		float: none;
		width: 100%;
		margin-top: 24px;
	}
	.aar-vehicle-services{
		margin-right: 10px;
		width: 28%;
		word-break: break-all;
	}
	.aar-vehicle-services:last-child{
		margin-right: 0px;
	}
	/*Make Appointment*/
	.aaa-close-appointment{
		right: 24px;
	}
	.aaa-close-appointment-iframe {
		margin-right: 40px;
		right: 0;
	}
	.aaa-make-appointment input.aaa-inputText.aaa-email-input {
		width: 100%;
	}
	/*AAR Discount and Hours*/
	.aaa-details-bottom-container{
		padding: 0px;
	}
}
@media only screen and (max-width : 860px){
	/*Column layout*/
	.aaa-middle-column{
		float: none;
		width: 100%;
	}
	.aaa-right-column{
		float: none;
		width: 100%;
	}
	/*Breadcrumbs*/
	#breadcrumbs{
    	border-bottom: 1px solid #d9d9d9;
	}
	/*Appointment*/
	.aar-appointment-form .aaa-formLeft{
		float: none;
    	padding: 0 0 12px;
	}
	.aaa-close-appointment-iframe {
		margin-right: 20px;
		right: 24px;
	}
	.aar-alter-checkbox{
		width: 100%;
	}
	.aaa-contacted-by-container{
		width: 100%;
	}
	.aaa-aar-radio-contact{
		width: 14%;
	}
	/*Article Summary*/
	.aaa-page-details-container.aaa-article-summary-main-container{
		display: none;
    	position: relative;
		border-top: 1px solid #d9d9d9;
	}
	.aar-see-more-articles-button a.aaa-btn.aaa-btn-secondary{
		margin-bottom: 0px;
	}
}
@media only screen and (max-width : 768px){
	/*Appointment*/
	.aaa-close-appointment-iframe {
		margin-right: 0;
	}
}
@media only screen and (max-width : 640px){
	.aar-detail .aar-shop-img img {
		width: 100%;
		margin: 25px 0px;
	}

	/*Appointment*/
	.aar-filter-set-left {
		float: none;
		width: 100%;
	}
	.aar-appointment-form .blk2{
		font-size: 22px;
	}
	.aaa-close-appointment{
		top: 11px;
	}
	.aaa-close-appointment-iframe {
		margin-right: 0;
		right: 24px;
		top: 0;
	}
	.aaa-make-appointment a.aaa-btn, .aaa-make-appointment input.aaa-btn{
		padding: 10px;
	}
	.aaa-success-icon-title {
		background-position: left top;
		font-size: 20px;
		height: auto;
		padding-left: 0px;
		padding-top: 54px;
	}
	.aar-appointment-success-left{
		float: none;
		width: 100%;
	}
	.aar-appointment-success-right{
		float: none;
		width: 100%;
	}
	.aaa-aar-radio-contact{
		width: 30%;
	}
}
@media only screen and (max-width : 360px){
	/*Appointment*/
	.aaa-close-appointment-iframe {
		right: 20px;
	}
}


input.aaa-btn:focus {
  outline: black solid 2px !important;
}

a.aaa-link:focus{
  outline: #003893 2px solid;
}