@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: 0;
  --border-radius: 0;
  --border-radius-bigger: 0;
  --content-small: 960px;
  --content-regular: 1200px;
  --content-big: 1720px;
  --font-weight-thin: 100;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --line-height: 1.5;
  --letter-spacing: normal;
  --font-size-10: 10px;
  --font-size-12: 12px;
  --font-size-13: 13px;
  --font-size-14: 14px;
  --font-size-15: 15px;
  --font-size-16: 16px;
  --font-size-18: 18px;
  --font-size-20: 20px;
  --font-size-24: 24px;
  --font-size-28: 28px;
  --font-size-30: 30px;
  --font-size-36: 40px;
  --font-size-48: 54px;
  --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: #535353;
  --color-title: #535353;
  --color-main: #bccf00;
  --color-primary: #bccf00;
  --color-primary-darker: #869500;
  --color-secondary: #5c5c5c;
  --color-hora-sportu: #69b4ba;
  --color-background: #fafafa;
  --color-border: #ddd;
  --linear-gradient: linear-gradient(80deg, var(--color-hora-sportu) 0%, var(--color-secondary) 28%, var(--color-secondary) 56%, var(--color-primary) 100%) var(--color-background);
  --linear-gradient-green: linear-gradient(90deg, #758200 0%, var(--color-primary) 100%);
  --color-text-rgb: 83, 83, 83;
  --color-primary-rgb: 188, 207, 0;
  --color-secondary-rgb: 92, 92, 92;
  --color-hora-sportu-rgb: 105, 180, 186;
}

