@charset "UTF-8";
/* colors */
/* fonts */
section.partneri .flex-partneri div img, .mfp-gallery button.mfp-arrow::before, .slick-slider .slick-arrow::before, article .pictures-flex .img-wrapper, .breadcrumb ol li + li::after, form .form-floating label, form .form-control, a, header > .navbar .nav-button #nav-icon, header > .navbar nav#main-menu ul li a::before, header > .navbar nav#main-menu ul li a::after, header > .navbar nav#main-menu ul li a, header > .navbar, header, .btn.btn-arrow:before, .btn,
a.btn {
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -ms-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}

section.faq .dropdown [id^=question-].faq-btn-arrow::after, section.faq .dropdown [id^=question-].faq-btn-arrow::before, header > .navbar .logo a img {
  -webkit-transition: all 700ms ease;
  -moz-transition: all 700ms ease;
  -ms-transition: all 700ms ease;
  -o-transition: all 700ms ease;
  transition: all 700ms ease;
}

section.faq .dropdown [id^=question-], .gallery .fotka img {
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

html {
  font-size: 55%;
}
@media (min-width: 992px) {
  html {
    font-size: 62.5%;
  }
}

* {
  outline: none;
}

body {
  font-family: "Open Sans", sans-serif;
  font-weight: 300;
  color: #434343;
  font-size: 1.7rem;
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-y: scroll;
  overflow-x: hidden;
}
body.no-scroll {
  overflow: hidden;
}
@media (min-width: 1200px) {
  body {
    padding: 0 7rem;
  }
  body::before {
    background: linear-gradient(0deg, transparent, #c0dffa);
    position: absolute;
    content: "";
    display: block;
    height: 30rem;
    width: 100%;
    left: 0;
  }
}

section.mod_5 {
  margin-top: auto;
}

.hidden {
  display: none;
}

main.content {
  padding-top: 6.8rem;
}
@media (min-width: 992px) {
  main.content {
    padding-top: 7.8rem;
  }
}

.dark-bg {
  color: #fff;
  background-color: #2d2d2d;
}
.dark-bg h1, .dark-bg h2, .dark-bg h3, .dark-bg h4 {
  color: #fff;
}
.dark-bg a {
  color: #3998ec;
}
.dark-bg a:hover {
  color: #fff;
}
.dark-bg a.btn.btn-primary {
  color: #fff;
}

.blue-bg {
  color: #fff;
  background-color: #3998ec;
}
.blue-bg h1, .blue-bg h2, .blue-bg h3, .blue-bg h4 {
  color: #fff;
}
.blue-bg a.btn.btn-primary {
  color: #fff;
  border-color: #fff;
}
.blue-bg a.btn.btn-primary:hover {
  background-color: #fff;
  border-color: #fff;
  color: #3998ec;
}

.d-blue-bg {
  color: #fff;
  background-color: #1b86e5;
}
.d-blue-bg h1, .d-blue-bg h2, .d-blue-bg h3, .d-blue-bg h4 {
  color: #fff;
}
.d-blue-bg a.btn.btn-primary {
  color: #fff;
}

.btn,
a.btn {
  font-size: 1.7rem;
  font-weight: 500;
  font-family: "Oswald", sans-serif;
  padding: 1.4rem;
  line-height: 1;
  border: 0.5rem solid transparent;
  border-radius: unset;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .btn,
a.btn {
    font-size: 2rem;
  }
}
.btn:hover,
a.btn:hover {
  text-decoration: none;
}
.btn:focus,
a.btn:focus {
  box-shadow: none !important;
}
.btn.small,
a.btn.small {
  font-size: 1.6rem;
  padding: 0.8rem;
  border: 0.3rem solid transparent;
}
.btn.btn-primary,
a.btn.btn-primary {
  color: #434343;
  background-color: transparent;
  border-color: #3998ec;
}
.btn.btn-primary:hover,
a.btn.btn-primary:hover {
  background-color: #3998ec;
  border-color: #3998ec;
  color: #fff;
}
.btn.btn-primary.inverse,
a.btn.btn-primary.inverse {
  background-color: #3998ec;
  border-color: #3998ec;
  color: #fff;
}
.btn.btn-primary.inverse:hover,
a.btn.btn-primary.inverse:hover {
  color: #434343;
  background-color: transparent;
  border-color: #3998ec;
}
.btn.btn-secondary,
a.btn.btn-secondary {
  color: #fff;
  background-color: transparent;
  border-color: #3998ec;
}
.btn.btn-secondary:hover,
a.btn.btn-secondary:hover {
  background-color: #3998ec;
  color: #fff;
}
.btn.btn-default,
a.btn.btn-default {
  color: #3998ec;
  background-color: #fff;
  border-color: #fff;
}
.btn.btn-default:hover,
a.btn.btn-default:hover {
  color: #fff;
  background-color: #3998ec;
  border-color: #3998ec;
}
.btn.btn-arrow,
a.btn.btn-arrow {
  padding-right: 5rem;
  position: relative;
}
.btn.btn-arrow:before,
a.btn.btn-arrow:before {
  content: "";
  display: inline-block;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  background-color: transparent;
  border-top: 0.15rem solid #fff;
  border-right: 0.15rem solid #fff;
  width: 14px;
  height: 14px;
}
.btn.btn-arrow:hover:before,
a.btn.btn-arrow:hover:before {
  border-top: 0.15rem solid #3998ec;
  border-right: 0.15rem solid #3998ec;
}
.btn.btn-arrow.btn-primary:before, .btn.btn-arrow.btn-secondary:before,
a.btn.btn-arrow.btn-primary:before,
a.btn.btn-arrow.btn-secondary:before {
  border-top: 0.15rem solid #fff;
  border-right: 0.15rem solid #fff;
}
.btn.btn-arrow.btn-primary:hover:before, .btn.btn-arrow.btn-secondary:hover:before,
a.btn.btn-arrow.btn-primary:hover:before,
a.btn.btn-arrow.btn-secondary:hover:before {
  border-top: 0.15rem solid #fff;
  border-right: 0.15rem solid #fff;
}

header {
  position: fixed;
  z-index: 15;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #fff;
}
@media (min-width: 992px) {
  header {
    background-color: transparent;
  }
}
.scrolled header {
  background-color: #fff;
  border-bottom: 0.1rem solid #3998ec;
}
@media (min-width: 992px) {
  .scrolled header {
    background-color: #f9f8f7;
  }
}
header > .navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
}
.scrolled header > .navbar {
  margin-top: 0 !important;
}
@media (min-width: 992px) {
  header > .navbar {
    justify-content: center;
  }
}
header > .navbar .logo {
  padding: 1.5rem;
  padding-left: 0;
}
header > .navbar .logo a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header > .navbar .logo a img {
  display: block;
  height: 3.8rem;
}
@media (min-width: 992px) {
  header > .navbar .logo a img {
    height: 4.8rem;
  }
}
header > .navbar .logo a:hover {
  text-decoration: none;
}
header > .navbar nav#main-menu {
  width: 100%;
  background-color: #fff;
  z-index: 10;
  padding: 0 15px;
}
header > .navbar nav#main-menu ul {
  margin: 0 !important;
  margin-bottom: 2rem !important;
  padding: 0;
  text-align: center;
  list-style: none;
  background-color: #fff;
}
header > .navbar nav#main-menu ul li {
  position: relative;
  max-width: 20rem;
  width: 100%;
  margin: 0.5rem auto;
  text-transform: uppercase;
}
header > .navbar nav#main-menu ul li::before {
  display: none;
}
header > .navbar nav#main-menu ul li:after {
  display: none;
}
header > .navbar nav#main-menu ul li a {
  margin: 1rem;
  font-size: 1.4rem;
  color: #434343;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-decoration: none;
  background-color: transparent;
  position: relative;
}
header > .navbar nav#main-menu ul li a::before, header > .navbar nav#main-menu ul li a::after {
  position: absolute;
  content: "";
  display: block;
  border-bottom: 0.3rem solid transparent;
  width: 60%;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.5rem;
}
header > .navbar nav#main-menu ul li a::before {
  display: none;
}
header > .navbar nav#main-menu ul li a:hover, header > .navbar nav#main-menu ul li a.active {
  text-decoration: none;
}
header > .navbar nav#main-menu ul li a:hover::before, header > .navbar nav#main-menu ul li a:hover::after, header > .navbar nav#main-menu ul li a.active::before, header > .navbar nav#main-menu ul li a.active::after {
  border-bottom: 0.3rem solid #3998ec;
}
header > .navbar nav#main-menu ul li.menu-tel {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
}
header > .navbar nav#main-menu ul li.menu-tel a {
  margin-left: 0;
  color: #3998ec;
}
header > .navbar nav#main-menu ul li.menu-tel a:hover {
  color: #434343;
}
header > .navbar nav#main-menu ul li.menu-tel a::before, header > .navbar nav#main-menu ul li.menu-tel a::after {
  display: none;
}
@media (min-width: 992px) {
  header > .navbar nav#main-menu {
    /*display: table-cell;*/
    background-color: transparent;
    /*flex-basis: 1170px;*/
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    z-index: 10;
    padding: 0;
    height: auto;
  }
  header > .navbar nav#main-menu > ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 1rem 0 !important;
    padding: 0;
    text-align: center;
    list-style: none;
    position: relative;
    background-color: transparent;
    width: 100%;
  }
  header > .navbar nav#main-menu > ul li {
    width: unset;
    max-width: unset;
    margin: 0;
  }
  header > .navbar nav#main-menu > ul li:first-child {
    margin-left: auto;
  }
  header > .navbar nav#main-menu > ul li:nth-last-child(2) {
    margin-right: auto;
  }
  header > .navbar nav#main-menu > ul li:last-child {
    height: unset;
    padding: unset;
  }
  header > .navbar nav#main-menu > ul li a {
    margin: 1rem 1.6rem;
    color: #434343;
    font-size: 1.7rem;
    position: relative;
    text-decoration: none;
    background-color: transparent;
    letter-spacing: normal;
    line-height: 1;
  }
  header > .navbar nav#main-menu > ul li a::before {
    top: -1rem;
    bottom: unset;
    width: 100%;
    left: 0;
    transform: translateX(0);
    display: block;
  }
  header > .navbar nav#main-menu > ul li a::after {
    bottom: -1rem;
    width: 100%;
    left: 0;
    transform: translateX(0);
  }
}
header > .navbar nav#main-menu .btn {
  margin-top: 10px;
}
@media (min-width: 992px) {
  header > .navbar nav#main-menu .btn {
    margin-top: 0px;
  }
}
header > .navbar .nav-button {
  /*background-color: transparent;
  padding: 0;
  width: 7.2rem;*/
}
@media (min-width: 992px) {
  header > .navbar .nav-button {
    display: none;
  }
}
header > .navbar .nav-button #nav-icon {
  background-color: transparent;
  padding: 0;
  margin: 0px;
  display: block;
  width: 30px;
  height: 30px;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  cursor: pointer;
}
@media screen and (orientation: landscape) and (min-device-width: 250px) and (max-device-width: 991px) {
  header > .navbar .nav-button #nav-icon {
    margin-bottom: 0;
  }
}
header > .navbar .nav-button #nav-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 50%;
  background: #3998ec;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
