@charset "UTF-8";
:root {
  --transition: all 0.3s ease-in-out;
  --padding-on-side: 40px;
  --margins: 1em;
  --gap: 40px;
  --gap-smaller: 20px;
  --shadow: 0.2em 0.5em 1.5em rgba(var(--color-text-rgb), 0.4);
  --shadow-hover: 0.1em 0.4em 1.2em rgba(var(--color-text-rgb), 0.6);
  --border-radius-smaller: 4px;
  --border-radius: 7px;
  --border-radius-bigger: 10px;
  --content-small: 960px;
  --content-regular: 1200px;
  --content-big: 1720px;
  --font-weight-thin: 100;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --line-height: 1.5;
  --letter-spacing: normal;
  --font-size-10: 10px;
  --font-size-12: 12px;
  --font-size-13: 13px;
  --font-size-14: 14px;
  --font-size-15: 15px;
  --font-size-16: 16px;
  --font-size-18: 18px;
  --font-size-20: 20px;
  --font-size-24: 24px;
  --font-size-28: 28px;
  --font-size-30: 30px;
  --font-size-36: 42px;
  --font-size-48: 48px;
  --font-size-60: 60px;
  --font-size-72: 72px;
  --font-size-90: 90px;
  --font-size-120: 120px;
  --font-basic: "Open Sans", sans-serif;
  --font-heading: "tacitus-pro", sans-serif;
  --color-white: #fff;
  --color-black: #000;
  --color-green: #5bb538;
  --color-red: #e02222;
  --color-grey: #949497;
  --color-orange: #ffa500;
  --color-blue: #1f3d73;
  --color-text-blue: #898ea7;
  --color-success: #007340;
  --color-warning: #fdae4a;
  --color-error: #d8000c;
  --color-text: #a59abf;
  --color-title: #FFF;
  --color-main: #FFF;
  --color-primary: #FFF;
  --color-secondary: #FFF;
  --color-background: #4a357f;
  --color-background-darker: #3d2972;
  --color-border: transparent;
  --color-kartarky: #aafc95;
  --color-text-rgb: 109, 130, 145;
  --color-primary-rgb: 12, 114, 178;
  --color-secondary-rgb: 96, 175, 60;
  accent-color: var(--color-primary);
}

