/* Custom font
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@200;300;400;500;700&display=swap');

/* Colors
   ========================================================================== */

    /* rgba(0, 0, 0, 1.0); /* Black */
    /* rgba(255, 255, 255, 1.0); /* White */

    /* rgba(0, 0, 100, 1.0); /* DEF Blue */
    /* rgba(21, 21, 51, 1.0); /* DEF Blue light */
    /* rgba(248, 124, 86, 1.0); /* DEF Orange */
    /* rgba(211, 105, 88, 1.0); /* DEF Orange Dark */
    /* rgba(200, 0, 0, 1.0); /* DEF Error */

    /* rgba(218, 218, 218, 1.0); /* DEF Grey */
    /* rgba(165, 165, 165, 1.0); /* DEF Grey dark */
    /* rgba(246, 246, 247, 1.0); /* DEF Grey light */
    /* rgba(234, 238, 242, 1.0); /* DEF Grey blue */

/* Base elements
   ========================================================================== */
html {
    background-color: rgba(255, 255, 255, 1.0); /* White */

	font-family: 'IBM Plex Sans', Arial, Helvetica, Verdana, sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.2;

    color: rgba(0, 0, 100, 1.0); /* DEF Blue */
}

body {

}

#wrapper {
	width: 1250px;
	height: auto !important;

    margin-bottom: 25px;

    background-color: rgba(255, 255, 255, 1.0); /* White */

    /* Non-iframe */
    width: 768px;
    margin: 0 auto;
	}


header {
    position: relative;

    height: 170px;
    width: 100%;

    background-color: rgba(0, 0, 100, 1.0); /* DEF Blue */

    background-image: url("/images/background.jpg"); 
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;

    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    /* Non-iframe */
    margin-bottom: 75px;

    display: none; /* iframe setting */
}

section {
    position: relative;

    width: 100%;
    height: auto;

    margin-bottom: 50px;
}

article {
    width: 100%;
    height: auto;

    padding: 50px;

    background-color: rgba(246, 246, 247, 1.0); /* DEF Grey light */

    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
}

footer {
    position: relative;

	width: 100%;
    height: 190px;

    margin: 0 auto;

    display: none; /* iframe setting */
}

footer img {
    z-index: 10;

    position: absolute;
    bottom: 0px;
    right: 0px;

    width: auto;
    height: 100%;
}

footer .bar {
    display: flex;
    align-items: center; /* H */
    justify-content: center; /* V */

    position: absolute;
    bottom: 0px;

    width: 100%;
    height: 130px;

    background-color: rgba(0, 0, 100, 1.0); /* DEF Blue */
}

footer .bar p {
    width: 960px;
    height: auto;

    text-align: left;
}

/* Links
   ========================================================================== */
a, a:link, a:active, a:visited {
    color: rgba(248, 124, 86, 1.0); /* DEF Orange */
	outline: none;
	text-decoration:none;
	-webkit-transition: color 0.25s ease;
	-moz-transition: color 0.25s ease;
	-o-transition: color 0.25s ease;
	transition: color 0.25s ease;
}

a:hover { 
	color: rgba(211, 105, 88, 1.0); /* DEF Orange Dark */
}

/* Navigation - Top
   ========================================================================== */
header nav {
    position: relative;
}

#navigation_logo {
    position: absolute;
    left: 50px;
    top: 50px;
}

#navigation_logo img {
    width: 150px;
    height: auto;
}

#navigation_language {
    position: absolute;
    right: 50px;
    top: 25px;
}

#navigation_language img {
    width: 20px;
    height: auto;

    margin-top: -1px;
    margin-right: 2px;
}

/* Headlines
   ========================================================================== */
h1 {
	font-family: 'IBM Plex Sans', Arial, Helvetica, Verdana, sans-serif;
    font-weight: 700;
    font-size: 4.375em;

    margin: 0;
    margin-bottom: 32px;
}

h2 {
	font-family: 'IBM Plex Sans', Arial, Helvetica, Verdana, sans-serif;
    font-weight: 700;
    font-size: 2.5625em;

    margin: 0;
    margin-bottom: 16px;
}

