@charset "UTF-8";
:root {
  --transition: all 0.3s ease-in-out;
  --padding-on-side: 40px;
  --margins: 1em;
  --gap: 40px;
  --gap-smaller: 20px;
  --shadow: 0 0 2em rgba(0, 0, 0, 0.05);
  --shadow-hover: 0.1em 0.4em 1.2em rgba(var(--color-text-rgb), 0.6);
  --border-radius-smaller: 8px;
  --border-radius: 16px;
  --border-radius-bigger: 24px;
  --content-small: 960px;
  --content-regular: 1480px;
  --content-big: 1820px;
  --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: 36px;
  --font-size-48: 48px;
  --font-size-60: 60px;
  --font-size-72: 72px;
  --font-size-90: 90px;
  --font-size-120: 120px;
  --font-basic: "Veto Sans", sans-serif;
  --font-heading: "Veto Sans", sans-serif;
  --color-white: #fff;
  --color-black: #000;
  --color-green: #007340;
  --color-red: #d8000c;
  --color-success: #007340;
  --color-warning: #fdae4a;
  --color-error: #d8000c;
  --page-color-background: #fff;
  --color-text: #212529;
  --color-title: #2c1036;
  --color-main: #5d5c5c;
  --color-primary-light: #ff32b4;
  --color-primary: #e8109a;
  --color-primary-dark: #a9006b;
  --color-secondary-light: #14b5bc;
  --color-secondary: #69b4ba;
  --color-secondary-dark: #27696e;
  --color-purple-dark: #2c1036;
  --color-purple-light: #562daf;
  --color-light-blue: #f3f9fa;
  --color-background: #fafafa;
  --color-border: #ddd;
  --gradient-purple: linear-gradient(0, var(--color-purple-dark), var(--color-purple-light));
  --gradient-dark-purple: linear-gradient(45deg, #1d0825, var(--color-purple-dark));
  --gradient-purple-primary: linear-gradient(to right, var(--color-purple-light), var(--color-secondary-light));
  --color-text-rgb: 33, 37, 41;
  --color-primary-rgb: 232, 16, 154;
  --color-secondary-rgb: 105, 180, 186;
  --color-purple-dark-rgb: 44, 16, 54;
  --color-purple-light-rgb: 86, 45, 175;
  --color-white-rgb: 255, 255, 255;
}

@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-72: 48px;
    --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: 22px;
    --font-size-36: 24px;
    --font-size-48: 28px;
    --font-size-60: 32px;
    --font-size-72: 36px;
    --font-size-90: 40px;
    --font-size-120: 50px;
  }
}
@media screen and (max-width: 660px) {
  :root {
    --padding-on-side: 16px;
    --gap: 16px;
    --gap-smaller: 12px;
    --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: 20px;
    --font-size-36: 22px;
    --font-size-48: 24px;
    --font-size-60: 28px;
    --font-size-72: 32px;
    --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-under-logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 49 21'%3E%3Cpath d='M0 0c.11.13.22.26.34.38h.01L18.46 18.5c3.33 3.33 8.75 3.33 12.08 0L48.66.38c.12-.12.23-.25.34-.38H0Z' style='fill:white'/%3E%3C/svg%3E");
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m21 21-4.34-4.34' /%3E%3Ccircle cx='11' cy='11' r='8' /%3E%3C/svg%3E");
  --icon-reservation: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 315 264.09'%3E%3Cpath fill='%23bccf00' stroke-width='0' d='M296.92 29.58c-.11 0-.22-.01-.33-.01h-5.68V9.09c0-5.01-4.08-9.09-9.09-9.09h-17.73C259.08 0 255 4.08 255 9.09v20.48h-21.82V9.09c0-5.01-4.08-9.09-9.09-9.09h-17.73c-5.01 0-9.09 4.08-9.09 9.09v20.47h-39.54V9.09c0-5.01-4.08-9.09-9.09-9.09h-17.73c-5.01 0-9.09 4.08-9.09 9.09v20.47H100V9.09C100 4.08 95.92 0 90.91 0H73.18c-5.01 0-9.09 4.08-9.09 9.09v20.46H58.27c-10.33.25-18.73 8.86-18.73 19.19v90.22a19.71 19.71 0 0 0-8.47 5.02L5.79 169.26c-3.74 3.74-5.8 8.71-5.8 14v35.75c0 5.29 2.06 10.26 5.8 14l25.28 25.28c3.74 3.74 8.71 5.8 14 5.8h35.75c5.29 0 10.26-2.06 14-5.8l25.28-25.28c1.81-1.81 3.22-3.91 4.2-6.2h171.48c10.59 0 19.2-8.61 19.2-19.21V48.75c0-10.17-7.94-18.58-18.08-19.17Zm-30.56-18.22h13.18v27.73h-13.18V11.36Zm-57.72 0h13.18v27.73h-13.18V11.36Zm-75.46 0h13.18v27.73h-13.18V11.36Zm-57.72 0h13.18v27.73H75.46V11.36Zm39.09 207.65c0 2.26-.88 4.37-2.47 5.97L86.8 250.26a8.347 8.347 0 0 1-5.97 2.47H45.08c-2.25 0-4.37-.88-5.97-2.47l-25.28-25.28a8.388 8.388 0 0 1-2.47-5.97v-35.75c0-2.25.88-4.37 2.47-5.97l25.28-25.28a8.354 8.354 0 0 1 4.85-2.39c.41.09.83.14 1.26.14.55 0 1.08-.08 1.58-.23h34.02c2.26 0 4.37.88 5.97 2.47l25.28 25.28a8.347 8.347 0 0 1 2.47 5.97V219Zm189.09-11.4c0 4.32-3.52 7.84-7.84 7.84H125.91v-32.19c0-5.29-2.06-10.26-5.8-14l-25.28-25.28c-3.74-3.74-8.71-5.8-14-5.8H50.91V48.75c0-4.2 3.4-7.7 7.58-7.83h5.6v.45c0 5.01 4.08 9.09 9.09 9.09h17.73c5.01 0 9.09-4.08 9.09-9.09v-.44h21.82v.44c0 5.01 4.08 9.09 9.09 9.09h17.73c5.01 0 9.09-4.08 9.09-9.09v-.44h39.54v.44c0 5.01 4.08 9.09 9.09 9.09h17.73c5.01 0 9.09-4.08 9.09-9.09v-.43H255v.43c0 5.01 4.08 9.09 9.09 9.09h17.73c5.01 0 9.09-4.08 9.09-9.09v-.43h5.5c4.07.31 7.23 3.71 7.23 7.81v158.86ZM97.41 178.92c2.23 2.21 2.25 5.8.04 8.04l-42.73 43.18a5.7 5.7 0 0 1-4.04 1.69c-.16 0-.33 0-.49-.02a5.71 5.71 0 0 1-4.18-2.42l-15.45-22.27a5.683 5.683 0 0 1 1.43-7.91 5.683 5.683 0 0 1 7.91 1.43l11.56 16.66 37.92-38.32a5.686 5.686 0 0 1 8.04-.04ZM90.68 74.15A5.678 5.678 0 0 1 85 79.81h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.71Zm40.46.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.46.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.71Zm40.45.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07c-3.14-.01-5.67-2.57-5.66-5.71a5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7ZM90.68 103.7a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.71Zm40.46.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.46.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07c-3.14-.01-5.67-2.57-5.66-5.71a5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.71Zm40.45.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07c-3.14-.01-5.67-2.57-5.66-5.71a5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm-121.36 29.44a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.46.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07c-3.14-.01-5.67-2.57-5.66-5.71a5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.71Zm40.45.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm-121.36 29.44a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07c-3.14-.01-5.67-2.57-5.66-5.71a5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.46.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07c-3.14-.01-5.67-2.57-5.66-5.71a5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7ZM171.59 192.4a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.683 5.683 0 0 1 5.7-5.66l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.46.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07c-3.14-.01-5.67-2.57-5.66-5.71a5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.71Zm40.45.03a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Zm40.45.04a5.678 5.678 0 0 1-5.68 5.66h-.02l-17.73-.07a5.683 5.683 0 0 1-5.66-5.7 5.678 5.678 0 0 1 5.68-5.66h.02l17.73.07c3.14.01 5.67 2.57 5.66 5.7Z' /%3E%3C/svg%3E");
  --icon-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231d1d1b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2 12 12 2l10 10M12 22V2' /%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 38.65 57.92'%3E%3Cpath fill='%23c0ce34' stroke-width='0' d='M3.13 3.05C-.45 6.63-.45 12.43 3.13 16l12.95 12.95L3.13 41.91a9.168 9.168 0 0 0 0 12.95c3.57 3.58 9.37 3.58 12.95 0l19.43-19.43c3.58-3.58 3.58-9.38 0-12.95L16.08 3.05a9.15 9.15 0 0 0-12.95 0' /%3E%3C/svg%3E");
  --icon-button-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 19c-.26 0-.51-.1-.71-.29a.996.996 0 0 1 0-1.41l5.29-5.29-5.29-5.29A.996.996 0 1 1 9.7 5.31l6 6c.39.39.39 1.02 0 1.41l-6 6c-.2.2-.45.29-.71.29z' fill='%23fff' /%3E%3C/svg%3E");
  --icon-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 10c0 4.99-5.54 10.19-7.4 11.8a.99.99 0 0 1-1.2 0C9.54 20.19 4 14.99 4 10c0-4.42 3.58-8 8-8s8 3.58 8 8m-8-3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3Z' /%3E%3C/svg%3E");
  --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6v6l4 2M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2Z' /%3E%3C/svg%3E");
  --icon-files: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 2c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6 2.69-6 6-6Zm10.09 8.37a6.005 6.005 0 0 1 3.53 7.72 5.997 5.997 0 0 1-7.72 3.53A5.987 5.987 0 0 1 10.34 18M7 6h1v4m8.71 3.88.7.71-2.82 2.82' /%3E%3C/svg%3E");
  --icon-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V7l-5-5Zm-1 0v4c0 1.1.9 2 2 2h4' /%3E%3C/svg%3E");
  --icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.83 16.57c.43.2.93.07 1.21-.3l.35-.47c.38-.5.97-.8 1.6-.8h3c1.1 0 2 .9 2 2v3c0 1.1-.9 2-2 2C10.06 22 2 13.94 2 4c0-1.1.9-2 2-2h3c1.1 0 2 .9 2 2v3c0 .63-.3 1.22-.8 1.6l-.47.35c-.38.29-.5.8-.29 1.23 1.37 2.78 3.61 5.02 6.39 6.38' /%3E%3C/svg%3E");
  --icon-email: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m22 7-8.99 5.73c-.62.36-1.39.36-2.01 0L2 7m2-3h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2Z' /%3E%3C/svg%3E");
  --icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='prefix__Vrstva_1' version='1.1' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cstyle%3E.prefix__cls-1 %7B fill: none; stroke: %23000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px %7D %3C/style%3E%3C/defs%3E%3Cpath d='M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2Zm0 14v-4M12 8h.01' class='prefix__cls-1' /%3E%3C/svg%3E");
  --icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4.96 4.4h14.07a2.96 2.96 0 0 1 2.96 2.96v11.85a2.96 2.96 0 0 1-2.96 2.96H4.96A2.96 2.96 0 0 1 2 19.21V7.36A2.96 2.96 0 0 1 4.96 4.4Zm1.48 0V1.82M17.56 4.4V1.82M2 9.39h20m-14.5 3.9h-1 1Zm5 0h-1 1Zm5 0h-1 1Zm-10 4.17h-1 1Zm5 0h-1 1Zm5 0h-1 1Z' /%3E%3C/svg%3E");
  --icon-checked: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 16 13'%3E%3Cpath fill='%2369b4ba' stroke-width='0' d='M13.17.88c.55-.53 1.43-.51 1.95.05.5.53.51 1.36.02 1.89L7.8 12.05c-.52.56-1.39.59-1.95.07l-.04-.04L.94 7.2C.38 6.68.35 5.8.87 5.24s1.39-.59 1.95-.07l.07.07 3.85 3.87L13.13.92l.03-.04Z' /%3E%3C/svg%3E");
  --icon-hora-sportu-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51.51 34'%3E%3Cpath d='M49.09 19.92l-17.5-17.5c-3.22-3.22-8.45-3.22-11.67 0l-17.5 17.5c-3.22 3.22-3.22 8.45 0 11.67 3.22 3.22 8.45 3.22 11.67 0l11.67-11.67 11.67 11.67c3.22 3.22 8.45 3.22 11.67 0 3.22-3.22 3.22-8.45 0-11.67z' fill='%2369b4ba' /%3E%3C/svg%3E");
  --icon-arrow-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='9'%3E%3Cpath fill='none' stroke='%23FFF' stroke-linecap='round' stroke-width='2' d='m2.531 2.314 3.256 3.257 3.257-3.257' /%3E%3C/svg%3E");
  --icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 2a6.199 6.199 0 1 1 0 12.4A6.199 6.199 0 1 1 12 2Zm7.85 20c-1.3-2.42-4.33-4.11-7.85-4.11S5.45 19.58 4.15 22' /%3E%3C/svg%3E");
  --icon-button-registration: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'%3E%3C/path%3E%3Cpath d='M16 2v4'%3E%3C/path%3E%3Crect width='18' height='18' x='3' y='4' rx='2'%3E%3C/rect%3E%3Cpath d='M3 10h18'%3E%3C/path%3E%3Cpath d='m9 16 2 2 4-4'%3E%3C/path%3E%3C/svg%3E");
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.will-animate {
  --sa-duration: 600ms;
  --sa-delay: 0ms;
  --sa-easing: cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity var(--sa-duration) var(--sa-easing) var(--sa-delay), transform var(--sa-duration) var(--sa-easing) var(--sa-delay), filter var(--sa-duration) var(--sa-easing) var(--sa-delay);
  will-change: opacity, transform;
  backface-visibility: hidden;
}

.will-animate[data-animation=fadein] {
  opacity: 0;
}

.will-animate[data-animation=fadeup] {
  opacity: 0;
  transform: translateY(30px);
}

.will-animate[data-animation=fadedown] {
  opacity: 0;
  transform: translateY(-30px);
}

.will-animate[data-animation=fadeleft] {
  opacity: 0;
  transform: translateX(-60px);
}

.will-animate[data-animation=faderight] {
  opacity: 0;
  transform: translateX(60px);
}

.will-animate[data-animation=flip] {
  opacity: 0;
  transform: perspective(600px) rotateX(70deg);
  transform-origin: top center;
}

.will-animate[data-animation=flipx] {
  opacity: 0;
  transform: perspective(600px) rotateY(70deg);
  transform-origin: left center;
}

.will-animate[data-animation=zoom] {
  opacity: 0;
  transform: scale(0.75);
}

.will-animate[data-animation=zoomout] {
  opacity: 0;
  transform: scale(1.2);
}

.will-animate[data-animation=rotate] {
  opacity: 0;
  transform: rotate(-12deg) translateY(30px);
}

.will-animate[data-animation=blur] {
  opacity: 0;
  filter: blur(12px);
}

.will-animate[data-animation=slideup] {
  transform: translateY(60px);
  clip-path: inset(0 0 100% 0);
}

.will-animate.is-animated {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: none;
}

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-black));
  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-text);
  opacity: 0.75;
}

