:root {
    --color-blue: #1d3e8a;
    --color-l-blue: #3F67AB;
    --color-l-white: #f5f5f5;
    --color-white: #ffffff;
    --color-white-hover: #e9eef5;
    --color-red: #e0071a;
    --color-black: #1a1b18;
    --color-grey: #f5f7fa;
}

html {
    font-size: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-family: "Open Sans", sans-serif
}

ol, ul {
    margin: 0 0 9px;
    list-style: none;
}

table {
    width: 100%;
    margin: 0 0 1.5em 0;
    border-collapse: separate;
    border-spacing: 0;
}

caption,td,th {
    font-weight: 400;
    text-align: left
}

blockquote:after,blockquote:before,q:after,q:before {
    content: ""
}

blockquote,q {
    quotes: "" ""
}

a:focus {
    outline: thin dotted
}

a:active,a:hover {
    outline: 0
}

a img {
    border: 0
}

button,input,select,textarea {
    font: inherit;
    word-wrap: break-word
}

a,a:active,a:focus,a:hover {
    cursor: pointer;
    color: var(--color-blue);
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em
}

p {
    margin-bottom: 1.5em;
    text-align: justify;
}

ol {
    list-style: decimal
}

ol ol,ol ul,ul ol,ul ul {
    margin-bottom: 0;
    margin-left: 1.5em
}

dt {
    font-weight: 700
}

dd {
    margin: 1.5em 1.5em
}

b,strong, .predefined__strong {
    font-weight: 700
}

cite,dfn,em {
    font-style: italic
}

blockquote {
    margin: 0 1.5em
}

address {
    margin: 0 0 1.5em
}

th {
    font-weight: 700
}

button,input,select,textarea {
    margin: 0;
    vertical-align: baseline;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

button,input {
    line-height: normal
}

body {
    background: var(--color-l-white);
    color: var(--color-blue);
    margin: 0;
    font: inherit
}

.visit__card {
    position: absolute;
    width: 100%;
    line-height: 19px;
    z-index: 4;
}

.grid {
    float: right;
    display: flex;
    align-items: center;
    gap: 8px;
}

.grid .glyphicon:before {
    margin: 5px
}

div#menu {
    display: flex;
    justify-content: center;
    flex-direction: column-reverse;
    margin-right: 150px;
    z-index: 5;
}

@media (min-width: 1200px) {
    div#menu {
        width:100%;
        z-index:3;
    }
}

main#main p > a, main#main li > a {
    color: var(--color-red);
}

#masthead #header {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 3;
    color: var(--color-blue);
    text-decoration: none;
    background: var(--color-l-white);
    font-size: 1rem;
    min-height: 101px;
    border-bottom: 1px solid var(--color-blue)
}

#header .logo.go-to-the-right {
    left: calc(70% - 75px)
}

.h-menu-link {
    text-transform: uppercase
}

@media (min-width: 1201px) {
    #header .logo {
        background: var(--color-l-white);
        display: flex;
        transition: all 300ms ease-in-out;
        padding: 5px;
        z-index: 10
    }
}

@media screen and (max-width: 1200px) and (min-width:769px) {
    #header .logo {
        position:absolute;
        background: var(--color-l-white);
        padding: 5px 15px 15px 15px;
        transition: all 300ms ease-in-out;
        display: inline-block;
        left: calc(50% - 205px);
        z-index: 10
    }

    .pos_logo {
        width: 75%;
        margin: 10px !important;
        height: 60px;
    }

    .pos_logo img {
    }

    .collapse-it:after {
        right: 20px!important
    }
}

@media screen and (max-width: 768px) {
    #header .logo {
        position: absolute;
        transition: all 300ms ease-in-out;
        left: calc(50% - 135px);
        z-index: 10
    }
}

@media screen and (max-width: 980px) {
    .pos_logo {
        margin: 6px 10px!important;
        width: 200px;
    }

    .pos_logo img {
        width: 100%;
    }

    .collapse-it:after {
        width: 15px!important;
        height: 15px!important;
        right: 20px!important;
        top: auto!important
    }
}

@media screen and (max-width: 480px) {
    .collapse-it:after {
        right:10px!important;
        top: auto!important
    }
}

#header .pos_logo {
    margin: 20px;
    padding: 0
}

.site-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    background: var(--color-blue);
    color: var(--color-l-white);
}

.site-link svg {
    display: block;
}

.site-link:hover {
    background: var(--color-l-blue);
}

.mail-link {
    display: inline-flex;
    align-items: center;
}

@media (max-width: 767px) {
    .mail-link {
        margin-top: 15px;
    }

    .site-link {
    }
}

@media (min-width: 768px) {
    .mail-link {
        text-align: center;
        margin-top: 0px;
    }
}

a.mail {
    text-decoration: none;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease
}

#menu ul.main__ul {
    list-style: none;
    margin: 0;
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: center;
    min-height: 90px
}

#menu ul.main__ul li {
    padding: 25px 0;
    transition: all .3s ease;
    position: relative
}

@media (max-width: 1200px) {
    #menu ul.main__ul {
        display:block;
        padding: 0;
        margin-top: 15px;
    }

    #menu ul.main__ul li {
        display: block;
        padding: 0
    }
}

#menu ul.main__ul li a,#menu ul.main__ul li a:active,#menu ul.main__ul li a:focus,#menu ul.main__ul li a:hover {
    background: 0 0!important;
    text-transform: uppercase
}

#menu ul.main__ul li.menu__link a:hover, #menu ul.main__ul li.menu__not__link a:hover {
    text-decoration: none;
    color: var(--color-red);
}