@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-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 16 16'%3E%3Cpath stroke-width='0' d='M11.74 10.34a6.513 6.513 0 0 0-1.4-9.09C7.45-.86 3.38-.24 1.26 2.66a6.482 6.482 0 0 0 1.4 9.08 6.497 6.497 0 0 0 7.69 0s.06.08.1.11l3.85 3.85a.996.996 0 1 0 1.41-1.41l-3.85-3.85s-.07-.07-.11-.1ZM12 6.5C12 9.54 9.54 12 6.5 12S1 9.54 1 6.5 3.46 1 6.5 1 12 3.46 12 6.5' /%3E%3C/svg%3E");
  --icon-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 64.87 64.87'%3E%3Cpath fill='%23c0ce2e' stroke-width='0' d='M39.74 12.94h6.54V2.44h-8.36c-8.99 0-13.05 3.96-13.05 11.54v8.08h-6.28v10.26h6.28v30.12h12.08V32.19h8.43l.9-10.13h-9.33v-5.78c0-2.39.49-3.33 2.79-3.33Z' /%3E%3C/svg%3E");
  --icon-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 64.87 64.87'%3E%3Cpath fill='%23c0ce2e' stroke-width='0' d='M52.05 16.41c0 1.98-1.61 3.59-3.59 3.59s-3.59-1.61-3.59-3.59 1.61-3.59 3.59-3.59 3.59 1.61 3.59 3.59Zm-4.2 16.03c0 8.52-6.89 15.41-15.41 15.41s-15.41-6.89-15.41-15.41 6.91-15.41 15.41-15.41 15.41 6.89 15.41 15.41Zm-5.42 0c0-5.52-4.47-9.99-9.99-9.99s-9.99 4.47-9.99 9.99 4.47 9.99 9.99 9.99 9.99-4.47 9.99-9.99Zm18.43-19.66c.75 1.9 1.26 4.08 1.39 7.28s.18 4.22.18 12.37-.04 9.17-.18 12.37c-.14 3.2-.65 5.38-1.39 7.28-.77 1.98-1.79 3.65-3.46 5.32s-3.34 2.69-5.32 3.46c-1.9.75-4.08 1.26-7.28 1.39-3.2.14-4.22.18-12.37.18s-9.17-.04-12.37-.18c-3.2-.14-5.38-.65-7.28-1.39-1.98-.77-3.65-1.79-5.32-3.46-1.67-1.67-2.69-3.36-3.46-5.32-.75-1.9-1.26-4.08-1.39-7.28-.14-3.2-.18-4.22-.18-12.37s.04-9.17.18-12.37c.14-3.2.65-5.38 1.39-7.28.77-1.98 1.79-3.65 3.46-5.32C9.13 5.79 10.82 4.77 12.78 4c1.9-.75 4.08-1.26 7.28-1.39 3.2-.14 4.22-.18 12.37-.18s9.17.04 12.37.18c3.2.14 5.38.65 7.28 1.39 1.98.77 3.65 1.79 5.32 3.46 1.67 1.67 2.69 3.36 3.46 5.32Zm-3.82 19.66c0-8.01-.04-8.95-.18-12.11-.14-2.93-.63-4.52-1.04-5.58-.53-1.41-1.2-2.41-2.24-3.46-1.06-1.04-2.06-1.69-3.46-2.24-1.06-.41-2.65-.9-5.58-1.04-3.16-.14-4.1-.18-12.11-.18s-8.95.04-12.11.18c-2.93.14-4.52.63-5.58 1.04-1.41.53-2.41 1.2-3.46 2.24-1.04 1.06-1.69 2.06-2.24 3.46-.41 1.06-.9 2.65-1.04 5.58-.14 3.16-.18 4.1-.18 12.11s.04 8.95.18 12.11c.14 2.93.63 4.52 1.04 5.58.53 1.41 1.2 2.41 2.24 3.46 1.06 1.04 2.06 1.69 3.46 2.24 1.06.41 2.65.9 5.58 1.04 3.16.14 4.1.18 12.11.18s8.95-.04 12.11-.18c2.93-.14 4.52-.63 5.58-1.04 1.41-.53 2.41-1.18 3.46-2.24 1.04-1.06 1.69-2.06 2.24-3.46.41-1.06.9-2.65 1.04-5.58.14-3.16.18-4.1.18-12.11Z' /%3E%3C/svg%3E");
  --icon-youtube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 64.87 64.87'%3E%3Cpath fill='%23c0ce2e' stroke-width='0' d='M14.9 11.21c-6.88 0-12.46 5.58-12.46 12.46V41.2c0 6.88 5.58 12.46 12.46 12.46h35.08c6.88 0 12.46-5.58 12.46-12.46V23.67c0-6.88-5.58-12.46-12.46-12.46H14.9Zm26.67 22.08h-.02l-16.4 7.83c-.43.22-.95-.12-.95-.59V24.38c0-.49.51-.81.97-.59l16.4 8.32c.49.26.47.95 0 1.18Z' /%3E%3C/svg%3E");
  --icon-v-dot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 57.16 57.16'%3E%3Cpath fill='%23c0ce34' stroke-width='0' d='M35.06 15.63a9.168 9.168 0 0 0 0-12.95 9.15 9.15 0 0 0-12.95 0 9.15 9.15 0 0 0 0 12.95c3.58 3.58 9.38 3.58 12.95 0m19.42 6.48c-3.58-3.58-9.38-3.58-12.95 0L28.58 35.06 15.63 22.11c-3.58-3.58-9.37-3.58-12.95 0s-3.58 9.37 0 12.95l19.43 19.43c3.58 3.58 9.38 3.58 12.95 0l19.43-19.43a9.15 9.15 0 0 0 0-12.95' /%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-arrow-right-in-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 16 16'%3E%3Cpath fill='%23bccf00' stroke-width='0' d='M8 0c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8M4.5 7.5c-.28 0-.5.22-.5.5s.22.5.5.5h5.79l-2.15 2.15c-.2.2-.2.51 0 .71s.51.2.71 0l3-3c.2-.2.2-.51 0-.71l-3-3c-.2-.2-.51-.2-.71 0s-.2.51 0 .71l2.15 2.15H4.5Z' /%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-category: 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.03 6.12c1.07 0 1.91.87 1.91 1.91s-.87 1.91-1.91 1.91-1.91-.87-1.91-1.91.85-1.91 1.91-1.91ZM2 5.53v4.55c0 .63.25 1.24.69 1.68l9.55 9.55c.93.93 2.43.93 3.37 0h0l5.69-5.68c.93-.93.93-2.43 0-3.37h0L11.75 2.7c-.44-.44-1.05-.69-1.68-.69H5.52A3.506 3.506 0 0 0 2 5.53Z' /%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-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");
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
input:not([type=search]),
textarea,
select {
  padding: 0.7em 2em 0.7em 1em;
  font-size: var(--form-input-font-size, var(--font-size-18));
  background: var(--form-input-background-color, var(--color-white));
  color: var(--form-input-text-color, var(--color-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-secondary);
  opacity: 0.75;
  text-transform: uppercase;
}

.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__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;
}

