@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900');

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
    background:var(--background);
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

:root {
--navy:#1A2B48;
--cyan: #00D1FF;
--green: #2ECC71;
--gold: #D4AF37;
--background: #F8F9FA;
--border:#E5E7EB;
--yellow: #FFC700;
--primary-font: 'Inter', sans-serif;
--text-color: #454552;
}
html {
  font-family: var(--primary-font)!important;
}
.green {
  color:var(--green)!important;
}
.cyan {
  color:var(--cyan)!important;
}
.gold {
  color:var(--gold)!important;
}
.green-background {
  background:var(--green)!important;
}
.cyan-background {
  background:var(--cyan)!important;
}
.gold-background {
  background:var(--gold)!important;
}
.wrapper {
    max-width:1600px;
    width:calc(100% - 40px);
    margin: 0 auto;
}
/* header start */
header {
    padding: 10px 0;
}
.header-flex {
    display: flex;
    justify-content:space-between;
    align-items:center;
}
.header-flex img {
    max-width:170px;
}
.header-flex-links, .form-flex-links {
    display:flex;
    gap:55px;
    font-size:14px;
    height:100%;
    align-items:flex-end;
}
.header-flex-links a, .form-flex-links a {
    text-decoration:none;
    color:var(--text-color);
    padding:7px 0;
}
.header-flex-links a:hover, .form-flex-links-green a:hover, .header-link-selected-green {
    border-bottom: 1px solid var(--green);
}
.form-flex-links-cyan a:hover, .header-link-selected-cyan {
    border-bottom: 1px solid var(--cyan);
}
.form-flex-links-gold a:hover, .header-link-selected-gold {
    border-bottom: 1px solid var(--gold);
}
.header-cta {
    width:170px;
    display:flex;
    justify-content:flex-end;
}
.header-cta a {
    padding:12px;
    background:var(--navy);
    font-size:15px;
    color:var(--background);
    font-weight:400;
    border-radius:10px;
    text-decoration:none;
}
.hero-headline {
    display:flex;
    flex-direction:column;
    text-align:center;
    padding:60px 0 140px 0;
}
/* form lead - checkbox start */
.checkbox-wrapper-4 * {
    box-sizing: border-box;
  }
  .checkbox-wrapper-4 a {
      color:var(--navy);
  }
  .checkbox-wrapper-4 .cbx {
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
    padding: 6px 0 6px 6px;
    border-radius: 6px;
    overflow: hidden;
    transition: all 0.2s ease;
    display: inline-block;
  }
  .checkbox-wrapper-4 .cbx span {
    float: left;
    vertical-align: middle;
    transform: translate3d(0, 0, 0);
  }
  .checkbox-wrapper-4 .cbx span:first-child {
    position: relative;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    transform: scale(1);
    border: 1px solid #cccfdb;
    transition: all 0.2s ease;
    box-shadow: 0 1px 1px rgba(0,16,75,0.05);
  }
  .checkbox-wrapper-4 .cbx span:first-child svg {
    position: absolute;
    top: 3px;
    left: 2px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 16px;
    stroke-dashoffset: 16px;
    transition: all 0.3s ease;
    transition-delay: 0.1s;
    transform: translate3d(0, 0, 0);
  }
  .checkbox-wrapper-4 .cbx span:last-child {
    padding-left: 8px;
    line-height: 18px;
  }
  .checkbox-wrapper-4 .cbx:hover span:first-child {
    border-color: var(--navy);
  }
  .checkbox-wrapper-4 .inp-cbx {
    position: absolute;
    visibility: hidden;
  }
  .checkbox-wrapper-4 .inp-cbx:checked + .cbx span:first-child {
    background: var(--navy);
    border-color: var(--navy);
    animation: wave-4 0.4s ease;
  }
  .checkbox-wrapper-4 .inp-cbx:checked + .cbx span:first-child svg {
    stroke-dashoffset: 0;
  }
  .checkbox-wrapper-4 .inline-svg {
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none;
    user-select: none;
  }
  @media screen and (max-width: 640px) {
    .checkbox-wrapper-4 .cbx {
      width: 100%;
      display: inline-block;
    }
  }
  @-moz-keyframes wave-4 {
    50% {
      transform: scale(0.9);
    }
  }
  @-webkit-keyframes wave-4 {
    50% {
      transform: scale(0.9);
    }
  }
  @-o-keyframes wave-4 {
    50% {
      transform: scale(0.9);
    }
  }
  @keyframes wave-4 {
    50% {
      transform: scale(0.9);
    }
  }
 /* form lead - checkbox end */
