html { scroll-behavior: smooth; font-family: 'Roboto'; font-size:12pt; padding: 0; margin: 0; }


a { color: #000000; text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus { outline: #000000; }
a:visited {  }
strong { font-weight:bold; }
em { font-style: italic;}
textarea { resize: vertical; }
article, aside, figure, footer, header, menu, nav, section { display: block; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #CCCCCC; margin: 1em 0; padding: 0; }
img { width:100%; height: auto;}
html { font-size:100%; }

figure { margin-block-start:0;margin-block-end:0;margin-inline-start: 0; margin-inline-end: 0;}
figcaption { color:#585858; font-size:10pt; }


/* +----------------------------------------------------------------------- */
/* | Farben
/* +----------------------------------------------------------------------- */

:root {
    
	--reddark: rgb(188,20,19);
	--red: rgb(230,51,35);
	--blue: rgba(18,133,200,1.00);
}

/* +----------------------------------------------------------------------- */
/* | Helper classes
/* +----------------------------------------------------------------------- */

.clear { clear: both; }
.pull-left { float: left; }
.pull-right { float: right; }
.align-left, .alignleft { text-align: left; }
.align-right, .alignright { text-align: right; }
.align-center, .aligncenter { text-align: center; }
.ir { background-color: transparent; border: 0; overflow: hidden; *text-indent: -9999px; }
.ir:before { content: ""; display: block; width: 0; height: 150%; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, 
.visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { display:none !important;}
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }
.uppercase { text-transform: uppercase;}

.boxShadow, .boxshadow { box-shadow:rgba(0,0,0,0.1) 5px 5px 5px; }

.no-margin, .nomargin {margin:0;}
.no-padding, .nopadding {padding:0;}

.block { overflow: visible; }
.inside { }

.spacer50 { flex-basis: 100%; height:50px; }

.linkButton p a { background: var(--blue); color:#fff; padding: 5px 10px; text-decoration: none !important; font-weight:300; display: inline-block; box-shadow: rgba(0,0,0,.25) 0 0 20px; font-size:1em; }
.linkButton p a:hover { background: var(--yellowDark);  }


.content section, .section, #main section { padding:80px 0; scroll-margin-top: 107px; }
.content section#services { padding:30px 0 0 0; }
.content section.no-padding, .content section.nopadding { padding:0; }

.content p, 
.content ul li,
.content ol li { line-height:1.4; color: #333; font-size:1em; font-weight:400; }
.content p { margin: 0 0 20px 0;  }
.content p a, .content li a { text-decoration: underline; }
.content p strong {  font-weight:500; }
.content ul { margin: 0 0 20px; }
.content ul li { margin: 0 0 5px; }
.content ul li.no-margin {margin:0;}

.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 { font-family: 'Roboto'; color: var(--blue); font-size: 11pt; }


.content h1, 
.content h2 { line-height:1.2; font-size:3em; font-weight: 500; text-align: left; padding:0; margin: 0 0 30px; position: relative; color:var(--blue); font-family: 'Gelasio'; } 
.content h3 { line-height:1.5; font-size:1.3em; font-weight: 600; text-transform: uppercase; margin: 0 0 20px;  color:var(--red);}
.content h4 { line-height:1.5; font-size:1.25em; font-weight: 500; margin:0 0 10px; }
.content h5 { line-height:1.5; font-size:1.25em; font-weight: 500; margin:0 0 5px; font-family: 'Roboto'; color: var(--reddark); text-transform: uppercase; }
.content h6 { line-height:1.5; font-size:8pt; font-weight:400; font-style: italic; }

/* +----------------------------------------------------------------------- */
/* | Kontaktformulare
/* +----------------------------------------------------------------------- */

#f1 .formbody * { font-size: 12pt;  }
#f1 input.text { width: calc(100% - 40px); padding:0 20px; line-height:45px; border:1px solid #ccc; margin-bottom:10px; color:#1d1d1d; font-weight: 400; }
#f1 select { width: 100%; line-height:45px; border:1px solid #ccc; margin-bottom:10px; color:#1d1d1d; font-weight: 400; padding: 12px; }
#f1 input.checkbox { width:20px; height: 20px;  }


#f1 input.text::placeholder,
#f1 select::placeholder { color:#9D9D9D; font-weight:400; font-size:12pt; }

#f1 textarea.textarea { width: calc(100% - 40px); padding:20px; min-height:193px; border:1px solid #ccc; color:#1d1d1d; font-weight: 500; }

#f1 select,
#f1 textarea.textarea::placeholder,
#f1 input.text::placeholder { color:#9D9D9D; font-weight:400; font-size:12pt; }
#f1 select option.selected { color:var(--dark); }

#f1 select,
#f1 input.text,
#f1 textarea.textarea { box-shadow:rgba(0,0,0,0.05) 5px 5px 5px; }

#f1 .widget-checkbox fieldset { border:none; font-size:7pt;  }
#f1 .widget-checkbox label {color:#1d1d1d; font-size:9pt; line-height:20px; height: 20px; display: block;}

#f1 .widget-checkbox { margin-bottom:20px; }
#f1 .widget-checkbox span { display: flex;}
#f1 .widget-checkbox span input { margin-right: 10px;}
#f1 .widget-checkbox span label {}

#f1 .submit_container { text-align:center; }
#f1 .widget-submit button { background: var(--blue); text-transform:uppercase; border:none; color: #fff; padding:10px; font-size:15pt; }

#f1 .formbody { display: flex; flex-wrap: wrap;}

#f1 .widget-text,
#f1 .widget-select { flex-basis:calc(50% - 20px); margin:10px;}

#f1 .widget-textarea, 
#f1 .widget-captcha, 
#f1 .widget-submit, 
#f1 .widget-explanation,
#f1 .widget-checkbox { flex-basis:100%; margin:10px;}

#f1 .explanation * { font-size:10pt;}

#f2 input.text { width: 90%; padding:0 5%; line-height:45px; border:1px solid #ccc; margin-bottom:10px; color:#1d1d1d; font-weight: 400; font-size:12pt; }
#f2 input.text::placeholder { color:#9D9D9D; font-weight:400; font-size:10pt; }
#f2 select { width: 49%; padding:0 5%; line-height:45px; height: 45px; border:none; margin-bottom:10px; color:#fff; font-weight: bold; }
#f2 input.checkbox { width:20px; height: 20px;  }

#f2 textarea.textarea { width: 95%; padding:20px 2.5%; min-height:193px; border:1px solid #ccc; color:#1d1d1d; font-weight: 500; font-size:12pt; }
#f2 textarea.textarea::placeholder { color:#9D9D9D; font-weight: 500; font-size:10pt; }

#f2 input.text,
#f2 textarea.textarea { box-shadow:rgba(0,0,0,0.05) 5px 5px 5px; }

#f2 .widget-checkbox fieldset { border:none; font-size:9pt;  }
#f2 .widget-checkbox label {color:#1d1d1d; font-size:12pt; line-height:20px; height: 20px;}

#f2 .submit_container { text-align:center; }
#f2 .widget-submit button { background: var(--blue); border:none; color: #fff; padding:10px 0; width:180px; font-size:15pt; }

#f2 .formbody { display: flex; flex-wrap: wrap;}

#f2 .widget-text { flex-basis:calc(33.33% - 20px); margin:0 10px 15px;}
#f2 .widget-checkbox { flex-basis:calc(100% - 20px); margin:0 10px 0;}
#f2 .widget-textarea, 
#f2 .widget-explanation, 
#f2 .widget-altcha, 
#f2 .widget-captcha, 
#f2 .widget-submit, 
#f2 .widget-select { flex-basis:calc(100% - 20px); margin:0 10px 15px;}

#f2 .explanation * { font-size:10pt;}


#shortform { }
#shortform h3 { padding:0 15px; color:#fff; font-size: 1.2em; }
#shortform form { padding:0 15px 15px 15px; }
#shortform .explanation * { font-size:8pt;}

#shortform input.text { width: 90%; padding:0 5%; line-height:35px; border:1px solid #ccc; margin-bottom:10px; color:#1d1d1d; font-weight: 400; font-size:15pt; }
#shortform input.text::placeholder { color:#9D9D9D; font-weight:400; font-size:12pt; }
#shortform select { width: 100%; padding:5px; border:1px solid #ccc; margin-bottom:10px; color:#9D9D9D; font-weight: 400; font-size:12pt; }
#shortform input.checkbox { width:20px; height: 20px;  }
#shortform .widget-checkbox fieldset { border:none; padding: 0; margin-bottom:5px; font-size:10pt; }
#shortform .widget-checkbox label { margin-top: -3px; line-height: 20px;}

#shortform .widget-radio fieldset { border:none; padding: 0; margin-bottom:5px; }
#shortform .widget-radio legend { margin-bottom: 8px; }
#shortform .widget-radio label { }

#shortform textarea.textarea { width: 95%; padding:20px 2.5%; min-height:120px; border:1px solid #ccc; color:#1d1d1d; font-weight: 500; font-size:13pt; margin-bottom:10px; }
#shortform textarea.textarea::placeholder { color:#9D9D9D; font-weight: 500; font-size:12pt; }

#shortform select,
#shortform input.text,
#shortform textarea.textarea { box-shadow:rgba(0,0,0,0.05) 5px 5px 5px; }

#shortform .widget { margin: 10px; }
#shortform .widget-submit button { background: var(--yellowDark); border:none; color: #fff; padding:10px 0; width:180px; font-size:15pt; }

/* +----------------------------------------------------------------------- */
/* | Stylings
/* +----------------------------------------------------------------------- */

.content .ce_gallery div.cols_1,
.content .ce_gallery div.cols_2,
.content .ce_gallery div.cols_3,
.content .ce_gallery div.cols_4,
.content .ce_gallery div.cols_5,
.content .ce_gallery div.cols_6 { display: flex; flex-wrap:wrap; }

.content .ce_gallery div.cols_1 div { flex-basis: 100%; }
.content .ce_gallery div.cols_2 div { flex-basis: 50%; }
.content .ce_gallery div.cols_3 div { flex-basis: 33.33%; }
.content .ce_gallery div.cols_4 div { flex-basis: 25%; }
.content .ce_gallery div.cols_5 div { flex-basis: 20%; }
.content .ce_gallery div.cols_6 div { flex-basis: 16.66%; }

.content .ce_gallery h2 { text-align: center; }
.content .ce_gallery .image_container { margin: 10px;}
.content .ce_gallery img { box-shadow: rgba(0,0,0,0.2) 5px 5px 5px;}




/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 1500px) {
    
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 1024px) {


}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 991px) {

    
}

/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {	

}