/*
Theme Name: Eurofactura 
Author: OXSEED
Description: test
Version: 1.0
*/

/**
 * Table of Contents
 *
 * 1.0 - Reset
 * 2.0 - Genericons
 * 3.0 - Typography
 * 4.0 - Elements
 * 5.0 - Forms
 * 6.0 - Navigations
 *   6.1 - Links
 */

/**
 * 1.0 - Reset
 *
 * Resetting and rebuilding styles have been helped along thanks to the fine
 * work of Eric Meyer, Nicolas Gallagher, Jonathan Neal, and Blueprint.
 */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 62.5%;
	overflow-y: scroll;
    overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display: block;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

fieldset {
	min-width: inherit;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	quotes: none;
}

a:focus {
	outline: 2px solid #c1c1c1;
	outline: 2px solid rgba(51, 51, 51, 0.3);
}

a:hover,
a:active {
	outline: 0;
}

a img {
	border: 0;
}


/**
 * 2.0 - Genericons
 */

.social-navigation a:before,
.secondary-toggle:before,
.dropdown-toggle:after,
.bypostauthor > article .fn:after,
.comment-reply-title small a:before,
.comment-navigation .nav-next a:after,
.comment-navigation .nav-previous a:before,
.posted-on:before,
.byline:before,
.cat-links:before,
.tags-links:before,
.comments-link:before,
.entry-format:before,
.edit-link:before,
.full-size-link:before,
.pagination .prev:before,
.pagination .next:before,
.image-navigation a:before,
.image-navigation a:after,
.format-link .entry-title a:after,
.entry-content .more-link:after,
.entry-summary .more-link:after,
.author-link:after {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-family: "Genericons";
	font-size: 16px;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	text-align: center;
	text-decoration: inherit;
	text-transform: none;
	vertical-align: top;
}


/**
 * 3.0 Typography
 */

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 700;
}

p {
	margin-bottom: 1.6em;
}

b,
strong {
	font-weight: 700;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	border-left: 4px solid #707070;
	border-left: 4px solid rgba(51, 51, 51, 0.7);
	color: #707070;
	color: rgba(51, 51, 51, 0.7);
	font-size: 18px;
	font-size: 1.8rem;
	font-style: italic;
	line-height: 1.6667;
	margin-bottom: 1.6667em;
	padding-left: 0.7778em;
}

blockquote p {
	margin-bottom: 1.6667em;
}

blockquote > p:last-child {
	margin-bottom: 0;
}

blockquote cite,
blockquote small {
	color: #333;
	font-size: 15px;
	font-size: 1.5rem;
	font-family: "Noto Sans", sans-serif;
	line-height: 1.6;
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 400;
}

