/*
 Theme Name:   Hello Elementor - Child
 Description:  Elementor Child Theme
 Author:       smic!
 Author URI:   https://smic-marketing.de 
 Template:     hello-elementor
 Version:      1.0
 Text Domain:  hello-elementor--child
*/

/*@import url("animation.css");*/

/* 
 *
 *
 * Roots
 * -------------------------------------------------------------------------- */
:root {

    /* Spacing */
    --custom-h-spacer: clamp(40px, calc(100% / 12), 120px);
    --custom-v-spacer: min(10%, 180px) !important;

    /* Fonts */
    --custom-headline-h0: clamp(48px, calc(3rem + ((1vw - 3.6px) * 3.8889)), 90px);
    --custom-headline-h1: clamp(36px, calc(2.25rem + ((1vw - 3.6px) * 3.3333)), 72px);
    --custom-headline-h1: clamp(36px, calc(2.25rem + ((1vw - 3.6px) * 2.2222)), 60px);
    --custom-headline-h2: clamp(36px, calc(2.25rem + ((1vw - 3.6px) * 2.2222)), 60px);
    --custom-headline-h3: clamp(21px, calc(1.3125rem + ((1vw - 3.6px) * 0.5556)), 27px);
    --custom-headline-h4: clamp(18px, calc(1.125rem + ((1vw - 3.6px) * 0.2778)), 21px);
    --custom-headline-h5: clamp(16px, calc(1rem + ((1vw - 3.6px) * 0.1852)), 18px);
}

/* 
 *
 *
 * Default
 * -------------------------------------------------------------------------- */
*,
*:focus {
    outline: none !important;
}
body > header > .e-con {
    padding-left: var(--custom-h-spacer) !important;
    padding-right: var(--custom-h-spacer) !important;
}
body > main > .page-content > .elementor > .elementor-element {
    padding-left: var(--custom-h-spacer) !important;
    padding-right: var(--custom-h-spacer) !important;
}
body > main > .page-content > .elementor > .gallery-caption {
    padding-left: var(--custom-h-spacer) !important;
    padding-right: var(--custom-h-spacer) !important;
}
body > .elementor-location-archive > .e-con {
    padding-left: var(--custom-h-spacer) !important;
    padding-right: var(--custom-h-spacer) !important;
}
body > article > .e-con {
    padding-left: var(--custom-h-spacer) !important;
    padding-right: var(--custom-h-spacer) !important;
}
body .popup-navigation-overlay .dialog-message {
    padding-left: var(--custom-h-spacer) !important;
    padding-right: var(--custom-h-spacer) !important;
}
body > footer > .e-con {
    padding-left: var(--custom-h-spacer) !important;
    padding-right: var(--custom-h-spacer) !important;
}
.e-con.e-parent.nopadding {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
}
.space-top {
    padding-top: var(--custom-v-spacer) !important;
}
.space-bottom {
    padding-bottom: var(--custom-v-spacer) !important;
}
.halfspace-top {
    padding-top: calc(var(--custom-v-spacer) / 2) !important;
}
.halfspace-bottom {
    padding-bottom: calc(var(--custom-v-spacer) / 2) !important;
}
.elementor .h0 * {
    font-size: var(--custom-headline-h0);
    min-height: 0vw;
}
.elementor h1,
.elementor .h1 * {
    font-size: var(--custom-headline-h1);
    line-height: 1.1;
    text-transform: uppercase;
    min-height: 0vw;
}
.elementor h2,
.elementor .h2 * {
    font-size: var(--custom-headline-h2);
    line-height: 1.1;
    text-transform: uppercase;
    min-height: 0vw;
}
.elementor h3,
.elementor .h3 * {
    font-size: var(--custom-headline-h3);
    line-height: 1.3;
    min-height: 0vw;
}
.elementor h4,
.elementor .h4 * {
    font-size: var(--custom-headline-h4);
    line-height: 1.4;
    min-height: 0vw;
}
.elementor h5,
.elementor .h5 * {
    font-size: var(--custom-headline-h5);
    min-height: 0vw;
}
.elementor h6,
.elementor .h6 * {
    font-size: var(--custom-headline-h5);
    min-height: 0vw;
}



/*
 *
 *
 * Texte > Impressum/Datenschutz
 * -------------------------------------------------------------------------- */
#rechtliches,
.rechtliches {
    line-height: 1.4;
}
#rechtliches h1,
.rechtliches h1 {
    font-size: 2.4rem !important;
}
#rechtliches h2,
.rechtliches h2 {
    font-size: 1.6rem !important;
}
#rechtliches h3,
.rechtliches h3 {
    font-size: 1.4rem !important;
}
#rechtliches h4,
.rechtliches h4 {
    font-size: 1.25rem !important;
}
#rechtliches h5,
.rechtliches h5 {
    font-size: 1.125rem !important;
}
#rechtliches p,
.rechtliches p {
    font-size: 1rem !important;
}
#rechtliches ul li,
.rechtliches ul li {
    line-height: 1.4;
    font-size: 0.85rem !important;
}



/*
 *
 *
 * Form > Buchung
 * -------------------------------------------------------------------------- */
.elementor-field-group .elementor-select-wrapper select,
.elementor-field-group input[type="text"],
.elementor-field-group input[type="email"],
.elementor-field-group input[type="date"],
.elementor-field-group input[type="tel"],
.elementor-field-group textarea {  
    display: flex;
    box-sizing: border-box;
    line-height: 1.6 !important;
    padding: 1em 2em !important;
    margin: 0;
    border: 0;
    width: 100%;
    min-height: auto;
    height: auto !important;
    font-size: .85em !important;
    background: #00000022 !important;
    outline: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #ffffff44 !important;
    color: #ffffff !important;
}
.elementor-field-group .elementor-select-wrapper select option {
    color: #000 !important;
    line-height: 1.6 !important;
    padding: 1em 2em !important;
}
.elementor-field-group button   {  
    display: block;
    box-sizing: border-box;
    line-height: 1.6 !important;
    padding: 1.25em 2.5em !important;
    font-weight: 500 !important;
    margin: 0;
    border: 0;
    min-height: auto;
    height: auto !important;
    outline: none;
    font-size: 1em !important;
}
.elementor-field-group button:hover   {
    background: var(--e-global-color-706d5ee) !important;
}
.elementor-field-group > label {
    display: block;
    margin-bottom: 6px;
}
