 /* 
Theme Name: Atelier Services
Version: v.1.0
Description: a flexible Theme for Atelier Services
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: 36px ; 
--fontsize-md: 28px;
--fontsize-sm: 20px; 
--fontsize-xs: 18px;
--fontsize-xxs: 16px;
    
/* 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;
--fontsize-sm: 18px; 
}
}





/* ------------------------------------------------------------ *\
	Fonts
\* ------------------------------------------------------------ */
/* Sans-Serif */
.dmsans-regular {font-family: 'DM Sans', Arial, sans-serif; font-weight:400;}
.dmsans-medium {font-family: 'DM Sans', Arial, sans-serif; font-weight:500;}
.dmsans-bold {font-family: 'DM Sans', Arial, sans-serif; font-weight:700;}
	


/* open-sans-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/open-sans-v44-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/open-sans-v44-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* open-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/open-sans-v44-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/open-sans-v44-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* open-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/open-sans-v44-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/open-sans-v44-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* open-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/open-sans-v44-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/open-sans-v44-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* open-sans-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/open-sans-v44-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/open-sans-v44-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}








/* ------------------------------------------------------------ *\
	Base
\* ------------------------------------------------------------ */
body { min-width: 320px; background: #FFF; font-family: 'Open Sans', Arial, sans-serif; font-weight:400; font-size: var(--fontsize-sm); line-height: var(--line-height-md); color: #222222; }

a { color: inherit; text-decoration: none; -webkit-transition: color .2s; -moz-transition: color .2s; -o-transition: color .2s; -ms-transition: color .2s; 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; }

@media (max-width: 767px) {
.main {padding-top: 0px; }
}
@media (max-width: 575px) {
.main {padding-top: 0px; }
}



.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;}