#menu ul.main__ul li a {
    margin-left: 0;
    margin-right: 0;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease
}

#menu ul.main__ul li a:hover {
    margin-left: 5px;
    margin-right: -5px;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
    color: var(--color-red);
}

ul.dropdown-menu {
    background: var(--color-l-white)
}

ul.dropdown-menu a,ul.dropdown-menu a:hover {
    color: var(--color-blue);
}

ul.dropdown-menu li {
    padding: 15px 0!important
}

ul.dropdown-menu .divider {
    background-color: var(--color-l-white);
    padding: 0!important
}

ul.dropdown-menu li {
    padding: 10px 0!important
}

@media (min-width: 1601px) {
    .menu__left,.menu__right {
        display:inline-block!important;
        vertical-align: top
    }

    .menu__new__line {
        clear: both;
        height: 5px
    }

    .menu__left>div,.menu__right>div {
        min-width: 300px
    }
}

header#masthead {
    box-shadow: 20px 10px 20px rgba(0,0,0,.3);
    position: fixed;
    width: 100%;
    z-index: 999;
    transition: all .5s ease
}

.grid a {
    padding: 2px;
}

.navbar-toggle {
    float: left!important
}

.icon-bar {
    background-color: var(--color-blue);
}

.navbar-toggle .icon-bar {
    height: 3px
}

.predefined__noborder {
    border: none!important
}

.predefined__blau {
    color: var(--color-blue);
    word-break: break-word
}

.predefined__gold {
    color: var(--color-l-white);
    word-break: break-word
}

.predefined__rot {
    color: var(--color-red);
    word-break: break-word
}

.not-mine {
    position: absolute;
    height: 1px;
    width: 1px;
    top: -2000px;
    left: -2000px;
    overflow: hidden
}

.justified {
    text-align: justify;
    line-height: 1.5rem;
    white-space: pre-line
}

.aligned h2,.aligned h3,.aligned h4,.aligned h5,.aligned h6 {
    display: inline;
    letter-spacing: inherit;
    font-size: inherit;
    font-weight: 100
}

.sub__footer {
    background-color: var(--color-blue);
    padding: 30px 0;
    color: var(--color-grey);
    text-transform: capitalize;
    text-align: center
}

#footer {
    color: var(--color-blue);
    background-color: var(--color-blue);
    background-position: right bottom;
    background-attachment: scroll;
    background-repeat: repeat;
    width: 100%;
    position: relative;
    display: flex;
    border-top: 1px solid var(--color-l-white);
    border-bottom: 1px solid var(--color-l-white);
    padding-left: 30px
}

.footer-content,.footer-content a {
    text-transform: uppercase;
    font-size: .85rem;
    color: var(--color-l-white);
}

.widgettitle {
    color: var(--color-l-white);
    font-weight: 700;
}

.widgettitle:after {
    display: block;
    content: "";
    width: 60%;
    height: 1px;
    background-color: var(--color-l-blue);
    margin: 5px 0
}

@media (max-width: 991px) {
    .mobile__in__section {
        color:#000
    }
}

.mobile__in__section {
    padding: 0
}

.footer-content .glyphicon {
    margin-right: 10px
}

section>section.mobile__in__section {
    padding-top: 30px;
    padding-bottom: 30px;
    line-height: 35px
}

