/* Root *//*#region*/
  @import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');
  :root {
    --color-blue: #012B99;
    --color-link: #2B6D95;
    --color-dark: #010101;
    --color-gray: #5A5A5A;
    --color-white-75: rgba(255,255,255,0.75);
    --color-white-50: rgba(255,255,255,0.5);
    --color-white-25: rgba(255,255,255,0.25);
    --color-white-10: rgba(255,255,255,0.1);
    --color-white-5: rgba(255,255,255,0.05);
    --transition: 0.25s ease;
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    background: var(--color-blue);
    font-family: "Manrope", sans-serif;
    color: white;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    margin: 0;
  }
  h1 {
    font-size: 56px;
    line-height: 66px;
    font-weight: 700;
    margin: 0 0 20px 0;
  }
  h2 {
    font-size: 36px;
    line-height: 46px;
    font-weight: 700;
    margin: 0 0 20px 0;
  }
  h3 {
    font-size: 30px;
    line-height: 38px;
    font-weight: 700;
    margin: 0 0 20px 0;
  }
  h4 {
    font-size: 24px;
    line-height: 34px;
    font-weight: 700;
    margin: 0 0 20px 0;
  }
  h5 {
    font-size: 20px;
    line-height: 32px;
    font-weight: 600;
    margin: 0 0 20px 0;
  }
  p, a {
    font-size: 15px;
    line-height: 25px;
    font-weight: 500;
    letter-spacing: 0.25px;
    margin: 0 0 20px 0;
  }
  a {
    color: white;
  }
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: white;
    color: var(--color-blue);
    font-size: 24px;
    line-height: 36px;
    font-weight: 600;
    text-decoration: none;
    padding: 20px 30px 20px 25px;
    margin-top: 10px;
    border-radius: 15px;
    border: 1px solid white;
    transition: var(--transition);
  }
    .btn svg {
      padding-right: 10px;
      fill: var(--color-blue);
      transition: var(--transition);
    }
    .btn:hover {
      color: white;
      background: var(--color-blue);
      text-decoration: none;
      transition: var(--transition);
    }
    .btn:hover svg {
      fill: white;
      transition: var(--transition);
    }
    .btn.border {
      padding: 10px 15px;
      font-size: 15px;
      line-height: 25px;
      border-radius: 25px;
      background: transparent;
      color: white;
      border: 1px solid white;
    }
    .btn.border:hover {
      background: white;
      color: var(--color-blue) !important;
    }
    .btn.border:hover i {
      color: var(--color-blue);
    }
    @media (max-width: 1020px) {
      .hide-laptop { display: none; }
    }
    @media (max-width: 700px) {
      .hide-tablet { display: none; }
      h1 { font-size: 42px; line-height: 52px; }
      .btn { font-size: 20px; line-height: 30px; }
    }
    @media (max-width: 480px) {
      .hide-phone { display: none; }
      h1 { font-size: 34px; line-height: 44px; }
      .btn { font-size: 16px; line-height: 26px; padding: 12px 20px; }
    }
/*#endregion*/

/* Lead *//*#region*/
  #lead {
    padding: 30px 40px 30px 50px;
    border-radius: 20px 20px 100px 20px;
    background: url("../images/img-lead.png") bottom right no-repeat;
    overflow: hidden;
  }
    #lead .header {
      width: 100%;
      display: flex;
      justify-content: space-between;
    }
      #lead .header #logo {
        display: flex;
        align-items: center;
        gap: 23px;
        margin-top: 10px;
      }
        #lead .header #logo #logo-icon img {
          width: 73px;
          height: 75px;
          animation: logo-rotate 10s infinite; 
        }
        #lead .header #logo #logo-text img {
          width: 206px;
          height: 35px;
        }
      #lead .header #main {
        display: flex;
        gap: 20px;
        align-items: center;
        margin-top: 20px;
      }
        #lead .header #main a {
          margin-top: 5px;
          text-decoration: none;
          transition: var(--transition);
        }
        #lead .header #main a:hover {
          text-decoration: none;
          color: var(--color-white-50);
          transition: var(--transition);
        }
    #lead #logo-bg {
      position: absolute;
      top: 20px;
      left: 20px;
      width: 665px;
      height: 304px;
      z-index: -1;   
    }
    #lead .container {
      margin: 75px 0;
      width: 680px;
    }
      #lead .container h5 {
        padding-right: 150px;
      }
      #lead .container p {
        padding-right: 250px;
      }

    @media (max-width: 1020px) {
      #lead { padding: 10px 30px 550px 30px; }
        #lead .header #logo { gap: 15px; }
          #lead .header #logo #logo-icon img { width: 49px; height: 50px; }
          #lead .header #logo #logo-text img { width: 138px; height: 23px; }
        #lead .container { width: 100%; margin: 50px 0; }
          #lead .container h5 { padding-right: 0; }
          #lead .container p { padding-right: 0; }
    }
    @media (max-width: 480px) {
      #lead { padding: 10px 30px 350px 30px; background-size: 100%; }
        #lead .header #logo { gap: 15px; margin-top: 20px; }
          #lead .header #logo #logo-icon img { width: 49px; height: 50px; }
          #lead .header #logo #logo-text img { width: 138px; height: 23px; }
        #lead .container { width: 100%; margin: 25px 0; }
          #lead .container h5 { padding-right: 0; }
          #lead .container p { padding-right: 0; }
    }
    @media (max-width: 360px) {
      #lead { padding: 10px 30px 250px 30px; }
    }
    @keyframes logo-rotate {
      0% { transform: rotate(0deg); }
      15% { transform: rotate(360deg); }
      100% { transform: rotate(360deg); }
    }
