/**
 * Theme Name:   Baumstieger Zahnärzte
 * Theme URI:    https://felixkausmann.de/
 * Description:  Enthält individuelle Design-Anpassungen Ihrer Webseite.
 * Author:       Felix Kausmann
 * Author URI:   https://felixkausmann.de/
 * Template:     hello-elementor
 * Version:      1.0
 */


/*----------------------------
 >>> INHALTSVERZEICHNIS:
 -----------------------------

 # Typografie
    ## Überschriften
    ## Fließtext
	## Links

 # Layout
 	## Design Grid
	## Footer

 # Besondere Abschnitte
	## Loop Item
	## Tag Shortcode
	## Hero Abschnitt
	## Mitarbeiter Vita

 # Plugins
	## Borlabs

 ---------------------------*/


/**
 * Standard Breakpoints:
 * 
 * Desktop:	ab 1025px 
 * Tablet: von  768px bis 1024px
 * Mobil:			  bis  767 px
 */


/*============================
# Typografie
============================*/


/*--------------------
## Überschriften
--------------------*/


/* Balanciere Text bei Überschriften mit Zeilenumbruch besser aus */

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.fk-balance-text {
	/*max-inline-size: 40ch;  Fallback für Safari -> oder max-width: 40ch; */
    text-wrap: balance;
    
}


/* Definiere Abstände für Blog-Beiträge sowie rechtliche Seiten */

.elementor-widget-text-editor :is(h2, h3, h4, h5, h6),
.elementor-widget-theme-post-content :is(h2, h3, h4, h5, h6) {
	margin-top: 2em;
	max-width: none;
	max-inline-size: none;
}


/* Entferne Abstand nach oben bei erstem Element */

.elementor .elementor-widget-theme-post-content .elementor-widget-container>*:first-child,
.elementor .elementor-widget-text-editor .elementor-widget-container>*:first-child {
	margin-top: 0;
}


/* Reduziere Typescale für Blog-Beiträge sowie rechtliche Seiten */

.elementor-widget-text-editor h2,
.elementor-widget-theme-post-content h2 {
	font-size: var( --e-global-typography-text-font-size );
}
.elementor-widget-text-editor :is(h3, h4, h5, h6),
.elementor-widget-theme-post-content :is(h3, h4, h5, h6) {
	font-size: var( --e-global-typography-secondary-font-size );
	
}


/*--------------------
## Fließtext
--------------------*/


/* Korrigiere Abstand nach Text-Abschnitten und Aufzählungs-Elementen */

.elementor .elementor-widget-text-editor p,
.elementor .elementor-widget-text-editor li,
.elementor .elementor-widget-theme-post-content p,
.elementor .elementor-widget-theme-post-content li {
    margin-bottom: 1em;
}

.elementor .elementor-widget-text-editor p:last-child,
.elementor .elementor-widget-text-editor ul:last-child li:last-child,
.elementor .elementor-widget-text-editor ol:last-child li:last-child,
.elementor .elementor-widget-theme-post-content p:last-child,
.elementor .elementor-widget-theme-post-content ul:last-child li:last-child,
.elementor .elementor-widget-theme-post-content ol:last-child li:last-child {
    margin-bottom: 0;
}


/*--------------------
## Links
--------------------*/


/* Unterstreiche Links im Fließtext */

.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a,
.elementor-widget-post-comments a,
.elementor-widget-form .elementor-field-type-html a {
    text-decoration: underline;
}


/* Unterstreiche andere Links erst beim Hovern */
/* .elementor-widget-posts a:not(.elementor-button):hover,
 a:not(.elementor-button):hover,*/
.elementor-location-header .secondary-header a:hover,
.elementor-location-footer .elementor-widget-heading a:hover,
.elementor-location-footer .elementor-widget-nav-menu a:hover,
.elementor-widget-icon-list a:hover .elementor-icon-list-text,
.elementor-widget-sp-breadcrumbs a:hover {
    text-decoration: underline;
}

/* Setze Farben der Links auf Textfarbe zurück */

.elementor-widget-form .elementor-field-type-html a {	
	color: inherit;
}


/* Außer bei Headings im FAQ Bereich */
.elementor-widget-n-accordion .elementor-widget-heading .elementor-heading-title {
	text-wrap: unset;
}
.elementor-widget-n-accordion .elementor-widget-heading .elementor-heading-title a {
    text-decoration: underline;
    color: var( --e-global-color-accent );
}
.elementor-widget-n-accordion .elementor-widget-heading .elementor-heading-title a:hover {
    color: var( --e-global-color-text );
}




/*============================
# Layout
============================*/


/* Absicherung gegen horizontales Scrollen auf Smartphones */

.site-main,
.elementor-location-footer {
    overflow-x: hidden;
}


/*----------------------------
## Design Grid
----------------------------*/

/**
 * Abstände gemäß No Stress WordPress Layout System
 *
 * https://www.nostresswp.co/wp-content/uploads/course/v2/NSWP-Layout-System-cheatsheet-v2.pdf
 */


/* Äußere Container: 120px Padding oben und unten (mobil 80px) - überschreibbar */

