/*
Theme Name: Total Child Theme
Theme URI: https://your-site.com
Description: Your site description. Go to Appearance > Editor to modify this file.
Author: Your Name
Author URI: https://your-site.com
Template: Total
Version: 1.0
*/

/* fonts */

h1, h2, h3, h4, .wpex-heading {
  font-family: var(--wpex-headline-regular-font);
}

blockquote { margin: 0 0 30px 0; }

/* header */
#site-header {
  box-shadow: 0px 2px 5px rgba(0,0,0,.1);
}

#top-bar {
  font-size: 0.8rem;
}
#top-bar .top-bar-left {
    width: 100%; text-align: center;
}

.header-builder .vc_column-inner {
  margin-bottom: 0;
}
.header-builder-inner,
.wpex-can-sticky.is-sticky .header-builder-inner { overflow: hidden;  }
.header-builder-inner .up-fred {width: 70%;  }

header .up-fred { 
  position: absolute;
  max-width: 200px;
  left: 10px;
  
  transition: width 0.3s ease-in;
}

@media only screen and ( min-width: 768px ) {
    .header-builder-inner { overflow: visible;  }
    .header-builder-inner .up-fred {width: 80%;  }
}

#menu-hauptmenue-1 { margin-bottom: 10px; }
#menu-hauptmenue-1 > li > a.vcex-horizontal-menu-nav__item-content {
    line-break: auto;
    line-height: normal;
    border: 1px solid var(--wpex-palette-38-color);
}
#menu-hauptmenue-1 > li:nth-child(2) > a.vcex-horizontal-menu-nav__item-content, 
#menu-hauptmenue-1 > li:nth-child(3) > a.vcex-horizontal-menu-nav__item-content {
    max-width: 140px;
}

.vcex-off-canvas-menu__toggle, .vcex-off-canvas-menu__extra-item {
  padding: 30px 10px;
}