h3 {
	font-family: 'IBM Plex Sans', Arial, Helvetica, Verdana, sans-serif;
    font-weight: 700;
    font-size: 1.25em;

    margin: 0;
    margin-bottom: 24px;
}

h4, h5, h6 {
    margin: 0;

}

img {
    width: 100%;
    height: auto;
}

/* Form elements
   ========================================================================== */
select, input {
    width: 100%;
    height: 45px;

	outline: none;
    padding: 5px 15px 3px 45px;

	border: 0px;
    background-color: rgba(255, 255, 255, 1.0); /* White */
}

option {
    outline: 0;
	border: 0px;

    background-color: rgba(255, 255, 255, 1.0); /* White */
}

select {
    /*width: 400px !important;*/
    height: 45px;

    padding: 2px 35px 0px 15px;

    background-image: url('/images/select_arrow.png');
    background-position: right center;
    background-repeat: no-repeat;
    -webkit-appearance: none;       
    -moz-appearance: none;    
    -o-appearance: none;    
    appearance: none;
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button,
input[type="date"]::-webkit-inner-spin-button, input[type="date"]::-webkit-outer-spin-button { 
    margin: 0; 

    -webkit-appearance: none;       
    -moz-appearance: none;    
    -o-appearance: none;    
    appearance: none;
}

input[type="number"] {
    width: 110px;
}

input[type="radio"], input[type="checkbox"] {
    width: auto;
    height: auto;
}

/* Custom dot color in radio */
input[type="radio"]:checked:before {
    position: relative;
    top: 3px;
    left: 3px;
    width: 6px;
    height: 6px;

    content: "";
    display: block;

    border-radius: 50%;
    background-color: rgba(248, 124, 86, 1.0); /* DEF Orange */
}


input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    font-size: 0.8em;
}

input::-moz-placeholder, textarea::-moz-placeholder {
    font-size: 0.8em;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    font-size: 0.8em;
}

input:-o-input-placeholder, textarea:-o-input-placeholder {
    font-size: 0.8em;
}

::placeholder {
    color: rgba(34, 34, 34, 0.5); /* Grey */
}

textarea {
    width: 100%;
    min-height: 100px;

	border: 0px;
	outline: none;
    padding: 0.8em;

    background-color: rgba(255, 255, 255, 1.0); /* White */

    resize: vertical;
}

/* Buttons
   ========================================================================== */
button {
    width: auto;
    height: 50px;

	outline: none;
    padding: 10px 25px 6px;
	border: 0px;

	color: rgba(0, 0, 100, 1.0); /* DEF Blue */
    font-weight: 700;
    font-size: 1.0em;

    text-align: center;
	text-decoration: none;
    cursor: pointer;

    background-color: rgba(248, 124, 86, 1.0); /* DEF Orange */

    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}

button:hover {
    color: rgba(255, 255, 255, 1.0); /* White */
    background-color: rgba(211, 105, 88, 1.0); /* DEF Orange Dark */
}

button:active {
	position: relative;
	top: 1px;
}

.button_next {
    float: right;
}

.button_back {
    background-color: rgba(255, 255, 255, 1.0); /* White */

    border-style: solid;
    border-width: 2px;
    border-color: rgba(0, 0, 100, 1.0); /* DEF Blue */
}

.button_back:hover {
    color: rgba(0, 0, 100, 1.0); /* DEF Blue */
    background-color: rgba(255, 255, 255, 1.0); /* White */

    border-style: solid;
    border-width: 2px;
    border-color: rgba(248, 124, 86, 1.0); /* DEF Orange */
}

/* Miscellaneous
   ========================================================================== */
audio, canvas, iframe, img, svg, video {
    vertical-align: middle;
}

fieldset, p {
    border: 0;
    margin: 0;
    padding: 0;
}

b {
    font-weight: 700;
}

/* Allowing padding to be used as inner-padding */
div, aside, section, article, select, input, textarea {
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

/* Ultra thin lines */
hr {
    height: 1px;
    border: 0;
    border-top: 1px solid ;
    color: rgba(198, 198, 198, 1.0); /* 30% black */

    width: 75%;
    margin: 0 auto;
}

/* Clearfix */
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}