/*
         ==============================================================
         RC Landingpage CSS
         Gestaltung / Programmierung: https://www.freudenschrei.rocks
         ==============================================================
*/

/* Einstellungen */
:root {
         --main-font: 'Roboto';

         --main-color: #5d266a;
         --main-color-light: #783a87;
         --main-color-dark: #33053e;

         --second-color: #c789a3;
         --second-color-light: #d8bcc8;
         --second-color-dark: #8d6796;

         --bg-color: #5d266a;
         --bg-color2: #f1f0f5;
         --bg-color3: #33053e;
         --bg-dark: #2b2d2c;

         --font-color: #1a0120;
         --font-color2: #5d266a;
         --font-color-hightlight: #d29dde;
         --font-color-light: #FFFFFF;
         --font-color-dark: #000000;

         --formular-bg: #f1f0f5;
         --formular-color: #1a0120;
         --formular-label: #ffffff;
         --formular-button-color1: #ece6ee;
         --formular-button-color2: #c29cc9;

         --max-width: 1200px;
}


/* Links */
a:link, a:visited {
         font-family: var(--main-font);
         font-size: 1.0em;
         color: var(--main-color);
         font-weight: normal;
         text-decoration:underline;
         transition: all 0.3s ease-in-out;
}

a:hover {
         color: #000000;
         text-decoration:none;
}

a.button:link, a.button:visited {
         display: inline-block;
         padding: 10px 40px 10px 20px;
         margin: 2px 0px;

         background: var(--main-color) url(../images/icon_dot_next.png) calc(100% - 10px) center no-repeat;
         background-size: auto 70%;

         font-family: var(--main-font);
         text-align: left;
         font-size: 1.2em;
         font-weight: 600;
         text-shadow: rgba(0,0,0,0.0) 2px 2px 1px;
         color: #FFFFFF;
         text-decoration:none;

         -webkit-border-radius: 6px;
         -moz-border-radius: 6px;
         border-radius: 6px;
}

a.button:hover {
         font-family: var(--main-font);
         color: #FFFFFF;
         background-color: var(--second-color-light);
         text-decoration:none;
}


/* Überschriften */
h1 {
         font-size: 2.4em;
         font-weight: bold;
         text-align: left;
         color: var(--font-color);
}

h2 {
         font-size: 2.0em;
         font-weight: 600;
         text-align: left;
         color: var(--font-color2);
}

h3 {
         font-size: 1.6em;
         font-weight: bold;
         text-align:left;
         color: var(--font-color2);
}

h4 {
         font-size: 1.3em;
         font-weight: bold;
         text-align:left;
         color: var(--font-color);
}

h1, h2, h3, h4, h5 { font-family: var(--main-font); vertical-align: top; text-decoration:none; margin: 10px 0px 10px 0px; padding: 0px 0px 0px 0px; }
h1 span, h2 span, h3 span, h4 span, h5 span { color: var(--main-color-light) !important; }

#content h1, #content h2, #content h3, #content h4, #content h5 {  margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; }


/* Standarts */
body {
         background: #ffffff;
         width: 100%;
         height: 100%;
         margin: 0;
         padding: 0;
}

body, td, div {
         font-family: var(--main-font);
         font-size: 1.0em;
         color: var(--font-color);
         vertical-align:top;
         text-align:left;
}

.l       { float:left; }
.r       { float:right; }
.a_l     { text-align: left; }
.a_c     { text-align: center; }
.a_r     { text-align: right; }

img      { border: 0px; }
img.img_l { width: 50%; max-width: 500px; height: auto; float: left; margin: 0px 30px 20px 0px; }
img.img_r { width: 50%; max-width: 500px; height: auto; float: right; margin: 0px 0px 20px 30px; }

