@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Open+Sans:400,400i&display=swap');

*, *:after, *:before {-webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit;}
* {-moz-font-feature-settings: "liga" 0; font-feature-settings: "liga" 0; -webkit-font-feature-settings: "liga" 0;}
*{margin: 0;padding: 0;}

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
  
html{
  font-size: 62.5%;
	color: #333;
  -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; height: 100%;
}

body {
  overflow-x:hidden;
  line-height: 1;  
  font-weight: 400;
  font-family: 'Open Sans', sans-serif;
  text-rendering: optimizeLegibility;
  box-sizing: border-box;
  font-size: 1.6rem;
}
h1 ,h2, h3, h4 {font-family: 'Lato', sans-serif; font-weight: 700;}

h2 {font-size: 3rem;}
h3 {font-size: 2.2rem; line-height: 1.3;}
ul, nav{
	list-style: none;
}
a{
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
img {display: block;}

section h2 {text-align: center;}

p, ul li {
	line-height: 1.5;
}

button {overflow: visible;}
button, select {text-transform: none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button; cursor: pointer;}
button[disabled], html input[disabled] {cursor: default;}
button::-moz-focus-inner, input::-moz-focus-inner {border: 0; padding: 0;}
input {line-height: normal;}

/* Generic */
.section__button {display: block; text-align: center; padding: 3rem 0 0;}
.btn {
  font-size: 1.7rem;
  padding: 1.5rem 2rem;
  background-color: #333;
  text-transform: uppercase;
  font-weight: 700;
  min-width: 20rem;
  margin: 0 auto;
  color: #ffffff;
  display: inline-block;
  box-shadow: 4px 5px 4px -3px rgba(145,140,144,0.6);
  border: none;
}

.section__columns {
	display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
	flex-flow: row wrap;
	align-items: stretch;
  justify-content: space-between;
}

.col-item {flex: 1;}
.col-item img {width: 100%;}

.two_col .col-item {padding: 0 0.125%; flex-basis: 50%;}
.three_col .col-item {flex-basis: 33.33333%;}

.section {
  margin: 0 auto;
  max-width: 120rem;
  width: 70%;
  min-height: 20rem;
  padding: 4.5rem 0;
}
.section:after {visibility: hidden; display: block; content: ""; clear: both; height: 0;}
* html .section             {zoom: 1;} /* IE6 */
*:first-child+html .section {zoom: 1;} /* IE7 */

.section__title, .space__lge-bot {margin: 0 0 3.5rem;}
.space__med-bot {margin: 0 0 2.5rem;}

@media screen and (max-width: 980px) {
	.section {
    width: 90%;
    padding: 3rem 0;
	}
}


/*  Header  */
/*
.no-webp .header {background-image: url("/img/hero.jpg");}
.webp .header {background-image: url("/img/hero.webp");}
*/

.header {padding: 40px 0px 0px;}

@media only screen and (min-width: 1600px) {
  .no-webp .header {background-image: url("/img/hero.jpg");}
  .webp .header {background-image: url("/img/hero.webp");}
}
@media only screen and (max-width: 1599px) {
  .no-webp .header {background-image: url("/img/hero-1280.jpg");}
  .webp .header {background-image: url("/img/hero-1280.webp");}
}
@media only screen and (max-width: 1024px) {
  .no-webp .header {background-image: url("/img/hero-1024.jpg");}
  .webp .header {background-image: url("/img/hero-1024.jpg");}
}
@media only screen and (max-width: 640px) {
  .no-webp .header {background-image: url("/img/hero-640.jpg");}
  .webp .header {background-image: url("/img/hero-640.webp");}
}
@media only screen and (max-width: 440px) {
  .no-webp .header {background-image: url("/img/hero-420.jpg");}
  .webp .header {background-image: url("/img/hero-420.webp");}
}
@media only screen and (max-width: 320px) {
  .no-webp .header {background-image: url("/img/hero-300.jpg");}
  .webp .header {background-image: url("/img/hero-300.webp");}
}
.header {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.header .section {
  min-height: 53.2rem;
  color: #ffffff;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
.header h2 {font-family: 'Open Sans', sans-serif; font-size: 2.9rem; font-style: italic; font-weight: 400; line-height: 1.35;}
.header__byline {text-align: center; position: absolute; bottom: 8.5rem; left: 0; right: 0;}
.header__title {padding: 0 10px 0;}
.header__title-element {position: relative;}
.header__title-element img {}
.header__title-brands {max-width: 25%;}
.header__title-brands img {width: auto; height: 100%; position: absolute; object-fit: contain;}
.brand-one {object-position: left; margin-left: 3rem;}
.brand-two {object-position: right; margin-right: 3rem;}

@media screen and (max-width: 640px) {
  .header {padding: 30px 0px 0px;}
  .two_col {display: block;}
  .header__title {display: flex; margin: 0 auto; width: 90%;}
  .header__byline {bottom: 6rem;}
  .header__byline h2 {line-height: 1.3; font-size: 2.5rem;}
  /*.header__title-element {flex: none !important; width: 100%; display: block;}*/
  .header__title-logo {flex: none !important; width: 100%; display: block;}
  .header__title-brands {max-width: 50%; flex: 1 50%; max-height: 8rem; margin-top: 4rem;}
  .header__title-brands img {height: 100%; position: relative; margin: 0; width: 100%;}
  .header .section {min-height: 53.2rem; height: 65vh;}
}

@media screen and (max-width: 450px) {
  .header {padding: 20px 0px 0px;}
  .header .section {height: 74vh;}
  .header__title {display: block;}
  .header__byline h2 {line-height: 1.3; font-size: 2.2rem;}
  .header__byline {bottom: 5rem;}
  .header__title-brands {max-width: 100%; flex: none; max-height: 100%; margin: 0 auto; margin-top: 2rem;}
  .brand-one-wrap {width: 10rem;}
  .brand-two-wrap {width: 19rem;}
}



/*  Copy(Main Text) Section  */

@media screen and (max-width: 640px) {
  .section__copy .section__columns {width: 80%; margin: 0 auto;}
  .section__copy h3 {text-align: left;}
  .mobile-top-space {margin-top: 3.5rem;}
}


/*  Swatches  */
.section__swatches .col-item {text-align: center; margin-bottom: 5rem;}
.section__swatches .col-item img {width: 90px; margin: 0 auto; margin-bottom: 2rem;}
.section__swatches .section__button {padding: 0 0 3rem;}

@media screen and (max-width: 540px) {
  .four_col .col-item {flex-basis: 50%;}
  .three_col .col-item {flex-basis: 100%;}
}
@media screen and (max-width: 420px) {
  .four_col .col-item {flex-basis: 100%;}
}


/*  Video  */
.section__video .section__title {margin: 3.5rem 0 0; font-size: 3rem; text-align: center;}
.vid-wrap {
	position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;
  width: 100%;
}
.vid-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 640px) {
  .section__video .section__title {font-size: 2.4rem;}
}
@media screen and (max-width: 420px) {
  .section__video .section__title {font-size: 2rem;}
}



/* List */
ul {
  list-style: disc;
  margin: 0 0 1rem 3rem;
  padding-left: 1rem;
}

ul li {
	padding-left: 0;
}


/* Form */
form {margin: 0 0 2rem 0;}
.section__contact .two_col .col-item {padding: 0 1rem; margin-top: 2rem;}

/* Making the label break the flow */
.floating-label{
  position: absolute;
  top: 0;
  left: 0;
  user-select: none;
  z-index: 1500;
}

/* Hide the browser-specific focus styles */
.floating-label-field{
  color: rgba(44, 62, 80, .75);
  border-width: 0;
  z-index: 2000;
}

.floating-label-field:focus{
  outline: 0;
  box-shadow: 0;
}

.floating-label-field::placeholder{color: rgba(0, 0, 0, .5);}

/* Make the label and field look identical on every browser */
.floating-label,
.floating-label-field{
  font: inherit;
  line-height: 1.9rem; 
  display: block;
  width: 100%;
}

.floating-label-field, .section__contact .two_col .col-item {position: relative;}

/* Input Style #1 */
.floating-label-field--s1{
    transition: border-color .25s ease-in-out;
    color: rgba(0, 0, 0, .75);
    border-bottom: 2px solid rgba(0, 0, 0, .3);
    background-color: transparent;
}

.floating-label-field--s1 + .floating-label{
    transition: transform .25s, opacity .25s ease-in-out;
    transform-origin: 0 0;
    opacity: .4;
}

.floating-label-field--s1:focus,
.floating-label-field--s1:not(:placeholder-shown) {border-color: rgba(0, 0, 0, .5);}

.floating-label-field--s1:focus + .floating-label,
.floating-label-field--s1:not(:placeholder-shown) + .floating-label{
    transform: translate(.25em, -30%) scale(.8);
    opacity: .65;
}

.floating-label-field--s1:valid:not(:placeholder-shown){border-color: rgba(0, 0, 0, .3);}

.floating-label-field--s1:invalid{/*border-color: rgba(255, 71, 87, .3);*/}

/* Identical inputs on all browsers */

.floating-label-field--s1:not(textarea){/*max-height: 4rem;*/}

.floating-label-field--s1,
.floating-label-field--s1 + .floating-label{padding: 2.5rem 2rem 1.2rem 2rem;}

.floating-label-field--s1{padding: 3rem 2rem 1.2rem 1.3rem;}

.floating-label-field--s1 + .floating-label{z-index: 1500;}
.floating-label-field--s1::placeholder{color: transparent;}

textarea {padding-bottom: 1rem;}

#form-messages {
  opacity:0;
  transition:1s;
  text-align: center;
  width: 100%;
  font-size: 1.6rem;
}
#contactform {
  opacity:1;
  transition:0.6s;
}


/*  Footer  */
footer {
  text-align: center;
  background-color: #333333;
  padding: 3rem 0;  
}
footer .section {
  min-height: auto; 
  padding: 0;
}
footer, footer p {
  text-align: center;
}
footer p {
  color: #ffffff;
  font-size: 1.3rem;
  line-height: 1.4;
}

