html {
  color: rgba(53,53,53,1)!important;
  font-size: 1em;
  line-height: 1.15;
  font-kerning: normal;
  overflow-x: hidden;

}
body {
/*   font-family: 'Montserrat', sans-serif; */
  background-color: var(--background);
  overflow-x: hidden;
  font-size: 1rem;
  letter-spacing: .25px;
  -webkit-font-smoothing: antialiased;
}
::selection, ::-moz-selection {
  background-color: var(--grauwert3);
  text-shadow: none;
}

:root{
  --background: rgb(240,240,240);
  --background-wrapper: rgb(250,250,250);
  --primary: rgb(103,103,103);
  --secondary: rgb(220,220,220);
/*   --accent:253,195,20; /* rgb */
  --accent:45,98%; /* hsl */
  --accent-normal: hsl(var(--accent), 54%);
  --accent-light: hsl(var(--accent), 75%);
  --bs-btn-active-color: var(--grau);
  --bs-btn-active-border-color: var(--grau);
  --bs-btn-hover-bg: #f28705;
  --bs-link-color: #f28705;
  --top-bar: 98px;
  --bottom-bar: 5em;
  --div-padding: 3rem;
}

.top-bar{
  height: var(--top-bar);
  border-bottom: 1px solid var(--accent-normal);
  background-color:white;
}
.top-bar > div{ 
  height: 100%;
}
/* navbar */
.navbar img{
  height: calc(var(--top-bar) - 1.5em);
}
#mainNav, .offcanvas-backdrop{
  top: var(--top-bar);
}
.offcanvas-header, .offcanvas-body{
  padding: 1.625rem;
}
.offcanvas.offcanvas-end{
  border-left: none;
}
.wrapper {
  display: flex;
  align-items: center;
  height: auto;
  min-height: calc(100vh - var(--top-bar))
}
[data-platform="public"] > [data-screen="connect"]{
/*   background-color: var(--accent-normal); */
}
[data-screen="404"] .container{
  justify-content: center;
}
[data-screen="search"] .container-fluid > .row{
  justify-content: center;
}

/* side menu */

.side-menu .nav-link{
  color: black;
  padding: 0.725rem 1rem;
  border-radius: 0.25rem;
  background: white;
  border-left: 0px solid #f28705;
  transition: all ease-in 0.25s;
}
.side-menu .nav-link.active{
  background-color: #f28705;
  font-weight: 700;
  pointer-events: none;
  cursor: default;
}

.side-menu .nav-link:focus{
  color: black;
  background-color: #fdc314;
  font-weight: 600;
}
.side-menu li:not(:first-child){
  margin-top: 0.35rem;
}
.menu-separator{
  margin-top: 1.5rem;
  border-bottom: 2px solid #f28705;
  font-weight: 700;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
}

/* heros */
.hero{
  background-image: linear-gradient(to right bottom, #f28705, #f69602, #f9a502, #fbb409, #fdc314);
  margin-top: var(--top-bar);
  height: auto;
}
.hero .row{
  justify-content: center !important;
  align-items: flex-end !important;
}
.hero div:not(.bottom-anchored){
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.hero-primary, .hero-secondary{
  padding: var(--div-padding)
}
/* .hero-secondary{
  min-height: 30vh;
} */
#lead{
  display: flex;
  height: 100%;
}

/* screens */
.form-sign{
  background-color: white;
  padding: var(--div-padding);
  border-radius: 0.5rem;
}
.panel{
  background: white;
  padding: var(--div-padding);
  border-radius: 0.5rem;
}
#profile label{
  font-weight: 700;
}
#user-profile-activation{
  padding: 1.5em;
  background-color: var(--accent-light);
}
#activate-user-profile{
  margin-left: 1em;
  margin-top: 0;
  width: 3em;
  height: 1.5em;
}
#tandem-meet .col{
  text-align: center;
  padding: 1.5rem;
  transition: all ease-out 0.3s;
}

#tandem-meet .col img{
  margin-bottom: 1rem;
}
#tandem-meet .col label{
  font-weight: initial;
}
#tandem-explanations{
  box-shadow: 0 20px 10px -20px rgba(0,0,0,0.45) inset;
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: var(--background-wrapper);
}
#tandem-explanations header{
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 0 3rem;
}
#tandem-explanations header p{
  color: rgb(100,100,100);
}
#tandem-explanations article{
  display: grid;
  justify-items: center;
  margin-top: 2rem;
  border-radius: 1rem;
  background-color: var(--accent-light);
  padding: var(--div-padding);
}
#tandem-method{
  background-image: linear-gradient(to right bottom, #f28705, #f69602, #f9a502, #fbb409, #fdc314);
}
.bottom-anchored{
  margin-bottom: calc(var(--div-padding) * -1);
}
article li:not(:first-of-type){
  margin-top: 0.5rem;
}
#partners .container-fluid{
  background-color: white;
  min-height: 5vh;
}
/* user profile */
.profile{
  background: white;
  padding: calc(var(--div-padding) / 2);
  border-radius: 0.25rem;
  margin-top: 1rem
}
/* .profile:nth-child(even){
  margin-top: 1rem
} */
.user-avatar img{
  width: 9em;
  height: 9em;
  object-fit: cover;
  object-position: top;
  border: 2px solid #f28705;
  border-radius: 50%;
}
.profile .label{
  font-weight: 600;
}
.user-description{
  margin-top: 1.5em;
}
.profile-options{
  margin-top: 2em;
  justify-content: end;
  display: flex;
  gap: 1rem;
}