.clear   { clear:both; line-height:0.0em; height: 0px; display: block; background-color: #FFDF00; }

.pad     { padding: 10px; }
.pad_top { padding: 40px 0px !important; }

.white   { color: #FFFFFF; }
.black   { color: #000000; }

.f_small   { font-size: 0.8em !important; }
.f_big     { font-size: 1.2em !important; }
.f_bigger  { font-size: 1.4em !important; }
.f_color     { color: var(--main-color); }

.block   { display:block; }
.inline-block   { display:inline-block; }
.inline   { display:inline; }

.hide    { display: none; }
.show    { display: block !important; }
.none    { opacity: 0.0; filter: alpha(opacity=0); }

.round_big { -webkit-border-radius: 50px; -moz-border-radius: 50px; border-radius: 50px; }
.round { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; }

.shadow { -webkit-box-shadow: 0px 0px 15px 0px rgba(50, 70, 50, 0.35); -moz-box-shadow: 0px 0px 15px 0px rgba(50, 70, 50, 0.35); box-shadow: 0px 0px 15px 0px rgba(50, 70, 50, 0.35); }
.shadow_dark { -webkit-box-shadow: 0px 0px 15px 0px rgba(50, 70, 50, 0.65); -moz-box-shadow: 0px 0px 15px 0px rgba(50, 70, 50, 0.65); box-shadow: 0px 0px 15px 0px rgba(50, 70, 50, 0.65); }

.w50     { width: calc(100% / 2); }
.w33     { width: calc(100% / 3); }
.w25     { width: calc(100% / 4); }
.w50.pad { width: calc((100% / 2) - 20px); }
.w33.pad     { width: calc((100% / 3) - 20px); }
.w25.pad     { width: calc((100% / 4) - 20px); }

.bg1     { background-color: var(--bg-color); }
.bg2     { background-color: var(--bg-color2); }
.bg3     { background-color: var(--bg-color3); }
.bg4     { background-color: var(--second-color); }

.dot_check { display: inline-block; background: transparent url(../images/check.png) left center no-repeat; padding: 2px 10px 0px 30px; }

/* Tabellen */
td:nth-child(odd) { background: var(--bg-color); color: var(--font-color); padding: 3px 10px; border-bottom: 1px rgba(0,0,0,0.05) solid; border-top: 1px rgba(255,255,255,0.75) solid; }
td:nth-child(even) { background: var(--bg-color2); color: var(--font-color); padding: 3px 10px; border-bottom: 1px rgba(0,0,0,0.05) solid; border-top: 1px rgba(255,255,255,0.75) solid; }
td.head { background: var(--main-color); color: var(--font-color-light); padding: 5px 10px; font-weight: bold; font-size: 1.1em; }
td.head2 { background: var(--second-color); color: var(--font-color-light); padding: 5px 10px; font-weight: bold; font-size: 1.0em; }

span {  color: var(--main-color); }

p.space { line-height: 1.6em; }

/* Seite */
#wrapper {
         width: 100%;
         margin: 0px;
         padding: 0px;
         min-width: 320px;
}

.in {
         width: var(--max-width);
         margin: 0px auto;
         padding: 0px 0px;
}

#header {
         display: block;
         width: 100vw;
         height: calc(100vw / 4);
         min-height: 640px;
         background: #ffffff url(../images/hero.jpg) top center no-repeat;
         border: 0px #000000 solid;
}

#header .logo {
         display: block;
         float: left;
         width: 50%;
         height: auto;
         margin: 20px 0px;
         text-align: left;
}

#header .logo a { text-decoration: none; }

#header .logo img {
         width: calc(100% - 20px);
         height: auto;
}

#header.small { height: 250px; min-height: auto; background: #ffffff url(../images/hero.jpg) center -120px no-repeat; }
#header.small .logo { margin: 0px 0px; }

#header .navi {
         display: block;
         float: right;
         width: calc(100% - 320px);
         height: auto;
         margin: 30px 0px;
         text-align: right;
}