.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-primary-darker);
  --button-font-size: var(--font-size-16);
  --button-border-radius: 0;
  --button-border-color: var(--color-primary);
  --button-border: 1px solid var(--button-border-color);
  --button-border-color-hover: var(--color-primary-darker);
  --button-shadow: none;
  --button-shadow-hover: none;
  --button-padding: 0.6em 1em 0.5em;
}
.button--outline, .button.is-style-outline,
.wp-block-button--outline,
.wp-block-button.is-style-outline {
  --button-text-color: var(--color-text);
  --button-text-color-hover: var(--color-white);
  --button-border-color: var(--color-text);
  --button-border-color-hover: var(--color-primary);
  --button-background-color: transparent;
  --button-background-color-hover: var(--color-primary);
}
.button--outline-green,
.wp-block-button--outline-green {
  --button-text-color: var(--color-primary);
  --button-text-color-hover: var(--color-white);
  --button-border-color: var(--color-primary);
  --button-border-color-hover: var(--color-primary-darker);
  --button-background-color: transparent;
  --button-background-color-hover: var(--color-primary);
}
.button--outline-white,
.wp-block-button--outline-white {
  --button-text-color: var(--color-white);
  --button-text-color-hover: var(--color-primary);
  --button-border-color: var(--color-white);
  --button-border-color-hover: var(--color-primary);
  --button-background-color: transparent;
  --button-background-color-hover: var(--color-white);
}
.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--white,
.wp-block-button--white {
  --button-text-color: var(--color-main);
  --button-text-color-hover: var(--color-white);
  --button-background-color: var(--color-white);
  --button-background-color-hover: var(--color-tertiary);
}
.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,
.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;
}
.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));
}

.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-light);
  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-medium);
  font-size: 1.25em;
}
.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);
  text-transform: uppercase;
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
}

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

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

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

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