.sub__footer a {
    color: var(--color-l-white);
    text-transform: capitalize;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sub__footer a:hover, .sub__footer a:focus {
    color: var(--color-white-hover);
    text-decoration-thickness: 2px;
}

.department_title {
    color: var(--color-blue)
}

.department_title:after {
    display: block;
    content: "";
    width: 75%;
    height: 5px;
    background-color: rgba(128,128,128,.15);
    margin: 10px 0
}

.department_member>div.name {
    width: 50%;
    float: left
}

.department_member>div.info {
    width: 40%;
    float: left
}

.department_member:after {
    clear: both
}

.department_member>div.info>a {
    color: #2c7ae1;
    float: left;
    margin-right: 5px
}

.really__strong {
    text-transform: uppercase;
    font-weight: 700
}

.seo,.seo span {
    position: relative
}

.seo {
    text-align: center;
    text-transform: uppercase;
    overflow: hidden
}

.seo span {
    zoom:1;display: inline;
    vertical-align: auto;
    padding: 0 20px
}

.seo span:after,.seo span:before {
    content: '';
    display: block;
    width: 100px;
    position: absolute;
    top: .6em;
    border-top: 1px solid var(--color-blue)
}

.seo span:before {
    right: 100%
}

.seo span:after {
    left: 100%
}

@media(max-width: 767px) {
    .seo span:after,.seo span:before {
        display:none!important
    }
}

p.after__i {
    text-indent: 15px;
    padding-top: 5px
}

p.after__i a {
    color: #db2819;
    border-top: 1px solid;
    border-bottom: 1px solid;
    margin: 1px 5px;
    padding: 1px 5px
}

p.after__i i {
    color: #db2819;
    text-decoration: underline
}

@font-face {
    font-family: specials;
    src: url(../fonts/specials.eot);
    src: url(../fonts/specials.eot?#iefix) format("embedded-opentype"),url(../fonts/specials.woff) format("woff"),url(../fonts/specials.ttf) format("truetype"),url(../fonts/specials.svg#specials) format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

.spec-icon {
    font: normal normal normal 18px specials;
    font-weight: 100;
    margin: 5px;
    color: #55c65e
}

figcaption [class*=" spec-icon-"]:before,figcaption [class^=spec-icon-]:before,figcaption [data-spec-icon]:before {
    font-family: specials!important;
    font-style: normal!important;
    font-weight: 400!important;
    font-variant: normal!important;
    text-transform: none!important;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

figcaption [data-spec-icon]:before {
    content: attr(data-spec-icon)
}

figcaption .spec-icon-bluetooth:before {
    content: "a"
}

figcaption .spec-icon-network:before {
    content: "b"
}

figcaption .spec-icon-computer-network-streamline:before {
    content: "c"
}

figcaption .spec-icon-signal:before {
    content: "d"
}

figcaption .spec-icon-modem:before {
    content: "e"
}

.spec-icon-hard-drive:before {
    content: "f"
}

.spec-icon-measure:before {
    content: "g"
}

figcaption hr {
    margin-top: 10px;
    margin-bottom: 10px
}

@font-face {
    font-family: 'fba-font';
    src: url('../fonts/fba-font.eot?2bogu3');
    src: url('../fonts/fba-font.eot?2bogu3#iefix') format('embedded-opentype'), url('../fonts/fba-font.woff2?2bogu3') format('woff2'), url('../fonts/fba-font.woff?2bogu3') format('woff'), url('../fonts/fba-font.ttf?2bogu3') format('truetype'), url('../fonts/fba-font.svg?2bogu3#fba-font') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

i.fba, i[class^="fba-"], i[class*=" fba-"] {
    font-family: fba-font!important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.fba {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: fba-font;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    color: inherit;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.fba-star:before {
    content: "\e8fd"
}

.fba-comment:before {
    content: "\e8fe"
}

.fba-like:before {
    content: "\e8ff"
}

.fba-geo-alt:before {
    content: "\e908"
}

.fba-compass:before {
    content: "\e907"
}

.fba-geo-fill:before {
    content: "\e909"
}

.fba-envelope:before {
    content: "\e910"
}

.fba-facebook:before {
    content: "\e900"
}

.fba-instagram:before {
    content: "\e901"
}

.fba-messenger:before {
    content: "\e902"
}

.fba-twitter:before {
    content: "\e903"
}

.fba-whatsapp:before {
    content: "\e904"
}

.fba-youtube:before {
    content: "\e905"
}

.fba-envelop:before {
    content: "\e906"
}

.fba-tiktok:before {
    content: "\e90a"
}

.table-hover>tbody>tr:hover {
    background-color: #d5d5d5
}

.table-hover tbody th,td {
    border-bottom: 1px solid #607d8b!important;
    border-top: none!important
}

#floated_bigger {
    float: left;
    margin: 15px
}

#floated_bigger img {
    border: 1px solid #ccc;
    margin: 5px;
    width: 300px
}

#floated {
    float: left;
    margin: 15px
}

#floated img {
    border: 1px solid #ccc;
    margin: 5px
}

@media screen and (max-width: 600px) {
    div#floated {
        margin:2px;
        width: 50%
    }

    div#floated img {
        padding: 0px;
        width: 85%
    }

    div#floated_bigger {
        margin: 2px;
        width: 50%
    }

    div#floated_bigger img {
        padding: 0px;
        width: 75%
    }

    .justify {
        white-space: normal
    }

    .div__home h2 {
        font-size: 1rem
    }

    .div__home h1 {
        line-height: unset
    }

    h1 {
        font-size: 1rem;
        margin: 1rem 0px;
        line-height: 1.5rem
    }

    .div__home h3 {
        margin-top: 1rem
    }
}

.kontakt_title {
    color: #ce668a;
    line-height: 50px
}

.kontakt_title::before {
    border-left: 4px solid #ce668a;
    content: "";
    display: inline-block;
    position: relative;
    top: calc(-.1 * 1em);
    vertical-align: middle;
    height: .9em;
    margin-right: 16px
}

.div__kontakt {
    background: #aaa;
    margin: 5px;
    padding: 20px;
    color: #f4f4f4;
    height: 250px;
    margin-bottom: 30px
}

span.span_within_separator {
    line-height: 25px
}

@media screen and (max-width: 1600px) {
    .hidden-1600 {
        display:none
    }
}

.map {
    display: flex;
    height: 400px;
    width: 100%
}

@media (min-width: 1601px) {
    .map {
        background:url("/images/gm_sx3200.png") no-repeat center
    }
}

@media screen and (max-width: 1600px) {
    .map {
        background:url("/images/gm_sx1024.png") no-repeat center
    }
}

@media (max-width: 1024px) {
    .map {
        background:url("/images/gm_sx640.png") no-repeat center
    }
}

#site {
    text-align: justify;
    margin-bottom: 40px
}

#site a {
    color: var(--color-blue)
}

.picto {
    float: left;
    width: 50%;
    margin-right: 25px;
    max-width: 400px;
    min-width: 250px
}

.picto_v {
    float: left;
    width: 50%;
    margin-right: 25px;
    max-width: 300px;
    min-width: 250px
}

.picto:after,.picto_v:after {
    clear: both
}

.picto img,.picto_v img {
    width: 100%;
    border: 1px solid #ccc;
    padding: 1px
}

@media screen and (max-width: 600px) {
    .picto {
        float:none;
        min-width: 100%
    }

    .picto_v {
        max-width: 200px;
        min-width: 150px;
        margin-right: 10px
    }
}

.home_text_container {
    line-height: 1.7em
}

.home_text_container h1,.home_text_container h2, .home_text_container h3,.home_text_container h4, .home_text_container h5, .home_text_container h6 {
    font-weight: 100!important
}

.home_text_container > div.home_text {
    margin-bottom: 25px
}

