@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
.header {
  position: absolute;
  top: 0;
  width: 100%;
  padding: 2rem 5%;
  display: flex;
  align-self: center;
  z-index: 3;
  /* ===== Media Query pro mobilní zobrazení (do 1199px) ===== */ }
  .header .header_main_navbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    width: 100%;
    gap: 4rem;
    /* Společné styly pro desktop navigaci */
    /* Checkbox pro mobilní menu */
    /* Hamburger ikona */
    /* Mobilní navigační overlay */ }
    .header .header_main_navbar .logo {
      width: 12rem;
      grid-column: 2 / 3;
      justify-self: center; }
      .header .header_main_navbar .logo img {
        width: 100%; }
      .header .header_main_navbar .logo .mobil_logo {
        display: none; }
      @media only screen and (max-width: 1199px) {
        .header .header_main_navbar .logo .mobil_logo {
          display: block; }
        .header .header_main_navbar .logo .pc_logo {
          display: none; } }
      @media only screen and (max-width: 600px) {
        .header .header_main_navbar .logo {
          width: 12rem; } }
    .header .header_main_navbar .desktop-nav {
      display: flex;
      align-items: center;
      gap: 3rem;
      /* Zarovnání odkazů směrem k logu */ }
      .header .header_main_navbar .desktop-nav a {
        text-decoration: none;
        position: relative;
        color: #ffffff;
        /* původně $d_white */
        transition: all 0.3s ease;
        font-weight: 500;
        cursor: pointer;
        padding: 0.5rem 0; }
        .header .header_main_navbar .desktop-nav a span svg {
          margin-top: -0.5rem; }
        .header .header_main_navbar .desktop-nav a:hover {
          opacity: 0.7; }
      .header .header_main_navbar .desktop-nav.nav-left {
        grid-column: 1 / 2;
        justify-content: flex-end; }
      .header .header_main_navbar .desktop-nav.nav-right {
        grid-column: 3 / 4;
        justify-content: flex-start; }
    .header .header_main_navbar #check {
      display: none; }
    .header .header_main_navbar .icons {
      font-size: 2rem;
      cursor: pointer;
      display: none;
      /* Viditelná pouze na mobilu */
      z-index: 101;
      color: #ffffff; }
    .header .header_main_navbar .mobile-nav {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background-color: rgba(35, 35, 35, 0.5);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      z-index: 100;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1.5rem; }
      .header .header_main_navbar .mobile-nav a {
        color: #333333;
        /* původně $d_gray */
        font-weight: 700;
        font-size: 1.5rem;
        padding: 0.7rem 1rem;
        background: #ffffff;
        border-radius: 12px;
        text-decoration: none;
        width: 80%;
        max-width: 300px;
        text-align: center;
        transition: transform 0.2s ease; }
        .header .header_main_navbar .mobile-nav a:active {
          transform: scale(0.95); }
  @media only screen and (max-width: 1199px) {
    .header {
      padding: 1.3rem 5%; }
      .header .header_main_navbar {
        display: flex;
        /* Přepnutí z Grid na Flexbox */
        justify-content: space-between;
        /* Logo vlevo, ikona vpravo */
        /* Zobrazení a chování hamburger ikony */
        /* Zobrazení mobilního menu po kliknutí na ikonu */ }
        .header .header_main_navbar .desktop-nav {
          display: none;
          /* Skrytí desktopové navigace */ }
        .header .header_main_navbar .logo {
          z-index: 101;
          /* Logo zůstane nad otevřeným menu */ }
        .header .header_main_navbar .icons {
          display: inline-flex; }
          .header .header_main_navbar .icons #menu-icon {
            filter: brightness(0) invert(1); }
          .header .header_main_navbar .icons #close-icon {
            display: none; }
        .header .header_main_navbar #check:checked ~ .icons #menu-icon {
          display: none; }
        .header .header_main_navbar #check:checked ~ .icons #close-icon {
          display: block; }
        .header .header_main_navbar #check:checked ~ .mobile-nav {
          opacity: 1;
          visibility: visible; } }