/* ----- Tabulky ----- */
.wp-block-table {
  margin: var(--margins) 0;
  overflow: inherit;
}
.wp-block-table table {
  border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
}
.wp-block-table th {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-medium);
  font-optical-sizing: auto;
  letter-spacing: var(--letter-spacing);
  font-size: var(--font-size-18);
  color: var(--color-white);
  background-color: var(--color-main);
  text-align: left;
  border: none;
  padding: 0.6em 1em;
  text-transform: uppercase;
}
.wp-block-table td {
  font-size: var(--font-size-18);
  text-align: left;
  border: none !important;
  padding: 0.6em 1em;
}
.wp-block-table tr:nth-of-type(even) td {
  background-color: var(--color-background);
}
@media screen and (max-width: 768px) {
  .wp-block-table.responsive-table thead {
    display: none;
  }
  .wp-block-table.responsive-table td {
    display: flex;
    justify-content: space-between;
    gap: 0 1em;
  }
  .wp-block-table.responsive-table td div {
    text-align: right;
  }
  .wp-block-table.responsive-table td::before {
    content: attr(data-label);
    font-weight: bold;
  }
  .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.4em;
  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.is-style-box {
  gap: 0;
}
.image-text.is-style-box .image-text__text {
  z-index: 2;
  padding: clamp(16px, 5cqw, 46px) clamp(20px, 5cqw, 60px);
  max-width: 600px;
  width: 100%;
}
.image-text.is-style-box .image-text__text p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.image-text.is-style-box .image-text__text .wp-block-buttons {
  margin-top: calc(var(--gap) * 0.75);
}
.image-text.is-style-box .image-text__text .wp-block-heading {
  font-weight: var(--font-weight-medium);
}
.image-text.is-style-box .image-text__text h2.wp-block-heading {
  --font-size: var(--font-size-36);
}
.image-text.is-style-box .image-text__text h3.wp-block-heading {
  --font-size: var(--font-size-30);
}
.image-text.has-secondary-background-color .image-text__text {
  --item-color-background: var(--color-secondary);
  --color-text: var(--color-white);
  --color-title: var(--color-white);
  color: var(--color-white);
}
.image-text.has-secondary-background-color .image-text__text::after {
  content: "";
  position: absolute;
  top: 1.5em;
  right: 1.5em;
  width: 3em;
  aspect-ratio: 1/1;
  z-index: 1;
  mask: var(--icon-v-dot) center/contain no-repeat;
  background-color: var(--color-primary);
}
.image-text.has-secondary-background-color .image-text__text .wp-block-button.is-style-outline {
  --button-text-color: var(--color-primary);
  --button-border-color: var(--color-primary);
  --button-padding: 0.7em 2em;
}
.image-text.has-hora-sportu-background-color .image-text__text {
  --item-color-background: var(--color-hora-sportu);
  --color-text: var(--color-white);
  --color-title: var(--color-white);
  color: var(--color-white);
}
.image-text.has-hora-sportu-background-color .image-text__text .wp-block-button.is-style-outline {
  --button-text-color: var(--color-white);
  --button-border-color: var(--color-white);
  --button-padding: 0.7em 2em;
}
.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;
}
@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-gradient-green {
  background: var(--linear-gradient-green);
}

@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;
    left: -1.5em;
    width: 1em;
    height: 1em;
    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);
}

.accordions__item {
  --item-text-color: var(--color-text) !important;
}

.articles {
  margin-top: calc(var(--gap) * 1.5);
}
.articles--post {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: clamp(10px, 5cqw, 30px);
}
.articles--blog_arena, .articles--program, .articles--projekt {
  max-width: 1200px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(10px, 6cqw, 40px);
}
@media screen and (max-width: 768px) {
  .articles--blog_arena, .articles--program, .articles--projekt {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .articles {
    display: grid;
    gap: var(--gap);
  }
}

.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;
}
.post__thumbnail {
  --category-background-color: var(--color-secondary);
  overflow: hidden;
  position: relative;
}
.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;
}
.post__title a:hover {
  color: var(--color-primary-darker);
}
.post__excerpt {
  font-size: var(--font-size-16);
  line-height: auto;
  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-secondary);
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  max-width: 580px;
}
.blog-arena-post__thumbnail {
  --category-background-color: var(--color-primary);
  --category-text-color: var(--color-white);
  overflow: hidden;
  position: relative;
}
.blog-arena-post__thumbnail:hover {
  --category-background-color: var(--color-background);
  --category-text-color: var(--color-primary);
}
.blog-arena-post__thumbnail::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 50%;
  left: 0;
  bottom: 0;
  background: linear-gradient(to top, rgba(var(--color-secondary-rgb), 1) 0%, rgba(var(--color-secondary-rgb), 0) 100%);
  z-index: 2;
}
.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);
  padding-top: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.blog-arena-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.75em;
  color: var(--color-primary);
  display: inline-block;
}
.blog-arena-post__title a:hover {
  color: var(--color-white);
}
.blog-arena-post__excerpt {
  font-size: var(--font-size-16);
  line-height: auto;
  color: var(--color-white);
  margin: 0 0 1.5em;
  letter-spacing: 0.025em;
}
.blog-arena-post__read-more {
  font-size: var(--font-size-16);
  color: var(--color-primary);
  text-decoration: underline;
}
.blog-arena-post__read-more:hover {
  text-decoration: none;
}

