*, *:before, *:after {
 @import url(reset.css);
 box-sizing: border-box;
}
img {
 max-width: 100%;
}
body {
 font-family: 'Open Sans', sans-serif;
 margin: 0 auto;
 color: #363636;
 background-color: #ffffff;
 font-size: 12pt;
 line-height: 1.2em;
}
article {
 margin: 0 1em;
}
a {
 font-weight: bold;
 text-decoration: underline;
 color: #363636;
 transition: all 0.5s;
}
a:hover {
 text-decoration: none;
}
nav {
 display: flex;
 flex-direction: row;
 align-items: center;
 position: fixed;
 top: 2em;
 right: 1em;
 z-index: 100;
 background-color: #ffffff;
 border: 1px solid #363636;
 border-radius: 8px;
 padding: 0.5em 1em;
 opacity: 0.75;
}
nav a {
 text-decoration: none;
 color: #363636;
 font-size: 1em;
 font-weight: bold;
 margin: 0 1em;
}
nav a:hover {
 text-decoration: underline;
}
#pw1 {
 min-height: 100vh;
 background: transparent;
}
#pw2, #pw3, #pw4 {
 min-height: 75vh;
 background: transparent;
}
#message {
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 z-index: 50;
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
}
h1, h2 {
 text-shadow: 1px 1px 1px rgba(255, 255, 255, 1);
 font-size: 3em;
 color: transparent;
 transition: all 3s;
}
h1.slogan, h2.slogan {
 text-shadow: 1px 1px 250px rgba(255, 255, 255, 1);
 font-size: 3em;
 color: transparent;
}
h2.line {
 display: block;
 font-size: 2em;
 text-align: center;
 border-bottom: 1px solid #363636;
 line-height: 0.1em;
 margin: 10px 0 20px;
 padding-top: 1em;
 width: 100%;
 text-shadow: none;
 color: #363636;
}
h2.line span {
 background: #ffffff;
 padding: 0 10px;
}
h3 {
 padding-top: 1em;
 margin-left: 1em;
}
div.logo {
 position: absolute;
 top: 0;
 left: 0;
 padding: 2em;
}
img.logo {
 display: block;
 margin: 0em auto 2em auto;
 max-width: 90%;
}
.menu_hamburger {
 margin: 0;
 cursor: pointer;
}
.menu {
 font-size: 1.5em;
 cursor: pointer;
 display: flex;
 flex-direction: row;
 text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.75);
}
div.content {
 max-width: 1180px;
 margin: 0em auto;
 position: relative;
}
div.gray {
 background-color: #bdbdbd;
 margin-top: 50px;
 padding-bottom: 50px;
}
article p {
 text-align: justify;
}
ul, ol {
 list-style-position: outside;
 padding-left: 1.5em;
}
li {
 margin-bottom: 0.5em;
}
div.triangle {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 0 125.5px 74px 125.5px;
 border-color: transparent transparent #ffffff transparent;
 position: relative;
 top: -50px;
 margin: 0 auto;
}
div.triangle_gray {
 border-color: transparent transparent #bdbdbd transparent;
}
.arrowD {
 position: relative;
 top: 1.5em;
 z-index: 100;
}
a.question {
 display: block;
 margin: 0.2em 0;
}
table {
 margin: 1em auto;
 border-collapse: collapse;
}
table th {
 font-weight: bold;
 padding: 1em;
}
table th, table td  {
 text-align: center;
}
table tr:nth-child(even){
 background-color: #e0e0e0;
}
table tr:nth-child(odd){
 background-color: #ffffff;
}
table tr:hover {
 background-color: #4d4d4d;
 color: #ffffff;
}
table tr:hover td {
 border: 1px solid #ffffff;
}
table tr:hover td:first-of-type {
 border-left: 1px solid #363636;
}
table tr:hover td:last-of-type {
 border-right: 1px solid #363636;
}
table td, table th {
 border: 1px solid #363636;
 padding: 0.25em;
 text-align: center;
 vertical-align: middle;
}
table th {
 background-color: #4d4d4d;
 color: #ffffff;
 border: 1px solid #ffffff;
 border-top: 1px solid #363636;
 padding: 1em 0.25em;
}
table th:first-of-type {
 border-left: 1px solid #363636;
}
table th:last-of-type {
 border-right: 1px solid #363636;
}
p.star {
 font-weight: bold;
 text-align: right;
}
div.wrap {
 display: flex;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: space-around;
 align-items: center;
 font-size: 1.2em;
 line-height: 1.2em;
}
div.wrap > div {
 width: 50%;
 min-width: 400px;
 padding: 0 1em;
}
div.first {
 display: flex;
 flex-direction: column;
 justify-content: space-around;
 align-items: flex-start;
}
div.dot {
 height: 25px;
 width: 25px;
 margin: 0.25em;
 font-size: 1em;
 color: #ffffff;
 background-color: #363636;
 border-radius: 50%;
 display: flex;
 justify-content: center;
 align-items: center;
}
div.row {
 display: flex;
 flex-direction: row;
 align-items: flex-start;
 margin: 1em 0 0 0;
}
div.row div:last-of-type {
 margin-top: 0.25em;
}
#form {
 margin-top: 1em;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-direction: column;
}
#form textarea {
 min-height: 10em;
 margin-bottom: 1em;
}
#form div#errors {
 margin: 1em;
}
input[type=text], input[type=email], input[type=number], input[type=password], textarea, select {
 display: block;
 margin: 0.25em;
 width: 100%;
 max-width: 400px;
 border: 1px solid #363636;
 background-color: #ffffff;
 padding: 0.3em;
}
input::-moz-selection, textarea::-moz-selection {
 background: #363636;
 color: #ffffff;
}
input::selection, textarea::selection {
 background: #363636;
 color: #ffffff;
}
input[type=text]:focus, input[type=text]:hover, input[type=email]:focus, input[type=email]:hover, input[type=number]:focus, input[type=number]:hover, input[type=password]:focus, input[type=password]:hover, textarea:focus, textarea:hover {
 border: 1px solid #005795;
}
input[type=submit] {
 color: #ffffff;
 background-color: #363636;
 border: 1px solid #363636;
 cursor: pointer;
 padding: 0.5em 1em;
}
button {
 margin: 1em;
 padding: 0.2em 2em;
 font-weight: bold;
 color: #ffffff;
 background-color: #2965a3;
 border: 1px solid #2965a3;
 cursor: pointer;
 transition: all 0.3s ease;
 width: initial;
}
button {
 border: 1px solid transparent;
}
button:enabled:hover {
 color: #2965a3;
 background-color: #ffffff;
 border: 1px solid #2965a3;
}
button:disabled {
 background-color: #999999;
 text-decoration: line-through;
 cursor: initial;
}
.no-parallax-container {
 display: none;
}
div.slogans {
 display: none;
}
img.flag {
 border: 1px solid #000000;
 margin: 0 2px;
 height: 1em;
}
footer {
 display: flex;
 justify-content: space-between;
 font-size: 0.8em;
}
footer > div {
 margin: 0 0.5em;
}
footer > div:last-of-type {
 font-size: 0.8em;
 opacity: 0.3;
}
