/* 
 * CrossFit Pardubice – style.css (refactored + tokens)
 * 
 * Changes:
 * - Cascade Layers (@layer base, components, utilities)
 * - :root color tokens + modern base reset
 * - Replaced repeated colors with CSS variables
 * - Original rules wrapped in @layer components (visual parity)
 */

@layer base, components, utilities;

/* =========================
   Base tokens & reset
   ========================= */
@layer base {
  :root {
    --color-accent: #e21330;
    --gray-900: #343434;
    --gray-800: #444444;
    --gray-700: #7f7f7f;
    --gray-600: #727272;
    --gray-500: #929292;
    --gray-400: #b3b3b3;
    --gray-300: #d7d7d7;
    --gray-200: #e5e5e5;
    --gray-100: #e7e7e7;
    --brand-cream: #fbf0e4;
    --brand-gold: #e1ab05;
    --black: #000000;
    --white: #ffffff;
    --success: #089f4d;
  }

  /* Minimal modern reset */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  html {
    -webkit-text-size-adjust: 100%;
  }
  body {
    margin: 0;
    color: var(--black);
  }
  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
    height: auto;
  }
  a {
    color: inherit;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
  }
}

/* =========================
   Original CSS (wrapped)
   ========================= */
@layer components {
  /*
Theme Name: CrossFit Pardubice
*/
  /* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
  html,
  body,
  div,
  span,
  applet,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  acronym,
  address,
  big,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  s,
  samp,
  small,
  strike,
  strong,
  sub,
  sup,
  tt,
  var,
  b,
  u,
  i,
  center,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer,
  header,
  hgroup,
  menu,
  nav,
  output,
  ruby,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
  }
  /* HTML5 display-role reset for older browsers */
  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section {
    display: block;
  }
  body {
    line-height: 1;
  }
  ol,
  ul {
    list-style: none;
  }
  blockquote,
  q {
    quotes: none;
  }
  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: "";
    content: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  /* General */
  body {
    color: var(--black);
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 20px;
  }
  a {
    color: var(--black);
  }
  h1,
  h2,
  h3,
  h4 {
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    text-transform: uppercase;
    font-weight: bold;
  }
  h1 {
    font-size: 50px;
    margin-bottom: 30px;
  }
  h2 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  h3 {
    font-size: 18px;
  }
  p {
    line-height: 1.6;
    margin: 25px 0;
    text-align: justify;
  }
  b,
  strong {
    font-weight: 700;
  }
  em {
    font-style: italic;
  }
  blockquote {
    border-left: 10px solid var(--black);
    margin: 1.5em 10px;
    padding: 0.5em 10px;
    quotes: "\201C""\201D""\2018""\2019";
  }
  blockquote:before {
    color: #ccc;
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    margin-right: 0.25em;
    vertical-align: -0.4em;
  }
  blockquote p {
    display: inline;
    font-style: italic;
  }
  ul.list {
    list-style-type: circle;
    margin-left: 15px;
    margin-bottom: 25px;
  }
  ul.list li {
    line-height: 1.4;
  }

  /************** 

   Variables

**************/
  /************** 

   Media Queries

**************/
  /************** 

    Mixins

**************/
  .uppercase {
    text-transform: uppercase;
  }
  .bold {
    font-weight: 700;
  }
  .superBold {
    font-weight: 900;
  }
  .italic {
    font-style: italic;
  }
  .noDecoration {
    text-decoration: none;
  }
  /************** 

  Layout

**************/
  .header {
    background: var(--brand-cream);
  }
  .container {
    padding: 0 10px;
    position: relative;
    clear: both;
  }
  @media only screen and (min-width: 1000px) {
    .container {
      width: 960px;
      margin: auto;
    }
  }
  /************** 

  Header

**************/
  .site-header {
    background: var(--gray-900);
    width: 100%;
    height: 90px;
  }
  @media only screen and (min-width: 1000px) {
    .site-header {
      height: 120px;
    }
  }
  i.menuIco {
    background: url(../images/menuIco.png);
    width: 45px;
    height: 34px;
    display: block;
    position: absolute;
    right: 10px;
    margin: auto;
    top: 29px;
  }
  @media only screen and (min-width: 1000px) {
    i.menuIco {
      display: none;
    }
  }
  i.menuIco:hover {
    cursor: pointer;
  }
  a.logo {
    background: url(../images/logo.png);
    display: block;
    width: 81px;
    height: 68px;
    position: absolute;
    top: 10px;
    left: 10px;
    right: 0;
  }
  @media only screen and (min-width: 1000px) {
    a.logo {
      top: 20px;
    }
  }
  #noHeader a.logo {
    background: url(../images/logo.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    display: block;
    text-align: center;
    width: 81px;
    height: 68px;
    margin: auto;
    padding-top: 5px;
  }

  #headerMenu .container {
    padding: 0;
  }
  .menu-header-container {
    z-index: 999;
    background: var(--gray-900);
  }
  @media only screen and (min-width: 1000px) {
    .menu-header-container {
      float: right;
      background: none;
    }
  }
  @media only screen and (max-width: 999px) {
    .menu-header-container {
      position: absolute;
      top: 90px;
      width: 100%;
    }
  }
  ul#menu-mainmenu {
    display: none;
  }
  @media only screen and (min-width: 1000px) {
    ul#menu-mainmenu {
      display: block;
      padding-top: 40px;
    }
  }
  ul#menu-mainmenu li {
    width: 100%;
  }
  ul#menu-mainmenu li:nth-child(1) {
    margin-left: 0px;
  }
  ul#menu-mainmenu li:nth-last-child(1) {
    margin-right: 0px;
    margin-left: 15px;
  }

  @media only screen and (max-width: 1000px) {
    ul#menu-mainmenu li:nth-last-child(1) {
      margin-left: 0px;
      background: var(--color-accent);
    }
  }
  @media only screen and (min-width: 1000px) {
    ul#menu-mainmenu li.menu-item-has-children a {
      background-image: url(../images/down.png);
      background-repeat: no-repeat;
      background-position: right center;
      padding: 15px 20px 15px 15px;
    }
  }
  @media only screen and (min-width: 1000px) {
    ul#menu-mainmenu li.menu-item-has-children ul {
      position: absolute;
      z-index: 9999;
      display: none;
      background: var(--gray-900);
    }
  }
  ul#menu-mainmenu li.menu-item-has-children ul li {
    display: block;
    margin: 0;
  }
  ul#menu-mainmenu li.menu-item-has-children ul a {
    background: var(--gray-800);
    font-size: 12px;
  }
  @media only screen and (min-width: 1000px) {
    ul#menu-mainmenu li.menu-item-has-children ul a {
      background: none;
      padding: 15px 20px;
      display: block;
      text-align: left;
      font-size: 16px;
    }
  }
  @media only screen and (min-width: 1000px) {
    ul#menu-mainmenu li {
      display: inline-block;
      background: none;
      border: none;
      width: auto;
      /*margin-right: 15px;*/
    }
  }
  ul#menu-mainmenu li a {
    display: block;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: var(--white);
    padding: 15px 15px;
    border-bottom: 1px solid var(--black);
    text-transform: uppercase;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
  }
  @media only screen and (min-width: 1000px) {
    ul#menu-mainmenu li a {
      display: inline-block;
      border: none;
    }
    ul#menu-mainmenu li a:hover {
      text-decoration: underline;
    }
  }
  @media only screen and (min-width: 1000px) {
    ul#menu-mainmenu li.start a {
      border: 3px solid var(--color-accent);
      padding: 10px 20px;
      color: var(--white);
      background: var(--color-accent);
    }
    ul#menu-mainmenu li.start a:hover {
      border: 3px solid var(--white);
      background: var(--white);
      color: var(--color-accent);
      text-decoration: none;
    }
  }
  @media only screen and (min-width: 1000px) {
    body.home ul#menu-mainmenu li.opened {
      background: var(--white);
      color: var(--gray-900);
    }
    body.home ul#menu-mainmenu li.opened a {
      color: var(--gray-900);
    }
    body.home ul#menu-mainmenu li.opened ul.sub-menu {
      background: var(--white);
      color: var(--gray-900);
    }
    body.home ul#menu-mainmenu li.opened ul.sub-menu a {
      color: var(--gray-900);
    }
  }

  /*body.home ul#menu-mainmenu li.menu-item-has-children ul {
  background: none;
}*/
  /* Buttons */
  .btn {
    width: 70%;
    box-sizing: border-box;
    border: 2px solid var(--white);
    color: var(--white);
    background: transparent;
    vertical-align: middle;
    display: block;
    text-transform: uppercase;
    min-width: 20px;
    text-decoration: none;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 12px;
    text-align: center;
  }
  @media only screen and (min-width: 1000px) {
    .btn {
      width: auto;
      padding: 12px 30px;
      display: inline-block;
    }
  }
  .btn:hover {
    background: var(--white);
    color: var(--black);
  }
  .btn-home {
    font-size: 16px;
  }
  .btn-red {
    color: var(--color-accent);
    border: 2px solid var(--color-accent);
  }
  .btn-red:hover {
    background: var(--color-accent);
    color: var(--white);
  }
  .btn-red-invert {
    background: var(--color-accent);
    border: 2px solid var(--color-accent);
    color: var(--white);
  }
  .btn-red-invert:hover {
    color: var(--color-accent);
    border: 2px solid var(--white);
  }
  .btn-red-invert-border:hover {
    color: var(--color-accent);
    border: 2px solid var(--color-accent);
  }
  .btn,
  .btn-red,
  .btn:hover,
  .btn-red:hover,
  .btn-red-invert,
  .btn-red-invert:hover,
  input[type="submit"],
  input[type="submit"]:hover,
  ul#menu-mainmenu li.start a,
  ul#menu-mainmenu li.start a:hover {
    -webkit-transition: all 800ms ease;
    -moz-transition: all 800ms ease;
    -ms-transition: all 800ms ease;
    -o-transition: all 800ms ease;
    transition: all 800ms ease;
  }
  /* Header */
  .site-header-front {
    width: 100%;
    height: 120px;
    background: transparent;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: 9999;
  }
  /* Content */
  .hp-content {
    padding: 150px 0 100px;
    width: 100%;
    z-index: 5000;
  }
  @media only screen and (min-width: 1000px) {
    .hp-content {
      padding-top: 220px;
    }
  }
  .hp-text {
    color: var(--white);
    font-size: 42px;
    font-weight: bold;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    text-align: center;
    text-shadow: 2px 2px var(--gray-900);
    margin-bottom: 80px;
    line-height: 1.5;
    padding: 0 20px;
  }
  .hp-text h1 {
    font-size: 40px;
    text-transform: uppercase;
  }
  .hp-buttons {
    margin: 0 auto;
    padding: 0 20px;
    text-align: center;
  }
  .hp-buttons .btn {
    display: inline-block;
    margin-bottom: 30px;
  }
  @media only screen and (min-width: 640px) {
    .hp-buttons .btn {
      width: auto;
      padding: 12px 30px;
      display: inline-block;
    }
  }
  @media only screen and (min-width: 640px) {
    .hp-buttons {
      width: 440px;
    }
  }
  @media only screen and (min-width: 640px) {
    .btn-home-left {
      margin-right: 30px;
    }
  }
  .btn-red-full {
    border: 3px solid var(--color-accent);
    padding: 10px 10px;
    color: var(--white);
    background: var(--color-accent);
  }

  .btn-red-full:hover {
    border: 3px solid var(--white);
    background: var(--white);
    color: var(--color-accent);
    text-decoration: none;
  }

  .page-content,
  .single-post .content-area {
    padding: 30px 10px 20px 10px;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
  .single-date {
    font-size: 20px;
  }
  .single-author {
    margin-top: 20px;
  }

  .single-author .single-author-pic {
    width: 70px;
    height: 70px;
    display: inline-block;
    background: url("../images/blogAuthor.png");
  }

  .single-author .single-author-name {
    font-weight: 700;
    font-style: italic;
    position: relative;
    bottom: 27px;
    left: 15px;
  }

  .content,
  .site-content {
    width: 100%;
  }
  @media only screen and (min-width: 1000px) {
    .content,
    .site-content {
      width: 960px;
      margin: auto;
    }
  }

  .content iframe,
  .site-content iframe {
    max-width: 100%;
  }

  h1.entry-title {
    color: var(--color-accent);
    font-size: 50px;
  }
  h2.blog-title {
    color: var(--black);
    line-height: 1.3;
  }
  .post-thumbnail {
    width: 100%;
    max-width: 950px;
    margin-bottom: 20px;
    height: auto;
    overflow: hidden;
    display: block;
  }
  .post-thumbnail img {
    width: 100%;
    height: auto;
  }
  hr {
    margin: 30px 0;
  }

  @media only screen and (min-width: 640px) {
    img.alignleft {
      float: left;
      margin: 20px 20px 20px 0;
    }
  }

  @media only screen and (min-width: 640px) {
    img.alignright {
      float: right;
      margin: 20px 0 20px 20px;
    }
  }
  @media only screen and (max-width: 639px) {
    img.alignright {
      margin: 20px 0;
      width: 100%;
      height: auto;
    }
  }
  /* Sidebar */
  .sidebar {
    float: right;
    width: 250px;
    padding: 20px 10px;
    margin-left: 40px;
  }
  .sidebar-section {
    margin-bottom: 50px;
  }
  .sidebar h3 {
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-weight: 700;
    text-transform: none;
  }
  .sidebar p {
    font-size: 14px;
  }
  /* CTA */
  .cta {
    width: 100%;
    height: 160px;
    background: var(--gray-900);
    color: var(--white);
  }
  .cta .text-holder {
    float: left;
    width: 600px;
  }
  .cta .btn-holder {
    padding-top: 61px;
    margin-left: 670px;
  }
  .cta-btn {
    font-size: 16px;
  }
  .cta p {
    padding-top: 35px;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 24px;
  }
  /* Schedule */
  table.schedule,
  table.pricing,
  table.content {
    margin: 20px 0;
  }
  table.schedule,
  table.content {
    width: 100%;
  }
  table.schedule tr {
    border-bottom: 1px solid var(--gray-900);
  }
  table.schedule td,
  table.pricing td {
    border: none;
    text-align: center;
    vertical-align: middle;
    font-size: 14px;
    height: 36px;
    width: 50%;
  }
  table.content td {
    border: none;
    text-align: center;
    vertical-align: middle;
    font-size: 14px;
    height: 36px;
  }
  table.pricing td {
    width: 400px;
  }
  table.pricing td.first {
    text-align: left;
    padding-left: 30px;
  }
  table.content td.first {
    width: 20%;
  }
  table.pricing td.onramp-info {
    font-size: 12px;
  }
  table.schedule tr:nth-child(1) td {
    height: 40px;
  }
  table.schedule td.dark,
  table.pricing td.dark,
  table.content td.dark {
    background: var(--gray-900);
    color: var(--white);
    border: 1px solid var(--gray-900);
  }
  table.schedule td.onramp {
    color: var(--color-accent);
    font-weight: 700;
  }
  /* Form */
  .onramp-form {
    margin: 20px 0;
  }
  @media only screen and (min-width: 1000px) {
    .form-field {
      display: inline-block;
    }
  }
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  select {
    padding: 15px 15px;
    margin: 5px 0 0 0;
    width: 100%;
    box-sizing: border-box;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
  }
  @media only screen and (min-width: 1000px) {
    input[type="text"],
    input[type="tel"],
    input[type="email"],
    select {
      width: 304px;
    }
  }
  textarea {
    padding: 15px 15px;
    font-family: "Montserrat", Arial, sans-serif;
    margin: 5px 0 0 0;
    width: 100%;
    box-sizing: border-box;
  }
  @media only screen and (min-width: 1000px) {
    textarea {
      width: 921px;
    }
    .kids-form-info textarea {
      width: 100%;
    }
  }
  input[type="submit"] {
    margin: 5px 0 0 0;
    background: transparent;
    border: 2px solid var(--color-accent);
    color: var(--color-accent);
    vertical-align: middle;
    padding: 12px 0;
    text-align: center;
    display: block;
    text-transform: uppercase;
    min-width: 20px;
    text-decoration: none;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-weight: 700;
    font-size: 14px;
    width: 100%;
  }
  @media only screen and (min-width: 1000px) {
    input[type="submit"] {
      width: auto;
      padding: 12px 30px;
      display: inline-block;
    }
  }
  input[type="submit"]:hover {
    color: var(--white);
    border: 2px solid var(--color-accent);
    cursor: pointer;
    background: var(--color-accent);
  }
  .wpcf7 form.sent .wpcf7-response-output {
    border-color: #089f4d !important;
    background: #089f4d !important;
    color: var(--white) !important;
    clear: both;
  }
  .wpcf7 form .wpcf7-response-output {
    padding: 1em !important;
    margin: 1em 0 !important;
  }
  .screen-reader-response {
    display: none;
  }

  /* Contact */
  .left {
    float: left;
    width: 450px;
    margin-right: 60px;
    margin-bottom: 60px;
  }
  .right {
    width: 450px;
    display: inline-block;
    margin-bottom: 60px;
  }
  @media only screen and (max-width: 1000px) {
    .left,
    .right {
      width: 100%;
      float: none;
    }
  }
  .left img,
  .right img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .directions::after {
    content: "";
    clear: both;
  }
  .contact-section {
    display: inline-block;
    vertical-align: top;
    margin: 0 48px 40px 0;
  }
  .contact-section p {
    margin: 15px 0;
  }
  a.mail {
    font-family: "Montserrat", sans-serif;
    color: var(--color-accent);
    text-decoration: none;
    font-size: 17px;
  }
  .phone {
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
  }
  .facebook,
  .twitter,
  .googleplus {
    width: 140px;
    height: 45px;
    display: inline-block;
    margin-right: 15px;
  }
  .facebook {
    background: url(../images/socials-sprite.png) 0px 0px no-repeat;
  }
  .twitter {
    background: url(../images/socials-sprite.png) -140px 0px no-repeat;
  }
  .googleplus {
    background: url(../images/socials-sprite.png) -280px 0px no-repeat;
  }
  .facebook:hover {
    background: url(../images/socials-sprite.png) 0px -45px no-repeat;
  }
  .twitter:hover {
    background: url(../images/socials-sprite.png) -140px -45px no-repeat;
  }
  .googleplus:hover {
    background: url(../images/socials-sprite.png) -280px -45px no-repeat;
  }
  /* Partners */
  .partners-holder {
    width: 100%;
    background-color: var(--white);
    color: var(--gray-600);
    font-size: 14px;
    border-top: 1px solid var(--gray-300);
  }
  .partner-logo-holder {
    height: 80px;
    display: inline-block;
    padding: 10px 10px;
  }
  @media only screen and (min-width: 1000px) {
    .partner-logo-holder {
      padding: 25px 15px;
    }
  }
  @media only screen and (min-width: 1000px) {
    .partner-logo-holder.main {
      margin-right: 80px;
    }
  }
  a.fit-pro,
  a.lukaszajic,
  a.store4,
  a.reebok,
  a.multisport {
    height: 76px;
    display: inline-block;
  }

  /************** 

    Footer

**************/
  .site-footer {
    width: 100%;
    background: var(--gray-900);
    color: var(--gray-700);
    font-size: 14px;
  }
  @media only screen and (min-width: 1000px) {
    .site-footer {
      height: 270px;
    }
  }
  @media only screen and (min-width: 1000px) {
    .logo-footer {
      background: url(../images/logo-footer.webp);
      width: 400px;
      height: 270px;
      position: relative;
      left: -75px;
      float: left;
    }
  }
  .footer-info {
    padding: 20px 10px 0px;
  }
  @media only screen and (min-width: 1000px) {
    .footer-info {
      float: right;
    }
  }
  .footer-section {
    margin: 0 50px 20px 0;
    display: inline-block;
    vertical-align: top;
    line-height: 1.6;
  }
  @media only screen and (min-width: 1000px) {
    .footer-section {
      width: 170px;
      margin: 0 10px 0 0;
    }
  }
  .footer-section:nth-last-child(1) {
    margin-right: 0px;
  }
  .footer-section h3 {
    color: var(--white);
    margin-bottom: 15px;
    font-size: 16px;
  }
  .footer-section a {
    color: var(--gray-700);
    text-decoration: none;
  }
  .footer-section a:hover {
    text-decoration: underline;
  }
  ul#menu-useful_info li,
  ul#menu-about_us li {
    line-height: 1.6;
  }
  .journal {
    margin-bottom: 10px;
  }
  @media only screen and (min-width: 1000px) {
    .journal {
      float: left;
    }
  }
  /* Additional */
  .lookingforward {
    text-align: center;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    text-transform: uppercase;
    color: var(--color-accent);
    font-size: 28px;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .red {
    color: var(--color-accent);
  }
  .sb_instagram_header {
    padding: 0px !important;
  }

  img.coach {
    width: 300px;
    height: 450px;
  }

  @media only screen and (max-width: 650px) {
    img.coach {
      width: 100%;
      height: auto;
      margin-bottom: 25px;
    }
  }

  /* Classes Description */

  @media only screen and (max-width: 650px) {
    .singleClass {
      width: 100%;
      height: 250px;
      display: block;
      margin-bottom: 50px;
    }

    .singleClass .classContent {
      padding: 35px;
    }

    .singleClass .title {
      font-size: 24px;
      font-weight: 900;
      color: var(--white);
      text-transform: uppercase;
    }

    .singleClass .description {
      position: relative;
      top: 30px;
      color: var(--white);
      font-weight: bold;
      font-size: 18px;
      line-height: 1.4;
    }

    .singleClass .btn {
      position: relative;
      top: 35px;
    }
  }

  @media only screen and (min-width: 651px) and (max-width: 999px) {
    .singleClass {
      width: 47%;
      height: 250px;
      float: left;
      display: block;
    }

    .singleClass.first,
    .singleClass.third {
      margin-right: 5%;
      margin-bottom: 50px;
    }

    .singleClass .classContent {
      padding: 10%;
    }

    .singleClass .title {
      font-size: 26px;
      font-weight: 900;
      color: var(--white);
      text-transform: uppercase;
    }

    .singleClass .description {
      position: relative;
      top: 30px;
      color: var(--white);
      font-weight: bold;
      font-size: 18px;
      line-height: 1.4;
    }

    .singleClass .btn {
      position: relative;
      top: 50px;
    }
  }

  @media only screen and (min-width: 1000px) {
    .singleClass {
      width: 450px;
      height: 250px;
      background: var(--black);
      float: left;
      display: block;
    }

    .singleClass.first,
    .singleClass.third {
      margin-right: 55px;
      margin-bottom: 55px;
    }

    .singleClass .classContent {
      padding: 35px;
    }

    .singleClass .title {
      font-size: 30px;
      font-weight: 900;
      color: var(--white);
      text-transform: uppercase;
    }

    .singleClass .description {
      position: relative;
      top: 35px;
      width: 390px;
      color: var(--white);
      font-weight: bold;
      font-size: 18px;
      line-height: 1.4;
    }

    .singleClass .btn {
      position: relative;
      top: 50px;
    }
  }

  @media only screen and (max-width: 640px) {
    .singlePic {
      width: 100%;
      margin-bottom: 10px;
    }
  }

  @media only screen and (min-width: 641px) and (max-width: 999px) {
    .singlePic {
      width: 47%;
      padding: 1%;
      margin-bottom: 10px;
      display: inline-block;
    }
  }

  @media only screen and (min-width: 1000px) {
    .singlePic {
      width: 30%;
      padding: 0 1%;
      margin-bottom: 20px;
      /*float: left;*/
      display: inline-block;
    }
  }

  /* Blog */

  .blog-thumbnail {
    display: block;
    margin: 0 0 30px 0;
    width: 100%;
    height: auto;
  }

  @media only screen and (min-width: 700px) {
    .blog-thumbnail {
      display: block;
      float: left;
      margin: 0 30px 70px 0;
      width: 500px;
      height: auto;
    }
  }

  /* Homepage Sections */
  .home-pic {
    background: url(http://www.crossfitpardubice.cz/wp-content/themes/crossfitpardubice/images/cover55mobile.webp)
      no-repeat center left;
    background-size: cover;
  }

  @media only screen and (min-width: 780px) {
    .home-pic {
      background: url(http://www.crossfitpardubice.cz/wp-content/themes/crossfitpardubice/images/cover70.webp)
        no-repeat top right;
      background-size: cover;
    }
  }

  .hp-section {
    margin-bottom: 25px;
    padding: 20px;
  }

  .hp-section .sectionIcon {
    width: 70px;
    height: 70px;
    float: left;
  }

  .hp-section .sectionIcon.clipboard {
    background: url(/wp-content/themes/crossfitpardubice/images/clipboard.png)
      no-repeat top left;
  }

  .hp-section .sectionIcon.calendar {
    background: url(/wp-content/themes/crossfitpardubice/images/calendar.png)
      no-repeat top left;
  }

  @media only screen and (min--moz-device-pixel-ratio: 2),
    only screen and (-o-min-device-pixel-ratio: 2/1),
    only screen and (-webkit-min-device-pixel-ratio: 2),
    only screen and (min-device-pixel-ratio: 2) {
    .hp-section .sectionIcon.clipboard {
      background: url(/wp-content/uploads/2018/05/clipboard.png) no-repeat;
      background-size: 50px 50px;
    }

    .hp-section .sectionIcon.calendar {
      background: url(/wp-content/uploads/2018/05/calendar.png) no-repeat;
      background-size: 50px 50px;
    }
  }

  .hp-section .sectionTitle {
    color: var(--color-accent);
    font-family: "Montserrat", "Open Sans", Arial, sans;
    font-size: 30px;
    text-transform: uppercase;
    font-weight: 900;
    height: 60px;
    padding-top: 13px;
    padding-left: 80px;
  }

  .hp-section .sectionDesc {
    line-height: 1.4;
  }

  @media only screen and (min-width: 960px) {
    .hp-section {
      width: 290px;
      float: left;
    }
    .hp-section.first,
    .hp-section.section1 {
      padding-left: 0px;
    }
    .hp-section.last,
    .hp-section.section3 {
      padding-right: 0px;
    }
  }

  .hp-section .sectionNumber {
    font-size: 100px;
    color: var(--gray-400);
    font-family: "Montserrat";
    font-weight: 900;
    line-height: 0.4;
  }

  .hp-section h3 {
    font-size: 34px;
    font-family: "Montserrat";
    color: var(--color-accent);
    margin-bottom: 25px;
  }

  .testimonial_rotator h2.testimonial_rotator_slide_title {
    margin: 20px 0;
  }

  .testimonial_rotator.template-longform .testimonial_rotator_quote {
    line-height: 1.4;
  }

  .testimonial_rotator.template-longform .testimonial_rotator_author_info p {
    margin: 5px 0;
  }

  @media only screen and (max-width: 960px) {
    .smallToHide {
      display: none;
    }
  }

  .reviewPic {
    width: 200px;
    margin: 0 auto;
  }

  .reviewName {
    margin: 20px 0;
    font-weight: 700;
    font-family: "Montserrat";
    text-align: center;
  }

  .reviewDesc {
    text-align: center;
    font-style: italic;
    font-size: 18px;
    line-height: 1.3;
  }

  #videoSection {
    background-image: linear-gradient(var(--gray-900), var(--black));
    padding: 5px 0 5px;
  }

  #videoSection .container {
    clear: both;
    overflow: hidden;
    margin-top: 55px;
    margin-bottom: 55px;
  }

  #videoSection h2 {
    font-size: 48px;
    text-align: center;
    line-height: 1.2;
    font-weight: 900;
    color: var(--white);
    margin-bottom: 35px;
  }

  #videoSection .section-left {
    display: block;
    padding: 0 20px;
    margin-right: 0px;
  }

  #videoSection .section-right {
    display: block;
    padding: 0 20px;
    text-align: center;
  }

  #videoSection .section-right p {
    color: var(--white);
    margin-top: 25px;
  }

  @media only screen and (min-width: 960px) {
    /*desktop*/
    #videoSection .section-left {
      display: inline-block;
      width: 580px;
      padding: 0px;
      margin-right: 30px;
    }

    #videoSection .section-right {
      display: inline-block;
      width: 300px;
      padding: 0px;
      vertical-align: top;
    }

    #videoSection .section-right p {
      margin-top: 0px;
    }
  }

  @media only screen and (max-width: 960px) {
    /*tablet, telefon */
  }

  /* TOOLBAR */

  #toolbar {
    height: 40px;
    background: var(--gray-300);
    color: var(--gray-800);
    text-transform: uppercase;
    line-height: 40px;
    font-weight: 700;
    font-size: 12px;
  }

  #toolbar .leftInfo {
    float: left;
    margin-left: 10px;
  }

  @media only screen and (max-width: 500px) {
    #toolbar .leftInfo {
      display: none;
    }
  }

  #toolbar .rightInfo {
    float: right;
  }

  #toolbar .rightInfo a {
    text-decoration: underline;
    padding: 0 10px;
    color: var(--gray-800);
  }

  #toolbar .rightInfo a:hover {
    text-decoration: none;
  }

  .container-lazyload {
    margin-bottom: 50px;
  }

  .section-left iframe {
    vertical-align: bottom !important;
  }

  /* EBOOK DOWNLOAD */

  .ebookDownload {
    background-image: linear-gradient(var(--gray-300), var(--white));
  }

  @media only screen and (min-width: 700px) {
    .ebookDesc {
      width: 50%;
    }
  }

  @media only screen and (max-width: 700px) {
    .ebookPic {
      display: none;
    }
    .ebookDesc {
      text-align: center;
    }
    .ebookDesc h2 {
      text-align: center !important;
    }
    .ebookDesc a {
      display: inline-block;
    }
    .ebookDesc h2,
    .ebookDesc h3,
    .ebookDesc p {
      text-align: center;
    }
  }

  .ebookPic {
    position: absolute;
    width: 274px;
    height: 400px;
    background-size: cover;
    top: 100px;
    right: 80px;
  }

  @media only screen and (min-width: 700px) {
    .ebookPicLaptop {
      display: none;
    }
  }

  /* Awesome icons */

  ul.list-advantage {
    list-style: none;
    padding: 0;
    margin-bottom: 35px;
  }
  ul.list-advantage li {
    line-height: 1.4;
    margin-bottom: 10px;
  }

  /* Accordion FAQ */

  .accordion {
    margin: 1rem 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--gray-300);
  }

  .accordion-item {
    border-bottom: 1px solid var(--gray-300);
  }

  /* Thumb */
  .accordion-thumb {
    margin: 0;
    padding: 1.5rem 0;
    cursor: pointer;
    font-weight: 600;
  }

  .accordion-thumb::before {
    content: "";
    display: inline-block;
    height: 7px;
    width: 7px;
    margin-right: 1rem;
    margin-left: 0.5rem;
    vertical-align: middle;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform: rotate(-45deg);
    transition: transform 0.2s ease-out;
  }

  /* Panel */
  .accordion-panel {
    margin: 0;
    padding-bottom: 0.8rem;
    display: none;
    font-size: 18px;
  }

  /* Active */
  .accordion-item.is-active {
    .accordion-thumb::before {
      transform: rotate(45deg);
    }
  }

  /* CTA BLOG */

  .blogCTA {
    /*background-image: linear-gradient(var(--gray-300), var(--white));*/
    background: var(--gray-100);
    width: 100%;
    clear: both;
    overflow: hidden;
    margin-bottom: 60px;
  }

  .blogCTA p {
    margin: 35px 0 !important;
  }

  .blogCTA h2 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  @media only screen and (max-width: 700px) {
    .blogCTAPic {
      display: none;
    }
    .blogCTA .container {
      padding: 10px !important;
    }
  }

  .blogCTAPic {
    position: absolute;
    width: 387px;
    height: 315px;
    background-size: cover;
    top: 50px;
    left: 545px;
    background-position: center center;
  }

  .blogCTAPic.var1 {
    background-image: url(https://www.crossfitpardubice.cz/wp-content/uploads/CTA/CTA_blog06_web.jpg);
  }

  .blogCTAPic.var2 {
    background-image: url(https://www.crossfitpardubice.cz/wp-content/uploads/CTA/CTA_blog05_web.jpg);
  }

  .blogCTAPic.var3 {
    background-image: url(https://www.crossfitpardubice.cz/wp-content/uploads/CTA/CTA_blog07_web.jpg);
  }

  @media only screen and (min-width: 700px) {
    .ebookPicLaptop {
      display: none;
    }
  }

  .blogCTA .icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
    font-size: 15px;
    margin-right: 5px;
  }

  .blogCTA .icon-cross {
    color: var(--color-accent);
  }

  .blogCTA .icon-checkbox-checked {
    color: #089f4d;
  }

  .blogCTA .icon-star-full {
    color: var(--brand-gold);
    font-size: 18px;
  }

  /* Landing Page */

  .landingPageFormHolder {
    float: none;
    padding: 30px;
    background: var(--gray-100);
    border-radius: 30px;
    margin-bottom: 50px;
    display: inline-block;
  }

  .landingPageFormHolder.typePT {
    float: none !important;
  }

  .wpcf7-form p {
    margin: 5px 0 !important;
  }

  @media only screen and (min-width: 900px) {
    .landingPageFormHolder {
      float: right;
      width: 365px;
      margin-left: 50px;
    }
  }

  @media only screen and (min-width: 900px) {
    .page-id-5095 .landingPageFormHolder {
      width: 425px;
    }
  }

  .landingPageFormTitle {
    font-weight: 900;
    text-align: center;
    margin-bottom: 25px;
    font-size: 24px;
    line-height: 1.2;
  }

  .landingPageFormTitle p {
    text-align: center;
  }

  .landingPageFormAfter {
    text-align: center;
    font-size: 18px;
    line-height: 1.2;
    margin: 15px 0 50px 0;
  }

  .landingPageForm .form-field {
    display: block;
  }

  .landingPageForm input {
    width: 100%;
    font-size: 18px;
  }

  input[type="submit"].landingPageSubmit {
    margin: 5px 0 0 0;
    background: var(--color-accent);
    border: 2px solid var(--color-accent);
    color: var(--white);
    vertical-align: middle;
    padding: 12px 0;
    text-align: center;
    display: inline-block;
    text-transform: uppercase;
    min-width: 20px;
    text-decoration: none;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-weight: 700;
    font-size: 18px;
    width: 100%;
  }
  @media only screen and (min-width: 1000px) {
    input[type="submit"].landingPageSubmit {
      padding: 12px 30px;
      display: inline-block;
    }
  }
  input[type="submit"].landingPageSubmit:hover {
    color: var(--color-accent);
    border: 2px solid var(--color-accent);
    cursor: pointer;
    background: var(--white);
  }

  /* No header, no footer page (Bud jak Eliska, win-back, videoserie, ... */

  .page-id-5281 #toolbar,
  .page-id-6440 #toolbar,
  .page-id-6838 #toolbar,
  .page-id-6932 #toolbar,
  .page-id-7387 #toolbar,
  .page-id-7539 #toolbar,
  .page-id-7689 #toolbar,
  .page-id-7751 #toolbar,
  .page-id-7915 #toolbar {
    display: none;
  }

  .page-id-5281 .menu-header-container,
  .page-id-6440 .menu-header-container,
  .page-id-7387 .menu-header-container,
  .page-id-7539 .menu-header-container,
  .page-id-7689 .menu-header-container,
  .page-id-7751 .menu-header-container,
  .page-id-7915 .menu-header-container {
    display: none;
  }

  .page-id-6838 header,
  .page-id-6932 header,
  .page-id-7387 header,
  .page-id-7539 header,
  .page-id-7689 header,
  .page-id-7751 header,
  .page-id-7915 header {
    display: none;
  }

  .page-id-5281 footer,
  .page-id-6440 footer,
  .page-id-6838 footer,
  .page-id-6932 footer,
  .page-id-7387 footer,
  .page-id-7539 footer,
  .page-id-7689 footer,
  .page-id-7751 footer,
  .page-id-7915 footer {
    display: none;
  }

  .page-id-5281 i.menuIco,
  .page-id-6440 i.menuIco,
  .page-id-6838 i.menuIco,
  .page-id-6932 i.menuIco,
  .page-id-7387 i.menuIco,
  .page-id-7539 i.menuIco,
  .page-id-7689 i.menuIco,
  .page-id-7751 i.menuIco,
  .page-id-7915 i.menuIco {
    display: none;
  }

  /* Pagination */

  .pagination {
    text-align: center;
  }

  .pagination a.page-numbers,
  .pagination .current {
    border: 3px solid var(--black);
    display: inline-block;
    padding: 5px 10px;
    text-decoration: none;
    margin: 0px 5px 10px 5px;
  }

  .pagination a.page-numbers:hover,
  .pagination .page-numbers.current {
    background: var(--black);
    color: var(--white);
  }

  /* SINGLE POST */
  article.type-post h2 {
    color: var(--color-accent);
  }

  .post.category-blog ul {
    list-style-type: circle;
    margin-left: 15px;
    margin-bottom: 25px;
  }

  .post.category-blog ul li {
    line-height: 1.4;
    margin-bottom: 10px;
  }

  article p {
    margin: 35px 0;
  }

  article h2,
  article h3 {
    margin: 35px 0;
  }

  @media only screen and (min-width: 1000px) {
    article.type-post h2,
    article.type-post h3 {
      margin: 35px 80px;
    }

    article.type-post p,
    article figure.wp-block-image.size-full {
      margin: 35px 80px;
    }

    article.type-post header.entry-header {
      width: 800px;
      margin: 0 auto;
    }

    article.type-post h2 {
      margin-left: 80px;
      margin-right: 80px;
    }

    .post.category-blog ul.wp-block-list {
      margin-left: 105px;
      margin-right: 80px;
    }
  }

  /* Kids Contact form */

  .kids-form-holder {
    background-image: linear-gradient(var(--gray-100), var(--white));
  }

  .wpcf7-list-item {
    display: block !important;
    margin-left: 0px !important;
  }

  .wpcf7-list-item input[type="checkbox"] {
    width: 15px;
    height: 15px;
  }

  .wpcf7-not-valid-tip {
    font-size: 14px !important;
    font-weight: 700;
  }

  @media only screen and (min-width: 1000px) {
    .kids-form-info {
      float: left;
      margin-right: 35px;
    }

    .kids-form-classPicker {
      width: 400px;
      float: right;
    }

    #wpcf7-f1582-o1 .form-field {
      display: block !important;
    }

    #wpcf7-f1582-o1 input[type="text"],
    #wpcf7-f1582-o1 input[type="tel"],
    #wpcf7-f1582-o1 input[type="email"] {
      width: 500px;
    }
  }

  /* Landing Page Form - One Line */

  #wpcf7-f6886-p7539-o1 p,
  #wpcf7-f6886-p6838-o1 p,
  #wpcf7-f6886-p6932-o1 p,
  #wpcf7-f6886-p7387-o1 p,
  #wpcf7-f7926-p7915-o1 p {
    font-size: 13px;
    text-align: center;
    font-style: italic;
  }

  @media only screen and (min-width: 1000px) {
    #wpcf7-f6886-p7539-o1 .form-field,
    #wpcf7-f6886-p6838-o1 .form-field,
    #wpcf7-f6886-p6932-o1 .form-field,
    #wpcf7-f6886-p7387-o1 .form-field,
    #wpcf7-f7926-p7915-o1 .form-field {
      width: 32.8%;
    }
  }

  @media only screen and (min-width: 1000px) {
    #wpcf7-f6886-p7539-o1 input[type="text"],
    #wpcf7-f6886-p6838-o1 input[type="text"],
    #wpcf7-f6886-p6932-o1 input[type="text"],
    #wpcf7-f6886-p7387-o1 input[type="text"],
    #wpcf7-f7926-p7915-o1 input[type="text"],
    #wpcf7-f6886-p7539-o1 input[type="tel"],
    #wpcf7-f6886-p6838-o1 input[type="tel"],
    #wpcf7-f6886-p6932-o1 input[type="tel"],
    #wpcf7-f6886-p7387-o1 input[type="tel"],
    #wpcf7-f7926-p7915-o1 input[type="tel"],
    #wpcf7-f6886-p7539-o1 input[type="email"],
    #wpcf7-f6886-p6838-o1 input[type="email"],
    #wpcf7-f6886-p6932-o1 input[type="email"],
    #wpcf7-f6886-p7387-o1 input[type="email"],
    #wpcf7-f7926-p7915-o1 input[type="email"],
    #wpcf7-f6886-p6838-o1 select,
    #wpcf7-f6886-p6932-o1 select {
      width: 100%;
    }
  }

  @media only screen and (min-width: 1000px) {
    #wpcf7-f6886-p7539-o1 input[type="submit"],
    #wpcf7-f6886-p6838-o1 input[type="submit"],
    #wpcf7-f6886-p6932-o1 input[type="submit"],
    #wpcf7-f6886-p7387-o1 input[type="submit"],
    #wpcf7-f7926-p7915-o1 input[type="submit"] {
      width: 100%;
      padding: 12px 30px;
      display: inline-block;
      font-size: 16px;
    }
  }

  #wpcf7-f6886-p6838-o1 .wpcf7-spinner,
  #wpcf7-f6886-p6932-o1 .wpcf7-spinner,
  #wpcf7-f6886-p7387-o1 .wpcf7-spinner,
  #wpcf7-f7926-p7915-o1 .wpcf7-spinner {
    /*display: none;*/
  }

  .elementor-element-2de0c6e {
    background: var(--gray-100);
    padding: 35px 0 10px 0;
  }

  /* Landing Page Page */

  @media only screen and (max-width: 800px) {
    .lp-header-h1 h1 {
      font-size: 40px !important;
    }
  }

  /* Custom Google Reviews Shortcode*/
  @media only screen and (min-width: 800px) {
    .googleReviews {
      display: flex;
    }
  }

  .singleReviewContainer {
    border-radius: 10px;
    width: 30%;
    min-height: 350px;
    background-color: white;
    padding: 20px;
    position: relative;
    margin: 0 1.5%;
  }

  @media only screen and (max-width: 800px) {
    .singleReviewContainer {
      width: 96%;
      margin: 2%;
      min-height: 200px;
    }
  }

  .singleReviewContainer p {
    margin-bottom: 40px;
  }

  .singleReviewPhoto {
    width: 32px;
    height: 32px;
    position: absolute;
    bottom: 20px;
    left: 20px;
  }

  .singleReviewName {
    position: absolute;
    bottom: 30px;
    left: 70px;
    font-weight: 700;
    font-size: 16px;
  }

  /* Vyhleádávní na blogu */

  .search-form {
    display: flex;
    margin-bottom: 20px;
  }

  .search-field {
    flex: 1;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
  }

  .search-submit {
    padding: 8px 15px;
    border: none;
    background: var(--gray-400);
    color: var(--gray-900);
    cursor: pointer;
    border-radius: 4px;
    margin-left: 5px;
    font-weight: 700;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
  }

  .search-submit:hover {
    background: var(--gray-500);
  }

  .blog-search-results {
    padding: 30px 10px 20px 10px;
  }

  .blog-search-results h1 {
    margin-bottom: 35px;
  }

  .search-list {
    list-style: none;
    padding: 0;
  }

  .search-list li {
    margin-bottom: 15px;
    border-bottom: 1px solid var(--gray-300);
    padding-bottom: 10px;
  }

  .search-list a {
    font-size: 20px;
  }

  .search-list a:hover {
    text-decoration: underline;
  }

  .pagination {
    margin-top: 20px;
  }
} /* end of @layer components */

/* =========================
   Utilities & accessibility
   ========================= */
@layer utilities {
  .stack-sm > * + * {
    margin-block-start: 0.5rem;
  }
  .stack-md > * + * {
    margin-block-start: 1rem;
  }
  .stack-lg > * + * {
    margin-block-start: 1.5rem;
  }

  .flow {
    --flow: 1rem;
  }
  .flow > * + * {
    margin-block-start: var(--flow);
  }

  .visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