address {
	font-style: italic;
	margin: 0 0 1.6em;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family: Inconsolata, monospace;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre {
	background-color: transparent;
	background-color: rgba(0, 0, 0, 0.01);
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
	line-height: 1.2;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 0.8em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

abbr[title] {
	border-bottom: 1px dotted #eaeaea;
	border-bottom: 1px dotted rgba(51, 51, 51, 0.1);
	cursor: help;
}

mark,
ins {
	background-color: #fff9c0;
	text-decoration: none;
}

sup,
sub {
	font-size: 75%;
	height: 0;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

small {
	font-size: 75%;
}

big {
	font-size: 125%;
}


/**
 * 4.0 Elements
 */

hr {
	background-color: #eaeaea;
	background-color: rgba(51, 51, 51, 0.1);
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
	margin-top: 1.5em;
}

ul,
ol {
	margin: 0 0 1.6em 1.3333em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
}

dl {
	margin-bottom: 1.6em;
}

dt {
	font-weight: bold;
}

dd {
	margin-bottom: 1.6em;
}

table,
th,
td {
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.6em;
	table-layout: fixed; /* Prevents HTML tables from becoming too wide */
	width: 100%;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	border-width: 0 1px 1px 0;
	font-weight: 700;
}

td {
	border-width: 0 1px 1px 0;
}

th, td {
	padding: 0.4em;
}

img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

figure {
	margin: 0;
}

del {
	opacity: 0.8;
}



/* Placeholder text color -- selectors need to be separate to work. */

::-webkit-input-placeholder {
	color: rgba(51, 51, 51, 0.7);
	font-family: "Noto Sans", sans-serif;
}

:-moz-placeholder {
	color: rgba(51, 51, 51, 0.7);
	font-family: "Noto Sans", sans-serif;
}

::-moz-placeholder {
	color: rgba(51, 51, 51, 0.7);
	font-family: "Noto Sans", sans-serif;
	opacity: 1; /* Since FF19 lowers the opacity of the placeholder by default */
}

:-ms-input-placeholder {
	color: rgba(51, 51, 51, 0.7);
	font-family: "Noto Sans", sans-serif;
}


/**
 * 5.0 Forms
 */

button,
input,
select,
textarea {
	background-color: #f7f7f7;
	border-radius: 0;
	line-height: 1.5;
	margin: 0;
	max-width: 100%;
	vertical-align: baseline;
}

button,
input {
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	line-height: normal;
}

input,
textarea,
select {
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)); /* Removing the inner shadow on iOS inputs */
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
	color: #000;
}

input:focus,
textarea:focus {
	background-color: #fff;
	border: 1px solid #c1c1c1;
	border: 1px solid rgba(51, 51, 51, 0.3);
	color: #000;
}

input:focus,
select:focus {
	outline: 2px solid #c1c1c1;
	outline: 2px solid rgba(51, 51, 51, 0.3);
}

button[disabled],
input[disabled],
select[disabled],
textarea[disabled] {
	cursor: default;
	opacity: .5;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select {
	padding: 0.375em;
	width: 100%;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select {
	outline: 0;
}

.post-password-form {
	position: relative;
}

.post-password-form label {
	color: #707070;
	color: rgba(51, 51, 51, 0.7);
	display: block;
	font-family: "Noto Sans", sans-serif;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	text-transform: uppercase;
}

.post-password-form input[type="submit"] {
	padding: 0.7917em;
	position: absolute;
	right: 0;
	bottom: 0;
}

input[type="checkbox"],
input[type="radio"] {
	padding: 0;
	margin-right: 2px;
}

.search-form input[type="submit"],
.widget .search-form input[type="submit"] {
	padding: 0;
}


/**
 * 6.0 Navigations
 */


/**
 * 6.1 Links
 */

a {
	color: #333;
	text-decoration: none;
}

a:hover,
a:focus {
	color: #707070;
	color: rgba(51, 51, 51, 0.7);
}

/** ---------------------------------------------------------------------- */

.loading {
    position: fixed;
    top: -50px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #005C53;
    z-index: 9999;
}

.loading .spinner7 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 650px;
    color: #fff;
    text-align: center;
}

.spinner7 > div#circ {
    background-color: #fff;
    height: 20px;
    width: 20px;
    margin-left: 5px;
    border-radius: 50%;
    display: inline-block;
    -webkit-animation: stretchdelay 0.7s infinite ease-in-out;
    animation: stretchdelay 0.7s infinite ease-in-out;
}

.loading .spinner7 > div#circ {
    background-color: #fff;
}

.spinner7 div#circ.circ2 {
    -webkit-animation-delay: -0.6s;
    animation-delay: -0.6s;
}

.spinner7 div#circ.circ3 {
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}

.spinner7 div#circ.circ4 {
    -webkit-animation-delay: -0.4s;
    animation-delay: -0.4s;
}

.spinner7 div#circ.circ5 {
    -webkit-animation-delay: -0.3s;
    animation-delay: -0.3s;
}

@-webkit-keyframes stretchdelay {
    0%, 40%, 100% { -webkit-transform: translateY(-10px) }  
    20% { -webkit-transform: translateY(-20px) }
}

@keyframes stretchdelay {
    0%, 40%, 100% { 
    transform: translateY(-10px);
    -webkit-transform: translateY(-10px);
    } 20% {
    transform: translateY(-20px);
    -webkit-transform: translateY(-20px);
    }
}

.ui-datepicker {
    font-size: clamp(0.9rem, 1.1vw, 1.9rem);
    font-family: "Barlow", sans-serif;
}

.entry-content {
        font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    font-family: "Barlow", sans-serif;
}

.antragsformular .zeile {
	height: 105px;
}

.antragsformular .zeile .content_full {
    float: none;
    width: 100%;
}

.antragsformular .zeile .content_half {
    float: left;
    width: 50%;
}

.antragsformular .zeile .content_half.right .input_label_form {
	padding-left: 10px;
}

.antragsformular .zeile .content_half.left .input_label_form {
	padding-right: 10px;
}