.container a {color: #A0AAB4; }
.container a:hover {color: #CE2224;}





.text-center {text-align: center;}
.textright { text-align: right; }
.relative {position: relative; }


small {font-size: 0.8em; line-height: 0.7em;}
strong { font-family: 'Open Sans', Arial, sans-serif; font-weight:700;}

.section {display: block; overflow: hidden; clear: both; position: relative; width: 100%; }
.section p:last-of-type {margin-bottom: 0; }

.section:first-of-type {margin-top: 100px }
.section.section-headslider  {margin-top: 0 !important }
.section:last-of-type {}




/* ------------------------------------------------------------ *\
	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-kein { margin-bottom: 0px;}
.abstand-klein { margin-bottom: 30px;}
.abstand-mittel { margin-bottom: 60px;}
.abstand-gross { margin-bottom: 80px;}
}



/* ------------------------------------------------------------ *\
	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;}
}


/* ------------------------------------------------------------ *\
	Hintergrundfarben
\* ------------------------------------------------------------ */
.hintergrundfarbe1 {background-color: #F2F4F6 }
.hintergrundfarbe2 {background-color: #CE2224}
.hintergrundfarbe3 {background-color: #CE2224; color: #FFF}



/* ------------------------------------------------------------ *\
	Headings
\* ------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6 {  -webkit-transition: all .2s; -moz-transition: all .2s; -o-transition: all .2s; -ms-transition: all .2s; transition: all .2s; }
h1 { font-family: 'Open Sans', Arial, sans-serif; font-weight:700; color: #CE2224; font-size: var(--fontsize-lg); line-height: var(--line-height-md); margin-bottom: 30px; }
h2 { font-family: 'Open Sans', Arial, sans-serif; font-weight:600; color: #CE2224; font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 20px; }
h3 { font-family: 'Open Sans', Arial, sans-serif; font-weight:400; color: #CE2224; font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 20px; }

h2.big { font-family: 'Open Sans', Arial, sans-serif; font-weight:600; color: #CE2224; font-size: var(--fontsize-lg); line-height: var(--line-height-md); margin-bottom: 20px; text-align: center}





/* ------------------------------------------------------------ *\
	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: 15px   }
.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 #C1C1C1 }
.section-text ul li + li{  padding-top: 10px;  }

.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: #fff; height: 120px; width: 100%; position: relative;box-sizing: border-box; -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; z-index: 99990 !important;}

.logo { background-image: url(images/atelierservice-logo-de.png); background-size: 100%; background-repeat: no-repeat; width: 300px; height: 39px; display: inline-block; vertical-align: middle; font-size: 0px; position: absolute; top: 40px; -webkit-transition: all .5s; -moz-transition: all .5s; -o-transition: all .5s; -ms-transition: all .5s; transition: all .5s;}


@media (max-width: 991px) {
.header {position: fixed; position: sticky;  top: 0; left: 0;height: 60px;}
.logo { width: 200px; height: 26px; top: 15px;}
}




/* ****************************************************************************************************
			    		MENU
**************************************************************************************************** */
nav#hauptnavigation {position: absolute; right: 20px; top: 55px;  -webkit-transition: all .5s; -moz-transition: all .5s; -o-transition: all .5s; -ms-transition: all .5s; transition: all .5s;}



/* =========================================================
   RESET & BASIS
   ========================================================= */

.menu,
.menu * {
  margin: 0;
  padding: 0;
  list-style: none;
}

.menu li {
  position: relative;
  white-space: nowrap;
}

.menu a {
  display: block;
  text-decoration: none;
  transition: color .3s ease;
}

/* =========================================================
   HAUPTNAVIGATION (LEVEL 1)
   ========================================================= */

.menu > li {
  float: left;
  margin-left: 40px;
}

.menu > li > a {
  font-size: var(--fontsize-xs);
  line-height: var(--line-height-md);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: #222;
  padding-bottom: 40px;
}

.menu > li > a:hover,
.menu > li.current-menu-item > a,
.menu > li.current-menu-parent > a {
  color: #CE2224;
}

/* =========================================================
   SUBMENÜ LEVEL 2
   ========================================================= */

.menu ul {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 250px;
  background: #F2F4F6;
  padding: 20px 20px 20px 0;
  margin-left: -25px;
  z-index: 100;

  /* sanftes Ein-/Ausblenden */
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease;
  pointer-events: none;
}

/* Submenü sichtbar bei Hover */
.menu li:hover > ul {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.menu ul li {
  margin-left: 25px;
}

.menu ul li a {
  font-size: var(--fontsize-xs);
  line-height: var(--line-height-md);
  padding: 5px 0;
  color: #222;
}

.menu ul li a:hover {
  color: #CE2224;
}

/* =========================================================
   SUBMENÜ LEVEL 3 (Flyout)
   ========================================================= */

.menu ul ul {
  top: -15px;
  left: 100%;
  margin-left: 20px;
}

.menu ul ul li {
  margin-left: 20px;
}

/* kleinere Typo in Ebene 3 */
.menu ul ul li a {
  font-size: var(--fontsize-xxs);
  padding: 3px 0;
}

/* Hover-Brücke zwischen Level 2 und 3 */
.menu ul ul::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  width: 20px;
  height: 100%;
}

/* =========================================================
   PFEIL FÜR EINTRÄGE MIT LEVEL 3
   ========================================================= */

.menu > li > ul > li.menu-item-has-children > a {
  padding-right: 18px;
}

.menu > li > ul > li.menu-item-has-children > a::after {
  content: "›";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #222;
  transition: color .2s ease;
}

.menu > li > ul > li.menu-item-has-children:hover > a::after {
  color: #CE2224;
}





/* ****************************************************************************************************
			    		Burger
**************************************************************************************************** */
.nav-trigger {display: none; width: 35px; height: 16px; position: absolute; right: 20px; top: 25px; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; cursor: pointer;}
.nav-trigger span { display: block; position: absolute; height: 2px; width: 100%; background: #222222; border-radius: 0px; opacity: 1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; 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:nth-child(1),.nav-trigger.open span:nth-child(4) { top: 9px;width: 0%;left: 50%;}
.nav-trigger.open span:nth-child(2) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg);}
.nav-trigger.open span:nth-child(3) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg);}



/* =========================================================
   MOBILE NAV CONTAINER
   ========================================================= */

nav#nav-mobile {
  position: fixed;
  top: 60px;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
  z-index: 99999;
}

nav#nav-mobile.nav-mobile-open {
  display: block;
  background: rgba(34, 34, 34, 0.8);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* =========================================================
   MOBILE MENU BASIS
   ========================================================= */

#nav-mobile .menu {
  background: #F2F4F6;
  padding: 15px 0;
}

#nav-mobile .menu > li {
  display: block;
  float: none;  /* horizontal float entfernen */
  margin-left: 0;
}