/* search filters */
#search-filters{
  border: 1px solid white;
  background-color: var(--accent-light);
  margin-top: 0.5rem;
}
#search-filters form{
  padding: calc(var(--div-padding) / 3);
}

/* btn */
.btn{
  font-weight: 600;
}
.btn-primary{
  background-color: #f28705;
  border-color: #f28705;
}
.btn-hero-primary{
  background-color: white;
  color: var(--primary);
  padding: 0.5em 1.5em;
  border: none;
}

.btn-hero-secondary{
  border-color: var(--primary);
  color: var(--primary);
}

.btn-cta{
  background-color: var(--primary);
  color: white;
  padding: 0.5em 1.5em;
}


.btn-cta, .btn-primary, .btn-secondary, .btn-outline-primary, .btn-outline-secondary{
  font-size: 1em;
}
/* forms */
.lang-select{
  max-width: 12em;
}
label[for="lang"]{
  font-size: 0.9em;
  margin-bottom: 0.25rem;
}
#search-filters label{
  font-weight: 600;
}
/* overrides */
ul, ol{
  padding-left: 1rem;
}
/* helpers */
.rounded{
  --bs-border-radius: 2rem;
}

/*modals*/
.modal-header{
  border-bottom: none;
}

/* footer */
footer{
  background-color: rgb(220,220,220);
  padding: calc(var(--div-padding) / 2);
}
footer .container-fluid{
  justify-content: space-between;
}
footer a img{
  max-height: 3.5em;
}

/* partners logos */
#partners{
  padding: var(--div-padding);
  border-top: 1px solid var(--secondary);
  border-bottom: 1px solid var(--secondary);
}
.partners-logo-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
  grid-auto-rows: auto;
  grid-gap: 2em;
  margin: 0 auto;
  max-width: 100%;
  justify-items: center; 
}
.partner-logo{
  display: flex;
/*   justify-content: center; */
  align-items: center;
}
.partner-logo img, .partner-logo svg{
  max-width: 7em;
  max-height: 3em;
  min-height: 2.5em;
}
.ui-btn{
  padding: 1rem;
  background-color: white;
  width: fit-content;
  border-radius: 0.5rem;
}
.icon-ui{
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.75rem;
}
/* media queries */
@media (width <= 576px) {
  body{
    font-size: 0.9rem;
  }
  :root{
    --div-padding: 2em;
    --bottom-bar: 40px;
  }

  .navbar-toggler-icon {
    width: 1em;
  }
  .navbar-brand{
    margin: 0 auto;
  }
  .lead{
    hyphens: none;
  }
  .lang-select{
    max-width: none;
  }
  footer a img{
    height: 100%;
    max-height: 2.5em;
  }
  .partners-logo-grid{
    grid-template-columns: repeat(auto-fit, minmax(6em, 1fr));
  }
  .profile .user-avatar, .profile .user-pseudo{
    margin: 0 auto;
    text-align: center
  }
  .profile .user-pseudo{
    margin: .5em auto;
  }
}
@media (width <= 992px) {
  h1, h2, h3, h4{
    text-align: center;
  }
  .profile .user-avatar{
    text-align: center;
  }
  .profile-options{
    display: grid;
    gap: 0 .5rem;
	  width: fit-content;
	  margin: calc(var(--div-padding) / 1.25) auto 0;
  }
}
@media (576px <= width <= 992px) {
  .btn-stack{
    display: flex;
    justify-content: center;
  }
  .partners-logo-grid{
    grid-template-columns: repeat(auto-fit, minmax(10em, 1fr));
  }
}
@media (hover: hover) {
  .btn-cta:hover{
    background-color: var(--accent-normal);
    color: white;
    border: 1px solid white;
  }
  #tandem-meet .col:hover{
    background-color: var(--accent-light);
    border-radius: 0.5rem;
    transition: all ease-out 0.3s;
  }
  #tandem-meet .col:hover .form-check-input{
    --bs-border-color: var(--primary);
  }
  .btn-hero-primary:hover{
    background-color: var(--primary);
    color: white;
  }
  .side-menu .nav-link:not(.active):hover{
    color: black;
    background: #fdc314;
    border-left: 6px solid #f28705;
    transition: all ease-in 0.25s;
  }
}