@media screen and (orientation: landscape) and (min-device-width: 250px) and (max-device-width: 991px) {
  header > .navbar .nav-button #nav-icon span {
    height: 2px;
  }
}
header > .navbar .nav-button #nav-icon span:nth-child(1), header > .navbar .nav-button #nav-icon span:nth-child(6) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
header > .navbar .nav-button #nav-icon span:nth-child(2), header > .navbar .nav-button #nav-icon span:nth-child(5) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
header > .navbar .nav-button #nav-icon span:nth-child(1) {
  left: 2px;
  top: 9px;
}
header > .navbar .nav-button #nav-icon span:nth-child(2) {
  left: calc(50% - 3px);
  top: 9px;
}
header > .navbar .nav-button #nav-icon span:nth-child(3) {
  left: -50%;
  opacity: 0;
  top: 12px;
}
header > .navbar .nav-button #nav-icon span:nth-child(4) {
  left: 100%;
  opacity: 0;
  top: 12px;
}
header > .navbar .nav-button #nav-icon span:nth-child(5) {
  left: 2px;
  top: 18px;
}
header > .navbar .nav-button #nav-icon span:nth-child(6) {
  left: calc(50% - 3px);
  top: 18px;
}
header > .navbar .nav-button #nav-icon span:nth-child(even) {
  border-radius: 0 1rem 1rem 0;
}
header > .navbar .nav-button #nav-icon span:nth-child(odd) {
  border-radius: 1rem 0 0 1rem;
}
header > .navbar .nav-button #nav-icon.collapsed span:nth-child(even) {
  left: 50%;
  border-radius: 0 1rem 1rem 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}