/* sterne badge start */
.sterne-badge {
  color:var(--yellow);
  font-size:14px;
  font-weight:800;
  letter-spacing: 2px;
  text-align: center;
  margin-bottom:25px;
 
}
.sterne-badge>span {
  letter-spacing: 2px;
color:var(--green);
font-size:13px;
font-weight:600;
margin-left:5px;
}
/* sterne badge end */
.hero-headline h1 {
    font-size:50px;
    color:var(--navy);
    font-weight:600;
}
.hero-border {
    border-top: 1px solid var(--border);
}
.hero-flex {
    position:relative;
    top:-60px;
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
    width:80%;
    margin: 0 auto;
    gap:25px;
}
.hero-item {
    padding:20px;
    border-radius:16px;
    border: 2px solid var(--border);
    background:var(--background);
    width:calc(100% - 44px);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.hero-item-subheadline {
    letter-spacing: 2px;
    font-weight:400;
    font-size:13px;
    margin-bottom:10px;
    text-transform:uppercase;
}
.hero-item-headline {
    font-size:23px;
    color:var(--navy);
    font-weight:700;
    line-height:30px;
}
.hero-item-description {
    font-size:15px;
    line-height:21px;
    color:var(--text-color);
    margin:13px 0 20px 0;
}
.hero-item-cta {
    width:100%;
    display:block;
    text-align:center;
    text-decoration:none;
    border-radius:12px;
    color:var(--background);
    padding:13px 0;
    font-size:15px;
    font-weight:600;
    text-transform:uppercase;
}
/* header end */
/* lead form start */
.lead-form {
    position:relative;
    top:-70px;
    width:calc(100% - 72px);
    margin: 0 auto;
    max-width:800px;
    padding:15px;
    border-radius:15px;
    border:1px solid var(--border);
    background:white;
    box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.05);
    display:flex;
    flex-direction:column;
    gap:15px;
}
.lead-form>h3 {
    text-align:center;
    margin-bottom:10px;
    font-size:23px;
    color:var(--green);
    font-weight:600;
}
.lead-form div {
    display:flex;
    flex-direction:column;
    gap:6px;
}
.lead-form div>label {
    font-size:14px;
    color:var(--text-color);
}
.lead-form div>input {
    outline:none;
    border: 1px solid var(--border);
    border-radius:8px;
    padding:15px;
    width:calc(100% - 32px);
    font-family:var(--primary-font);
    font-size:15px;
    color:var(--text-color);
}
.lead-form>button {
    outline:none;
    font-family:var(--primary-font);
    background:var(--green);
    border:none;
    border-radius:8px;
    margin-top:10px;
    padding:10px 0;
    width:100%;
    color:var(--background);
    font-size:17px;
    font-weight:600;
    cursor:pointer;
}
/* lead form end */
/* austrian badge start */
.austrian-badge {
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:12px;
    margin-bottom:25px;
}
.austrian-badge>img {
    width:21px;
    height:14px;
    border-radius:3px;
}
.austrian-badge>span {
    font-size:13px;
    color:#c8102e;
    font-weight:800;
}
/* austrian badge end */
/* impressum start */
.impressum-h1 {
  padding: 100px 0 0 0;
  font-size:24px;
  color:var(--regular);
  margin-bottom:25px;
}
.impressum p {
  color:var(--regular);
  line-height:22px;
  margin-bottom:8px;
}
.rechliches-ol {
  list-style: inside;
  list-style-type: decimal;
}
.rechliches-ol li {
  font-size:23px;
  font-weight:500;
  line-height:30px;
  padding: 20px 0 10px 0;
}
.rechtliches-p {
  color:var(--regular);
  line-height:22px;
  margin-bottom:10px;
}
.index-recht {
    font-size:11px;
    opacity:0.5;
    color:var(--primary-color);
    line-height:13px;
    text-align:center;
    margin-top:35px;
}
/* anfrage start */
.anfrage {
    background:var(--navy)!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:15px;
    height:100vh;
    min-height:400px;
}
.anfrage-h1 {
    font-size:28px;
    font-weight:600;
    color:var(--green);
}
.anfrage-h2 {
    color:white;
    font-size:17px;
    line-height:24px;
    font-weight:500;
}
.anfrage-a {
    text-decoration:none;
}
.anfrage-a>i {
    font-size:50px;
    color:var(--green);
}
/* anfrage end */
/* footer start */
.footer {
    padding:20px 0;
    margin-top:30px;
    text-align:center;
    display:flex;
    justify-content:center;
    gap:20px;
}
.footer>a {
    font-size:13px;
    color:var(--text-color);
    opacity:0.8;
    text-decoration:none;
}
/* footer end */
/* media query section start */
@media screen and (max-width:440px) {
    .hero-headline h1 {
        font-size:40px;
    }
    .sterne-badge {
        font-size:13px;
    }
    .sterne-badge>span {
        font-size:12px;
    }
    .hero-headline {
        padding:25px 0 105px 0;
    }
    .form-flex-links {
        display:grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 15px!important;
    }
    .form-flex-links>a {
        width:fit-content;
    }
    .form-flex-links > a:nth-child(3) {
    grid-column: 1 / span 2;
    width:100%;
    text-align:center;
}
}
@media screen and (max-width:650px) {
    .hero-item-subheadline {
        font-size:12px;
    }
    .hero-item-headline {
        font-size:20px;
    }
    .hero-item-description {
        font-size:13px;
        margin:10px 0;
    }
    .form-flex-links {
        gap:30px;
    }
    .hero-flex {
    grid-template-columns: 1fr;
    width:100%;
}
}
@media screen and (max-width:790px) {
    .header-flex-links, .header-cta {
        display:none;
        visibility:hidden;
    }
    .header-menu {
        display:block;
        visibility:visible;
        padding:10px;
        font-size:22px;
        color:var(--navy);
    }
}
@media screen and (min-width:791px) {
    .header-menu {
    display:none!important;
    visibility: hidden!important;
}
}
@media screen and (min-width:441px) and (max-width:790px) {
    .hero-headline {
        padding:40px 0 140px 0;
    }
}
@media screen and (min-width:791px) and (max-width:950px) {
    .header-flex-links {
        gap:30px;
    }
}
@media screen and (min-width:651px) and (max-width:1000px) {
    .hero-flex {
    grid-template-columns: 1fr 1fr; 
}
/* Target the 3rd item to span both columns */
.hero-flex > *:nth-child(3) {
    grid-column: 1 / span 2;
}
}
@media screen and (max-width:1100px) {
    .hero-flex {
        width:100%;
    }
}
@media screen and (min-width:1101px) and (max-width:1200px) {
    .hero-flex {
        width:90%;
    }
}