.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(--page-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.75) 0;
}
.section--normal {
  padding: calc(var(--gap) * 2.5) 0;
}
.section--bigger {
  padding: calc(var(--gap) * 3) 0;
}
.section--smaller-top {
  padding-top: calc(var(--gap) * 2);
}
.section--no-top {
  padding-top: 0;
}
.section--no-bottom {
  padding-bottom: 0;
}
.section--background {
  background-color: var(--color-background);
}
.section--overflow-hidden {
  overflow: hidden;
}

.section__background-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

.section__background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -1;
}
.section__background--parallax {
  will-change: transform;
  height: calc(100% + var(--parallax-height-multiplier, 0) * 1%);
  top: calc(var(--parallax-height-multiplier, 0) * -0.5%);
}

.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-medium);
  font-optical-sizing: auto;
  font-size: var(--font-size-15);
  line-height: 1.2;
  color: var(--color-primary);
  margin-top: 0 !important;
  margin-bottom: 0.25em !important;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  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;
}

.section-newsletter {
  background: linear-gradient(270deg, var(--color-secondary-light), #394781);
  background-size: 300% 300%;
  animation: gradientShift 20s ease infinite;
}
.section-newsletter .wp-block-columns {
  max-width: 1200px;
  margin-left: auto;
  margin-right: 0;
}
.section-newsletter .wp-block-heading {
  font-weight: var(--font-weight-medium);
}
.section-newsletter .wp-block-heading::before {
  --text-color: var(--color-primary);
}
.section-newsletter .wp-block-heading strong {
  display: block;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  color: var(--color-secondary);
}
.section-newsletter .section__background {
  opacity: 0.3;
}
.section-newsletter .wp-block-image {
  --image-width: clamp(240px, 30vw, 640px);
  position: absolute;
  left: calc(-2em - var(--image-width) / 2);
  bottom: calc(var(--gap) * -2.5);
  width: var(--image-width);
  z-index: -1;
}
@media screen and (max-width: 1360px) {
  .section-newsletter .wp-block-columns {
    margin-left: 10em;
  }
  .section-newsletter .wp-block-image {
    --image-width: 24em;
    left: -11em;
  }
}
@media screen and (max-width: 600px) {
  .section-newsletter .wp-block-columns {
    margin-left: auto;
    margin-right: auto;
  }
  .section-newsletter .wp-block-image {
    display: none;
  }
}

.button,
.wp-block-button {
  --button-text-color: var(--color-white);
  --button-text-color-hover: var(--color-white);
  --button-background-color: var(--color-primary);
  --button-background-color-hover: var(--color-secondary);
  --button-font-size: var(--font-size-18);
  --button-border-radius: 5em;
  --button-border-color: transparent;
  --button-border: 1px solid var(--button-border-color);
  --button-border-color-hover: transparent;
  --button-shadow: none;
  --button-shadow-hover: none;
  --button-padding: 0.8em 1.6em 0.7em;
}
.button--outline, .button.is-style-outline,
.wp-block-button--outline,
.wp-block-button.is-style-outline {
  --button-text-color: var(--color-white);
  --button-text-color-hover: var(--color-white);
  --button-border-color: var(--color-white);
  --button-border-color-hover: var(--color-primary);
  --button-background-color: transparent;
  --button-background-color-hover: var(--color-primary);
}
.button--arrow, .button.is-style-button-arrow,
.wp-block-button--arrow,
.wp-block-button.is-style-button-arrow {
  --button-padding: 0.5em 0.5em 0.5em 1.6em;
  --button-text-color: var(--color-black);
  --button-background-color: var(--color-white);
  --button-text-color-hover: var(--color-white);
  --button-background-color-hover: var(--color-primary);
  --button-arrow-color: var(--color-white);
  --button-arrow-color-hover: var(--color-primary);
  --button-arrow-background-color: var(--color-primary);
  --button-arrow-background-color-hover: var(--color-white);
}
.button--arrow-dark, .button.is-style-button-dark-arrow,
.wp-block-button--arrow-dark,
.wp-block-button.is-style-button-dark-arrow {
  --button-padding: 0.5em 0.5em 0.5em 1.6em;
  --button-text-color: var(--color-white);
  --button-background-color: var(--color-purple-dark);
  --button-text-color-hover: var(--color-white);
  --button-background-color-hover: var(--color-primary);
  --button-arrow-color: var(--color-white);
  --button-arrow-color-hover: var(--color-white);
  --button-arrow-background-color: var(--color-primary);
  --button-arrow-background-color-hover: var(--color-purple-dark);
}
.button--smaller,
.wp-block-button--smaller {
  --button-font-size: var(--font-size-16);
}
.button--tiny,
.wp-block-button--tiny {
  --button-font-size: var(--font-size-13);
  --button-padding: 0.4em 0.8em 0.45em;
}
.button--tiny.button--arrow,
.wp-block-button--tiny.button--arrow {
  --button-padding: 0.4em 0.4em 0.45em 0.8em;
}
.button--tiny.button--arrow::before,
.wp-block-button--tiny.button--arrow::before {
  right: 0.4em;
}
.button--white,
.wp-block-button--white {
  --button-text-color: var(--color-primary);
  --button-text-color-hover: var(--color-white);
  --button-background-color: var(--color-white);
  --button-background-color-hover: var(--color-primary);
}
.button--secondary,
.wp-block-button--secondary {
  --button-text-color: var(--color-white);
  --button-text-color-hover: var(--color-white);
  --button-background-color: var(--color-secondary);
  --button-background-color-hover: var(--color-primary);
  --button-border-color: var(--color-secondary);
  --button-border-color-hover: var(--color-primary);
}
.button--dark,
.wp-block-button--dark {
  --button-text-color: var(--color-white);
  --button-text-color-hover: var(--color-white);
  --button-background-color: var(--color-purple-dark);
  --button-background-color-hover: var(--color-primary);
}

.button,
.wp-block-button .wp-block-button__link {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  display: inline-block;
  padding: var(--button-padding);
  line-height: 1;
  font-size: var(--button-font-size, var(--font-size-16));
  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);
  text-transform: uppercase;
  font-weight: var(--font-weight-medium);
}
.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--arrow,
.is-style-button-arrow .wp-block-button__link,
.is-style-button-dark-arrow .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.75em;
}
.button--arrow::after,
.is-style-button-arrow .wp-block-button__link::after,
.is-style-button-dark-arrow .wp-block-button__link::after {
  content: "";
  width: 1.6em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--button-arrow-background-color, var(--button-text-color));
  transition: var(--transition);
  flex-shrink: 0;
}
.button--arrow::before,
.is-style-button-arrow .wp-block-button__link::before,
.is-style-button-dark-arrow .wp-block-button__link::before {
  content: "";
  width: 1.6em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  mask: var(--icon-button-arrow-right) 55% center/70% auto no-repeat;
  background-color: var(--button-arrow-color, var(--button-background-color));
  transition: var(--transition);
  right: 0.5em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  flex-shrink: 0;
}
.button--arrow:hover::after,
.is-style-button-arrow .wp-block-button__link:hover::after,
.is-style-button-dark-arrow .wp-block-button__link:hover::after {
  transform: translateX(1em);
  background-color: var(--button-arrow-background-color-hover, var(--button-text-color-hover));
}
.button--arrow:hover::before,
.is-style-button-arrow .wp-block-button__link:hover::before,
.is-style-button-dark-arrow .wp-block-button__link:hover::before {
  background-color: var(--button-arrow-color-hover, var(--button-background-color-hover));
  transform: translate(1em, -50%);
}

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