#header .navi a {
         display: inline-block;
         padding: 3px 10px;
         margin-left: 5px;
         font-size: 1.4em;
         color: var(--font-color);
         font-weight: 400;
         text-decoration: none;
         -webkit-border-radius: 50px; -moz-border-radius: 50px; border-radius: 50px;
}
#header .navi a:hover, #header .navi a.active { background-color: var(--bg-color2); color: var(--main-color);  }

#hero {
         display: block;
         width: 50%;
         height: auto;
         border: 0px #000000 solid;
         text-shadow: 5px 5px 20px rgba(255,255,255,0.5);
}
#hero h1 { font-size: 2.8em; color: var(--main-color); font-weight: 900; }
#hero ul { margin: 10px 0px 0px 0px; padding: 0px; }
#hero ul li { background: transparent url(../images/icon_check.png) center left no-repeat; background-size: 34px; margin: 5px 0px; padding: 10px 0px 10px 50px; list-style: none; font-size: 1.2em; color: var(--main-color-dark); font-weight: bold; }

#hero_header {
         display: block;
         width: 100%;
         height: 200px;
         background: transparent url(../images/hero_header.jpg) top right no-repeat;
}

#site {
         padding: 0px 0px 0px 0px;
         min-height: 150px;
         font-size: 1.0em;
}

/* Footer */
#footer { display: block; background-color: var(--main-color); width: 100%; padding: 20px 0px 20px 0px; margin: 0px 0px 0px 0px; font-family: var(--main-font); font-size: 1.0em; color: var(--font-color-light); }
#footer .in { color: var(--font-color-light); }
#footer a { color: var(--font-color-light); text-decoration: none; font-weight: bold; }
#footer a:hover { color: var(--font-color-hightlight); text-decoration: none; }
#footer img { width: 40px; height: auto; }
#footer img:hover { opacity: 0.6;}

/* Content Boxen */
.box {
         display: block;
         width: calc(100% - 30px);
         margin: 10px 0px 10px 0px;
         padding: 10px 15px 10px 15px;
         background: #FFFFFF;

         -webkit-border-radius: 10px;
         -moz-border-radius: 10px;
         border-radius: 10px;

         -webkit-box-shadow: 0px 0px 15px 0px rgba(50, 20, 50, 0.15);
         -moz-box-shadow:    0px 0px 15px 0px rgba(50, 20, 50, 0.15);
         box-shadow:         0px 0px 15px 0px rgba(50, 20, 50, 0.15);
}

/* Content */
#startseite {}
#startseite img.start_1 { width: 50%; max-width: 600px; height: auto; float: right; margin: 10px 0px 10px 50px; }
#startseite img.start_2 { width: 50%; max-width: 450px; height: auto; float: right; margin: 10px 0px 10px 50px; }

#startseite #video { cursor: pointer; width: 590px; height: 330px; margin: 30px 30px 30px 60px; float: right; -webkit-box-shadow: 0px 0px 35px 0px rgba(50, 20, 50, 0.85); -moz-box-shadow: 0px 0px 35px 0px rgba(50, 20, 50, 0.85); box-shadow: 0px 0px 35px 0px rgba(50, 20, 50, 0.85); }
#startseite #video img { width: 100%; height: auto; }
#startseite #video video { display: none; width: 100% !important;  margin: 0px 0px 0px 0px; border: 2px #FFFFFF solid; }


#startseite #vorteile { text-align: center; }
#startseite #vorteile h2 { text-transform: uppercase; font-size: 2.4em; font-weight: 200; text-align: center; color: var(--font-color); }
#startseite #vorteile .item {  display: inline-block; width: calc(100% / 5 - 30px - 5px); margin: 15px; text-align: center; font-size: 0.9em; }
#startseite #vorteile .item b { display: block; height: 50px; padding: 0px 10px 10px 10px; font-size: 1.4em; text-align: center; color: var(--font-color2); }
#startseite #vorteile .item .box { min-height: 270px; }
#startseite #vorteile .last { width: calc(100% - 40px); margin: 10px 20px; text-align: left; font-size: 1.2em; }
#startseite #vorteile .last b { display: block; padding-top: 20px;  color: var(--font-color2); }
#startseite #vorteile .last img { float: left; margin-right: 20px; }