@media screen and (min-width: 2560px) {
  :root {
    --padding-on-side: 50px;
    --gap: 50px;
    --content-small: 1200px;
    --content-regular: 1440px;
    --content-big: 1920px;
    --border-radius-smaller: 12px;
    --border-radius: 14px;
    --border-radius-bigger: 24px;
    --font-size-10: 12px;
    --font-size-12: 14px;
    --font-size-13: 15px;
    --font-size-14: 16px;
    --font-size-15: 17px;
    --font-size-16: 18px;
    --font-size-18: 20px;
    --font-size-20: 24px;
    --font-size-24: 28px;
    --font-size-28: 32px;
    --font-size-30: 36px;
    --font-size-36: 42px;
    --font-size-48: 54px;
    --font-size-60: 72px;
    --font-size-72: 84px;
    --font-size-90: 100px;
    --font-size-120: 160px;
  }
}
@media screen and (max-width: 1400px) {
  :root {
    --padding-on-side: 30px;
    --gap: 30px;
    --font-size-12: 12px;
    --font-size-14: 13px;
    --font-size-16: 15px;
    --font-size-18: 16px;
    --font-size-20: 18px;
    --font-size-24: 20px;
    --font-size-28: 22px;
    --font-size-30: 24px;
    --font-size-36: 28px;
    --font-size-48: 32px;
    --font-size-60: 40px;
    --font-size-90: 60px;
    --font-size-120: 80px;
  }
}
@media screen and (max-width: 1024px) {
  :root {
    --padding-on-side: 24px;
    --gap: 24px;
    --line-height: 1.45;
    --font-size-12: 11px;
    --font-size-14: 12px;
    --font-size-16: 14px;
    --font-size-18: 15px;
    --font-size-20: 17px;
    --font-size-24: 19px;
    --font-size-28: 20px;
    --font-size-30: 24px;
    --font-size-36: 30px;
    --font-size-48: 36px;
    --font-size-60: 32px;
    --font-size-90: 40px;
    --font-size-120: 50px;
  }
}
@media screen and (max-width: 660px) {
  :root {
    --padding-on-side: 16px;
    --gap: 16px;
    --line-height: 1.4;
    --font-size-12: 11px;
    --font-size-14: 12px;
    --font-size-16: 14px;
    --font-size-18: 15px;
    --font-size-20: 16px;
    --font-size-24: 18px;
    --font-size-28: 19px;
    --font-size-30: 24px;
    --font-size-36: 26px;
    --font-size-48: 30px;
    --font-size-60: 28px;
    --font-size-90: 40px;
    --font-size-120: 44px;
  }
}
:root {
  /*---- Basic ----*/
  --icon-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='22'%3E%3Cpath fill-rule='evenodd' fill='%23000' d='M2 15a2 2 0 01-2-2V1.999a2 2 0 014 0V13a2 2 0 01-2 2zm0 3a2 2 0 110 4 2 2 0 010-4z'/%3E%3C/svg%3E");
  --icon-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14.6 12.8'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M12.9 1.6l-7.2 9.7-4.1-4.9'/%3E%3C/svg%3E");
  --icon-loading: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23000'%3E%3Cpath d='M463.702 162.655L442.491 14.164c-1.744-12.174-16.707-17.233-25.459-8.481l-30.894 30.894C346.411 12.612 301.309 0 254.932 0 115.464 0 3.491 109.16.005 248.511c-.19 7.617 5.347 14.15 12.876 15.234l59.941 8.569c8.936 1.304 17.249-5.712 17.125-15.058C88.704 165.286 162.986 90 254.932 90c22.265 0 44.267 4.526 64.6 13.183l-29.78 29.78c-8.697 8.697-3.761 23.706 8.481 25.459l148.491 21.211c9.784 1.475 18.381-7.034 16.978-16.978zM499.117 249.412l-59.897-8.555c-7.738-.98-17.124 5.651-17.124 16.143 0 90.981-74.019 165-165 165a165.207 165.207 0 01-64.306-13.052l28.828-28.828c8.697-8.697 3.761-23.706-8.481-25.459L64.646 333.435c-9.753-1.393-18.39 6.971-16.978 16.978l21.21 148.492c1.746 12.187 16.696 17.212 25.459 8.481l31.641-31.626C165.514 499.505 210.587 512 257.096 512c138.794 0 250.752-108.618 254.897-247.28.22-7.632-5.317-14.224-12.876-15.308z'/%3E%3C/svg%3E");
  --icon-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 371 279'%3E%3Cpath fill='%23002649' fill-rule='evenodd' stroke-width='0' d='M220.1 25.9c-29.4 23.9-29 82.5-1.4 106.6 26.5 26.5 83.4 26.5 108.1-3.3 13.1 49.7-25.4 104.1-71.4 123.2l8.5 17.1c78.5-34.1 112.7-116 93.5-195.2-7-26.6-18.7-47.2-41.8-59.7C287.8.5 243 3.5 220.2 26Zm-193.6 0c-29.4 23.9-29.1 82.5-1.4 106.6 26.5 26.4 83.4 26.5 108.1-3.3 13.1 49.7-25.4 104.1-71.4 123.2l8.5 17.1c78.5-34.1 112.7-116 93.5-195.2-7-26.6-18.7-47.2-41.8-59.7C94.1.4 49.3 3.4 26.5 25.9Z' /%3E%3C/svg%3E");
  /*---- /Basic ----*/
  --icon-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 512 512'%3E%3Cpath stroke-width='0' d='M256 123.36c-71.98 0-131.61 58.61-131.61 131.61S183 386.58 256 386.58s131.61-59.64 131.61-131.61S327.97 123.36 256 123.36Zm0 215.93c-46.27 0-84.31-38.04-84.31-84.31s38.04-84.31 84.31-84.31 84.31 38.04 84.31 84.31-38.04 84.31-84.31 84.31ZM392.75 90.46c16.47 0 29.82 13.35 29.82 29.82s-13.35 29.82-29.82 29.82-29.82-13.35-29.82-29.82 13.35-29.82 29.82-29.82Zm77.12-47.3C443.14 15.4 405.09 1 361.91 1H150.1C60.64 1 1 60.64 1 150.09v210.79c0 44.21 14.4 82.26 43.19 110.02 27.76 26.73 64.78 40.1 106.94 40.1h209.76c44.21 0 81.23-14.4 107.96-40.1 27.76-26.73 42.16-64.78 42.16-108.99V150.1c0-43.19-14.4-80.2-41.13-106.94Zm-4.11 318.75c0 31.87-11.31 57.58-29.82 75.06s-44.21 26.73-75.06 26.73H151.12c-30.85 0-56.55-9.25-75.06-26.73-18.51-18.51-27.76-44.21-27.76-76.09V150.09c0-30.85 9.25-56.55 27.76-75.06 17.48-17.48 44.21-26.73 75.06-26.73h211.81c30.85 0 56.55 9.25 75.06 27.76 17.48 18.51 27.76 44.21 27.76 74.03V361.9Z' /%3E%3C/svg%3E");
  --icon-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 512 512'%3E%3Cpath stroke-width='0' d='M447.25 1H64.75C29.69 1 1 29.69 1 64.75v382.5C1 482.31 29.69 511 64.75 511h148.73V312.53h-70.84v-70.77h70.86v-65.33c0-65.89 38.9-104.71 97.67-104.71 28.16 0 51.14 3.01 58.19 3.95v74l-47.31-.02c-31.96 0-37.94 15.85-37.94 38.14v53.96h81.9l-11.57 70.77h-70.33v198.47h163.14c35.06 0 63.75-28.69 63.75-63.75V64.75C511 29.69 482.31 1 447.25 1Z' /%3E%3C/svg%3E");
  --icon-tiktok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 512 512'%3E%3Cpath stroke-width='0' d='M479.93 209.97c-44.03.11-86.97-13.62-122.77-39.25v178.72c-.03 89.77-72.84 162.52-162.61 162.49-89.77-.03-162.52-72.84-162.49-162.61.03-89.77 72.84-162.52 162.61-162.49 7.45 0 14.88.52 22.26 1.54v89.89c-39.31-12.37-81.21 9.48-93.57 48.79s9.48 81.21 48.79 93.57 81.21-9.48 93.57-48.79c2.28-7.25 3.44-14.8 3.44-22.39V.06h88c-.06 7.43.56 14.85 1.86 22.17a122.186 122.186 0 0 0 53.91 80.22 121.377 121.377 0 0 0 67 20.14v87.38Z' /%3E%3C/svg%3E");
  --icon-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 179.1 61'%3E%3Cpath fill='none' stroke='%231d1d1b' stroke-linecap='round' stroke-miterlimit='10' stroke-width='8' d='M5.8 31.2c57.6-6.1 97.3-6.2 161.6.2M80.6 55.8c53.3-19.3 92.7-21.3 92.8-23.2s-45-22.4-76.6-26.1' /%3E%3C/svg%3E");
  --icon-languages: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 256 256'%3E%3Cpath fill='none' stroke='%23545748' stroke-linecap='round' stroke-linejoin='round' stroke-width='12' d='M13.5 45h175.7M97 13v32M30 200.1C97.1 166 141.5 76 151.1 45M57.5 73.8c22 44.9 52.3 81.2 81 99.7m104 69.5-53.3-138.3L135.8 243m88.8-46.3h-70.9' /%3E%3C/svg%3E");
  --icon-phone-online: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' stroke-width='0' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64c0 247.4 200.6 448 448 448 19.111 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2 18.4-30 11.6-46.3l-40-96v-.1Z' /%3E%3C/svg%3E");
  --icon-phone-offline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 512 512'%3E%3Cpath stroke-width='0' d='m118.648 345.506-39.535 16.279c-14.432 5.982-31.005.274-38.742-13.28L5.25 287.044c-6.914-12.182-5.494-26.883 4.994-37.371 82.102-82.102 195.068-114.533 301.57-97.333l-83.974 83.974a261.323 261.323 0 0 0-59.937 13.744l4.17 42.024-53.424 53.424Zm383.285-95.833c-35.299-35.299-76.308-61.401-120.052-78.342l63.058-63.058c5.858-5.858 5.858-15.355 0-21.213-5.857-5.858-15.355-5.858-21.213 0L87.06 423.727c-5.858 5.857-5.858 15.355 0 21.213 2.929 2.929 6.768 4.394 10.606 4.394s7.678-1.465 10.606-4.394l204.047-204.047a259.928 259.928 0 0 1 31.954 9.165l-4.939 49.169A30.973 30.973 0 0 0 358.376 331l74.631 30.731.055.055c14.432 5.982 31.005.274 38.742-13.28l35.121-61.461c6.914-12.182 4.884-27.493-4.994-37.371Z' /%3E%3C/svg%3E");
  --icon-phone-busy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' stroke-width='0' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64c0 247.4 200.6 448 448 448 19.111 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368c-70.4-33.3-127.4-90.3-160.7-160.7l49.3-40.3c13.7-11.2 18.4-30 11.6-46.3l-40-96v-.1ZM396.408 272c-10.493 0-19-8.507-19-19 0-64.444-55.618-104.333-107.149-104.333-10.493 0-19-8.506-19-19s8.507-19 19-19c36.152 0 72.435 14.206 99.544 38.975 29.409 26.871 45.605 63.578 45.605 103.359 0 10.493-8.507 19-19 19ZM482 233.643c-10.493 0-19-8.506-19-19 0-34.124-19.216-71.675-52.722-103.025-31.648-29.613-70.808-48.01-102.195-48.01-10.493 0-19-8.506-19-19s8.507-19 19-19c41.26 0 89.169 21.78 128.159 58.262C477.396 122.378 501 170.043 501 214.643c0 10.494-8.507 19-19 19Z' /%3E%3C/svg%3E");
  --flag-cz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3E%3Cmask id='a'%3E%3Ccircle cx='256' cy='256' r='256' fill='%23fff' /%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23eee' d='M0 0h512v256l-265 45.2z' /%3E%3Cpath fill='%23d80027' d='M210 256h302v256H0z' /%3E%3Cpath fill='%230052b4' d='M0 0v512l256-256L0 0z' /%3E%3C/g%3E%3C/svg%3E");
  --icon-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 512 512'%3E%3Cpath fill='%23002649' d='M256 0C114.836 0 0 114.836 0 256s114.836 256 256 256 256-114.836 256-256S397.164 0 256 0zm93.406 273.143-160 96A16.001 16.001 0 01168 352V160c0-12.48 13.09-20.16 24.406-13.143l160 96a16.001 16.001 0 010 26.286z' /%3E%3C/svg%3E");
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
input:not([type=search]),
textarea,
select {
  padding: 0.7em 2em 0.7em 1em;
  font-size: var(--form-input-font-size, var(--font-size-18));
  background: var(--form-input-background-color, var(--color-white));
  color: var(--form-input-text-color, var(--color-primary));
  display: block;
  width: 100%;
  border-radius: var(--border-radius-smaller);
  border: none;
  border-bottom: 1px solid var(--form-input-border-color, var(--color-border));
  transition: var(--transition);
  font-weight: var(--font-weight-regular);
  font-family: var(--font-basic);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
}
input:not([type=search]):focus,
textarea:focus,
select:focus {
  border-color: var(--form-input-border-color-active, var(--color-primary));
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

::placeholder {
  color: var(--color-primary);
  opacity: 0.25;
}

.label {
  position: absolute;
  top: 0.5em;
  left: 1em;
  display: block;
  color: var(--form-label-text-color, var(--color-primary));
  z-index: 2;
  cursor: text;
  transition: var(--transition);
  font-size: var(--form-label-font-size, var(--font-size-16));
  border: 1px solid transparent;
  border-radius: 0.2em;
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
}
.label span {
  color: var(--color-red);
}
.label.active {
  top: -1em;
  left: 1em;
  background: var(--form-label-background-color-active, var(--color-secondary));
  color: var(--form-label-text-color-active, var(--color-white));
  padding: 0.1em 0.4em;
  z-index: 3;
  font-size: var(--font-size-12);
}
.label.active span {
  color: var(--color-white);
}

.form {
  --form-gap: 2em;
  --form-input-border-color: var(--color-secondary);
  --form-input-border-color-active: var(--color-primary);
  --form-label-text-color: var(--color-secondary);
  --form-label-text-color-active: var(--color-white);
  --form-label-font-size: var(--font-size-20);
  --form-label-background-color-active: var(--color-primary);
  display: grid;
  gap: var(--form-gap);
  background-color: var(--color-white);
  padding: clamp(10px, 5cqw, 80px);
}
.form__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--form-gap);
}
.form__submit-wrapper {
  text-align: right;
  position: relative;
}
.form__select-wrapper::after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  mask: var(--arrow-down) center/contain no-repeat;
  background: var(--color-primary);
  width: 1em;
  height: 1em;
  pointer-events: none;
}
.form__note {
  font-size: var(--font-size-14);
}
.form__note a {
  color: var(--color-secondary) !important;
}
.form__google-recaptcha {
  font-size: var(--font-size-14);
  margin: 0 !important;
  color: var(--color-text);
}
.form__google-recaptcha a {
  color: var(--color-secondary) !important;
}

