
body {
    margin: 0 auto;
    position: relative;
    padding: 0;
    width: 1000px;
    font-family: "Arial", Sans-serif;
    font-size: 12px;
    color: rgb(42, 108, 149);
    background-color: #e7eef4;
}

header {
    margin: 0;
    padding: 0;
    height: 367px;
    background: url("/img/header.png") center top no-repeat, linear-gradient(90deg, #d1e0ed 177px, white 0);
}

a {
    text-decoration: underline;
    color: inherit;
}

header > div {
    position: relative;
    padding-top: 216px;
}

header > div,
main > div,
footer > div {
    width: 684px;
    margin: 0 139px 0 177px;
}

header img#header-logo {
    filter: drop-shadow(3px 3px 3px #000);
    position: absolute;
    top: 80px;
    left: -145px;
}

header h1 {
    top: 105px;
    position: absolute;
    width: 195px;
    height: 60px;
    margin: 0;
    background-image: url(/img/logo-text.svg);
    background-size: 195px;
    filter: drop-shadow(3px 3px 3px #000);
}

header h1 span {
    display: none;
}

header h2 {
    color: #205c80;
    line-height: 50px;
    margin: 0;
    text-align: right;
    text-transform: uppercase;
    font-family: "Arial Black", Sans-serif;
    font-size: 27px;
    position: absolute;
    top: 115px;
    right: 20px;
}

nav {
    height: 150px;
    margin-right: -139px;
    background: url(/img/nav.png) left top no-repeat;
}

nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

nav ul li {
    display: block;
    float: left;
    text-align: center;
    margin: 0;
    height: 100px;
    padding: 25px 0;
    background: url(/img/nav.png) left top no-repeat;
}

nav ul li a {
    text-decoration: none;
    text-transform: uppercase;
    color: white;
    margin: 0;
    padding: 0;
    font-family: "Tahoma", Sans-serif;
    font-size: 11px;
    font-weight: bold;
}

nav ul li:nth-child(1) {
    width: 98px;
}

nav ul li:nth-child(2) {
    width: 98px;
    background-position: -98px;
}

nav ul li:nth-child(3) {
    width: 97px;
    background-position: -196px;
}

nav ul li:nth-child(4) {
    width: 98px;
    background-position: -294px;
}

nav ul li:nth-child(5) {
    width: 98px;
    background-position: -392px;
}

nav ul li:nth-child(6) {
    width: 98px;
    background-position: -490px;
}

nav ul li:nth-child(7) {
    width: 99px;
    background-position: -588px;
}

nav ul li.active {
    background-image: url(/img/nav-active.png);
}

nav a#fst-logo {
    display: inline-block;
    margin: 28px 0 0 22px;
}

main {
    display: block; /* IE11 */
    overflow: auto;
    background: linear-gradient(90deg, #d1e0ed 177px, white 0);
    min-height: calc(100vh - 367px - 280px);
}

main > div {
    padding: 20px 15px 20px 35px;
    box-sizing: border-box;
    position: relative;
}

main div#main-header {
    width: 235px;
    float: left;
}

main div h1 {
    font-family: "Arial Black", Sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: normal;
    line-height: 25px;
    color: rgb(32, 92, 127);
}

main div h2 {
    font-family: "Arial Black", Sans-serif;
    font-size: 17px;
    text-transform: uppercase;
    font-weight: normal;
    line-height: 25px;
    color: rgb(116, 175, 209);
}

main div#main-header h2 {
    margin-top: 50px;
}

main div p {
    line-height: 15px;
    text-align: justify;
}

main div#content-small {
    float: right;
    width: 360px;
}

main > div #nav-left {
    position: absolute;
    left: -177px;
    width: 177px;
    margin: 0;
    padding: 0;
    text-align: center;
}

main > div #nav-left li {
    font-family: "Arial Black", Sans-serif;
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 18px;
    list-style: none;
}

main > div #nav-left li a {
    color: white;
    text-decoration: none;
}

main > div #nav-left li.active a {
    color: rgb(32, 92, 127);
}

footer {
    min-height: 280px;
    background: url(/img/footer.png) left 93px no-repeat,
        linear-gradient(0deg, white 187px, transparent 0),
        linear-gradient(90deg, #d1e0ed 177px, white 0);
}

footer > div {
    position: relative;
}

footer #footer-images {
    height: 187px;
}

footer ul#footer-partners {
    list-style: none;
    margin: 0 0 0 35px;
    padding: 0;
}

footer ul#footer-partners li {
    display: block;
    margin: 0 0 0 20px;
    padding: 0;
    float: left;
}

footer ul#footer-partners li:first-child {
    margin-left: 0;
}

footer ul#footer-partners li:nth-child(2) {
    padding-top: 16px;
}

footer ul#footer-partners li:nth-child(3) {
    padding-top: 32px;
}

footer ul#footer-partners li:nth-child(4) {
    padding-top: 48px;
}