.antragsformular label.error {
	color: #042940;
	font-size: clamp(0.9rem, 0.9vw, 1.5rem);
	font-weight: bold;
    margin-top: 2px;
    display: block;   
    padding-left: 5px;
}

.antragsformular input.error {
	border:1px solid #042940;
	background-color: #ccc;
}

.produkttabelle {
font-size: clamp(0.9rem, 1.1vw, 1.9rem);
  border-collapse: collapse;
}

.produkttabelle ul {
    display: list-item;
    list-style: disc;
    margin-left: 50px;
}

.produkttabelle th, .produkttabelle td {
	padding: 20px;
	line-height: 1.3;
    border-color: #005c53;
    border-style: solid;
  border-width: 2px;
}

.produkttabelle th {
    background-color: #005c53;
    color:#fff;
}

.produkttabelle tr {
    border-color: #005c53;
    border-style: solid;
  border-width: 2px;
}

.produkttabelle td ul {
	margin-bottom: 0px;
	margin-left: 30px;
}

.produkttabelle td ul li {
    margin-top: 10px;
}



/** ---------------------------------------------------------------------- */

#wpadminbar .quicklinks ul {
    display: block;
}

body {
    width:100%;
    font-family: "Barlow", sans-serif;
    font-weight: 400;
    font-style: normal;
    padding:0;
    margin:0;
    color:#005C53;
}

h1, h2, h3, h4, h5 {
    margin-block: 0;
}

#wrapper { 
    margin: 80px auto;
    max-width: 1000px;
}

#wrapper p {
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
}

#hero-wrapper {
    display:flex;
    justify-content:center;
    /* border-bottom: 5px solid #005C53; */
}

#hero-content {
    width:90vw;
    position: relative;
}

nav{
    display:flex;
    justify-content: flex-end;
}

.main-menu ul, .function-menu ul {
    display:flex;
    justify-content: center;
    list-style: none;
    margin:0;
}

.main-menu ul li a, .function-menu ul li a {
    text-decoration: none;
}

#logo-start {
    width:15vw;
    max-width: 270px;
    margin-bottom: 4px;
}

.function-menu {
    align-items: flex-end;
}

.function-menu ul {
    background-color: #005C53;
    border-radius: 0 0 0 1vw;
    margin: 0;
    padding-left: 0.4vw;
}

.function-menu ul li  {
    border-style:solid;
    border-color: white;
    border-width: 0 1px 0 0;
    padding:0.5vw;
    padding:0.5vmax;
    padding-left:0.8vw;
    padding-right:0.8vw;
    height:1vw;
    display: flex;          
    align-items: center;
}

.function-menu li:last-child {
    border-width:0;
}

#burger-function-menu {
    display:none;
}

.function-menu a {
    color:white;
    font-size: clamp(0.8rem, 0.8vw, 1.5rem);
}

.menu-icon {
    height: 15px;
    margin-right: 5px;
    margin-top: -3px;
}

#language-button a {
    border:0;
    padding-right:0;
}

.main-menu {
    display:flex;
    justify-content: space-between;
    align-items: flex-end;
    margin:0 0 1vw 0;
}

.main-menu li {
    padding-bottom:0;
    padding-right:2.8vw;
}

.main-menu a {
    color: #005C53;
    font-weight:700;
    font-size: clamp(0.9rem, 1.1vw, 1.9rem);
}

.main-menu li:last-child {
    padding-right: 0;
}

.dropdown {
    position: relative;
}

.dropdown-content {
    display: none!important;
    position: absolute;
    background-color: white;
    z-index: 1;
    flex-direction: column;
    padding-inline-start:0;
    padding-top:1vw;
    min-width: 100%;
    left: 0;
}

.dropdown:hover .dropdown-content {
    display: flex!important;
}

.dropdown-content li {
    border-style:solid;
    border-width: 0.1vw 0.1vw 0 0.1vw;
    border-color:#9EC131;
    padding-right:0;
}

.dropdown-content li:last-child {
    border-width: 0.1vw;
}

.dropdown-content li a {
    padding: 0.5vw 0.2vw 0.7vw 0.2vw;
    text-decoration: none;
    display: block;
    font-weight:400;
    font-size: clamp(0.9rem, 0.7vw, 1.792rem);
}

.dropdown-content li a:hover {
    background-color: #9EC131;
}

