html,
body {
  font-family: var(--fontFamily);
  font-size: var(--fontSize);
  overflow-x: hidden;
}

html {
  height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  flex-direction: column;
  min-height: 99vh;
  position: relative;
  color: var(--textColor);
  overflow-x: hidden;
}

main {
  flex-grow: 1;
}

main section:first-child {
  padding-top: 50px;
}
@media (max-width: 600px) {
  main section:first-child {
    padding-top: 20px;
  }
}

body:not(.developersBody) main > section:nth-child(odd) {
  background-color: var(--accentBackgroundColor);
}

.fullWidthSection {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.sectionInnerWrapper {
  width: 100%;
  max-width: var(--layoutWidthMax);
}

/**
 * Intro
 */

.introSection {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: var(--sectionPadding);
}

.introSection > div {
  flex: 1;
}

.introSection h1 {
  font: var(--titleFont);
}

.introSection p {
  color: var(--textColorLightest);
  font: var(--subTitleFont);
}

.introSection h1,
.introSection p {
  margin-bottom: 20px;
}

.introSection img {
  width: 100%;
}

/**
 * Main Content
 */

.mainContentSection {
  padding: var(--sectionPadding);
}

.mainContentSection h2 {
  color: var(--accentColor);
  font: var(--titleFont);
  letter-spacing: var(--titleLetterSpacing, inherit);
  padding: var(--titlePadding);
}

.mainContentSection ul {
  display: flex;
  list-style-type: none;
}

.mainContentSection li {
  flex: 1;
}

.mainContentSection li:not(:first-child) {
  padding-left: 15px;
}
.mainContentSection li:not(:last-child) {
  padding-right: 15px;
}

.mainContentSection li img {
  max-width: 40px;
  margin-bottom: 10px;
  height: 40px;
}

.mainContentSection h3 {
  position: relative;
  color: var(--accentColor);
  font: var(--titleFont);
  letter-spacing: var(--titleLetterSpacing, inherit);
  padding: var(--titlePadding);
}

.mainContentSection h3:before {
  background-color: var(--accentColor);
  content: "";
  display: block;
  height: 15px;
  left: -16px;
  position: absolute;
  top: 2px;
  width: 1px;
}

.mainContentSection p {
  line-height: 1.5em;
  color: var(--textColorLightest);
}

.mainContentSection em {
  font-style: normal;
  font-weight: bold;
  color: var(--accentColor);
}

/**
 * Citation
 */

.quoteSection {
  padding: var(--sectionPadding);
}

.quoteSectionWrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--sectionPadding);
}

/**
 * Start now
 */

.startSectionWrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--sectionPadding);
}

.startSection h2 {
  margin-bottom: 20px;
  font-size: 30px;
}

.introSection .buttons,
.startSection .buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.introSection .buttons {
  margin-top: 20px;
}

.introSection .buttons > a:not(:first-child),
.startSection .buttons > a:not(:first-child) {
  margin-left: 10px;
}

.introSection .buttons > a:not(:last-child),
.startSection .buttons > a:not(:last-child) {
  margin-right: 10px;
}

.button {
  padding: 9px 40px 11px 30px;
  border-radius: 16.5px;
  transition: background-color 0.1s ease-in-out;
  position: relative;
  cursor: pointer;
}

.button:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 5px;
  height: 5px;
  transform: rotate(45deg) translate(0, -50%);
  transform-origin: center center;
}

.purpleButton {
  background-color: var(--accentColor);
  color: var(--whiteColor);
}

.purpleButton:visited {
  color: var(--whiteColor);
}

.alwaysPurpleButton {
  background-color: var(--accentColorAlways);
  color: var(--whiteColorAlways);
}

.purpleButton:hover {
  background-color: var(--textColor);
}

.alwaysPurpleButton:hover {
  background-color: var(--textColorAlways);
}

.purpleButton:after {
  border-top: 2px solid var(--whiteColor);
  border-right: 2px solid var(--whiteColor);
}

.alwaysPurpleButton:after {
  border-top: 2px solid var(--whiteColorAlways);
  border-right: 2px solid var(--whiteColorAlways);
}

.whiteButton {
  color: var(--accentColor);
}

.whiteButton:hover {
  background-color: #f0f0f0;
}

.whiteButton:after {
  border-top: 2px solid var(--accentColor);
  border-right: 2px solid var(--accentColor);
}

/**
 * Footer
 */

footer {
  font-size: var(--fontSizeSmall);
}

.footerWrapper {
  padding: var(--footerPadding);
}

footer .infos {
  display: flex;
  flex-direction: row;
  line-height: 1.5em;
}

/**
 * Use case
 */

.problemsSection {
  padding: var(--sectionPadding);
}

.problemsSection h2,
.problemsSection ul {
  margin-bottom: 20px;
}

.problemsSection ul {
  margin-left: 0;
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  font: var(--subTitleFont);
}

