@charset "UTF-8";
/* @import url('https://fonts.googleapis.com/css?family=Exo+2:400,400i,700,700i'); */

body {
	/* font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif; */
	font: 100%/1.4 'Exo 2', Verdana, Arial, Helvetica, sans-serif;
	font-weight: 400;
	background: #F6F6F6;
	margin: 0;
	padding: 0;
	color: #666;
}
em, i, {
	font-family: 'Exo 2', sans-serif;
	font-weight: 400i;
	}
h1, h2, h3, h4, h5, h6, strong, b {
	font-family: 'Exo 2', sans-serif;
	font-weight: 700;
	}
h1 + em, h2 + em, h3 + em, h4 + em, h5 + em, h6 + em, strong + em, b + em {
	font-family: 'Exo 2', sans-serif;
	font-weight: 700i;
	}


body.HomePage .home-link {
display:none;
}

/* FORM RESET FOR IOS */
textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
-webkit-appearance: none;
border-radius: 0;
}

.input-checkbox {
color: 444;
border: 1px #aaa solid;
padding: 0.3rem 0.3rem;
margin: 0rem auto 0.75rem auto;
}

form .border-bottom {
border-bottom: 1px #aaa solid;
margin-bottom: 0.75rem;
}


form .optionset {
display: block;
clear: both;
list-style: none;
width:auto;
}

form .optionset li {
display: inline-block;
clear: none;
float: left;
}


form fieldset {
border: 1px solid #ccc;
padding:0.5rem 0.75rem;
margin:0.5rem auto;
}
form fieldset legend {
padding:0.25rem 0.5rem;
}



form .optionset.multi-columns legend.left {
width: 100%;
float: none;
}

form .optionset.multi-columns .middleColumn {
float:none;
width:auto;
text-align: left;
display: block;
float: none;
}
form .optionset.multi-columns .middleColumn div {
display: inline-block;
box-sizing: border-box;
width: 50%;
float: left;
}



/* Left and right spacing for containers */
.edge-spacers {
padding:0 0.5rem;
}


/* ~~ Element/tag selectors ~~ */
ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
	padding: 0;
	margin: 0;
		box-sizing:border-box;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
	padding-right: 10px;
	padding-left: 10px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
	box-sizing:border-box;
	line-height:115%;
}
h1 {
font-size: 2.2rem;
}

.content h6 {
font-size: 0.8rem;
margin: 0.5rem auto 0;
font-style: italic;
font-weight: bold;
}

.content p {
	line-height:165%;
}


.agreement-container {
overflow-y: auto;
height: 275px;
border: 1px solid #ccc;
}




div {
	box-sizing:border-box;
}
small {
font-size:0.75rem;
line-height:1rem;
}
sup, sub {
/* font-size:0.75rem;
line-height:1rem; */
font-size:60%;
}
div.block_title {
display:none;
}

.left {
float:left;
padding-right:1rem;
}
.right {
float:right;
padding-left:1rem;
}


a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
	border: none;
}

/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
a:link {
	/* color:#5D87A1; */
	text-decoration: none; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
}
a:visited {
	/* color: #4E7389; */
	text-decoration: none;
}
a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
	text-decoration: none;
	/*	color:#57A6C9; */
}







input[type="button"],
input[type="submit"],
input.action {
padding: 0.75rem 1rem;
background-color: #5da423;
color:#dedede;
font-size: 1.5rem;
}
input[type="button"]:hover,
input[type="button"]:active,
input[type="submit"]:hover,
input[type="submit"]:active,
input.action:hover,
input.action:active {
background-color: #4E8A1E;
color:#fff;
}



.button:link {
	/* color:#5D87A1; */
	color:rgba(255,255,255,0.9);
	font-weight:bold;
	font-size:1.5rem;
	text-decoration: none; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
	padding:0.7rem 1.2rem;
	margin:0.2rem auto;
	/* border:1px solid #00a3ff;
	border-radius:3px; */
}
.button:visited {
	color: #4E7389;
	color: rgba(255, 255, 255, 0.5);
	text-decoration: none;
	/*	border:1px solid #007dc3; */

}
.button:hover, .button:active, .button:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
	text-decoration: none;
		color:#57A6C9;
			/* border:1px solid #33ccff; */
}



.top-bar, .top-bar ul {
background-color: transparent;
}