#home {
  background: url("/assets/images/home/welcome_bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 0 15%; }
  #home #home_left {
    color: white; }
    #home #home_left h1 {
      font-weight: 700;
      font-size: 3.5rem;
      line-height: 4.8rem; }
      #home #home_left h1 span {
        background: linear-gradient(to right, #05B1FF, #05B1FF);
        background-repeat: no-repeat;
        background-position: left;
        background-size: 0% 100%;
        padding: 0 1.5rem 0.5rem 0.5rem;
        animation: highlight-wipe 1s ease-out 0.5s forwards; }
    #home #home_left p {
      margin-top: 2rem; }
    #home #home_left #home_left_btns {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-top: 4rem; }
      #home #home_left #home_left_btns a {
        cursor: pointer;
        text-decoration: none;
        height: 3rem;
        display: flex;
        align-items: center;
        justify-items: center;
        padding: 0 1.5rem;
        border-radius: 6px;
        gap: 0.5rem;
        transition: 0.3s ease; }
        #home #home_left #home_left_btns a:nth-child(1) {
          background: #05B1FF;
          color: white; }
          #home #home_left #home_left_btns a:nth-child(1):hover {
            opacity: 70%; }
        #home #home_left #home_left_btns a:nth-child(2) {
          color: white;
          border: 3px solid white; }
          #home #home_left #home_left_btns a:nth-child(2) svg {
            margin-top: -0.5rem; }
          #home #home_left #home_left_btns a:nth-child(2):hover {
            background: white;
            color: #262626; }
            #home #home_left #home_left_btns a:nth-child(2):hover svg path {
              fill: #262626; }
  #home #home_right {
    position: absolute;
    right: 0;
    bottom: 0; }
  #home #home_scroll {
    text-decoration: none;
    position: absolute;
    bottom: 1rem;
    color: white;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: 0.5rem; }
  @media only screen and (max-width: 1920px) {
    #home #home_left {
      margin-top: 4rem; }
      #home #home_left h1 {
        font-size: 3rem;
        line-height: 4rem; } }
  @media only screen and (max-width: 1680px) {
    #home {
      padding: 0 5%; } }
  @media only screen and (max-width: 1440px) {
    #home #home_right img {
      width: 40rem; } }
  @media only screen and (max-width: 1199px) {
    #home {
      height: 55rem;
      flex-wrap: wrap; }
      #home #home_left {
        margin-top: -10rem; }
        #home #home_left h1 {
          font-size: 3rem;
          line-height: 4rem; }
      #home #home_scroll {
        display: none; }
      #home #home_right {
        width: 100%;
        display: flex;
        justify-content: right;
        bottom: 0; }
        #home #home_right img {
          width: 20rem; } }
  @media only screen and (max-width: 1199px) {
    #home #home_left h1 {
      font-size: 2.5rem;
      line-height: 3.5rem; }
    #home #home_left p br {
      display: none; } }
  @media only screen and (max-width: 476px) {
    #home {
      padding: 0 5%; }
      #home #home_left h1 {
        font-size: 2rem;
        line-height: 3rem;
        text-align: center; }
        #home #home_left h1 span {
          padding: 0 0.5rem 0.5rem 0.5rem; }
      #home #home_left p {
        text-align: center; }
      #home #home_left #home_left_btns {
        flex-wrap: wrap;
        justify-content: center; }
        #home #home_left #home_left_btns a {
          justify-content: center;
          width: 60%;
          text-align: center; }
      #home #home_right img {
        width: 15rem; } }
  @media only screen and (max-width: 402px) {
    #home #home_left #home_left_btns {
      flex-wrap: wrap;
      justify-content: center; }
      #home #home_left #home_left_btns a {
        justify-content: center;
        width: 80%;
        text-align: center; } }
  @media only screen and (max-width: 481px) {
    #home #home_left h1 {
      font-size: 1.8rem;
      line-height: 2.8rem;
      text-align: center; }
      #home #home_left h1 span {
        padding: 0 0.5rem 0.5rem 0.5rem; } }