.sport-facility {
  --item-width: 580px;
  --item-min-height: 360px;
  display: flex;
  position: relative;
}
.sport-facility__thumbnail-wrapper {
  flex-basis: 50%;
  overflow: hidden;
  position: relative;
}
.sport-facility__thumbnail {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.sport-facility__content {
  background-color: #f0f0f0;
  padding: clamp(20px, 5cqw, 50px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1em;
  flex-basis: 50%;
  max-width: var(--item-width);
  min-height: var(--item-min-height);
}
.sport-facility__content-top {
  flex-grow: 1;
}
.sport-facility__content-bottom {
  display: flex;
  gap: 0.5em 1em;
}
.sport-facility__content .button {
  width: 100%;
}
.sport-facility__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);
  line-height: 1;
  color: var(--color-secondary);
  margin: 0 0 0.5em;
  display: inline-block;
}
.sport-facility__title a {
  color: inherit;
  text-decoration: none;
}
.sport-facility__title a:hover {
  color: var(--color-primary-darker) !important;
}
.sport-facility__excerpt > *:first-child {
  margin-top: 0;
}
.sport-facility__excerpt > *:last-child {
  margin-bottom: 0;
}
.sport-facility__excerpt p {
  margin: 0.5em 0;
  font-size: var(--font-size-16);
  line-height: normal;
  letter-spacing: 0.025em;
  color: var(--color-text);
}
.sport-facility__logo-wrapper {
  position: relative;
  z-index: 5;
  width: 120px;
  height: 120px;
  padding: clamp(10px, 3cqw, 20px);
  left: 6em;
}
.sport-facility__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__logo {
  z-index: 10;
  margin: 0 auto;
  position: relative;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .sport-facility:nth-child(even) .sport-facility__thumbnail-wrapper {
    order: 2;
  }
  .sport-facility:nth-child(even) .sport-facility__content {
    order: 1;
    margin-left: auto;
  }
  .sport-facility:nth-child(even) .sport-facility__logo-wrapper {
    left: auto;
    right: 6em;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .sport-facility {
    --item-min-height: auto;
    display: block;
  }
  .sport-facility__thumbnail-wrapper, .sport-facility__content {
    flex-basis: 100%;
    max-width: 100%;
  }
  .sport-facility__thumbnail-wrapper {
    aspect-ratio: 16/9;
  }
}
@media screen and (max-width: 480px) {
  .sport-facility__logo-wrapper {
    width: 80px;
    height: 80px;
    padding: clamp(5px, 3cqw, 10px);
    left: 3em;
  }
  .sport-facility__logo-wrapper::after {
    border-radius: 2em;
  }
  .sport-facility__logo-wrapper img {
    max-height: 50px;
    width: auto;
  }
}

.other-sport-facilities {
  --items-gap: clamp(20px, 5cqw, 40px);
  --item-logo-size: clamp(80px, 10cqw, 120px);
  --item-logo-padding: clamp(10px, 5cqw, 20px);
  margin-top: var(--gap);
  display: flex;
  flex-wrap: wrap;
  gap: var(--items-gap);
  justify-content: center;
}
.other-sport-facilities__item {
  --item-border-color: var(--color-secondary);
  position: relative;
  flex-basis: calc(50% - var(--items-gap) / 2);
  overflow: hidden;
  min-height: 250px;
  border-bottom: 12px solid var(--item-border-color);
  transition: var(--transition);
}
.other-sport-facilities__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-black);
  opacity: 0.3;
  mix-blend-mode: multiply;
  z-index: 2;
}
.other-sport-facilities__item:hover {
  --item-border-color: var(--color-primary);
}
.other-sport-facilities__content-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.5em var(--gap);
}
.other-sport-facilities__content-bottom .button {
  flex-grow: 1;
}
.other-sport-facilities__logo-wrapper {
  position: absolute;
  z-index: 5;
  width: var(--item-logo-size);
  height: var(--item-logo-size);
  padding: var(--item-logo-padding);
  left: 0;
  top: 0;
}
.other-sport-facilities__logo-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 200%;
  aspect-ratio: 1/1;
  background-color: var(--color-white);
  border-radius: var(--font-size-30);
  transform: rotate(45deg) translate(-62%, -24%);
}
.other-sport-facilities__logo {
  z-index: 10;
  margin: 0 auto;
  position: relative;
  height: 100%;
}
.other-sport-facilities__content {
  z-index: 5;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: clamp(20px, 5cqw, 30px);
}
.other-sport-facilities__name {
  text-align: right;
  padding-left: 7em;
}
.other-sport-facilities__name-link {
  font-size: var(--font-size-36);
  font-weight: var(--font-weight-medium);
  color: var(--color-white) !important;
}
.other-sport-facilities__thumbnail {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .other-sport-facilities {
    flex-wrap: wrap;
  }
  .other-sport-facilities__item {
    flex-basis: 100%;
  }
}