header > .navbar .nav-button #nav-icon.collapsed span:nth-child(odd) {
  left: 0px;
  border-radius: 1rem 0 0 1rem;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
}
header > .navbar .nav-button #nav-icon.collapsed span:nth-child(1), header > .navbar .nav-button #nav-icon.collapsed span:nth-child(2) {
  top: 4px;
}
header > .navbar .nav-button #nav-icon.collapsed span:nth-child(3), header > .navbar .nav-button #nav-icon.collapsed span:nth-child(4) {
  top: 12px;
  opacity: 1;
}
header > .navbar .nav-button #nav-icon.collapsed span:nth-child(5), header > .navbar .nav-button #nav-icon.collapsed span:nth-child(6) {
  top: 20px;
  opacity: 1;
}

body.nav-open {
  overflow: hidden;
}
body.nav-open header {
  border-bottom: 0.1rem solid #3998ec;
}
body.nav-open header + main::after {
  z-index: 14;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.7;
}

footer .flex-kontakt {
  display: grid;
  grid-template-columns: auto;
  padding: 3rem 0;
  text-align: center;
  row-gap: 2rem;
}
@media (min-width: 500px) {
  footer .flex-kontakt {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
  }
}
@media (min-width: 992px) {
  footer .flex-kontakt {
    grid-template-columns: 1fr 1fr auto;
    grid-template-rows: repeat(3, auto);
    text-align: left;
  }
}
@media (min-width: 1400px) {
  footer .flex-kontakt {
    grid-template-columns: repeat(4, auto);
    grid-template-rows: auto;
    padding: 6rem 2rem;
    row-gap: unset;
    align-items: center;
    row-gap: 0;
  }
  footer .flex-kontakt h2 {
    font-size: 7.5rem;
  }
  footer .flex-kontakt .address {
    display: flex;
    align-items: center;
  }
  footer .flex-kontakt .address .btn {
    margin-left: 2rem;
  }
}
footer .flex-kontakt .phone,
footer .flex-kontakt .email {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
}
footer .flex-kontakt .phone a,
footer .flex-kontakt .email a {
  font-size: 3rem;
}
@media (min-width: 500px) {
  footer .flex-kontakt div:first-child {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  footer .flex-kontakt div:last-child {
    grid-column: 1/-1;
    grid-row: 3/-1;
  }
  footer .flex-kontakt div.phone {
    grid-column: 2/-1;
    grid-row: 1/2;
  }
  footer .flex-kontakt div.email {
    grid-column: 2/-1;
    grid-row: 2/3;
  }
}
@media (min-width: 992px) {
  footer .flex-kontakt div:first-child {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  footer .flex-kontakt div:last-child {
    grid-column: 3/-1;
    grid-row: 2/3;
  }
  footer .flex-kontakt div.phone {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  footer .flex-kontakt div.email {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
@media (min-width: 1400px) {
  footer .flex-kontakt div:first-child {
    grid-column: 1/2;
    grid-row: 1/-1;
  }
  footer .flex-kontakt div:last-child {
    grid-column: 4/-1;
    grid-row: 1/-1;
  }
  footer .flex-kontakt div.phone {
    grid-column: 2/3;
    grid-row: 1/-1;
  }
  footer .flex-kontakt div.email {
    grid-column: 3/4;
    grid-row: 1/-1;
  }
}
footer .flex-kontakt h2 {
  margin-bottom: 2.4rem;
}
footer p a {
  color: #3998ec;
}
footer .copyright {
  text-align: center;
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 992px) {
  footer .copyright {
    justify-content: flex-end;
    text-align: right;
  }
}
@media (min-width: 1400px) {
  footer .copyright.social {
    margin-top: 1rem;
    margin-bottom: 3rem;
  }
}
footer .copyright a:hover {
  color: #fff;
}
footer .copyright i {
  font-size: 3rem;
  margin-left: 2rem;
}
footer .copyright i:last-child {
  margin-left: 1rem;
}

.cookie {
  border-top: 0.1rem solid #3998ec;
  position: fixed;
  z-index: 1030;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}
.cookie p {
  color: #434343;
  font-size: 1.5rem;
  margin: 0.5rem 0;
  font-family: "Open Sans", sans-serif;
}
.cookie p a {
  font-weight: 700;
  color: #3998ec;
  text-decoration: underline;
}
.cookie p a:hover {
  text-decoration: none;
}
.cookie p a.btn {
  padding: 0.5rem 1rem;
  color: #434343;
  margin-left: 1rem;
  text-decoration: none;
}
.cookie p a.btn:hover {
  color: #fff;
}

/*text size*/
h1 {
  font-size: 4rem;
  font-weight: 300;
}
@media (min-width: 992px) {
  h1 {
    font-size: 5.5rem;
  }
}

h2 {
  font-size: 3.5rem;
  font-weight: 300;
}
@media (min-width: 992px) {
  h2 {
    font-size: 4.5rem;
  }
}

h3 {
  font-size: 2.5rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  h3 {
    font-size: 3.5rem;
  }
}

h4 {
  font-size: 1.8rem;
  font-weight: 300;
}
@media (min-width: 992px) {
  h4 {
    font-size: 2rem;
  }
}

h1, h2, h3, h4 {
  color: #434343;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
}

small {
  font-size: 1.5rem;
}

b, strong {
  font-weight: 700;
}

/*text color*/
.text-primary {
  color: #434343 !important;
}

.text-secondary {
  color: #c4b8ac !important;
}

img.img-border {
  border: 2.4rem solid #fff;
}
img.img-border.img-border-small {
  border: 1.6rem solid #fff;
}

/*links*/
a {
  color: #3998ec;
  cursor: pointer;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
  color: #434343;
}
a.text-primary:hover {
  color: #434343 !important;
  text-decoration: none;
}
a.inverse {
  color: #fff;
}
a.inverse:hover {
  color: #3998ec;
}
a.disabled {
  pointer-events: none;
  color: #d1d1d4 !important;
}

/*lists*/
ul, ol {
  padding-left: 4rem;
}

ul {
  font-size: 1.6rem;
  font-family: "Open Sans", sans-serif;
  margin: 1.5rem auto 1.5rem 2rem;
}
.only-text ul, .with-img ul {
  list-style-position: inside;
  padding-left: 0;
}
.only-text ul li::marker, .with-img ul li::marker {
  color: #3998ec;
}
ul li {
  position: relative;
  line-height: 1.529;
  /*&::before {
    position: absolute;
    top: 50%;
    left: -4rem;
    transform: translateY(-50%);
    width: .7rem;
    height: .7rem;
    background-color: $white;
    @include border-radius(50%);
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
  }*/
}
ul li::marker {
  color: #fff;
}

ol {
  font-size: 1.6rem;
  font-family: "Open Sans", sans-serif;
  margin: 1.5rem auto 1.5rem 2rem;
  list-style: none;
  counter-reset: section;
}
ol li {
  position: relative;
  line-height: 1.529;
  max-width: calc(100% - 4rem);
}
ol li::before {
  position: absolute;
  right: calc(100% + 2.5rem);
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  counter-increment: section;
  content: counters(section, ".") ". ";
  color: #fff;
  font-weight: 700;
  font-family: "Open Sans", sans-serif;
}

/*tables*/
.table {
  margin: 1.5rem auto;
  color: #fff;
}
.table thead {
  font-weight: 700;
}
.table thead > tr td {
  border: none;
  padding: 1.5rem 1.25rem;
}
.table thead > tr td:first-child {
  padding-left: 2.5rem;
}
.table thead > tr td:last-child {
  padding-right: 2.5rem;
}
.table tbody tr:nth-child(2n+1) {
  background-color: #308ada;
}
.table tbody tr td {
  padding: 1.2rem 1.25rem;
  border: none;
}
.table tbody tr td:first-child {
  padding-left: 2.5rem;
}
.table tbody tr td:last-child {
  padding-right: 2.5rem;
}
@media (min-width: 992px) {
  .table tr:hover {
    background-color: #7eb2df !important;
  }
}

@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px) {
  /* Force table to not be like tables anymore */
  table, thead, tbody, th, td, tr {
    display: block;
  }

  /* Hide table headers (but not display: none;, for accessibility) */
  thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .table tbody tr {
    /*margin-bottom: 2rem;
    padding-top: 2rem;*/
  }
  .table tbody tr + tr {
    border-top: 1px solid #dee2e6;
  }

  .table tbody tr td {
    /* Behave  like a "row" */
    border: none;
    position: relative;
    padding-left: 33%;
  }
  .table tbody tr td:first-child {
    padding-left: 33%;
  }
  .table tbody tr td:last-child {
    padding-right: 1.25rem;
  }

  .table tbody tr td:after {
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    left: 1.25rem;
    width: 33%;
    padding-right: 10px;
    font-weight: 700;
    content: attr(data-title);
  }
}
/*forms*/
form {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media (min-width: 992px) {
  form {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
}
form > .row {
  margin-bottom: 0 !important;
}
form .hasError input {
  border-color: #f44336;
}
form .hasError label.error {
  color: #f44336;
  width: 100%;
  text-align: right;
}
form .form-label {
  margin-top: 2rem;
  text-align: left;
}
form .form-label[for=jmeno-prijmeni] {
  margin-top: 0;
}
@media (min-width: 576px) {
  form .form-label[for=jmeno-prijmeni] {
    margin-top: 2rem;
  }
}
form .controls > .form-control {
  background-color: transparent;
  padding: 0;
}
form .controls .g-recaptcha {
  height: auto;
  margin-top: 1rem;
}
form .controls .g-recaptcha > div {
  margin: 0 auto;
}
@media (min-width: 768px) {
  form .controls .g-recaptcha > div {
    margin: 0;
  }
}
form .form-control {
  font-size: 1.8rem;
  color: #434343;
  line-height: 3rem;
  -webkit-border-radius: 0;
  border-radius: 0;
  background-clip: border-box;
  /* stops bg color from leaking outside the border: */
  background-clip: border-box;
  padding: 1.5rem 2rem;
  background-color: #eaf1f7;
  border-color: transparent;
}
form .form-control::placeholder {
  color: #415363;
  font-style: italic;
  font-weight: 300;
}
form textarea.form-control {
  -webkit-border-radius: 0;
  border-radius: 0;
  background-clip: border-box;
  /* stops bg color from leaking outside the border: */
  height: 19.6rem;
  resize: none;
}
form .form-check-input:checked {
  background-color: #fff;
  border-color: #fff;
}
form .form-check-input[type=checkbox] {
  border-radius: 0;
}
form .form-control:focus,
form .form-check-input:focus {
  border-color: #3998ec;
  outline: 0;
  box-shadow: none;
  background-color: #fff;
}
form .form-check {
  padding-left: 3.4rem;
}
form .form-check .form-check-input {
  margin-left: -3.4rem;
}
form .form-floating .form-control {
  font-size: 1.8rem;
  color: #434343;
  height: calc(3rem + 26px);
  padding: 1.625rem 1.5rem;
}
form .form-floating .form-control:focus, form .form-floating .form-control:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 1.625rem;
}
form .form-floating .form-control:focus ~ label, form .form-floating .form-control:not(:placeholder-shown) ~ label {
  opacity: 1;
  transform: scale(1) translateY(-1.5rem) translateX(1.5rem);
  background-color: #fff;
  padding: 0.5rem;
  font-size: 1.4rem;
  height: 3rem;
  line-height: unset;
  color: #c4b8ac;
  width: auto;
}
form .form-floating label {
  font-size: 1.8rem;
  color: #434343;
  padding: 1rem 1.5rem;
  line-height: 2;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
}
form .btn.btn-primary {
  margin-top: 2rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  form .btn.btn-primary {
    margin-top: 4rem;
  }
}
form select {
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
  height: 6.2rem;
}

.alert.alert-success.form-message {
  background-color: unset;
  border: unset;
  color: #000;
  text-align: center;
  padding: 0;
  margin-top: 5rem;
}
.alert.alert-success.form-message p {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}
.alert.alert-success.form-message p strong {
  font-size: 3.5rem;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  color: #7ece7a;
  display: block;
}

/*breadcrumbs*/
.breadcrumb {
  margin: 2.5rem 0;
  border-top: 0.1rem solid #e4e6e7;
  border-bottom: 0.1rem solid #e4e6e7;
  padding: 1.5rem 0;
}
@media (min-width: 992px) {
  .breadcrumb {
    margin: 5rem 0;
    padding: 2.5rem 0;
  }
}
.breadcrumb ol {
  padding-left: 0;
  display: flex;
  gap: 4rem;
  margin: 0 1.5rem;
}
.breadcrumb ol li {
  margin-bottom: 0;
}
.breadcrumb ol li a {
  color: #434343;
}
.breadcrumb ol li a:hover {
  color: #3998ec;
  text-decoration: none;
}
.breadcrumb ol li::before {
  display: none;
}
.breadcrumb ol li + li {
  position: relative;
}
.breadcrumb ol li + li::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: -2.7rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  background-color: transparent;
  border-top: 0.15rem solid #3998ec;
  border-right: 0.15rem solid #3998ec;
  width: 1rem;
  height: 1rem;
}

/*article generická podstránka*/
article h1, article h2, article h3, article h4 {
  text-align: center;
}
article p + p {
  margin-top: 2rem;
}
article .only-text,
article .with-img {
  text-align: center;
  margin-bottom: 4rem;
}
@media (min-width: 992px) {
  article .only-text,
article .with-img {
    margin-bottom: 8rem;
  }
}
article .only-text h1,
article .with-img h1 {
  margin-bottom: 3rem;
  line-height: 1;
}
@media (min-width: 992px) {
  article .only-text h1,
article .with-img h1 {
    margin-bottom: 6rem;
  }
}
article .only-text h2,
article .with-img h2 {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  article .only-text h2,
article .with-img h2 {
    margin-bottom: 4rem;
  }
}
article .with-img {
  text-align: left;
}
article .with-img h1 {
  text-align: center;
}
article .with-img h2, article .with-img h3, article .with-img h4 {
  text-align: left;
}
article .with-img img {
  box-shadow: 7.625px 11.741px 49px 0px rgba(189, 203, 216, 0.57);
}
article .sluzby-reference h2 {
  margin-bottom: 3rem;
}
@media (min-width: 992px) {
  article .sluzby-reference h2 {
    margin-bottom: 6rem;
  }
}
article .pictures-flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4rem;
  padding: 0 0 2rem;
}
@media (min-width: 992px) {
  article .pictures-flex {
    margin-bottom: 7rem;
    padding: 4rem 0;
  }
}
@media (min-width: 576px) {
  article .pictures-flex .slick-list {
    margin: 0 -2.5rem;
  }
}
article .pictures-flex .slick-track {
  padding: 4rem 0;
}
@media (min-width: 576px) {
  article .pictures-flex .slick-slide {
    margin: 0 2.5rem;
  }
}
article .pictures-flex .slick-slide .img-wrapper {
  margin: 0 auto;
}
@media (min-width: 992px) {
  article .pictures-flex .slick-slide .img-wrapper {
    margin: 0;
  }
}
article .pictures-flex .img-wrapper {
  box-shadow: 3.394px 6.122px 21px 0px rgba(29, 76, 118, 0.15);
  background-color: #fff;
  padding: 1.6rem;
  max-width: 29.7rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
article .pictures-flex .img-wrapper h3 {
  margin-bottom: 2.5rem;
}
article .pictures-flex .img-wrapper h3::before {
  display: none;
}
article .pictures-flex .img-wrapper .img-block {
  max-height: 15rem;
}
article .pictures-flex .img-wrapper .btn {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}
article .pictures-flex .img-wrapper:hover {
  box-shadow: 2.723px 4.193px 13px 0px rgba(29, 76, 118, 0.5);
  cursor: pointer;
}
article .work-list {
  padding: 3rem 0;
}
@media (min-width: 992px) {
  article .work-list {
    padding: 7rem 0;
  }
}
article .work-list h2 {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  article .work-list h2 {
    text-align: left;
    margin-bottom: 4rem;
  }
}
@media (min-width: 576px) {
  article .work-list ol {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    transform: translateX(-2rem);
  }
}
article .work-list img {
  box-shadow: 7.625px 11.741px 49px 0px rgba(189, 203, 216, 0.57);
}
article .work-list .with-img {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
@media (min-width: 992px) {
  article .work-list .with-img {
    justify-content: flex-end;
  }
}

/*slider arrows*/
.slick-slider .slick-arrow {
  position: absolute;
  width: 6rem;
  height: 100%;
  display: flex;
  align-items: center;
  background-color: transparent;
  border: none;
  z-index: 10;
  bottom: 0;
  left: -6rem;
  outline: none;
}
.slick-slider .slick-arrow::before {
  content: "";
  position: absolute;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border-top: 0.3rem solid #3998ec;
  border-right: 0.3rem solid #3998ec;
  transform: rotate(225deg);
  left: 1rem;
}
@media (min-width: small) {
  .slick-slider .slick-arrow::before {
    border-top: 0.4rem solid #3998ec;
    border-right: 0.4rem solid #3998ec;
  }
}
.slick-slider .slick-arrow.slick-next {
  right: -6rem;
  left: unset;
}
.slick-slider .slick-arrow.slick-next::before {
  transform: rotate(45deg);
  right: 1rem;
  left: unset;
}
.slick-slider .slick-arrow:hover {
  cursor: pointer;
}
.slick-slider .slick-arrow:hover::before {
  border-color: #87827f;
}

.mfp-gallery .mfp-counter {
  display: none;
}
.mfp-gallery button.mfp-arrow::before {
  content: "";
  position: absolute;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border-top: 0.3rem solid #3998ec;
  border-right: 0.3rem solid #3998ec;
  border-bottom: none;
  border-left: none;
  transform: rotate(225deg);
  left: 1rem;
  opacity: 1;
}
@media (min-width: small) {
  .mfp-gallery button.mfp-arrow::before {
    border-top: 0.4rem solid #3998ec;
    border-right: 0.4rem solid #3998ec;
  }
}
.mfp-gallery button.mfp-arrow::after {
  display: none;
}
.mfp-gallery button.mfp-arrow.mfp-arrow-right {
  right: 0;
  left: unset;
}
.mfp-gallery button.mfp-arrow.mfp-arrow-right::before {
  transform: translateX(-100%) rotate(45deg);
  right: 1rem;
  left: unset;
}
.mfp-gallery button.mfp-arrow:hover {
  cursor: pointer;
}
.mfp-gallery button.mfp-arrow:hover::before {
  border-color: #87827f;
}

/*galerie*/
@media (min-width: 992px) {
  .gallery {
    row-gap: 3rem;
  }
}
.gallery .fotka a {
  overflow: hidden;
}
.gallery .fotka img {
  filter: grayscale(1);
  transform: scale(1);
}
.gallery .fotka img:hover {
  filter: grayscale(0);
  transform: scale(1.03);
}

/*video*/
.video-wrapper {
  position: relative;
  padding-bottom: 44.5%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-top: 1.5rem;
}
.video-wrapper > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.banner {
  padding-top: 10rem;
  padding-bottom: 13.5rem;
  background-image: url("../img/banner.jpg");
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  display: grid;
  place-items: center;
}
.banner .parallax {
  display: none;
}
@media (min-width: 1200px) {
  .banner {
    position: relative;
    max-width: 200rem;
    margin: 0 auto;
    background-image: none;
  }
  .banner .parallax {
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
    max-width: 1920px;
    margin: 0 auto;
    max-width: 100%;
    margin: 0 0 0 auto;
    display: block;
  }
  .banner .parallax .layer-2 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .banner .parallax .layer-1 {
    z-index: 1;
    position: relative;
    max-width: 100%;
  }
}
.banner .container {
  position: relative;
  z-index: 10;
}
@media (min-width: 1400px) {
  .banner {
    padding-top: 0;
    padding-bottom: 3.5rem;
    min-height: calc(100vh - 7.8rem);
  }
  .banner .container {
    transform: translateY(-20%);
  }
}
.banner h1 {
  margin-bottom: 3rem;
}
.banner h1 span {
  font-weight: 200;
  font-size: 3.3rem;
}
.banner h1 strong {
  font-size: 6.5rem;
  line-height: 0.9;
}
@media (min-width: 992px) {
  .banner h1 strong {
    font-size: 12rem;
  }
}
@media (min-width: 576px) {
  .banner .scroll-down {
    position: absolute;
    bottom: 0;
    left: 10%;
  }
}
@media (min-width: 1400px) {
  .banner .scroll-down {
    bottom: -50%;
  }
}
.banner .scroll-down a {
  margin: 2rem auto 0;
  position: relative;
  width: 47px;
  height: 57px;
  display: block;
}
@media (min-width: 576px) {
  .banner .scroll-down a {
    margin: 0;
  }
}
.banner .scroll-down a img {
  position: absolute;
  width: 47px;
  top: 0;
  left: 0;
}
.banner .scroll-down a img.scroll-arrow {
  animation-name: pulse;
  animation-duration: 2.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
.banner .scroll-down a img.scroll-hand {
  animation: tap-double 1.25s ease-out backwards;
  animation-iteration-count: infinite;
}
@keyframes pulse {
  0% {
    transform: translateY(-15px);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(5px);
    opacity: 0;
  }
}
@keyframes tap {
  0% {
    transform: rotateX(0deg);
  }
  10% {
    transform: rotateX(12.5deg);
  }
  25% {
    transform: rotateX(25deg);
  }
}
@keyframes tap-double {
  0% {
    transform: rotateX(0deg);
  }
  10% {
    transform: rotateX(27.5deg);
  }
  25% {
    transform: rotateX(40deg);
  }
  35% {
    transform: rotateX(25deg);
  }
  50% {
    transform: rotateX(40deg);
  }
}

section.faq {
  padding-top: 3rem;
  padding-bottom: 2.5rem;
  text-align: center;
}
@media (min-width: 992px) {
  section.faq {
    padding-top: 6rem;
    padding-bottom: 5rem;
  }
}
section.faq h2 {
  margin-bottom: 4rem;
  font-weight: 500;
}
section.faq .row {
  --bs-gutter-x: 4rem;
}
section.faq .dropdown [id^=question-] {
  position: relative;
  max-width: 100%;
  width: 100%;
  white-space: unset;
  background-color: #fff;
  padding: 2.8rem 2.2rem;
  margin-bottom: 1.5rem;
  border: none;
  text-align: left;
  box-shadow: 3.394px 6.122px 21px 0px rgba(29, 76, 118, 0.15);
  transform: scale(1);
}
section.faq .dropdown [id^=question-]:focus {
  outline: none !important;
}
section.faq .dropdown [id^=question-]:hover, section.faq .dropdown [id^=question-].show {
  transform: scale(1.02);
}
section.faq .dropdown [id^=question-] span {
  max-width: 95%;
  display: block;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
}
section.faq .dropdown [id^=question-].faq-btn-arrow {
  position: relative;
}
section.faq .dropdown [id^=question-].faq-btn-arrow::before {
  position: absolute;
  content: "";
  display: inline-block;
  bottom: 1rem;
  left: 50%;
  transform: translateY(-10px) translateX(-50%) rotate(135deg);
  background-color: transparent;
  border-top: 2px solid #3998ec;
  border-right: 2px solid #3998ec;
  width: 12px;
  height: 12px;
}
section.faq .dropdown [id^=question-].faq-btn-arrow::after {
  position: absolute;
  content: "?";
  display: inline-block;
  font-size: 7.8rem;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  color: #e6f1fa;
  top: 50%;
  right: 2rem;
  transform: translateY(-60%);
  margin-left: unset;
  vertical-align: unset;
  border: none;
  z-index: 0;
}
section.faq .dropdown [id^=question-].faq-btn-arrow.show::before {
  transform: translateY(0) translateX(-50%) rotate(-45deg);
}
section.faq .dropdown [id^=question-].faq-btn-arrow.show::after {
  color: #b6deff;
}
section.faq .dropdown [id^=question-].faq-btn-arrow:hover:before {
  border-top: 2px solid #87827f;
  border-right: 2px solid #87827f;
}
section.faq .dropdown [id^=question-].faq-btn-arrow:hover::after {
  color: #b6deff;
}
section.faq .dropdown .answer.dropdown-menu {
  margin-top: 0 !important;
  display: none;
  visibility: hidden;
  transform: unset !important;
  position: relative !important;
  inset: auto !important;
  border: none;
  border-radius: 0;
  padding: 2.8rem 2.2rem;
  font-size: 1.6rem;
  padding-top: 0;
  box-shadow: 3.394px 6.122px 21px 0px rgba(29, 76, 118, 0.15);
  clip-path: inset(0px -50px -50px -50px);
}
section.faq .dropdown .answer.dropdown-menu.show {
  display: block;
  visibility: visible;
  margin-top: -1.5rem !important;
  margin-bottom: 1.5rem !important;
  transform: scale(1.02) !important;
}
section.faq .dropdown .answer.dropdown-menu p:last-child {
  margin-bottom: 0;
}
section.faq a.btn-primary {
  margin-top: 1rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 992px) {
  section.faq a.btn-primary {
    margin-top: 3.5rem;
  }
}

section.sluzby-reference {
  position: relative;
  z-index: 10;
}
@media (min-width: 992px) {
  section.sluzby-reference {
    padding-top: 8rem;
  }
}
section.sluzby-reference .sluzby {
  text-align: center;
  padding-bottom: 3.5rem;
}
@media (min-width: 992px) {
  section.sluzby-reference .sluzby {
    padding-bottom: 8rem;
  }
}
section.sluzby-reference .sluzby h2 {
  margin: 2rem 0;
  font-size: 2.5rem;
  font-weight: 300;
}
section.sluzby-reference .sluzby img {
  max-width: 7.3rem;
}
@media (max-width: 991px) {
  section.sluzby-reference .sluzby img {
    margin-top: 4rem;
  }
}
section.sluzby-reference .reference {
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
  text-align: center;
}
@media (min-width: 992px) {
  section.sluzby-reference .reference {
    padding-top: 4rem;
    padding-bottom: 8rem;
    align-items: center;
    text-align: left;
  }
  section.sluzby-reference .reference h2 {
    text-align: left;
  }
  section.sluzby-reference .reference div:nth-child(2) > * {
    margin-left: 1rem;
  }
}
@media (min-width: 1400px) {
  section.sluzby-reference .reference div:nth-child(2) > * {
    margin-left: 0;
  }
}
section.sluzby-reference .reference h2 {
  margin-bottom: 2rem;
  line-height: 0;
}
section.sluzby-reference .reference h2 span {
  font-weight: 200;
  font-size: 2.4rem;
  line-height: 1;
}
section.sluzby-reference .reference h2 strong {
  font-size: 4.5rem;
  line-height: 1.5;
}
@media (min-width: 992px) {
  section.sluzby-reference .reference h2 {
    margin-bottom: 3rem;
  }
  section.sluzby-reference .reference h2 strong {
    font-size: 7.6rem;
    line-height: 0.9;
  }
}
section.sluzby-reference .reference p {
  margin-bottom: 2rem;
}
@media (min-width: 992px) {
  section.sluzby-reference .reference p {
    margin-bottom: 3rem;
  }
}
section.sluzby-reference .reference img {
  margin: 2rem auto 0;
}
@media (min-width: 768px) {
  section.sluzby-reference .reference img {
    box-shadow: 7.625px 11.741px 49px 0px rgba(41, 106, 164, 0.57);
  }
}
@media (min-width: 992px) {
  section.sluzby-reference .reference img {
    box-shadow: 13.625px 12.741px 24px 0px rgba(41, 106, 164, 0.57);
    clip-path: inset(-50px -50px -102px 0px);
    margin: 0;
  }
}

section.partneri {
  padding: 5rem 0 2rem;
}
@media (min-width: 992px) {
  section.partneri {
    padding: 10rem 0;
  }
}
section.partneri .flex-partneri {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
section.partneri .flex-partneri div {
  margin-bottom: 3rem;
  flex-basis: 50%;
  text-align: center;
}
@media (min-width: 768px) {
  section.partneri .flex-partneri div {
    flex-basis: 33.333333%;
  }
}
@media (min-width: 992px) {
  section.partneri .flex-partneri div {
    margin-bottom: 0;
    flex-basis: auto;
    text-align: left;
  }
}
section.partneri .flex-partneri div img {
  width: 8.5rem;
  transform: scale(1);
}
@media (min-width: 768px) {
  section.partneri .flex-partneri div img {
    width: 12rem;
  }
}
section.partneri .flex-partneri div a:hover img {
  transform: scale(1.1);
}

/*# sourceMappingURL=style.css.map */
