@font-face {
  font-family: 'SuisseIntl-Regular';
  src: url('./fonts/SuisseIntl-Regular/SuisseIntl-Regular-WebM.eot');
  src: url('./fonts/SuisseIntl-Regular/SuisseIntl-Regular-WebM.eot?#iefix') format('embedded-opentype'),
  url('./fonts/SuisseIntl-Regular/SuisseIntl-Regular-WebM.woff2') format('woff2'),
  url('./fonts/SuisseIntl-Regular/SuisseIntl-Regular-WebM.woff') format('woff'),
  url('./fonts/SuisseIntl-Regular/SuisseIntl-Regular-WebM.ttf') format('truetype');
}

@font-face {
  font-family: 'SuisseWorks-Regular';
  src: url('./fonts/SuisseWorks-Regular/SuisseWorks-Regular-WebS.eot');
  src: url('./fonts/SuisseWorks-Regular/SuisseWorks-Regular-WebS.eot?#iefix') format('embedded-opentype'),
  url('./fonts/SuisseWorks-Regular/SuisseWorks-Regular-WebS.woff2') format('woff2'),
  url('./fonts/SuisseWorks-Regular/SuisseWorks-Regular-WebS.woff') format('woff'),
  url('./fonts/SuisseWorks-Regular/SuisseWorks-Regular-WebS.ttf') format('truetype');
}

@font-face {
  font-family: 'SuisseWorks-RegularItalic';
  src: url('./fonts/SuisseWorks-RegularItalic/SuisseWorks-RegularItalic-WebS.eot');
  src: url('./fonts/SuisseWorks-RegularItalic/SuisseWorks-RegularItalic-WebS.eot?#iefix') format('embedded-opentype'),
  url('./fonts/SuisseWorks-RegularItalic/SuisseWorks-RegularItalic-WebS.woff2') format('woff2'),
  url('./fonts/SuisseWorks-RegularItalic/SuisseWorks-RegularItalic-WebS.woff') format('woff'),
  url('./fonts/SuisseWorks-RegularItalic/SuisseWorks-RegularItalic-WebS.ttf') format('truetype');
}

body {
  letter-spacing: 0.025em;
}

/* Typography */
.font-regular {
  font-family: 'SuisseIntl-Regular';
  font-size: 18px;
  line-height: 22px;
}

.font-medium {
  font-family: 'SuisseIntl-Regular';
  font-size: 27px;
  line-height: 34px;
}

.font-medium-alt {
  font-family: 'SuisseWorks-Regular';
  font-size: 30px;
  line-height: 36px;
}

.font-large {
  font-family: 'SuisseWorks-Regular';
  font-size: 40px;
  line-height: 50px;
}

.font-large-alt {
  font-family: 'SuisseWorks-RegularItalic';
  font-size: 40px;
  line-height: 50px;
}

/* Colors */
.color-black {
  color: black;
}

.background-black {
  background-color: black;
}

.color-white {
  color: white;
}

.background-white {
  background-color: white;
}

.color-cream {
  color: #F8F6F1;
}

.background-cream {
  background-color: #F8F6F1;
}

.color-blue {
  color: #009FFF;
}

.background-blue {
  background-color: #009FFF;
}

.color-red {
  color: #FF5653;
}

.background-red {
  background-color: #FF5653;
}

/* Padding & Margin */


/* Components */
p {
  margin-bottom: 0px;
}

a,
a:hover {
  color: black;
  text-decoration: none;
}

#menu .selected:after {
  border-bottom: 5px solid #FF5653;
  bottom: -17px;
  content: '';
  display: block;
  left: 15px;
  position: absolute;
  width: calc(100% - 30px);
  z-index: 1;
}

header {
  border-bottom: 1px solid black;
}

header:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -9px;
  left: 0px;
  width: 100%;
  height: 8px;
  background-color: #F8F6F1;
}

.button {
  border: 1px solid black;
  display: block;
  padding: 8px;
  text-align: center;
}

.button.selected {
  background-color: #FF5653;
}

/*Language variations */
.lang_fr .button.selected {
  background-color: #009FFF;
}

.lang_fr #menu .selected:after {
  border-bottom-color: #009FFF;
}

#sidebar {
  position: absolute;
  left: 15px;
  top: 33px;
  width: 100%;
}

#sidebar a:not(.selected) {
  background-color: #F8F6F1;
}

.indent {
  text-indent: 30px;
}

.mb-100 {
  margin-bottom: 100px;
}

.carousel-control-next,
.carousel-control-prev {
  background-color: #F8F6F1;
  opacity: 1 !important;
  width: calc(8.33vw - 15px);
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
  height: 62px;
  width: 90px;
}