#nase-zamereni {
  padding: 4rem 15%; }
  #nase-zamereni #zamereni_heading {
    text-align: center; }
    #nase-zamereni #zamereni_heading h2 {
      font-weight: 700;
      color: #262626;
      /* bíly text napevno + výchozí wipe stav */
      /* aktivace jen wipe animace (bez změny barvy textu) */ }
      #nase-zamereni #zamereni_heading h2 span,
      #nase-zamereni #zamereni_heading h2 span.highlight-text {
        color: white;
        /* text je vždy bílý */
        padding: 0 0.5rem 0.2rem 0.5rem;
        background: linear-gradient(to right, #05B1FF, #05B1FF);
        background-repeat: no-repeat;
        background-position: left;
        background-size: 0% 100%; }
      #nase-zamereni #zamereni_heading h2 span.animate-highlight,
      #nase-zamereni #zamereni_heading h2 span.highlight-text.animate-highlight {
        animation: highlight-wipe 0.8s ease-out forwards;
        /* odstraněno: text-color-change */ }
      #nase-zamereni #zamereni_heading h2 br {
        display: none; }
    #nase-zamereni #zamereni_heading p {
      margin-top: 1rem;
      opacity: 0.7; }
  #nase-zamereni #zamereni_content {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem; }
    #nase-zamereni #zamereni_content .zamereni_card {
      -webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.05);
      -moz-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.05);
      box-shadow: 0 0 20px #0000000d;
      border-radius: 13px;
      border: 1px solid #E6E6E6;
      padding: 1.5rem 2rem; }
      #nase-zamereni #zamereni_content .zamereni_card .zamereni_card_head {
        display: flex;
        gap: 0.5rem; }
        #nase-zamereni #zamereni_content .zamereni_card .zamereni_card_head strong {
          margin-top: 0.5rem;
          display: block;
          font-size: 1.5rem;
          line-height: 1.5rem; }
        #nase-zamereni #zamereni_content .zamereni_card .zamereni_card_head .zamereni_card_head_icon {
          background: #E6F3FF;
          border-radius: 9px;
          width: 3rem;
          height: 3rem;
          flex-shrink: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          margin-bottom: 1rem; }
      #nase-zamereni #zamereni_content .zamereni_card .zamereni_card_content ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
        position: relative;
        margin-left: 1rem; }
        #nase-zamereni #zamereni_content .zamereni_card .zamereni_card_content ul li::before {
          content: "";
          position: absolute;
          width: 0.3rem;
          height: 0.3rem;
          border-radius: 100%;
          background: #05B1FF;
          left: -1rem;
          margin-top: 0.6rem; }
      #nase-zamereni #zamereni_content .zamereni_card:nth-child(3) .zamereni_card_head strong {
        margin-top: 0; }
  #nase-zamereni #zamereni_btns {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    gap: 1rem; }
    #nase-zamereni #zamereni_btns a {
      cursor: pointer;
      text-decoration: none;
      height: 3rem;
      display: flex;
      align-items: center;
      justify-items: center;
      padding: 0 1.5rem;
      border-radius: 6px;
      gap: 0.5rem;
      font-weight: 500;
      transition: 0.3s ease; }
      #nase-zamereni #zamereni_btns a:nth-child(1) {
        background: #05B1FF;
        color: white; }
        #nase-zamereni #zamereni_btns a:nth-child(1):hover {
          opacity: 70%; }
      #nase-zamereni #zamereni_btns a:nth-child(2) {
        color: #0578FF;
        border: 3px solid #0578FF; }
        #nase-zamereni #zamereni_btns a:nth-child(2):hover {
          background: #0578FF;
          color: white; }
          #nase-zamereni #zamereni_btns a:nth-child(2):hover svg path {
            fill: white; }
  @media only screen and (max-width: 1920px) {
    #nase-zamereni {
      padding: 4rem 5%; } }
  @media only screen and (max-width: 1532px) {
    #nase-zamereni #zamereni_content {
      grid-template-columns: repeat(2, 1fr); } }
  @media only screen and (max-width: 873px) {
    #nase-zamereni #zamereni_content {
      grid-template-columns: repeat(1, 1fr); } }
  @media only screen and (max-width: 474px) {
    #nase-zamereni #zamereni_heading h2 br {
      display: block; }
    #nase-zamereni #zamereni_heading p br {
      display: none; }
    #nase-zamereni #zamereni_content .zamereni_card .zamereni_card_head strong {
      font-size: 1.25rem; }
    #nase-zamereni #zamereni_btns {
      flex-wrap: wrap; }
      #nase-zamereni #zamereni_btns a {
        width: 70%;
        justify-content: center;
        text-align: center; } }