#hero-image {
    width:90vw;
    border-radius: 50px 0 0 0;
    border-width:0;
    background-image: url("/wp-content/themes/eurofactura/images/hero-image.jpg");
    background-color: #fff;
    height: 42vw;
    background-size: cover;
    background-position: center;
}

.hero-overlay {
    padding-top: 18vw;
    padding-left: 100px;
}

h1.entry-title {
    color:#9EC131;
    font-size: clamp(3rem, 4vw, 7rem);
    margin: 0;
    line-height:0.9;
    margin-bottom: 40px;
}

.hero-overlay h1 {
    font-size: clamp(1rem, 5vw, 10rem);
    color:#9EC131;
    margin: 0;
    line-height:1;
}

#h1-bottom-wrapper{
    display:flex;
    align-items: baseline;
}

.cta-button, .side-page-cta-button {
    display: inline-flex;            
    align-items: center;              
    justify-content: center;
    font-size: clamp(1.3rem, 1.2vw, 2.3rem);
    font-weight: 700;
    background-color: #9EC131;
    color: white;
    text-decoration: none;
    border-radius: 1.5vw;
    border-width: 5px;
    line-height: 1;                   
    padding: 0.7em 1.2em;             
    margin-top: 3vh;
    cursor: pointer;
    -webkit-transition: background-color 0.2s ease-in-out;
    -moz-transition: background-color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out;
    -o-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
}

.side-page-cta-button {
    margin-top: 1vh;
}

.cta-button a {
    color: white;
    text-decoration: none;
    font-size: clamp(0.9rem, 1.1vw, 2.3rem);
}

.cta-button:hover, .side-page-cta-button:hover {
    color: white;
    background-color: #005c53;
}

#short-positioning {
    display:flex;
    justify-content: end;
    width:80vw;
    background-color: #005c53;
    color:white;
    padding:4vw;
    border-radius:0 30px 0 0;
    margin: 3vw 0;
}

#short-positioning h3 {
    font-size: clamp(1.5rem, 1.4vw, 3.072rem);
    margin-bottom: 20px;
}

#short-positioning p {
    width:50vw;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
}

.slogan-wrapper {
    display:flex;
    justify-content: center;
    align-items: center;
}

.slogan-wrapper h2 {
    font-size: clamp(1.5rem, 4vw, 9rem);
    color:#9EC131;
}

.slogan-content {
    width:90vw;
}

#areas-of-influence-wrapper {
    display:flex;
    justify-content:center;
    margin: 4vw 0;
}

.areas-of-influence {
    display:flex;
}

.area-card {
    width:25vw;
    border-style:solid;
    border-width:0.1vw;
    border-color:#005c53;
    border-radius:20px;
    padding:1.3vw;
    margin:40px;
}

.area-card-title {
    display:flex;
    align-items: center; 
    margin-bottom: 20px;
}

.area-card img {
    height:3vw;
    padding-right:10px;
}

.area-card p {
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
}

h4 {
    font-size: clamp(1rem, 1.4vw, 3.5rem);
    margin-top:1vw;
}

#position-wrapper {
    display:flex;
    justify-content: center;
    align-items: center;
    height:25vw;
    margin: 15vw 0;
    background-color:#005C53;
}

#position-wrapper img {
    height:40vw;
}

#position-wrapper p {
    width:33vw;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    margin:0;
}

.title-wrapper {
    display:flex;
    align-items:center;
}

.title-wrapper h3 {
    font-size: clamp(2rem, 1.4vw, 3.5rem);
}

.position-img-wrapper{
    position:relative;
}

#position-text {
    position:absolute;
    top: 1.5vw;
    left: 1.5vw;
    text-shadow: 4px 3px 20px #fff;
}

#position-text img {
    height:1vw;
}

.topic-wrapper {
    display:flex;
    justify-content: center;
}

.topic-card {
    width:15vw;
    padding:20px;
    margin:10px;
}

.topic-card img {
    height:8vw;
    max-height: 170px;
}

.topic-card h4 {
    font-size: clamp(1rem, 1.4vw, 3.5rem);
    margin-bottom: 20px;
}

.topic-card p {
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    line-break: normal;
    hyphens: auto;
}

#benefits-wrapper {
    display: grid;
    place-items: center; 
    margin: 5vw;
}

#benefits-wrapper a {
    text-align: end;
}

#benefits-content {
    width: 45vw;
    border: 4px solid #005C53;
    border-radius: 30px;
    padding: 3vw;
}