/* footer */
.footer-builder { color: #fff; }
.footer-builder a { color: var(--wpex-on-accent); }

.footer-builder table th, 
.footer-builder table td { padding: 2px 10px; border: 0; } 


/* main layout */
.site-main .vc_column_container > .vc_column-inner {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}
.site-content .wpb-content-wrapper .vc_row:last-child .vc_column_container > .vc_column-inner {
    margin-bottom: inherit !important;
}


/* helper classes */
.white-back { background-color: #fff !important; }


.blue-back { background-color: var(--wpex-accent); }
.blue-back p, .blue-back h1, .blue-back h2, .blue-back h3, .blue-back h4 { color: #fff; }

.big-words .wpb_wrapper > *:first-child { margin-top: 0; }

.big-words { font-family: var(--wpex-headline-regular-font); font-size: 2.25rem; line-height: 2.5rem; } 

.big-words h1, .big-words h2, .big-words h3, .big-words h4 { font-weight: 400; }
.big-words b, .big-words strong { font-weight: 900; letter-spacing: 0.1rem; }


.teaser-xl .vc_column_container > .vc_column-inner { margin: 0 !important; } 

.teaser-xl > .vc_column_container > .vc_column-inner { padding: 30px; }



/* buttons */
.vcex-button.theme-button.outline {
    border-width: 5px;
}
.vcex-button.theme-button.outline.icon-left.medium {
    padding: 5px 30px 5px 5px;
    font-family: var(--wpex-headline-regular-font); font-size: 1.5rem;
}
.vcex-button.theme-button.outline.icon-left.large {
    padding: 10px 30px 10px 10px;
    font-family: var(--wpex-headline-regular-font); font-size: 2rem; font-weight: 600;
}

.vcex-button.theme-button.outline .wpex-icon {
  width: 55px;
  height: 55px;
  background-color: var(--wpex-accent);
  border-radius: 50px;
  padding: 6px;
}

.vcex-button.theme-button.outline .wpex-icon svg {
  fill:  var(--wpex-on-accent);
}
.vcex-button.theme-button.outline.secondary-color { border-color: var(--wpex-palette-66-color); color: var(--wpex-palette-66-color); }
.vcex-button.theme-button.outline.secondary-color .wpex-icon,
.vcex-button.theme-button.outline.secondary-color:hover { background-color: var(--wpex-palette-66-color); color: var(--wpex-on-accent); }


/* image banner */
.vcex-image-banner.up-style1 { background-color: transparent; min-height: 300px; }

.vcex-image-banner.up-style1 .vcex-ib-content-wrap  { padding: 40px 40px 140px 40px; z-index: 30; }

.vcex-image-banner.up-style1 .vcex-ib-content { color: var(--wpex-palette-66-color); }

.vcex-image-banner.up-style1 .vcex-ib-title { font-size: var(--wpex-text-2xl); }

.vcex-image-banner.up-style1 .vcex-ib-img { 
    background-position: center bottom; 
    background-repeat: no-repeat; 
    background-size: cover;
    z-index: 20;
}
.vcex-image-banner.up-style1:hover .vcex-ib-img { background-position: center top; }


.vcex-image-banner.up-style1 .vcex-ib-border { z-index: 10; visibility: visible !important; opacity: 1 !important;  }

.vcex-image-banner.up-style1 .vcex-ib-border { border-width: 15px; margin: 0 !important; }
.vcex-image-banner.up-style1:hover .vcex-ib-border { margin: 15px !important; }

/* accordion & tabs */
.vc_tta-style-modern .vc_tta-panel .vc_tta-panel-heading {
  background-color: transparent !important;
}
.vc_tta.vc_tta-o-no-fill .vc_tta-panels .vc_tta-panel-body {
  background-color: transparent !important;
  background-image: none;
  border:none;
}

.vc_tta.vc_general .vc_tta-panel .vc_tta-panel-body > div:first-child { margin-top: 20px; }
.vc_tta.vc_general .vc_tta-panel .vc_tta-panel-body > div:last-child { margin-bottom: 20px; }
.vc_tta.vc_general .vc_tta-panel .vc_tta-panel-body {
    padding: 0; border:  0;
    display:block;
    max-height: 0px;
    min-height: 0px;
    transition: max-height .5s ease;
}

.vc_tta.vc_general .vc_tta-panel.vc_active .vc_tta-panel-body {
    max-height: 1000px;
}

/* Gwolle Gästebuch */
div.gwolle-gb-widget li.gwolle-gb-widget {
  border: 1px #ddd solid;
  padding: 20px;
  margin-bottom: 20px;
}

div.gwolle-gb-widget li.gwolle-gb-widget .gb-author-name,
div.gwolle-gb-widget li.gwolle-gb-widget .gb-author-date-separator,
div.gwolle-gb-widget li.gwolle-gb-widget .gb-date { }

div.gwolle-gb-widget li.gwolle-gb-widget .gb-entry-content {}

div.gwolle-gb-widget li.gwolle-gb-widget .gb-entry-content a:first-child { color: var(--wpex-body-color, var(--wpex-text-2)); }


/* formulare */

.wpcf7 fieldset { margin-bottom: 1.5rem; }
.wpcf7 fieldset > legend {
    font-size: 1.2em;
    font-weight: bold;
    display: block; width: 100%; 
    border-top: 1px solid var(--wpex-palette-38-color);
    margin-bottom: 1rem;
}

.wpcf7 .formrow.labelaside { display: flex; }

.wpcf7 .formrow label { flex: 0 0 30%; }
.wpcf7 .formrow .wpcf7-form-control-wrap { flex: 0 0 70%; }

.wpcf7 .formrow.input-width-s label { flex: 0 0 80%; }
.wpcf7 .formrow.input-width-s .wpcf7-form-control-wrap { flex: 0 0 20%; }

.wpcf7-checkbox .wpcf7-list-item {
    margin-left: 0;
    width: 100%
}