/* ==========================================================================
   Custom Properties
   ========================================================================== */


:root {
    /* fonts */
    --font-stack-default: 'Montserrat', 'Arial', 'Helvetica', sans-serif;
    --font-stack-title: 'Cinzel', serif;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    
    /* text  */
    --text-color: #000; /* black */
    --text-color-light: #fff;
    --text-color-link: #000;
    
    /* font-sizes */
    --font-size-root: 18px;
    --font-size-h1: 1.77rem; 
    --font-size-h2: 1.77rem;
    --font-size-body: 1rem;
    --font-size-body-s: 0.8rem;
    
    /* colors / background */
    --bg-content: #fff;
    --bg-dark: #000; /* dark grey */
    --bg-light: #f2f2f2; /* light grey */
    
    
    
    
    /* spacing between components based on rem */
    --spacing-l: 2rem;
    --spacing-m: 3rem; 
    --spacing-s: 1.5rem;
    --spacing-xs: 0.75rem;  
    --header-height: 200px;
    --padding-box: 54px;
     
    /* grid */
    --grid-container: 20px;
    --grid-row: -10px;
    --grid-col: 10px;
    --border-width: 20px;
    
    /* form */
    --border-form: #ddd; 
    --border-form-focus: #000;
    --form-border-width: 2px;
    --form-field-padding: 0.75em 10px;
    --form-disabled: #ccc;
    --form-error: #dd0000;
    --form-ok: #00828C;
    --form-initial: #1D1D1B;
}

.c-text-light {
    --text-color: #fff;
    --text-color-link: #fff;
}

@media only screen and (max-width:1200px) {  
    :root {
	   --padding-box: 32px;
    }
}

@media only screen and (max-width:980px) {  
    :root {
	    --header-height: 120px;
        --grid-container: 12px;
        --grid-row: -6px;
        --grid-col: 6px;
        --border-width: 12px;
    }
}

@media only screen and (max-width:768px) {  
    :root {
	    --grid-container: 8px;
        --grid-row: -4px;
        --grid-col: 4px;
        --border-width: 8px;
        --font-size-h1: 1.35rem; 
        --font-size-h2: 1.35rem;
    }
}

/* ==========================================================================
   resets
   ========================================================================== */

html {
    -webkit-box-sizing: border-box; /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
       -moz-box-sizing: border-box; /* Firefox 1 - 28 */
            box-sizing: border-box; /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */
}

*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
       -moz-box-sizing: inherit;
            box-sizing: inherit;
}



/* ==========================================================================
   Base Project
   ========================================================================== */

body {
    margin:0;
    padding: 0;
	background-color: var(--bg-content);
	font-family: var(--font-stack-default);
	font-weight: normal;
    font-weight: var(--font-weight-normal);
    font-size: var(--font-size-body);
	-webkit-tap-highlight-color: transparent;
}

/* links */
a,
a:visited,
a:focus,
a:hover {
	color: var(--text-color-link);
	text-decoration: none;
}

.c-hide-visually {
	position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */


input,
select,
textarea {
	color: var(--text-color);
}

textarea {
	resize: none;
}


/* ==========================================================================
   Standard img / media declaration
   ========================================================================== */

embed,
object,
video,
iframe,
img {
    width: 100%;
}

img {
    height: auto;
}

img { 
	vertical-align: bottom; 
}


/* ==========================================================================
   Grid
   ========================================================================== */

.c-header,
.c-content,
.c-footer,
.c-container,
.c-container-medium{
    position: relative;
    width: 100%;
    z-index: auto;
}

.c-container,
.c-container-medium {
	padding-bottom: var(--spacing-l);
    padding-right: 20px;
    padding-left: 20px;
    padding-left: var(--grid-container);
    padding-right: var(--grid-container);
}

.c-container-no-padding {
    padding-bottom: 0;
}

.c-row {
    margin-right: -10px;
    margin-left: -10px;
    margin-right: var(--grid-row);
    margin-left: var(--grid-row);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
}

.c-col-1,
.c-col-2,
.c-col-3,
.c-col-4,
.c-col-5,
.c-col-6,
.c-col-7,
.c-col-8,
.c-col-9,
.c-col-10,
.c-col-11,
.c-col-12,
.c-form-birthday-field{
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
    padding-right: var(--grid-col);
    padding-left: var(--grid-col);
}

.c-col-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
}