.articles-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5em 1em;
  margin: var(--gap) auto var(--gap-smaller);
}
.articles-filters + .articles {
  margin-top: 0;
}
.articles-filters__item {
  font-size: var(--font-size-16);
  color: var(--color-secondary);
  padding: 0.4em 0.8em;
  border: 1px solid var(--color-secondary);
  border-radius: var(--border-radius-smaller);
  text-decoration: none;
  transition: var(--transition);
}
.articles-filters__item.is-active {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.articles-filters__item:hover {
  border-color: var(--color-primary);
  color: var(--color-white);
  background-color: var(--color-primary);
}

.article-program {
  --article-title-color: var(--color-primary);
  max-width: 580px;
}
.article-program:hover {
  --article-title-color: var(--color-primary-darker);
}
.article-program__inner {
  box-shadow: var(--shadow);
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
}
.article-program__content {
  padding: clamp(10px, 2cqw, 20px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.article-program__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;
  color: var(--article-title-color);
  display: inline-block;
  transition: var(--transition);
}
.article-program__excerpt {
  font-size: var(--font-size-16);
  line-height: auto;
  color: var(--color-text);
  letter-spacing: 0.025em;
  margin-top: 1em;
}

.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-secondary);
  --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);
  order: var(--text-order);
}
.featured-post__text > *:first-child {
  margin-top: 0;
}
.featured-post__text > *:last-child {
  margin-bottom: 0;
}
.featured-post__text::after {
  content: "";
  position: absolute;
  top: 1.5em;
  right: 1.5em;
  width: 2.4em;
  aspect-ratio: 1/1;
  z-index: 1;
  mask: var(--icon-v-dot) center/contain no-repeat;
  background-color: var(--color-primary);
}
.featured-post__thumbnail {
  --category-background-color: var(--color-secondary);
  order: var(--media-order);
  overflow: hidden;
  position: relative;
}
.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::after {
    right: 1rem;
    top: 1rem;
    width: 2em;
  }
}