#o-monotech {
  padding: 4rem 20%; }
  #o-monotech #monotech_wrap {
    background: #F9FAFA;
    display: flex;
    justify-content: space-between;
    border-radius: 22px; }
    #o-monotech #monotech_wrap #monotech_left {
      padding: 2rem; }
      #o-monotech #monotech_wrap #monotech_left #monotech_heading h2 {
        font-weight: 700;
        line-height: 2.7rem;
        /* výchozí stav jako u předchozího nadpisu */
        /* aktivace – stejná třída jako předtím */ }
        #o-monotech #monotech_wrap #monotech_left #monotech_heading h2 span {
          color: white;
          /* text stále bílý */
          padding: 0 0.5rem 0.2rem 0.5rem;
          background: linear-gradient(to right, #05B1FF, #05B1FF);
          background-repeat: no-repeat;
          background-position: left;
          background-size: 0% 100%; }
        #o-monotech #monotech_wrap #monotech_left #monotech_heading h2 span.animate-highlight {
          animation: highlight-wipe 0.8s ease-out forwards; }
      #o-monotech #monotech_wrap #monotech_left #monotech_text p {
        margin-top: 1rem; }
      #o-monotech #monotech_wrap #monotech_left #monotech_text span {
        font-weight: 700; }
      #o-monotech #monotech_wrap #monotech_left #monotech_text ul {
        list-style-type: none;
        margin: 1rem 0 0 0;
        padding: 0; }
        #o-monotech #monotech_wrap #monotech_left #monotech_text ul li {
          font-weight: 500; }
          #o-monotech #monotech_wrap #monotech_left #monotech_text ul li i {
            color: #05B1FF; }
    #o-monotech #monotech_wrap #monotech_right {
      margin-right: -2rem;
      margin-top: -2.2rem; }
  #o-monotech #monotech_body {
    padding: 4rem 5% 0 5%;
    display: grid;
    grid-template-columns: repeat(4, 1fr); }
    #o-monotech #monotech_body .monotech_body_card {
      display: flex;
      gap: 0.5rem; }
      #o-monotech #monotech_body .monotech_body_card .monotech_body_card_ikonka {
        background: #E6F3FF;
        border-radius: 9px;
        width: 3rem;
        height: 3rem;
        flex-shrink: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 1rem; }
      #o-monotech #monotech_body .monotech_body_card .monotech_body_card_text strong {
        color: #05B1FF;
        font-size: 1.2rem; }
      #o-monotech #monotech_body .monotech_body_card .monotech_body_card_text p {
        margin: 0;
        padding: 0;
        line-height: 1.2rem;
        opacity: 70%; }
  @media only screen and (max-width: 1920px) {
    #o-monotech {
      padding: 4rem 10%; } }
  @media only screen and (max-width: 1653px) {
    #o-monotech {
      padding: 4rem 5%; }
      #o-monotech #monotech_wrap #monotech_text p br {
        display: none; }
      #o-monotech #monotech_body {
        padding: 4rem 2% 0 2%; }
        #o-monotech #monotech_body .monotech_body_card .monotech_body_card_text p br {
          display: none; } }
  @media only screen and (max-width: 1199px) {
    #o-monotech #monotech_wrap {
      flex-wrap: wrap; }
      #o-monotech #monotech_wrap #monotech_left {
        margin-bottom: 2rem; }
        #o-monotech #monotech_wrap #monotech_left #monotech_heading h2 {
          line-height: 2rem; }
          #o-monotech #monotech_wrap #monotech_left #monotech_heading h2 span {
            display: inline-block;
            margin-bottom: 0.5rem; }
    #o-monotech #monotech_right {
      width: 100%;
      display: flex;
      justify-content: center; }
      #o-monotech #monotech_right img {
        width: 98%; }
    #o-monotech #monotech_body {
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem; }
      #o-monotech #monotech_body .monotech_body_card {
        background: #E6F3FF;
        border-radius: 9px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0.7rem 0.5rem; }
        #o-monotech #monotech_body .monotech_body_card .monotech_body_card_ikonka {
          margin-bottom: 0; } }
  @media only screen and (max-width: 644px) {
    #o-monotech #monotech_body {
      padding: 0 0 0 0;
      margin-top: 1.5rem;
      grid-template-columns: repeat(1, 1fr); } }