.benefits-list {
    margin-top: 1vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    row-gap: 2vw; 
    column-gap: 2vw;
}

.benefits-list img {
    height: 1.2vw;
    margin-right: 10px;
}

.benefits-list p {
    margin:0;
    margin-top:5px;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
}

.benefit-point {
    display: grid;
    grid-template-columns: auto 1fr; 
    align-items: start;
}

.benefit-point p {
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
}

#benefits-cta {
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
    gap: 4vw;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    margin-top: 50px;
}

.form-cta {
    display: inline-block;
    align-items: left;
    flex-direction: column;
    text-align: left;
    gap: 4vw;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    margin-top: 50px;
}

#benefits-cta a, .form-cta a {
    color:#005C53;
    opacity:0.7;
}

#benefits-cta-button, #form-cta-button, input[type="submit"].senden, input[type="submit"].wpcf7-submit {
    background-color: #005C53;
    border-style:solid;
    border-radius:20px;
    color:white;
    padding:15px;
    padding-left: 35px;
    padding-right: 35px;
    font-weight: bold;
    font-size: clamp(1.3rem, 1.1vw, 2.3rem);
    cursor: pointer;
    font-family: "Barlow", sans-serif;
    -webkit-transition: background-color 0.2s ease-in-out;
    -moz-transition: background-color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out;
    -o-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
}

.secondary#form-cta-button  {
    background-color: #afafaf;
}

#benefits-cta-button a, #form-cta-button a {
    display:flex;
    justify-content: center;
    align-items:center;
    color:white;
    opacity:1;
}

#form-cta-button:hover, input[type="submit"]:hover {
    background-color: #9EC131;
}

.title-wrapper img {
    height: 1vw;
    padding: 5px;
}

h5 {
    font-size: clamp(1.5rem, 1.1vw, 2.3rem);
    line-height:0.9;
    margin-bottom: 10px;
}

footer{
    background-color: #005C53;
    color:white;
}

#footer-content {
    padding-top: 50px;
    padding-bottom: 50px;
    max-width: 800px;
    margin: 0 auto;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    display: flex;
    justify-content: space-around;
}

#footer-content .legal-information-links a {
    color:#fff;
    font-weight: bold;
}

#footer-content .legal-information-links a:hover {
    text-decoration: underline;
}


h6 {
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    margin:0;
}


/* .application-section {
    display:flex;
    justify-content: center;
    font-weight:normal;
    font-size:1vw;
}

.application-width {
    padding:5vw;
    width:50vw;
    display:flex;
    justify-content: center;
    border-radius:10px;
} */

.application-wrapper {
    border-radius:1vw;
    padding:4vw;
    border-color: #005c53;
    border-style: solid;
    border-width: 2px;

}


.radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 1vw;       
    align-items: center;
}

fieldset {
    border: none;
    padding: 0;
    margin-bottom: 40px;
}

fieldset a {
    text-decoration: underline;
    text-align: end;
}

legend {
    font-size:1.5vw;
    margin-bottom:20px;
    font-weight:bold;
}

.antragsformular p, label {
    border-style:none;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    font-weight: bold;
}

.antragsformular_zusammenfassung p {
    font-weight: normal;
}

.antragsformular_zusammenfassung a {
    font-weight: bold;
    color: #005C53;
}

.antragsformular_zusammenfassung a:hover {
    text-decoration: underline;
}

.antragsformular_zusammenfassung ul {
    display: block;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    list-style: disc;
    margin-left: 40px;
    margin-top: 0px;
}

.application-wrapper h2 {
    font-size: clamp(1.5rem, 1.2vw, 2rem);
    margin-bottom: 25px;
}

.application-section button {
    border-radius:10px;
    padding:0.3em 1.5em;
}

.application-section button[type="submit"] {
    background-color:#005C53;  
    color: white;               
    border: none;                
    border-radius: 30px;                 
    font-size: 1.2em;            
    cursor: pointer;
}


form input[type="text"],
form input[type="email"],
form input[type="password"],
select,
form textarea {
    width: 100%;
    max-width: 100%;
    padding: 0.5em;
    margin-top: 3px;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    font-family: "Barlow", sans-serif;
}

form textarea {
    resize: vertical;
    font-family: "Barlow", sans-serif;
}

form hr {
    margin-top: 30px;
    margin-bottom: 30px;
}