@media (max-width: 600px) {
  .problemsSection ul {
    columns: 1;
    -webkit-columns: 1;
    -moz-columns: 1;
  } 
}

.problemsSection li {
  position: relative;
  padding-left: 25px;
  break-inside: avoid-column;
}

.problemsSection li:before {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  top: 7px;
  left: 0;
  background-image: url('../files/icons/btu_protocol_icon_checkmark.svg');
}

.quoteSectionWrapper {
  background-color: var(--accentColor);
  background: url('../files/decoration/btu-protocol-verso-background.png');
  color: var(--whiteColor);
  padding: 40px;
  border-radius: 10px;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: row;
  align-items: center;
}

.quoteSectionWrapper > div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.quoteText {
  flex: 3;
}

.quoteSection blockquote {
  font-style: italic;
  font-weight: var(--fontWeightNormal);
  font-size: var(--subTitleFontSize)/var(--subTitleLineHeight);
  line-height: var(--subTitleLineHeight);
  font-family: var(--fontFamily);
}

.quoteLogo {
  flex: 1;
  font-size: 30px;
}

.quoteLogo img {
  width: 100%;
  max-width: 35px;
  margin-right: 5px;
}

@media (max-width:600px) {
  .quoteSectionWrapper {
    flex-direction: column;
  }
  .quoteLogo {
    margin-top: var(--gutterWidth);
  }
}

.useCaseContentSection {
  display: flex;
  flex-direction: row;
  margin-bottom: 40px;
  padding: var(--sectionPadding);
  align-items: center;
}

.useCaseContentSection > div:first-child {
  margin-right: 10px;
  flex: 2;
}

.useCaseContentSection > div:last-child {
  flex: 1;
}

.useCaseContentSection h2 {
  color: var(--accentColor);
  margin-bottom: 20px;
  font: var(--titleFont);
}

.useCaseContentSection p {
  line-height: 1.2em;
  font: var(--subTitleFont);
}

.useCaseContentSection img {
  width: 100%;
}

.hidden {
  display: none !important;
  opacity: 0;
}


@media screen and (max-width: 600px) {
  .introSection,
  .useCaseContentSection,
  .mainContentSection ul,
  .introSection .buttons,
  .startSection .buttons {
    flex-direction: column;
  }

  .introSection .buttons > a:not(:last-child),
  .startSection .buttons > a:not(:last-child),
  .useCaseContentSection > div:first-child {
    margin-right: 0;
  }

  .introSection .buttons > a:not(:first-child),
  .startSection .buttons > a:not(:first-child) {
    margin-left: 0;
  }

  .introSection .buttons > a,
  .startSection .buttons > a,
  .useCaseContentSection > div:first-child {
    margin-bottom: 20px;
  }

  .mainContentSection li:not(:first-child) {
    padding-left: 0;
  }
  .mainContentSection li:not(:last-child) {
    padding-right: 0;
  }
  .mainContentSection h3:before {
    display: none;
  }

  /*
  .whiteButton {
    background-color: #f0f0f0;
  }
  */
}

@media (min-width:600px){
  @font-face{
    font-family:sohne-var;
    src:url(https://btu-protocol.com/website/files/fonts/d5dd9f5d.woff2) format("woff2-variations");		
    font-weight:1 1000;
    font-display:block;
    unicode-range:U+0000-007e
  }
  @font-face{
    font-family:sohne-var;
    src:url(https://btu-protocol.com/website/files/fonts/c6e75166.woff2) format("woff2-variations");
    font-weight:1 1000;
    font-display:block;
    unicode-range:U+007f-ffff
  }
  @font-face{
    font-family:SourceCodePro;
    src:url(https://btu-protocol.com/website/files/fonts/1a930247.woff2) format("woff2"),url(https://btu-protocol.com/website/files/fonts/ac6713d5.woff) format("woff");
    font-weight:500;
    font-style:normal;
    font-display:block
  }
}
@media (max-width:599px){
  @font-face{
    font-family:sohne-var;
    src:url(https://btu-protocol.com/website/files/fonts/d5dd9f5d.woff2) format("woff2-variations");
    font-weight:1 1000;
    font-display:swap;
    unicode-range:U+0000-007e
  }
  @font-face{
    font-family:sohne-var;
    src:url(https://btu-protocol.com/website/files/fonts/c6e75166.woff2) format("woff2-variations");
    font-weight:1 1000;
    font-display:swap;
    unicode-range:U+007f-ffff
  }
  @font-face{
    font-family:SourceCodePro;
    src:url(https://btu-protocol.com/website/files/fonts/1a930247.woff2) format("woff2"),url(https://btu-protocol.com/website/files/fonts/ac6713d5.woff) format("woff");
    font-weight:500;
    font-style:normal;
    font-display:swap
  }
}

.illustration {
  border-radius: var(--gutterWidth);
  box-shadow: var(--shadow);
  margin-left: var(--gutterWidth);
}

@media (max-width: 600px) {
  .illustration {
    margin-left: 0;
  }
}