@charset "UTF-8";
h1 {
  font-size: 2rem;
  color: #333333;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.3rem;
}

h4 {
  font-size: 1.1rem;
}

h5 {
  font-size: 1.3rem;
}

h6 {
  font-size: 1.3rem;
}

html,
body {
  font-size: 15.5px;
}

.font-gloria {
  font-family: "Gloria Hallelujah", cursive;
  font-size: 1.1em;
  color: #004177;
}

.slider-font-gloria {
  font-family: "Gloria Hallelujah", cursive;
  font-size: 1.5em;
  line-height: 1.5;
  color: #004177;
  padding-bottom: 20px;
}

.font-indie {
  font-family: "Indie Flower", cursive;
  font-size: 3em;
  color: #f30;
}

.font-handlee {
  font-family: "Handlee", cursive;
  font-size: 3em;
  color: #f30;
}

/* =============================================================================
 * Header für Partnerseiten
 * ========================================================================== */
.partnerheader-quote {
  font-family: "Gloria Hallelujah", cursive;
  font-size: 1.2em;
  color: #004177;
}

.partnerheader-name {
  font-size: 1.6em;
  color: #004177;
  padding-bottom: 10px;
}

.partnerheader-title {
  font-size: 0.9em;
  color: #333333;
  padding-bottom: 20px;
}

.partnerheader-kontakt {
  font-size: 1.2em;
  color: #333333;
  padding-bottom: 10px;
  font-weight: bold;
}

.partnerheader-phone {
  font-size: 1.0em;
  color: #333333;
  padding-bottom: 10px;
}

a.partnerheader-email {
  font-size: 1.0em;
  color: #333333;
}

#slider .partnerheader-phone, #slider .partnerheader-phone a {
    color: #333 !important;
}
/* =============================================================================
 * Header
 * ========================================================================== */
.box-right {
  float: right;
}

.boxborder-orange {
  border-left: 5px solid #F7AB00;
}

.margin-right {
  margin-right: 20px;
}

.boxborder-orange-right {
  border-right: 5px solid #F7AB00;
}

.boxborder-blue {
  border-left: 5px solid #004177;
}

.boxborder-gray {
  border-left: 5px solid #7F7F7F;
}

.videolabel {
  width: 300px;
  height: 430px;
  padding: 15px;
  background-color: #f8f8f8;
}

.formlabel {
  width: 200px;
  height: 430px;
  padding: 15px;
  background-color: #f8f8f8;
}

.sidebar-right {
  padding: 20px;
  background-color: #e8e8e8;
}

.headerbox-fp {
  background-color: rgba(204, 204, 204, 0.4);
  padding: 20px;
  border-left: 5px solid #F7AB00;
}

.headerbox-koeln {
  background-color: rgba(204, 204, 204, 0.95);
  padding: 20px;
  border-left: 5px solid #F7AB00;
  color: #333333;
}

.headerbox {
  background-color: rgba(204, 204, 204, 0.8);
  padding: 20px;
  border-left: 5px solid #F7AB00;
  color: #333333;
}

.textdark {
  color: black;
}

.pt-l {
  padding-top: 80px !important;
}

.promobox {
  min-height: 230px;
}

.headerbox-text {
  color: #333333;
  padding-bottom: 20px;
}

/* =============================================================================
 * Franchise-Header
 * ========================================================================== */
.franchise-slider-box .ce_text {
  padding-left: 30%;
}

.franchise-header-quote {
  position: absolute;
  padding-top: 100px;
}

h2.franchise-header-font-gloria {
  font-family: "Gloria Hallelujah", cursive;
  font-size: 3em;
  color: #004177;
}

.headerbox-franchise {
  background-color: rgba(204, 204, 204, 0.7);
  width: 420px;
  max-height: 300px;
  padding: 20px;
}

/* =============================================================================
  * bg Kacheln
  * ========================================================================== */
.bgOpacity {
  background-color: rgba(146, 163, 169, 0.6);
  padding: 10px 10px 10px 10px;
  color: black;
  margin: 5px 0 10px 0;
}

/* =============================================================================
   * sidebar both
   * ========================================================================== */
body.sidebar.both #left {
  width: 14%;
  position: relative;
  padding-left: 0;
  padding-right: 0px;
  float: left;
}

body.sidebar.both #right {
  left: 60%;
  width: 23%;
}

body.sidebar.both #right .inside {
  padding-right: 0;
}

body.sidebar.both #main {
  width: 56%;
  float: right;
  border-right: 0;
  border-left: 1px solid #e5e5e5;
  border-right: 1px solid #e5e5e5;
  margin-right: 26%;
}