/*#endregion*/

/* Rólunk boxok *//*#region*/
#rolunk {
  opacity: 0;
  display: flex;
  flex-direction: row;
  gap: 20px;
}
  #rolunk.show {
    opacity: 1;
    transition: opacity 1s ease-in-out;
  }
  #rolunk .box {
    flex: 33.33%;
    display: inline-flex;
    flex-direction: column;
    background: linear-gradient(var(--color-white-10), var(--color-white-5));
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
  }
    #rolunk .box svg {
      margin: 0 auto;
    }
    #rolunk .box h4 {
      margin-top: 10px;
    }

  @media (max-width: 800px) {
    #rolunk { flex-direction: column; }
  }
/*#endregion*/

/* Szolgáltatás boxok fent *//*#region*/
#szolgaltatasok {
  opacity: 0;
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding-top: 20px;
}
  #szolgaltatasok.show {
    opacity: 1;
    transition: opacity 1s ease-in-out;
  }
  #szolgaltatasok #box1 {
    width: 100%;
    padding-top: 100px;
    display: flex;
    justify-content: flex-end;
  }
    #szolgaltatasok #box1 .box4box {
      width: 60%;
      display: inline-flex;
      flex-direction: column;
      justify-content: center;
      background: linear-gradient(135deg, var(--color-white-50), var(--color-white-75));
      border-radius: 200px 200px 10px 200px;
      padding: 30px 15px 20px 40px;
      text-align: center;
    }
      #szolgaltatasok #box1 .box4box svg {
        margin: 0 auto;
        animation: boxicon-rotate 2.5s infinite linear; 
      }
      #szolgaltatasok #box1 .box4box h3 {
        margin-bottom: 10px;
        margin-top: 10px;
      }
      #szolgaltatasok #box1 .box4box h3, #szolgaltatasok #box1 .box4box p {
        color: var(--color-blue);
      }
    #szolgaltatasok #box2 {
      width: 100%;
      display: flex;
      justify-content: flex-start;
    }
      #szolgaltatasok #box2 .box4box {
        width: 90%;
        display: inline-flex;
        flex-direction: column;
        justify-content: flex-start;
        background: url("../images/img-box4-2.png") bottom left;
        background-size: cover;
        border-radius: 200px 200px 200px 10px;
        padding: 50px 40px 250px 40px;
        text-align: center;
      }
        #szolgaltatasok #box2 .box4box h3 {
          margin-bottom: 10px;
        }

  @media (max-width: 800px) {
    #szolgaltatasok { flex-direction: column; }
    #szolgaltatasok #box1, #szolgaltatasok #box2 { padding: 0; }
    #szolgaltatasok .box4box { width: 100% !important; }
  }
  @keyframes boxicon-rotate {
    100% { transform: rotate(360deg); }
  }
/*#endregion*/

/* Szolgáltatás boxok lent *//*#region*/
#szolgaltatasok-2 {
  opacity: 0;
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding-bottom: 20px;
}
  #szolgaltatasok-2.show {
    opacity: 1;
    transition: opacity 1s ease-in-out;
  }
  #szolgaltatasok-2 #box1 {
    width: 100%;
    padding-bottom: 100px;
    display: flex;
    justify-content: flex-end;
  }
    #szolgaltatasok-2 #box1 .box4box {
      width: 65%;
      display: inline-flex;
      flex-direction: column;
      justify-content: flex-end;
      background: url("../images/img-box4-3.png") top right;
      border-radius: 200px 10px 200px 200px;
      padding: 100px 60px 20px 60px;
      text-align: center;
    }
      #szolgaltatasok-2 #box1 .box4box h3 {
        margin-bottom: 10px;
        margin-top: 10px;
      }
    #szolgaltatasok-2 #box2 {
      width: 100%;
      display: flex;
      justify-content: flex-start;
    }
      #szolgaltatasok-2 #box2 .box4box {
        width: 70%;
        display: inline-flex;
        flex-direction: column;
        justify-content: flex-start;
        background: url("../images/img-box4-4.png") bottom right;
        background-size: cover;
        border-radius: 10px 200px 200px 200px;
        padding: 40px 260px 150px 40px;
        text-align: left;
      }
        #szolgaltatasok-2 #box2 .box4box h3 {
          margin-bottom: 10px;
        }

  @media (max-width: 800px) {
    #szolgaltatasok-2 { flex-direction: column; }
    #szolgaltatasok-2 #box1, #szolgaltatasok-2 #box2 { padding: 0; }
    #szolgaltatasok-2 .box4box { width: 100% !important; }
    #szolgaltatasok-2 #box2 .box4box { padding-right: 40px; }
  }
