/*
 * general.css
 */


body
{
    background:#fff;
    color:#62646c;
    font-family: 'Source Sans Pro', sans-serif;
    font-size:18px;
    font-weight:400;
    line-height:25px;
}

a
{
    color:#b91b1f;
    text-decoration:none;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

a:hover
{
    text-decoration:underline;
}

b,
strong
{
    font-weight:bold;
}

img
{
    display:block;
    height:auto;
    max-width:100%;
}

i,
em
{
    font-style:italic;
}

p
{
    margin:0 0 35px;
}

ul,
ol
{
    margin:0 0 0 20px;
}

h1
{
	font-family: 'Teko', sans-serif;
	font-size:43px;
	line-height:50px;
	margin:80px 0 40px;
	text-transform:uppercase;
}

#header h1
{
    margin-bottom:0;
}

h2
{
	font-family: 'Teko', sans-serif;
	font-size:24px;
	line-height:30px;
	margin:0 0 20px;
	text-transform:uppercase;
}

h4
{
	background:#e3e3e3;
	display:inline-block;
	font-size:26px;
	line-height:30px;
	margin:0 0 40px;
	padding:25px 23px;
}

blockquote
{
    font-family: 'Alegreya', serif;
    font-size:26px;
    line-height:33px;
}

.alignleft
{
    text-align:left;
}

.aligncenter
{
    text-align:center;
}

.alignright
{
    text-align:right;
}

.alignrightsmall
{
    font-size:15px;
    text-align:right;
}

.headlineuppercase
{
	color:#b91b1f;
	font-family: 'Teko', sans-serif;
	font-weight:600;
	letter-spacing:9px;
	text-transform:uppercase;
}

.headlinered
{
	color:#b91b1f;
	font-family: 'Teko', sans-serif;
	font-weight:300;
}

.redfont
{
    color:#b91b1f;
}

input[type="submit"],
.button,
.buttongrey,
.buttonred
{
	border:2px solid #62646c;
	color:#62646c;
	cursor:pointer;
	display:inline-block;
	font-family: 'Teko', sans-serif;
	font-size:24px;
	font-weight:600;
	line-height:24px;
	padding:17px 26px 14px;
	text-transform:uppercase;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

input[type="submit"]:hover,
.button:hover,
.buttongrey:hover,
.buttonred:hover
{
	border:2px solid #b91b1f;
	color:#b91b1f;
	text-decoration:none;
}

input[type="submit"],
.buttonred
{
	border:2px solid #b91b1f;
	color:#b91b1f;
}

input[type="submit"]:hover,
.buttonred:hover
{
	border:2px solid #62646c;
	color:#62646c;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea
{
    border-bottom:2px solid #62646c;
    border-left:0;
    border-right:0;
    border-top:0;
    color:#62646c;
    font-family: 'Teko', sans-serif;
    font-size:20px;
    line-height:28px;
    padding:12px 26px 10px;
    width:calc(100% - 52px);
}

.mw-default-row,
.mw-textarea-row,
.mw-submit-row
{
    float:left;
    margin:0 0 25px;
    width:100%;
}

.errors
{
    color:#b91b1f;
    float:left;
    margin:0 0 25px 20px;
    width:100%;
}


.container, .frame-type-text, .frame-type-textpic
{
    margin:0 auto;
    padding:0 0px; /*padding:0 40px;*/
    width:calc(100% - 80px);
    max-width:1600px;
}

.container .container-50.left
{
    float:left;
    width:50%;
}

.container .container-50.right
{
    float:right;
    margin:0 0 0 80px;
    width:calc(50% - 80px);
}

.container.right .container-50.left
{
    float:right;
}

.container.right .container-50.right
{
    float:left;
    margin:0 80px 0 0;
}

.containersmall
{
    margin:0 auto;
    padding:0 40px;
    width:calc(100% - 80px);
    max-width:800px;
}

.containerbig
{
    margin:0 0 0 calc(50% - 840px);
    padding:0 0 0 40px;
    max-width:2080px;
}

.contentelement
{
	float:left;
	padding:71px 0;
	width:100%;
}

.contentelement p:last-child
{
	margin-bottom:0;
}

.greybackground
{
	background:#faf9f9;
}

.fullwidthimage
{
    background-position:top center !important;
    float:left;
    margin:-71px 0;
    width:100%;
}

.fullwidthimage .textwrapper
{
    padding:71px 0;
}


@media (max-width:1900px)
{
    .containerbig
    {
        margin:0 auto;
        padding:0 0 0 40px;
        width:calc(100% - 40px);
        max-width:1900px;
    }
}

@media (max-width:1280px)
{
    .container .container-50.right
    {
        margin-left:40px;
        width:calc(50% - 40px);
    }
    
    .container.right .container-50.right
    {
        margin-right:40px;
    }
}

@media (max-width:1023px)
{
    .container .container-50.left,
    .container .container-50.right
    {
        margin:0;
        width:100%;
    }
    
    .container .container-50.left
    {
        margin:0 0 40px;
    }
}

@media (max-width:767px)
{
    h2
    {
        margin-bottom:10px;
    }
    
    .container,
    .containersmall
    {
        padding:0 20px;
        width:calc(100% - 40px);
    }
    
    .contentelement
    {
    	padding:20px 0;
    }
    
    .fullwidthimage
    {
        margin:-20px 0;
    }
}
