/* 
Theme Name: RHOtheme
Version: v.1.0
Description: Nord-Theme - a flexible Theme for small businesses
Author: Roman Hospenthal, RHOdesign
Author URI: http://www.rhodesign.ch/
*/

@import 'css/reset.css';
@import 'css/grid.css';
@import 'css/plugins.css';
@import 'css/helpers.css';



/* ------------------------------------------------------------ *\
	Variables
\* ------------------------------------------------------------ */
:root {
/* Font sizes. */
--fontsize-xl: ; 
--fontsize-lg: 40px ; 
--fontsize-md: 28px;
--fontsize-sm: 20px; 
--fontsize-xs: 18px;

/* Line heights. */
--line-height-sm: 1;
--line-height-md: 1.4;
--line-height-lg: 1.6;
}
@media (max-width: 991px) {
:root {
--fontsize-lg: 30px ; 
--fontsize-md: 22px;
}
}
@media (max-width: 575px) {
:root {
--fontsize-lg: 28px; 
--fontsize-md: 21px;
--fontsize-sm: 18px; 
--fontsize-xs: 16px;
}
}




/* ------------------------------------------------------------ *\
	Fonts
\* ------------------------------------------------------------ */
/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: local(''),
       url('fonts/roboto-v30-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('fonts/roboto-v30-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('fonts/roboto-v30-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('fonts/roboto-v30-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* roboto-900 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: local(''),
       url('fonts/roboto-v30-latin-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/roboto-v30-latin-900.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}




/* ------------------------------------------------------------ *\
	Base
\* ------------------------------------------------------------ */
body { min-width: 320px; background: #FFF; font-family: 'Roboto', Arial, sans-serif; font-weight:400; font-size: var(--fontsize-sm); line-height: var(--line-height-md); color: #000000; }

a { color: inherit; text-decoration: none; transition: color .2s; }
a:hover,
a[href^="tel"] { text-decoration: none; }
p,ul,ol,dl,hr,table,blockquote { margin-bottom: 1.5em; }







/* ------------------------------------------------------------ *\
	Wrapper
\* ------------------------------------------------------------ */
.wrapper {display: flex;flex-direction: column;min-height: 100vh; }
.main {z-index: 88888 !important; }

.container {  padding-right:25px;padding-left:25px;margin-right:auto;margin-left:auto}
.inner {max-width: 1450px;}
.full {width: 100%; padding-right:0px;padding-left:0px;}

@media (max-width: 575px) {
.container {  padding-right:15px;padding-left:15px;}
}

.container a {color: #AE191C ; }
.container a:hover {color: #000000;}



.textcenter {text-align: center;}
.textright { text-align: right; }
.relative {position: relative; }

small {font-size: 0.8em; line-height: 0.7em;}
strong { font-family: 'Roboto', Arial, sans-serif; font-weight:700;}

.section {display: block; clear: both; position: relative; width: 100%; }
.section p:last-of-type {margin-bottom: 0; }

.section:first-of-type {margin-top: 80px }
.section.section-headslider  {margin-top: 0 !important }
.section:last-of-type {margin-bottom: 200px !important }
.section:last-of-type.abstand-kein {margin-bottom: 0px !important }




/* ------------------------------------------------------------ *\
	Margins
\* ------------------------------------------------------------ */
.abstand-kein { margin-bottom: 0px;}
.abstand-klein { margin-bottom: 30px;}
.abstand-mittel { margin-bottom: 60px;}
.abstand-gross { margin-bottom: 120px;}
@media (max-width: 991px) {
.abstand-mittel { margin-bottom: 60px;}
.abstand-gross { margin-bottom: 80px;}
}
@media (max-width: 575px) {
.abstand-mittel { margin-bottom: 45px;}
.abstand-gross { margin-bottom: 60px;}
}


/* ------------------------------------------------------------ *\
	Paddings
\* ------------------------------------------------------------ */
.padding-top-klein { padding-top: 30px;}
.padding-top-mittel { padding-top: 60px;}
.padding-top-gross { padding-top: 120px;}
.padding-bottom-kein { padding-bottom: 0px;}
.padding-bottom-klein { padding-bottom: 30px;}
.padding-bottom-mittel { padding-bottom: 60px;}
.padding-bottom-gross { padding-bottom: 120px;}
@media (max-width: 991px) {
.padding-top-kein { padding-top: 30px;}
.padding-top-mittel { padding-top: 60px;}
.padding-top-gross { padding-top: 80px;}
.padding-bottom-kein { padding-bottom: 30px;}
.padding-bottom-mittel { padding-bottom: 60px;}
.padding-bottom-gross { padding-bottom: 80px;}
}
@media (max-width: 575px) {
.padding-top-mittel { padding-top: 45px;}
.padding-top-gross { padding-top: 60px;}
.padding-bottom-mittel { padding-bottom: 45px;}
.padding-bottom-gross { padding-bottom: 60px;}
}



/* ------------------------------------------------------------ *\
	Hintergrundfarben
\* ------------------------------------------------------------ */
.hintergrundfarbe1 {background-color: #f2f2f2 }
.hintergrundfarbe2 {background-color: #000000}
.hintergrundfarbe3 {background-color: #AE191C}



/* ------------------------------------------------------------ *\
	Headings
\* ------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6 {  -webkit-transition: all .2s; transition: all .2s; }
h1 { font-family: 'Roboto', Arial, sans-serif; font-weight:700; color: #000000; font-size: var(--fontsize-lg); line-height: var(--line-height-md); margin-bottom: 30px; text-transform: uppercase; letter-spacing: 0.02em;}
h2 { font-family: 'Roboto', Arial, sans-serif; font-weight:700; color: #000000; font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.02em;}
h3 { font-family: 'Roboto', Arial, sans-serif; font-weight:700; color: #000000; font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.02em;}
h4 { font-family: 'Roboto', Arial, sans-serif; font-weight:700; color: #000000; font-size: var(--fontsize-sm); line-height: var(--line-height-md); margin-bottom: 20px; text-transform: uppercase; letter-spacing: 0.02em;}


/* ------------------------------------------------------------ *\
	Listen
\* ------------------------------------------------------------ */

.section-text ul{ list-style: none; padding:0;  margin:0 0 25px 0;  }
.section-text ul li{ padding-left: 1.3em; text-indent: -1em; padding-bottom: 10px   }
.section-text ul li:before { content: "\2013"; padding-right:0.5em; }

/*
.section-text ul{ list-style: none; padding:0;  margin:0 0 30px 0;  }
.section-text ul li{  padding-bottom: 10px; border-bottom: 1px solid #000000 }
.section-text ul li + li{  padding-top: 10px; border-bottom: 1px solid #000000 }
*/

.section-text ol { list-style: none; counter-reset: my-awesome-counter; margin:0 0 30px 0;}
.section-text ol li { counter-increment: my-awesome-counter; padding-bottom: 5px; }
.section-text ol li::before { content: counter(my-awesome-counter) ". ";  }




/* ------------------------------------------------------------ *\
	Header
\* ------------------------------------------------------------ */
.header{ background: transparent; height: 240px; width: 100%; position: relative;box-sizing: border-box;  transition: all .4s ease-in-out; z-index: 99990 !important;}

.logo { background-image: url(images/logo_nu.png); background-size: 100%; background-repeat: no-repeat; width: 200px; height: 200px; display: inline-block; vertical-align: middle; font-size: 0px; position: absolute; top: 20px; transition: all .5s; z-index: 999999}

.logo2 { background-image: url(images/logo2.svg); background-size: 100%; background-repeat: no-repeat; width: 140px; height: 140px; display: inline-block; vertical-align: middle; font-size: 0px; position: absolute; top: 50px; left: 250px; transition: all .5s; z-index: 999999}

@media (max-width: 1340px) {
.header {height: 200px;}
.logo { width: 160px; height: 160px; }
.logo2 { width: 100px; height: 100px;  top: 50px; left: 200px; }
}

@media (max-width: 991px) {
.header {position: fixed; position: sticky;  top: 0; left: 0;height: 160px;}
.logo { width: 140px; height: 140px; top: 10px;}
.logo2 { width: 90px; height: 90px;  top: 40px; left: 180px; }
}

@media (max-width: 767px) {
.header {height: 60px;}
.logo { width: 90px; height: 90px; top: 10px;}
.logo2 { width: 90px; height: 90px;  top: 10px; left: 125px; }
}




/* ------------------------------------------------------------ *\
	Menu Hauptnavigation
\* ------------------------------------------------------------ */
nav#hauptnavigation {position: absolute; right: 20px; top: 79px; transition: all .5s;}

/*** ESSENTIAL STYLES SUCKERFISH***/
.menu, .menu * {margin: 0;padding: 0;list-style: none;}
.menu li {position: relative;}

.menu > li {float: left;}
.menu li:hover > ul {display: block;}
.menu a {display: block; position: relative;}
.menu ul ul {top: 0; left: 100%;}

/*** SKIN ***/
.menu li {white-space: nowrap; *white-space: normal; -webkit-transition: background .1s; transition: background .1s; z-index: 9999; margin: 0 0 0 35px }
.menu li a {
font-size: var(--fontsize-sm); line-height: var(--line-height-md);
text-transform: uppercase; 
letter-spacing: 0.08em; 
margin-left: 0px;  
zoom: 1; 
text-decoration: none; 
padding: 0 0 12px 0;  
transition: all .4s ease-in-out;
color: #000000;
}
.menu li a:hover {color: #AE191C !important;}

/*** SUBMENU ***/
.menu ul {position: absolute; min-width: 240px; background: #f2f2f2; top: 100%;z-index: 99;  padding: 20px 20px 15px 0px; margin-left: -30px; zoom: 1; display: none;}
.menu ul li a { text-transform: uppercase; letter-spacing: 0.02em; font-size: var(--fontsize-sm); line-height: var(--line-height-md);padding: 5px 0; }
.menu ul li a:hover {color: #AE191C !important; background: transparent !important; padding-left: 10px}

.menu ul li {}
.menu ul ul li {} 
.menu li:hover,

li.current-menu-parent >a, .current-menu-item >a { color: #AE191C !important;}


.menu li.current_page_item a:after,
.menu li.current_page_parent  a:after{ 
content: ''; width: 100%; height: 2px; background: #AE191C; position: absolute; left: 0; bottom: 0;}

.menu li a:after { content: ''; width: 0; height: 2px; position: absolute; left: 0; bottom: 0; transition: width .5s; background: #AE191C;}
.menu li:hover > a:after { width: 100%; }
.menu ul li a:after,nav#nav-mobile a:after {content: none !important;}

@media (max-width: 1340px) {
nav#hauptnavigation {top: 61px;}
.menu li { margin: 0 0 0 20px }
.menu li a {font-size: var(--fontsize-xs); }
}
@media (max-width: 991px){
nav#hauptnavigation {display: none;}
}




/* ------------------------------------------------------------ *\
	Menu Burger
\* ------------------------------------------------------------ */
.nav-trigger {display: none; width: 35px; height: 16px; position: absolute; right: 20px; top: 20px; transform: rotate(0deg);  transition: .5s ease-in-out; cursor: pointer; z-index: 999999}
.nav-trigger span { display: block; position: absolute; height: 2px; width: 100%; background: #000000; border-radius: 0px; opacity: 1; left: 0;  transform: rotate(0deg); transition: .25s ease-in-out;}

.nav-trigger span:nth-child(1) {top: 0px;}
.nav-trigger span:nth-child(2),
.nav-trigger span:nth-child(3) {top: 8px;}
.nav-trigger span:nth-child(4) { top: 16px;}

.nav-trigger.open span { background: #FFF;}
.nav-trigger.open span:nth-child(1),.nav-trigger.open span:nth-child(4) { top: 9px;width: 0%;left: 50%;}
.nav-trigger.open span:nth-child(2) { transform: rotate(45deg);}
.nav-trigger.open span:nth-child(3) { transform: rotate(-45deg);}

@media (max-width: 991px){
.nav-trigger {display:inline-block; }
}




/* ------------------------------------------------------------ *\
	Menu Mobile
\* ------------------------------------------------------------ */
nav#nav-mobile {position: fixed;right: 0;top: 0; display: block; width: 100%; height: 100%;padding: 180px 0 40px 0; background-color: #000; z-index: 998; overflow-x: hidden; overflow-y: auto; opacity: 0; visibility: hidden;
-webkit-transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
-o-transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}
nav#nav-mobile.nav-mobile-open { opacity: 1;visibility: visible;}

nav#nav-mobile ul.menu {
-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-left:auto; padding: 0; overflow-y: auto; }
nav#nav-mobile ul.menu li {float: unset}
nav#nav-mobile li a{font-size: var(--fontsize-lg); color: #FFF; text-decoration:none; display: block; padding: 5px 10px;
-webkit-transition:color .2s ease-in-out;-o-transition:color .2s ease-in-out;transition:color .2s ease-in-out;}
nav#nav-mobile li a:hover { color: #fff; }

@media (min-width: 991px){
nav#nav-mobile { opacity: 0;visibility: hidden;}
nav#nav-mobile.nav-mobile-open {opacity: 0;visibility: hidden;}
}
@media (max-width: 767px){
nav#nav-mobile {padding: 140px 0 40px 0; }
nav#nav-mobile .menu li { margin: 0 0 0 0 }
nav#nav-mobile li a {font-size: var(--fontsize-md); padding: 7px 20px; }
}
@media (max-width: 575px){
nav#nav-mobile li a {padding: 7px 15px; }
}




/* ------------------------------------------------------------ *\
	Header Sticky
\* ------------------------------------------------------------ */
.header.sticky {position: fixed; position: sticky;  top: 0; left: 0;height: 60px; background: #f2f2f2}
.header.sticky .logo { width: 80px; height: 80px; top: 10px;}
.header.sticky .logo2 { width: 80px; height: 80px; top: 10px; left: 120px}
.header.sticky nav#hauptnavigation { top: 20px;  }
@media (max-width: 575px) {
.header.sticky .logo { width: 60px; height: 60px; top: 10px;}
.header.sticky .logo2 { width: 60px; height: 60px; top: 10px; left: 90px}
}


@media (max-width: 991px) {
.header.has-section-slider-gross .nav-trigger span { background: #FFF; }
.header.has-section-slider-gross.sticky .nav-trigger span { background: #000; }
}

.header.has-section-slider-gross {height: auto}
.header.has-section-headslider {height: auto}
.header.has-section-slider-gross.sticky { height: 60px !important; }
.header.has-section-headslider.sticky { height: 60px !important; }

body.has-section-slider-gross .menu-hauptnavigation-container,
body.has-section-headslider .menu-hauptnavigation-container {
background: #f2f2f2;padding: 15px 20px 0 0;border-radius: 10px;}

body.has-section-slider-gross .header.sticky .menu-hauptnavigation-container,
body.has-section-headslider .header.sticky .menu-hauptnavigation-container{background: unset;padding: unset;border-radius: unset;}

@media (max-width: 991px) {
body.has-section-slider-gross .menu-hauptnavigation-container,
body.has-section-headslider .menu-hauptnavigation-container {display: none;}
}
















/* ------------------------------------------------------------ *\
	M O D U L E - Alle Inhaltsmodule
\* ------------------------------------------------------------ */



/* ------------------------------------------------------------ *\
	Section Titel mit Lead
\* ------------------------------------------------------------ */
.section-titel-mit-lead { font-size: var(--fontsize-md); line-height: var(--line-height-md); transition: all .2s;}
.section-titel-mit-lead p:last-of-type {margin-bottom: 0;}
.section-titel-mit-lead .row.justify-content-center {text-align: center; }
.section-titel-mit-lead  a.btn {margin-top: 40px;}
@media (max-width: 991px) {
.section-titel-mit-lead  a.btn {margin-top: 30px;}
}
@media (max-width: 767px) {
}




/* ------------------------------------------------------------ *\
	Section Text-Module (100, 50, 75-25)
\* ------------------------------------------------------------ */
.section-text {}
@media (max-width: 767px) {
}






/* ------------------------------------------------------------ *\
	Dokument Download-Liste
\* ------------------------------------------------------------ */
.section-dokument-download-liste {}

ul.dokument-download { list-style: none;}
ul.dokument-download li {border-bottom: 1px solid #000000; padding: 20px 0; position: relative}
ul.dokument-download li a {position: relative; text-decoration:none;  margin-left: 2em; color: #000000; display: block; padding-right: 30px;}
ul.dokument-download li a:hover {color: #AE191C;}

ul.dokument-download li a.file[href$="."]:before { position:absolute; left: -2em; top: 2px; content: url(images/file-other.png) " " }
ul.dokument-download li a.file[href$=".pdf"]:before { position:absolute; left: -2em; top: 2px; content: url(images/file-pdf.png) " " }
ul.dokument-download li a.file[href$=".doc"]:before, ul.dokument-download li a[href$=".docx"]:before { position:absolute; left: -2em; top: 2px; content: url(images/file-doc.png) " " }
ul.dokument-download li a.file[href$=".xls"]:before, ul.dokument-download li a[href$=".xlsx"]:before { position:absolute; left: -2em; top: 2px; content: url(images/file-xls.png) " " }
ul.dokument-download li a.file[href$=".jpg"]:before, ul.dokument-download li a[href$=".jpeg"]:before, ul.dokument-download li a[href$=".gif"]:before, ul.dokument-download li a[href$=".png"]:before { position:absolute; left: -2em; top: 2px; content: url(images/file-img.png) " " }

ul.dokument-download li a.web:before { position:absolute; left: -2em; top: 3px; content: url(images/file-link.png) " " }

ul.dokument-download li i { position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);}
[class^="ico-"]{display:inline-block;background-position:0 0;background-size:100% 100%;}
.ico-download{background-image:url(images/ico-download.svg);width:18px;height:23px;}
.ico-web{background-image:url(images/ico-web.svg);width:18px;height:20px;}

@media (max-width:767px), screen and (max-width:812px) and (orientation:landscape){
ul.dokument-download li a.file[href$="."]:before { top: 0px;  }
ul.dokument-download li a.file[href$=".pdf"]:before { top: 0px; }
ul.dokument-download li a.file[href$=".doc"]:before, ul.dokument-download li a[href$=".docx"]:before { top: 0px; }
ul.dokument-download li a.file[href$=".xls"]:before, ul.dokument-download li a[href$=".xlsx"]:before { top: 0px; }
ul.dokument-download li a.file[href$=".jpg"]:before, ul.dokument-download li a[href$=".jpeg"]:before, ul.dokument-download li a[href$=".gif"]:before, ul.dokument-download li a[href$=".png"]:before { top: 0px; }
ul.dokument-download li a.web:before { top: 0px; }
}













/* ------------------------------------------------------------ *\
	Section Accordion
\* ------------------------------------------------------------ */
.accordion { border-bottom: 1px solid #000000; margin-top: -20px}

.accordion-trigger {
color: #000000; padding: 20px 0; border-top: 1px solid #000000;
display: table !important; table-layout: fixed !important; cursor: pointer; display: block; width: 100%; clear: both; position: relative; transition: all .3s;}
.accordion-trigger:first-of-type { border-top: none;}

.accordion-trigger:hover { color: #AE191C;}
.accordion-trigger-active { border-bottom: none; color: #AE191C;}


.accordion-trigger-open:before {content: "";position: absolute;display: block;right: 0px; top: 50%; width: 20px; height: 0; border-top: 2px solid #000000;transform: rotate(0deg);transform-origin: center;-transition: all .5s ease;}
.accordion-trigger-open:after {content: "";position: absolute;display: block;margin: auto; right: 0px; top: 2px; bottom: 0;width: 20px; height: 0; border-top: 2px solid #000000; transform: rotate(90deg);transform-origin: center;transition: all .5s ease;}

.accordion-trigger:hover .accordion-trigger-open:before {border-top: 2px solid #AE191C; }
.accordion-trigger:hover .accordion-trigger-open:after {border-top: 2px solid #AE191C; }

.accordion-trigger-active .accordion-trigger-open:before {border-top: 2px solid #AE191C;transform: rotate(45deg);}
.accordion-trigger-active .accordion-trigger-open:after {border-top: 2px solid #AE191C;transform: rotate(-45deg); }

.accordion-content {padding: 0 0 40px 0; -webkit-animation:fadeOut .8s ease-out;animation:fadeOut .8s ease-out;  }
.accordion-content.open {-webkit-animation:fadeIn .8s ease-out;animation:fadeIn .8s ease-out}

@media (max-width: 991px) {
}
@media (max-width: 767px) {
}










/* ------------------------------------------------------------ *\
	Section Tabelle
\* ------------------------------------------------------------ */
.table-container { }
.table-container table { 
    width: 100% !important; 
    border-spacing: 0; 
    margin: 0;  
    table-layout: auto; 
    font-size: var(--fontsize-xs);
}
.table-container table td { 
    hyphens: auto; 
    border-spacing: 0;  
    vertical-align: top; 
    padding: 15px 20px 15px 0;  
    border-bottom: 1px solid #000;
    white-space: nowrap; /* Kein Umbruch */
}
.table-container table th { 
    hyphens: auto; 
    padding: 15px 20px 15px 0;  
    text-align: left;  
    border-bottom: 1px solid #000;
    white-space: nowrap; /* Kein Umbruch */
}

@media (max-width: 1400px) {
    .table-container { 
        width: 100%; 
        overflow-x: auto; 
        margin: 0 0 1em;
    }
    .table-container::-webkit-scrollbar { 
        -webkit-appearance: none; 
        width: 14px; 
        height: 14px;
    }
    .table-container::-webkit-scrollbar-thumb { 
        border-radius: 8px;  
        border: 3px solid #fff; 
        background-color: rgba(0, 0, 0, .3);
    }
    .table-container table {  
        table-layout: auto;
    }
    .table-container table td { 
        padding: 10px 20px 10px 0; 
        hyphens: unset; 
        white-space: nowrap; /* Kein Umbruch auf mobilen Geräten */
    }
    .table-container table th { 
        padding: 10px 20px 10px 0; 
        hyphens: unset;
        white-space: nowrap; /* Kein Umbruch auf mobilen Geräten */
    }
}




.section-tabelle .swipe-icon-container {text-align: right; display: none; padding: 25px 0 25px 0  }
.section-tabelle .swipe-icon-container img {width: 35px; height: auto; }
@media (max-width: 767px) {
.section-tabelle .swipe-icon-container {display: block; }

}






/* ------------------------------------------------------------ *\
	Section Preisliste
\* ------------------------------------------------------------ */
.preislistenprodukt {padding: 20px 0; border-bottom: 1px solid #000000; width: 100%;overflow: hidden;position: relative;
display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;}
.preislistenprodukt:first-of-type {padding-top: 0;}
.preislistenprodukt .produktename {-webkit-box-flex: 4;-ms-flex: 4;flex: 4;}
.preislistenprodukt .zusatz {-webkit-box-flex: 1;-ms-flex: 1;flex: 1;}
.preislistenprodukt .preis {-webkit-box-flex: 1;-ms-flex: 1;flex: 1; text-align: right;}


/* Mit Varianten */
.preislistenprodukt-mit-variante {padding: 20px 0; border-bottom: 1px solid #000000;width: 100%;overflow: hidden;position: relative;}
.preislistenprodukt-mit-variante:first-of-type {padding-top: 0;}
.preislistenprodukt-mit-variante .produktename {}
.varianten { font-weight: 300;padding: 10px 0 0 0; width: 100%;overflow: hidden;position: relative;
display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;}
.varianten .variantenname { -webkit-box-flex: 4;-ms-flex: 4;flex: 4;}
.varianten .zusatz { -webkit-box-flex: 1;-ms-flex: 1;flex: 1;}
.varianten .preis { -webkit-box-flex: 1;-ms-flex: 1;flex: 1;text-align: right;}






/* ------------------------------------------------------------ *\
	Section Call to Action
\* ------------------------------------------------------------ */
.section-call_to_action  {font-size: var(--fontsize-md); line-height: var(--line-height-md); color: #FFF; padding: 60px 0;}
.section-call_to_action h3 { color: #FFF; }
.section-call_to_action a.btn { margin-top: 50px; }

.section-call_to_action.hintergrundfarbe1 h3 { color: #000000; }
.section-call_to_action.hintergrundfarbe1 {color: #000000}

.section-call_to_action.hintergrundfarbe1 a.btn.negative { color: #000000 !important; border: 2px solid #000000 !important;}
.section-call_to_action.hintergrundfarbe1 a.btn.negative:hover {color: #fff !important; border: 2px solid #AE191C !important; background: #AE191C !important;}









/* ------------------------------------------------------------ *\
	Section Bildslider
\* ------------------------------------------------------------ */
.section-headslider {}
.slider--primary, .slider--secondary { overflow: hidden; }
.slider--primary .slider__slide, .slider--secondary .slider__slide { position: relative; height: 100%; }
.slider--primary .slider__slide-image img, .slider--secondary .slider__slide-image img { width: 100%; }

.captioncontainer { position: absolute; bottom: 100px; left: 0; right: 0; z-index: 3; 
font-size: var(--fontsize-sm); line-height: var(--line-height-md);}
.captioninner {color: #FFF; }
.captioninner h2 {color: #FFF; margin-bottom: 10px}
.captioninner a.btn { padding: 7px 25px; }

.gradientoverlay {z-index: 3;
position: absolute; bottom: 0px; width: 100%; height: 50%; display:block;
background: -moz-linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
background: -webkit-linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0000003c3c3b",endColorstr="#0000003c3c3b",GradientType=1);
}

@media (max-width: 991px) {
.slider--primary .slider__slide { min-height: 400px; margin-bottom: -10px; }
.slider--primary .slider__slide-image img {display: block;width: 100%;height: 100%;object-fit: cover;position: absolute;}
.captioncontainer { bottom: 30px; }
}



/* ------------------------------------------------------------ *\
	Section Slider Home big
\* ------------------------------------------------------------ */
.section-slider-gross {margin-top: 0 !important}
.slider--primary-big { height: calc(100svh) }

.slider--primary-big { overflow: hidden; position:relative;}
.slider--primary-big .slick-slide > div { font-size: 0; }
.slider--primary-big .slider__slide { position: relative; height: 100%; }

.slider--primary-big .slider__slide-image { height: calc(100svh); }
.slider--primary-big .slider__slide-image img { position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;}
.slider--primary-big .slider__slide-video video { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: top;}

@media (max-width: 767px) {
.slider--primary-big { height: calc(75svh) }
.slider--primary-big .slider__slide-image { height: calc(75svh); }
}

/* Slider Hero 2 - Bilder Desktop / Mobile */
.slider--primary-big img.size-slideheadbig {display: block;}
.slider--primary-big img.size-slideheadbig-mobile {display: none}
@media (max-width: 767px) {
.slider--primary-big img.size-slideheadbig {display: none;}
.slider--primary-big img.size-slideheadbig-mobile {display: block}
}



/* ------------------------------------------------------------ *\
	Slider Navigation
\* ------------------------------------------------------------ */
.slick-slide img {  display: inline-block; width: 100%; height: auto}

/* Dot Navigation normal */
.slider .slick-dots { list-style-type: none; /*position: absolute; bottom: 20px; left: 0; right: 0;*/ margin: 20px auto 0 auto; 
display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; width: 100%;}
.slider .slick-dots li { display: inline-block; width: 18px; height: 18px; border-radius:50%;background: #fff; border: 2px solid #000000; padding: 0; }
.slider .slick-dots li:hover { opacity: 50%}
.slider .slick-dots li + li { margin-left: 15px; }
.slider .slick-dots button { background: transparent; border: 0; font-size: 0; }
.slider .slick-dots .slick-active { background: #000000; }

/* Dot Navigation Head-Slider */
.slider--primary .slick-dots { max-width: 1340px; bottom: 50px; left: 0; right: 0; margin: 0 auto;  padding-right:25px; padding-left:25px;
list-style-type: none; position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; 
-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important  }

.slider--primary .slick-dots li { display: inline-block; width: 16px; height: 16px; border-radius:50%; background: transparent; border: 2px solid #FFFFFF; }
.slider--primary .slick-dots li + li { margin-left: 15px; }
.slider--primary .slick-dots .slick-active { background: #FFF; }




.slider .slick-arrow { 
opacity:0; width: 35px; height: 35px; margin-top: -20px;border: 2px solid #fff; border-right: 0; border-top: 0; background: none; font-size: 0; 
transition: opacity .8s ease, border-color .3s ease;
}
.slider .slick-arrow:hover { border-color: #AE191C; }
.slider .slick-prev { position: absolute; top: 50%;  left: 50px; z-index: 30; transform: rotate(45deg) translate(0px);}
.slider .slick-next { position: absolute; top: 50%; right: 50px; transform: rotate(-135deg) translate(0px);}
.slider .slick-arrow:focus { outline: 0; }


.slick-next:hover:before {opacity: 50%}
.slick-prev:hover:before {opacity: 50%}

.slider:hover .slick-arrow { opacity: 1;}
.slider .slick-arrow:focus { outline: 0; }
.slider button { background: transparent; border: 0; font-size: 0; }



/*
.slider .slick-arrow { opacity:0; width: 60px; height: 40px; margin-top: -20px; background: none; font-size: 0; -webkit-transition: opacity .5s ease;-moz-transition: opacity .5s ease;-o-transition: opacity .5s ease;transition: opacity .5s ease;}
.slider .slick-prev { position: absolute; top: 50%; z-index: 30; }
.slider .slick-next { position: absolute; top: 50%; }

.slick-next { right: 30px;}
.slick-prev { left: 30px;}
.slider--primary .slick-next { right: 50px;}
.slider--primary .slick-prev { left: 50px;}


.slick-next:before {
content: ''; width: 60px; height: 40px; position: absolute;left: 0; top:0; display: block;
background: url(images/slick-arrow-right.svg) no-repeat;background-size: 100%;
-webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; -o-transition: all .4s ease-in-out;-ms-transition: all .4s ease-in-out; transition: all .4s ease-in-out;
}
.slick-prev:before {
content: '';width: 60px; height: 40px;position: absolute;left: 0;top:0;display: block;
background: url(images/slick-arrow-left.svg) no-repeat;background-size: 100%;
-webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; -o-transition: all .4s ease-in-out;-ms-transition: all .4s ease-in-out; transition: all .4s ease-in-out;
}
*/





@media (max-width: 991px) {
.slider--primary .slick-dots { bottom: 40px; }
.slick-next { right: 20px;}
.slick-prev { left: 20px;}
.slider--primary .slick-next { right: 20px;}
.slider--primary .slick-prev { left: 20px;}

/*
.slider .slick-arrow { width: 40px; height: 27px; margin-top: -13px;}
.slick-next:before {width: 40px;height: 27px;}
.slick-prev:before {width: 40px;height: 27px;}
*/
}









/*------------------------------------------------------------ *\
	Section Bild/Text rechts/links 50%
\* ------------------------------------------------------------ */
.section-anreisser_rechtslinks .features { overflow: hidden; }
.section-anreisser_rechtslinks .features li {padding-bottom: 0px !important;margin-bottom: 0px !important;border-bottom: none !important;}

.section-anreisser_rechtslinks .features .feature + .feature { margin-top: 60px; }

.section-anreisser_rechtslinks .featureinner { background: #F2F2F2;position: relative;  display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; -webkit-flex-flow: row wrap;flex-flow: row wrap; }

.section-anreisser_rechtslinks .featureinner .featuretext {padding: 20px 95px; -webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}
.section-anreisser_rechtslinks .featureinner .featuretext a {margin-top: 20px; display: inline-block;}

.section-anreisser_rechtslinks .features .feature:nth-child(even) .featurebild {  order: 2; }
.section-anreisser_rechtslinks .features .feature:nth-child(even) .featuretext { order: 1; }
.section-anreisser_rechtslinks .features .featuretext p:last-of-type{margin-bottom: 0;}
.section-anreisser_rechtslinks .features .featuretext { align-self: center;}

.section-anreisser_rechtslinks .featureinner .featurebild { -webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}

@media (max-width: 991px) {
.section-anreisser_rechtslinks .features .feature:nth-child(even) .featurebild {  order: 1;}
.section-anreisser_rechtslinks .features .feature:nth-child(even) .featuretext { order: 2; }

.section-anreisser_rechtslinks .feature .featuretext {padding: 30px 30px; -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}
.section-anreisser_rechtslinks .feature .featurebild {-webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}
}
@media (max-width: 767px) {
.section-anreisser_rechtslinks .feature .featuretext {padding: 2rem;}
}
@media (max-width: 575px) {
.section-anreisser_rechtslinks .feature .featuretext {padding: 1.5rem;}
}










/*------------------------------------------------------------ *\
	Section News Vorschau
\* ------------------------------------------------------------ */
/* News-Blocks */
.section-news_vorschau_3-spaltig {}
.anreisser .newsdatum {margin-bottom: 10px}

/* News-Liste */
.section-news_vorschau_liste {}
.section-news_vorschau_liste h1 {text-align:center; margin-bottom: 40px;}

ul.newsliste {border-top: 1px solid #000000; list-style:none}
ul.newsliste li{ border-bottom: 1px solid #000; padding: 30px 0;}

ul.newsliste li {position: relative;
display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap; transition: all .4s;}

ul.newsliste li .newsdatum {	-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}
ul.newsliste li .newstitel {margin-bottom: 0; flex: 1; color: #000; font-size: var(--fontsize-md); line-height: var(--line-height-md);
 transition: all .2s ease;}
ul.newsliste li:hover .newstitel { color: #AE191C; }
ul.newsliste li a {position: absolute; display:block; top: 0;left: 0;right: 0;bottom: 0;}

@media (max-width: 767px) {
ul.newsliste li{ padding: 20px 0;}
ul.newsliste li .newsdatum {-webkit-box-flex:0;-ms-flex:0 100%;flex:0 0 100%;max-width:100%; margin-bottom: 10px}
}






/* ------------------------------------------------------------ *\
	Card
\* ------------------------------------------------------------ */
.card {height:100%; background: #F2F2F2; position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;isolation:isolate;transition: all .4s ease;}

.card:hover { transform: translateY(-5px); -webkit-box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.1); box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.1);}
.card:hover a.btn { color: #FFF; border: 2px solid #AE191C; background: #AE191C;}

.card .card__image{width:100%;margin:0 auto;overflow:hidden;}
.card .card__image img{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;-o-transition:transform .3s;transition:transform .3s;transition:transform 0.3s,-webkit-transform .3s}

.card:hover .card__image img{-webkit-transform:scale(1.05);-ms-transform:scale(1.1);transform:scale(1.05)}

.card .card__content{-webkit-box-flex:1;-ms-flex:1 1;flex:1 1;padding:3rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}

.card__content .newsdatum {margin-bottom: 10px}
.card__actions { margin-top: 20px;}
.card .card__link{position:absolute;top:0;left:0;right:0;bottom:0}

@media (max-width: 767px) {
.card .card__content{padding:2rem;}
}
@media (max-width: 575px) {
.card .card__content{padding:1.5rem;}
}









/* ------------------------------------------------------------ *\
	Section Team
\* ------------------------------------------------------------ */
.section-team  .team {margin-bottom: 90px;}
.section-team .teamcontent {padding: 30px 0 0 0}
.section-team  .teamname {}
.section-team  .teamname h3 {margin-bottom: 10px;}
.section-team  .teamfunktion{}
.section-team  .teamtelefon{}
.section-team  .teamemail{}





/* ------------------------------------------------------------ *\
	Section Team
\* ------------------------------------------------------------ */
.section-foto_text {}
.section-foto_text .first-col {}
@media (max-width: 767px) {
.section-foto_text .first-col {margin-bottom: 40px}
}




/* ------------------------------------------------------------ *\
	Section Bildergalerie
\* ------------------------------------------------------------ */
.section-bildergalerie {}

.gallery {list-style-type:none;}

/*.gallery li {float: left; margin-right: 2%; margin-bottom: 2%; width:  15%}*/

.gallery li {  position: relative;}
.gallery li a{ display: block; position: relative;  }
.gallery li img { width: 100%; }

.gallery li a:before { content: ''; display: inline-block; background: rgba(222, 56, 49, .8); position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 10; visibility: hidden; opacity: 0; 
-webkit-transition: visibility .4s, opacity .4s; -o-transition: visibility .4s, opacity .4s; transition: visibility .4s, opacity .4s; }
.gallery li a:hover:before { visibility: visible; opacity: 1; }
.gallery li a:hover .gallery-icon { visibility: visible; opacity: 1; }

.gallery-icon { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); 
width: 40px; height: 40px; /*border-radius: 50%; border: 2px solid #FFF;*/
display: inline-block; z-index: 20; visibility: hidden; opacity: 0; 
-webkit-transition: visibility .4s, opacity .4s; -o-transition: visibility .4s, opacity .4s; transition: visibility .4s, opacity .4s; }
.gallery-icon:before { content: ''; display: inline-block; width: 40px; height: 2px; background: #FFF; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.gallery-icon:after { content: ''; display: inline-block; width: 2px; height: 40px; background: #FFF; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

@media (max-width: 767px) {
.gallery-icon { width: 24px; height: 24px;}
.gallery-icon:before { width: 24px; height: 1px; }
.gallery-icon:after { width: 1px; height: 24px; }
}










/* ------------------------------------------------------------ *\
	Section Quicklinks
\* ------------------------------------------------------------ */
.section-quicklinks {}
ul.quicklinks { list-style-type: none; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
ul.quicklinks li { margin: 0 1.5% 1.5% 0;  border-bottom: 0px !important; padding: 0;}
ul.quicklinks li a { }


















/* ------------------------------------------------------------ *\
	Section News
\* ------------------------------------------------------------ */
.section-news {}
.singlenews {}
.singlenews .newsdatum {margin-bottom: 20px}


/* Pagination */
.pagination {overflow: hidden; margin-top: 60px; display:flex; align-items: center} 
.pagination span, .pagination a {display:block; float:left; margin: 0 15px 0 0;width: auto; color:#AE191C; font-size: var(--fontsize-sm); line-height: var(--line-height-md);} 
.pagination a:hover{color: #000000; }
.pagination .current{color: #000000;}


/* Single News Pagination */
.portfolionavigation {height: 55px; width: 33.3333333333%; margin: 0 auto; display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;}

.portfolionavigation.infinite { 
-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}

.portfolionavigation.not-infinite {}
.portfolionavigation.not-infinite .previous_post_link  {-ms-flex-item-align:start;align-self:flex-start; }
.portfolionavigation.not-infinite .next_post_link  {-ms-flex-item-align:end;align-self:flex-end;margin-left: auto;}
.portfolionavigation.not-infinite .post_overview {-ms-flex-item-align:cente;-ms-grid-row-align:center;align-self:center;margin-left: auto;}

.portfolionavigation a {display:block;}
.portfolionavigation a:hover .paginationicon { stroke: #285078 !important}

@media (max-width: 991px) {
.portfolionavigation {width: 75%; }
}
@media (max-width: 767px) {
.portfolionavigation {width: 100%;}
}






/* ------------------------------------------------------------ *\
	Buttons
\* ------------------------------------------------------------ */
a.btn { display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; appearance: none; margin-top: 20px; background: transparent;
padding: 10px 20px; font-size: var(--fontsize-sm); line-height: var(--line-height-md); color: #000000; border: 2px solid #000000;
-webkit-transition: all .4s ease; -o-transition: all .4s ease; transition: all .4s ease; border-radius: 0;
}
a.btn:hover {color: #FFF; border: 2px solid #AE191C;background: #AE191C;}

a.btn.negative { color: #fff; border: 2px solid #fff;}
a.btn.negative:hover {color: #000000; background: #fff;}

a.btn.btnsmall {padding: 7px 15px;}







/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */
.footer { background: #AE191C; color: #FFF; position: relative; width: 100%;margin: auto auto 0 auto; padding: 30px 0 50px 0; font-size: var(--fontsize-sm); line-height: var(--line-height-md);  }
.footer h3{ font-size: 20px; line-height: 28px; margin: 0 0 5px; color: #FFF }
.footer a{ color: #FFF }
.footer a:hover{ color: #FFF }

.footer .footer-nav ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
.footer .footer-nav li { margin-left: 35px; }
.footer .footer-nav a {font-size: var(--fontsize-sm); line-height: var(--line-height-md); text-decoration: none; color: #fff; }
.footer .footer-nav a:hover { color: #000000; text-decoration: none; }
.footer .footer-nav li.current_page_item a { color: #000000 !important; text-decoration: none; }

.socialiconblock {text-align: right;}
.icon {overflow: visible !important; display: inline-block; margin-left: 15px; width: 35px;height: 35px;stroke-width: 0;stroke: currentColor;fill: currentColor; padding: 7px; background: rgba(255,255,255,0.5); border-radius: 50%; transition: all .4s;}
.icon:hover { background: rgba(255,255,255,1); }
.icon-facebook,.icon-instagram,.icon-twitter,.icon-youtube,.icon-vimeo,.icon-linkedin, .icon-xing{ color: #FFF;}

@media (max-width: 767px) {
.footer .row div{ margin-bottom: 25px;}
.footer .row div:last-of-type{ margin-bottom: 0px;}

.footer .footer-nav ul { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
.footer .footer-nav li { margin-left: 0px; margin-right: 25px; }

.socialiconblock {text-align: left;}
.icon {margin-left: 0px;  margin-right: 8px;}
}

@media (max-width: 575px) {
.footer .footer-nav ul {   display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start; }
.footer .footer-nav li {max-width: 100%; margin-left: 0px;}
}











/* ------------------------------------------------------------ *\
	Modul Google Maps
\* ------------------------------------------------------------ */
.acf-map {width: 100%;height: 600px;}
.acf-map img { max-width: inherit !important;}

.markerinfo {font-size: 14px; line-height: 20px; color: #000000; padding-top: 10px;}
.markerinfo p{margin: 0px  !important; padding: 0px 0px 15px 0px !important;}
.markerinfo p:last-child{padding: 0px !important;}






/* ------------------------------------------------------------ *\
	List
\* ------------------------------------------------------------ */
[class^="list-"] { list-style: none outside none; }








/* **************************************************
			    		CONTACT
************************************************** */
div.wpcf7 {margin: 0;padding: 0; width: 100%;}
span.wpcf7-form-control-wrap { position: relative; }

.wpcf7 form input, .wpcf7 form textarea { background: #F2F2F2;  border: 1px solid #000; color:#000; padding: 15px 20px; width:100%; box-sizing: border-box; margin: 0 0 20px 0;transition: all 0.2s ease;}
.wpcf7 form input:hover, form textarea:hover {outline:none; border: 1px solid #AE191C ;}
.wpcf7 form input:focus, form textarea:focus {outline:none; border: 1px solid #AE191C ;}

.wpcf7 form textarea {height: 240px;}

.wpcf7 form input[placeholder],
.wpcf7 form textarea[placeholder] {color: #000 !important; opacity: .5; }

/* SUBMIT BUTTON */
.wpcf7 form input[type=submit] { 
font-size: var(--fontsize-sm); line-height: var(--line-height-md); color: #FFF; border:none; padding: 12px 30px; background: #000;
margin-top: 0px;
width: auto; display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; appearance: none;
-webkit-transition: all .2s ease; -o-transition: all .2s ease; transition: all .2s ease;
}
.wpcf7 form input[type=submit]:hover {color: #FFF; background: #AE191C;}




.screen-reader-response { display: none;}
div.wpcf7-response-output { color: #AE191C;font-size: var(--fontsize-md);line-height: var(--line-height-md); margin: 20px 0 20px 0 !important;	border: none !important; padding: 0 !important;}

div.wpcf7-mail-sent-ok,
div.wpcf7-mail-sent-ng,
div.wpcf7-spam-blocked,
div.wpcf7-validation-errors,
div.screen-reader-response {border: 0px !important; padding: 0px !important; margin: 0 0 25px 0 !important; font-size: 12px; line-height: 18px; color: #000; font-weight: 700;}


span.wpcf7-not-valid-tip {color: #AE191C !important; font-size: 12px !important; display: block; margin: -20px 0 10px 0!important ;}
input.wpcf7-not-valid {border:1px solid #AE191C !important}

.use-floating-validation-tip span.wpcf7-not-valid-tip { 
position: absolute;	top: 20%; left: 20%; z-index: 100;	border: 1px solid #AE191C;	background: #fff;	padding: .2em .8em;}


div.wpcf7 .placeheld {color: #000000;}
div.wpcf7 img.ajax-loader { border: none;vertical-align: middle;margin-left: 4px;display: none;}
div.wpcf7 div.ajax-error { display: none;}
.wpcf7-display-none { display: none; }



/* SELECT*/
.wpcf7-form  .select-wrapper { position: relative; width: 100%; margin: 0 0 20px 0;}
.wpcf7-form  .select-wrapper:after { pointer-events: none; position: absolute; display: block; content: '';  width: 14px; height: 14px; top: 50%; right: 20px; margin-top: -3px; border-bottom: 1px solid #000; border-right: 1px solid #000; transform: rotate(45deg) translateY(-50%); transition: all .4s ease-in-out; transform-origin: 50% 0; }

.wpcf7-form select{width:100%; background: #F2F2F2;  border: 1px solid #000; color:#000; padding: 15px 20px;  border-radius:0;outline:0; appearance:none; font-family: inherit; cursor: pointer;}
.wpcf7-form select:hover, .wpcf7-form select:focus {border: 1px solid #000;}
.wpcf7-form select::-ms-expand{display:none;}
.wpcf7-form select:focus::-ms-value { background-color: transparent;}


/* RADIO BUTTONS */
.wpcf7-list-item {display: block; margin: 0 30px 10px 0!important;}

.wpcf7-form .wpcf7-radio {}
.wpcf7-form .wpcf7-radio .wpcf7-list-item-label { display: inline-flex;;}
.wpcf7-form .wpcf7-radio label { position: relative; cursor: pointer;}
.wpcf7-form .wpcf7-radio input[type=radio] {position: relative; visibility: hidden; display: none}

.wpcf7-form .wpcf7-radio input[type=radio] + span:before { content: ''; border-radius: 100%; height: 20px; width: 20px; border: 2px solid #000; margin-right: 15px;}
.wpcf7-form .wpcf7-radio input[type=radio] + span:after { display: block; position: absolute; content: '';  border-radius: 100%; height: 12px; width: 12px; top: 3px; left: 4px; visibility: hidden;}

.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:before { background: transparent;}
.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:after { background: #000; visibility: visible;}


/* CHECKBOXES */
.wpcf7-form .wpcf7-checkbox {}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label { display: inline-flex;;}
.wpcf7-form .wpcf7-checkbox label { position: relative; cursor: pointer;}
.wpcf7-form .wpcf7-checkbox input[type=checkbox] {position: relative; visibility: hidden; display: none}

.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:before { content: ''; height: 20px; width: 20px; border: 2px solid #000; margin-right: 15px;}
.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:after { display: block; position: absolute; content: '';   height: 12px; width: 12px; top: 3px; left: 4px; visibility: hidden;}

.wpcf7-form .wpcf7-checkbox input[type=checkbox]:checked + span:before { background: transparent;}
.wpcf7-form .wpcf7-checkbox input[type=checkbox]:checked + span:after { background: #000; visibility: visible;}


/* ACCEPTANCE */
.wpcf7-acceptance .wpcf7-list-item-label {margin-left: 45px; display: flex;}
.wpcf7-form .wpcf7-acceptance label { margin-left: 0;display: inline-block;position: relative; padding-left: 0px;}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] {position: relative; visibility: hidden; display: none;}

.wpcf7-form .wpcf7-acceptance input[type=checkbox] + span:before { display: block; position: absolute; content: ''; border-radius: 0; height: 24px; width: 24px; top: 3px; border: 2px solid #000; left: 0;}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] + span:after { display: block; position: absolute; content: ''; border-radius: 0%; height: 16px; width: 16px; top: 6px; left: 4px; visibility: hidden;}

.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked + span:before {  background: transparent;}
.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked + span:after { background: #000; visibility: visible;}








/* Isotope Basics */
.isotope-item {z-index: 2;}
.isotope-hidden.isotope-item {pointer-events: none;z-index: 1;}
.isotope,.isotope .isotope-item {transition-duration: 0.7s;}
.isotope {transition-property: height, width;}
.isotope .isotope-item {transition-property: transform, opacity;}



/* Isotope Filter */
ul.projects-filter { width: 100%;  list-style-type: none; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 0;}
ul.projects-filter li { margin: 0 15px 15px 0; border-bottom: 0px !important; padding: 0;}
ul.projects-filter a {color: #000000;border: 2px solid #000000;background: transparent;border-radius: 0;margin-top: 0px;display: inline-block;vertical-align: middle;text-align: center;cursor: pointer;text-decoration: none; appearance: none;
padding: 10px 20px;font-size: var(--fontsize-sm); line-height: var(--line-height-md); 
-webkit-transition: all .4s ease;-o-transition: all .4s ease;transition: all .4s ease;}
ul.projects-filter a:hover {border: 2px solid #AE191C ;}
ul.projects-filter a.selected {color: #FFF;border: 2px solid #AE191C ;background: #AE191C ;}



.stretched_link { position: absolute; top: 0; left: 0; right: 0;  bottom: 0; z-index: 1;}
.anreisser.grid-item .content-text {padding: 25px;}
.anreisser.grid-item .content-text h4 {margin-bottom: 0;}