/* Links */
#nav-mobile a {
  display: block;
  padding: 8px 5%;
  font-size: var(--fontsize-sm);
  color: #222;
  position: relative; /* für absolute Pfeil-Position */
}

#nav-mobile a:hover {
  color: #CE2224;
}

/* =========================================================
   SUBMENÜS
   ========================================================= */

#nav-mobile ul.sub-menu {
  display: none;
}

#nav-mobile ul.sub-menu a {
  padding-left: 10%;
  font-size: var(--fontsize-sm);
}

#nav-mobile ul ul.sub-menu a {
  padding-left: 5%;
  font-size: var(--fontsize-xs);
}

/* =========================================================
   MOBILE: PFEIL FÜR EINTRÄGE MIT UNTERMENÜ
   ========================================================= */

#nav-mobile li.menu-item-has-children {
  position: relative;
}

/* Pfeil nach unten */
#nav-mobile li.menu-item-has-children > a::after {
  content: "›";                 /* Pfeil wie Desktop */
  position: absolute;
  right: 15px;                  /* Abstand vom rechten Rand */
  top: 50%;                     /* vertikal zentrieren */
  transform: translateY(-50%) rotate(90deg); /* nach unten drehen */
  font-size: 18px;
  color: #222;
  transition: transform 0.3s ease, color 0.2s ease;
  pointer-events: none;         /* Klick geht durch zum Link */
}

/* Hover oder geöffnet */
#nav-mobile li.menu-item-has-children > a:hover::after,
#nav-mobile li.menu-item-has-children.active > a::after {
  color: #CE2224;
}

/* Optional: geöffnet, Pfeil nach oben */
#nav-mobile li.menu-item-has-children.active > a::after {
  transform: translateY(-50%) rotate(-90deg); /* zeigt nach oben */
}


/* =========================================================
   Submenü Overrides & Layout
   ========================================================= */

#nav-mobile .menu ul {
  position: static; /* keine absolute Position */
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  background: transparent;
  padding: 0;
  margin: 0;
}

/* Hover-Logik deaktivieren für Mobile */
#nav-mobile .menu li:hover > ul {
  display: none;
}




@media (max-width: 991px) {
  .nav-trigger {
    display: inline-block;
  }

  #hauptnavigation {
    display: none;
  }

  nav#nav-mobile {
    display: none; /* Menü standardmäßig geschlossen */
  }

  nav#nav-mobile.nav-mobile-open {
    display: block; /* nur sichtbar, wenn JS toggle */
  }
}






/* ------------------------------------------------------------ *\
	Header Sticky
\* ------------------------------------------------------------ */
.header.sticky {position: fixed; position: sticky;  top: 0; left: 0;height: 60px;}
.header.sticky .logo { width: 200px; height: 26px; top: 17px;}
.header.sticky nav#hauptnavigation { top: 18px;  }
.header.sticky .topheadmenu { top: -18px;  }








/* ------------------------------------------------------------ *\
	Tophead-Menu
\* ------------------------------------------------------------ */
.topheadmenu {position: absolute; right: 20px; top: 15px;
-webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; -ms-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}