#pro-firmy {
  background: #F9FAFA;
  padding: 4rem 15%;
  display: flex;
  justify-content: space-between;
  position: relative; }
  #pro-firmy #firmy_left #firmy_left_heading h2 {
    font-weight: 700;
    line-height: 2.7rem;
    /* výchozí stav – stejně jako u předchozích nadpisů */
    /* aktivace wipe efektu */ }
    #pro-firmy #firmy_left #firmy_left_heading h2 span {
      color: white;
      padding: 0 0.5rem 0.2rem 0.5rem;
      background: linear-gradient(to right, #05B1FF, #05B1FF);
      background-repeat: no-repeat;
      background-position: left;
      background-size: 0% 100%; }
    #pro-firmy #firmy_left #firmy_left_heading h2 span.animate-highlight {
      animation: highlight-wipe 0.8s ease-out forwards; }
  #pro-firmy #firmy_left #firmy_left_text {
    margin: 1rem 0; }
    #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body {
      display: flex;
      gap: 4rem; }
      #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body .firmy_left_text_body_body strong {
        font-size: 1.2rem;
        color: #05B1FF;
        display: block; }
      #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body .firmy_left_text_body_body ul {
        list-style-type: none;
        margin: 0.5rem 0 0 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 0.5rem; }
        #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body .firmy_left_text_body_body ul li {
          font-weight: 500; }
          #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body .firmy_left_text_body_body ul li i {
            color: #05B1FF; }
  #pro-firmy #firmy_left #firmy_left_btn {
    margin-top: 3rem; }
    #pro-firmy #firmy_left #firmy_left_btn a {
      cursor: pointer;
      text-decoration: none;
      height: 3rem;
      width: fit-content;
      display: flex;
      align-items: center;
      justify-items: center;
      padding: 0 1.5rem;
      border-radius: 6px;
      background: #05B1FF;
      color: white;
      transition: 0.3s ease; }
      #pro-firmy #firmy_left #firmy_left_btn a:hover {
        opacity: 70%; }
  #pro-firmy #firmy_right {
    position: absolute;
    right: 5%;
    bottom: 0; }
    #pro-firmy #firmy_right .firmy_mobil {
      display: none; }
  @media only screen and (max-width: 1920px) {
    #pro-firmy {
      padding: 4rem 10%; }
      #pro-firmy #firmy_right {
        right: 2%; } }
  @media only screen and (max-width: 1791px) {
    #pro-firmy #firmy_right {
      right: 0%; }
      #pro-firmy #firmy_right img {
        width: 40rem; } }
  @media only screen and (max-width: 1680px) {
    #pro-firmy {
      padding: 4rem 5%; } }
  @media only screen and (max-width: 1563px) {
    #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body {
      gap: 2rem; }
    #pro-firmy #firmy_right img {
      width: 35rem; } }
  @media only screen and (max-width: 1451px) {
    #pro-firmy #firmy_right img {
      width: 30rem; } }
  @media only screen and (max-width: 1000px) {
    #pro-firmy #firmy_left #firmy_left_heading h2 {
      line-height: 2rem; }
      #pro-firmy #firmy_left #firmy_left_heading h2 span {
        display: inline-block;
        margin-bottom: 0.5rem; }
    #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body {
      flex-wrap: wrap;
      gap: 1rem; }
      #pro-firmy #firmy_left #firmy_left_text #firmy_left_text_body .firmy_left_text_body_body {
        width: 100%; } }
  @media only screen and (max-width: 1199px) {
    #pro-firmy {
      flex-wrap: wrap;
      height: 50rem; }
      #pro-firmy #firmy_left #firmy_left_text p br {
        display: none; }
      #pro-firmy #firmy_right .firmy_mobil {
        display: block; }
      #pro-firmy #firmy_right .firmy_pc {
        display: none; } }
  @media only screen and (max-width: 876px) {
    #pro-firmy {
      flex-wrap: wrap;
      height: 60rem; }
      #pro-firmy #firmy_left {
        width: 100%; }
        #pro-firmy #firmy_left #firmy_left_btn {
          display: flex;
          justify-content: center; }
      #pro-firmy #firmy_right img {
        width: 23rem; } }
  @media only screen and (max-width: 582px) {
    #pro-firmy {
      height: 65rem; } }
  @media only screen and (max-width: 432px) {
    #pro-firmy {
      height: 70rem; } }
  @media only screen and (max-width: 380px) {
    #pro-firmy {
      height: 73rem; } }