/* ----- Globální styly ----- */
.global-style p,
.global-style li {
  line-height: var(--line-height);
}
.global-style a:not([class]) {
  color: var(--color-text);
  text-decoration: underline;
  text-decoration-color: var(--color-primary);
}
.global-style a:not([class]):hover {
  color: var(--color-primary);
}
.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.9em;
}

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

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

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

.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-medium);
  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-primary);
  font-weight: var(--font-weight-bold);
  font-size: 1.25em;
}
.wp-block-heading em {
  font-style: normal;
  font-weight: var(--font-weight-semibold);
  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;
}
.wp-block-table table {
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
  overflow: hidden;
}
.wp-block-table thead {
  border: none !important;
}
.wp-block-table th {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-18);
  color: var(--color-secondary);
  background-color: var(--color-purple-dark);
  text-align: left;
  border: none;
  padding: 0.6em 1em 0.5em;
  text-transform: uppercase;
}
.wp-block-table td {
  font-size: var(--font-size-18);
  text-align: left;
  border: 1px solid var(--color-border);
  padding: 0.6em 1em;
}
.wp-block-table tr:nth-of-type(even) td {
  background-color: var(--color-background);
}
.wp-block-table tr:last-child td:first-child {
  border-bottom-left-radius: var(--border-radius-smaller);
}
.wp-block-table tr:last-child td:last-child {
  border-bottom-right-radius: var(--border-radius-smaller);
}
@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;
  }
  .wp-block-table.responsive-table tbody {
    display: grid;
    gap: 1em;
  }
  .wp-block-table.responsive-table tr {
    border: 1px solid var(--bs-border-color);
  }
}

/* ----- 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.5em;
  border-radius: 50%;
  background-color: var(--color-primary);
}

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-primary);
  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 {
  gap: calc(var(--gap) * 1.5);
}

.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 .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;
}
.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

/* ----- Galerie ----- */
.wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(var(--gap-smaller) * 1) !important;
  margin: var(--gap) auto;
}
.wp-block-gallery.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.wp-block-gallery.columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.wp-block-gallery.columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.wp-block-gallery.columns-6 {
  grid-template-columns: repeat(6, 1fr);
}
.wp-block-gallery.columns-7 {
  grid-template-columns: repeat(7, 1fr);
}
.wp-block-gallery.columns-8 {
  grid-template-columns: repeat(8, 1fr);
}
.wp-block-gallery .wp-block-image {
  aspect-ratio: 4/3;
  overflow: hidden;
  margin: 0;
  width: 100% !important;
  align-items: center;
  justify-content: center;
  display: flex;
}
.wp-block-gallery .wp-block-image a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-primary);
  opacity: 0;
  transition: var(--transition);
  z-index: 2;
}
.wp-block-gallery .wp-block-image:hover a::before {
  opacity: 0.5;
}
.wp-block-gallery .wp-block-image img {
  max-height: 100%;
}
.wp-block-gallery.is-cropped .wp-block-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1200px) {
  .wp-block-gallery.columns-5, .wp-block-gallery.columns-6, .wp-block-gallery.columns-7, .wp-block-gallery.columns-8 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1024px) {
  .wp-block-gallery.columns-4, .wp-block-gallery.columns-5, .wp-block-gallery.columns-6, .wp-block-gallery.columns-7, .wp-block-gallery.columns-8 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .wp-block-gallery {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media screen and (max-width: 480px) {
  .wp-block-gallery {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ----- 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) * 1.5);
}
.image-text__text {
  background-color: var(--item-color-background, transparent);
  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;
}
.image-text__image img[src$=".jpg"] {
  border-radius: var(--border-radius-bigger);
}
@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;
  }
  .image-text.is-style-box .image-text__text {
    margin-top: calc(var(--gap) * -1);
  }
  .image-text.is-style-box.image-text--image-left .image-text__text {
    margin-left: calc(var(--padding-on-side) * -1);
  }
  .image-text.is-style-box.image-text--image-right .image-text__text {
    margin-left: auto;
    margin-right: calc(var(--padding-on-side) * -1);
  }
}
@media screen and (min-width: 769px) {
  .image-text.is-style-box.image-text--image-left .image-text__text {
    margin-left: calc(var(--gap) * -2);
  }
  .image-text.is-style-box.image-text--image-right .image-text__text {
    margin-left: auto;
    margin-right: calc(var(--gap) * -2);
  }
}

.has-white-color {
  --text-color: var(--color-white);
  color: var(--color-white);
}
.has-secondary-color {
  --text-color: var(--color-secondary);
  color: var(--color-secondary);
}
.has-primary-color, .has-main-color {
  --text-color: var(--color-primary);
  color: var(--color-primary);
}

.has-background-color-background {
  background-color: var(--color-background);
}
.has-background-color-purple-dark {
  background-color: var(--color-purple-dark);
  --text-color: var(--color-white);
  --color-title: var(--color-white);
}
.has-background-gradient-purple-dark {
  background: var(--gradient-dark-purple);
}