* {
  box-sizing: border-box;
  position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6,
ul,
li,
a,
input,
textarea,
p,
body,
span,
menu {
  margin: 0;
  padding: 0;
  line-height: 1.25;
}

img {
  border: none;
}

ul li,
menu li {
  list-style: none;
}

a {
  text-decoration: none;
}

a,
svg,
path {
  transition: var(--transition);
}

div,
article,
section,
img,
main,
input,
textarea {
  display: block;
}

input,
textarea,
img,
a,
option,
select,
button,
div {
  outline: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

html {
  font-size: 10px;
  font-family: var(--font-basic);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  height: fill-available;
  height: -webkit-fill-available;
  width: 100%;
  overflow-x: hidden;
}

body {
  font-size: var(--font-size-18);
  color: var(--color-text, var(--color-main));
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  background-color: var(--color-background);
  min-height: 100vh;
  min-height: fill-available;
  min-height: -webkit-fill-available;
  overflow: clip;
  scrollbar-color: #ccc #f4f4f4;
  scrollbar-width: thin;
}
body::-webkit-scrollbar {
  width: 0.8rem;
  background: #ccc;
}
body::-webkit-scrollbar-thumb {
  background: #f4f4f4;
  border-radius: 0.4rem;
}

.z-index-5 {
  z-index: 5;
}

.text-center {
  text-align: center;
}

.margin-top {
  margin-top: var(--gap);
}

.margin-bottom {
  margin-bottom: var(--gap);
}

.no-margin-top {
  margin-top: 0 !important;
}

.no-margin-bottom {
  margin-bottom: 0 !important;
}

.absolute-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.content {
  width: 100%;
  padding: 0 var(--padding-on-side);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.content > *:first-child {
  margin-top: 0;
}
.content > *:last-child {
  margin-bottom: 0;
}
.content--regular {
  max-width: calc(var(--content-regular) + 2 * var(--padding-on-side));
}
.content--smaller {
  max-width: calc(var(--content-small) + 2 * var(--padding-on-side));
}
.content--bigger {
  max-width: calc(var(--content-big) + 2 * var(--padding-on-side));
}

.section {
  position: relative;
  z-index: 2;
}
.section--smaller {
  padding: calc(var(--gap) * 1) 0;
}
.section--normal {
  padding: calc(var(--gap) * 2) 0;
}
.section--bigger {
  padding: calc(var(--gap) * 2.5) 0;
}
.section--smaller-top {
  padding-top: calc(var(--gap) * 1);
}
.section--no-top {
  padding-top: 0;
}
.section--no-bottom {
  padding-bottom: 0;
}
.section--background {
  background-color: var(--color-background);
}

.section__title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-48);
  line-height: 1.25;
  color: var(--color-title, var(--color-primary));
  margin-bottom: 0.5em;
}
.section__title--smaller {
  font-size: var(--font-size-30);
  color: var(--color-primary);
}
.section__title.text-center, .section__title.has-text-align-center {
  justify-content: center;
}

.section__subheading,
.is-style-subheading {
  font-family: var(--font-basic);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  font-size: var(--font-size-18);
  line-height: 1.2;
  color: var(--color-text, var(--color-secondary));
  margin-top: 0 !important;
  margin-bottom: 0.25em !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: block;
}
.section__subheading + .wp-block-heading,
.is-style-subheading + .wp-block-heading {
  margin-top: 0 !important;
}

.section__text {
  font-size: var(--font-size-16);
  line-height: var(--line-height);
  color: var(--color-main);
}
.section__text.text-center {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.section:not([class*=is-style]):not([class*=has-background]):has(+ .section:not([class*=is-style]):not([class*=has-background])) {
  padding-bottom: 0;
}

.button,
.wp-block-button .wp-block-button__link {
  --button-text-color: var(--color-main);
  --button-text-color-hover: var(--color-background-darker);
  --button-background-color: var(--color-background-darker);
  --button-background-color-hover: var(--color-kartarky);
  --button-font-size: var(--font-size-30);
  --button-border-radius: var(--border-radius);
  --button-border-color: var(--color-main);
  --button-border: 1px solid var(--button-background-darker);
  --button-border-color-hover: var(--color-kartarky);
  --button-shadow: none;
  --button-shadow-hover: var(--shadow-button-hover);
  font-family: var(--font-heading);
  font-weight: var(--font-weight-bold);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  display: inline-block;
  padding: 0.4em 0.8em;
  line-height: 1;
  font-size: var(--button-font-size, var(--font-size-18));
  border: var(--button-border, none);
  transition: var(--transition);
  cursor: pointer;
  border-radius: var(--button-border-radius, var(--border-radius));
  text-align: center;
  color: var(--button-text-color, var(--color-white));
  background-color: var(--button-background-color, var(--color-main));
  box-shadow: var(--button-shadow, none);
}
.button:hover,
.wp-block-button .wp-block-button__link:hover {
  color: var(--button-text-color-hover, var(--color-white));
  background-color: var(--button-background-color-hover, var(--color-secondary-light));
  box-shadow: var(--button-shadow-hover, none);
  border-color: var(--button-border-color-hover, var(--color-tertiary));
}
.button--primary,
.wp-block-button .wp-block-button__link--primary {
  --button-background-color: var(--color-kartarky);
  --button-background-color-hover: var(--color-background-darker);
  --button-text-color: var(--color-background-darker);
  --button-text-color-hover: var(--color-kartarky);
}
.button--smaller,
.wp-block-button .wp-block-button__link--smaller {
  --button-font-size: var(--font-size-16);
}
.button--tiny,
.wp-block-button .wp-block-button__link--tiny {
  --button-font-size: var(--font-size-13);
  padding: 0.7em 1.4em;
}
.button--white,
.wp-block-button .wp-block-button__link--white {
  --button-text: var(--color-main);
  --button-background: var(--color-white);
  --button-background-hover: var(--color-tertiary);
}
.button--white:hover,
.wp-block-button .wp-block-button__link--white:hover {
  color: var(--button-text-hover, var(--color-white));
  background-color: var(--button-background-hover, var(--color-tertiary));
}
.button--icon,
.wp-block-button .wp-block-button__link--icon {
  display: inline-flex;
  align-items: center;
}
.button--icon::before,
.wp-block-button .wp-block-button__link--icon::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  position: relative;
  width: 0;
  height: 0.7em;
  z-index: 5;
  mask: var(--icon-loading) center/contain no-repeat;
  background-color: var(--button-text-color, var(--color-white));
  animation: spin 1s linear infinite;
  transition: var(--transition, all 0.2s ease-in-out);
}
.button--icon.loading::before,
.wp-block-button .wp-block-button__link--icon.loading::before {
  width: 1em;
  margin-right: 1em;
  background-color: var(--button-text-color-hover, var(--color-white));
}

.buttons-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
}
.buttons-wrapper.text-center {
  justify-content: center;
}

