/* =========== Font Styles ============ */

:root {
    --color-primary: #00547B;
    --color-primary-darker: #002131;
    --color-secondary: #00A5AA;
    --color-accent-red: #ED6B62;
    --color-grey:#F2F2F2;
    --color-white: #ffffff;
    --color-bg-light: #ffffff;
    --color-text: #070707;

    --font-heading: "Outfit", sans-serif;
    --font-body: "Outfit", sans-serif;
    --bs-gutter-x: 2rem!important;
}

* {
    font-family: var(--font-body);
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
}

::selection {
    background: #00A5AA;
    color: white;
    text-shadow: none;
}

::-moz-selection {
    background: #00A5AA;
    color: white;
    text-shadow: none;
}

body {
    color: var(--color-text);
    background-color: var(--color-white);
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: var(--color-primary);
}

a:hover {
    color: var(--color-secondary);
}

.material-symbols-outlined {
    font-variation-settings:
            'FILL' 0,
            'wght' 300,
            'GRAD' 0,
            'opsz' 24
}
.material-symbols-outlined {
    color:currentColor;
}

h1 {
    font-size: 56px;
    font-style: normal;
    font-weight: 600;
    line-height: 105%;
    margin-bottom: 56px;
    color: var(--color-primary);
}

h2 {
    font-size: 48px;
    font-weight: 600;
    line-height: 105%;
    letter-spacing: -0.48px;
    color: var(--color-primary);
    margin-bottom:24px;
}

h3 {
    font-size: 32px;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 20px;
    line-height: 1.2;
}

h4 {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-primary);
}

h5 {
    font-size: 24px;
    line-height: 1.4;
}

h6 {
    font-size: 18px;
    line-height: 1.4;
}

p{
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 32px;
}

.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary p,
.bg-primary span{
    color:#fff;
}

.text-regular {
    font-size: 18px;
    line-height: 1.5;
    color: var(--color-text);
    margin-bottom: 32px;
}
.text-medium {
    font-size: 18px;
}
.text-big {
    font-size: 24px;
}

.hero__dot {
    color: var(--color-accent-red);
    font-size: 175%;
    line-height: 0;
    letter-spacing: 0;
    display: inline;
    font-weight: 600;
}
.tagline{
    font-size: 24px;
    font-weight: 300;
    color: var(--color-primary);
    line-height: 150%;
    margin-bottom:16px;
}
.bg-primary .tagline{
    color: var(--color-white);
}
.hero__dot {
    color: var(--color-accent-red);
    font-size: 175%;
    line-height: 0;
    letter-spacing: 0;
    display: inline;
    font-weight: 600;
}

/* =========== Buttons ============ */

.btn {
    font-size: 18px;
    line-height: 150%;
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 6px;
    transition: all 0.2s ease;
    margin-bottom: 16px;
    margin-right:16px;
    width:fit-content;
}
[class^="col-"] .btn:last-child {
    margin-right:0px;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #00547B;
    --bs-btn-border-color: #00547B;

    --bs-btn-hover-color: #00547B;
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #00547B;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;

    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #00547B;
    --bs-btn-active-border-color: #00547B;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #00547B;
    --bs-btn-disabled-border-color: #00547B;
}
.bg-primary .btn-primary {
    --bs-btn-color: #00547B;
    --bs-btn-bg: #ffffff;
    --bs-btn-border-color: #ffffff;

    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #00547B;
    --bs-btn-hover-border-color: #fff;

}
.btn-outline {
    --bs-btn-color: #00547B;
    --bs-btn-bg: #fff;
    --bs-btn-border-color: #00547B;

    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #00547B;
    --bs-btn-hover-border-color: #00547B;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;

    --bs-btn-active-color: #00547B;
    --bs-btn-active-bg: #fff;
    --bs-btn-active-border-color: #00547B;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: #00547B;
    --bs-btn-disabled-bg: #fff;
    --bs-btn-disabled-border-color: #fff;
}
.bg-primary .btn-outline {
    --bs-btn-color: #fff;
    --bs-btn-bg: #00547B;
    --bs-btn-border-color: #ffffff;

    --bs-btn-hover-color: #00547B;
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;

}
.btn-cta {
    --bs-btn-color: var(--color-text);
    --bs-btn-bg: var(--color-accent-red);
    --bs-btn-border-color: var(--color-accent-red);

    --bs-btn-hover-color: var(--color-accent-red);
    --bs-btn-hover-bg: var(--color-white);
    --bs-btn-hover-border-color: var(--color-accent-red);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;

    --bs-btn-active-color: #00547B;
    --bs-btn-active-bg: #fff;
    --bs-btn-active-border-color: #00547B;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: #00547B;
    --bs-btn-disabled-bg: #fff;
    --bs-btn-disabled-border-color: #fff;
}

.btn-link {
    --bs-btn-color: #00547B;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: none;

    --bs-btn-hover-color: #00547B;
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: none;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;

    --bs-btn-active-color: #00547B;
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: #00547B;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --bs-btn-disabled-color: #00547B;
    --bs-btn-disabled-bg: #fff;
    --bs-btn-disabled-border-color: #fff;
    text-decoration: none;
    padding: 10px 0px!important;
}
.bg-primary .btn-link {
    --bs-btn-color: #fff;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: none;

    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: none;

    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: none;
}

