/***************************************************************************
* Basics
****************************************************************************/
body {
    font-family: 'Inter',sans-serif;
    /*font-family: "futura-pt", sans-serif;*/
    font-weight: 400;
    color: var(--typo-color-text);
}
p { line-height: 1.5; margin-bottom: var(--typo-gap);}

.p {
	font-family: 'Inter',sans-serif;
    font-weight: 400;
	font-size: 1em;
	margin-bottom: var(--typo-gap);
}

.wrapper .underline { text-decoration: underline; }
.wrapper .font_weight_normal { font-weight: 400;}


/***************************************************************************
* Last ELements
****************************************************************************/
p:last-child { margin-bottom: 0;}
.content_title p:last-child { margin-bottom: 1em;}

/***************************************************************************
* Headlines
****************************************************************************/
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: 'Source Serif 4';
    font-weight: 400; font-style: normal; line-height: 1.2;
    color: inherit;
}

h1, .h1 { margin-bottom: calc(var(--typo-gap) * 2);}
h2, .h2 { margin-bottom: calc(var(--typo-gap) * 2);}
h3, .h3 { margin-bottom: var(--typo-gap);}
h4, .h4 { margin-bottom: var(--typo-gap);}
h5, .h5 { margin-bottom: var(--typo-gap);}
h6, .h6 { margin-bottom: var(--typo-gap);}

h1:not(:first-child), .h1:not(:first-child) { margin-top: calc(var(--typo-gap) * 4);}
h2:not(:first-child), .h2:not(:first-child) { margin-top: calc(var(--typo-gap) * 4); }
h3:not(:first-child), .h3:not(:first-child) { margin-top: calc(var(--typo-gap) * 2);}
h4:not(:first-child), .h4:not(:first-child) { margin-top: calc(var(--typo-gap) * 2); }
h5:not(:first-child), .h5:not(:first-child) { margin-top: calc(var(--typo-gap) * 2);}
h6:not(:first-child), .h6:not(:first-child) { margin-top: calc(var(--typo-gap) * 2); }


.wrapper .p { margin-top: 0;}

/***************************************************************************
* Font Sizes
****************************************************************************/
.primary_title > *:not(p),.h1, h1 {font-size: var(--typo-font-size-h1); line-height: 1.2}
.secondary_title > *:not(p),.h2, h2 {font-size: var(--typo-font-size-h2);}
.tertiary_title > *:not(p),.h3, h3 {font-size: var(--typo-font-size-h3);}
.quaternary_title > *:not(p),.h4, h4 {font-size: var(--typo-font-size-h4); line-height: 1.2}
.h5, h5 {font-size:1em; text-transform: uppercase;}
.h6, h6 {font-size:1em;}


.small_text p,
.small_text ul,
.small_text ol,
.small_text a {
    font-size: var(--typo-font-size-small);
}


.h1_as_h2 .h1, .h1_as_h2 h1 { font-size: var(--typo-font-size-h2); }
.h2_as_h3 .h2, .h2_as_h3 h2 { font-size: var(--typo-font-size-h3); }

.content_section {
    font-size: var(--typo-font-size-default);
}


/***************************************************************************
* Border Bottom
****************************************************************************/
.title_border {
    position: relative;
    margin-bottom: calc(var(--typo-gap) * 2);
}
.title_border.add_gap {
    margin-bottom: calc(var(--typo-gap) * 4);
}
.title_border:after {
    content: ''; position: absolute; left: 0;
    bottom: calc(var(--typo-gap) * -2);
    width: 0%; transition: all 1.25s ease;
    background-color: currentColor;
    height: 1px;
}
.text-center .title_border:after {
    left: 50%; transform: translateX(-50%);
}
.start_anim .title_border:after {
    width: 100%;
    transition-delay: 1s;
}
@media screen and (min-width: 40em){
    .title_border:after { max-width: calc(100svw * 0.5);}
}
@media screen and (min-width: 64em){
    .title_border:after { max-width: calc(100svw * 0.33);}
}
@media screen and (min-width: 90em){
    .title_border:after { max-width: calc(100svw * 0.25);}
}



/***************************************************************************
* Content Title
****************************************************************************/
.content_title > *:not(:first-child){
    margin-top: 0;
}
.content_title > *:first-child:not(:last-child) {
    margin-bottom: 0;
}


/***************************************************************************
* Blockquote
****************************************************************************/
blockquote p {
    font-size: var(--typo-font-size-h3);
    font-weight: 300;
    line-height: 1.3;
}
blockquote p:last-child:not(:first-child) {
    font-size: inherit;
}