/* ----- Globální styly ----- */
.global-style > *:first-child {
  margin-top: 0;
}
.global-style > *:last-child {
  margin-bottom: 0;
}
.global-style p,
.global-style li {
  line-height: var(--line-height);
}
.global-style a:not([class]) {
  color: var(--color-secondary);
  position: relative;
  text-decoration: underline;
}
.global-style a:not([class]):hover {
  color: var(--color-kartarky);
}
.global-style a:not([class]):hover:after {
  left: 100%;
}
.global-style p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.global-style hr {
  border: 0;
  height: 2px;
  background: var(--color-background);
  clear: both;
  margin: var(--gap) 0;
}

/* ----- Fonty ----- */
.has-small-font-size {
  font-size: 0.85em;
}

.has-medium-font-size {
  font-size: 1.4em;
}

.has-large-font-size {
  font-size: 1.75em;
}

.has-huge-font-size {
  font-size: 2em;
}

p.has-x-large-font-size {
  font-size: 3em;
  line-height: 1.1 !important;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  p.has-x-large-font-size {
    font-size: 2em;
  }
}

.has-text-align-center,
.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  max-width: 44em !important;
}

.wp-block-heading {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-bold);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  line-height: 1.1;
  color: var(--color-title, var(--color-primary));
  margin-top: 1em;
  margin-bottom: 0.5em;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size);
}
.wp-block-heading strong {
  color: var(--color-secondary);
}
.wp-block-heading.text-center, .wp-block-heading.has-text-align-center {
  justify-content: center;
  text-align: center;
}

h1.wp-block-heading {
  --font-size: var(--font-size-60);
}

h2.wp-block-heading {
  --font-size: var(--font-size-48);
}

h3.wp-block-heading {
  --font-size: var(--font-size-36);
}

h4.wp-block-heading {
  --font-size: var(--font-size-30);
  --color: var(--color-primary-hover);
}

h5.wp-block-heading {
  --font-size: var(--font-size-24);
  --color: var(--color-secondary);
  text-transform: uppercase;
}

/* ----- Tabulky ----- */
.wp-block-table {
  margin: var(--margins) 0;
  overflow: inherit;
}
.wp-block-table table {
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
}
.wp-block-table th {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-24);
  color: var(--color-white);
  background-color: var(--color-background-darker);
  text-align: left;
  border: none;
  padding: 0.6em 1em;
}
.wp-block-table td {
  font-size: var(--font-size-18);
  text-align: left;
  border: none !important;
  padding: 0.6em 1em;
  background-color: var(--color-background);
}
@media screen and (max-width: 768px) {
  .wp-block-table.responsive-table thead {
    display: none;
  }
  .wp-block-table.responsive-table td {
    display: flex;
    justify-content: space-between;
    gap: 0 1em;
  }
  .wp-block-table.responsive-table td div {
    text-align: right;
  }
  .wp-block-table.responsive-table td::before {
    content: attr(data-label);
    font-weight: bold;
    color: var(--color-main);
  }
  .wp-block-table.responsive-table tbody {
    display: grid;
    gap: 1em;
  }
  .wp-block-table.responsive-table tr {
    background-color: var(--color-background-darker);
  }
  .wp-block-table.responsive-table tr td {
    background-color: transparent;
  }
}