.nav-access ul { display: -webkit-box; display: -ms-flexbox; display: flex;  margin: 0; font-size: var(--fontsize-xxs); }
.nav-access a { text-decoration: none; color: #222;}
.nav-access a:hover { color: #CE2224  }

.nav-access ul li.wpml-ls-item {margin-right: 20px}
.nav-access ul li.wpml-ls-item:last-of-type {margin-right: 0px}
.nav-access ul li.wpml-ls-current-language a { color: #CE2224  }

.nav-access li.wpml-ls-first-item { margin-left: 10px;}

@media (max-width: 991px) {
.topheadmenu {right: 90px; top: 17px;}
}
@media (max-width: 767px) {
.topheadmenu {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);}
.section-titel-mit-lead.schriftgross { font-size: var(--fontsize-lg); line-height: var(--line-height-md);}

.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-downloads {}

ul.dokument-download { list-style: none; border-top: 1px solid #222222; margin-bottom: 0;}
ul.dokument-download li {border-bottom: 1px solid #222222; padding: 10px 0; position: relative}
ul.dokument-download li a {position: relative; text-decoration:none;  color: #CE2224; display: block; padding-right: 0px;}
ul.dokument-download li a:hover {color: #CE2224;}

ul.dokument-download li a {display: flex; justify-content: space-between; }


ul.dokument-download li a .filetype {
	font-size: 11px; 
    vertical-align: middle;
    text-align: center;
    text-decoration: none;
    border: 1px solid #CE2224;
    padding: 0;
    border-radius: 2rem;
    color: #CE2224;
    line-height: 2;
	text-transform: uppercase;
	letter-spacing:0.1em;
	min-width: 50px;
}
ul.dokument-download li a:hover .filetype {
    border: 1px solid #CE2224;
    color: #CE2224;
}


@media (max-width:767px), screen and (max-width:812px) and (orientation:landscape){
}







/* ------------------------------------------------------------ *\
	Section Meilensteine
\* ------------------------------------------------------------ */
.section-meilensteine {}
.row.meilensetein {border-bottom: 1px solid #C1C1C1; padding: 20px 0; }
.row.meilensetein:first-of-type { padding-top: 0;}








/* ------------------------------------------------------------ *\
	Section Accordion
\* ------------------------------------------------------------ */
.accordion { border-bottom: 1px solid #C1C1C1; margin-top: -20px}

.accordion-trigger {
color: #222222; font-weight: 700;  padding: 15px 0; border-top: 1px solid #C1C1C1;
display: table !important; table-layout: fixed !important; cursor: pointer; display: block; width: 100%; clear: both; position: relative; 
-webkit-transition: all .3s; -moz-transition: all .3s; -o-transition: all .3s; -ms-transition: all .3s; transition: all .3s;}
.accordion-trigger:first-of-type { border-top: none;}

.accordion-trigger:hover { color: #222222;}
.accordion-trigger-active { border-bottom: none; color: #222222;}


.accordion-trigger-open:before {content: "";position: absolute;display: block;right: 0px; top: 50%; width: 20px; height: 0; border-top: 2px solid #A0AAB4;transform: rotate(0deg);transform-origin: center;-webkit-transition: all .5s ease;-moz-transition: all .5s ease;-o-transition: all .5s ease;-ms-transition: all .5s ease;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 #A0AAB4; transform: rotate(90deg);transform-origin: center;-webkit-transition: all .5s ease;-moz-transition: all .5s ease;-o-transition: all .5s ease;-ms-transition: all .5s ease;transition: all .5s ease;}

.accordion-trigger:hover .accordion-trigger-open:before {border-top: 2px solid #222222; }
.accordion-trigger:hover .accordion-trigger-open:after {border-top: 2px solid #222222; }

.accordion-trigger-active .accordion-trigger-open:before {border-top: 2px solid #222222;transform: rotate(45deg);}
.accordion-trigger-active .accordion-trigger-open:after {border-top: 2px solid #222222;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 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: 55px; left: 0; right: 0; z-index: 3; font-size: var(--fontsize-lg); line-height: var(--line-height-md);}
.captioninner {color: #FFF; }
.captioninner a{color: #FFF; display:block  }
.captioninner a:hover {color: rgba(255, 255, 255, 0.5);  }


.gradientoverlay {z-index: 3;
position: absolute; bottom: 0px; width: 100%; height: 50%; display:block;
background: -moz-linear-gradient(0deg, rgba(34,34,34,0.25) 0%, rgba(34,34,34,0) 100%);
background: -webkit-linear-gradient(0deg, rgba(34,34,34,0.25) 0%, rgba(34,34,34,0) 100%);
background: linear-gradient(0deg, rgba(34,34,34,0.25) 0%, rgba(34,34,34,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#222222000",endColorstr="#222222000",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; }
}





/* ------------------------------------------------------------ *\
	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: 16px; height: 16px; border-radius:50%;-moz-border-radius:50%; -webkit-border-radius:50%; background: #fff; border: 2px solid #CE2224; 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: #CE2224; }

/* 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%;-moz-border-radius:50%; -webkit-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; 
-webkit-transition: opacity .8s ease, border-color .3s ease;
-moz-transition: opacity .8s ease, border-color .3s ease;
-o-transition: opacity .8s ease, border-color .3s ease;
transition: opacity .8s ease, border-color .3s ease;
}
.slider .slick-arrow:hover { border-color: #CE2224; }
.slider .slick-prev { position: absolute; top: 50%;  left: 50px; z-index: 30; 
transform: rotate(45deg) translate(0px);-webkit-transform: rotate(45deg) translate(0px);-moz-transform: rotate(43deg) translate(0px);-o-transform: rotate(45deg) translate(0px);-ms-transform: rotate(45deg) translate(0px);}
.slider .slick-next { position: absolute; top: 50%; right: 50px; 
transform: rotate(-135deg) translate(0px);-webkit-transform: rotate(-135deg) translate(0px);-moz-transform: rotate(-135deg) translate(0px);-o-transform: rotate(-135deg) translate(0px);-ms-transform: rotate(-135deg) translate(0px);}
.slider .slick-arrow:focus { outline: 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;
}

.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; }


@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;}

}
@media (max-width: 767px) {

}








/*------------------------------------------------------------ *\
	Section Anreisser 3-spaltig
\* ------------------------------------------------------------ */
.section-anreisser_3-spaltig {}
.section-anreisser_3-spaltig .anreisser {margin-bottom: 30px}
.section-anreisser_3-spaltig .content-inner{} 
.section-anreisser_3-spaltig .content-text {padding: 30px 0;}
.section-anreisser_3-spaltig .content-text a {margin-top: 30px; display: inline-block;}
@media (max-width: 767px) {
}




/*------------------------------------------------------------ *\
	Section News Vorschau
\* ------------------------------------------------------------ */
/* News-Blocks */

.anreisser .newsdatum {margin-bottom: 10px}


.section-news_vorschau .anreisser {}
.section-news_vorschau .anreisser .content-inner{background: #F2F4F6; height: 100%} 
.section-news_vorschau  .anreisser .content-text {padding: 50px;}
@media (max-width: 991px) {
.section-news_vorschau  .anreisser .content-text {padding: 35px 30px 40px 30px;}
.section-news_vorschau  .anreisser {margin-bottom: 60px}
}
@media (max-width: 767px) {
.section-news_vorschau .anreisser .content-text {padding: 30px 30px 40px 30px;}
}


/* ------------------------------------------------------------ *\
	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(206, 34, 36, .8); position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 10; visibility: hidden; opacity: 0; transition: visibility .3s, opacity .3s; }
.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; 
transition: visibility .3s, opacity .3s; }
.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}
.singlenews .lead { font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 30px}


/* Pagination */
.pagination {display:block; 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:#CE2224; font-size: var(--fontsize-sm); line-height: var(--line-height-md);} 
.pagination a:hover{color: #CE2224; }
.pagination .current{color: #CE2224;}


/* 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#CE2224 !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; -webkit-appearance: none; -moz-appearance: none; appearance: none; margin-top: 20px; background: transparent;
padding: 12px 30px; font-size: var(--fontsize-sm); line-height: var(--line-height-md); color: #CE2224; border: 2px solid #CE2224;
-webkit-transition: all .4s ease; -o-transition: all .4s ease; transition: all .4s ease; border-radius: 0;
}
a.btn:hover {color: #FFF; background: #CE2224; }

a.btn.negative { color: #fff; border: 2px solid #fff;}
a.btn.negative:hover {color: #CE2224; background: #fff;}

@media (max-width: 767px) {
}
@media (max-width: 575px) {
}








/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */
.footer { background: #222222; color: #FFF; position: relative; width: 100%;margin: auto auto 0 auto; padding: 60px 0 100px 0; font-size: var(--fontsize-sm); line-height: var(--line-height-md);  }
.footer h3{ font-size: var(--fontsize-sm);line-height: var(--line-height-md); margin: 0 0 7px; color: #FFF }
.footer a{ color: #A0AAB4 }
.footer a:hover{ color: #CE2224  }

.footer-logo {margin-bottom: 40px;}
.footer-logo img {max-width: 72px;}



.top-cols {
  display: flex;
  gap: 1rem; /* optional: Abstand zwischen den beiden Spalten */
}

.top-cols .col,
.top-cols .col-md-6 {
  flex: 1; /* verteilt beide gleichmäßig */
}

.bottom-col {
  margin-top: 1rem; /* optional */
}


.footer .footer-nav ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start; 
  gap: 0.5rem; 
}

.footer .footer-nav li { list-style: none; /* entfernt die Standard-Bullets */}
.footer .footer-nav a {font-size: var(--fontsize-sm);line-height: var(--line-height-md);text-decoration: none; color: #A0AAB4;}
.footer .footer-nav a:hover { color: #CE2224; text-decoration: none;}
.footer .footer-nav li.current_page_item a {color: #CE2224;text-decoration: none;}


.footer .footer-nav-alt ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start; 
  gap: 2.5rem; 
}

.footer .footer-nav li { list-style: none; /* entfernt die Standard-Bullets */}
.footer .footer-nav a {font-size: var(--fontsize-sm);line-height: var(--line-height-md);text-decoration: none; color: #A0AAB4;}
.footer .footer-nav a:hover { color: #CE2224; text-decoration: none;}
.footer .footer-nav li.current_page_item a {color: #CE2224;text-decoration: none;}


@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; }
}

@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: #222222; 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: #F2F4F6;  border: 1px solid #F2F4F6; color:#CE2224; padding: 15px 20px; width:100%; box-sizing: border-box; margin: 0 0 30px 0;-webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-o-transition: all 0.5s ease;-ms-transition: all 0.5s ease;transition: all 0.5s ease;}
.wpcf7 form input:hover, form textarea:hover {outline:none; border: 1px solid #CE2224;}
.wpcf7 form input:focus, form textarea:focus {outline:none; border: 1px solid #CE2224;}

.wpcf7 form textarea {height: 240px;}

.wpcf7 form input::-webkit-input-placeholder,
.wpcf7 form input::-moz-placeholder,
.wpcf7 form input:-ms-input-placeholder,
.wpcf7 form input:-moz-placeholder,
.wpcf7 form input[placeholder],
.wpcf7 form textarea::-webkit-input-placeholder,
.wpcf7 form textarea::-moz-placeholder,
.wpcf7 form textarea:-ms-input-placeholder,
.wpcf7 form textarea:-moz-placeholder,
.wpcf7 form textarea[placeholder] {color: #CE2224 !important; opacity: 1; }

.wpcf7 form input:focus::-webkit-input-placeholder,
.wpcf7 form input:focus:-moz-placeholder,
.wpcf7 form input:focus::-moz-placeholder,
.wpcf7 form input:focus:-ms-input-placeholder,
.wpcf7 form textarea:focus::-webkit-input-placeholder,
.wpcf7 form textarea:focus:-moz-placeholder,
.wpcf7 form textarea:focus::-moz-placeholder,
.wpcf7 form textarea:focus:-ms-input-placeholder {   color:transparent !important;}


/* SUBMIT BUTTON */
.wpcf7 form input[type=submit] { 
font-size: var(--fontsize-sm); line-height: var(--line-height-md); color: #CE2224; border: 2px solid #CE2224; padding: 12px 33px; background: transparent;
margin-top: 20px;
width: auto; display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;
-webkit-transition: all .4s ease; -o-transition: all .4s ease; transition: all .4s ease;
}
.wpcf7 form input[type=submit]:hover {color: #FFF; background: #CE2224;}




.screen-reader-response { display: none;}
div.wpcf7-response-output { color: #CE2224;font-size: var(--fontsize-md);line-height: var(--line-height-md); margin: 20px 0 20px 0 !important;	padding: 0; font-weight: 700; 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: #CE2224; font-weight: 700;}


span.wpcf7-not-valid-tip {color: #CE2224 !important; font-size: 12px !important; display: block; margin: -25px 0 10px 0!important ;}
input.wpcf7-not-valid {border:1px solid #CE2224 !important}

.use-floating-validation-tip span.wpcf7-not-valid-tip { 
position: absolute;	top: 20%; left: 20%; z-index: 100;	border: 1px solid #CE2224;	background: #fff;	padding: .2em .8em;}


div.wpcf7 .placeheld {color: #222222;}
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 #CE2224; border-right: 1px solid #CE2224; transform: rotate(45deg) translateY(-50%); transition: all .4s ease-in-out; transform-origin: 50% 0; }

.wpcf7-form select{width:100%; background: #F2F4F6;  border: 1px solid #F2F4F6; color:#CE2224; padding: 15px 20px;  border-radius:0;outline:0; -webkit-appearance:none; -moz-appearance:none; appearance:none; font-family: inherit; cursor: pointer;}
.wpcf7-form select:hover, .wpcf7-form select:focus {border: 1px solid #CE2224;}
.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 #CE2224; 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: 2px; 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: #CE2224; 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 #CE2224; margin-right: 15px;}
.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:after { display: block; position: absolute; content: '';   height: 12px; width: 12px; top: 2px; 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: #CE2224; 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: 2px; border: 2px solid #CE2224; 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: #CE2224; visibility: visible;}