@media screen and (min-width: 1024px) {
  .is-style-arrow {
    font-weight: var(--font-weight-bold);
    position: relative;
  }
  .is-style-arrow::before {
    content: "";
    position: absolute;
    top: 0.15em;
    left: -1em;
    width: 0.6em;
    height: 0.8em;
    background: var(--text-color, var(--color-primary));
    mask: var(--icon-arrow-right) center/contain no-repeat;
  }
}
.map iframe {
  width: 100%;
  height: 340px;
  border-radius: 0;
  border: none;
  border-bottom: 6px solid var(--color-primary);
}

ul.is-style-arrow-list li:before {
  width: 0.8em;
  height: 0.8em;
  aspect-ratio: 1/1;
  top: 0.25em;
  mask: var(--icon-hora-sportu-symbol) center/contain no-repeat;
  background-color: var(--color-secondary);
  border-radius: 0;
  transform: rotate(90deg);
}

.articles {
  margin-top: calc(var(--gap) * 1.5);
}
.articles--no-top {
  margin-top: 1em;
}
.articles--post, .articles--akce {
  --item-min-width: 320px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--item-min-width), 1fr));
  gap: clamp(10px, 5cqw, 30px);
}
.articles--sportoviste {
  --item-min-width: 360px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--item-min-width), 1fr));
  gap: clamp(10px, 5cqw, 30px);
}
.articles--zamestnanec {
  margin-top: var(--gap);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(10px, 5cqw, 30px);
}
.articles--blog_arena {
  --item-min-width: 580px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--item-min-width), 1fr));
  gap: clamp(10px, 5cqw, 30px);
  max-width: 1190px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 960px) {
  .articles--sportoviste {
    --item-min-width: 280px;
  }
}
@media screen and (max-width: 480px) {
  .articles--post, .articles--akce {
    --item-min-width: 140px;
  }
}
@media screen and (max-width: 640px) {
  .articles--sportoviste {
    justify-content: center;
    max-width: 467px;
    margin-left: auto;
    margin-right: auto;
  }
  .articles--blog_arena {
    --item-min-width: 300px;
  }
}

.article-default {
  max-width: 300px;
}
.article-default__inner {
  box-shadow: var(--shadow);
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
}
.article-default__content {
  padding: clamp(10px, 2cqw, 20px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.article-default__title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-20);
  line-height: 1;
  color: var(--color-primary);
  display: inline-block;
  transition: var(--transition);
}
.article-default__title:hover {
  color: var(--color-primary-darker);
}
.article-default__excerpt {
  font-size: var(--font-size-16);
  line-height: auto;
  color: var(--color-text);
  letter-spacing: 0.025em;
}

.post {
  box-shadow: var(--shadow);
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  max-width: 380px;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.post__thumbnail {
  --category-background-color: var(--color-secondary);
  overflow: hidden;
  position: relative;
  border-bottom: 2px solid var(--category-background-color);
  transition: var(--transition);
}
.post__thumbnail:hover {
  --category-background-color: var(--color-primary);
}
.post__thumbnail-category {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.post__thumbnail-category::before {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--category-background-color);
  width: 12em;
  aspect-ratio: 1/1;
  border-radius: 2.6em;
  transform: rotate(-45deg) translate(29%, -63%);
  top: -30px;
  left: 0;
  z-index: 1;
  transition: var(--transition);
}
.post__thumbnail-category-item {
  color: var(--color-white);
  text-transform: uppercase;
  z-index: 2;
  position: relative;
  top: 1em;
  left: 1em;
  font-size: var(--font-size-14);
  font-weight: var(--font-weight-bold);
}
.post__content {
  padding: clamp(10px, 3cqw, 30px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.post__meta {
  font-size: var(--font-size-14);
  color: var(--color-secondary);
  margin-bottom: 1.5em;
  letter-spacing: 0.025em;
  font-weight: var(--font-weight-light);
}
.post__meta-categories {
  padding-left: 0.75em;
  margin-left: 0.75em;
  border-left: 2px solid var(--color-secondary);
  display: inline-block;
}
.post__meta-category {
  color: var(--color-secondary);
  text-decoration: underline;
}
.post__meta-category:hover {
  color: var(--color-primary);
  text-decoration: none;
}
.post__title a {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-24);
  line-height: 1;
  margin: 0 0 0.5em;
  color: var(--color-primary);
  display: inline-block;
  text-decoration: none !important;
}
.post__title a:hover {
  color: var(--color-primary-darker);
}
.post__excerpt {
  font-size: var(--font-size-16);
  line-height: normal;
  color: var(--color-text);
  margin: 0 0 1.5em;
  letter-spacing: 0.025em;
}
.post__read-more {
  font-size: var(--font-size-16);
  color: var(--color-primary);
  text-decoration: underline;
}
.post__read-more:hover {
  text-decoration: none;
}

.blog-arena-post {
  background-color: var(--color-purple-dark);
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  max-width: 580px;
  box-shadow: var(--shadow);
}
.blog-arena-post__thumbnail {
  --category-background-color: var(--color-secondary);
  --category-text-color: var(--color-white);
  overflow: hidden;
  position: relative;
}
.blog-arena-post__thumbnail:hover {
  --category-background-color: var(--color-white);
  --category-text-color: var(--color-secondary);
}
.blog-arena-post__thumbnail-category {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.blog-arena-post__thumbnail-category::before {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--category-background-color);
  width: 12em;
  aspect-ratio: 1/1;
  border-radius: 2.6em;
  transform: rotate(-45deg) translate(29%, -63%);
  top: -30px;
  left: 0;
  z-index: 1;
  transition: var(--transition);
}
.blog-arena-post__thumbnail-category-item {
  color: var(--category-text-color);
  text-transform: uppercase;
  z-index: 2;
  position: relative;
  top: 1em;
  left: 1em;
  font-size: var(--font-size-14);
  font-weight: var(--font-weight-bold);
  transition: var(--transition);
}
.blog-arena-post__content {
  padding: clamp(10px, 3cqw, 30px);
  border-top: 2px solid var(--color-secondary);
}
.blog-arena-post__title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-24);
  line-height: 1;
  margin: 0 0 0.75em;
  color: var(--color-primary);
  display: inline-block;
}
.blog-arena-post__excerpt {
  font-size: var(--font-size-16);
  line-height: auto;
  color: var(--color-white);
  margin: 0;
  letter-spacing: 0.025em;
}
.blog-arena-post__thumbnail-date {
  position: absolute;
  top: 0.5em;
  right: 0;
  background-color: var(--color-white);
  color: var(--color-main);
  padding: 0.25em 0.5em;
  font-size: var(--font-size-14);
  z-index: 2;
}

.sport-facility {
  --card-border-radius: 2em;
  overflow: hidden;
  position: relative;
  border-radius: var(--card-border-radius);
  max-width: 467px;
  padding: 8px;
  background-color: #f3f9fa;
}
.sport-facility::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 64px;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2051.51%2034'%3E%3Cpath%20d='M49.09%2019.92l-17.5-17.5c-3.22-3.22-8.45-3.22-11.67%200l-17.5%2017.5c-3.22%203.22-3.22%208.45%200%2011.67%203.22%203.22%208.45%203.22%2011.67%200l11.67-11.67%2011.67%2011.67c3.22%203.22%208.45%203.22%2011.67%200%203.22-3.22%203.22-8.45%200-11.67z'%20fill='%2369b4ba'/%3E%3C/svg%3E");
  background-repeat: repeat-y;
  background-size: auto 32px;
  background-position: 100%;
  z-index: 1;
  opacity: 0.15;
}
.sport-facility__title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 1em 1em 4em;
  line-height: 1;
  background: linear-gradient(180deg, var(--color-purple-dark), rgba(44, 16, 54, 0));
  color: var(--color-white);
  text-transform: uppercase;
  z-index: 5;
  font-size: var(--font-size-30);
  text-align: center;
  font-weight: var(--font-weight-medium);
}
.sport-facility__thumbnail-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 3/2;
}
.sport-facility__thumbnail {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: var(--card-border-radius);
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.sport-facility__content {
  display: flex;
  flex-direction: column;
  gap: 1em;
  padding: 1.5em;
}
.sport-facility__excerpt {
  text-align: center;
}
.sport-facility__excerpt p {
  margin: 0;
  font-size: var(--font-size-18);
}
.sport-facility__content-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5em 1em;
}
.sport-facility__content-bottom .button {
  flex-grow: 1;
  --button-font-size: var(--font-size-16);
}