footer ul#footer-partners li:nth-child(5) {
    padding-top: 64px;
}

footer #footer-info {
    position: relative;
    height: 92px;
    color: #3687ba;
}

footer #footer-info > div {
    display: inline-block;
}

footer #footer-info address {
    font-style: normal;
    display: block;
    line-height: 1.25em;
    position: absolute;
}

footer address#footer-about {
    top: 20px;
    left: 32px;
    width: 236px;
}

footer address#footer-contact {
    left: 310px;
    top: 33px;
    font-family: "Arial Black", Sans-serif;
}

footer div#footer-links {
    position: absolute;
    top: 23px;
    left: 544px;
}

footer div#footer-links img {
    margin-right: 20px;
}

/* Special */

#contact-address {
    color: #75afd1;
    margin: 30px 0;
}

#contact-address h2 {
    font-family: "Arial Black", Sans-serif;
    font-size: 17px;
    text-transform: uppercase;
    font-weight: normal;
    color: rgb(116, 175, 209);
    margin: 0.3em 0;
}

#contact-address address {
    font-style: normal;
    display: inline-block;
    vertical-align: top;
    font-size: 13px;
}

#contact-address address:first-child {
    width: 345px;
}

#contact-address address:last-child {
    text-decoration: underline;
}

#contact-people h2 {
    display: none;
}

#contact-people ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#contact-people ul li {
    display: inline-block;
}

#contact-people ul li:first-child {
    color: #d93d6a;
    width: 345px;
}

#contact-people ul li:last-child {
    color: #58ba92;
}

#contact-people ul li span {
    font-family: "Arial Black", Sans-serif;
    font-size: 17px;
    font-weight: normal;
    margin: 0.3em 0;
    display: block;
    text-transform: uppercase;
}

#contact-people address {
    font-style: normal;
    font-size: 13px;
}

.hidden {
    display: none;
}

.partners-h small {
    display: block;
    margin-top: 0.5em;
}

.partners-ul {
    list-style: none;
    padding: 0;
    margin: 50px 0;
    margin-right: -15px;
}

.partners-ul li {
    display: inline-block;
    padding-right: 20px;
    padding-bottom: 20px;
}

#partners-main.partners-ul li:nth-child(2) {
    padding-right: 0;
}

#partners-regular.partners-ul li:nth-child(4n+0) {
    padding-right: 0;
}

.registration form {
    margin: 40px 0 0 0;
}

.registration form.error input,
.registration form.error label,
.registration form.error select,
.registration form.error .input-static,
.registration form.error span.required {
    opacity: 0.1;
}

.registration form.error div.form-group.error input,
.registration form.error div.form-group.error label,
.registration form.error div.form-group.error span.required {
    opacity: 1;
}

.registration form.error div.form-group.error input {
    font-weight: bold;
}

.registration form.error div.form-group.error {
    position: relative;
}

.registration form.error div.form-group.error span.error-info {
    position: absolute;
    color: black;
    font-weight: bold;
    bottom: 15px;
    right: 8px;
    line-height: 24px;
}

.registration fieldset {
    border: 0;
    margin: 0;
    padding: 5px 0 0 0;
    position: relative;
}

.registration fieldset legend {
    position: absolute;
    /*top: 0;*/
    left: 0;
    font-size: 14px;
    text-transform: uppercase;
    font-family: "Arial Black", Sans-serif;
}

.registration .row {
    margin-left: 274px;
    margin-bottom: 10px;
}

.registration .form-group {
    width: 174px;
    display: inline-block;
}

.registration .form-group:first-child {
    margin-right: 8px;
}

.registration .form-group label {
    text-transform: uppercase;
}

.registration .form-group input {
    width: 100%;
    box-sizing: border-box;
    border: 0;
    background-color: yellow;
    margin: 15px 0;
    line-height: 24px;
    height: 24px;
    padding: 0 5px;
}

.registration fieldset:nth-child(1),
.registration fieldset:nth-child(1) legend /* IE11 */ {
    color: #75afd1;
}

.registration fieldset:nth-child(1) input {
    background-color: #e2edf5;
}

.registration fieldset:nth-child(2),
.registration fieldset:nth-child(2) legend /* IE11 */ {
    color: #d93d6a;
}

.registration fieldset:nth-child(2) input {
    background-color: #f6d8dc;
}

.registration fieldset:nth-child(3),
.registration fieldset:nth-child(3) legend /* IE11 */ {
    color: #82c12f;
}

.registration fieldset:nth-child(3) input {
    background-color: #e7f2d7;
}

.registration fieldset:nth-child(4),
.registration fieldset:nth-child(4) legend /* IE11 */ {
    color: #47b387;
}

.registration fieldset:nth-child(4) input {
    background-color: #fab798;
}

.registration fieldset:nth-child(5),
.registration fieldset:nth-child(5) legend /* IE11 */ {
    color: #f26e42;
}

.registration fieldset:nth-child(5) input {
    background-color: #fab798;
}