.e-con-boxed {
    --padding-top: 80px;
    --padding-bottom: 80px;
}

@media (max-width: 767px) {
    .e-con-boxed {
        --padding-top: 40px;
        --padding-bottom: 40px;
    }
}


/* 40px Padding rechts und links (mobil 20px) - NICHT überschreibbar */

.e-con-boxed {
    padding-right: 40px;
    padding-left: 40px;
}

@media (max-width: 767px) {
    .e-con-boxed {
        padding-right: 20px;
        padding-left: 20px;
    }
}


/* Erweitere Boxed Content mit Rahmen bei Bedarf mobil auf ganze Breite */

.fk-stretch-mobile {
    width: calc(100% + 40px);
    margin: 0 -20px;
}


/*--------------------
## Footer
 --------------------*/


/* Schiebe Footer an unteren Bildschirmrand, falls Seiteninhalt zu kurz */

body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
}

body.admin-bar {
    min-height: calc(100vh - 32px);
}

.elementor-location-footer {
    margin-top: auto;
}




/*============================
# Besondere Abschnitte
============================*/


/*--------------------
## Loop Item
--------------------*/

@media (min-width: 768px) {
	
	/* Passe Höhe zeilenweise an */
	.elementor-widget-loop-grid .e-loop-item .e-child {
		height: 100%;
	}
}

/* Korrigiere Abstände rund um Bild */
.elementor-widget-loop-grid .elementor-widget-image a {
	display: block;
}


/*--------------------
## Tag Shortcode
--------------------*/

.elementor-widget-shortcode:has(.elementor-shortcode:empty),
.elementor-widget-shortcode:has(.fk-tags:empty) {
	display: none;
}

.fk-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 7px;
    list-style: none;
    padding: 0;
}

.fk-tags li a {
	display: block;
	padding: 0.4em 0.6em;
	font-size: var(--e-global-typography-93a2e8b-font-size);
    line-height: var(--e-global-typography-93a2e8b-line-height);
    color: var(--e-global-color-6401b56a);
    border: 1px solid var(--e-global-color-6f948f2e);
	border-radius: 50px;
}

.fk-tags li a:hover,
.fk-tags li a:focus {
    color: var( --e-global-color-accent );
    border-color: var( --e-global-color-accent );
}

.fk-tags .current_page_parent a {
	color: var(--e-global-color-6f948f2e);
    font-size: var(--e-global-typography-deb142e-font-size);
    font-weight: var(--e-global-typography-deb142e-font-weight);
    letter-spacing: var(--e-global-typography-deb142e-letter-spacing);
	padding: 0;
	border: 0;
	margin-right: 10px;
}


/*--------------------
## Hero Abschnitt
--------------------*/

.fk-hero.e-con {
	background-color: var(--e-global-color-cf8833c);
	--flex-direction: row;
	--container-widget-align-self: stretch;
    --justify-content: flex-end;
    --align-items: center;
    /*--gap: 80px;*/
    --column-gap: 80px;
    --row-gap: 80px;
	--min-height: 500px;
}

.fk-hero .e-child {
	--width: 640px;
	--padding-left: 40px;
	--padding-top: 80px;
    --padding-bottom: 80px;
}

.fk-hero .elementor-widget-image {
	--align-self: stretch;
	--flex-grow: 0;
    --flex-shrink: 0;
	width: calc(50% - 40px);
	
	width: var(--container-widget-width, calc(50% - 40px));
	--container-widget-width: calc(50% - 40px);
	
}

.fk-hero .elementor-widget-image img {
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

@media (max-width: 1024px) {
    .fk-hero.e-con {
        --flex-direction: column;
    }
	.fk-hero .e-child {
		--width: 100%;
		--padding-right: 40px;
    	--padding-bottom: 0;
	}
	.fk-hero .elementor-widget-image {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.fk-hero.e-con {
		/*--gap: 40px;*/
        --column-gap: 40px;
        --row-gap: 40px;
	}
    .fk-hero .e-child {
		--padding-right: 20px;
		--padding-left: 20px;
    	--padding-top: 40px;
	}
}*/


/*--------------------
## Mitarbeiter Vita
--------------------*/

/* Style HTML Tabelle */

.single-mitarbeiter table td,
.single-mitarbeiter table th {
	border: 1px solid hsla(0,0%,50%,.2);
    border-left-width: 0;
	border-right-width: 0;
	padding: 15px 0;
}

.single-mitarbeiter table tbody tr td,
.single-mitarbeiter table tbody tr th {
    background: none;
}

@media (min-width: 768px) {
	.single-mitarbeiter th td:first-child,
	.single-mitarbeiter tr td:first-child {
		width: 13ch;
	}
}


/*--------------------
## Behandlung
--------------------*/

/* FAQ Überschriften Reset */

.e-n-accordion h2,
.e-n-accordion h3 {
	font-weight: inherit;
}




/*============================
# Plugins
============================*/


/*----------------------------
## Borlabs
----------------------------*/


/* Ändere Cursor bei Cookie-Einstellungen Link */

.borlabs-cookie-preference a {
    cursor: pointer;
}