html, body { height: 100%; }

body { background: #ffffff; color: #1C090B; font-family: 'Work Sans', sans-serif; }

.excerpt a, .contents a { border-bottom: 2px solid; background: #ffffff; }
.excerpt a:hover, .contents a:hover { color: #1C090B; text-decoration: none; }

.excerpt { font-size: 1.5em; margin-top: 1em; margin-bottom: 0.5em; }

@media (min-width: 768px) { .excerpt { font-size: 2em; margin-top: 2em; margin-bottom: 1em; } }
.contents { font-size: 1.6em; }
.contents h1, .contents h2, .contents h3 { font-size: inherit; padding-left: 0.75em; padding-top: 0.75em; padding-bottom: 0.75em; }
.contents p { font-size: inherit; text-align: justify; }

.mail.icon { color: #000; position: absolute; margin-left: 2px; margin-top: 4px; width: 15px; height: 10px; border-radius: 1px; border: solid 1px currentColor; }

.mail.icon:before { content: ''; position: absolute; left: 7px; top: -4px; width: 1px; height: 10px; background-color: currentColor; -webkit-transform-origin: bottom; transform-origin: bottom; -webkit-transform: rotate(-54deg); transform: rotate(-54deg); }

.mail.icon:after { content: ''; position: absolute; left: 7px; top: -4px; width: 1px; height: 10px; background-color: currentColor; -webkit-transform-origin: bottom; transform-origin: bottom; -webkit-transform: rotate(54deg); transform: rotate(54deg); }

li.active a, a.active { background-color: cyan; }

a { color: #151515; }

.page { margin-top: 70px; margin-bottom: 4rem; }
.page > h1 { font-size: 2.5rem; }
.page .smaller { padding: 1em 2em; font-size: .8em; background: #f0F0f0; }

@media (min-width: 768px) { .page { margin-top: 210px; margin-bottom: 4rem; }
  .page > h1 { font-size: 4.5rem; } }
h1.headline { margin-top: 18px; margin-right: 0; font-size: 2em; }
h1.headline > span { background-color: #ffffff; }

@media (min-width: 768px) { body h1.headline { margin-top: 100px; margin-right: 2.5rem; font-size: 2.5em; } }
body.index .fullsized { margin-top: 50px; }

@media (min-width: 768px) { body.index .fullsized { margin-top: 90px; } }
a.big { border-bottom: 2px solid #151515; }
a.big:hover { color: #151515; border-bottom-color: transparent; text-decoration: none; }

video.video-background { position: absolute; height: auto; min-height: 100%; min-width: 100%; left: 0%; }

@media (min-width: 768px) { body.index .fullsized { height: 75%; }
  body.index .fullsized > .left, body.index .fullsized > .right { position: absolute; width: 50%; height: 100%; }
  body.index .fullsized > .right { top: 0; left: 50%; border-top: 0px solid transparent; }
  body.index .fullsized > .left { border-bottom: 0px solid transparent; } }
.fullsized { height: 120%; position: relative; background-color: white; }
.fullsized.first { margin-top: 2.5rem; }
.fullsized > .left, .fullsized > .right { position: absolute; height: 50%; width: 100%; overflow: hidden; }
.fullsized > .right { top: 50%; left: 0%; height: 50%; border-top: 2px solid #1C090B; }
.fullsized > .left { border-bottom: 1px solid #FAF54F; }
.fullsized.opposite { background: #141516; color: white; }

body.stories .social-media-container { margin-right: 0; margin-left: 0; }
body.stories .social-media-container > .col, body.stories .social-media-container > [class*=col-] { padding-right: 0; padding-left: 0; }

#modal-slides { pointer-events: none; }
#modal-slides .modal-dialog { pointer-events: none; position: absolute; top: 65px; margin: 0; right: 15px; left: 15px; bottom: 20px; }
#modal-slides .close { position: absolute; background: #f0f0f0; height: 35px; line-height: 35px; padding: 0 10px; right: 5px; top: 10px; }
#modal-slides .header { position: relative; border-bottom-width: 0px; padding: 15px; margin-right: 50px; font-weight: bold; }
#modal-slides .modal-content { pointer-events: auto; box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.32); background-color: #f0f0f0; max-height: 90%; border-width: 0; border-radius: 0; }
#modal-slides .modal-body { font-size: 1em; overflow: auto; padding: 0; }
#modal-slides .modal-body .description { margin: 0; }
#modal-slides .modal-body .description > .inner { padding: 0 15px; }
#modal-slides .modal-body .description > img { float: left; max-width: 50%; margin: 0 15px 15px 15px; }
#modal-slides .footer { line-height: 40px; padding: 0 10px; }
#modal-slides .footer .next { border-top: 2px solid #ccc; }
#modal-slides .footer .provider a { font-weight: bold; border-bottom: 2px solid #1C090B; }

@media (min-width: 768px) { #modal-slides .modal-dialog { top: 155px; right: 20px; left: 50%; }
  #modal-slides .modal-body { font-size: 1.2em; }
  .social-media-container { margin-right: -15px; margin-left: -15px; }
  .social-media-container > .col, .social-media-container > [class*=col-] { padding-right: 15px; padding-left: 15px; } }
body.map .navbar.navbar-secondary ul { background-color: rgba(240, 240, 240, 0.85); }
body.map .navbar.navbar-secondary ul.languages { background-color: rgba(250, 250, 250, 0.85); }
body.map .fullsized { margin: 0px; height: 100%; }
body.map #map { position: absolute; top: 52px; bottom: 2px; right: 0px; left: 0px; }
body.map .marker { display: block; border: 2px solid #F98375; border-radius: 50%; cursor: pointer; padding: 0; }
body.map #map-wrapper { position: relative; width: 100%; height: 100%; background: #ccc; }

@media (min-width: 768px) { #map { top: 92px; bottom: 2px; } }
.navbar { background-color: #FAF54F; padding: 0rem 0; }
.navbar ul li { padding: 0 0.5rem; }

.navbar.navbar-primary .navbar-brand { margin-left: 0.75rem; }
.navbar.navbar-primary .collapse { background-color: transparent; }

.navbar.navbar-secondary { background-color: transparent; top: 92px; }
.navbar.navbar-secondary ul { background-color: #f0f0f0; padding: 0 0.75rem; }
.navbar.navbar-secondary ul.languages { background-color: #fafafa; }

.navbar .navbar-brand { padding: 0; background: transparent; color: cyan; font-size: 1rem; line-height: 2rem; }

.navbar .navbar-nav li.nav-item { padding: 0; margin: 0.75rem; border-bottom: 2px solid transparent; }
.navbar .navbar-nav li.nav-item.logo-wrapper { border-color: transparent; }
.navbar .navbar-nav li.nav-item a { color: grey; }
.navbar .navbar-nav li.nav-item:hover { border-color: grey; }
.navbar .navbar-nav li.nav-item:hover a { color: #151515; }
.navbar .navbar-nav li.nav-item.active { border-color: #151515; }
.navbar .navbar-nav li.nav-item.active a { color: #151515; }

.navbar .navbar-nav a.nav-link { background: transparent; padding: 0; font-size: 1rem; line-height: 2rem; color: #151515; }

.navbar.absolute-top { position: absolute; }

.logo-wrapper img { height: 4rem; }

#navbar-mobile { position: fixed; z-index: 1060; background-color: #FAF54F; top: -250px; height: 300px; width: 100%; transition: transform .21s ease-in-out; }
#navbar-mobile.active { transform: translate(0, 250px); }
#navbar-mobile .navbar-brand { padding: 5px 0 5px 5px; }
#navbar-mobile .navbar-brand > img { height: 40px; }
#navbar-mobile .bottom { position: absolute; height: 50px; bottom: 0px; left: 7px; right: 14px; overflow: hidden; background-color: #FAF54F; }
#navbar-mobile .toggler { position: absolute; top: 10px; left: 50%; height: 30px; width: 60px; margin-left: -30px; overflow: hidden; background-color: transparent; color: #1C090B; border: 2px solid #1C090B; text-align: center; }
#navbar-mobile .toggler > span { display: block; line-height: 23px; border-bottom: 2px solid #1C090B; }
#navbar-mobile ul.languages { position: absolute; top: 10px; right: 0; height: 30px; }
#navbar-mobile ul.languages li.nav-item { display: inline-block; }
#navbar-mobile ul.languages li.nav-item .nav-link { padding: 2px 4px; }
#navbar-mobile > ul.navbar-nav { position: absolute; border-top: 2px solid; top: 50px; }
#navbar-mobile > ul.navbar-nav.left { left: 15px; right: 50%; }
#navbar-mobile > ul.navbar-nav.right { right: 15px; left: 50%; }
#navbar-mobile > ul.navbar-nav li a { padding-left: 15px; padding-right: 15px; }

@media (min-width: 768px) { #navbar-mobile { display: none; } }
div.social-media { -webkit-transition: .21s border-color linear; -moz-transition: .21s border-color linear; -moz-transition: .21s border-color linear; -ms-transition: .21s border-color linear; -o-transition: .21s border-color linear; transition: .21s border-color linear; border: 2px solid transparent; margin-bottom: 15px; }
div.social-media:hover, div.social-media.active { border-color: #FAF54F; }
div.social-media.active { border-color: #1C090B; }
div.social-media .image-wrapper { width: 100%; display: block; }
div.social-media .image-wrapper > .image { height: 0; padding-bottom: 100%; background: #f0f0f0; color: transparent; background-size: cover; }
div.social-media .date { color: grey; }
div.social-media .description { max-height: 100px; overflow: hidden; margin: 10px; padding: 0px; font-size: 13px; line-height: 20px; }

footer { color: grey; background-color: #f0f0f0; padding: 1rem 0; }
footer .col-md { padding-top: 1rem; }
footer a { color: #151515; border-bottom: 2px solid #151515; }
footer a:hover { color: #151515; border-bottom-color: transparent; text-decoration: none; }
footer .fnr-logo { border-bottom: 0px solid transparent; }
footer .fnr-logo img { margin: 10px; }
footer ul.nav.flex-row > li > a.nav-link { margin-right: 1em; }
footer ul.nav > li.active > a.nav-link { background-color: #FAF54F; border-color: transparent; }
footer ul.nav > li > a.nav-link { border-color: transparent; display: inline-block; padding: 0; }
footer ul.nav > li > a.nav-link:hover { border-color: #151515; }

@media (min-width: 768px) { footer { padding: 2.5rem 0; }
  footer .col-md { padding-top: 0rem; } }
@media (min-width: 1200px) { .container.half-container { max-width: 570px; height: 100%; }
  .fullsized > .left .container.half-container { padding-right: 0; margin-right: 0; }
  .fullsized > .right .container.half-container { padding-left: 0; margin-left: 0; } }