#pro-uchazece {
  position: relative;
  padding: 4rem 15%;
  display: flex;
  justify-content: right; }
  #pro-uchazece #uchazeci_left {
    position: absolute;
    left: 0;
    top: 0; }
  #pro-uchazece #uchazeci_right #uchazeci_heading h2 {
    font-weight: 700;
    line-height: 2.7rem;
    /* výchozí stav – bílý text, wipe připravený s $dark_blue */
    /* aktivace wipe efektu */ }
    #pro-uchazece #uchazeci_right #uchazeci_heading h2 span {
      color: white;
      padding: 0 0.5rem 0.2rem 0.5rem;
      background: linear-gradient(to right, #0578FF, #0578FF);
      background-repeat: no-repeat;
      background-position: left;
      background-size: 0% 100%; }
    #pro-uchazece #uchazeci_right #uchazeci_heading h2 span.animate-highlight {
      animation: highlight-wipe 0.8s ease-out forwards; }
  #pro-uchazece #uchazeci_right #uchazeci_text #uchazeci_body strong {
    font-size: 1.2rem;
    color: #0578FF;
    display: block; }
  #pro-uchazece #uchazeci_right #uchazeci_text #uchazeci_body ul {
    list-style-type: none;
    margin: 0.5rem 0 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem; }
    #pro-uchazece #uchazeci_right #uchazeci_text #uchazeci_body ul li {
      font-weight: 500; }
      #pro-uchazece #uchazeci_right #uchazeci_text #uchazeci_body ul li i {
        color: #0578FF; }
  #pro-uchazece #uchazeci_right #uchazeci_btn {
    margin-top: 3rem; }
    #pro-uchazece #uchazeci_right #uchazeci_btn a {
      cursor: pointer;
      text-decoration: none;
      height: 3rem;
      width: fit-content;
      display: flex;
      align-items: center;
      justify-items: center;
      padding: 0 1.5rem;
      border-radius: 6px;
      background: #0578FF;
      color: white;
      transition: 0.3s ease; }
      #pro-uchazece #uchazeci_right #uchazeci_btn a:hover {
        opacity: 70%; }
  @media only screen and (max-width: 1640px) {
    #pro-uchazece {
      padding: 4rem 5%; } }
  @media only screen and (max-width: 1411px) {
    #pro-uchazece {
      overflow: hidden; }
      #pro-uchazece #uchazeci_left {
        left: -10rem; } }
  @media only screen and (max-width: 1199px) {
    #pro-uchazece {
      justify-content: left; }
      #pro-uchazece #uchazeci_left {
        display: none; }
      #pro-uchazece #uchazeci_right #uchazeci_heading h2 {
        line-height: 2rem; }
        #pro-uchazece #uchazeci_right #uchazeci_heading h2 span {
          display: inline-block;
          margin-bottom: 0.5rem; }
      #pro-uchazece #uchazeci_right #uchazeci_text p br {
        display: none; } }
  @media only screen and (max-width: 876px) {
    #pro-uchazece #uchazeci_right #uchazeci_btn {
      display: flex;
      justify-content: center; } }

#duvody {
  background: url("/assets/images/home/duvody_bg.webp"), #05B1FF;
  background-size: cover;
  background-repeat: no-repeat;
  color: white;
  height: 30rem;
  padding: 0 15%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative; }
  #duvody #duvody_left #duvody_heading h2 {
    font-weight: 700;
    line-height: 2.7rem;
    /* výchozí stav – zachování barev: text $light_blue, obdélník bílý */
    /* aktivace wipe efektu */ }
    #duvody #duvody_left #duvody_heading h2 span {
      color: #05B1FF;
      padding: 0 0.5rem 0.2rem 0.5rem;
      background: linear-gradient(to right, white, white);
      background-repeat: no-repeat;
      background-position: left;
      background-size: 0% 100%; }
    #duvody #duvody_left #duvody_heading h2 span.animate-highlight {
      animation: highlight-wipe 0.8s ease-out forwards; }
  #duvody #duvody_left #duvody_body {
    display: flex;
    gap: 4rem;
    margin-top: 2rem; }
    #duvody #duvody_left #duvody_body .duvody_body_card ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.5rem; }
      #duvody #duvody_left #duvody_body .duvody_body_card ul li {
        display: flex;
        align-items: center;
        gap: 0.7rem; }
        #duvody #duvody_left #duvody_body .duvody_body_card ul li i {
          font-size: 1.5rem; }
  #duvody #duvody_right {
    position: absolute;
    top: 0;
    right: 0; }
    #duvody #duvody_right .duvody_mobil {
      display: none; }
  @media only screen and (max-width: 1920px) {
    #duvody {
      padding: 0 10%; } }
  @media only screen and (max-width: 1680px) {
    #duvody {
      padding: 0 5%; } }
  @media only screen and (max-width: 1431px) {
    #duvody #duvody_left #duvody_body {
      gap: 2rem; } }
  @media only screen and (max-width: 1431px) {
    #duvody {
      overflow: hidden; }
      #duvody #duvody_right {
        right: -5rem; } }
  @media only screen and (max-width: 1199px) {
    #duvody {
      flex-wrap: wrap; }
      #duvody #duvody_left {
        width: 100%; }
        #duvody #duvody_left #duvody_body {
          gap: 0; }
          #duvody #duvody_left #duvody_body .duvody_body_card ul li i {
            margin-top: -1.5rem; }
      #duvody #duvody_right {
        position: relative;
        right: 0;
        left: -2rem;
        top: auto;
        bottom: -4rem; }
        #duvody #duvody_right .duvody_pc {
          display: none; }
        #duvody #duvody_right .duvody_mobil {
          display: block; } }
  @media only screen and (max-width: 1010px) {
    #duvody {
      height: auto;
      padding: 4rem 5%; }
      #duvody #duvody_left #duvody_body {
        flex-wrap: wrap; }
        #duvody #duvody_left #duvody_body .duvody_body_card {
          width: 100%; } }