body.sidebar.both #left .inside {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* =============================================================================
   * sidebar left
   * ========================================================================== */
body.sidebar #left {
  width: 20%;
}

body.sidebar.left #main {
  width: 80%;
}

.mainmenu ul li a {
  font-size: 1.1rem;
}

nav.mainmenu li.megamenu > .last {
  border: 0;
  margin-bottom: 0;
}

/*
  .mainmenu ul li.megamenu.page-contact {position: relative;}
  .mainmenu ul li.megamenu.page-contact .megamenu-wrapper {right: 40px; left: auto; width: 600px!important;}

  */
.mainmenu ul .megamenu ul li {
  border-right: 1px solid #e5e5e5;
}

.megaoffset {
  padding-left: 20px;
  width: 90%;
}

.megah5 {
  padding-left: 20px;
  color: #555555;
}

.pt-xxl {
  padding-top: 40px !important;
}

.header.cloned li.page-contact .ce_text {
  line-height: 30px;
}

/*
  .megamenu-wrapper {width: 600px; !important;}
  */
.mainmenu ul ul {
  white-space: normal;
}

/*
  nav.mainmenu li.megamenu ul {width:500px;}
  */
.cookiebar {
  background: #333333;
}

input, textarea, select {
  margin-bottom: 8px;
}

.imgtext {
  border: 1px solid #ccc;
  padding: 2px;
}

.ce_list li::after {
  height: 0px;
}

/* =============================================================================
 * stickyside
 * ========================================================================== */
/*
.stickybar {
  position: fixed;

	top: 250px;
	width: 250px;
  bottom: 400px;
	transition: All 0.6s ease;
	-webkit-transition: All 0.6s ease;
}
*/
.width90 {
  width: 90%;
}

.side-padding {
  padding-left: 50px;
}

.sfp-box_inside {
  width: 100%;
  background-color: #f2f2f2;
  border: 1px solid #cccccc;
}

.sfp-box_content {
  padding: 20px;
}

/* Teambox Changes
  .ce_teambox.gray_bg .teambox_content {
      min-height: 320px;
  }
  */
/* =============================================================================
   * ce_teambox
   * ========================================================================== */
.ce_teambox {
  overflow: hidden;
}

.ce_teambox_inside {
  background: whitesmoke;
  padding: 25px;
  height: 180px;
  width: 440px;
}

.ce_teambox_inside .ce_image.attribute {
  float: left;
  width: 125px;
  height: 125px;
  margin: 0 20px 10px 0;
}

.ce_teambox_inside .name {
  font-weight: bold;
  margin-bottom: 5px;
}

.ce_teambox .subtitle {
  font-style: italic;
  font-size: 1.2rem;
  margin-bottom: 5px;
  font-family: 'Playfair Display', serif;
}

/* =============================================================================
   * ce_apbox
   * ========================================================================== */
.ce_apbox.centered {
  text-align: center;
}

.ce_apbox .name {
  font-weight: bold;
  margin: 15px 0 5px 0;
}

.ce_apbox .function {
  margin-bottom: 20px;
}

.partnerlink {
  font-weight: bold;
  font-size: 1.0rem;
}

.ce_apbox.round_image .image_container img {
  border-radius: 100%;
  border: 4px solid rgba(0, 0, 0, 0.1);
}

.ce_apbox .image {
  text-align: center;
}

.ce_apbox .image a {
  position: relative;
  display: block;
  height: 100%;
}

.ce_apbox .image .overlay {
  height: 100%;
  width: 100%;
  display: block;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  background: #989898;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
}

.ce_apbox.round_image .image .overlay {
  border-radius: 100%;
}

.ce_apbox .image_container {
  margin: 0;
}

.ce_apbox .image i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1.333rem;
  font-size: 2.667rem;
  line-height: 2.667rem;
  width: 100%;
  color: #fff;
}

.ce_apbox .image:hover .overlay {
  opacity: 1;
}

.ce_apbox.hover_image .team-content {
  position: relative;
}

.ce_apbox.hover_image .team-content-hover {
  position: absolute;
  top: 0%;
  left: 0;
  opacity: 0;
  padding: 50px;
  width: 100%;
  height: 100%;
  background: #fafafa;
  transition: All 0.3s ease;
  -webkit-transition: All 0.3s ease;
}

.ce_apbox.hover_image .team-content-valign {
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: relative;
  top: 50%;
}

.ce_apbox.hover_image:hover .team-content-hover {
  opacity: 1;
}

.ce_apbox.frame .apbox_inside {
  border: 3px solid #e7e7e7;
}