.home_text_container > div.home_text_title {
    margin-bottom: 5px;
    text-decoration: underline;
    color: var(--color-blue)
}

.home_text_container > div.home_text_title h4 {
    color: var(--color-blue)!important;
    font-weight: normal!important
}

.picto_single {
    padding: 5px;
    margin-bottom: 20px
}

.picto_single img {
    padding: 1px;
    border: 1px solid #888;
    width: 100%
}

section#site h1 strong {
    color: var(--color-blue);
    word-break: break-word;
    text-transform: uppercase
}

section#site h1 b {
    color: var(--color-blue);
    word-break: break-word;
    text-transform: uppercase
}

.list ul {
    padding-left: 50px
}

.list li {
    position: relative
}

.list li:before {
    content: '';
    display: block;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    border: 2px solid #ddd;
    position: absolute;
    top: 10px;
    left: -24px
}

.list li:nth-child(odd):before {
    border-color: var(--color-blue)
}

.list li:nth-child(even):before {
    border-color: var(--color-blue)
}

.seo-banner {
    text-align: center;
    border-left: 2px solid var(--color-blue);
    border-right: 2px solid var(--color-blue);
    color: var(--color-blue);
    display: flow-root
}

.list {
    border-bottom: 1px solid #ccc
}

.collapse-it:after {
    content: "";
    position: absolute;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    width: 20px;
    height: 20px;
    right: 30px;
    top: 10px
}

.collapse-it {
    background: var(--color-l-white);
    display: block;
    width: 100%;
    border: 1px solid #ccc;
    padding: 10px;
    text-align: left
}

.card-body {
    padding: 10px
}

.btn_paypal div {
    display: inline-block;
    height: 25px
}

.btn_paypal {
    display: inline;
    height: 25px;
    white-space: normal
}

@media (min-width: 1201px) {
    .menu__link, .menu__not__link {
        font-size:75%
    }

    #menu ul.main__ul {
        margin-left: 15px
    }
}

@media (min-width: 1325px) {
    .menu__link, .menu__not__link {
        font-size:85%
    }

    #menu ul.main__ul {
        margin-left: 15px
    }
}

@media (min-width: 1451px) {
    .menu__link, .menu__not__link {
        font-size:95%
    }

    #menu ul.main__ul {
        margin-left: 0px;
    }
}

.d {
    font-size: 1.25em!important
}

.d-none {
    display: none!important
}

.d-block {
    display: block!important
}

@media (min-width: 576px) {
    .d {
        font-size:1.25em!important
    }

    .d-sm-inline {
        display: inline!important
    }

    .d-sm-inline-block {
        display: inline-block!important
    }

    .d-sm-block {
        display: block!important
    }

    .d-sm-none {
        display: none!important
    }
}

@media (min-width: 768px) {
    .d {
        font-size:1.25em!important
    }

    .d-md-inline {
        display: inline!important
    }

    .d-md-inline-block {
        display: inline-block!important
    }

    .d-md-block {
        display: block!important
    }

    .d-md-none {
        display: none!important
    }
}

@media (min-width: 992px) {
    .d {
        font-size:1.25em!important
    }

    .d-lg-inline {
        display: inline!important
    }

    .d-lg-inline-block {
        display: inline-block!important
    }

    .d-lg-block {
        display: block!important
    }

    .d-lg-none {
        display: none!important
    }
}

@media (min-width: 1200px) {
    .grid {
        margin:5px 10px!important
    }

    .d {
        font-size: 1em!important
    }

    .d-xl-inline {
        display: inline!important
    }

    .d-xl-inline-block {
        display: inline-block!important
    }

    .d-xl-block {
        display: block!important
    }

    .d-xl-none {
        display: none!important
    }
}

.move-5 {
    margin-left: 10px
}

.picto_r {
    float: right;
    max-width: 235px;
    width: 100%;
    margin-left: 15px
}

.picto_r img {
    width: 100%;
    padding: 1px;
    border: 1px solid #ccc
}

#sendit {
    margin-top: 20px;
}

#sendit .section {
    margin: 20px;
    padding: 20px;
    border-bottom: 1px solid var(--color-red)
}

@media screen and (max-width: 600px) {
    #sendit .section {
        margin:0px;
        padding: 0px
    }
}

@media screen and (max-width: 1500px) {
    .nav > li > a {
        padding: 10px 8px!important
    }
}

@media screen and (min-width: 1799px) {
    .nav > li > a {
        padding: 10px 20px!important
    }
}

.console,.console__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.console {
    position: fixed;
    bottom: 0;
    left: 0;
    background-color: var(--color-l-white);
    width: 100%;
    z-index: 900;
    -webkit-box-shadow: 0 0 1.25rem 0 rgba(17,20,24,.1);
    box-shadow: 0 0 1.25rem 0 rgba(17,20,24,.1);
    border-top: 1px solid var(--color-blue);
    padding-bottom: env(safe-area-inset-bottom);
    transform: translateZ(0);
    will-change: transform;
}

.console__item:not(:last-child) {
    border-right: 1px solid var(--color-blue)
}

.console__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 1.1875rem;
    padding-bottom: 1rem;
    width: 25vw;
    gap: 0.375rem
}

.console__item-icon {
    font-size: 1.5rem;
    display: inline-block;
    speak: none;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transform: translate(0);
    transform: translate(0)
}

.visit__card > div > a:hover, .console__item:hover {
    text-decoration: none;
    color: var(--color-red);
}

@media screen and (max-width: 767px) {
    body {
        min-width:20rem;
        max-width: 100%;
        overflow-x: hidden
    }
}