.registration input[type="submit"] {
    background-color: #3380af;
    color: white;
    line-height: 50px;
    width: 100%;
    border: 0;
    font-size: 22px;
    text-transform: uppercase;
    font-family: "Arial Black", Sans-serif;
    box-shadow: inset 0 0 30px black;
}

.registration .accept {
    margin-top: 50px;
    margin-bottom: 100px;
}

.registration .accept input[type="checkbox"] {
    display: none;
}

.registration .accept input[type="checkbox"] + label:before {
    background-color: #cdd7e1;
    width: 24px;
    height: 24px;
    border: 0;
    display: block;
    content: "";
    float: left;
    margin: 3px 10px 0 0;
}

.registration form.error .accept input[type="checkbox"] + label:before {
    background-color: #e8edf2;
}

.registration .accept input[type="checkbox"]:checked + label:before {
    background-image: url(../img/checked.png);
}

.registration form.error .accept input[type="checkbox"]:checked + label:before {
    background-image: url(../img/checked-error.png);
}

.registration select {
    background-color: white;
    border: none;
    color: #47b387;
    font-size: 12px;
}

.registration .accept label {
    font-size: 9px;
}

#message {
    display: block;
    padding: 60px 35px 90px 70px;
    width: 175px;
    height: 60px;
    margin: 60px 0 100px 280px;
    position: relative;
    background-repeat: no-repeat;
    text-transform: uppercase;
    color: white;
    font-size: 12px;
    line-height: 18px;
    font-weight: bold;
}

#message:before {
    content: "";
    display: block;
    width: 170px;
    height: 175px;
    background-repeat: no-repeat;
    background-image: url(../img/message-head.png);
    position: absolute;
    top: 120px;
    left: -180px;
}

#message.message-success {
    background-image: url(../img/message-success.png);
}

#message.message-error {
    background-image: url(../img/message-error.png);
}

#gallery-list {
    list-style: none;
    margin: 0 -15px 50px 0;
    padding: 0;
}

#gallery-list li {
    display: block;
    float: left;
    margin: 0 14px 14px 0;
}

#gallery-list li a {
    display: block;
    text-decoration: none;
}

#gallery-list li span {
    display: block;
    text-align: center;
    margin: 10px 0 0 0;
    font-weight: bold;
}

#gallery-list li:nth-child(4n+0) {
    margin-right: 0;
}

#gallery-photos {
    list-style: none;
    margin: 0 -15px 50px 0;
    padding: 0;
}

#gallery-photos li {
    display: block;
    float: left;
    margin: 0 14px 14px 0;
}

#gallery-photos li:nth-child(4n+0) {
    margin-right: 0;
}

#nav-left.gallery li {
    font-size: 1.4em;
    margin-bottom: 10px;
}

#nav-left.gallery li.active a {
    font-size: 1.3em;
}

#gallery-end {
    clear: both;
    margin-bottom: 50px;
}

#gallery-preview {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    background: rgba(255, 255, 255, 80%);
    width: 100vw;
    height: 100vh;
    text-align: center;
    vertical-align: middle;
    user-select: none;
}

#gallery-preview .gallery-main {
    width: 1000px;
    margin: 0 auto;
}

#gallery-preview .wrapper {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    transform: translateY(calc((100vh - 100%) / 2));
}

#gallery-preview img {
    max-width: 100%;
    max-height: 100vh;
    margin: 0 auto;
}

.gallery-preview-prev {
    position: absolute;
    top: 50%;
    left: 30px;
    margin-top: -38px;
    background-color: transparent;
    background-image: url("../img/gallery-arrow-left.png");
    border: 0;
    width: 42px;
    height: 77px;
}

.gallery-preview-next {
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -38px;
    background-color: transparent;
    background-image: url("../img/gallery-arrow-right.png");
    border: 0;
    width: 41px;
    height: 77px;
}

.entry {
    position: relative;
    background-image: url("../img/rozcestnik.png");
    width: 637px;
    height: 747px;
}

.entry a {
    position: absolute;
}

.entry a svg {
    background-image: url(/img/message-head.png);
    background-position: 18px 17px;
    background-size: 45px 45px;
    background-repeat: no-repeat;;
}

.entry a:nth-child(1) svg g path, .entry a:nth-child(1) svg g text {
    fill: #7d0056;
    color: #7d0056;
}

.entry a:nth-child(2) svg g path, .entry a:nth-child(2) svg g text {
    fill: #f4764c;
    color: #f4764c;
}

.entry a:nth-child(3) svg g path, .entry a:nth-child(3) svg g text {
    fill: #8dc63f;
    color: #8dc63f;
}

.entry a:nth-child(4) svg g path, .entry a:nth-child(4) svg g text {
    fill: #d93d6a;
    color: #d93d6a;
}

.entry a:nth-child(5) svg g path, .entry a:nth-child(5) svg g text {
    fill: #58ba92;
    color: #58ba92;
}