/* ----- Seznamy ----- */
.wp-block-list {
  counter-reset: item;
  list-style: none;
  margin: 1em 0;
  display: flex;
  flex-direction: column;
  gap: 0.6em;
  padding: 0;
}
.wp-block-list li {
  line-height: 1.25;
  padding: 0 0 0 1.4em;
}

ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  width: 0.4em;
  height: 0.4em;
  top: 0.4em;
  border-radius: 50%;
  background-color: var(--color-secondary);
}

ol.wp-block-list li::before {
  position: absolute;
  left: 0;
  counter-increment: item;
  content: counter(item) ". ";
  font-weight: var(--font-weight-medium);
  color: var(--color-secondary);
  min-width: 1em;
}

/* ----- Citace ----- */
.wp-block-quote {
  padding: clamp(1em, 5cqw, var(--gap) * 1);
  margin: 2em auto;
}
.wp-block-quote::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10em;
  height: 10em;
  mask: var(--icon-quote) center/contain no-repeat;
  background-color: var(--color-primary);
  opacity: 0.075;
}
.wp-block-quote p {
  margin: 0;
  font-size: var(--font-size-30);
  color: var(--color-primary);
  z-index: 2;
}
.wp-block-quote cite {
  margin-top: 1em;
  font-size: var(--font-size-16);
  display: block;
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  color: var(--color-title);
  font-style: normal;
}
.wp-block-quote cite a {
  font-style: normal;
  color: var(--color-secondary);
}
.wp-block-quote cite a:hover {
  text-decoration: underline;
}
.wp-block-quote cite em {
  font-style: normal;
  line-break: loose;
}

.wp-block-columns {
  display: flex;
  gap: calc(var(--gap) * 1.5);
}
.wp-block-columns .wp-block-column {
  flex-basis: 100%;
}
@media screen and (max-width: 660px) {
  .wp-block-columns {
    flex-direction: column;
  }
}

.wp-block-column > *:first-child {
  margin-top: 0;
}
.wp-block-column > *:last-child {
  margin-bottom: 0;
}

/* ----- Obrázek ----- */
.wp-block-image {
  margin: calc(var(--margins) * 2) auto;
}
.wp-block-image.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-image.aligncenter img {
  margin: 0 auto;
}
.wp-block-image .wp-element-caption {
  text-align: center;
  font-size: var(--font-size-16);
  color: var(--color-primary);
  padding: 1em;
  background-color: var(--color-white);
  display: block;
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
}

/* ----- Tlačítka ----- */
.wp-block-buttons {
  margin-top: var(--gap);
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

/* ----- Globální ----- */
.has-text-align-right {
  text-align: right;
}

/* ------------------------- */
/* ----- CUSTOM STYLES ----- */
/* ------------------------- */
.image-text {
  display: grid;
  gap: calc(var(--gap) * 2);
  margin: var(--gap) 0;
}
.image-text--image-left {
  grid-template-columns: var(--media-width, 50%) 1fr;
  --media-order: 1;
  --text-order: 2;
}
.image-text--image-right {
  grid-template-columns: 1fr var(--media-width, 50%);
  --media-order: 2;
  --text-order: 1;
}
.image-text--vertical-align-center {
  align-items: center;
}
.image-text--vertical-align-top {
  align-items: flex-start;
}
.image-text--vertical-align-bottom {
  align-items: flex-end;
}
.image-text + .image-text {
  margin-top: calc(var(--gap) * 2);
}
.image-text__text {
  padding: 0;
  order: var(--text-order);
}
.image-text__text > *:first-child {
  margin-top: 0;
}
.image-text__text > *:last-child {
  margin-bottom: 0;
}
.image-text__image {
  order: var(--media-order);
}
.image-text__image img {
  width: auto !important;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .image-text {
    grid-template-columns: 1fr;
  }
  .image-text__image {
    grid-column: auto;
    order: 1;
    grid-row: auto;
  }
  .image-text__text {
    grid-column: auto;
    order: 2;
    grid-row: auto;
  }
}

.has-background-color-blue {
  background-color: var(--color-blue);
}
.has-background-color-background-darker {
  background-color: var(--color-background-darker);
}

.has-text-blue-color {
  --color-text: var(--color-text-blue);
  color: var(--color-text);
}

.has-orange-color {
  --color-text: var(--color-orange);
  color: var(--color-text);
}

.has-white-color {
  --color-text: var(--color-white);
  color: var(--color-text);
}

.is-style-font-heading {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
}

.wp-block-heading + .has-text-align-center {
  margin-top: -0.5em;
}

.our-services {
  display: flex;
  justify-content: center;
  gap: clamp(15px, 8cqw, 40px);
}
.our-services .wp-block-column {
  text-align: center;
  flex-basis: 100%;
}
.our-services .wp-block-column img {
  max-height: 100px;
  width: auto;
  margin: 0 auto;
}
.our-services .wp-block-image {
  margin-bottom: 0;
}
.our-services .wp-block-heading {
  margin-top: 0.4em;
}
@media screen and (max-width: 600px) {
  .our-services {
    flex-direction: column;
    align-items: center;
  }
}

.section-has-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-black);
  opacity: 0.2;
  z-index: 1;
}