.c-col-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
}

.c-col-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.c-col-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
}

.c-col-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}

.c-form-birthday-field:nth-child(1) {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
}

.c-form-birthday-field:nth-child(2) {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.c-form-birthday-field:nth-child(3) {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 30%;
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    max-width: 30%;
}


/* ==========================================================================
   Header
   ========================================================================== */
.c-header {
	z-index: 10;
}

.c-header-inner {
	height: 200px;
    height: var(--header-height);
	display: flex;
	flex-flow: row;
	justify-content: center;
    align-items: center;
}


.c-header-logo {
	position: relative;
	width: 125px;
	height: 120px;
}

.c-header-logo a {
	display: block;
}

/* ==========================================================================
   Typography
   ========================================================================== */
html {
	font-size: 18px;
    font-size: var(--font-size-root);
}

h1, .c-h1,
h2, .c-h2 {
    /*font-family: var(--font-stack-title);*/
    font-size: 1.77rem;
    line-height: 1;
    margin: 0;
    padding: 0 0 0.5em 0;
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-normal);
    text-transform: uppercase;
}

.c-title-normal {
    font-family: var(--font-stack-default);
    font-size: 1rem;
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-normal);
    text-transform: uppercase;
    margin: 0;
    padding: 0;
}

.c-content {
    line-height: 1.5;
}

.c-text-block p {
    margin: 0;
    padding: 0 0 1.5em 0;
}

.c-text-block a {
	background-image: linear-gradient(to bottom,var(--text-color-link) 0%,var(--text-color-link) 100%);
    background-position: 0 100%;
    background-repeat: repeat-x;
    background-size: 1px 1px;
  	transition: background .1s;
}

.c-text-block a:focus,
.c-text-block a:hover {
	background-size: 2px 2px;
}

.c-text-block .c-btn,
.c-text-block .c-form-standard input[type="submit"] {
	background-image: none;
}

.c-footer {
    font-size: 0.75rem;
    font-size: var(--font-size-body-s);
}

.c-btn,
.c-form-standard input[type="submit"]{
    display: block;
    width: 100%;
    margin: 0;
	padding: 0.95em 20px 0.95em 20px;
	border: solid 2px #000;
    border-color: var(--bg-dark);
	background-color: var(--bg-dark);
    line-height: 1;
    text-align: center;  
	font-weight: bold;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-body);
    text-transform: uppercase;
	transition: all 0.2s ease-out;
	text-decoration: none;
}

.c-form-standard input[type="submit"]{
    font-family: inherit;
}

.c-btn,
.c-btn:visited,
.c-form-standard input[type="submit"] {
    color: var(--text-color-light);
}

.c-btn:hover, 
.c-btn:focus,
.c-form-standard input[type="submit"]:hover,
.c-form-standard input[type="submit"]:focus {
    color: var(--text-color);
    background-color: var(--text-color-light);
	/*background-color: #939086;*/
	text-decoration: none;
}

/* ==========================================================================
   Content
   ========================================================================== */

.c-box {
    flex-grow: 1;
    padding: 54px;
    padding: var(--padding-box);
    background-color: #000;
    background-color: var(--bg-dark);
    color: var(--text-color);
}

.c-box-form {
    background-color: #ddd;
    background-color: var(--bg-light);
}

.c-address .c-col-7,
.c-address .c-col-4,
.c-contact-form .c-col-7,
.c-contact-form .c-col-5 {
    display: flex;
    flex-flow: column
}

.c-footer {
    padding-bottom: 1em;
}

.c-img .c-row {
    justify-content: flex-end;
}

.c-img .c-col-8 {
    padding-top: var(--border-width);
}

/* ==========================================================================
   Form
   ========================================================================== */

/* safari form fix */
input,
input[type="text"],
input[type="email"],
textarea {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
	-webkit-box-shadow: none;
}