.ce_apbox.frame .apbox_inside .name {
  padding-top: 20px;
}

.ce_apbox.frame .apbox_inside p {
  padding: 0 25px;
}

.ce_apbox.frame .apbox_inside .function {
  font-style: normal;
  font-weight: bold;
}

.apbox_inside {
  width: 270px;
  background-color: #f2f2f2;
  border: 1px solid #cccccc;
  height: 500px;
}

.apbox_content {
  padding: 20px;
}

.ce_apbox.gray_bg .apbox_inside {
  position: relative;
  background: #f8f8f8;
  overflow: hidden;
}

.ce_apbox.gray_bg .apbox_content {
  padding: 20px;
}

.ce_apbox.gray_bg .socials a {
  border: 0;
}

.ce_apbox.gray_bg .function {
  color: inherit !important;
  font-style: normal;
  font-size: 0.9rem;
  padding-top: 0;
}

.ce_apbox.gray_bg .image .overlay {
  opacity: 1;
  height: auto;
  width: 8rem;
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  color: white;
  font-size: 0.8rem;
  position: absolute;
  left: -3rem;
  top: -0.3333rem;
  text-align: center;
  z-index: 30;
  padding: 0.8rem 0 0.3333rem 0;
  transition: All 0.3s ease;
  -webkit-transition: All 0.3s ease;
}

.ce_apbox.gray_bg .image:hover .overlay {
  padding-top: 1.6rem;
}

.ce_apbox.gray_bg .image .overlay i {
  font-size: 1.2rem;
  position: static;
  margin: 0;
  line-height: 1;
}

.button-spacer {
  padding-left: 48px;
}

.css-unset:hover {
  all: initial;
}

.css-unset:hover * {
  all: unset;
}

/* =============================================================================
 * Referenzen
 * ========================================================================== */
#referenzen .refimage {
  float: left;
  width: 80px;
  border: 1px solid #cccccc;
  padding: 2px;
  -webkit-box-shadow: 1px 1px 3px 0px #333333;
  -moz-box-shadow: 1px 1px 3px 0px #333333;
  box-shadow: 1px 1px 3px 0px #333333;
  margin-right: 20px;

}

.testimonial {
  float: left;
  width: calc(100% - 250px);
  margin-bottom: 50px;
}

.testimonial .company {
  font-size: 18px;
  font-weight: bold;
}

.testimonial .name {
  font-size: 16px;
}

.testimonial div.referenzlogo {
  width: 200px;
  margin-left: 50px;
}

.referenzen_content {
  margin-bottom: 50px;
}

.referenz .logo {
	float: right;
	height: auto;
	width: auto;
}
.referenz .logo img {
	max-width: 200px;
	height: auto;
}

.keymessage {
  list-style-type: none;
  padding-left: 50px;
  margin-left: 0px;
  background-image: url(/files/images/icons/icon-zitat-web40.png);
  background-repeat: no-repeat;
  background-position: left top;
  font-family: 'Playfair Display', Georgia, Times, serif;
  font-size: 17px;
  padding-bottom: 20px;
  margin-top: 40px;
  clear: left;
}

@media (max-width:599px) {
	.referenz .logo {
		float: none;
	}
	.referenz .logo img {
		max-width: 320px;
		margin: 0 auto;
		display: block;
		width: 100%;
	}
	.testimonial {
	  float: none;
	  width: 100%;
	  margin-bottom: 30px;
	}
}

/* =============================================================================
 * Various
 * ========================================================================== */
.ce_list li.fa {
  margin-bottom: 5px;
  font-size: 1rem;
  position: relative;
  font-family: inherit;
}

/* =============================================================================
 * Downloads
 * ========================================================================== */
.ce_download:not(.ce_download_small) {
  background: #7F7F7F;
  color: #fff;
  padding: 35px;
  border-radius: 3px;
  position: relative;
}

.a-level_1 sibling last {
  background-color: #7F7F7F;
}

.subnav a {
  padding: 10px 10px 10px 10px;
}

.ce_iconbox.version2 .image_container img {
  width: 50px;
}

.franchise-ap {
  float: left;
}




.ce_gallery ul.cols_4 {
    display: flex;
    flex-flow: row wrap;

    align-items: center; /* align vertical */
}

.ce_gallery ul.cols_4 li {
    flex: 0 0 25%;
}

.ce_gallery ul.cols_4 li figure {
    padding: 10px;
}


.mainmenu ul ul li .mega_entry {
    padding: 0;
}

.mainmenu ul ul li .mega_entry a {
    padding: 15px !important;
    line-height: 1.6 !important;
    transition: background-color .3s ease;
}