.btn-primary {
    text-transform: uppercase;
    background: var(--color-blue);
    color: var(--color-l-white)
}

#cookieInfo {
    text-align: left;
    position: fixed;
    z-index: 200000;
    background: #000000c9;
    font: 12px/15px Arial,sans-serif;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

#cookieInfo div.framing {
    width: 75%;
    padding: 21px 0 18px;
    background: #F8F8F8;
    margin: auto;
    top: 32%;
    position: absolute;
    left: 12.5%
}

@media(max-width: 600px) {
    #cookieInfo div.framing {
        top:0;
        left: 0;
        width: 100%
    }
}

#site article {
    max-width: 920px;
    margin: 0 auto;
    padding: 12px
}

.search-results {
    list-style: none;
    margin: 16px 0;
    padding: 0;
    display: grid;
    gap: 12px
}

.search-results li {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,.04);
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease
}

.search-results li > a {
    display: inline-block;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    color: #1a1a1a
}

.search-results li:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,0,0,.09);
    border-color: rgba(211,175,53,.45)
}

.search-results li:hover > a {
    color: var(--color-l-white);
    text-decoration: underline;
    text-underline-offset: 2px
}

.search-results li p {
    margin: 6px 0 0;
    color: #444;
    line-height: 1.45
}

.search-results mark {
    background: rgba(211,175,53,.22);
    padding: 0 .15em;
    border-radius: 3px
}

#site article > p {
    color: #666;
    background: #fafafa;
    border: 1px dashed rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 14px
}

@media (prefers-reduced-motion: reduce) {
    .search-results li {
        transition: none
    }
}

.search-results li > a::before {
    content: "›";
    margin-right: .5em;
    color: var(--color-l-white);
    font-weight: 700
}

.site-link, .lang-btn {
    width: 44px;
    height: 44px;
}

.lang-switcher {
    position: relative;
    display: inline-block;
    margin-top: 0;
}

@media (max-width: 767px) {
    .lang-switcher {
        margin-top: 15px;
    }
}

.lang-btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--color-blue);
    color: var(--color-l-white);
    cursor: pointer;
    padding: 0;
    text-decoration: none;
}

.lang-menu {
    position: absolute;
    top: 44px;
    left: 0;
    width: 44px;
    color: var(--color-blue);
    background: var(--color-l-white);
    display: none;
    flex-direction: column;
    box-shadow: 0 10px 20px rgba(0,0,0,.15);
    z-index: 9999;
}

.lang-switcher:hover .lang-menu, .lang-switcher:focus-within .lang-menu {
    display: flex;
}

.lang-item {
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-blue);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.lang-item:hover {
    background: rgba(255,255,255,.12);
    text-decoration: none;
    color: var(--color-red);
}

.lang-item.active {
    background: rgba(255,255,255,.2);
    color: var(--color-red);
}

.slide-in-toggle {
    position: fixed;
    right: 0;
    top: 20vh;
    width: 52px;
    height: 52px;
    border: 0;
    padding: 0;
    cursor: pointer;
    z-index: 9992;
    background: var(--color-red);
    color: var(--color-l-white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide-in-toggle .glyphicon {
    font-size: 20px;
    line-height: 1;
}

.slide-in-toggle:hover {
    filter: brightness(1.08);
}

.slide-in-toggle:focus {
    outline: none;
    box-shadow: none;
}

.slide-in-toggle:focus-visible {
    outline: 2px solid rgba(255,255,255,.85);
    outline-offset: 2px;
    box-shadow: none;
}

.slide-in-home__column__item__overlay {
    position: fixed;
    inset: 0;
    z-index: 9990;
    background: rgba(0,0,0,.25);
}

aside.slide-in-box {
    position: fixed;
    z-index: 9991;
    top: 20vh;
    right: -400px;
    width: 400px;
    background: #fff;
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
    transition: right .35s ease-out;
    display: flex;
    align-items: stretch;
}

aside.slide-in-box.is-open {
    right: 0;
}

.slide-in-handle {
    width: 52px;
    background: var(--color-blue);
    color: var(--color-l-white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide-in-content {
    width: calc(400px - 52px);
    padding: 22px 22px 18px;
}

.slide-in-content h3 {
    margin: 0 0 12px;
    font-size: 28px;
    font-weight: 300;
    color: #555;
}

.slide-in-content hr {
    border: 0;
    height: 1px;
    background: #d7dbe3;
    margin: 10px 0 18px;
}

.slide-in-content .item {
    margin-bottom: 16px;
    color: #444;
    font-size: 15px;
}

.slide-in-content .item a {
    color: var(--color-blue);
    text-decoration: none;
}

.slide-in-content .item a:hover {
    text-decoration: underline;
}

.slide-in-content .cta {
    margin-top: 14px;
    width: 100%;
    padding: 16px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-blue);
    color: var(--color-l-white);
    text-decoration: none;
    font-weight: 600;
}

.slide-in-content .cta:hover {
    filter: brightness(1.05);
    background: var(--color-l-blue);
}

.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;
}

.slide-in-content .contact-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
}

.slide-in-content .contact-row a {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
    color: var(--color-blue);
    text-decoration: none;
}

.slide-in-content .contact-row a:hover {
    text-decoration: none;
    color: var(--color-red);
}

.slide-in-content .icon-square {
    width: 44px;
    height: 44px;
    background: var(--color-blue);
    color: var(--color-l-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
}

.slide-in-content .icon-square svg {
    width: 32px;
    height: 32px;
    display: block;
}

.slide-in-content .icon-square path {
    stroke: currentColor;
}

.footer-content .icon-square {
    margin-right: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

#slider {
    position: relative;
    width: 100%;
    overflow: visible;
    margin-top: 100px;
}

#slider::before {
    content: "";
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    top: 0;
    z-index: 5;
    pointer-events: none;
    box-shadow: 0 12px 12px rgba(0,0,0,.25);
}

#slider::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 30;
    pointer-events: none;
    border-bottom: 1px solid var(--color-blue);
    box-shadow: inset 0 -5px 10px rgba(0,0,0,.3);
}

