/* DEVELOPMENT */
.otgs-development-site-front-end {
    display: none;
}

/*
.header-container
    .navi-container
        .logo-wrapper
        .menu-wrapper

*/

.home header {
    position: relative;
    z-index: 10;
}

.home header .header-container {
    position: relative;
    top: -30px;
/*    box-shadow: 0px 5px 10px black;*/
}

.home header .header-container:before {
    content: '';
    width: 100%;
    height: 131px;
    display: block;
    position: absolute;
    background-color: #fff;
    box-shadow: 0px 0px 15px #999;
    z-index: -10;
}

.home header .navi-container {
    position: relative;
    top: 30px;
}

.home header .logo-wrapper {
    position: relative;
}

.home header .menu-wrapper {
    position: relative;
    top: -15px;
}

.home header .logo-wrapper:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -10;
    box-shadow: 0px 0px 15px #999;
}

.home header .logo-wrapper img {
    width: 236px;
}

header .logo-wrapper img {
    width: 160px;
}

.wp-block-cover {
    position: relative;
    top: -30px;
}


/* SLIDER FRONTPAGE */

.home .splide__arrow.splide__arrow--next {
    position: absolute;
    z-index: 100000;
    top: 40%;
    right: 5%!important;
    transform: translateY(50%);
}

.home .splide__arrow.splide__arrow--prev {
    position: absolute;
    z-index: 100000;
    top: 40%;
    left: 5%!important;
    transform: translateY(50%);
}

.home #main-slider {
    position: relative;
    top: -30px;
}

.home .wp-block-splide-carousel .splide__arrow {
    background: #A8E1BF;
}


/* Downloads Listen */

ul.green-list {
    list-style: none;
    padding-left: 0;
}

ul.green-list li {
    position: relative;
    padding-left: 27px;
    margin-bottom: 5px; 
}

ul.green-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 11px;
    height: 11px;
    background-color: #00953F;
}

ul.blue-list {
    list-style: none;
    padding-left: 0;
}

ul.blue-list li {
    position: relative;
    padding-left: 27px;
    margin-bottom: 5px; 
}

ul.blue-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 11px;
    height: 11px;
    background-color: #2E2482;
}

ul.green-list *, ul.blue-list * {
    font-weight: 600;
    text-decoration: none;
}

ul.green-list *:hover, ul.blue-list *:hover {
    font-weight: 800;
}

/* BREADCRUMB */
.breadcrumb *, .breadcrumb .current-page:hover {
    text-decoration: none;
}

.breadcrumb *:hover {
    text-decoration: underline;
}

.breadcrumb .current-page {
    font-weight: 600;
}

/* Kontaktformular */

.nf-form-fields-required {
    display: none;    
}

/* Use Manrope for the form */
#nf-form-3-cont,
#nf-form-3-cont input,
#nf-form-3-cont select,
#nf-form-3-cont textarea,
#nf-form-3-cont button,
#nf-form-3-cont label {
    font-family: 'Manrope', sans-serif;
    font-weight: 400;
}

/* General form container */
#nf-form-3-cont .nf-form-wrap {
    margin: 0 auto;
    padding: 20px 0;
}

/* Form headings */
#nf-form-3-cont h1 {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
}

/* Input fields */
#nf-form-3-cont input[type="text"],
#nf-form-3-cont input[type="email"],
#nf-form-3-cont input[type="tel"],
#nf-form-3-cont input[type="password"],
#nf-form-3-cont textarea,
#nf-form-3-cont select {
    width: 100%;
    padding: 10px 12px;
    margin-top: 6px;
    margin-bottom: 16px;
    border: 1px solid #ccc;
    background-color: #fff;
    box-sizing: border-box;
    font-size: 1rem;
    outline: none;
}

/* Remove rounded corners */
#nf-form-3-cont input,
#nf-form-3-cont textarea,
#nf-form-3-cont select {
    border-radius: 0;
}

#nf-form-3-cont .nf-field-label {
    margin-bottom: 0!important;
    padding-bottom: 0!important;
}

/* Focus style */
#nf-form-3-cont input:focus,
#nf-form-3-cont textarea:focus,
#nf-form-3-cont select:focus {
    border-color: #999;
    box-shadow: none;
}

/* Labels */
#nf-form-3-cont label {
    display: block;
    font-weight: 500;
    margin-bottom: 4px;
}

/* Checkbox / radio */
#nf-form-3-cont .nf-field-element input[type="checkbox"],
#nf-form-3-cont .nf-field-element input[type="radio"] {
    margin-right: 8px;
}

/* Checkbox labels inline */
#nf-form-3-cont .nf-field-container.checkbox-container .nf-field-label {
    display: inline-block;
    font-weight: 400;
}

/* Submit button */
#nf-form-3-cont input[type="submit"] {
    background-color: #C0D2FF;
    border: none;
    color: #000;
    padding: 12px 20px;
    font-size: 1rem;
    cursor: pointer;
    font-weight: 600;
    border-radius: 0;
    transition: background-color 0.3s ease;
    margin-top: 30px;
}

#nf-form-3-cont .nf-field-label .nf-label-span, .nf-field-label label {
    font-weight: unset!important;
}

#nf-form-3-cont input[type="submit"]:hover {
    background-color: #a8c6ff;
}

/* Error messages */
#nf-form-3-cont .nf-error-wrap {
    color: #d9534f;
    font-size: 0.875rem;
    margin-top: -12px;
    margin-bottom: 12px;
}

/* Required field symbol */
#nf-form-3-cont .ninja-forms-req-symbol {
    color: #d9534f;
}

/* Fieldsets and sections spacing */
#nf-form-3-cont .nf-field-container {
    margin-bottom: 16px;
}

#nf-field-43-wrap {
    margin-top: 30px;    
}

#nf-field-43-wrap .nf-field-label {
    padding-left: 10px!important;
}

/* Style checkboxes with custom square style */
#nf-form-3-cont input[type="checkbox"] {
    -webkit-appearance: none; /* Remove default checkbox */
    -moz-appearance: none;
    appearance: none;
    width: 21px!important;
    height: 21px!important;
    border: 2px solid #C0D2FF; /* Blue border matching button */
    background-color: #fff;
    display: inline-block;
    position: relative;
    margin-right: 8px;
    vertical-align: middle;
    cursor: pointer;
    box-sizing: border-box;
    top: -2px;
}

/* Add black checkmark when checked */
#nf-form-3-cont input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 6px;
    width: 6px;
    height: 12px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Keep label text aligned */
#nf-form-3-cont .nf-field-element label {
    vertical-align: middle;
    cursor: pointer;
}

/* Checkbox hover effect */
#nf-form-3-cont input[type="checkbox"]:hover {
    background-color: #e6f0ff;
}

/* Optional: spacing for checkbox list items */
#nf-form-3-cont .list-checkbox-wrap li {
    margin-bottom: 8px;
    list-style: none; /* Remove bullets */
}

footer li:hover {
    border-bottom: 3px solid transparent;
}