.featured-post {
  display: grid;
  margin: 0;
  align-items: center;
  grid-column: 1/-1;
  grid-template-columns: var(--media-width, 50%) 1fr;
  --media-order: 1;
  --text-order: 2;
  --media-width: 60%;
}
.featured-post__text {
  --item-color-background: var(--color-purple-dark);
  --color-text: var(--color-white);
  --color-title: var(--color-primary);
  color: var(--color-white);
  z-index: 2;
  padding: clamp(16px, 5cqw, 46px) clamp(20px, 5cqw, 60px);
  max-width: 600px;
  width: 100%;
  background-color: var(--item-color-background, transparent);
}
.featured-post__text > *:first-child {
  margin-top: 0;
}
.featured-post__text > *:last-child {
  margin-bottom: 0;
}
.featured-post__text {
  order: var(--text-order);
  border-radius: var(--border-radius);
}
.featured-post__text::after {
  content: "";
  position: absolute;
  top: 1.5em;
  right: 1.5em;
  width: 3em;
  aspect-ratio: 3/2;
  z-index: 1;
  mask: var(--icon-hora-sportu-symbol) center/contain no-repeat;
  background-color: var(--color-white);
  opacity: 0.1;
}
.featured-post__thumbnail {
  --category-background-color: var(--color-secondary);
  order: var(--media-order);
  overflow: hidden;
  position: relative;
  border-radius: var(--border-radius-bigger);
}
.featured-post__thumbnail:hover {
  --category-background-color: var(--color-primary);
}
.featured-post__thumbnail-category {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.featured-post__thumbnail-category::before {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--category-background-color);
  width: 12em;
  aspect-ratio: 1/1;
  border-radius: 2.6em;
  transform: rotate(-45deg) translate(29%, -63%);
  top: -30px;
  left: 0;
  z-index: 1;
  transition: var(--transition);
}
.featured-post__thumbnail-category-item {
  color: var(--color-white);
  text-transform: uppercase;
  z-index: 2;
  position: relative;
  top: 1em;
  left: 1em;
  font-size: var(--font-size-14);
  font-weight: var(--font-weight-bold);
}
.featured-post__thumbnail img {
  width: auto !important;
  margin-left: auto;
  margin-right: auto;
}
.featured-post__meta {
  font-size: var(--font-size-16);
  color: var(--color-text);
  margin-bottom: 1.5em;
  letter-spacing: 0.025em;
  font-weight: var(--font-weight-light);
}
.featured-post__meta-categories {
  padding-left: 0.75em;
  margin-left: 0.75em;
  border-left: 2px solid var(--color-text);
  display: inline-block;
}
.featured-post__meta-category {
  color: var(--color-text);
  text-decoration: underline;
}
.featured-post__meta-category:hover {
  color: var(--color-primary);
  text-decoration: none;
}
.featured-post__title a {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
  line-height: 1;
  margin: 0 0 0.5em;
  color: var(--color-primary);
  display: inline-block;
  text-decoration: none !important;
}
.featured-post__title a:hover {
  color: var(--color-primary-darker);
}
.featured-post__excerpt {
  font-size: var(--font-size-18);
  line-height: auto;
  color: var(--color-text);
  margin: 0 0 1.5em;
  letter-spacing: 0.025em;
}
.featured-post__read-more {
  font-size: var(--font-size-16);
  color: var(--color-primary);
  text-decoration: underline;
}
.featured-post__read-more:hover {
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  .featured-post__thumbnail {
    margin-right: calc(var(--gap) * -2);
  }
}
@media screen and (max-width: 768px) {
  .featured-post {
    grid-template-columns: 1fr;
  }
  .featured-post__text {
    margin-top: -2em;
    z-index: 5;
  }
  .featured-post__text::after {
    right: 1rem;
    top: 1rem;
    width: 2em;
  }
}

.employee {
  background: var(--gradient-dark-purple);
  padding: 8px;
  color: var(--color-white);
  border-radius: calc(var(--border-radius-bigger) * 1.25);
  position: relative;
  display: flex;
  max-width: 600px;
  width: 100%;
}
.employee::before {
  content: "";
  position: absolute;
  right: 1em;
  width: 3em;
  top: 0;
  bottom: 0;
  mask: var(--icon-hora-sportu-symbol) center/contain repeat-y;
  background-color: var(--color-white);
  opacity: 0.05;
  z-index: 1;
}
.employee__content {
  padding: 1em;
  flex-grow: 1;
}
.employee__photo {
  aspect-ratio: 1/1;
  z-index: 2;
  width: clamp(100px, 10cqw, 200px);
}
.employee__photo img {
  border-radius: var(--border-radius-bigger);
  overflow: hidden;
}
.employee__name {
  font-size: var(--font-size-24);
  font-weight: var(--font-weight-medium);
  margin-bottom: 0.15em;
}
.employee__position {
  font-size: var(--font-size-18);
  font-weight: var(--font-weight-regular);
  margin-bottom: 1em;
}
.employee__contact:not(:last-child) {
  margin-bottom: 0.25em;
}
.employee__contact--phone {
  --icon-contact: var(--icon-phone);
}
.employee__contact--email {
  --icon-contact: var(--icon-email);
}
.employee__contact a {
  display: inline-flex;
  align-items: center;
  gap: 0.75em;
  color: var(--color-white) !important;
  text-decoration: underline;
}
.employee__contact a::before {
  content: "";
  width: 1.2em;
  aspect-ratio: 1/1;
  mask: var(--icon-contact) center/contain no-repeat;
  background-color: var(--color-primary);
  flex-shrink: 0;
  transition: var(--transition);
}
.employee__contact a:hover {
  color: var(--color-primary) !important;
}

.calendar__events-list--empty {
  text-align: center;
  font-size: var(--font-size-20);
  color: var(--color-secondary);
  padding: 2em 1em;
}
.calendar__events-list-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 1.5em;
  justify-content: center;
}
.calendar__events-list-filter-btn {
  padding: 0.4em 1.1em;
  border: 2px solid var(--color-secondary);
  border-radius: 5em;
  background: transparent;
  color: var(--color-secondary);
  cursor: pointer;
  font-size: var(--font-size-14);
  transition: var(--transition);
  font-family: inherit;
}
.calendar__events-list-filter-btn:hover, .calendar__events-list-filter-btn.is-active {
  background-color: var(--color-secondary);
  color: var(--color-white);
}
.calendar__events-list-items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: clamp(10px, 5cqw, 30px);
}
.calendar__events-list-item {
  box-shadow: var(--shadow);
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  max-width: 380px;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.calendar__events-list-item--hidden {
  display: none;
}
.calendar__events-list-thumbnail {
  aspect-ratio: 2/1;
}
.calendar__events-list-thumbnail img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.calendar__events-list-content {
  padding: 1em;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  flex-grow: 1;
}
.calendar__events-list-meta {
  font-size: var(--font-size-14);
  color: var(--color-secondary);
  letter-spacing: 0.025em;
  font-weight: var(--font-weight-light);
}
.calendar__events-list-excerpt p {
  margin: 0;
  font-size: var(--font-size-16);
  line-height: 1.2;
}
.calendar__events-list-title strong {
  font-size: 1em;
  text-transform: lowercase;
}
.calendar__events-list-item-title a {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-20);
  line-height: 1;
  margin: 0;
  color: var(--color-title);
  display: inline-block;
  text-decoration: none !important;
}
.calendar__events-list-item-title a:hover {
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .calendar__events-list-items {
    --item-min-width: 140px;
  }
}

@font-face {
  font-family: "Veto Sans";
  src: url("../assets/fonts/VetoSans-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Veto Sans";
  src: url("../assets/fonts/VetoSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Veto Sans";
  src: url("../assets/fonts/VetoSans-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Veto Sans";
  src: url("../assets/fonts/VetoSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
#pixel-to-watch {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 10em;
  background-color: transparent;
  pointer-events: none;
}

.top-bar {
  --top-bar-margin-top: 2em;
  --logo-background-top: -3em;
  --logo-width: clamp(100px, 12cqw, 140px);
  z-index: 999;
  font-size: var(--font-size-14);
  background: var(--gradient-purple-primary);
  position: fixed;
  top: var(--top-bar-margin-top);
  left: 0;
  right: 0;
  padding: 0.75em 0;
  font-size: var(--font-size-18);
  transition: var(--transition);
}
.top-bar--sticky {
  position: sticky;
}
.top-bar.smaller {
  --top-bar-margin-top: 0;
  --logo-background-top: -0.75em;
  --logo-width: clamp(70px, 10cqw, 100px);
}
.top-bar__top-right-side {
  display: flex;
  align-items: center;
  gap: 1em;
}
.top-bar__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em var(--gap);
}
.top-bar__logo {
  flex-shrink: 0;
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.1));
}
.top-bar__logo::after {
  content: "";
  position: absolute;
  top: var(--logo-background-top);
  left: -140px;
  right: -140px;
  bottom: -60px;
  mask: var(--icon-under-logo) center top/contain no-repeat;
  background-color: var(--color-white);
  z-index: -1;
  transition: var(--transition);
}
.top-bar__logo img {
  transition: var(--transition);
  width: var(--logo-width);
}
.top-bar__menu {
  display: flex;
  justify-content: center;
  font-size: var(--font-size-18);
}
.top-bar__menu > li > a {
  color: var(--color-white);
  text-decoration: none;
  padding: 0.5em 1em;
  display: inline-block;
  text-transform: uppercase;
  font-weight: var(--font-weight-medium);
}
.top-bar__menu .current-menu-item a,
.top-bar__menu a:hover {
  opacity: 0.7;
}
.top-bar .menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
}
.top-bar .menu-item-has-children > a {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.top-bar .menu-item-has-children > a::after {
  content: "";
  display: block;
  width: 0.75em;
  height: 0.5em;
  mask: var(--icon-arrow-down) center/contain no-repeat;
  background-color: var(--color-white);
}
.top-bar .sub-menu {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  background-color: var(--color-secondary);
  padding: 0;
  z-index: 10;
  transition: var(--transition);
  min-width: 100%;
  border-radius: var(--border-radius-smaller);
  box-shadow: var(--shadow);
  top: calc(100% - 3px);
  overflow: hidden;
}
.top-bar .sub-menu a {
  font-size: var(--font-size-16);
  color: var(--color-white);
  cursor: pointer;
  white-space: nowrap;
  padding: 0.5em 1em;
  display: block;
}
.top-bar .sub-menu a:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.top-bar .sub-menu .current-menu-item > a:not(:hover) {
  background-color: var(--color-white);
  color: var(--color-secondary);
}
.top-bar__search {
  width: 2em;
  aspect-ratio: 1/1;
  mask: var(--icon-search) center/contain no-repeat;
  background-color: var(--color-white);
  transition: var(--transition);
  cursor: pointer;
}
.top-bar__search:hover {
  opacity: 0.7;
}
.top-bar__reservation-mobile {
  display: none;
}
.top-bar__mobile-menu {
  --menu-line-height: 4px;
  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-16);
  color: var(--color-white);
  font-weight: var(--bold);
  text-transform: uppercase;
  letter-spacing: -0.05em;
  position: relative;
  top: 0.1em;
}
.top-bar__mobile-menu-hamburger {
  width: 2em;
  height: 1.6em;
  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-white);
}
.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: 1600px) {
  .top-bar__menu {
    font-size: var(--font-size-16);
    margin-left: auto;
  }
  .top-bar__menu > li > a {
    padding: 0.5em 0.75em;
  }
  .top-bar__logo::after {
    left: -120px;
    right: -120px;
    bottom: -50px;
  }
  .top-bar__logo img {
    --logo-width: clamp(80px, 8cqw, 120px);
    margin-top: -0.5em;
    margin-bottom: -0.5em;
  }
}
@media screen and (max-width: 1360px) {
  .top-bar__button {
    display: none;
  }
  .top-bar__reservation-mobile {
    display: block;
    width: 2em;
    aspect-ratio: 1/1;
    mask: var(--icon-button-registration) center/contain no-repeat;
    background-color: var(--color-white);
  }
}
@media screen and (max-width: 1200px) {
  .top-bar {
    --top-bar-margin-top: 0;
  }
  .top-bar__menu {
    display: none;
  }
  .top-bar__mobile-menu {
    display: flex;
  }
}
@media screen and (max-width: 600px) {
  .top-bar__logo::after {
    left: -150px;
    bottom: -50px;
  }
}