.content ul.menu, .content ol.menu {
padding:0;
}




#main-menu {
background-color: #dedede;
max-width: 70rem;
margin-left: auto;
margin-right: auto;
}
#main-menu li a:hover, #main-menu li a:active {
background-color: #f0f0f0;
}


.title-bar {
background: #5D87A1;
padding-bottom: 0.75rem;
}

.content .title-bar {
border-bottom: 1px dotted #ccc;
border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
}

.menu.main-nav li {
font-size: 85%;
}
.menu.main-nav > li > a {
text-align:center;
border-bottom: 1px dotted rgba(255,255,255,0.75);
}
ol.vertical.medium-horizontal.menu.main-nav {
border-bottom: 1px solid #ccc;
}

nav.secondary {
padding: 0 0 0.75rem 0;
margin-bottom: 0.5rem;
border-bottom: 1px solid #ccc;
}


#product-menu {
background-color: #5D87A1;
color:#efefef;
padding-bottom:1rem;
}
#product-menu .menu-text {
border-bottom: 1px solid #ccc;
border-bottom: 1px dotted rgba(255,255,255,0.4);
margin-bottom:0.5rem;
}
#product-menu a {
color:#efefef;
color: rgba(255,255,255,0.7);
font-size: 90%;
padding-right: 0;
padding-left: 0;
}
#product-menu a:visited {
color:#fefefe;
color: rgba(255,255,255,0.4);
}
#product-menu a:hover, #product-menu a:active, #product-menu a:focus {
color:#fefefe;
color: rgba(255,255,255,0.9);
}



.header {
padding-top: 2.5rem;
padding-top: 2rem;
	background: #fff;
	border-bottom: 5px solid #222;
}

.header .logo-container {
text-align: center;
padding-top: 0.7rem;
}
.header .social-container {
text-align: center;
}
.header .social-links small {
margin: 0;
display: block;
}

.header .header-brand-text {
display:none;
}





/* HIDE PAGE TITLES */
.our-brand .page-title.
{
display:none;
}






/* ~~ this container surrounds all other divs giving them their percentage-based width ~~ */
.container {
	width: 90%;
	max-width: 1280px;/* a max-width may be desirable to keep this layout from getting too wide on a large monitor. This keeps line length more readable. IE6 does not respect this declaration. */
	min-width: 300px;/* a min-width may be desirable to keep this layout from getting too narrow. This keeps line length more readable in the side columns. IE6 does not respect this declaration. */
	background: #ECECEC;
	/* background-image:url(../art/Main-BG-Sm.jpg);
		background-repeat:no-repeat;

	 -webkit-background-size: 100% auto;
     -moz-background-size: 100% auto;
       -o-background-size: 100% auto;
          background-size: 100% auto;*/
	margin: 0 auto 30px auto; /* the auto value on the sides, coupled with the width, centers the layout. It is not needed if you set the .container's width to 100%. */
	box-shadow: #000 0 15px 15px 15px;
	/* border:1px #888 solid;
	border-top:none; */
	box-shadow: rgba(0,0,0,0.5) 0 0 15px;

}



.container .main-spacer {
width:100%;
height:auto;
}





.container .home-buttons a {

display:block;
text-align:center;
line-height: 1.3;
padding-top:4rem;
padding-bottom:4rem;
margin-top: 1.5rem;
/*margin-top: 0.5rem;*/
border:1px solid #fff;
position: relative;
z-index:0;
min-height: 170px;
}
.container .home-buttons a:hover {
background-color:#F6F6F6;
}


.container .home-buttons.alert-container a {
min-height:none;
min-height:auto;
padding: 0.5rem 1rem;
}




.container .home-buttons a.our-brands-link {
background-image: url("../images/por-15-logo-med.png");
background-size: 131px 100px;
    background-repeat: no-repeat;
        background-position: center 20%;

padding-bottom:0rem;
padding-top:8rem;
}

.container .home-buttons a.our-brands-link.ai {
background-image: url("../images/ai-logo-med.png");
background-size: 140px auto;
    background-repeat: no-repeat;
        background-position: center 20%;

padding-bottom:0rem;
padding-top:8rem;
}