@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;
}
.top-bar {
  z-index: 999;
  font-size: var(--font-size-14);
}
.top-bar.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.top-bar__top {
  padding: 1em 0;
}
.top-bar__top .button {
  --button-font-size: var(--font-size-18);
}
.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__content--bottom {
  justify-content: center;
}
.top-bar__logo {
  flex-shrink: 0;
}
.top-bar__logo img {
  width: clamp(80px, 12cqw, 150px);
}
.top-bar__bottom {
  background-color: var(--color-secondary);
}
.top-bar__menu {
  display: flex;
  justify-content: center;
  font-size: var(--font-size-18);
  letter-spacing: 0.025em;
}
.top-bar__menu > li > a {
  color: var(--color-white);
  text-decoration: none;
  padding: 1em 1em;
  display: inline-block;
  text-transform: uppercase;
}
.top-bar__menu > li > a::before {
  --line-color: transparent;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--line-color);
  position: absolute;
  bottom: 0;
  left: 0;
  transition: var(--transition);
}
.top-bar__menu .menu-item:hover a::before {
  --line-color: var(--color-white);
}
.top-bar__menu .current-menu-item a::before {
  --line-color: var(--color-primary) !important;
}
.top-bar__menu .menu-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
}
.top-bar__menu .menu-item-has-children > a {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.top-bar__menu .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__menu .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);
  box-shadow: var(--shadow);
  top: calc(100% - 3px);
  border-top: 3px solid var(--color-white);
}
.top-bar__menu .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__menu .sub-menu a:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.top-bar__menu .sub-menu .current-menu-item > a:not(:hover) {
  background-color: var(--color-white);
  color: var(--color-secondary);
}
.top-bar__mobile-menu {
  --menu-line-height: 3px;
  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, var(--color-primary));
  font-weight: var(--bold);
  text-transform: uppercase;
  letter-spacing: -0.05em;
  position: relative;
  top: 0.1em;
}
.top-bar__mobile-menu-hamburger {
  width: 1.2em;
  height: 1em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.top-bar__mobile-menu-hamburger span {
  display: block;
  height: var(--menu-line-height);
  border-radius: 1em;
  margin-left: auto;
  transition: var(--transition);
  background-color: var(--color, var(--color-primary));
}
.top-bar__mobile-menu-hamburger span:nth-child(1) {
  width: 100%;
}
.top-bar__mobile-menu-hamburger span:nth-child(2) {
  width: 100%;
}
.top-bar__mobile-menu-hamburger span:nth-child(3) {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .top-bar .top-bar__bottom {
    display: none;
  }
  .top-bar .top-bar__mobile-menu {
    display: flex;
  }
}
@media screen and (max-width: 480px) {
  .top-bar__button {
    display: none;
  }
}

.mobile-menu {
  --menu-padding: 2em;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-background);
  z-index: 900;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
  pointer-events: none;
}
.mobile-menu.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.mobile-menu__content-wrapper {
  padding: var(--menu-padding) 0;
  width: 100%;
  flex-grow: 1;
  display: flex;
  gap: 2em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  scrollbar-color: #ccc #f4f4f4;
  scrollbar-width: thin;
  height: calc(100% - var(--menu-padding) * 2);
  overflow: auto;
}
.mobile-menu__content-wrapper::-webkit-scrollbar {
  width: 0.8rem;
  background: #ccc;
}
.mobile-menu__content-wrapper::-webkit-scrollbar-thumb {
  background: #f4f4f4;
  border-radius: 0.4rem;
}
.mobile-menu__content {
  flex-grow: 1;
  display: flex;
  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-primary-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-secondary);
  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-primary-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-primary);
  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-main);
}
.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);
}
.mobile-menu__social-links {
  display: flex;
  gap: 1em;
  justify-content: center;
  align-items: center;
}
.mobile-menu__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--font-size-24);
  aspect-ratio: 1/1;
  mask: var(--icon-social) center/contain no-repeat;
  background-color: var(--color-main);
  opacity: 0.75;
}
.mobile-menu__social-link:hover {
  opacity: 1;
}
.mobile-menu__social-link--facebook {
  --icon-social: var(--icon-facebook);
}
.mobile-menu__social-link--linkedin {
  --icon-social: var(--icon-linkedin);
}
.mobile-menu__social-link--instagram {
  --icon-social: var(--icon-instagram);
}
@media screen and (max-width: 768px) {
  .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;
}

