:root {
  --brand: #0e2c56;
  --blue: #00589a;
  --lightBlue: #506a87;
  --white: #fff;
  --gray: #b1b1b1;
  --green: #548235;
  --darkGreen: #385723;
  --darkRed: #751b1b;
  --red: #ff0000;
  --orange: #dd5e36;

  --headerHeight: 7.5rem;
  --footerHeight: 24rem;
  --t-duration: 0.5s;
  --minHeight: 40.125rem;
  --desktopMinHeight: 50rem;
  --maxHeight: 50rem;
  --fullHeight: min(
    calc(100vh - var(--headerHeight)),
    calc(var(--vh) - var(--headerHeight))
  );

  --brandFont: 'HelveticaNeueBold';
  --accentFont: 'TrashHand';

  --px100: 16.6rem;
  --px80: 5rem;
  --px72: 4.5rem;
  --px56: 3.5rem;
  --px48: 3rem;
  --px44: 2.75rem;
  --px40: 2.5rem;
  --px32: 2rem;
  --px30: 1.875rem;
  --px28: 1.75rem;
  --px26: 1.625rem;
  --px24: 1.5rem;
  --px22: 1.375rem;
  --px20: 1.25rem;
  --px18: 1.125rem;
  --px16: 1rem;
  --px14: 0.875rem;
  --px12: 0.75rem;
}

:root.mobile {
  --maxHeight: 40.125rem;
}

@font-face {
  /*https://www.onlinewebfonts.com/download/d72e521f27450184733d89aa499e531c*/
  font-family: 'HelveticaNeueBold';
  src: url('fonts/HelveticaNeueBoldCondensed.eot');
  src: url('fonts/HelveticaNeueBoldCondensed.eot?#iefix')
      format('embedded-opentype'),
    url('fonts/HelveticaNeueBoldCondensed.woff2') format('woff2'),
    url('fonts/HelveticaNeueBoldCondensed.woff') format('woff'),
    url('fonts/HelveticaNeueBoldCondensed.ttf') format('truetype'),
    url('fonts/HelveticaNeueBoldCondensed.svg#Helvetica Neue 77 Bold Condensed')
      format('svg');
}

@font-face {
  /*https://www.onlinewebfonts.com/download/28e6ad1357c8380cfb42e2b9fbd8d9cc*/
  font-family: 'TrashHand';
  src: url('fonts/TrashHand.eot');
  src: url('fonts/TrashHand.eot?#iefix') format('embedded-opentype'),
    url('fonts/TrashHand.woff2') format('woff2'),
    url('fonts/TrashHand.woff') format('woff'),
    url('fonts/TrashHand.ttf') format('truetype'),
    url('fonts/TrashHand.svg#TrashHand') format('svg');
}

/*fx*/
.loading {
  opacity: 0;
  overflow: hidden;
}
.animatedTitle,
.animatedItem,
.fromLeft,
.fromRight,
.fromBack {
  opacity: 0;
}
.inview {
  opacity: 1;
}

/*fx*/

/*html*/
html {
  position: relative;
  height: 100%;
  min-height: 100%;
  font-size: var(--rem) !important;

  overflow-x: hidden;
}
@media (max-width: 991.98px) {
  html {
    overflow-x: hidden !important;
  }
  :root {
    --headerHeight: 6.25rem;
  }
}
@media (max-height: 28.375rem) and (orientation: landscape) {
  :root {
    --headerHeight: 5rem;
  }
}
/*html*/