#slider > .home__three__columns {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    margin: 0;
    padding: 0;
    height: clamp(520px, calc(25vw + 15vh), 820px);
}

#slider .home__column__item {
    position: relative;
    flex: 0 0 33.3333%;
    height: 100%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
}

#slider .home__column__link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

#slider .home__column__pic {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.01);
    transition: transform .5s ease;
}

@media (hover: hover) {
    #slider .home__column__link:hover .home__column__pic {
        transform: scale(1.05);
    }
}

#slider .home__column__item__overlay {
    position: absolute;
    z-index: 10;
    left: 7%;
    right: 7%;
    bottom: 12%;
    background: rgba(255,255,255,.78);
    padding: 30px 30px 22px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
    backdrop-filter: blur(2px);
}

#slider .home__column__item__overlay h2 {
    margin: 0 0 12px;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.15;
    color: var(--color-blue);
}

#slider .home__column__item__overlay h2::after {
    content: "";
    display: block;
    width: 38px;
    height: 2px;
    margin-top: 14px;
    background: var(--color-red);
}

#slider .home__column__item__overlay p {
    margin: 16px 0 18px;
    font-size: 15px;
    line-height: 1.65;
    color: var(--color-blue);
    max-width: 52ch;
}

#slider .home__column__link__text {
    display: inline-block;
    font-weight: 600;
    font-size: 14px;
    color: var(--color-blue);
    position: relative;
    padding-right: 18px;
}

#slider .home__column__link__text::after {
    content: "›";
    position: absolute;
    right: 0;
    top: -1px;
    font-size: 18px;
    line-height: 1;
}

.home__column__element__type__1 .home__column__pic {
    background-image: url("/images/laserschutzglaeser.webp");
}

.home__column__element__type__2 .home__column__pic {
    background-image: url("/images/schneidduesen.webp");
}

.home__column__element__type__3 .home__column__pic {
    background-image: url("/images/dienstleistungen.webp");
}

@media (max-width: 1024px) {
    #slider {
        margin-top: 80px;
    }

    #slider > .home__three__columns {
        display: block;
        height: auto;
    }

    #slider .home__column__item {
        position: relative;
        height: 240px;
        overflow: hidden;
        border-bottom: 1px solid rgba(0,0,0,.08);
    }

    #slider .home__column__pic {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 42%;
        height: 100%;
        z-index: 1;
    }

    #slider .home__column__item__overlay {
        position: absolute;
        left: 42%;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
        background: #fff;
        box-shadow: none;
        backdrop-filter: none;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 26px 60px 22px 26px;
        gap: 10px;
    }

    #slider .home__column__item__overlay h2 {
        margin: 0;
        font-size: 30px;
    }

    #slider .home__column__item__overlay p {
        margin: 0;
        max-width: none;
    }

    #slider .home__column__item__overlay footer {
        margin-top: auto;
        padding-top: 10px;
    }

    #slider .home__column__item__overlay::after {
        content: "›";
        position: absolute;
        right: 22px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 34px;
        color: rgba(0,0,0,.55);
    }

    #slider .home__column__item__overlay p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media (max-width: 860px) {
    #slider .home__column__item__overlay h2::after {
        display: none;
    }

    #slider .home__column__item {
        position: relative;
    }

    #slider .home__column__pic {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    #slider .home__column__item__overlay {
        position: absolute;
        left: 16px;
        right: 16px;
        bottom: 16px;
        top: auto;
        background: rgba(255,255,255,.78);
        box-shadow: 0 12px 30px rgba(0,0,0,.18);
        backdrop-filter: blur(2px);
        padding: 16px 16px 14px;
    }

    #slider .home__column__item__overlay [itemprop="description"], #slider .home__column__item__overlay footer {
        display: none !important;
    }

    #slider .home__column__item__overlay h2 {
        margin: 0;
        font-size: 26px;
        line-height: 1.1;
    }

    #slider .home__column__item__overlay h2::after {
        margin-top: 10px;
    }

    #slider .home__column__item__overlay::after {
        display: none;
    }

    #slider .home__column__item {
        height: 260px;
    }
}

@media (min-width: 1025px) {
    #slider .home__column__element__type__2 {
        position: relative;
    }

    #slider .home__column__element__type__2::before, #slider .home__column__element__type__2::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 1px;
        z-index: 15;
        pointer-events: none;
        background: linear-gradient( to bottom, rgba(245,245,245,0) 0%, rgba(245,245,245,.6) 20%, rgba(255,255,255,1) 50%, rgba(245,245,245,.6) 80%, rgba(245,245,245,0) 100% );
        box-shadow: 0 0 6px rgba(255,255,255,.45);
        opacity: .65;
        transform: scaleY(.9);
        transition: opacity .35s ease, transform .45s ease, box-shadow .45s ease;
    }

    #slider .home__column__element__type__2::before {
        left: 0;
    }

    #slider .home__column__element__type__2::after {
        right: 0;
    }

    #slider .home__column__element__type__2:hover::before, #slider .home__column__element__type__2:hover::after {
        opacity: 1;
        transform: scaleY(1);
        box-shadow: 0 0 10px rgba(255,255,255,.75);
    }
}