.container .home-buttons .our-brands-link span, .container .home-buttons .store-finder-link span {
/*background-color: rgba(255,255,255,0.4};*/
font-size:170%;
font-size: 1.25rem;
font-size: 1.15rem;
line-height: 1.1;

box-sizing: border-box;
background-color:#F6F6F6;
display:inline-block;
display:block;
width:100%;
padding:3px 3px 4px 3px;
position: absolute;
bottom:0;
left:0;
z-index:0;
}

.container .home-buttons a.store-finder-link {
background-image: url("../images/Store-finder-image.jpg");
background-size: cover;
background-repeat: no-repeat;
margin-top: 1.5rem;

padding-bottom:0rem;
padding-top:8rem;
padding-top:0rem;

position: relative;
min-height:172px;
}
.container .home-buttons .store-finder-link span {
position: absolute;
left: 0;
bottom: 0;
}

.container .home-buttons a.store-finder-link.ask-an-expert-link {
background-color: #231F20;
background-image: none;

/* background-image: url("../images/ask-an-expert-2.svg");
background-size: 60% auto;
background-position: center 18px;

    background-repeat: no-repeat;
    */

}
.container .home-buttons a.store-finder-link.ask-an-expert-link img.ask-an-expert-icon {
margin: 4px auto 0 2px;
width:100%;
max-width:90%;
}




.container .home-buttons a.store-finder-link.customer-projects-link {
width:100%;

/*  background-image: url("../images/CustomerProjectsNewsLink-img.jpg"); */
background-image: url("../images/TheSpotlightNewsLink-img-lg.jpg");
background-size: cover;
        background-position: top left;

    background-repeat: no-repeat;
}
.container .home-buttons a.store-finder-link.customer-projects-link img.customer-projects-icon {

}



.container .home-buttons a.build-link {
display:block;
text-align:center;
font-size:180%;
padding-top:0rem;
padding-bottom:0rem;
margin-top: 1.5rem;
border:none;
min-height:172px;
}

body .container .home-buttons a.ford32 {
background-image: url("../images/32RoadsterBuildLink-img.jpg");
background-size: cover;
        background-position: top left;

    background-repeat: no-repeat;

}

body .container .home-buttons a.builder-blog {
background-image: url("../images/POR-15-builds-link-bg.jpg");
background-size: cover;
        background-position: top left;

    background-repeat: no-repeat;

}

body .container .home-buttons a.jeep80 {
background-image: url("../images/JeepBuildLink-img.jpg");
background-size: cover;
        background-position: top left;

    background-repeat: no-repeat;

}










/* ~~ This is the layout information. ~~

1) Padding is only placed on the top and/or bottom of the div. The elements within this div have padding on their sides. This saves you from any "box model math". Keep in mind, if you add any side padding or border to the div itself, it will be added to the width you define to create the *total* width. You may also choose to remove the padding on the element in the div and place a second div within it with no width and the padding necessary for your design.

*/

.content {
	padding: 10px 0 0 ;
}


/* ~~ This grouped selector gives the lists in the .content area space ~~ */
.content ul, .content ol {
	padding: 0 15px 15px 40px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
}




ul.step-buttons {
padding: 0.75rem 0;
padding: 0.5rem 0;
}

form input.button,
button.step-button-next,
button.step-button-prev
 {
padding: 0.75rem 1rem;
background-color: #5da423;
color: #dedede;
font-size: 1.5rem;
}
form input.button:hover,
button.step-button-next:hover,
button.step-button-prev:hover
 {
background-color: #4E8A1E;
color: #fff;
}

body form .userform-progress div.progress {
margin-bottom: 0.5rem;
background: #ccc;
border-left: 10px #666 solid;
}

body form .userform-progress p {
text-align: center;
padding:0;
margin:0.25rem 0;
}
body form div.Enter-Product-Size {
margin-left:2rem;
}

body .userform legend.left {
display:block;
float:none;
}



/* ~~ miscellaneous float/clear classes ~~ */
.fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
	float: right;
	margin-left: 8px;
}
.fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the overflow:hidden on the .container is removed */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}



.main-intro {
padding-top:1.65rem;
padding-bottom:1rem;
}

.main-intro .right-side {
text-align:center;
}
.main-intro small {
	display: block;
/*width: 80%;
float: right;*/
padding-bottom:0.2rem;
}
.main-intro .social {
	/* max-width:320px; */
	text-align:right;
}

.main-intro .brand-logo {
float:left;
margin-bottom: 0;

}