.application-section button[type="submit"] {
    background-color:#005C53;  
    color: white;               
    border: none;                
    border-radius: 30px;                  
    font-size: 1.2em;            
    cursor: pointer;
    padding: 0.8em 2em;
    transition: background-color 0.3s ease;
}

.application-section button[type="submit"]:hover {
    background-color: #00997B;
}

.side-page-new {
    margin-top: 80px;
    margin-bottom: 80px;
}

.side-page-wrapper-new {
    overflow: hidden;
}

.side-menu-new, .side-page-content-new {
    float: left;
    box-sizing: border-box;
}

.side-page-content-new {
    border-left: 2px solid #9EC131;;
}

.side-menu-new {
    width: 25%;
    text-align: right;
}

.side-page-content-new {
    width: 75%;
}

.side-menu-wrapper-new {
    padding-right: 50px;
    padding-left: 50px;
}

.side-menu-wrapper-new p {
    margin-bottom: 0px;
}

.side-menu-new h1 {
    font-size: clamp(2.2rem, 2.7vw, 4.2rem);
    color: rgba(159, 193, 49, 1);
    margin-bottom: 30px;
}

.side-menu-new h2 {
    font-size: clamp(1.5rem, 2vw, 3.3rem);
    text-align: end;
    font-weight: 400;
    color: rgba(159, 193, 49, 0.6);
}

.side-page-content-new h2 {
    font-size: clamp(2.8rem, 3.5vw, 6rem);
    margin: 3vw 0;
}

.side-page-content-new h3 {
    font-size: clamp(2rem, 2vw, 3.5rem);
    font-weight: 500;
    color: #9EC131;
    margin: 3vw 0 0.8vw 0;
}

.side-page-content-wrapper-new {
    padding-left: 50px;
    max-width: 850px;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    padding-right: 20px;
}

.side-page{
    display:flex;
    justify-content:center;
    margin: 3vw 0;
}

.side-page-wrapper {
    width:90vw;
    display:flex;
}

.side-menu {
    color: #9EC131;
    margin-right: 2vw;
}

.side-page-content {
    border-style: solid;
    border-width: 0 0 0 0.1vw;
    border-color: #9EC131;
    padding-left: 2vw;
}

.side-page-content p {
    width:40vw;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
}

.side-page-slogan-wrapper h2{
     font-size: 2.5vw;
}

.side-page-content h2 {
    font-size: 3vw;
    margin: 3vw 0;
    width: 45vw;
}

.side-menu h1 {
    font-size: 2vw;
}

.side-menu h2 {
    font-size: 1.5vw;
    text-align: end;
    font-weight: 400;
    color: rgba(159, 193, 49, 0.6);
}

.side-menu h3{
     font-size: 2.5vw;
}

.side-page-content h3 {
    font-size: 1.5vw;
    font-weight: 500;
    color: #9EC131;
    margin: 2vw 0 0.8vw 0;
}

.side-page-benefits {
    width: 25vw;
}

.side-benefits-list img {
    height: 1.2vw;
    margin-right: 10px;
}

.side-benefits-list {
    margin-top: 1vw;
    display: grid;
    grid-template-columns: repeat(2, 30vw);
    row-gap: 2vw;
    column-gap: 2vw;
}

.side-benefits-list p {
    display: block;
    margin: 0;
    margin-top: 5px;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
}

#side .benefit-point p {
    width: auto;
    display: none;
}

.side-page-benefits p {
    display: block !important;
}



.accordion {
    width: auto;
    background: white;
    border-radius: 12px;
    border-style: solid;
    border-width: 0.05vw;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.accordion-item {
    border-bottom: 1px solid #ddd;
    margin: 0;
    padding: 0;
}

.accordion-item p {
    margin:0;
    padding:0;
    margin-block:0;
    margin-inline:0;
}

.accordion-title {
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    width: 100%;
    cursor: pointer;
    background-color: #fff;  
    color: #005C53;          
    transition: background-color 0.25s ease, color 0.25s ease;
}


.accordion-title .title-text {
    flex: 1;
    font-size: clamp(1.3rem, 1.1vw, 1.9rem);
    font-weight: 500;
}


.accordion-title .arrow {
    width: 30px;
    fill:none;
    stroke: #005C53;       
    stroke-width: 1px;
    margin-left: 8px; 
    transition: transform 0.25s ease,  stroke 0.25s ease;
    transform-origin:center;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 20px;
    margin:0;
    background: #fff;
}

/*

.accordion-content p {
    padding: 16px 0;
    width:35vw;
}

*/

.accordion input[type="checkbox"] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}