.mainmenu ul ul li .mega_entry a span {
    white-space: normal !important;
}

#header .mainmenu ul ul li .mega_entry a:hover, #stickyheader .mainmenu ul ul li .mega_entry a:hover {
    background: #ECEDED !important;
    color: #4d4f4f !important;
}

.mainmenu ul ul li .mega_entry a img {
    max-width: 100%;
    height: auto;
}

.mainmenu ul ul a span {
    white-space: nowrap !important;
}

@media(max-width:1200px) {
    #slider .ce_bgimage .ce_bgimage-inside {
        padding: 30px !important;
    }
}

@media(max-width:900px) {
    #slider .ce_bgimage {
        height: auto !important;
    }
    #slider .ce_bgimage .ce_bgimage-image {
        height: 280px !important;
    }
    #slider .ce_bgimage-image {
        background-position: top left;
        background-size: cover;
        height: 100%;
        position: static;
    }
    #slider .ce_bgimage .ce_bgimage-inside {
        padding: 0px !important;
    }
    #slider .ce_bgimage .ce_bgimage-inside .inside {
        padding: 15px !important;
    }
    #slider .ce_bgimage .ce_bgimage-inside .inside .inside {
        padding: 0 !important;
    }
    #slider .ce_bgimage .ce_bgimage-inside .ce_autogridwrapper {
        width: 100% !important;
    }
    /*#slider .ce_divider_extended {
        display: none;
    }*/
    #slider .ce_bgimage .autogrid.clear {
        height: 0 !important;
        margin: 0 !important;
    }
    .hide_mobile {
        display: none;
    }
}

#footer {
    background: rgb(71, 81, 92);
}

#bottom {
    background: rgb(44, 49, 54);
}

form .captcha_text {
    margin: 2px 0 15px 15px;
    color: red;
    font-size: 14px;
}

.subnav ul ul a {
    padding-left: 20px;
}

.newsteaser_v2 .content_left {
    float: left;
    width: 20%;
}

.ce_profile_sidebar_fp .socials i::before {
     font-size: 30px;
     margin-right: 5px;
}

.ce_form.tableform td {
	position: relative;
}
#f134 .styled_select {
	padding: 15px !important;
    width: 100%;
    border-radius: 0;
    border: 1px solid rgba(0,0,0,0.2);
}

#ctrl_1755 {
	margin: 8px 0;
}

/* =============================================================================
 * Callback Button / Overlay
 * ========================================================================== */

.overlayCallBack {
    background: #333;
    background: rgba(50,50,50,.9);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 10001;
}

.overlayCallBackOuter {
    display: table;
    position: absolute;
    height: 100%;
    width: 100%;
}

.overlayCallBackMiddle {
    display: table-cell;
    vertical-align: middle;
}

.overlayCallBackInner {
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
}

.overlayCallBackContent {
    position: relative;
    background: #ECEDED;
    padding: 20px;
    text-align: center;
    border-radius: 4px;
    min-height: 100px;
    margin: 0 10px;
}

.overlayCallBackContent button.btn {
    background: #004177;
    border: 2px solid #004177 !important;
    display: inline-block;
    padding: 12px 20px;
    margin: 15px;
    cursor: pointer;
    transition: all 0.2s ease-out 0s;
    transition-property: all;
    transition-duration: 0.2s;
    width: auto;
    color: #fff;
    font-weight: bold;
    min-width: 140px;
    text-align: center !important;
    position: relative;
    position: relative;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    font-size: 0.9rem;
}

.overlayCallBackContent button.btn:hover {
    opacity: .8;
}

.overlayCallBackContent ::-webkit-input-placeholder {
   text-align: center;
   font-size: .9em;
   transition: opacity 0.5s 0.5s ease!important;
}

.overlayCallBackContent :-moz-placeholder { /* Firefox 18- */
   text-align: center;
   font-size: .9em;
   transition: opacity 0.5s 0.5s ease!important;
}

.overlayCallBackContent ::-moz-placeholder {  /* Firefox 19+ */
   text-align: center;
   font-size: .9em;
   transition: opacity 0.5s 0.5s ease!important;
}

.overlayCallBackContent :-ms-input-placeholder {
   text-align: center;
   font-size: .9em;
   transition: opacity 0.5s 0.5s ease!important;
}

.overlayCallBackContent input:focus::-webkit-input-placeholder {
    transition: opacity 0.5s 0.5s ease!important;
    opacity: 0;
}

.overlayCallBackContent input:focus::-moz-placeholder {
    transition: opacity 0.5s 0.5s ease!important;
    opacity: 0;
}