.fb-container {
	top:3px;
	margin-right: 0.5rem;
}
.sema-callout {
border:1px solid #fff;
margin:1rem auto;
}


.products-used-image {
width:100%;
height:auto;
margin:1.5rem auto;
}



.align-right {
/*NEW PFX*/
text-align: right;
}


.footer {
padding:1.5rem 0;
clear:both;
/*NEW PFX*/
padding: 1.5rem 5em 2em;
margin: 2em 0 0;
clear: both;
max-width: 100%;
background-color: #ffffff;
}
.footer .columns {
padding-bottom:0rem;
}
.footer .columns img {
}



.social-links {
padding:1rem 0 1.5rem 0;
/* text-align:center; */
font-size:180%;
}
.tagline {
width:100%;
height:auto;
min-width:300px;
max-width:720px;
text-align:center;

}
.co-logo  {
text-align:center;
}
.co-logo img {
margin:0 auto;
}




.contact-info {
padding-top:1.75rem;
}




form input, form textarea {
width:100%;
color:444;
border:1px #aaa solid;
padding:0.3rem 0.3rem;
margin:0rem auto 0.75rem auto;
}

form input.button {
font-size:150%;
background-color:#4E7389;
color:#cfcfcf;
padding:0.75rem;
}
form input.button:hover, form input.button:active, form input.button:focus {
color:#fff;
}
form input[type="checkbox"], form input[type="radio"] {
 width: auto;
}

body form #MemberLoginForm_LoginForm_Remember_Holder label.right {
float:none !important;
}
form .radio-group legend {
display: block;
margin: 0;
font-size: 0.875rem;
font-weight: normal;
line-height: 1.8;
color: #0a0a0a;
}

.form-response {
font-weight:bold;
color:#4E7389;
}

/* Messages */
form .message {
    background-color: #fef4ba;
    padding: 5px 10px;
    border: 1px solid #e8c805;
    border-radius: 3px;
}
    form .good {
        background-color: #ecf9d0;
        border-color: #8fbe00;
    }
    form .bad, form .required {
        background-color: #f9d0d0;
        border-color: #cf0000;
        color: #b80000;
    }
/* Error messages
input:invalid,
textarea:invalid {
    border-radius: 1px;
    -moz-box-shadow: 0px 0px 5px #fce6e2;
    -webkit-box-shadow: 0px 0px 5px #fce6e2;
    box-shadow: 0px 0px 5px #fce6e2;
    border: 1px solid #fce6e2;
}*/
.no-boxshadow input:invalid,
.no-boxshadow textarea:invalid {
    background-color: #f0dddd;
}

.error-container {
padding-top: 0.2rem;
background-color: #fef4ba;
padding: 5px 10px;
border: 1px solid #e8c805;
border-radius: 3px;
}







h1.page-title {
color:#222;
font-size: 2.5rem;
text-align: center;
padding: 0.75rem 0;
margin-bottom: 0.4rem;
border-bottom: 1px solid #ccc;
}

body.clear-winner h1.page-title {
display:none;
}


body.clear-winner .content-container .pad-right-med {
padding:0;
}

@media (min-width: 640px) {
body.clear-winner .content-container .pad-right-med {
padding-right:45px;
}

}





.sponsors {
/* background-color: #fff;  */
}
.sponsors .column {
border-bottom:1px solid #ccc;
padding-top: 1.5rem;
padding-bottom: 2rem;
}
.sponsors .column:last-child {
/* border-bottom:none; */
}
.sponsors h3, .sponsors h4, .sponsors p {
color:#444;
color:#666;
padding-top: 0.5rem;
padding-bottom: 0;
margin-bottom: 0;
}
.sponsors h3, .sponsors h4 {
line-height: normal;
line-height: 1;
font-weight: normal;
font-size:120%;
color: #222;
}
.sponsors h4 {
font-size:103%;
}
 .sponsors p {
font-size:0.8rem;
}
.sponsors-title {
text-align:center;
font-size: 3rem;
color: #666;
padding: 0.75rem 0;
margin-bottom:0.4rem;
border-bottom:1px solid #ccc;
color: #222;
}
.sponsors img {
width:45%;
max-width:262px;
height:auto;
margin-top: 0.5rem;
margin-right: 0.5rem;
float:left;
}