.accordion label.accordion-title {
  margin: 0;
  padding: 15px 20px;
}

input[type="checkbox"]:checked ~ .accordion-title {
  background-color: #005C53;
  color: #fff;
}



input[type="checkbox"]:checked ~ .accordion-content {
  max-height: 12vw; 
}


input[type="checkbox"]:checked ~ .accordion-title .arrow {
    transform: rotate(90deg);
    stroke: #ffffff;      
}


.membership-prices-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 1vw 0;
}

.membership-box {
    background-color: #004d40;
    color: white;
    padding: 2vw;
    border-radius: 1vw;
    width:25vw;  
}

.membership-box h4 {
    font-size: 1vw;
    margin-bottom: 2vw;
    text-transform: uppercase;
}

.membership-box table {
    width: 100%;
    border-collapse: collapse;
}

.membership-box th, .membership-box td {
    padding: 10px 5px;
    text-align: left;
}

.membership-box td {
     font-size: 1vw;
}

.membership-box th {
    font-weight: bold;
    font-size: 1vw;
}



@media (max-width: 1500px) {

    .hero-overlay {
    padding-top: 16vw;
}

    .function-menu ul li {
        padding:1vw;
    }
}


@media (max-width: 1200px) {

    #wrapper {
        margin: 50px auto;
    }

    .function-menu ul li {
        padding:1vw;
    }

    .function-menu a {
        font-size:0;
    }

    .slogan-wrapper h2 {
        font-size:5vw;
    }

    h4 {
        font-size:1.87vw;
    }

    .area-card {
        width:30vw;
        padding:3vw;
        margin:2vw;
    }

    .area-card img {
        height: 8vw;
    }

    .area-card h4, .topic-card h4 {
        font-size:2.5vw;
    }


    #position-wrapper img {
        height:50vw;
    }

    #position-text {
        top:2vw;
        left:2vw;
    }

    #position-text img {
        height: 1vw;
    }

    #position-wrapper p {
        width:40vw;
    }

    .topic-card img {
        height:12vw;
    }

    .menu-icon {
        height:15px;
    }

    form input[type="text"], form input[type="email"], form input[type="password"], select, form textarea {
        padding: 10px;
    }

    .antragsformular .zeile {
        height: 75px;
    }

}