.hp-header-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em clamp(20px, 5cqw, 60px);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-weight: var(--font-weight-bold);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
}
.hp-header-columns .wp-block-column:first-child::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(clamp(20px, 5cqw, 60px) / 2 * -1);
  width: 2px;
  height: 100%;
  background: var(--color-white);
  opacity: 0.25;
  z-index: 1;
}
.hp-header-columns p {
  margin: 0.5em 0;
  line-height: 1;
}
.hp-header-columns strong {
  font-size: 1.5em;
}
.hp-header-columns .phone-numbers {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 1em;
}
@media screen and (min-width: 1600px) {
  .hp-header-columns .phone-numbers__item {
    font-size: 38px;
  }
}
.hp-header-columns .wp-block-button .wp-block-button__link {
  --button-background-color: var(--color-kartarky);
  --button-background-color-hover: var(--color-background-darker);
  --button-text-color: var(--color-background-darker);
  --button-text-color-hover: var(--color-kartarky);
  padding: 0.3em 1em;
}
@media screen and (max-width: 600px) {
  .hp-header-columns {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hp-header-columns .wp-block-column:first-child::after {
    width: 100%;
    height: 2px;
    top: auto;
    margin-top: 1em;
    position: relative;
    display: block;
  }
}

.media-text-services .image-text__text {
  padding-bottom: calc(var(--gap) * 1.5);
}

.is-style-hero h1.wp-block-heading {
  font-size: var(--font-size-120);
}
.is-style-hero h1.wp-block-heading::before, .is-style-hero h1.wp-block-heading::after {
  content: "";
  width: 300px;
  height: 24px;
  background: url(../assets/images/divider.png) center/contain no-repeat;
  display: block;
  margin: 0 auto;
}
.is-style-hero h1.wp-block-heading::after {
  transform: rotate(180deg);
}
.is-style-hero p {
  font-size: var(--font-size-30);
  color: var(--color-white);
  max-width: 720px;
  line-height: 1.2;
}
.is-style-hero p strong {
  font-size: 1.25em;
}
.is-style-hero .has-text-align-center {
  max-width: 30em !important;
}

.card-reader-bottom-section .card-reader__phone-link {
  display: inline-flex;
  font-size: var(--font-size-36);
}
.card-reader-bottom-section .global-style p {
  margin-bottom: 0;
}
.card-reader-bottom-section .global-style .has-medium-font-size {
  margin-top: 0;
}

.page-contact__socials {
  display: flex;
  gap: 1.5em;
  align-items: center;
  justify-content: center;
}
.page-contact__social-link {
  width: 3em;
  aspect-ratio: 1/1;
  display: block;
  mask: var(--icon-social) center/contain no-repeat;
  background-color: var(--color-text);
}
.page-contact__social-link:hover {
  background-color: var(--color-kartarky);
}
.page-contact__social-link--facebook {
  --icon-social: var(--icon-facebook);
}
.page-contact__social-link--instagram {
  --icon-social: var(--icon-instagram);
}
.page-contact__social-link--tiktok {
  --icon-social: var(--icon-tiktok);
}
.page-contact__columns {
  text-align: center;
}
.page-contact__columns p {
  margin: 0 auto;
}
.page-contact__columns .wp-block-image {
  margin: 0 auto;
}

.top-bar {
  z-index: 999;
  font-size: var(--font-size-20);
  padding: 1em 0;
  background: linear-gradient(to right, #1f3d73, #523a96);
}
.top-bar::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  height: 0.2em;
  width: 100%;
  background: linear-gradient(to right, #172366, #381f66);
}
.top-bar.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.top-bar__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap);
}
.top-bar__logo {
  flex-shrink: 0;
}
.top-bar__logo img {
  width: clamp(110px, 12cqw, 200px);
}
.top-bar__menu-wrapper {
  display: flex;
  align-items: center;
  gap: 2em;
}
.top-bar__menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4em;
}
.top-bar__menu a {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
  color: var(--color-white);
  padding: 0.2em 0.6em;
  border-radius: var(--border-radius-smaller);
}
.top-bar__menu a:hover {
  background-color: var(--color-background-darker);
}
.top-bar__menu .current-menu-item a {
  background-color: rgba(0, 0, 0, 0.1);
}
.top-bar__menu .current-menu-item a:hover {
  background-color: var(--color-background-darker);
}
.top-bar__menu-button a {
  background-color: var(--color-kartarky);
  color: var(--color-background-darker);
  font-weight: var(--font-weight-bold);
}
.top-bar__menu-button a:hover {
  background-color: var(--color-white);
  color: var(--color-background-darker);
}
.top-bar__menu-button.current-menu-item a {
  background-color: var(--color-white);
  color: var(--color-background-darker);
}
.top-bar__menu-button.current-menu-item a:hover {
  background-color: var(--color-white);
  color: var(--color-background-darker);
}
.top-bar__socials {
  display: flex;
  gap: 0.75em;
  align-items: center;
}
.top-bar__social-link {
  width: 1.1em;
  aspect-ratio: 1/1;
  display: block;
  mask: var(--icon-social) center/contain no-repeat;
  background-color: var(--color-kartarky);
}
.top-bar__social-link:hover {
  background-color: var(--color-white);
}
.top-bar__social-link--facebook {
  --icon-social: var(--icon-facebook);
}
.top-bar__social-link--instagram {
  --icon-social: var(--icon-instagram);
}
.top-bar__social-link--tiktok {
  --icon-social: var(--icon-tiktok);
}
.top-bar__mobile-menu {
  --menu-line-height: 2px;
  display: none;
  align-items: center;
  cursor: pointer;
  gap: 0.5em;
}
.top-bar__mobile-menu.active .top-bar__mobile-menu-hamburger span:nth-child(1) {
  transform: rotate(45deg);
  transform-origin: 0% 0%;
}
.top-bar__mobile-menu.active .top-bar__mobile-menu-hamburger span:nth-child(2) {
  opacity: 0;
}
.top-bar__mobile-menu.active .top-bar__mobile-menu-hamburger span:nth-child(3) {
  transform: rotate(-45deg);
  transform-origin: 0% 100%;
}
.top-bar__mobile-menu-text {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
  color: var(--color, var(--color-primary));
  font-weight: var(--bold);
  text-transform: uppercase;
  letter-spacing: -0.05em;
  position: relative;
  top: 0.1em;
}
.top-bar__mobile-menu-hamburger {
  width: 1.2em;
  height: 1em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.top-bar__mobile-menu-hamburger span {
  display: block;
  height: var(--menu-line-height);
  border-radius: 1em;
  margin-left: auto;
  transition: var(--transition);
  background-color: var(--color, var(--color-primary));
}
.top-bar__mobile-menu-hamburger span:nth-child(1) {
  width: 100%;
}
.top-bar__mobile-menu-hamburger span:nth-child(2) {
  width: 100%;
}
.top-bar__mobile-menu-hamburger span:nth-child(3) {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .top-bar__menu {
    display: none;
  }
  .top-bar__mobile-menu {
    display: flex;
  }
}

.mobile-menu {
  --menu-padding: 2em;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-background);
  z-index: 900;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
  pointer-events: none;
}
.mobile-menu.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.mobile-menu__content-wrapper {
  padding: var(--menu-padding) 0;
  width: 100%;
  flex-grow: 1;
  display: flex;
  gap: 2em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  scrollbar-color: #ccc #f4f4f4;
  scrollbar-width: thin;
  height: calc(100% - var(--menu-padding) * 2);
  overflow: auto;
}
.mobile-menu__content-wrapper::-webkit-scrollbar {
  width: 0.8rem;
  background: #ccc;
}
.mobile-menu__content-wrapper::-webkit-scrollbar-thumb {
  background: #f4f4f4;
  border-radius: 0.4rem;
}
.mobile-menu__content {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mobile-menu__spacer {
  width: 100%;
}
.mobile-menu__menu {
  display: flex;
  flex-direction: column;
  gap: 1em;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.mobile-menu__menu a {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-36);
  color: var(--color-text);
  text-decoration: none;
  text-transform: uppercase;
  transition: var(--transition);
}
.mobile-menu__menu a:hover {
  color: var(--color-white);
}
.mobile-menu__menu .current-menu-item a,
.mobile-menu__menu .current-page-ancestor a {
  color: var(--color-white);
}
.mobile-menu__menu .top-bar__menu-button a {
  padding: 0.4em 1.2em;
  background-color: var(--color-kartarky);
  color: var(--color-background-darker);
  font-weight: var(--font-weight-bold);
  padding: 0.4em 0.7em;
  border-radius: var(--border-radius-smaller);
}
@media screen and (max-width: 1024px) {
  .mobile-menu {
    display: flex;
  }
}

.card-readers {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: clamp(15px, 4cqw, 50px);
  margin: var(--gap) auto;
}
@media screen and (max-width: 660px) {
  .card-readers {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 40px 20px;
  }
}

.card-reader {
  text-align: center;
  --card-status-color: var(--color-green);
  --card-icon-phone: var(--icon-phone-online);
  --card-link-color-hover: var(--color-kartarky);
  --card-border-width: 0.5em;
}
.card-reader--offline {
  --card-status-color: var(--color-grey);
  --card-icon-phone: var(--icon-phone-offline);
  --card-link-color-hover: var(--color-grey);
}
.card-reader--busy {
  --card-status-color: var(--color-red);
  --card-icon-phone: var(--icon-phone-busy);
  --card-link-color-hover: var(--color-red);
}
.card-reader__image-wrapper {
  max-width: 280px;
  display: block;
  margin: 0 auto;
}
.card-reader__image-wrapper-inner {
  border-radius: 50%;
  border: var(--card-border-width) solid var(--card-status-color);
  aspect-ratio: 1/1;
  display: block;
  overflow: hidden;
  margin: 0 auto;
}
.card-reader__phone-icon {
  position: absolute;
  width: 3em;
  height: 3em;
  background-color: var(--card-status-color);
  top: 0.5em;
  right: 0.5em;
  border-radius: 50%;
  z-index: 1;
}
.card-reader__phone-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  mask: var(--card-icon-phone) center/50% auto no-repeat;
  background-color: var(--color-white);
  z-index: 2;
}
.card-reader__name-status-wrapper {
  display: flex;
  align-items: center;
  gap: 1em;
  margin-top: 1em;
  justify-content: center;
}
.card-reader__name {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-48);
  color: var(--color-text);
  line-height: 1;
}
.card-reader__status {
  font-size: var(--font-size-12);
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
  background-color: var(--card-status-color);
  padding: 0.45em 0.7em 0.4em;
  border-radius: var(--border-radius-smaller);
  text-transform: uppercase;
}
.card-reader__phones-wrapper {
  margin-top: 0.5em;
}
.card-reader__phone-link {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  text-decoration: none;
}
.card-reader__phone-link:hover {
  color: var(--card-link-color-hover);
}
.card-reader__phone-link::before {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  position: relative;
  top: -0.05em;
  background: var(--card-flag) center/contain no-repeat;
}
.card-reader__phone-link--cs {
  --card-flag: url("../assets/icons/cs.svg");
}
.card-reader__phone-link--sk {
  --card-flag: url("../assets/icons/sk.svg");
}
.card-reader__note {
  margin-bottom: 1em;
  font-size: var(--font-size-12);
  color: var(--color-text);
}
.card-reader__note--last {
  margin-bottom: 0;
}
@media screen and (max-width: 660px) {
  .card-reader {
    --card-border-width: 0.3em;
  }
  .card-reader__image-wrapper {
    max-width: 180px;
  }
  .card-reader__phone-icon {
    top: 0em;
    right: 0em;
  }
}