.mobile-menu {
  --menu-padding: 2em;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--gradient-purple-primary);
  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;
}
.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-wrapper {
  height: calc(100% - var(--menu-padding) * 2);
  overflow: auto;
}
.mobile-menu__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 1em;
}
.mobile-menu__spacer {
  width: 100%;
}
.mobile-menu__menu {
  width: 100%;
}
.mobile-menu__menu > li {
  border-bottom: 1px solid rgba(var(--color-white-rgb), 0.25);
}
.mobile-menu__menu > li:last-child {
  border-bottom: none;
}
.mobile-menu__menu > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mobile-menu__menu > li > a {
  width: calc(100% - 4rem);
  order: 1;
}
.mobile-menu__menu a {
  color: var(--color-white);
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-24);
  padding: 0.5em 1.5em;
  display: inline-block;
}
.mobile-menu__menu .current-menu-item a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: var(--color-primary);
}
.mobile-menu .sub-menu {
  background-color: rgba(255, 255, 255, 0.25);
  border-top: 1px solid rgba(var(--color-primary-rgb), 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  height: 0;
  transition: var(--transition);
  order: 3;
  width: 100%;
}
.mobile-menu .sub-menu.visible {
  visibility: visible;
  opacity: 1;
}
.mobile-menu .sub-menu a {
  font-family: var(--font-basic);
  font-weight: var(--font-weight-regular);
  font-optical-sizing: auto;
  font-size: var(--font-size-20);
  padding: 0.5em 2em;
  display: block;
}
.mobile-menu .open-submenu {
  order: 2;
  flex-shrink: 0;
  right: 0;
  width: 4rem;
  overflow: hidden;
  border-left: 1px solid rgba(var(--color-white-rgb), 0.25);
}
.mobile-menu .open-submenu::after {
  height: 100%;
  width: 100%;
  content: "";
  mask: var(--icon-arrow-down) center/1em auto no-repeat;
  display: inline-block;
  background-color: var(--color-white);
  transition: var(--transition);
}
.mobile-menu .open-submenu.active::after {
  transform: rotate(180deg);
}
.mobile-menu__contacts {
  display: flex;
  gap: 0.75em 1.5em;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.mobile-menu__contact-item {
  --item-icon-opacity: 0.75;
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-weight: var(--font-weight-medium);
  color: var(--color-white);
}
.mobile-menu__contact-item::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  mask: var(--icon-item) center/contain no-repeat;
  background-color: var(--color-primary);
  opacity: var(--item-icon-opacity);
  transition: var(--transition);
}
.mobile-menu__contact-item:hover {
  --item-icon-opacity: 1;
}
.mobile-menu__contact-item--opening-hours {
  --icon-item: var(--icon-time);
}
.mobile-menu__contact-item--phone {
  --icon-item: var(--icon-phone);
}
.mobile-menu__contact-item--email {
  --icon-item: var(--icon-conversation);
}
.mobile-menu__contact-item a {
  color: var(--color-white);
  text-decoration: none;
  transition: var(--transition);
}
.mobile-menu__contact-item a:hover {
  color: var(--color-primary);
}
@media screen and (max-width: 1200px) {
  .mobile-menu {
    display: flex;
  }
}

.main-info {
  background-color: var(--color-black);
  color: var(--color-white);
  text-align: center;
  position: relative;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 300ms ease-out, opacity 300ms ease-out;
  padding: 0;
}
.main-info.visible {
  opacity: 1;
}
.main-info.closing {
  height: 0;
  opacity: 0;
}
.main-info__inner {
  padding: 1em var(--padding-on-side);
}
.main-info__text a {
  color: var(--color-primary);
  text-decoration: none;
  text-decoration-color: var(--color-white);
}
.main-info__text a:hover {
  text-decoration: underline;
  text-decoration-color: var(--color-white);
}
.main-info__close {
  --border-color: #646464;
  position: absolute;
  right: calc(var(--padding-on-side) - 1em);
  width: 1.4em;
  top: 0.9em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid var(--border-color);
  cursor: pointer;
  transition: var(--transition);
}
.main-info__close::before, .main-info__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 1px;
  background-color: var(--border-color);
  transform-origin: center;
  transition: var(--transition);
}
.main-info__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.main-info__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.main-info__close:hover {
  --border-color: var(--color-white);
}
@media screen and (max-width: 1024px) {
  .main-info__inner {
    text-align: left;
    padding-right: calc(var(--padding-on-side) + 3em);
  }
  .main-info__close {
    right: var(--padding-on-side);
  }
}

.js-important-notice-wrapper {
  position: relative;
}

#loader {
  position: fixed;
  top: 0;
  z-index: 9998;
  width: 100%;
  height: 100%;
  background: rgba(var(--color-purple-dark-rgb), 0.98);
  text-align: center;
  padding-top: 8rem;
}

.loader {
  width: 52px;
  height: 34px;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51.51 34"><path d="m49.09 19.92-17.5-17.5c-3.22-3.22-8.45-3.22-11.67 0l-17.5 17.5c-3.22 3.22-3.22 8.45 0 11.67 3.22 3.22 8.45 3.22 11.67 0l11.67-11.67 11.67 11.67c3.22 3.22 8.45 3.22 11.67 0 3.22-3.22 3.22-8.45 0-11.67Z" style="fill:%2369b4ba"/></svg>');
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.loader:after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  animation: l8 1s infinite;
}

@keyframes l8 {
  to {
    transform: scale(3);
    opacity: 0;
  }
}
.footer {
  color: var(--color-text);
}
.footer__top {
  background-color: var(--color-white);
  padding: calc(var(--gap) * 1.5) 0 calc(var(--gap) * 2);
}
.footer__bottom {
  color: var(--color-white);
  background-color: var(--color-main);
  padding: 2em 0;
  font-size: var(--font-size-16);
}
.footer__logo img {
  width: clamp(80px, 12cqw, 160px);
}
.footer__columns {
  display: flex;
  gap: clamp(20px, 5cqw, 50px);
}
.footer__column {
  flex-grow: 1;
}
.footer__column--first {
  flex-shrink: 0;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.footer__column--first img {
  width: clamp(90px, 10cqw, 120px);
}
.footer__column h6 {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-20);
  margin-bottom: 1em;
}
.footer__column p {
  font-size: var(--font-size-16);
  line-height: var(--line-height);
}
.footer__column p:not(:last-child) {
  margin-bottom: 1.5em;
}
.footer__column a {
  color: var(--color-secondary);
  text-decoration: underline;
}
.footer__column a:hover {
  color: var(--color-secondary-dark);
}
.footer__menu {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
.footer__menu a {
  display: block;
  color: var(--color-secondary);
  text-decoration: underline;
  font-size: var(--font-size-16);
}
.footer__menu a:hover {
  color: var(--color-secondary-dark);
}
.footer__socials {
  display: flex;
  gap: clamp(10px, 3cqw, 26px);
}
.footer__social-link {
  font-size: var(--font-size-48);
  width: 1em;
  aspect-ratio: 1/1;
  background-color: var(--color-primary);
  border-radius: 50%;
  margin-top: var(--gap);
}
.footer__social-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  mask: var(--icon-social) center/60% auto no-repeat;
  background-color: var(--color-text);
  transition: var(--transition);
}
.footer__social-link:hover {
  background-color: var(--color-white);
}
.footer__social-link:hover::before {
  background-color: var(--color-primary);
}
.footer__social-link--facebook {
  --icon-social: var(--icon-facebook);
}
.footer__social-link--instagram {
  --icon-social: var(--icon-instagram);
}
.footer__social-link--youtube {
  --icon-social: var(--icon-youtube);
}
.footer__claim {
  margin-top: 1.5em;
}
.footer__claim img {
  width: clamp(120px, 20cqw, 230px);
}
.footer__bottom-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  flex-wrap: wrap;
}
.footer__links {
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
}
.footer__links a {
  color: var(--color-white);
  text-decoration: none;
}
.footer__links a:hover {
  color: var(--color-white);
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .footer__columns {
    flex-wrap: wrap;
  }
  .footer__column--first {
    flex-basis: 100%;
  }
}
@media screen and (max-width: 480px) {
  .footer__columns {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2em;
  }
  .footer__columns h6 {
    margin-bottom: 0.5em;
  }
}