/*#endregion*/

/* CTA *//*#region*/
#cta {
  display: flex;
  background: url("../images/img-cta-bg.png") top center no-repeat;
  background-size: cover;
  border-radius: 25px;
  height: 175px;
  overflow: hidden;
  margin-top: 50px;
}
  #cta .img {
    width: 380px;
    height: 380px;
    position: absolute;
    overflow: hidden;
    left: 30px;
    margin-top: -205px;
  }
  #cta .img #cta-img {
    margin-top: 100px;
  }
  #cta .txt {
    padding-left: 390px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #cta .txt h2 {
    margin-bottom: 5px;
  }
  #cta .txt h5 {
    margin-bottom: 0;
  }
  #cta .btns {
    text-align: center;
    min-width: 300px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #cta .btns a, #cta .btns .btn, #cta .btns .btn:hover {
    text-decoration: none;
  }
  #cta .btns a:hover {
    text-decoration: underline;
  }

  @media (max-width: 1020px) {
    #cta { flex-direction: column; height: 250px; }
    #cta .img { display: none; }
    #cta .txt { padding: 0; text-align: center; padding-top: 30px; padding-bottom: 30px; }
    #cta .btns { padding: 0; flex-direction: row; gap: 20px; align-items: center; }
    #cta .btns .btn { padding-top: 10px; padding-bottom: 10px; }
  }
  @media (max-width: 640px) {
    #cta { height: 300px; }
    #cta .txt { width: calc(100% - 40px); padding: 20px; }
    #cta .txt h2 { font-size: 24px; }
    #cta .btns { min-width: calc(100% - 40px); padding: 0 20px; flex-direction: column; gap: 0; }
  }
/*#endregion*/

/* Referenciák *//*#region*/
#referenciak h2 {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 50px;
}
  #referenciak .scroller {
    max-width: 100%;
  }
  #referenciak .scroller .scroller__inner {
    padding-block: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  #referenciak .scroller .scroller__inner img {
    border-radius: 300px;
  }
  #referenciak .scroller[data-animated="true"] {
    overflow: hidden;
    mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
  }
  #referenciak .scroller[data-animated="true"] .scroller__inner {
    width: max-content;
    flex-wrap: nowrap;
    animation: scroll var(--_animation-duration, 40s)
      var(--_animation-direction, forwards) linear infinite;
  }
  #referenciak .scroller[data-direction="right"] {
    --_animation-direction: reverse;
  }
  #referenciak .scroller[data-direction="left"] {
    --_animation-direction: forwards;
  }
  #referenciak .scroller[data-speed="fast"] {
    --_animation-duration: 20s;
  }
  #referenciak .scroller[data-speed="slow"] {
    --_animation-duration: 60s;
  }

@keyframes scroll {
  to {
    transform: translate(calc(-50% - 0.5rem));
  }
}
/*#endregion*/

/* Kapcsolat *//*#region*/
#kapcsolat {
  display: flex;
  background: var(--color-white-25);
  border-radius: 25px;
  height: 175px;
  overflow: hidden;
  margin-top: 50px;
}
  #kapcsolat .kapcsblokk {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
  }
  #kapcsolat .kapcsblokk.middle {
    background: var(--color-white-5);
  }
  #kapcsolat .kapcsblokk h3 {
    padding-left: 50px;
    padding-right: 50px;
    margin: 0;
  }
  #kapcsolat .kapcsblokk a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 30px;
    line-height: 56px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    margin: 0;
    height: 100%;
    transition: var(--transition);
  }
    #kapcsolat .kapcsblokk a:hover {
      color: var(--color-blue);
      background: var(--color-white-75);
      transition: var(--transition);
    }
    #kapcsolat .kapcsblokk a svg {
      fill: white;
      margin-right: 10px;
      transition: var(--transition);
    }
    #kapcsolat .kapcsblokk a:hover svg {
      fill: var(--color-blue);
      transition: var(--transition);
    }

  @media (max-width: 800px) {
    #kapcsolat { flex-direction: column; height: 525px; }
    #kapcsolat .kapcsblokk { height: 175px; }
    #kapcsolat .kapcsblokk h3, #kapcsolat .kapcsblokk a { font-size: 24px; text-align: center; padding: 0; }
  }
/*#endregion*/

/* Footer *//*#region*/
#footer p {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 50px;
  color: var(--color-white-50);
}
/*#endregion*/