#startseite #kampagnen { text-align: center; }
#startseite #kampagnen h3 { text-transform: uppercase; font-size: 2.4em; font-weight: 200; text-align: center; color: var(--font-color); }
#startseite #kampagnen img { float: left; width: calc(100% / 3); height: auto; }

/* VS Logos */
#vs_logos img { width: 200px; height: auto; margin: 20px 30px; }

/* kontakt */
#kontakt {}
#kontakt h3 { text-transform: uppercase; font-size: 2.4em; font-weight: 200; text-align: center; color: var(--font-color-light); }
#kontakt h4 { font-size: 1.6em; font-weight: bold; text-align: center; color: var(--font-color-hightlight); }
#kontakt .links { float: left; width: 500px; }
#kontakt form { float: right; width: calc(100% - 500px - 50px); padding: 20px; background-color: rgba(255,255,255,0.1); -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
#kontakt form .white {  color: var(--second-color-dark); }
#kontakt .links ul { margin: 10px 0px 0px 0px; padding: 0px; }
#kontakt .links ul li { background: transparent url(../images/icon_check.png) center left no-repeat; background-size: 50px; margin: 10px 0px; padding: 10px 0px 10px 60px; list-style: none; font-size: 1.3em; color: var(--font-color-light); font-weight: bold; }
#kontakt .links ul li.ph { background-image: url(../images/icon_phone.png); }
#kontakt .links ul li.mo { background-image: url(../images/icon_mobile.png); }
#kontakt .links ul li.ma { background-image: url(../images/icon_mail.png); }
#kontakt .links ul li.lo { background-image: url(../images/icon_location.png); }
#kontakt .links ul li.er { background-image: url(../images/icon_termin.png); }

#kontakt_button { }
#kontakt_button .top { position: absolute; display: block; z-index: 100; right: calc(50% - 600px); top: 550px; }
#kontakt_button .site { position: fixed; display: none; z-index: 100; right: 20px; bottom: 20px; }


/* Blog */
#blog { margin: 40px auto 40px auto; }
#blog h3 { color: var(--font-color); font-size: 1.2em; margin: 10px 0px 5px 10px; }
#blog h4 { color: var(--main-color); font-size: 1.8em; margin: 10px 0px 5px 10px; }
#blog .item { display: block; float: left; width: calc(100% / 3 - 20px - 30px); margin: 10px; padding: 10px 15px; }
#blog .item img { width: 100%; height: auto; margin: 5px 0px 10px 0px; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; }
#blog .item a.button { display: block; text-align: center; margin-top: 10px; }


/* FAQ */
#faq .item { position:relative; padding-bottom:10px; }
#faq .item h4 { display: block; cursor: pointer; width: calc(100% - 45px - 2px); padding: 5px 35px 5px 10px; margin: 0px; background: var(--bg-color2) url(../images/pfeil-unten.png) no-repeat right center; border: 1px rgba(0,0,0,0.05) solid; font-size: 1.2em; font-weight: 600; color: var(--main-color); -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
#faq .item h4.open { background: var(--main-color) url(../images/pfeil-oben.png) no-repeat right center; color: #FFFFFF; -webkit-border-radius: 5px; -webkit-border-bottom-right-radius: 0px; -webkit-border-bottom-left-radius: 0px; -moz-border-radius: 5px; -moz-border-radius-bottomright: 0px; -moz-border-radius-bottomleft: 0px; border-radius: 5px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }
#faq .item .faqtext { display: none; background: var(--bg-color2); border: 1px rgba(0,0,0,0.05) solid; width: calc(100% - 20px - 2px); padding: 10px; -webkit-border-radius: 0px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px; -moz-border-radius: 0px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; border-radius: 0px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; }