/*body*/
@media (min-width: 992px) {
  /* body {
    min-height: calc(
      var(--headerHeight) + var(--minHeight) + var(--footerHeight)
    );
  } */
}
.stickyFooter {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.stickyFooter footer {
  margin-top: auto;
}
body {
  margin: 0;
  padding: 0;
  width: 100vw;
  font-family: 'Montserrat', sans-serif;
  line-height: normal;
  padding-top: var(--headerHeight);
  scroll-behavior: smooth;
  transition: all var(--t-duration) ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background-position: center bottom;
  background-size: cover;
  transition: all var(--t-duration) ease-in;
  height: 100%;
}
div {
  -webkit-text-size-adjust: 100% !important;
}
/*body*/

/*bootstrap*/
@media (max-width: 991.98px) {
  .container {
    max-width: 100% !important;
  }
  :root {
    --footerHeight: 17.43rem;
  }
  .mobile .w-100 {
    width: 100vw !important;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 90% !important;
  }
}
.row:before,
.row:after {
  display: none !important;
}
/*bootstrap*/

/*swiper*/

/*links*/
a {
  text-decoration: none !important;
  color: var(--brand);
}
@media (min-width: 992px) {
  a:hover {
    transition: color var(--t-duration) ease;
  }
}
.actionButton {
  font-family: 'HelveticaNeueBold', sans-serif;
  text-transform: uppercase;
  color: var(--white);
  font-size: var(--px32);
  padding: 0.5rem 1rem;
  display: block;
  max-width: min-content;
  white-space: nowrap;
  border-radius: 0.5rem;
  background-color: var(--blue);
  margin-top: var(--px48);
}
.desktop .actionButton:hover {
  background-color: var(--white);
  color: var(--blue);
}
.mobile .actionButton {
  font-size: var(--px18);
  margin-top: 2rem;
}
/*links*/

/*content*/
section .title,
h1 {
  font-family: 'HelveticaNeueBold', sans-serif;
  font-size: 4.125rem !important;
  color: var(--blue) !important;
}
section .accent {
  font-family: 'TrashHand', sans-serif;
  font-size: 5.25rem;
  color: var(--white);
}
.mobile section .title,
.mobile h1 {
  font-size: var(--px32) !important;
  text-align: center;
}
.mobile section .accent {
  font-size: var(--px48);
}
h1 {
  margin-top: var(--px48) !important;
  margin-bottom: 1rem !important;
}
.mobile h1 {
  margin-top: 1rem !important;
}
.text {
  font-size: var(--px24);
  color: var(--blue);
}
.mobile .text {
  font-size: var(--px20);
}
@media only screen and (max-device-width: 480px) {
  html {
    -webkit-text-size-adjust: 100% !important;
  }
}
/*content*/

/*forms*/
input,
textarea {
  all: unset;
}
/*forms*/

/*header*/
header {
  display: flex;
  align-items: center;
  top: 0;
  z-index: 11;
  position: fixed;
  background: var(--brand);
  height: var(--headerHeight);
  min-height: max(80px, 5rem);
  transition: all var(--t-duration) ease-in;
}
.scrolled header {
  background: var(--brand) !important;
}
.scrolled {
  /* padding-top: var(--headerHeight) !important; */
}
header .row {
  width: 100%;
  margin: 0 auto;
}
/*header*/

/*logo*/
.logo img {
  height: 4.8125rem;
  filter: brightness(0) invert(1);
  width: auto;
}
.mobile .logo img {
  height: calc(var(--headerHeight) * 0.6);
}
/*logo*/

/*menu*/
#menuToggle img {
  cursor: pointer;
  height: calc(2.375rem);
  width: auto;
}
#menuToggle.active #menuClose {
  display: block;
}
#menuToggle.active #menu {
  display: none;
}
#menuClose {
  display: none;
}
.desktop #mobileMenu {
  display: none;
}
#mobileMenu {
  position: fixed;
  opacity: 0;
  z-index: -1;
  transition: opacity var(--t-duration) ease;
  width: 100vw;
}

.withMenu #mobileMenu {
  transition: opacity var(--t-duration) ease;
  opacity: 1;
  z-index: 10;
  position: relative;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
}

#mobileMenu ul {
  flex-direction: column;
}
#mobileMenu::before {
  content: '';
  background: url(img/background.jpg) no-repeat center bottom;
}
body.withMenu {
  margin-bottom: 0;
  position: fixed;
  background: url(img/background.jpg) no-repeat center bottom;
  background-size: cover;
  padding: 0;
}
#mobileMenu nav.bottom ul {
  gap: var(--px24);
}
#mobileMenu nav.bottom ul a {
  color: var(--white);
}
#mobileMenu .top,
#mobileMenu .bottom {
  margin-top: auto;
}
#mobileMenu nav.top ul {
  row-gap: var(--px32);
}
.mobileMenuWrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  gap: 2rem;
  height: max(28.375rem, calc(var(--vh) - var(--headerHeight)));
  margin-top: var(--headerHeight);
}
@media (max-height: 28.375rem) and (orientation: landscape) {
  .mobileMenuWrap {
    flex-direction: row;
    height: calc(var(--vh) - var(--headerHeight));
  }
  #mobileMenu .top,
  #mobileMenu .bottom {
    margin-top: auto;
    margin-bottom: auto;
    text-align: center;
  }
  footer {
    height: unset !important;
  }
}
.withMenu header {
  background: transparent;
}
.withMenu footer {
  opacity: 0;
}
/*menu*/