.carousel-control-next-icon {
  background-image: url(images/arrow-right-de.svg);
}

.carousel-control-prev-icon {
  background-image: url(images/arrow-left-de.svg);
}

.lang_fr .carousel-control-next-icon {
  background-image: url(images/arrow-right-fr.svg);
}

.lang_fr .carousel-control-prev-icon {
  background-image: url(images/arrow-left-fr.svg);
}

.text a {
  color: #FF5653;
  text-decoration: underline;
}

.lang_fr .text a {
  color: #009FFF;
}

.text ul {
  list-style: none;
  padding-left: 30px;
}

.text ul li {
  position: relative;
}

.text ul li:before {
  content: '—';
  display: block;
  position: absolute;
  top: 3px;
  left: -30px;
}

.pl-30 {
  padding-left: 30px;
}


.image {
  position: absolute;
  top: 0px;
  left: 15px;
  width: calc(8.33vw * 3 - 30px);
  background-color: #FF5653;
  opacity: 0;
  transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
}

.image:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -100px;
}

.image img {
  display: block;
  width: 100%;
}

.image-row {
  transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
}

header {
  top: 0px;
  background-color: #F8F6F1;
  z-index: 100;
}

body {
  padding-top: 122px;
}

@media (min-width: 768px) and (max-width: 991px) {
  body {
    padding-top: 200px;
  }

  #menu .col-lg-4 {
    padding-bottom: 30px;
  }

  #menu .col-lg-4:after {
    content: '';
    display: block;
    position: absolute;
    left: 15px;
    bottom: 25px;
    width: calc(50% - 30px);
    border-bottom: 1px solid black;
  }

  #menu .col-lg-4 .selected:after {
    bottom: 17px;
    width: calc(50% - 30px);
  }

  #sidebar {
    width: 50%;
    left: calc(50% + 15px);
    top: -91px;
  }


  .carousel-control-next-icon,
  .carousel-control-prev-icon {
    height: 50px;
    width: 50px;
  }
}

@media (max-width: 991px) {
  .image-row:hover {
    color: black;
  }

  .image-row:hover .image {
    opacity: 0;
  }
}

@media (max-width: 767px) {
  header {
    height: 100vh;
    max-height: 100px;
    overflow: hidden;
    transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
    border: 0;
  }

  #sidebar {
    position: fixed;
    bottom: 15px;
    top: auto;
    display: none;
  }

  #menu .col-md-3:before,
  #menu .font-medium-alt a:before {
      content: '';
      display: block;
      position: absolute;
      border-bottom: 1px solid black;
      bottom: -5px;
      left: 15px;
      width: calc(100% - 30px);
  }

  #menu .selected:after {
    bottom: -13px;
  }

  #menu .col-md-3 a {
    padding-top: 55px;
  }

  #sidebar .col {
    flex: 100%;
    margin-top: 16px;
  }

  .w-30px {
    width: 30px;
  }

  #button-open-menu,
  #button-close-menu {
    position: absolute;
    top: 0px;
    right: 15px;
  }

  #button-close-menu {
    display: none;
  }

  header a {
    display: block;
    width: 100%;
  }

  header.opened {
    max-height: 100vh;
  }

  header.opened #sidebar {
    display: block;
  }

  header.opened #button-close-menu {
    display: block;
  }


  .font-medium {
    font-size: 25px;
    line-height: 31px;
  }

  .font-medium-alt {
    font-size: 25px;
    line-height: 31px;
  }

  .font-large {
    font-size: 30px;
    line-height: 38px;
  }

  .font-large-alt {
    font-size: 30px;
    line-height: 38px;
  }
}

.mw-400px {
  max-width: 400px;
}

.carousel-indicators {
  margin-bottom: 0px;
}

.carousel-indicators li {
  width: 10px;
  height: 10px;
  border-radius: 100%;
  opacity: 1;
  background-color: black;
}

.carousel-indicators li.active {
  background-color: #FF5653;
}

.lang_fr .carousel-indicators li.active {
  background-color: #009FFF;
}

.lang_fr .image {
  background-color: #009FFF;
}

.arrow-small {
  width: 20px;
}

@media (min-width: 768px) {
  #menu a:hover:after {
    border-bottom: 5px solid #FF5653;
    bottom: -17px;
    content: '';
    display: block;
    left: 15px;
    position: absolute;
    width: calc(100% - 30px);
    z-index: 1;
  }

  .lang_fr #menu a:hover:after {
    border-bottom-color: #009FFF;
  }

  .image-row:not(.empty):hover {
    color: #FF5653
  }

  .lang_fr .image-row:not(.empty):hover {
    color: #009FFF;
  }

  .image-row:hover .image {
    opacity: 1;
  }
}