.newsletter-box {
    max-width: 80%;
    padding: 8px 2px;
}

.newsletter-box input[type="email"] {
    width: 100%;
    padding: 8px 16px;
    border: 1px solid var(--color-blue);
    transition: .25s ease;
    color: var(--color-blue)
}

.newsletter-box input[type="email"]:focus {
    outline: none;
    border: 1px solid var(--color-red);
}

.newsletter-box .consents {
    margin: 12px 0 18px;
    font-size: .9rem;
    line-height: 1.4;
    text-align: justify
}

.newsletter-box .consents label {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 8px;
    cursor: pointer;
    font-weight: normal;
}

.newsletter-box .consents input[type="checkbox"] {
    accent-color: var(--color-l-blue);
    margin-top: 3px;
}

.newsletter-box .consents .small {
    margin-top: 6px;
}

.newsletter-box .g-recaptcha {
    margin: 16px 0 18px;
    transform: scale(0.95);
    transform-origin: left top;
}

.newsletter-box button {
    width: 100%;
    padding: 14px;
    border: none;
    background: var(--color-red);
    cursor: pointer;
    transition: .25s ease;
    text-transform: uppercase;
}

.newsletter-box button:hover:not(:disabled) {
    transform: translateY(-1px);
    filter: brightness(1.05);
}

.newsletter-box button:active:not(:disabled) {
    transform: scale(.98);
}

.newsletter-box button:disabled {
    opacity: .45;
    cursor: not-allowed;
    box-shadow: none;
}

#nl_success {
    margin: 0px;
    padding: 0px;
    animation: fadeIn .4s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.consent-toggle {
    cursor: pointer;
    background: var(--color-l-blue)!important;
}

.consent-toggle::after {
    content: '↓';
    margin-left: 50px;
    font-size: 1.2em;
    color: var(--color-l-white);
    transition: transform .2s ease;
}

.consent-toggle.is-open::after {
    content: '↑';
}

.recaptcha-wrap {
    width: 100%;
    overflow: hidden;
}

.recaptcha-wrap .g-recaptcha {
    transform-origin: 0 0;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.skip-link:focus {
    left: 16px;
    top: 16px;
    width: auto;
    height: auto;
    padding: 10px 12px;
    background: #fff;
    color: #000;
    z-index: 9999;
}

.blog-carousel {
    margin: 18px 0;
}

.blog-carousel__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.blog-carousel__title {
    margin: 0;
    font-size: 18px;
    color: var(--color-blue);
}

.blog-carousel__nav {
    display: flex;
    gap: 8px;
}

.bc-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,.08);
    background: var(--color-white);
    color: var(--color-blue);
    font-size: 18px;
    cursor: pointer;
}

.bc-btn:hover {
    background: var(--color-white-hover);
}

.blog-carousel__track {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 4px 2px 10px;
    -webkit-overflow-scrolling: touch;
}

.blog-carousel__track::-webkit-scrollbar {
    height: 10px;
}

.blog-carousel__track::-webkit-scrollbar-thumb {
    background: #dbe3ef;
    border-radius: 10px;
}

.bc-card {
    flex: 0 0 320px;
    display: block;
    scroll-snap-align: start;
    text-decoration: none;
    color: inherit;
    border-radius: 16px;
    background: var(--color-white);
    border: 1px solid rgba(0,0,0,.06);
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
}

.bc-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0,0,0,.10);
}

.bc-card__thumb {
    height: 140px;
    background: var(--color-grey);
}

.bc-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bc-thumb--placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,#f1f5f9,#e2e8f0);
}

.bc-card__body {
    padding: 12px 14px 14px;
}

.bc-card__title {
    font-weight: 800;
    color: var(--color-black);
    margin-bottom: 6px;
    line-height: 1.25;
}

.bc-card__desc {
    font-size: 13px;
    color: #374151;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 520px) {
    .bc-card {
        flex-basis: 84vw;
    }
}

.contrakt-btn-standard a, .contrakt-btn-standard button {
    margin-top: 14px;
    width: 100%;
    padding: 16px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-blue);
    color: var(--color-l-white);
    text-decoration: none;
    font-weight: 600;
    transition: filter 0.2s ease, background 0.2s ease;
    border: none
}

.contrakt-btn-standard a:hover {
    filter: brightness(1.05);
    background: var(--color-l-blue);
}
.schutzglaeser-box {
    display: block;
}

.schutzglaeser-image {
    float: right;
    max-width: 45%;
    margin: 0 0 25px 50px;
}

.ersatzteile-image img, .schutzglaeser-image img {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0 0 15px rgba(0,0,0,.65);
}

#ersatzteile::after, #schutzglaeser::after {
    content: "";
    display: block;
    clear: both;
}

@media (max-width: 768px) {
    .schutzglaeser-image {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 0 0 20px 0;
    }
}

.ersatzteile-image {
    float: left;
    margin: 0 30px 20px 0;
    max-width: 45%;
}

.image-boxes {
    margin-top: 30px;
}

.image-boxes > div {
    margin-bottom: 20px;
}

.image-boxes a {
    display: block;
    text-decoration: none;
}

.image-boxes__img {
    display: block;
    width: 100%;
    height: auto;
}

.image-boxes__img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

section ul {
    list-style: none;
    margin: 18px 0 22px 0;
}

section ul li {
    position: relative;
    padding-left: 14px;
    margin-bottom: 8px;
}