/* Sonstiges */
#w { display: none; z-index: 100; left: 0; bottom: 0px; padding: 5px 10px; color: #FFFFFF; position: fixed; background: #000000; }


/* Formulare */
form { }
form label { display: block; font-size: 0.9em; padding: 10px 0px 5px 0px; color: var(--formular-label); }
form a { color: var(--formular-link) !important; }
form .check { display: block; margin: 5px 0px; color: var(--formular-white); }
form .block { display: block; width: calc(50% - 0px); float: left; }
form .block.full { display: block; width: calc(100% - 0px); float: none; }
form .error { border: 2px #DF0000 solid; }

input, textarea, select {
         border: 2px #ffffff solid;
         background-color: var(--formular-bg);

         width: calc(100% - 30px - 10px);
         padding: 10px 15px;
         margin: 5px 10px 5px 0px;

         font-family: var(--main-font);
         font-size: 1.1em;
         color: var(--formular-color);

         vertical-align: top;

         -webkit-box-shadow: inset 2px 2px 4px 0px rgba(0, 0, 0, 0.05);
         -moz-box-shadow:    inset 2px 2px 4px 0px rgba(0, 0, 0, 0.05);
         box-shadow:         inset 2px 2px 4px 0px rgba(0, 0, 0, 0.05);

         -webkit-border-radius: 5px;
         -moz-border-radius: 5px;
         border-radius: 5px;
}
select { width: calc(100% - 0px - 10px); padding: 10px 15px; margin: 5px 10px 5px 0px; }

input[type="submit"] {
         cursor: pointer;
         background: linear-gradient(to bottom, var(--formular-button-color1) 0%, var(--formular-button-color2) 100%);
         width: auto;

         padding: 10px 30px;

         text-align: center;
         font-size: 1.3em;
         font-weight: 300;
         text-shadow: rgba(0,0,0,0.1) 1px 1px 1px;
         color: var(--font-color);
         text-decoration:none;

         -webkit-border-radius: 30px;
         -moz-border-radius: 30px;
         border-radius: 30px;

         border: 0px;
         border-bottom: 2px var(--main-color) solid;

         -webkit-box-shadow: 0px 15px 10px -10px rgba(0,0,0,0.25);
         -moz-box-shadow: 0px 15px 10px -10px rgba(0,0,0,0.25);
         box-shadow: 0px 15px 10px -10px rgba(0,0,0,0.25);
}

input[type="submit"]:hover {
         color: #000000;
         background: linear-gradient(to bottom, var(--formular-button-color2) 0%, var(--formular-button-color1) 100%);
         text-decoration:none;
}

input[type="checkbox"] { display:none; }
input[type="checkbox"] + label { width: 50px !important; height: 20px !important; padding: 1px !important; margin: 0px !important; border-radius: 20px !important; border: 2px solid rgba(255,255,255,1.0) !important; background-color: rgba(255,255,255,0.3) !important; display: inline-block; content: ""; float: left; margin-right: 10px !important; transition: background-color 0.5s linear !important; margin-top: 0px; }
input[type="checkbox"] + label:hover { cursor: pointer; }
input[type="checkbox"] + label::before { width: 16px; height: 16px; border-radius: 16px; background-color: #fff !important; display: block; content: ""; float: left; margin: 2px 0 0 2px; transition: margin 0.1s linear; }
input[type="checkbox"]:checked+label{ background-color: var(--main-color) !important; }
input[type="checkbox"]:checked+label::before { margin: 2px 0 0 32px; }

input[type="checkbox"] + label[for="datenschutz"] { margin-bottom: 35px !important; }

#error_massage {
         display: block;
         width: calc(100% - 40px) !important;
         background: #DF0000 !important;

         margin: 10px 0px !important;
         padding: 10px 20px;

         -webkit-border-radius: 20px;
         -moz-border-radius: 20px;
         border-radius: 20px;

         text-align: center;
         color: #FFFFFF;
}
#error_massage.hide { display: none; }