*::-webkit-input-placeholder {
	color: #0487A2;
	font-weight: 600;
	opacity: 1;
}
*:-moz-placeholder {
	color: #0487A2;
	font-weight: 600;
	opacity: 1;
}
*::-moz-placeholder {
	color: #0487A2;
	font-weight: 600;
	opacity: 1;
}
*:-ms-input-placeholder {
	color: #0487A2;
	font-weight: 600;
	opacity: 1;
}

body input:focus:required:invalid,
body textarea:focus:required:invalid {
	
}
body input:required:valid,
body textarea:required:valid {
	
}


body {
	font-size: 16px;
	min-width: 320px;
	position: relative;
	line-height: 1.6;
	font-family: "Source Sans Pro", sans-serif;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	color: #636363;
}
a, a:hover, a:active, a:visited, a:link{
	text-decoration: none;
	color: inherit;
}

.container{
	width: 1200px;
	margin: 0 auto;
}
.clearfix::after {
    content: "";
    display: table;
    clear: both;
}
.header{
	padding: 40px 0 35px 0;
}
.header .left-col{
	float:left;
	width: 40%;
	text-align: left;
}
.logo img{
	max-width: 100%;
}
.header .right-col{
	float: right;
	width: 60%;
	text-align: right;
}
.menu ul{
	margin: 0;
	padding: 35px 0 0 0;
	list-style: none;
}
.menu ul li{
	display: inline-block;
	border-left:2px solid #818181;
}
.menu ul li:first-child{
	border-left:none;
}
.menu ul li.active:after{
	content: "";
	display: block;
	position: relative;
	width: 70%;
	height: 2px;
	background: #9b9b9b;
	left: 15%;
}
.menu ul li a{
	display: block;
	color: #0487A2;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 18px;
	padding: 5px 20px;
}
.menu button{
	display: none;
}
.top-banner{
	min-height: 360px;
	position: relative;
	overflow: hidden;
	background-image: url(img/home-banner.jpg);
}
.top-banner:after{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	background: url(../img/banner_overlay.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	-webkit-background-size: contain;
	background-size: contain;
	width: 15%;
	height: 60%;
}
.top-banner .banner-text{
	position: absolute;
    bottom: 0;
    width: 100%;
	background: rgba(25,64,87,0.3);
	background: -moz-linear-gradient(left, rgba(25,64,87,0.3) 0%, rgba(1,47,77,0.92) 100%);
	background: -webkit-gradient(left top, right top, color-stop(0%, rgba(25,64,87,0.3)), color-stop(100%, rgba(1,47,77,0.92)));
	background: -webkit-linear-gradient(left, rgba(25,64,87,0.3) 0%, rgba(1,47,77,0.92) 100%);
	background: -o-linear-gradient(left, rgba(25,64,87,0.3) 0%, rgba(1,47,77,0.92) 100%);
	background: -ms-linear-gradient(left, rgba(25,64,87,0.3) 0%, rgba(1,47,77,0.92) 100%);
	background: linear-gradient(to right, rgba(25,64,87,0.3) 0%, rgba(1,47,77,0.92) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#194057', endColorstr='#012f4d', GradientType=1 );
    text-align: left;
}
.top-banner h2{
	margin: 0;
	color: #fff;
	letter-spacing: 1.3px;
    font-size: 35px;
    font-weight: 300;
    padding: 14px 10%;
}

h1, h2, h3{
	color: #0487A2;
}
.homepage-content{
	padding-top: 40px;
}
.homepage-content .left-col{
	float: left;
	width: 55%;
	text-align: left;
	text-align: justify;
}
.homepage-content .right-col{
	float: right;
	width: 40%;
	text-align: left;
	text-align: justify;
}
.homepage-content h1{
	margin-top: 0;
	font-size: 45px;
	font-weight: 600;
}
.homepage-content p{
	font-size: 22px;
}
.homepage-content a {
    color: #0487A2;
}
.grey-box{
	background: rgba(224,227,229,1);
	background: -moz-linear-gradient(left, rgba(224,227,229,1) 0%, rgba(249,250,250,1) 100%);
	background: -webkit-gradient(left top, right top, color-stop(0%, rgba(224,227,229,1)), color-stop(100%, rgba(249,250,250,1)));
	background: -webkit-linear-gradient(left, rgba(224,227,229,1) 0%, rgba(249,250,250,1) 100%);
	background: -o-linear-gradient(left, rgba(224,227,229,1) 0%, rgba(249,250,250,1) 100%);
	background: -ms-linear-gradient(left, rgba(224,227,229,1) 0%, rgba(249,250,250,1) 100%);
	background: linear-gradient(to right, rgba(224,227,229,1) 0%, rgba(249,250,250,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e3e5', endColorstr='#f9fafa', GradientType=1 );
	padding: 25px;
	margin-bottom: 40px;
}
.grey-box h3{
	font-size: 22px;
	margin: 0;
}
.grey-box p{
	font-size: 16px;
}
footer{
	background-color: #DBDDDF;
	padding: 25px 0;
	margin-top: 30px;
}
.footer-columns-wrapper{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
footer ul{
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-column{
	border-left:2px solid #91979B;
	padding: 0 15px;
}
.footer-column-title{
	font-size: 14px;
}
.footer-column-list{
	font-size: 13px;
	color: #787F84;
}

.footer-column.social li{
	/*display: inline-block;*/
	width: 27px;
	height: 27px;
	margin: 7px 0;
}
.footer-column.social li img{
	max-width: 100%;
}
footer a:hover{
	color: #428CFF;
	transition: color .2s ease;
}
footer .addr ul:hover{
	cursor: pointer;
	color: #428CFF;
	transition: color .2s ease;
}
/*
Services page
**************************/
.homepage-content ul{
	padding-left: 20px;
	font-size: 22px;
}
.homepage-content ul li {
    margin-bottom: 10px;
}
.accent-text{
	color:#128CA5;
	font-weight: 600;
}

.inputfile {
    width: 1.5px;
    height: 1.5px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
.inputfile + label {
	font-size: 72px;
    font-weight: 600;
    color: #0487A2;
    background-color: #E1E1E1;
    cursor: pointer;
    padding: 8px 0;
    display: block;
    width: 80%;
    margin: 0 auto;
    border-radius: 8px;
    border: 4px outset rgb(180, 185, 187);
    box-sizing: border-box;
     outline: none;
}
 
.inputfile:focus + label,
.inputfile + label:hover {
    background-color: #E1E1E1;
}
.inputfile:focus + label {
    outline: 1px dotted #000;
    outline: -webkit-focus-ring-color auto 10px;
}

.form-holder{
	background:#9ED0DA;
	padding: 15px 20px;
}
form#callback input[type="text"],form#callback input[type="email"], form#callback textarea {
    display: block;
    width: 100%;
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 24px;
    padding:8px 5px 8px 20px;
    box-sizing: border-box;
    border: none;
    outline: none;
}
form#callback textarea{
	line-height: 1;
	padding: 20px;
}
.form-button{
	float: left;
	width: 50%;
	text-align: center;
}
input[type="submit"]{
	font-size: 22px;
    font-weight: 600;
    color: #0487A2;
    background-color: #E1E1E1;
    cursor: pointer;
    padding: 12px 0;
    display: block;
    width: 80%;
    margin: 0 auto;
    border-radius: 6px;
    border: 4px outset rgb(180, 185, 187);
    box-sizing: border-box;
     outline: none;
}

/* 
Products page
****************/
.products-content .left-col{
	width: 280px;
	background: #EBEDEF;
	float: left;
	padding: 15px 5px 15px 15px;
}
.products-content .right-col{
	float: right;
	width: 70%;
	width: calc(100% - 320px);
}
.products-menu{

}
.products-menu ul {
    list-style: none;
    padding: 0 0 20px 0;
}
.products-menu ul li {
    color: #0487A2;
    font-weight: 700;
}
.topnav {
    padding: 40px 28px 25px 0;
    width: 90%;
}
ul.topnav {
    font-size: 4em;
    list-style: none outside none;
    margin: 0 0 20px;
    padding: 0;
}
ul.topnav li {
}
ul.topnav li a {
    color: #020202;
    display: block;
    font-size: 18px;
    font-weight: normal;
    padding: 5px 5px;
    text-decoration: none;
    width: 100%;
    transition: background-color .3s ease;
}
ul.topnav li a:hover {
    background-color: #bbbbbb;
}
ul.topnav ul {
    display: none;
    margin: 0;
    padding: 0;
}
ul.topnav ul li {
    clear: both;
    margin: 0;
    padding: 0;
}
ul.topnav ul li a {
	color: #000000;
    font-size: 18px;
    font-weight: normal;
    outline: 0 none;
    padding-left: 15px;
    transition: background-color .3s ease;
}
ul.topnav ul li a:hover {
    background-color: #fff;
    
}
ul.topnav ul ul li a {
	color: #3d3d3d;
    padding-left: 20px;
    transition: background-color .3s ease;
}
ul.topnav ul ul li a:hover {
    background-color: #fff;
}
ul.topnav ul ul li li a{
	color: #000;
    border-bottom: 1px solid #ccc;
    padding-left: 35px;
    width: 100%;
}
ul.topnav span {
    float: right;
}
.products-menu .active a {
    color: #045f71;
    font-weight: 700;
}
.products-menu .current a {
    color: #045f71;
    font-weight: 700;
}

.products-categories{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.product-picture img {
    border-bottom-right-radius: 100%;
    min-height: 100px;
}
.category-block {
    height: 100px;
    background: #E3E6E8;
    position: relative;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.categorie-title {
    margin: auto;
}
.categorie-title h2 {
    margin: 0;
    text-align: center;
}
.category-block:hover .categorie-title h2{
	color:#636363;
	transition: color .3s ease;
}
a.product-link{
	display: block;
	flex-basis: 45%;
	margin: 0px auto 30px auto; 
}
.products-content h1 {
    font-size: 40px;
}

/*
Mobile Menu
*****************/
.pushy-content ul {
    padding-left: 40px;
}
.pushy .products-menu {
    padding-left: 20px;
}
.pushy-content .logo {
    width: 60%;
    margin: 40px auto 20px auto;
}

/*
Product detail page
*************************/
.product-detail-content{
	overflow: hidden;
}
.slider-wrapper{
	float: right;
	margin: 15px 0 15px 15px;
	max-width: 350px;
}
.slider-wrapper img {
    max-width: 100%;
}
.product-detail-content h1 {
    font-size: 35px;
}
table {
	width: 50%;
	width: calc(100% - 400px);
}
table tr{
	border-top:1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
table thead tr{
	border:none;
}
table tr td{
	font-size: 20px;
    padding: 5px;
}
table th {
    text-align: left;
    padding: 5px;
}
.product-downloads{
	margin:40px 0 60px 0;
}
.product-size-chart{
	margin:80px 0 100px 0;
}
.product-thickness{
	margin:120px 0 200px 0;
}


.download-items{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
}
.download-items a {
display: table-cell;
position: relative;
color: #000;
font-weight: normal;
font-size: 15px;
height: 95px;
vertical-align: bottom;
}
.download.pdf{
	position: relative;
	background: url(../img/pdf-icon.png);
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	width: auto;
    height: 65px;
    text-align: center;
    margin: auto;
}

/*
Partners page 
*************/
.partner{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-bottom: 3%;
}

.partner-logo img{
	max-width: 100%;
	transition: transform .4s ease;
}
.partner .left-col {
    flex-basis: 60%;
}
.partner .right-col {
    flex-basis: 40%;
    margin: auto;
    text-align: left;
    padding-left: 30px;
}
.partner-title h2 {
    color: #171717;
    font-size: 30px;
    margin: 0;
}
.partner-logo img:hover{
	-webkit-transform: scale(.7);
	-ms-transform: scale(.7);
	-o-transform: scale(.7);
	transform: scale(.7);
}

/*
Contact page
*****************/
.contacts-wrapper{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