@media (max-width: 900px) {


    /*
    .side-page-new {
    margin-top: 50px;
}

    .side-page-content-wrapper-new {
        padding-left: 25px;
    }

    .side-menu-wrapper-new {
        padding-right: 25px;
        padding-left: 20px;
    }

    .function-menu {
        display: none;
    }

    #hero-image {
        width:100vw;
        border-radius: 0;
    }

    .hero-overlay {
        padding-top: 17vw;
        padding-left: 80px;
        text-shadow: 2px 2px 10px #000000;
    }

    /*

    #hero-image {
        height: 50vw;
    }
    
    *

    .application-wrapper {
        border:none;
    }

    .cta-button {
        margin-top: 20px;
        text-shadow: none;
    }

    .form-cta {
        margin-top: 30px;
    }

    .slogan-wrapper h2, .hero-overlay h1 {
        font-size: 7vw;
    }

    #short-positioning {
        width:85vw;
        padding: 5vw;
        margin: 4vw 0;
    }

    #short-positioning p {
        width: 80vw;
    }

    #benefits-content {
        width: 70vw;
    }

    .function-menu ul li {
        border-radius: 0 0 0 1vw;
    }

    */

    #logo-start {
        width: 50vw;
    }

    #hero-wrapper {
        display:flex;
    }

    #hero-content {
        width:100vw;
    }

    #hero-image {
        width:100vw;
    }
    
    #desktop-function-menu {
        display:none;
    }

    #burger-function-menu {
        order: 1;
        display:flex;
        border-width: 0;
    }

    .function-menu ul {
        border-radius: 0 0 0 3vw;
    }
    
    .function-menu ul li {
        height:5vw;
        padding:4vw;
    }

    .main-menu {
        order: 2;
        display:block;
        width:90vw;
        margin-left:5vw;
    }

    .main-menu nav {
        justify-content: center;
        align-items: center;
    }

    .main-menu ul  {
        padding-left:0px;
        display:flex;
        flex-direction: column;
        height:80vw;
        display:none;
    }

    .main-menu li  {
        padding: 2vw 0;
    }

    .main-menu ul li a {
        font-size:8vw;
    } 
    
    .dropdown:hover .dropdown-content {
        display: none!important;
}

    .slogan-wrapper h2 {
        font-size:9vw;
    }

    #short-positioning {
        width:90vw;
    }

    .menu-icon {
        height:5vw;
    }

    .burger-icon .menu-icon {
        height:6vw;
    }

    .areas-of-influence {
        display:block;   
    }   
    
    .area-card {
        width:70vw;
        margin:4vw;
    }

    .area-card img {
        height: 11vw;
    }

    .area-card h4, .topic-card h4 {
        font-size:4vw;
    }

    #position-wrapper img {
        height:auto;
    }

    #position-text img {
    height: 1vw;
    }


    .topic-wrapper {
    flex-direction: column;
    align-items:center;
    }

    .topic-card {
    width: 50vw;;
    text-align: center;
    margin-top:0px;
    margin-bottom: 0px;
    padding-left: 40px;
    padding-right: 40px;
    }

    .topic-card p {
    margin-bottom: 0px;
    }

    body.menu-active {
        overflow: hidden;
        position: relative;
        touch-action: none;
    }

    body.menu-active #hero-wrapper {
        width: 100vw;
        height: 100vh; 
        height: 100dvh; 
        background-color: white;
        z-index: 9999;
        overflow: hidden;
    }

    body.menu-active #hero-content {
        display: flex;
        flex-direction: column;
    }

    body.menu-active .function-menu {
        align-items: flex-start;
    }

    body.menu-active #desktop-function-menu {
        display:flex!important;
        order: 3;
        justify-content: flex-start;
        margin-top: auto;
    }

    body.menu-active #desktop-function-menu ul {
        border-radius: 0 3vw 0 0;
    }

    body.menu-active #desktop-function-menu ul li {
        padding: 5vw;
    }

  
    body.menu-active #hero-image,
    body.menu-active .hero-overlay{
        display:none;
    }

    body.menu-active #short-positioning,
    body.menu-active .slogan-wrapper,
    body.menu-active #areas-of-influence-wrapper,
    body.menu-active #position-wrapper,
    body.menu-active #topic-wrapper,
    body.menu-active #benefits-wrapper,
    body.menu-active footer {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    }   
}


@media (max-width: 700px) {


    .side-page-new {
        margin-top: 30px;
    }
    .side-menu-new {
        display: none;
    }

    .side-page-content-new {
        border: none;
    }

    .side-page-content-wrapper-new {
        padding-left: 20px;
    }

    .side-page-content-new {
        width: 100%;
        float: none;
    }

    #footer-content {
        flex-direction: column-reverse;
        align-items: center;
        text-align: center;
        justify-content: center;
    }

    .produkttabelle th, .produkttabelle td {
        padding: 15px;
    }

    #hero-image {
        height: 80vw;
    }

    .hero-overlay {
    padding-left: 20px;
    padding-top: 34vw;
    }

    .slogan-wrapper {
    margin-top: 40px;
    margin-bottom: 40px;
    }

    #benefits-wrapper {
        margin-top: 50px;
        margin-bottom: 60px;
    }

    #benefits-content {
        padding: 5vw;
    }

    .benefit-point h5 {
        margin-bottom: 0px;
    }

    .benefits-list {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 7vw;
    }

    .benefit-point {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: start;
    }

    .benefits-list img {
        height: 4vw;
    }

    .title-wrapper {
        text-align: center;
        margin-bottom: 20px;
    }

    .application-wrapper {
        border:none;
        padding: 20px;
    }

    #position-wrapper {
        display: block;
        height: auto;
        margin-bottom: 30px;
        background-color: transparent;
    }

    #position-text {
        position: relative;
        top:0px;
        left:0px;
        text-shadow: none;
        color: #fff;
        padding-top: 20px;
        background-color:#005C53;
    }

    #position-wrapper p {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }

    #position-wrapper .title-wrapper, #position-wrapper .title-wrapper h3 {
        margin-bottom: 0px;
    }

    .area-card h4, .topic-card h4 {
        font-size:5vw;
    }

    .slogan-wrapper h2, .hero-overlay h1 {
        font-size: 9vw;
    }

    .slogan-wrapper h2 {
        line-height: 1;
    }
}

   