.footer {
  color: var(--color-white);
}
.footer__top {
  background-color: var(--color-text);
  padding: calc(var(--gap) * 1.75) 0;
}
.footer__bottom {
  background-color: var(--color-black);
  padding: var(--gap) 0;
  font-size: var(--font-size-14);
}
.footer__logo img {
  width: clamp(80px, 12cqw, 160px);
}
.footer__columns {
  display: flex;
  gap: clamp(20px, 5cqw, 80px);
}
.footer__column {
  flex-grow: 1;
}
.footer__column--first {
  flex-grow: 2;
}
.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);
  color: var(--color-white);
  margin-bottom: 1em;
}
.footer__column p {
  font-size: var(--font-size-16);
  line-height: var(--line-height);
  color: var(--color-white);
}
.footer__column p:not(:last-child) {
  margin-bottom: 1.5em;
}
.footer__menu {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}
.footer__menu a {
  display: block;
  font-size: var(--font-size-16);
  color: var(--color-white);
  text-decoration: none;
  transition: var(--transition);
}
.footer__menu a:hover {
  color: var(--color-primary);
}
.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);
}
@media screen and (max-width: 768px) {
  .footer__columns {
    flex-wrap: wrap;
  }
  .footer__column--first {
    flex-basis: 100%;
  }
}

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

.services {
  --gap: 30px;
}

.sport-facility-detail {
  --logo-wrapper-size: clamp(100px, 12vw, 200px);
  --logo-wrapper-padding: clamp(10px, 2vw, 20px);
  --header-height: clamp(400px, 60dvh, 660px);
}
.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-black);
  opacity: 0.4;
  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(20px, 5cqw, 60px) 0;
  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-24);
  --button-text-color: var(--color-primary);
  --button-border-color: var(--color-primary);
  --button-padding: 0.6em 2.5em 0.5em;
  display: inline-block;
  font-weight: var(--font-weight-bold);
  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-secondary);
  color: var(--color-white);
}
.sport-facility-info__inner {
  padding: clamp(20px, 6cqw, 60px) clamp(16px, 4cqw, 50px);
  display: flex;
  gap: 2em;
  justify-content: space-between;
}
.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-primary);
  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-primary);
  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);
}
.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;
}

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

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

.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-color: #f0f0f0;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
}
.sport-facilities-with-contacts__content {
  padding: clamp(10px, 3cqw, 30px);
  padding-bottom: clamp(10px, 3cqw, 20px);
  flex-grow: 1;
}
.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-title);
  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);
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: 0.75em;
}
.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 {
  color: var(--color-text);
  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;
}

.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;
  /* Stav: Otevřeno */
  /* Stav: Zavřeno */
}
.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.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.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);
  }
}
.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-secondary);
  color: var(--color-white);
  margin-bottom: calc(var(--gap) * -1);
  z-index: 3;
}
.single-post__header-image-wrapper {
  flex-shrink: 0;
  flex-basis: 60%;
  margin-left: calc(var(--gap) * -2);
  height: 520px;
}
.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-category {
  color: var(--color-white);
  text-decoration: underline;
}
.single-post__meta-category:hover {
  color: var(--color-primary);
}
@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;
  }
}

.single-program__header {
  min-height: clamp(300px, 40dvh, 400px);
  position: relative;
  display: flex;
  text-align: center;
  padding: clamp(20px, 5cqw, 60px) 0;
  display: flex;
  align-items: center;
}
.single-program__header::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: var(--color-black);
  opacity: 0.5;
  mix-blend-mode: multiply;
}
.single-program__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-48);
  line-height: 1;
  color: var(--color-white);
}

@media screen and (max-width: 1023px) {
  .scroll-up {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .scroll-up {
    display: block;
    position: fixed;
    bottom: 1em;
    right: 1em;
    width: 2.4em;
    aspect-ratio: 1/1;
    background-color: var(--color-secondary);
    border-radius: 50%;
    transition: var(--transition);
    z-index: 20;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .scroll-up.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .scroll-up:hover {
    background-color: var(--color-primary);
  }
  .scroll-up::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    mask: var(--icon-arrow-down) center/50% auto no-repeat;
    background-color: var(--color-white);
    transform: rotate(180deg);
  }
}