.card-reader-single {
  text-align: center;
  --card-status-color: var(--color-green);
  --card-icon-phone: var(--icon-phone-online);
}
.card-reader-single--offline {
  --card-status-color: var(--color-grey);
  --card-icon-phone: var(--icon-phone-offline);
}
.card-reader-single--busy {
  --card-status-color: var(--color-red);
  --card-icon-phone: var(--icon-phone-busy);
}
.card-reader-single__image-wrapper {
  max-width: 280px;
  display: block;
  margin: 0 auto;
}
.card-reader-single__image-wrapper-inner {
  border-radius: 50%;
  border: 0.5em solid var(--card-status-color);
  aspect-ratio: 1/1;
  display: block;
  overflow: hidden;
  margin: 0 auto;
}
.card-reader-single__phone-icon {
  position: absolute;
  width: 3em;
  height: 3em;
  background-color: var(--card-status-color);
  top: 0.5em;
  right: 0.5em;
  border-radius: 50%;
  z-index: 1;
}
.card-reader-single__phone-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  mask: var(--card-icon-phone) center/50% auto no-repeat;
  background-color: var(--color-white);
  z-index: 2;
}
.card-reader-single__name-status-wrapper {
  display: flex;
  align-items: center;
  gap: 1em;
  margin-top: 1em;
  justify-content: center;
}
.card-reader-single__status {
  font-size: var(--font-size-12);
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
  background-color: var(--card-status-color);
  padding: 0.45em 0.7em 0.4em;
  border-radius: var(--border-radius-smaller);
  text-transform: uppercase;
  z-index: 2;
  margin-top: -5em;
}
.card-reader-single__phones-wrapper {
  margin-top: 0.5em;
}
.card-reader-single__phone-link {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  text-decoration-thickness: 0.05em;
  text-decoration-color: var(--card-status-color);
}
.card-reader-single__phone-link:hover {
  text-decoration: underline;
  text-decoration-color: var(--card-status-color);
}
.card-reader-single__phone-link::before {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  position: relative;
  top: -0.05em;
  background: var(--card-flag) center/contain no-repeat;
}
.card-reader-single__phone-link--cs {
  --card-flag: url("../assets/icons/cs.svg");
}
.card-reader-single__phone-link--sk {
  --card-flag: url("../assets/icons/sk.svg");
}
.card-reader-single__phone-note {
  margin-top: 0;
  font-size: var(--font-size-14);
  color: var(--color-text);
}
.card-reader-single__phone-note strong {
  font-size: var(--font-size-18);
  color: var(--color-white);
}
.card-reader-single__phone-note:not(:last-child) {
  margin-bottom: 2em;
}

.footer {
  background: linear-gradient(to left, #1f3d73, #523a96);
}
.footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 0.2em;
  width: 100%;
  background: linear-gradient(to left, #172366, #381f66);
}
.footer__logo-wrapper {
  text-align: center;
}
.footer__logo {
  display: inline-block;
  margin: 0 auto;
}
.footer__logo img {
  height: 40px;
  width: auto;
  margin: 0 auto;
}
.footer__top {
  padding: var(--gap) 0;
}
.footer__bottom {
  padding: 0 0 2em 0;
  font-size: var(--font-size-14);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5em 2em;
}
.footer__links a {
  color: var(--color-text);
  text-decoration: none;
  transition: var(--transition);
}
.footer__links a:hover {
  color: var(--color-white);
  text-decoration: underline;
}
.footer__socials {
  display: flex;
  gap: 0.75em;
  align-items: center;
  justify-content: center;
  margin-top: 1em;
}
.footer__social-link {
  width: 1.5em;
  aspect-ratio: 1/1;
  display: block;
  mask: var(--icon-social) center/contain no-repeat;
  background-color: var(--color-kartarky);
}
.footer__social-link:hover {
  background-color: var(--color-white);
}
.footer__social-link--facebook {
  --icon-social: var(--icon-facebook);
}
.footer__social-link--instagram {
  --icon-social: var(--icon-instagram);
}
.footer__social-link--tiktok {
  --icon-social: var(--icon-tiktok);
}
.footer__columns {
  display: flex;
  gap: clamp(30px, 8cqw, 80px);
  flex-wrap: wrap;
}
.footer__column {
  flex: 1 1 300px;
  min-width: 150px;
}
.footer__menu-title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-bold);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
  margin-bottom: 0.5em;
  color: var(--color-white);
}
.footer__menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5em;
}
.footer__menu a {
  font-family: var(--font-basic);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  font-size: var(--font-size-16);
  color: var(--color-white);
  display: block;
  opacity: 0.75;
}
.footer__menu a:hover {
  text-decoration: underline;
  opacity: 1;
}
@media screen and (max-width: 600px) {
  .footer__bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 1em;
  }
}