.nothing-found {
  text-align: center;
  font-size: var(--font-size-20);
  color: var(--color-primary);
  padding: 0.6em 1.2em;
}

@media screen and (min-width: 1024px) {
  .scroll-up {
    display: block;
    position: fixed;
    bottom: 1em;
    right: 1em;
    width: 2em;
    aspect-ratio: 1/1;
    background-color: var(--color-secondary);
    border-radius: 50%;
    transition: var(--transition);
    z-index: 99;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    opacity: 0.5;
  }
  .scroll-up.visible {
    opacity: 0.7;
    visibility: visible;
    pointer-events: auto;
  }
  .scroll-up:hover {
    opacity: 1;
  }
  .scroll-up::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    mask: var(--icon-arrow-up) center/50% auto no-repeat;
    background-color: var(--color-white);
  }
}
.services {
  --gap: 30px;
}

.sport-facility-detail {
  --logo-wrapper-size: clamp(100px, 12vw, 200px);
  --logo-wrapper-padding: clamp(10px, 2vw, 20px);
  --header-height: clamp(500px, 60dvh, 800px);
}
.sport-facility-detail__header {
  position: relative;
  min-height: var(--header-height);
  overflow: hidden;
}
.sport-facility-detail__header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-purple-dark);
  opacity: 0.5;
  mix-blend-mode: darken;
  z-index: 2;
}
.sport-facility-detail__header-content {
  display: flex;
  align-items: center;
  min-height: var(--header-height);
}
.sport-facility-detail__header-content-inner {
  position: relative;
  z-index: 3;
  color: var(--color-white);
  padding: clamp(60px, 10cqw, 120px) 0 clamp(20px, 5cqw, 60px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
  font-size: var(--font-size-24);
  max-width: 740px;
}
.sport-facility-detail__header-button {
  --button-font-size: var(--font-size-20);
  font-weight: var(--font-weight-medium);
  margin-top: 0.5em;
}
.sport-facility-detail__video-wrapper {
  z-index: 1;
}
.sport-facility-detail__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-72);
}
.sport-facility-detail__title strong {
  color: var(--color-primary);
}
.sport-facility-detail__excerpt {
  font-size: var(--font-size-24);
  line-height: var(--line-height);
}
.sport-facility-detail__logo-wrapper {
  position: absolute;
  z-index: 5;
  width: var(--logo-wrapper-size);
  height: var(--logo-wrapper-size);
  padding: var(--logo-wrapper-padding);
  padding-bottom: calc(var(--logo-wrapper-padding) * 2);
  right: 6em;
  top: 0;
}
.sport-facility-detail__logo-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 200%;
  aspect-ratio: 1/1;
  background-color: var(--color-white);
  border-radius: 3em;
  transform: rotate(45deg) translate(-62%, -24%);
}
.sport-facility-detail__logo {
  z-index: 10;
  margin: 0 auto;
  position: relative;
  height: 100%;
  width: auto;
}
@media screen and (max-width: 1024px) {
  .sport-facility-detail__header-content {
    align-items: flex-end;
  }
}
@media screen and (max-width: 660px) {
  .sport-facility-detail__logo-wrapper {
    right: 1em;
  }
}

.sport-facility-info {
  background-color: var(--color-purple-dark);
  background: var(--gradient-purple-primary);
  color: var(--color-white);
  border-radius: var(--border-radius);
}
.sport-facility-info::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: url(../assets/images/newsletter-bg.webp) center right/cover no-repeat;
  opacity: 0.5;
  z-index: 0;
  border-radius: var(--border-radius);
}
.sport-facility-info__inner {
  padding: clamp(20px, 6cqw, 60px) clamp(16px, 4cqw, 50px);
  display: flex;
  gap: 2em;
  justify-content: space-between;
  z-index: 2;
}
.sport-facility-info__left > *:first-child {
  margin-top: 0;
}
.sport-facility-info__left > *:last-child {
  margin-bottom: 0;
}
.sport-facility-info__logo {
  width: clamp(60px, 10cqw, 120px);
  flex-shrink: 0;
}
.sport-facility-info__title {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5em;
  font-size: var(--font-size-24);
  font-weight: var(--font-weight-medium);
  border-bottom: 3px solid var(--color-secondary);
  padding-bottom: 0.2em;
  margin: 1.5em 0 0.75em 0;
}
.sport-facility-info__title::before {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  mask: var(--icon-title) center/contain no-repeat;
  background-color: var(--color-secondary);
  flex-shrink: 0;
}
.sport-facility-info__title--address {
  --icon-title: var(--icon-pin);
}
.sport-facility-info__title--opening-hours {
  --icon-title: var(--icon-time);
}
.sport-facility-info__title--files {
  --icon-title: var(--icon-files);
}
.sport-facility-info__file-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  color: var(--color-white);
  text-decoration: underline;
}
.sport-facility-info__file-link::before {
  content: "";
  width: 1em;
  aspect-ratio: 1/1;
  mask: var(--icon-file) center/contain no-repeat;
  background-color: var(--color-white);
  flex-shrink: 0;
  transition: var(--transition);
}
.sport-facility-info__file-link:hover {
  color: var(--color-primary);
}
.sport-facility-info__file-link:hover::before {
  background-color: var(--color-primary);
}
.sport-facility-info table td {
  padding: 0.1em 2em 0.1em 0;
}
.sport-facility-info p {
  margin: 0;
}
@media screen and (min-width: 1600px) {
  .sport-facility-info {
    margin-top: -8em !important;
    min-width: 540px;
  }
}

.sport-facility-map {
  height: clamp(240px, 50dvh, 400px);
  z-index: 1;
}
.sport-facility-map .map-bubble__content {
  margin: 0;
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-16);
  color: var(--color-text);
}
.sport-facility-map .map-bubble__content h4 {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-20);
  margin-bottom: 0.5em;
}
.sport-facility-map .map-bubble__button-wrapper {
  margin-top: 1em;
}
.sport-facility-map .map-bubble__button-wrapper .button {
  --button-text-color: var(--color-white);
  color: var(--button-text-color);
}

.leaflet-control-container {
  position: absolute;
  width: 100%;
  height: 100%;
}

.leaflet-tile-pane {
  filter: grayscale(1);
}

.leaflet-map-interaction-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  color: var(--color-white);
  font-size: var(--font-size-18);
  font-weight: var(--font-weight-bold);
  pointer-events: none;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.2s;
  border-radius: inherit;
  text-align: center;
  padding: var(--padding-on-side);
}

.pagination__item a {
  border-radius: 0 !important;
}

.sport-facilities-with-contacts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: clamp(20px, 5cqw, 30px);
}
.sport-facilities-with-contacts__item {
  background: linear-gradient(0, var(--color-purple-dark), #611b8a);
  border-radius: var(--border-radius);
  color: var(--color-white);
  display: flex;
  flex-direction: column;
}
.sport-facilities-with-contacts__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: url(../assets/images/newsletter-bg.webp) center right/cover no-repeat;
  opacity: 0.35;
  z-index: 0;
  border-radius: var(--border-radius);
}
.sport-facilities-with-contacts__content {
  padding: clamp(10px, 3cqw, 30px);
  padding-bottom: clamp(10px, 3cqw, 20px);
  flex-grow: 1;
  z-index: 5;
}
.sport-facilities-with-contacts__name-link {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-30);
  color: var(--color-white);
  text-decoration: none;
}
.sport-facilities-with-contacts__name-link:hover {
  color: var(--color-primary);
}
.sport-facilities-with-contacts__content-top {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  margin: 1em 0;
}
.sport-facilities-with-contacts__contact-item {
  font-size: var(--font-size-16);
  display: flex;
  align-items: center;
  gap: 0.75em;
}
.sport-facilities-with-contacts__contact-item a {
  color: var(--color-white) !important;
}
.sport-facilities-with-contacts__contact-item::before {
  content: "";
  width: var(--font-size-16);
  flex-shrink: 0;
  aspect-ratio: 1/1;
  mask: var(--icon-contact) center/contain no-repeat;
  background-color: var(--color-primary);
}
.sport-facilities-with-contacts__contact-item--name {
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-18);
  --icon-contact: var(--icon-user);
}
.sport-facilities-with-contacts__contact-item--phone a, .sport-facilities-with-contacts__contact-item--email a {
  text-decoration: none;
}
.sport-facilities-with-contacts__contact-item--phone a:hover, .sport-facilities-with-contacts__contact-item--email a:hover {
  text-decoration: underline;
}
.sport-facilities-with-contacts__contact-item--phone {
  --icon-contact: var(--icon-phone);
}
.sport-facilities-with-contacts__contact-item--email {
  --icon-contact: var(--icon-email);
}
.sport-facilities-with-contacts__contact-item--email-general {
  border-top: 1px solid rgba(var(--color-secondary-rgb), 0.25);
  padding-top: 0.5em;
  margin-top: 0.5em;
}
.sport-facilities-with-contacts__buttons {
  display: flex;
  margin-top: 0.5em;
}
.sport-facilities-with-contacts__buttons .button {
  flex-grow: 1;
  --button-font-size: var(--font-size-16);
}