#kontakt {
  padding: 4rem 15%;
  display: flex;
  justify-content: space-between; }
  #kontakt #kontakt_left #kontakt_heading h2 {
    font-weight: 700;
    line-height: 2.7rem;
    /* výchozí stav – bílý text, modrý obdélník */
    /* aktivace wipe efektu */ }
    #kontakt #kontakt_left #kontakt_heading h2 span {
      color: white;
      padding: 0 0.5rem 0.2rem 0.5rem;
      background: linear-gradient(to right, #05B1FF, #05B1FF);
      background-repeat: no-repeat;
      background-position: left;
      background-size: 0% 100%; }
    #kontakt #kontakt_left #kontakt_heading h2 span.animate-highlight {
      animation: highlight-wipe 0.8s ease-out forwards; }
  #kontakt #kontakt_left #kontakt_info {
    margin-top: 2rem; }
    #kontakt #kontakt_left #kontakt_info h3 {
      font-size: 1.3rem;
      font-weight: 700; }
    #kontakt #kontakt_left #kontakt_info ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 0.5rem; }
      #kontakt #kontakt_left #kontakt_info ul li {
        display: flex;
        align-items: center;
        gap: 0.5rem; }
        #kontakt #kontakt_left #kontakt_info ul li .kontakt_info_icon {
          background: #E6F3FF;
          border-radius: 5px;
          width: 2rem;
          height: 2rem;
          display: flex;
          flex-shrink: 0;
          justify-content: center;
          align-items: center; }
        #kontakt #kontakt_left #kontakt_info ul li a {
          text-decoration: none;
          color: #262626;
          font-weight: 600; }
  #kontakt #kontakt_left #kontakt_socky {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem; }
    #kontakt #kontakt_left #kontakt_socky a {
      display: block;
      color: #262626;
      font-size: 2rem;
      transition: 0.3s ease; }
      #kontakt #kontakt_left #kontakt_socky a:hover {
        color: #05B1FF; }
  #kontakt #kontakt_right {
    width: 33rem; }
    #kontakt #kontakt_right form {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem; }
      #kontakt #kontakt_right form .kontakt_right_input_wrap label {
        display: block; }
        #kontakt #kontakt_right form .kontakt_right_input_wrap label span {
          color: #CB0D0D; }
      #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=text], #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=tel], #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=email] {
        width: 100%;
        height: 2.7rem;
        padding: 0 1rem;
        border-radius: 10px;
        border: 1px solid #E6E6E6;
        outline: red; }
        #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=text]:focus, #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=tel]:focus, #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=email]:focus {
          outline: 1px solid #05B1FF; }
        #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=text]::placeholder, #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=tel]::placeholder, #kontakt #kontakt_right form .kontakt_right_input_wrap input[type=email]::placeholder {
          color: #929292; }
      #kontakt #kontakt_right form .kontakt_right_input_wrap textarea {
        width: 100%;
        height: 10rem;
        min-height: 10rem;
        max-height: 10rem;
        padding: 1rem;
        border: 1px solid #E6E6E6;
        border-radius: 10px; }
        #kontakt #kontakt_right form .kontakt_right_input_wrap textarea:focus {
          outline: 1px solid #05B1FF; }
        #kontakt #kontakt_right form .kontakt_right_input_wrap textarea::placeholder {
          color: #929292; }
      #kontakt #kontakt_right form .textarea_input {
        grid-column: span 2; }
      #kontakt #kontakt_right form .check_input {
        grid-column: span 2; }
        #kontakt #kontakt_right form .check_input label {
          display: flex;
          align-items: center;
          cursor: pointer;
          user-select: none; }
          #kontakt #kontakt_right form .check_input label p {
            margin: 0;
            padding-left: 0.5rem;
            display: inline; }
            #kontakt #kontakt_right form .check_input label p a {
              text-decoration: none;
              color: #262626;
              font-weight: 600; }
          #kontakt #kontakt_right form .check_input label input[type=checkbox] {
            appearance: none;
            -webkit-appearance: none;
            margin: -1.5rem 0 0 0;
            position: relative;
            width: 18px;
            height: 18px;
            border: 1px solid #ccc;
            background-color: white;
            border-radius: 4px;
            cursor: pointer;
            transition: background-color 0.2s, border-color 0.2s; }
            #kontakt #kontakt_right form .check_input label input[type=checkbox]::after {
              content: "";
              position: absolute;
              display: none;
              left: 3px;
              top: 2px;
              width: 7px;
              height: 10px;
              border: solid white;
              border-width: 0 3px 3px 0;
              transform: rotate(45deg); }
            #kontakt #kontakt_right form .check_input label input[type=checkbox]:checked {
              background-color: #05B1FF;
              border-color: #05B1FF; }
              #kontakt #kontakt_right form .check_input label input[type=checkbox]:checked::after {
                display: block; }
            #kontakt #kontakt_right form .check_input label input[type=checkbox]:focus-visible {
              outline: 2px solid #05B1FF;
              outline-offset: 2px; }
      #kontakt #kontakt_right form button {
        grid-column: span 2;
        width: 100%;
        background: #262626;
        color: white;
        height: 3rem;
        border-radius: 6px;
        border: none;
        transition: 0.3s ease; }
        #kontakt #kontakt_right form button:hover {
          background: #05B1FF; }
  @media only screen and (max-width: 1920px) {
    #kontakt {
      padding: 4rem 10%; } }
  @media only screen and (max-width: 1680px) {
    #kontakt {
      padding: 4rem 5%; } }
  @media only screen and (max-width: 1090px) {
    #kontakt {
      flex-wrap: wrap;
      justify-content: center;
      gap: 1rem; }
      #kontakt #kontakt_left {
        width: 100%; }
        #kontakt #kontakt_left #kontakt_heading {
          text-align: center; }
        #kontakt #kontakt_left #kontakt_text {
          text-align: center; }
          #kontakt #kontakt_left #kontakt_text br {
            display: none; } }
  @media only screen and (max-width: 617px) {
    #kontakt #kontakt_right {
      width: 100%; } }
  @media only screen and (max-width: 460px) {
    #kontakt #kontakt_right form {
      display: flex;
      flex-direction: column;
      gap: 0.5rem; } }

@keyframes highlight-wipe {
  to {
    background-size: 100% 100%; } }

@keyframes text-color-change {
  from {
    color: #262626; }
  to {
    color: #ffffff; } }

#footer_content {
  background: url("/assets/images/footer/footer_bg.webp");
  background-size: cover;
  background-repeat: no-repeat;
  color: white;
  padding: 4rem 0;
  text-align: center; }
  #footer_content #footer_content_logo {
    margin-bottom: 4rem; }

#footer_copy {
  display: flex;
  justify-content: space-between;
  padding: 0.6rem 15%;
  background: #262626;
  color: white; }
  #footer_copy p {
    padding: 0;
    margin: 0; }
    #footer_copy p a {
      text-decoration: none;
      color: #05B1FF; }

@media only screen and (max-width: 1920px) {
  #footer_copy {
    padding: 0.6rem 10%; } }

@media only screen and (max-width: 1680px) {
  #footer_copy {
    padding: 0.6rem 5%; } }

@media only screen and (max-width: 767px) {
  #footer_content p br {
    display: none; }
  #footer_copy {
    flex-wrap: wrap;
    text-align: center;
    justify-content: center; }
    #footer_copy p {
      width: 100%; } }

body {
  font-family: "Inter", sans-serif !important; }
