body {
  font-family: 'Rajdhani', sans-serif;
}

/* STICKY NAV */

main {
  margin-top: 80px;
}

.b {
  font-weight: 600;
}

/* PSL NAV */

.psl-nav {
  min-height: 80px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.psl-nav li.nav-item {
  text-transform: uppercase;
  font-size: 18px;
}

.psl-navbar-login>li.nav-item>a.nav-link {
  color: #fff;
  font-weight: 500;
}

.psl-login > a.btn-login:hover {
  color: #fff;
}

.navbar-brand {
  margin-right: 3rem;
}

/* PSL LOGIN */

.psl-login-overlay {
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgb(0 0 0 / 90%);
  display: flex;
  justify-content: center;
  align-items: center;
}

.psl-login-inner {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
}

.psl-login-inner>h2 {
  text-align: center;
}

.psl-login-inner .btn-login {
  margin-bottom: 10px;
  background: #1956B1;
  border: none;
}

.psl-login-inner .btn-registration {
  background: #B12419;
  border: none;
}

.psl-login-inner .form-floating {
  margin-bottom: 5px;
}

/* PSL COVER IMAGE */

.psl-cover {
  display: flex;
  align-items: center;
  height: 520px;
  background: linear-gradient(261.61deg, rgb(201 77 27 / 80%) 21.83%, rgb(24 49 64 / 80%) 82.32%), url(/images/psl-cover_low.jpg);
  mix-blend-mode: multiply;
  background-size: cover;
  background-position: center;
}

.psl-cover-text h1 {
  font-weight: 700;
  font-size: 70px;
  color: #fff;
}

@media (max-width: 767px) {
  .psl-cover-text h1 {
    font-size: 45px;
  }
}

.btn {
  text-transform: uppercase;
  padding: 10px 20px;
  background: #1956B1;
  color: #fff;
}

.psl-cover-buttons>.btn.btn-registration {
  background: #B12419;
  color: #fff;
}

.psl-cover-text {
  margin-bottom: 20px;
}

/* PSL HOME CONTENT */

.psl-info {
  margin-top: 40px;
}

.psl-home-sponsors-wrapper {
  padding-left: 25px;
  padding-right: 25px;
}

.psl-home-sponsors {
  margin-top: 40px;
}

.psl-sponsor > img {
  width: 200px;
}

.psl-howto {
  background: linear-gradient( 95.39deg, #183140 0%, #c94d1b 100%);
  margin-top: 40px;
  padding-top: 40px;
  padding-bottom: 40px;
  color: #fff;
}

.psl-howto a {
  color: #fff;
}

.psl-sbm {
  background-color: #2A2A2A;
  color: #fff;
  padding-top: 60px;
  padding-bottom: 60px;
}

.psl-sbm h2 {
  font-weight: 700;
}

.psl-sbm img {
  max-width: 100%;
}

.psl-sbm .btn-sbm {
  background-color: #E36F25;
  border: none;
}

.psl-sbm p {
  font-weight: 300;
}

.psl-faq {
  margin-top: 40px;
}

/* FOOTER */

footer {
  margin-top: 40px;
}

.footer-bottom {
  background-color: #2A2A2A;
}

.footer-bottom a {
  color: #fff;
  text-decoration: none;
}

@media (min-width: 768px) {
  .footer-bottom>div>.row {
    min-height: 100px;
    align-items: center;
  }
  .footer-bottom>div>.row>div:nth-of-type(1) {
    text-align: left;
  }
  .footer-bottom>div>.row>div:nth-of-type(2) {
    text-align: center;
  }
  .footer-bottom>div>.row>div:nth-of-type(3) {
    text-align: right;
  }
}

/* ARROW CONTENT HEADER */

.image-heading {
  width: 100%;
  height: 400px;
  position: relative;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .image-heading {
    height: 250px;
  }
}

.image-heading>h1 {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: url(/images/cover_images/default.jpg);
  background-position: center !important;
  mix-blend-mode: multiply;
  background-size: cover;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  font-size: 3rem;
}

.psl-in-pravidla .image-heading>h1 {
  background: url(/images/cover_images/pravidla_rad.jpg);
}

.psl-in-rad .image-heading>h1 {
  background: url(/images/cover_images/pravidla_rad.jpg);
}

.psl-in-rozpis .image-heading>h1 {
  background: url(/images/cover_images/rozpis.jpg);
}

.psl-in-vysledky .image-heading>h1 {
  background: url(/images/cover_images/vysledky.jpg);
}

.psl-in-tymy .image-heading>h1 {
  background: url(/images/cover_images/tymy.jpg);
}

.image-heading .bottom-arrow-big {
  position: absolute;
  bottom: -1px;
  z-index: 10;
  width: 100%;
}

.image-heading .bottom-arrow-big .bottom-arrow-fill {
  fill: #fff;
}

/* TABLE YEAR SELECTOR */

.psl-year-selector {
  margin-bottom: 10px;
  display: flex;
  justify-content: flex-end;
}

.psl-table a {
  color: #fff;
}

/* PSL STATS TABLE LAYOUT */

.psl-stats {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #2A2A2A;
  color: #fff;
  margin-bottom: 20px;
  padding: 20px;
}

.btn.btn-statistiky {
  display: block;
  width: 300px;
  margin-bottom: 10px;
  border: none;
}

.btn.btn-statistiky.btn-men {
  background-color: #1956B1;
}

.btn.btn-statistiky.btn-women {
  background-color: #B12419;
}

.btn.btn-statistiky:hover {
  color: #fff;
}

.psl-stats>.row {
  width: 100%;
}

.psl-stats>.row>div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* PSL ACCOUNT */

.psl-account-photo {
  max-width: 100%;
}

.psl-account-edit label.form-label {
  font-weight: 600;
}

span.psl-account-hdivider {
  font-size: 20px;
  font-weight: 700;
  display: block;
  border-bottom: 1px solid #d0d0d0;
  padding-bottom: 5px;
}

@media (min-width: 768px) {
  .psl-account-edit {
    padding-left: 40px;
  }
}

/* PSL APPLICATIONS */

table.psl-application tr>td {
  padding-bottom: 10px;
}

table.psl-application tr>td:first-of-type {
  font-weight: 600
}

.psl-application-pheading {
  min-height: 50px;
  margin-top: 10px;
}

/* FOOTER ALIGNMENT */

main {
  min-height: calc(100vh - 220px);
}

@media (max-width: 767px) {
  main {
    min-height: calc(100vh - 280px);
  }
  .footer-bottom>div>.row {
    text-align: center;
    padding-top: 17px;
  }
  .footer-bottom>div>.row>div>* {
    margin-bottom: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}