.facility-status {
  display: flex;
  align-items: center;
  gap: 0.75em;
  padding: 0.5em 1.25em;
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-16);
  transition: all 300ms ease;
}
.facility-status__indicator {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  box-shadow: 0 0 0 0 currentColor;
  animation: pulse 2s infinite;
}
.facility-status {
  /* Stav: Otevřeno */
}
.facility-status.is-open {
  background-color: rgba(34, 197, 94, 0.1);
  color: rgb(34, 197, 94);
}
.facility-status.is-open .facility-status__indicator {
  background-color: rgb(34, 197, 94);
  animation: pulse-green 2s infinite;
}
.facility-status {
  /* Stav: Zavřeno */
}
.facility-status.is-closed {
  background-color: rgba(239, 68, 68, 0.1);
  color: rgb(239, 68, 68);
}
.facility-status.is-closed .facility-status__indicator {
  background-color: rgb(239, 68, 68);
  animation: pulse-red 2s infinite;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 currentColor;
  }
  70% {
    box-shadow: 0 0 0 6px rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}
@keyframes pulse-green {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(34, 197, 94, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}
@keyframes pulse-red {
  0% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(239, 68, 68, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
  }
}
.swiper-hero {
  min-height: 50vh;
  position: relative;
  z-index: 2;
  background: var(--gradient-dark-purple);
}
.swiper-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}
.swiper-hero .slide-inner {
  position: relative;
  z-index: 20;
}
@media screen and (max-width: 1200px) {
  .swiper-hero {
    min-height: auto;
  }
}

.autoplay-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: rgba(var(--color-secondary-rgb), 0.2);
  overflow: hidden;
  z-index: 5;
}
.autoplay-progress span {
  display: block;
  height: 100%;
  background: var(--color-secondary);
  width: 0%;
}

.single-post__header {
  z-index: 3;
}
.single-post__header-content {
  display: flex;
  align-items: flex-end;
}
.single-post__header-content-inner {
  flex-grow: 1;
  padding: clamp(30px, 6cqw, 60px);
  background-color: var(--color-purple-dark);
  background: var(--gradient-dark-purple);
  color: var(--color-white);
  margin-bottom: calc(var(--gap) * -1);
  z-index: 3;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}
.single-post__header-image-wrapper {
  flex-shrink: 0;
  flex-basis: 60%;
  margin-left: calc(var(--gap) * -2);
  height: 520px;
  margin-top: 1em;
  position: relative;
}
.single-post__header-image-wrapper img {
  border-radius: var(--border-radius-bigger);
}
.single-post__title {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-36);
  margin-bottom: 0.5em;
}
.single-post__excerpt {
  font-size: var(--font-size-20);
  line-height: var(--line-height);
}
.single-post__meta {
  margin-top: 1em;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.single-post__meta-item {
  display: flex;
  align-items: center;
  font-size: var(--font-size-16);
  color: var(--color-white);
  gap: 0.5em;
}
.single-post__meta-item::before {
  content: "";
  width: 1em;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  mask: var(--icon-meta) center/contain no-repeat;
  background-color: var(--color-primary);
}
.single-post__meta-item--bigger {
  font-size: var(--font-size-20);
  font-weight: var(--font-weight-medium);
}
.single-post__meta-item--date {
  --icon-meta: var(--icon-calendar);
}
.single-post__meta-item--author {
  --icon-meta: var(--icon-user);
}
.single-post__meta-item--categories {
  --icon-meta: var(--icon-category);
}
.single-post__meta-item--calendar-link {
  --icon-meta: var(--icon-arrow-right);
  margin-top: 1em;
}
.single-post__meta-item--calendar-link::before {
  transform: rotate(180deg);
}
.single-post__meta-item--calendar-link a {
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
}
.single-post__meta-item--calendar-link a:hover {
  color: var(--color-primary);
}
.single-post__meta-item--location {
  --icon-meta: var(--icon-pin);
}
.single-post__meta-category {
  color: var(--color-white);
  text-decoration: underline;
}
.single-post__meta-category:hover {
  color: var(--color-primary);
}
@media screen and (min-width: 1400px) {
  .single-post .image-text {
    margin-left: calc(var(--gap) * -2);
    margin-right: calc(var(--gap) * -2);
  }
}
@media screen and (max-width: 960px) {
  .single-post__header-content {
    flex-wrap: wrap;
  }
  .single-post__header-image-wrapper {
    flex-basis: 100%;
    margin-left: 0;
    height: 300px;
  }
  .single-post__header-content-inner {
    order: 2;
    margin-bottom: 0;
    margin-top: calc(var(--gap) * -1) !important;
    margin-left: calc(var(--padding-on-side) * -1);
    margin-right: calc(var(--padding-on-side) * 1);
  }
}
@media screen and (max-width: 480px) {
  .single-post__header-image-wrapper {
    height: 240px;
  }
}

.logos .wp-block-image {
  filter: grayscale(1);
  opacity: 0.75;
  transition: var(--transition);
}
.logos .wp-block-image:hover:has(a) {
  filter: grayscale(0);
  opacity: 1;
}

.pop-up {
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--gap);
  background-color: rgba(0, 0, 0, 0.85);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
  color: var(--color-main);
}
.pop-up.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.pop-up__wrapper {
  background-color: var(--color-white);
  max-width: var(--content-small);
  padding: calc(var(--gap) * 2);
  scrollbar-color: #ccc #f4f4f4;
  scrollbar-width: thin;
}
.pop-up__wrapper::-webkit-scrollbar {
  width: 0.8rem;
  background: #ccc;
}
.pop-up__wrapper::-webkit-scrollbar-thumb {
  background: #f4f4f4;
  border-radius: 0.4rem;
}
.pop-up__wrapper {
  overflow: auto;
  width: 100%;
  max-height: calc(100vh - var(--gap) * 2);
  border-radius: var(--border-radius);
}
.pop-up__wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1em;
  width: 64px;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2051.51%2034'%3E%3Cpath%20d='M49.09%2019.92l-17.5-17.5c-3.22-3.22-8.45-3.22-11.67%200l-17.5%2017.5c-3.22%203.22-3.22%208.45%200%2011.67%203.22%203.22%208.45%203.22%2011.67%200l11.67-11.67%2011.67%2011.67c3.22%203.22%208.45%203.22%2011.67%200%203.22-3.22%203.22-8.45%200-11.67z'%20fill='%2369b4ba'/%3E%3C/svg%3E");
  background-repeat: repeat-y;
  background-size: auto 32px;
  background-position: 100%;
  z-index: 1;
  opacity: 0.15;
}
.pop-up__helper {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.pop-up__close {
  --size: 1.5em;
  position: absolute;
  top: calc(var(--size) * -1.5);
  right: calc(var(--size) * -1.5);
  width: var(--size);
  height: var(--size);
  cursor: pointer;
  transition: var(--transition);
  z-index: 5;
  --close-color: var(--color-main);
  --height: 0.16em;
}
.pop-up__close:hover {
  --close-color: var(--color-primary);
}
.pop-up__close:hover span:nth-child(1) {
  transform: rotate(-135deg);
}
.pop-up__close:hover span:nth-child(2) {
  transform: rotate(135deg);
}
.pop-up__close span {
  width: 100%;
  height: var(--height);
  background-color: var(--close-color);
  display: block;
  border-radius: 1em;
  transform-origin: center;
  position: absolute;
  top: calc(50% - var(--height) / 2);
  left: 0;
  transition: var(--transition);
}
.pop-up__close span:nth-child(1) {
  transform: rotate(45deg);
}
.pop-up__close span:nth-child(2) {
  transform: rotate(-45deg);
}
.pop-up__content > *:first-child {
  margin-top: 0;
}
.pop-up__content > *:last-child {
  margin-bottom: 0;
}

.main-search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: 1000;
  padding: clamp(10px, 8cqw, 1em);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
}
.main-search.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.main-search__form {
  display: flex;
  gap: 1em;
  transition: var(--transition);
  max-width: var(--content-regular);
  width: 100%;
  max-width: 600px;
  background-color: var(--color-background);
  padding: clamp(10px, 8cqw, 1em);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  margin: 0 auto;
}
.main-search__input {
  border: 1px solid #ccc !important;
}
.main-search__submit {
  --button-icon: var(--icon-search);
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.main-search__submit::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  mask: var(--button-icon) center/contain no-repeat;
  background-color: var(--color-white);
}
.main-search__submit.loading {
  --button-icon: var(--icon-loading);
}
.main-search__submit.loading::before {
  animation: spin 1s linear infinite;
}