.btn .material-symbols-outlined {
    vertical-align: text-top;
}
.btn .material-symbols-outlined {
    margin-left: 0;
    margin-right: 0;
}

.btn .material-symbols-outlined.icon-before {
    margin-right: 12px;
}

.btn .material-symbols-outlined.icon-after {
    margin-left: 12px;
}

.actions {
    display: flex;
    justify-content: left;
    gap: 16px;
    flex-wrap: wrap;
    align-items: baseline;
}

/* =========== Container  ============ */

.container-fluid{
    max-width: 100%;
    padding:0;
}
.indent{
    max-width:768px!important;
    margin: 0 auto;
}
.py-4{
    padding:80px 0px!important;
}
.py-5{
    padding:112px 0px!important;
}
.row-gap-3 {
    row-gap: 5rem !important;
}
.mb-6{
    padding-top: 112px!important;
    margin-bottom: 112px!important;
}
.col-lg-7:first-child,
.col-lg-8:first-child {
    padding-right: 58px;
}
/* =========== Backgrounds ============ */
.bg-primary{
    background-color: var(--color-primary)!important;
}
.bg-grey{
    background-color: var(--color-grey)!important;
}
/* =========== Lists ============ */


.list{
    padding-left:20px;
    margin-bottom:32px;
}
.list li{
    margin-bottom:8px;
    font-size: 18px;
    line-height: 1.5;
}
::marker {
    color: var(--color-primary);
    font-size: 110%;
}
.bg-primary ::marker,.bg-primary .list li {
    color: var(--color-white);
}
/* ============================================
   textpic SECTION
   ============================================ */
.textpic {
    padding: 0px;
}
.textpic.textpic-left .textpic-content{
    padding: 112px 80px 112px 64px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.textpic.textpic-right .textpic-content{
    padding: 112px 64px 112px 80px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.textpic-right .row {
    flex-direction: row-reverse;
}
.textpic-image--left,.textpic-image--right {
    height: 100%;
}

img.textpic-image {
    height:100%;
    width: 100%;
    object-fit: cover;
    overflow: hidden;
}
.textpic .col-lg-6 {
    padding: 0;
}

/* =========== Sticky-Sidebar ============ */
.sticky-sidebar-img {
    padding-top: 145px;
}


/* =========== Bootstrap Extensions ============ */


@media (max-width: 767px) {
    :root,.container,.row{
        --bs-gutter-x: 0px!important;
    }

    h1{
        font-size: 56px;
        line-height: 1.2;
    }
    h2 {
        font-size: 36px;
        line-height: 1.2;
    }
    h3 {
        font-size: 32px;
        line-height: 1.2;
    }
    h4 {
        font-size: 32px;
        line-height: 1.3;
    }
    h5 {
        font-size: 24px;
        line-height: 1.4;
    }
    h6 {
        font-size: 18px;
        line-height: 1.4;
    }
    section{
        margin-left:20px;
        margin-right:20px;
    }
    section.hero{
        margin-left:0px;
        margin-right:0px;
    }
    section.bg-primary,
    section.bg-grey{
        margin-left:0px;
        margin-right:0px;
        padding-left:20px!important;
        padding-right:20px!important;
    }
    .indent{
        max-width:100%!important;
    }
    .py-4{
        padding:48px 0px!important;
    }
    .py-5{
        padding:64px 0px!important;
    }
    p{
        font-size: 16px;
    }
    .text-regular {
        font-size: 16px;
    }
    .text-medium {
        font-size: 16px;
    }
    .list li{
        font-size: 16px;
    }
    .btn {
        font-size: 16px;
    }
    .col-lg-7:first-child,
    .col-lg-8:first-child {
        padding-right: 0;
        margin-bottom: 48px;
    }
    .col{
        flex:none;
    }
    .textpic {
        padding: 48px 0 56px;
    }
    .row.gx-5 > .col-lg-6:first-child {
        margin-bottom: 48px;
    }
    .textpic.textpic-left .textpic-content{
        padding: 0px 20px 48px 20px;
    }
    .textpic.textpic-right .textpic-content{
        padding: 0px 20px 48px 20px;
    }
    .textpic-image--left,
    .textpic-image--right {
        margin-left: -20px;
        margin-right: -20px;
    }
}

@media (max-width: 1023px) {
    section.hero{
        margin-left:0px;
        margin-right:0px;
    }
    .textpic {
        padding: 60px 0 70px;
    }
    .row.gx-5 > .col-lg-6:first-child {
        margin-bottom: 60px;
    }
}
@media (min-width: 1400px) {
    .container, .container-lg,
    .container-md, .container-sm,
    .container-xl, .container-xxl {
        max-width: 1440px;
    }
}

@media (min-width: 1600px) {
    .container {
        max-width: 1440px;
    }
}

@media (min-width: 1920px) {
    .container {
        max-width: 1440px;
    }
    .hero .container, .textpic .container{
        max-width: 1440px;
    }
}



/* Nur für testseiten */
[class^="col-"] button-component .btn {
    margin-right:16px!important;
}
[class^="col-"] button-component:last-child .btn {
    margin-right:0px;
}