.overlayCallBackContent input:focus:-moz-placeholder {
    transition: opacity 0.5s 0.5s ease!important;
    opacity: 0;
}

.overlayCallBackContent input:focus::-ms-input-placeholder {
    transition: opacity 0.5s 0.5s ease!important;
    opacity: 0;
}

.overlayCallBackContent .input {
    position: relative;
}

.overlayCallBackContent .input i {
    position: absolute;
    font-size: 2em;
    top: 17px;
    left: 20px;
}

.overlayCallBackContent .fa-close {
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
}
.overlayCallBackContent .fa-close:hover {
    color: #004177;
}

.overlayCallBackContent input {
    text-align: center;
    font-size: 1.5em;
}

.overlayCallBackContent .errors p {
    display: none;
    color: red;
    margin-bottom: 5px;
}

.overlayCallBackContent .errors.empty .empty, .overlayCallBackContent .errors.invalid .invalid {
    display: block;
}

@media(max-width: 420px) {
    .overlayCallBackContent ::-webkit-input-placeholder {
       font-size: .7em;
    }

    .overlayCallBackContent :-moz-placeholder { /* Firefox 18- */
       font-size: .7em;
    }

    .overlayCallBackContent ::-moz-placeholder {  /* Firefox 19+ */
       font-size: .7em;
    }

    .overlayCallBackContent :-ms-input-placeholder {
       font-size: .7em;
    }
}

.spinner {
  margin: 100px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  background-color: #004177;
  height: 100%;
  width: 6px;
  display: inline-block;

  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}

/* Cookie bar */
.cookiebar__button {
    background: #F7AB00;
    border: medium none !important;
}
.cookiebar__button:hover {
    background: #004177;
}

/* custom forms */
form .widget-radio.widget-extended .extended {
	display: none;
	padding: 10px;
	background: #ECEDED;
}

form .widget-radio.widget-extended .extended span {
	margin: 0;
}

form .widget-radio.widget-extended input.text {
	display: inline-block;
	/*padding: 5px;*/
	width: 500px;
	max-width: 95%;
	margin: 0;
}

form .section {
	display: none;
}
form .section select {
	opacity: 1 !important;
}
form .section .styled_select {
	display: none !important;
}

form .section fieldset {
	border: medium none;
	padding: 0;
}

#progress {
	text-align: center;
	border: 1px solid rgb(71, 81, 92);
	padding: 10px;
	margin-bottom: 40px;
	position: relative;
	height: 50px;
}

#progress #bar {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	background: #ECEDED;
	display: block;
	content: "";
	transition: all .5s ease;
	z-index: 2;
}
#progress span {
	position: relative;
	z-index: 10;
}

#ctrl_1833 > span {
	width: 50%;
	display: block;
	float: left;
}

label[for="ctrl_1835"], label[for="ctrl_1836"], label[for="ctrl_1837"], label[for="ctrl_1838"], label[for="ctrl_1839"],label[for="ctrl_1840"] {
	width: 30px;
	display: inline-block;
}
#ctrl_1835, #ctrl_1836, #ctrl_1837, #ctrl_1838, #ctrl_1839, #ctrl_1840 {
	width: calc(100% - 34px);
	display: inline-block;
}

.widget.widget-text.w50 {
	float: left;
	width: 50%;
}

.widget.widget-text.w50 label {
	width: 30px;
	display: inline-block;
	text-align: center;
}

.widget.widget-text.w50 input {
	width: calc(100% - 34px);
	display: inline-block;
}

.widget.widget-checkbox.w50 span {
	float: left;
	width: 50%;
}

.widget.one_line label {
	display: inline-block;
	width: 120px;
}
.widget.one_line input {
	display: inline-block;
	width: calc(100% - 124px);
}

form .section ul {
	margin-left: 20px;
	margin-bottom: 25px;
}
form .section li {
	list-style: disc outside;
}
form .section h4 {
	margin-top: 25px;
	margin-bottom: 5px;
}

form .section div.widget-headline {
	margin-bottom: 0;
}


.ce_form .portal .formbody fieldset {
	border: none;
}

.ce_form .portal .formbody button {
	padding: 12px;
	color: white;
	background-color: #004177;
}


@media only screen and (max-width: 600px) {
  ul.vlist.level_2 {
    display:none;
  }
}

.corona .ce_calltoaction_inside {
    padding-top: 30px;
    padding-bottom: 30px;
}
.corona .ce_hyperlink a {
    margin-bottom:0px;
}
/*# sourceMappingURL=customize.css.map */