/*footer*/
footer {
  color: var(--white);
  background-color: var(--brand);
  padding: var(--px56) 0 var(--px32) 0;
  height: var(--footerHeight);
  /* margin-top: var(--px32); */
  font-size: 1rem;
  position: relative;
  z-index: 1;
}

footer .container .row {
  display: flex;
}
footer .logo {
  margin-bottom: var(--px32);
}

.mobile footer {
  font-size: var(--px16);
  padding: var(--px32) 0;
  align-items: center;
  display: flex;
}
.mobile footer .logo {
  margin-bottom: var(--px32);
}
@media (max-height: 28.375rem) and (orientation: landscape) {
  .mobile footer {
    padding: var(--px16) 0;
  }
}
/*footer*/

/*fullHeight*/
.fullHeight {
  height: calc(var(--fullHeight));
  overflow: hidden;
  min-height: var(--minHeight);
  position: relative;
  transition: all var(--t-duration) ease-in;
}

.mobile .fullHeight {
  /* height: unset;
  max-height: unset;
  padding-top: var(--headerHeight);
  padding-bottom: var(--px12); */
}

@media (orientation: portrait) and (max-width: 767.98px) {
  .fullHeight {
    /* padding-top: var(--px12);
    padding-bottom: var(--px12);
    min-height: calc(var(--vh) - var(--headerHeight));
    height: auto; */
  }
}
@media (max-height: 642px) {
  .mobile .fullHeight {
    max-height: unset;
    min-height: var(--fullHeight);
    height: auto;
    padding-top: var(--px12);
    padding-bottom: var(--px12);
  }
}
@media (max-height: 28.375rem) and (orientation: landscape) {
  .mobile .fullHeight {
    padding-top: var(--px24);
    padding-bottom: var(--px24);
  }
  .mobile section .title,
  .mobile h1 {
    margin-bottom: var(--px24);
  }
}
@media (orientation: portrait) and (min-height: 800px) {
  .fullHeight,
  .intro {
    max-height: var(--maxHeight);
  }
}
/*fullHeight*/

.tint {
  width: 100%;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 2 !important;
  position: absolute !important;
  background-color: hsla(215, 73%, 20%, 0.2);
}
/*helpers*/
.mx-0 {
  margin: 0;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.pl-0 {
  padding-left: 0 !important;
}
.py-40 {
  padding-top: var(--px40);
  padding-bottom: var(--px40);
}
.mb-32 {
  margin-bottom: var(--px32);
}
.mb-56 {
  margin-bottom: var(--px56);
}
/*helpers*/
.intro {
  z-index: 2;
}
.cookiesNote,
.cookiesNote a {
  font-size: calc(var(--rem) * 0.8);
  color: var(--white);
}
.cookiesNote a {
  cursor: pointer;
}
.cookiesNote .actionButton {
  margin-top: 0;
}
.cookiesNote {
  background: var(--lightBlue);
  color: var(--white);

  display: flex;
  align-items: center;
  padding: var(--rem);
  gap: var(--rem);
  position: fixed;
  bottom: var(--rem);
  left: var(--rem);
  right: var(--rem);
  flex-direction: row;
  width: max-content;
  max-width: 90vw;
  z-index: 2;
}
@media (max-width: 767.98px) {
  .cookiesNote {
    flex-direction: column;
    align-items: start;
  }
}
.withMenu .cookiesNote {
  display: none;
}

.footer-social {
  display: flex;
  justify-content: center;
  margin-bottom: calc(var(--rem) * 2);
  gap: calc(var(--rem) * 0.75);
}

.footer-social img {
  width: calc(var(--rem) * 2);
  height: auto;
}
