/* Welcome to Compass. In this file you should write your main styles. (or centralize your imports) Import this file using the following HTML or equivalent: <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
@import url("https://fonts.googleapis.com/css?family=IBM+Plex+Mono:400,500|IBM+Plex+Sans:300,400,500,600,700|IBM+Plex+Serif");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

body { font-size: 16px; font-family: "IBM Plex Sans", Arial, sans-serif; background-color: #ffffff; }
@media only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } }

img { display: inline-block; max-width: 100%; }

button { appearance: none; border: none; background-color: transparent; }
button:active { outline: none; border: none; }

p { margin: 0; font-size: 0.9375rem; font-weight: 300; line-height: 1.67; letter-spacing: 0.15px; }
@media (min-width: 768px) { p { font-size: 1.125rem; } }
p + p { margin-top: 0.9rem; }
p a { text-decoration: underline; }

ul, ol, p ul, p ol { padding-inline-start: 30px; margin: 0 0 20px; }
ul li, ol li, p ul li, p ol li { font-size: 0.9375rem; font-weight: 300; line-height: 1.67; letter-spacing: 0.15px; padding: 10px; width: 100%; }
@media (min-width: 768px) { ul li, ol li, p ul li, p ol li { font-size: 1.125rem; } }
ul li ul, ol li ul, p ul li ul, p ol li ul { margin: 0; }

a { color: #000000; }
a:hover { color: #757575; }

h1 { font-family: "IBM Plex Sans", Arial, sans-serif; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; font-size: 1.6875rem; line-height: 1.42; margin-top: 0; margin-bottom: 25px; hyphens: manual; }
@media (min-width: 768px) { h1 { font-size: 2.5rem; line-height: 1.2; padding-top: 10px; margin-bottom: 30px; } }
@media (min-width: 1024px) { h1 { font-size: 3.75rem; line-height: 1.1; padding-top: 40px; margin-bottom: 45px; } }
@media (min-width: 1280px) { h1 { margin-bottom: 60px; padding-top: 55px; } }

h2 { font-family: "IBM Plex Sans", Arial, sans-serif; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; font-size: 1.875rem; line-height: 1.33; margin-top: 1.8rem; margin-bottom: 0.6rem; }
@media (max-width: 1024px) { h2 { font-size: 1.5rem; line-height: 1.27; } }
@media (max-width: 420px) { h2 { font-size: 1.375rem; } }

h3 { font-family: "IBM Plex Sans", Arial, sans-serif; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; font-size: 1.375rem; line-height: 1.36; margin-top: 1.8rem; margin-bottom: 0.6rem; }
@media (max-width: 1024px) { h3 { font-size: 1.125rem; } }

h4 { font-family: "IBM Plex Sans", Arial, sans-serif; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; font-size: 1rem; line-height: 1.5; margin-top: 35px; margin-bottom: 30px; }

h5 { font-size: 0.875rem; line-height: 1.5; margin-top: 1.8rem; margin-bottom: 0.6rem; }

h6 { font-family: "IBM Plex Sans", Arial, sans-serif; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; font-size: 0.75rem; line-height: 1.67; margin-top: 1.8rem; margin-bottom: 0.6rem; }
@media (max-width: 1024px) { h6 { font-size: 0.6875rem; } }
@media (max-width: 420px) { h6 { font-size: 0.625rem; line-height: 1.8; } }

form .formField, .form .formField { margin: 0; padding: 0; border: 0; vertical-align: baseline; position: relative; background: #f6f6f6; border-top: 1px solid #c4c4c4; border-bottom: 1px solid #c4c4c4; min-height: 100%; width: 100%; }
form .formField:active, .form .formField:active { background: 0 0; }
form .formField.active, .form .formField.active { border-bottom-color: #000000; }
form .formField.error, .form .formField.error { border-bottom-color: #FF665E; }
form .formField.error label, .form .formField.error label { color: #FF665E; }
form .formFieldMulti, .form .formFieldMulti { position: relative; }
form .formFieldMulti input, .form .formFieldMulti input { margin: 0; border: 0; vertical-align: baseline; background: #f6f6f6; border-top: 1px solid #c4c4c4; border-bottom: 1px solid #c4c4c4; min-height: 100%; width: 100%; }
form .formFieldMulti input:active, .form .formFieldMulti input:active { border-bottom-color: #000000; }
form .formFieldMulti input:invalid, form .formFieldMulti input.error, .form .formFieldMulti input:invalid, .form .formFieldMulti input.error { border-bottom-color: #FF665E; }
form .formFieldMulti input:invalid ~ label, form .formFieldMulti input.error ~ label, .form .formFieldMulti input:invalid ~ label, .form .formFieldMulti input.error ~ label { color: #FF665E; }
form input, form label, .form input, .form label { position: relative; display: inline-block; width: 100%; }
form label:not(#CybotCookiebotDialog *), .form label:not(#CybotCookiebotDialog *) { font-size: 14px; line-height: 1.57; letter-spacing: .9px; padding: 20px 30px; position: absolute; left: 0; top: 0; width: 100%; transition: all ease .2s; text-transform: uppercase; }
form input, .form input { width: 100%; background: 0 0; border: none; outline: 0; font-size: 14px; line-height: 1.57; letter-spacing: .9px; padding: 25px 30px 15px; text-transform: uppercase; }
form input:focus ~ label, form input.hasValue ~ label, .form input:focus ~ label, .form input.hasValue ~ label { font-size: 9px; letter-spacing: .9px; color: #757575; padding-top: 10px; padding-bottom: 1px; }
form button, .form button { font-size: 12px; font-weight: 500; line-height: 1.67; letter-spacing: 1px; background: #ffffff; border: 1px solid #000000; color: #000000; display: block; position: relative; text-transform: uppercase; cursor: pointer; text-align: center; padding: 20px 50px; z-index: 2; overflow: hidden; width: 100%; min-width: 200px; transition: color .25s ease-out 25ms; margin-top: 30px; }
form button:after, .form button:after { content: ''; position: absolute; left: 0; top: 0; height: 100%; width: 0%; background-color: #000000; transition: width 0.25s cubic-bezier(0.21, 0.89, 0.45, 0.99); z-index: -1; }
form button:hover, .form button:hover { color: #ffffff; }
form button:hover:after, .form button:hover:after { width: 100%; }

.message { font-size: 12px; font-weight: 500; line-height: 1.67; letter-spacing: 1px; background: transparent; border: 1px solid #000000; color: #000000; display: block; position: relative; text-transform: uppercase; text-align: center; padding: 20px 50px; z-index: 2; overflow: hidden; width: 100%; min-width: 200px; transition: color .25s ease-out 25ms; margin-top: 30px; }
.message.error { border-color: #FF665E; color: #FF665E; }
.message.success { border-color: #25D07C; color: #25D07C; }

.small { padding-left: 20px; padding-right: 20px; max-width: 600px; margin-left: auto; margin-right: auto; }

.medium { padding-left: 20px; padding-right: 20px; max-width: 800px; margin-left: auto; margin-right: auto; }

.large { padding-left: 20px; padding-right: 20px; max-width: 900px; margin-left: auto; margin-right: auto; }

.auto { padding-left: 0; padding-right: 0; max-width: 1320px; margin-left: auto; margin-right: auto; width: 92%; position: relative; }

.menu { width: 100%; background-color: #ffffff; display: block; position: fixed; top: 0; left: 0; z-index: 20; height: 60px; }
@media (min-width: 768px) { .menu { height: 70px; } }
@media (min-width: 1024px) { .menu { height: 80px; } }
.menu > * { display: flex; justify-content: space-between; }
.menuLogo { display: block; height: 60px; width: 190px; margin: 0; flex: 0 0 auto; background-image: url("../../public/img/icons/logo.svg"); background-repeat: no-repeat; background-position: center left; background-size: auto 24px; }
@media (min-width: 768px) { .menuLogo { height: 70px; background-size: auto 26px; } }
@media (min-width: 1024px) { .menuLogo { height: 80px; background-size: auto 30px; } }
.menuButton { display: block; flex: 0 0 auto; font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 0.9375rem; padding: 0; margin: 0; width: auto; height: 60px; border: 0; background-image: url("../../public/img/icons/menu.svg"); background-repeat: no-repeat; background-position: center right 10px; background-size: 24px auto; text-transform: uppercase; padding-right: 44px; }
.menuButton span { display: none; }
@media (min-width: 768px) { .menuButton { height: 70px; } }
@media (min-width: 1024px) { .menuButton { height: 80px; }
  .menuButton span { display: inline; } }
.menuButton:hover, .menuButton:focus { outline: none; cursor: pointer; }

.nav { position: fixed; left: 100%; top: 0; height: 100%; width: calc(100% - 60px); max-width: 1000px; z-index: 40; background-color: #ffffff; visibility: hidden; transition: transform 0.3s ease, visibility 0s ease 0.3s; }
.nav.navOpen { transform: translateX(-100%); visibility: visible; transition: transform 0.3s ease, visibility 0s ease 0s; }
@media (min-width: 768px) { .nav { width: calc(100% - 60px); } }
@media (min-width: 1024px) { .nav { width: 50%; } }
.navOverlay { position: fixed; top: 0; height: 100%; }
.navOverlay { background-color: rgba(0, 0, 0, 0.7); left: 0; width: 100%; z-index: 35; appearance: none; border: none; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0s ease 0s; }
.navOverlay.navOpen { opacity: 0.7; visibility: visible; }
.navContainer { display: flex; flex-flow: column nowrap; height: 100%; width: 100%; margin: 0; padding: 15px 30px 0 15px; text-align: left; overflow: auto; }
@media (min-width: 768px) { .navContainer { padding: 60px 60px 0; } }
.navContainerButton { opacity: 0; border: none; height: 16px; width: 16px; position: absolute; right: 20px; padding: 0; margin: 0; top: 16px; z-index: 50; cursor: pointer; background-color: transparent; }
.navOpen .navContainerButton { opacity: 1; }
@media (min-width: 768px) { .navContainerButton { right: 30px; top: 28px; } }
@media (min-width: 1024px) { .navContainerButton { right: 60px; } }
@media (min-width: 1920px) { .navContainerButton { height: 56px; width: 56px; right: calc(100% + 60px); top: 50%; transform: translateY(-50%); } }
.navContainerButton:after, .navContainerButton:before { position: absolute; content: ''; height: 2px; width: 0; background-color: #000; top: 50%; left: 50%; width: 135%; }
@media (min-width: 1920px) { .navContainerButton:after, .navContainerButton:before { height: 2px; background-color: #fff; } }
.navContainerButton:before { transform: translate(-50%, -50%) rotate(-225deg); }
.navContainerButton:after { transform: translate(-50%, -50%) rotate(45deg); }
.navPrimary { margin-bottom: 50px; position: relative; }
@media (min-width: 768px) { .navPrimary { margin-bottom: 100px; } }
@media (max-height: 700px) and (min-width: 1024px) { .navPrimary { margin-bottom: 25px; } }
.navSecondary { padding-bottom: 15px; border-bottom: 1px solid #000000; }
@media (min-width: 768px) { .navSecondary { padding-bottom: 20px; } }
@media (min-width: 1024px) { .navSecondary { margin-bottom: 15px; } }
.navLabel { font-family: "IBM Plex Sans", Arial, sans-serif; color: #000000; font-size: 0.625rem; font-weight: 600; line-height: 2; text-transform: uppercase; color: #000; letter-spacing: .5px; position: absolute; margin: 0; bottom: calc(100% + 10px); }
@media (min-width: 768px) { .navLabel { font-size: 0.75rem; font-weight: 400; letter-spacing: 1.1px; } }
@media (min-width: 1024px) { .navLabel { bottom: inherit; top: -34px; margin: 0; } }
.navList { padding: 0; margin: 0; border-top: 3px solid #000000; }
.navList li { border-bottom: 3px solid #000000; padding: 0; }
.navList a { font-family: "IBM Plex Sans", Arial, sans-serif; color: #000000; font-size: 1, 4375rem; font-weight: 600; line-height: 1.1; display: block; padding: 15px 0; text-transform: uppercase; text-decoration: none; }
.navList a:hover { color: #000000; }
@media (min-width: 768px) { .navList a { padding: 20px 0; transition: transform 0.25s cubic-bezier(0.17, 0.67, 0.41, 0.98); font-size: 3.4375rem; position: relative; }
  .navList a:hover { transform: translateX(10px); } }
@media (min-width: 1024px) { .navList a { font-size: 3.4375rem; letter-spacing: normal; line-height: 1.08; } }
@media (min-width: 1440px) { .navList a { font-size: 3.75rem; letter-spacing: normal; line-height: 1.08; } }
@media (min-width: 1920px) { .navList a { font-size: 5rem; letter-spacing: normal; line-height: 1.06; }
  .navList a:hover { transform: translateX(30px); } }
.navListSecond { padding: 0; margin: 0; }
.navListSecond li { padding: 0; }
.navListSecond a { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 400; line-height: 1.5; display: block; margin-bottom: 5px; color: #000000; text-transform: uppercase; text-decoration: none; position: relative; }
@media (min-width: 768px) { .navListSecond a { cursor: pointer; position: relative; font-size: 1rem; display: inline; position: relative; }
  .navListSecond a::after { content: ''; position: absolute; bottom: -4px; left: 0; z-index: 1; display: block; width: 0; height: 1px; background: #000000; transition: width 0.2s cubic-bezier(0.17, 0.67, 0.41, 0.98); }
  .navListSecond a:hover { color: #000000; text-decoration: none; transform: translateX(0); }
  .navListSecond a:hover::after { width: 100%; } }
@media (min-width: 1920px) { .navListSecond a { font-size: 1.125rem; } }
.navHeader { flex-grow: 1; flex-shrink: 0; width: 100%; min-height: 24px; }
@media (min-width: 1920px) { .navHeader { flex-grow: 0; min-height: 94px; } }
.navMain { width: 100%; flex-shrink: 0; }
.navFooter { padding-top: 20px; padding-bottom: 20px; display: flex; justify-content: flex-start; align-items: flex-end; flex-grow: 1; flex-shrink: 0; }
@media (min-width: 768px) { .navFooter { padding-bottom: 60px; } }
.navFooter p { font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 400; line-height: 1.5; display: block; margin-bottom: 5px; color: #000000; text-transform: uppercase; }
@media (min-width: 768px) { .navFooter p { font-size: 1rem; display: inline; position: relative; } }
@media (min-width: 1920px) { .navFooter p { font-size: 1.125rem; } }
.navFooterLogo { display: block; height: 24px; width: 190px; margin: 10px 0 0; flex: 0 0 auto; background-image: url("../../public/img/icons/logo.svg"); background-repeat: no-repeat; background-position: center left; background-size: auto 24px; }
@media (min-width: 768px) { .navFooterLogo { height: 26px; background-size: auto 26px; } }
@media (min-width: 1024px) { .navFooterLogo { height: 30px; background-size: auto 30px; } }

.header { padding: 99px 0 20px; }
@media (min-width: 768px) { .header { padding: 108px 0 30px; } }
@media (min-width: 1024px) { .header { padding: 119px 0 45px; } }
@media (min-width: 1280px) { .header { padding: 134px 0 45px; } }
.app .header { padding: 39px 0 20px; }
@media (min-width: 768px) { .app .header { padding: 38px 0 30px; } }
@media (min-width: 1024px) { .app .header { padding: 39px 0 45px; } }
@media (min-width: 1280px) { .app .header { padding: 54px 0 45px; } }
.headerContainer { text-transform: uppercase; padding: 0 0 25px; border-bottom: 1px solid #000000; }
@media (min-width: 768px) { .headerContainer { padding-bottom: 30px; } }
@media (min-width: 1024px) { .headerContainer { padding-bottom: 45px; } }
@media (min-width: 1280px) { .headerContainer { padding-bottom: 60px; } }
.header h1, .header h4 { margin: 0; padding: 0; }
.header h1 { hyphens: manual; }
.header h4 { color: #aeaeae; font-family: "IBM Plex Mono", monospace; font-weight: 400; font-size: 0.6875rem; }
@media (min-width: 768px) { .header h4 { font-size: 0.9375rem; } }

.newsletter { margin-top: 50px; padding: 20px 0; border-top: 1px solid #000000; overflow: hidden; }
.newsletterForm { padding-top: 20px; overflow: hidden; }
@media (min-width: 768px) { .newsletterForm button { width: 17%; float: right; } }
@media (min-width: 1024px) { .newsletterForm form { display: flex; flex-wrap: nowrap; }
  .newsletterForm form .formField { width: 38%; margin-right: 2%; }
  .newsletterForm form button { margin-top: 0; margin-left: 3%; width: 17%; } }

.mainContainer { display: flex; flex-direction: column; }
@media (min-width: 1024px) { .mainContainer { flex-direction: row; } }
.mainContainerLeftside { width: 100%; }
@media (min-width: 1024px) { .mainContainerLeftside { width: 50%; margin-right: 10%; } }
.mainContainerRightside { display: none; }
@media (min-width: 1024px) { .mainContainerRightside { position: relative; display: block; width: 40%; transition: max-height .5s ease-in-out; padding-bottom: 60px; }
  .mainContainerRightside .info-showmore { position: absolute; display: block; bottom: 0; width: 100%; height: 60px; line-height: 60px; background-color: #ffffff; font-size: 0.75rem; font-weight: 500; letter-spacing: 1px; color: #000000; text-transform: uppercase; cursor: pointer; }
  .mainContainerRightside .info-showmore::before { content: ''; display: block; width: 100%; height: 60px; background-image: linear-gradient(rgba(255, 255, 255, 0), #ffffff); position: absolute; bottom: 60px; opacity: 0; transition: opacity .5s ease-out; }
  .mainContainerRightside .info-showmore-icon { display: inline-block; height: 10px; width: 40px; background-repeat: no-repeat; background-position: center; background-size: auto 100%; background-image: url("../../public/img/icons/chevron-up.svg"); }
  .mainContainerRightside .information { position: relative; transition: position .5s ease-in-out; }
  .mainContainerRightside.collapsed { overflow: hidden; }
  .mainContainerRightside.collapsed .information { position: absolute; top: 0; left: 0; }
  .mainContainerRightside.collapsed .info-showmore-icon { background-image: url("../../public/img/icons/chevron-down.svg"); }
  .mainContainerRightside.collapsed .info-showmore::before { opacity: 1; transition: opacity .5s ease-out; } }
.mainContainerText { color: #000000; font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 0.9375rem; font-weight: 300; line-height: 1.7; letter-spacing: .4px; }
@media (min-width: 768px) { .mainContainerText { font-size: 1rem; letter-spacing: .5px; padding: 45px 0; } }
@media (min-width: 1024px) { .mainContainerText { width: 75%; margin-left: 25%; padding-left: 45px; } }
@media (min-width: 1280px) { .mainContainerText { font-size: 1.125rem; line-height: 1.67; width: 78%; margin-left: 22%; padding-left: 60px; } }

.questionList { width: 100%; padding: 0; }
.questionListItem { position: relative; padding: 0; }
.questionListItem .questionInfo { cursor: pointer; display: flex; margin-bottom: 15px; }
.questionListItem .questionInfo .index { background-color: #8AD2F1; width: 60px; min-width: 60px; height: 60px; font-size: 1.25rem; font-weight: 400; text-align: center; line-height: 60px; color: #000000; }
.questionListItem .questionInfo .index.check { color: transparent; background-image: url("../../public/img/icons/check.svg"); background-repeat: no-repeat; background-position: center; background-size: auto 30%; }
.questionListItem .questionInfo .question { padding-left: 15px; font-family: "IBM Plex Sans", Arial, sans-serif; }
.questionListItem .questionInfo .question-text { font-size: 0.9375rem; line-height: 1.2; margin-bottom: 8px; }
.questionListItem .questionInfo .question-answer { margin-top: 0; font-size: 0.875rem; color: #aeaeae; line-height: 1.2; }

.answerList { width: 100%; padding: 0; }
.answerListItem { position: relative; padding: 0; }
.answerListItem .answerInfo { display: flex; margin-bottom: 15px; }
@media (min-width: 1024px) { .answerListItem .answerInfo { transition: transform 0.25s cubic-bezier(0.17, 0.67, 0.41, 0.98); cursor: pointer; }
  .answerListItem .answerInfo:hover { transform: translateX(10px); } }
.answerListItem .answerInfo .index { background-color: #e6ebed; width: 60px; min-width: 60px; height: 60px; font-size: 1.25rem; font-weight: 400; text-align: center; line-height: 60px; color: #000000; }
.answerListItem .answerInfo .text { padding-left: 15px; font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 0.9375rem; line-height: 1.2; align-self: center; }

.date-picker { font-family: "IBM Plex Mono", monospace; width: 100%; max-width: 500px; background-color: #e6ebed; padding: 15px; }
.date-picker .ui-datepicker-header { display: flex; justify-content: center; margin-bottom: 15px; }
.date-picker .ui-datepicker-header .ui-corner-all { margin: 0 10px; }
.date-picker .ui-datepicker-header .ui-corner-all:before { content: ''; display: inline-block; width: 40px; height: 30px; background-image: url("../../public/img/icons/arrow-right.svg"); background-repeat: no-repeat; background-position: center right 10px; background-size: auto 50%; transition: background-position 0.25s cubic-bezier(0.17, 0.67, 0.41, 0.98); }
.date-picker .ui-datepicker-header .ui-corner-all span { display: none; }
@media (min-width: 1024px) { .date-picker .ui-datepicker-header .ui-corner-all:hover { cursor: pointer; }
  .date-picker .ui-datepicker-header .ui-corner-all:hover:before { background-position: center right 0; } }
.date-picker .ui-datepicker-header .ui-datepicker-prev { order: 1; }
.date-picker .ui-datepicker-header .ui-datepicker-prev:before { transform: rotate(180deg); }
.date-picker .ui-datepicker-header .ui-datepicker-title { order: 2; font-family: "IBM Plex Sans", Arial, sans-serif; font-weight: 700; text-transform: uppercase; min-width: 160px; text-align: center; }
.date-picker .ui-datepicker-header .ui-datepicker-next { order: 3; }
.date-picker .ui-datepicker-calendar { font-family: "IBM Plex Mono", monospace; border-collapse: collapse; width: 100%; }
.date-picker .ui-datepicker-calendar thead tr th { padding: 0 4px; }
.date-picker .ui-datepicker-calendar tbody { border: 1px solid #c4c4c4; }
.date-picker .ui-datepicker-calendar tbody tr td a { display: block; padding: 4px 8px 25px; }
.date-picker .ui-datepicker-calendar tbody tr td a:hover { color: #000000; text-decoration: none; }
@media (min-width: 1024px) { .date-picker .ui-datepicker-calendar tbody tr td a { transition: background-color .25s ease-out, color .25s ease-out; }
  .date-picker .ui-datepicker-calendar tbody tr td a:hover { background-color: #8AD2F1; } }
.date-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-other-month, .date-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-unselectable, .date-picker .ui-datepicker-calendar tbody tr td.ui-state-disabled { border-left: 1px solid #c4c4c4; }
.date-picker .ui-datepicker-calendar tbody tr td[data-handler$='selectDay'] { border: 1px solid #000000; }
.date-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-current-day { background-color: #000000; }
.date-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-current-day a { color: #ffffff; }
@media (min-width: 1024px) { .date-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-current-day:hover { background-color: #8AD2F1; }
  .date-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-current-day:hover a { color: #000000; } }

.informationText h3 { margin-top: 0; margin-bottom: 1.2rem; }
.informationFooter { position: fixed; bottom: 0; left: 0; right: 0; background-color: #000000; z-index: 15; padding: 15px; }
@media (min-width: 1024px) { .informationFooter { display: none; } }
.informationFooterContent { font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 0.75rem; color: #ffffff; display: flex; flex-wrap: nowrap; }
@media (min-width: 375px) { .informationFooterContent { font-size: 0.9375rem; } }
.informationFooterContent .index { background-color: #ffffff; width: 30px; min-width: 30px; height: 30px; font-size: 1.125rem; font-weight: 400; text-align: center; line-height: 30px; color: #000000; }
.informationFooterContent .text { padding-left: 15px; line-height: 30px; align-self: center; }
.informationFooterContent .link { color: #8AD2F1; padding-left: 5px; align-self: center; }

.resultInfo { font-family: "IBM Plex Mono", monospace; font-size: 0.875rem; letter-spacing: 0.15px; margin: 30px 0 10px; }
.resultInfo .resultText { display: block; line-height: 1.67; }
.resultInfo .resultDate { display: block; font-size: 1.125rem; letter-spacing: 0; }
.resultInfoSingle .resultText { margin: 10px 0; }
.resultInfoSingle .resultDate { margin: 30px 0 10px; }
.resultInfoDouble .resultText { margin: 30px 0 10px; }
.resultInfoDouble .resultDate { margin: 10px 0; }

.shareBlock ul { padding: 0; margin: 45px 0 30px; display: flex; }
.shareBlock ul li { padding-top: 60px; background-repeat: no-repeat; background-position: center top 15px; background-size: 30px auto; text-align: center; transition: background-color .25s ease-out; }
.shareBlock ul li.save { background-image: url("../../public/img/icons/save.svg"); }
.shareBlock ul li.print { background-image: url("../../public/img/icons/print.svg"); }
.shareBlock ul li.share { background-image: url("../../public/img/icons/share.svg"); }
.shareBlock ul li.reset { background-image: url("../../public/img/icons/reset.svg"); }
.shareBlock ul li span { font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 0.9375rem; font-weight: 500; text-transform: uppercase; }
@media (min-width: 1024px) { .shareBlock ul li:hover { cursor: pointer; background-color: #f6f6f6; } }
.share .help { margin-bottom: 45px; font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 0.875rem; font-weight: 400; text-transform: uppercase; letter-spacing: 1px; }
.share .help a { text-decoration: underline; }
.share .terms { font-family: "IBM Plex Mono", monospace; font-weight: 400; font-size: 0.75rem; line-height: 1.67; }
.share .terms strong { font-weight: 500; }
.share .terms a { text-decoration: underline; }

.footer { display: flex; flex-direction: column; background: #000000; padding: 50px 0; }
.footerContainer { display: flex; flex-direction: column; position: relative; }
@media (min-width: 768px) { .footerContainer { flex-direction: row; } }
.footerContent { display: flex; align-items: flex-start; flex-direction: unset; }
@media (min-width: 768px) { .footerContent { flex-direction: column; flex: 1; } }
.footerOffices { display: flex; align-items: flex-start; flex-wrap: wrap; width: 100%; }
.footerOffice { font-family: "IBM Plex Sans", Arial, sans-serif; font-size: 0.625rem; font-weight: 500; line-height: 1.6; color: #ffffff; padding: 0 0 40px 0; width: 33%; text-transform: uppercase; letter-spacing: .8px; font-style: normal; }
@media (min-width: 768px) { .footerOffice { padding: 0 30px 40px 0; } }
@media (min-width: 1024px) { .footerOffice { font-size: 0.6875rem; line-height: 1.64; letter-spacing: .8px; } }
@media (min-width: 1280px) { .footerOffice { font-size: 1rem; line-height: 1.5; letter-spacing: 1.3px; } }
.footerOfficeTitle { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; font-weight: 400; line-height: 1.8; color: #ffffff; letter-spacing: .7px; margin: 0 0 5px; }
@media (min-width: 1024px) { .footerOfficeTitle { font-size: 0.6875rem; line-height: 1.64; letter-spacing: .8px; } }
@media (min-width: 1280px) { .footerOfficeTitle { font-size: 0.75rem; letter-spacing: 1px; line-height: 1.67; } }
.footerOfficeStreet, .footerOfficeZip { display: block; }
.footerContact { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; font-weight: 400; line-height: 2; color: #ffffff; display: flex; justify-content: unset; align-items: unset; flex-direction: row; flex-wrap: wrap; width: 100%; margin: 40px 0 0; text-transform: uppercase; letter-spacing: .8px; }
.footerContactDesktop { display: none; }
@media (min-width: 768px) { .footerContact { margin: auto 0 0; }
  .footerContactDesktop { display: flex; }
  .footerContactMobile { display: none; } }
@media (min-width: 1024px) { .footerContact { font-size: 0.6875rem; line-height: 1.82; letter-spacing: .9px; } }
@media (min-width: 1280px) { .footerContact { flex-direction: row; justify-content: flex-start; font-size: 0.75rem; line-height: 1.67; letter-spacing: 1px; } }
.footerContactInfo { padding: 0 10px 5px 0; font-weight: 400; }
@media (min-width: 768px) { .footerContactInfo { padding-right: 10px; padding-bottom: 0; } }
@media (min-width: 1024px) { .footerContactInfo { padding-right: 20px; } }
@media (min-width: 1280px) { .footerContactInfo { padding-right: 40px; } }
.footerContactInfo span { padding: 0 7px 0 0; font-weight: 400; }
@media (min-width: 1024px) { .footerContactInfo span { padding-right: 5px; } }
@media (min-width: 1280px) { .footerContactInfo span { padding-right: 7px; } }
.footerContactInfo a { font-family: "IBM Plex Mono", monospace; font-size: 0.625rem; font-weight: 400; line-height: 2; color: #ffffff; width: 100%; margin: 40px 0 0; text-transform: uppercase; text-decoration: none; letter-spacing: .8px; }
@media (min-width: 768px) { .footerContactInfo a { cursor: pointer; position: relative; margin: auto 0 0; }
  .footerContactInfo a::after { content: ''; position: absolute; bottom: 0; left: 0; z-index: 1; display: block; width: 0; height: 1px; background: #ffffff; transition: width 0.2s cubic-bezier(0.17, 0.67, 0.41, 0.98); }
  .footerContactInfo a:hover { color: #ffffff; text-decoration: none; transform: translateX(0); }
  .footerContactInfo a:hover::after { width: 100%; } }
@media (min-width: 1024px) { .footerContactInfo a { font-size: 0.6875rem; line-height: 1.82; letter-spacing: .9px; } }
@media (min-width: 1280px) { .footerContactInfo a { font-size: 0.75rem; line-height: 1.67; letter-spacing: 1px; } }

.tagline { margin-top: 50px; }
.taglineText { font-family: "IBM Plex Serif", serif; font-size: 1rem; font-weight: 400; line-height: 30px; display: block; text-align: right; text-transform: none; padding: 20px 0; border-top: 1px solid #000000; }
@media (min-width: 768px) { .taglineText { font-size: 1.25rem; padding: 25px 0; } }
@media (min-width: 1280px) { .taglineText { font-size: 1.375rem; padding: 31px 0; } }

.footerMenu .menuList { list-style: none; margin: 0; padding: 0; }
@media (min-width: 768px) { .footerMenu .menuList { min-width: 25vw; max-width: 360px; } }
.footerMenu .menuList li { border-bottom: 1px solid #ffffff; position: relative; padding: 0; z-index: 10; }
.footerMenu .menuList li:first-child { border-top: 1px solid #ffffff; }
.footerMenu .menuList li svg { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); }
.footerMenu .menuList li a { display: block; text-transform: uppercase; text-decoration: none; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 400; line-height: 1.67; letter-spacing: .9px; padding-top: 14px; padding-bottom: 14px; color: #ffffff; }
@media (min-width: 768px) { .footerMenu .menuList li a { position: relative; text-decoration: none; cursor: pointer; padding-left: 0; padding-right: 60px; transition: padding .1s ease-out; font-size: 0.6875rem; line-height: 1.64; letter-spacing: .8px; }
  .footerMenu .menuList li a:hover { color: #ffffff; cursor: pointer; padding-left: 10px; padding-right: 50px; }
  .footerMenu .menuList li a:after { content: ''; position: absolute; width: 23px; height: 23px; right: 0; top: 14px; background-repeat: no-repeat; background-position: center; background-size: auto 60%; background-image: url("../../public/img/icons/chevron-right-white.svg"); } }
@media (min-width: 1280px) { .footerMenu .menuList li a { font-size: 0.875rem; line-height: 1.71; font-weight: 500; letter-spacing: 1.1px; } }

.share-popup { width: 90%; left: 5%; margin-top: 20px; margin-bottom: 20px; position: absolute; z-index: 120; background-color: #ffffff; padding: 25px; }
@media (min-width: 768px) { .share-popup { width: 70%; left: 15%; } }
@media (min-width: 1024px) { .share-popup { margin-top: 250px; max-width: 750px; left: 50%; transform: translateX(-50%); } }
.share-popup .close { opacity: 1; border: none; height: 16px; width: 16px; position: absolute; right: 25px; padding: 0; margin: 0; top: 25px; z-index: 50; background-color: transparent; }
.share-popup .close:after, .share-popup .close:before { position: absolute; content: ''; height: 2px; width: 0; background-color: #000000; top: 50%; left: 50%; width: 135%; }
.share-popup .close:before { transform: translate(-50%, -50%) rotate(-225deg); }
.share-popup .close:after { transform: translate(-50%, -50%) rotate(45deg); }
.share-popup .confirm { font-size: 12px; font-weight: 500; line-height: 1.67; letter-spacing: 1px; background: #ffffff; border: 1px solid #000000; color: #000000; display: block; position: relative; text-transform: uppercase; text-align: center; padding: 20px 50px; z-index: 2; overflow: hidden; width: 100%; margin-top: 45px; }
@media (min-width: 420px) { .share-popup .confirm { width: 300px; margin-left: auto; margin-right: auto; } }
.share-popup h3 { margin-top: 0; padding-right: 20px; }
@media (max-height: 667px) { .share-popup .newsletterText { font-size: 0.625rem; } }
.share-popup form, .share-popup .form, .share-popup .newsletterForm form { overflow: hidden; }
@media (min-width: 768px) { .share-popup form, .share-popup .form, .share-popup .newsletterForm form { display: block; }
  .share-popup form .formField, .share-popup .form .formField, .share-popup .newsletterForm form .formField { width: 100%; margin-right: 0; }
  .share-popup form button, .share-popup .form button, .share-popup .newsletterForm form button { margin-top: 30px; width: 17%; float: right; } }