section ul li::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 9px;
    width: 6px;
    height: 6px;
    background: var(--color-red);
    border-radius: 40%;
}

#ersatzteile ul {
    list-style: none;
    padding-left: 22px;
    margin-left: 0;
    overflow: hidden;
}

#ersatzteile ul li {
    padding-left: 0;
}

.contrakt-btn-standard {
    max-width: 280px;
}

/*LASEROPTIK*/
.item-box {
    text-align: center;
    padding: 2px 1px 1px;
}

.pojedynczy-item {
    border: 1px solid var(--color-red);
    min-height: 260px;
    padding: 12px 10px 14px;
    background: var(--color-white);
    margin: 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.pojedynczy-item .title {
    font-size: 14px;
    line-height: 1.2;
    color: var(--color-l-blue);
    margin-bottom: 4px;
}

.pojedynczy-item .producent {
    font-size: 28px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--color-l-blue);
    margin-bottom: 10px;
	display: inline-block;
    position: relative;
    transition: transform 0.3s ease;
}
/* animowana linia */
.pojedynczy-item .producent::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -3px;
    width: 0%;
    height: 1px;
    background: currentColor;
    
    transform: translateX(-50%);
    transition: width .5s cubic-bezier(.4,0,.2,0);
}

/* efekt hover */
.pojedynczy-item:hover .producent{color:var(--color-red)}

.pojedynczy-item:hover .producent::after {
    width: 100%;
}

.pojedynczy-item .picture {
    margin-bottom: 12px;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
	overflow: hidden;
}

.pojedynczy-item .picture img {
    max-width: 100%;
    max-height: 85px;
    height: auto;
    display: block;
	transition: transform 0.35s ease, filter 0.35s ease;
}
.pojedynczy-item:hover .picture img {
    transform: scale(1.08);
    filter: brightness(1.05);
}
.pojedynczy-item .button-wrap a {
    display: inline-block;
    padding: 8px 18px;
    background: var(--color-blue);
    color: var(--color-l-white);
    text-decoration: none;
    line-height: 1;
    transition: 0.2s ease;
    width: 100%;
	transition: background-color 0.5s cubic-bezier(.4,0,.2,1),
                color 0.35s cubic-bezier(.4,0,.2,1);
}

.pojedynczy-item:hover .button-wrap a{
    background-color: var(--color-l-blue); /* dopasuj do swojego koloru */
}
.pojedynczy-item .button-wrap a:hover{
    background-color: var(--color-red); /* dopasuj do swojego koloru */
}
.zitat-box {
  margin: 25px 0;
  padding: 25px 30px;
  background: #f8f8f8;
  border-left: 5px solid #c9a27e;
  font-size: 14px !important;
  line-height: 1.7;
  color: #444;
}

.zitat-box:before {
  content: "“";
  font-size: 60px;
  position: absolute;
  left: 30px;
  color: #c9a27e;
  font-family: Georgia, serif;
  line-height:35px
}

.zitat-text {
  margin-left: 25px;
  font-style: italic;
  text-align:justify;
  font-size: 1.33em;
}

.zitat-author {
  margin-top: 15px;
  font-size: 15px;
  font-weight: 600;
  color: #777;
}

/* KONTAINER */
#contactForm {
  margin: 40px auto;
  padding: 30px;
}

/* GRID */
#contactForm {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

/* INPUTY */
#contactForm input,
#contactForm select,
#contactForm textarea {
  width: 100%;
  padding: 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: var(--color-white);
  font-size: 14px;
  transition: all 0.2s ease;
}
#contactForm input[type="checkbox"],
#contactForm input[type="radio"] {
    width: auto;
}
/* FOCUS */
#contactForm input:focus,
#contactForm select:focus,
#contactForm textarea:focus {
  border-color: #4a90e2;
  outline: none;
  box-shadow: 0 0 0 2px rgba(74,144,226,0.15);
}


/* TEXTAREA */
#contactForm textarea {
  min-height: 150px;
  resize: vertical;
}

/* CHECKBOX RODO */
.rodo {
  font-size: 13px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.rodo input {
  margin-top: 4px;
  transform: scale(1.2);
}

/* RECAPTCHA */
#contact-recaptcha {
  margin-top: 10px;
}

/* BUTTON */
#contactForm button {
  background: var(--color-blue);
  color: var(--color-l-white);
  padding: 14px;
  border: none;
  border-radius: 6px;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.25s ease;
}

#contactForm button:hover {
  background: var(--color-l-blue);
  transform: translateY(-1px);
}

/* ERROR */
#formError {
  background: #ffe5e5;
  color: var(--color-red);
  padding: 10px;
  border-radius: 6px;
  font-size: 14px;
}

/* RESPONSYWNOŚĆ */
@media (max-width: 768px) {
  #contactForm {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  #contactForm select[name="salutation"],
  #contactForm input[name="email"],
  #contactForm select[name="country"],
  #contactForm textarea,
  #contactForm .rodo,
  #contactForm #contact-recaptcha,
  #contactForm button,
  #contactForm #formError {
    grid-column: span 1;
  }
}

/* PLACEHOLDER */
::placeholder {
  color: #999;
}

/* ANIMACJA POJAWIANIA */
#contactForm {
  animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#contactForm input[type="checkbox"]:focus {  
  border-color: transparent!important;
  outline: none;
  box-shadow: none!important}
  
  .textarea-wrapper {
    position: relative;
    width: 100%;
}
.textarea-wrapper p {
    position: absolute;
    right: 10px;
    font-size: 12px;
    color: #999;
    pointer-events: none; /* żeby nie blokował kliknięć */
}