.top-anchor {
float:right;
}




/* FOOTER */
.footer .end {
    /* color: #999;
    background: #ededed;
    padding: 20px 0;
    font-size: 11px;
    line-height: 22px;*/
        font-size: 0.75rem;
}
	.footer .end a {
	    /* color: #999; */
	    color: #666;
	}
	.footer .end a:hover {
	    /* color: #B90000; */
	   color: #4E7389;
	}
	.footer .end .left {
	    float: left;
	    /* color: #000; */
	    display: block;
	    margin-bottom: 10px;
	}
	.footer .end .right {
	    float: right;
	    display: block;
	    margin-bottom: 10px;
	}
	.footer .end span {
	    padding: 0 3px;
	   /*  color: #bbb; */
	}
	.footer .end .primary,
	.footer .end .primary ul {
	    display: inline;
	    margin: 0;
	    padding: 0;
	}
		.footer .end .primary li {
		    display: inline;
		}
	.ie6 .footer .end .primary li,
	.ie7 .footer .end .primary li { /* this is a bugfix for ie6/7 */
	    display: inline;
	    zoom: 1;
	    margin-right: 10px;
	}
	.footer .end .primary li:after { /* adds '/' to separate the footer navigation items */
	    padding: 0 3px 0 5px;
	    content: '/';
	   /*  color: #999; */
	   color: #999;
	}
	.footer .end .primary li:last-child:after {
	    content: ''; /* makes sure last nav item doesn't have a '/' following it */
	}
	.footer .end .arrow {
	    padding: 0 8px 0 5px;
	   /* color: #b80000;
	    font-size: 13px; */
	            font-size: 1rem;
	            	   color: #4E7389;
	}
	.footer .end .primary .nav-open-button {
	    display: none; /* the footer includes the primary nav include - this makes sure the nav open close button doesn't show up */
	}

.footer .end .row::before, .footer .end .row::after {
display:inline-block;
clear:none;
}






body.our-brand .sponsors .product img {
  -webkit-filter: drop-shadow(5px 5px 5px #222 );
  filter: drop-shadow(5px 5px 5px #222);
  -webkit-filter: drop-shadow(2px 2px 3px #666 );
filter: drop-shadow(2px 2px 3px #666);
margin-bottom: 0.15rem;
}



/* Medium and up */
@media screen and (min-width: 40em) {

.menu.main-nav > li > a {
text-align:left;
border:none;
}

#main-menu {
background-color: transparent;
}
#main-menu li > a {
background-color: transparent;
}
#main-menu li a:hover, #main-menu li a:active {
background-color: transparent;
}
#main-menu .menu > li:first-child > a {
/*padding-left:0;*/
}
ol.vertical.medium-horizontal.menu.main-nav {
border-bottom: none;
}

.sponsors h3, .sponsors h4 {
font-size:140%;
}
.sponsors h4 {
font-size:115%;
}


}


@media only screen and (min-width: 700px) and (max-width: 1000px){
.container .home-buttons .our-brands-link span, .container .home-buttons .store-finder-link span {
font-size: 1.1rem;
line-height: 1.3;
}
}


@media (min-width: 700px) {
/*
.social-links {
text-align:left;
}
*/
.header .logo-container {
text-align: right;
padding-bottom: 20px;
}
.header .social-container {
text-align: left;
}
.container .home-buttons {
/* padding-top:3rem; */
}
.tagline {
text-align:left;
}
.content ul.menu, .content ol.menu{
padding: 0 0 0 1rem;
}


 }











/* Print Styles */

/* Based on HTML5 boilerplate print styles */
@media print {
	* {
	    background: transparent !important;
	    color: black !important;
	    box-shadow: none !important;
	    text-shadow: none !important;
	    filter: none !important;
	    -ms-filter: none !important;
	}
	a,
	a:visited {
	    text-decoration: underline
	}
	a[href]:after {
        content: " (" attr(href) ")";
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

	thead {
	    display: table-header-group
	}
	tr,
	img {
	    page-break-inside: avoid
	}
	img {
	    max-width: 100% !important
	}
	pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    @page {
        margin: 0.5cm;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    /* Simple theme custom print styles */
	.header,
	.footer,
    .nav-open-button,
    .search-bar,
    .search-dropdown-icon,
    nav.primary {
	    display: none;
	}
}