.phone-numbers {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.phone-numbers__item-wrapper {
  display: inline-block;
}
.phone-numbers__item {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-36);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  text-decoration: none;
}
.phone-numbers__item:hover {
  color: var(--color-kartarky);
}
.phone-numbers__item::before {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  position: relative;
  top: -0.05em;
  background: var(--card-flag) center/contain no-repeat;
}
.phone-numbers__item--cs {
  --card-flag: url("../assets/icons/cs.svg");
}
.phone-numbers__item--sk {
  --card-flag: url("../assets/icons/sk.svg");
}

.blog-posts {
  --min-width: 360px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--min-width), 1fr));
  gap: clamp(15px, 3cqw, 30px);
  margin: var(--gap) auto;
}
@media screen and (max-width: 400px) {
  .blog-posts {
    --min-width: 100%;
  }
}

.article {
  --article-title-color: var(--color-main);
  display: flex;
}
.article__inner {
  padding: 1em;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  background-color: var(--color-background-darker);
}
.article__inner:hover {
  --article-title-color: var(--color-kartarky);
}
.article__image-wrapper {
  margin-bottom: 1em;
  display: block;
}
.article__image-wrapper img {
  border-radius: var(--border-radius-smaller);
}
.article__title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-36);
  color: var(--article-title-color);
  margin: 0 0 0.25em 0;
  line-height: 1.1;
  transition: var(--transition);
}
.article__excerpt {
  font-size: var(--font-size-16);
  color: var(--color-text);
  line-height: var(--line-height);
}

.credit-topup__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: clamp(10px, 3cqw, 20px);
}
.credit-topup__radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.credit-topup__radio:checked + .credit-topup__card {
  border-color: var(--color-kartarky);
}
.credit-topup__radio:checked + .credit-topup__card .credit-topup__check {
  background-color: var(--color-kartarky);
  border-color: var(--color-kartarky);
}
.credit-topup__radio:checked + .credit-topup__card .credit-topup__check::before {
  opacity: 1;
}
.credit-topup__card {
  border: 2px solid rgba(255, 255, 255, 0.2);
  background-color: var(--color-background-darker);
  border-radius: var(--border-radius);
  padding: 1em;
  cursor: pointer;
  transition: var(--transition);
}
.credit-topup__card:hover {
  border-color: var(--color-kartarky);
}
.credit-topup__minutes-sale {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5em;
  padding-right: 2em;
}
.credit-topup__minutes {
  font-size: var(--font-size-14);
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
}
.credit-topup__minutes-value {
  font-size: var(--font-size-24);
}
.credit-topup__sale {
  font-size: var(--font-size-14);
  color: var(--color-kartarky);
}
.credit-topup__sale strong {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-24);
}
.credit-topup__check {
  width: 1.25em;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0.75em;
  right: 0.75em;
  background-color: rgba(255, 255, 255, 0.1);
  z-index: 2;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: var(--transition);
}
.credit-topup__check::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  content: "";
  width: 0.5em;
  height: 0.25em;
  border-left: 2px solid var(--color-background-darker);
  border-bottom: 2px solid var(--color-background-darker);
  transform: rotate(-45deg);
  top: 0.3em;
  left: 0.275em;
  opacity: 0;
  transition: var(--transition);
}
.credit-topup__price {
  font-size: var(--font-size-18);
  color: var(--color-white);
  font-weight: var(--font-weight-bold);
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1em;
}
.credit-topup__per-minute {
  font-size: var(--font-size-14);
  color: var(--color-white);
  font-weight: var(--font-weight-regular);
  padding: 0.2em 0.5em;
  background-color: var(--color-background);
  border-radius: var(--border-radius-smaller);
}
.credit-topup__alt {
  font-size: var(--font-size-14);
  color: var(--color-text);
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 0.5em;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 1em;
  margin-top: 1em;
}
.credit-topup__button-wrapper {
  margin-top: 1em;
  display: flex;
  align-items: center;
  gap: 1em 2em;
}
.credit-topup__button-wrapper-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  font-size: var(--font-size-14);
}
.credit-topup__button-wrapper-already-recharged {
  font-size: var(--font-size-16);
}
.credit-topup__button-wrapper .button {
  padding: 0.3em 1em;
}

.single-card-reader {
  display: flex;
  gap: clamp(20px, 5cqw, 80px);
}
.single-card-reader__info {
  flex-shrink: 0;
}
.single-card-reader__name {
  color: var(--color-white);
}
@media screen and (max-width: 768px) {
  .single-card-reader {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .single-card-reader__hero {
    display: none;
  }
}

.card-readers-wrapper .buttons-wrapper {
  position: sticky;
  bottom: 1em;
  z-index: 20;
}

.error-message {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-36);
  color: var(--color-white);
  background-color: var(--color-error);
  padding: 0.5em 1em;
  line-height: 1;
  border-radius: var(--border-radius);
  grid-column: 1/-1;
  text-align: center;
}

.legend {
  color: var(--color-white);
  padding-left: 5em;
  max-width: 37em;
  margin: 0 auto;
}
.legend:not(:last-child) {
  margin-bottom: 2em;
}
.legend::after, .legend::before {
  content: "";
  position: absolute;
  width: 3em;
  height: 3em;
  background-color: var(--legend-background-color);
  top: 0;
  left: 0.5em;
  border-radius: 50%;
  z-index: 1;
}
.legend::before {
  mask: var(--card-icon-phone) center/50% auto no-repeat;
  background-color: var(--color-white);
  z-index: 2;
}
.legend--online {
  --card-icon-phone: var(--icon-phone-online);
  --legend-background-color: var(--color-green);
}
.legend--busy {
  --card-icon-phone: var(--icon-phone-busy);
  --legend-background-color: var(--color-red);
}
.legend--offline {
  --card-icon-phone: var(--icon-phone-offline);
  --legend-background-color: var(--color-grey);
}

.video-block__play {
  background-color: var(--color-kartarky);
}
.video-block__play::after {
  background-color: var(--color-background-darker);
}
.video-block__play:hover {
  background-color: var(--color-background-darker);
}
.video-block__play:hover::after {
  background-color: var(--color-kartarky);
}

.single-post__image-wrapper {
  margin-bottom: 1em;
}
.single-post__image-wrapper img {
  margin: 0 auto;
  border-radius: var(--border-radius);
}