/* remove chrome autofill yellow color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-transition-delay: 2000s;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.c-form-item {
	position: relative;
	width: 100%;
	padding-bottom: 1.5em;
    padding-bottom: var(--spacing-s);
    
}

.c-form-item:last-child {
    padding-bottom:0;
}

.c-form-standard .c-form-label-text {
	display: block;
	padding-bottom: 0.35em;
    font-size: 0.85rem;
    font-size: var(--font-size-body-s);
    text-transform: uppercase;
}

.c-form-standard input[type="text"],
.c-form-standard input[type="email"],
.c-form-standard input[type="password"],
.c-form-standard input[type="url"],
.c-form-standard input[type="date"],
.c-form-standard input[type="tel"],
.c-form-standard textarea {
	width: 100%;
	border: solid 2px #000;
    border-color: var(--border-form);
    border-width: var(--form-border-width);
	color: var(--text-color);
	padding: 0.75em 10px;
    padding: var(--form-field-padding);
    background-color: var(--bg-content);
    font-size: var(--font-size-body);
    font-family: inherit;
}

.c-form-standard input[type="text"]:focus,
.c-form-standard input[type="email"]:focus,
.c-form-standard input[type="password"],
.c-form-standard input[type="url"]:focus,
.c-form-standard input[type="date"]:focus,
.c-form-standard input[type="tel"]:focus,
.c-form-standard textarea:focus {
	border-color: var(--border-form-focus);
	outline: none;
}





.c-form-standard select {
    display: block;
	padding: 0.75em 30px 0.75em 10px;
    padding: var(--form-field-padding) !important;
    padding-right: 30px !important;
	width: 100%;
	height: auto !important;
	border: 2px solid var(--border-form);
    border-color: var(--border-form);
    border-width: var(--form-border-width);
    border-radius: 0;
	background: url("../images/icon-form-arrow.svg") right center no-repeat;
	background-color: var(--bg-content);
	color: var(--text-color);
	font-size: 100%;
    font-size: var(--font-size-body);
    font-family: inherit;
	line-height: 1.2rem !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;	
}

.c-form-standard select:focus {
    border-color: var(--border-form-focus);
	outline: none;
}

.c-form-standard select option {
	padding: 0;
	outline: none;
}

.c-form-standard select::-ms-expand {
	display: none;
}

.c-form-standard select:disabled::-ms-expand {
	 color: var(--form-disabled);
}

.c-form-standard select:disabled,
.c-form-standard select[disabled] {
	color: var(--form-disabled);
	border-color: var(--form-disabled);
}

/* error */
.c-form-standard .form-not-valid-tip {
	display: none;
	padding-top: 0.35em;
    font-size: 0.85rem;
    font-size: var(--font-size-body-s);
    color: var(--form-error);
}

.c-form-standard .form-error .form-not-valid-tip {
    display: block;
}

.c-form-standard .form-error select,
.c-form-standard .form-error input {
    border-color: var(--form-error);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.c-footer-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.c-footer-list li {
    display: inline-block;
    padding: 0.5em 1.5em 0.5em 0;
}


/* ==========================================================================
   Mediaqueries
   ========================================================================== */

@-ms-viewport {
	width: device-width;
}

@media only screen and (min-width:1330px) {
	/* container max width */
	.c-container-medium {
        max-width: 1680px;
        margin-left: auto;
		margin-right: auto;
    }

	.c-container {
        max-width: 1320px;
        margin-left: auto;
		margin-right: auto;
    }
}

@media only screen and (min-width:981px) {  
    .c-img .c-col-8 {
        background-color: var(--bg-content);
        margin-top: -6rem;
        padding-left: var(--border-width);
    }
}

@media only screen and (max-width:980px) {  
    .c-img .c-col-8 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .c-address .c-col-4 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    
    .c-header-logo {
        width: 82px;
        height: 80px;
    }
}

@media only screen and (max-width:768px) {  
    .c-address .c-col-4,
    .c-address .c-col-7,
    .c-contact-form .c-col-5,
    .c-contact-form .c-col-7 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .c-address .c-col-4,
    .c-contact-form .c-col-7{
        padding-top: var(--border-width);
    }
}