@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-VariableFont_wdth,wght.ttf');
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-VariableFont_opsz,wght.ttf');
}
    
:root{


    /* color ThFV-Base */
    --thfv-rot: #CA2121;
    --thfv-rot-dark: #A81B1B;
    --thfv-rot-superdark:#8E1E1E;
    --thfv-rot-light: #E65A5A;
    --thfv-rot-superlight:#f29f90;
    --thfv-rot-extralight: #eeb4b4;

    /* color ThFV */
    --primary:var(--thfv-rot);
    --main:var(--thfv-rot);
    --dark: var(--thfv-rot-dark);
    --superdark:var(--thfv-rot-superdark);
    --light: var(--thfv-rot-light);
    --weak:var(--thfv-rot-superlight);
    --main-bg: var(--thfv-rot-extralight);    

    /* Neutral */
    --pagebg: #FFFFFF;
    --bg-alt: #F4F4F4;
    --text:#444;
    --text-dark: #1A1A1A;
    --muted: rgb(103, 107, 126);
    --line: #D6D6D6;
    --bg-weak:rgb(247, 247, 247); 


    /* Akzente */
    --warning: #FFB400;
    --warning-light:#F9E2AC;
    --success: #3CA65B;
    --success-light:rgba(60, 166, 91,0.5);
    --error: #B40000;
    --error-light:rgba(180, 0, 0,0.5);

    /* Sonstiges */
    --container: 1280px;
    --shadow:0 4px 4px 0 rgba(0,0,0,0.25);
    --text-shadow: 3px 3px 6px var(--text);
    --trans-l: 0.5s linear;
    --trans-all:all 0.5s linear;
    --radius:15px;
    --border:2px solid var(--dark);
}
html{
    font-size: calc(15px + 0.3125vw);
}
body{
    font-family: 'Inter';
    color: var(--text);
    font-size: 1rem;
	font-weight: 400;
	line-height:1.12em;
	background-color:var(--pagebg);
}
a{
    text-decoration: none;
    color: var(--text);
}
a:hover{
    color:var(--main);
}
.flex{
    display:flex;
}
.wrap{
    flex-wrap: wrap;
}
.container{ 
    max-width: var(--container); 
    margin-inline: auto; 
}
.hide{
    height: 0;
    visibility: hidden;
}
.show{
    height: auto;
    max-height: max-content;
    visibility: visible;
    transition: var(--trans-all);
}
.underline{
    text-decoration: underline;
}
img{
    display:block;
    width: 100%;
    height: auto;
}
.text-formatted img{
    width: revert-layer;
    max-width: 100%;
    margin: 0.25em 0 1em;
}
.text-formatted img.align-center{
    margin: 0.25em auto 1em;
}
.text-formatted img.align-left{
    margin: 0.25em 1em 0.5em 0;
}
.text-formatted img.align-right{
    margin: 0.25em 0 0.5em 1em;
}
h1,h2,h3,h4,h5,h6,strong,.strong{
    color: var(--text-dark);
    font-weight: 600;
}
h1{
    font-size: 2rem;
    line-height: 1.2em;
}
h2{
    font-size: 1.5rem;
    line-height: 1.2em;
}
h3{
    font-size: 1.2rem;
    line-height: 1.2em;
}
p{
    margin: 0 0 1rem;
    line-height: 1.5em;
}
ul,ol{
    padding-left: 1.5em;
}
.third{
    width:clamp(350px,33%,350px);   
}
.two-thirds{
    width:clamp(350px,66%,700px); 
}
.half,
.paragraph.half{
    width:clamp(485px,48%,615px);
}
.quarter{
    width:clamp(240px,24%,275px);   
}
.three-quarters{
    width:clamp(350px,70%,800px);   
}
.views-row{
    position: relative;
}
.views-row .edit {
  top: 10px;
  right: 15px;
  position: absolute;
  z-index: 5;
  width: 100%;
  max-width: 80px;
  height: auto;
  border: var(--line);
  border-radius: 4px;
}
.views-row .edit a {
  background-color: #fff;
  border: 1px solid var(--line);
  border-radius: 3px;
  display: block;
  padding: 3px 8px;
  color: var(--muted);
  font-size: 0.6rem;
}
.views-row .edit {
  display: none;
}
.user-logged-in .views-row:hover .edit {
  display: block;
}
.views-row .edit:hover a {
  color: var(--success);
  border-color: var(--success);
}
.text-formatted ul li{
    margin-bottom: 0.75em;
    line-height: 1.4em;
}
.external {
  background: transparent url(/sites/shared/files/images/icons/display_external_input.svg) no-repeat 0 0;
}
.block-blockgroup{
    width: 100%;
}
.block-blockgroup .block-content{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 10px;
    row-gap: 50px;
    min-height: 300px;
    align-items: stretch;
}
.drupal-layout .layout--twocol{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
    "top top"
    "first second"
    "bottom bottom";
    column-gap: 30px;
}
.drupal-layout .layout--twocol .layout__region--top{
    grid-area: top;
}
.drupal-layout .layout--twocol .layout__region--first{
    grid-area: first;
}
.drupal-layout .layout--twocol .layout__region--second{
    grid-area: second;
}
.drupal-layout .layout--twocol .layout__region--bottom{
    grid-area: bottom;
}
.drupal-layout .layout--threecol-33-34-33{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
}
.drupal-layout .layout--threecol-33-34-33 .layout__region--top{
    grid-column: span 3 / span 3;
}
.drupal-layout .layout--threecol-33-34-33 .layout__region--first{
    grid-row-start: 2;
}
.drupal-layout .layout--threecol-33-34-33 .layout__region--second{
    grid-row-start: 2;
}
.drupal-layout .layout--threecol-33-34-33 .layout__region--third{
    grid-row-start: 2;
}
.drupal-layout .layout--threecol-33-34-33 .layout__region--bottom{
    grid-column: span 3 / span 3;
}
.drupal-layout .layout--threecol-25-50-25{
    display: grid;
    grid-template-columns: 25% 50% 25%;
    column-gap: 30px;
}
.drupal-layout .layout--threecol-25-50-25 .layout__region--top{
    grid-column: span 3 / span 3;
}
.drupal-layout .layout--threecol-25-50-25 .layout__region--first{
    grid-row-start: 2;
}
.drupal-layout .layout--threecol-25-50-25 .layout__region--second{
    grid-row-start: 2;
}
.drupal-layout .layout--threecol-25-50-25 .layout__region--third{
    grid-row-start: 2;
}
.drupal-layout .layout--threecol-25-50-25 .layout__region--bottom{
    grid-column: span 3 / span 3;
}
.ui-dialog .ui-dialog-title{
    height: 1.25em;
    line-height: 1.25em;
    font-size: 1.5rem;
    hyphens: auto;
}
.ui-widget.ui-widget-content{
    max-width: 90vw;
    font-size: 80%;
}
.sliding-popup-bottom{
    width:100%;
}
.eu-cookie-compliance-banner{
    background-color: var(--primary);
}
.eu-cookie-compliance-banner button{
    background-color: var(--pagebg);
    border: var(--border);
    border-radius:5px;
    padding: 0.5em 0.75em;
    color: var(--dark);
    transition: var(--trans-all);
    box-shadow: var(--shadow);
    display: inline-block;
    text-align: center;
    line-height: 1.25em;
    margin: 1em 0;
}
.eu-cookie-compliance-banner button:hover{
    background-color: var(--main);
    color: var(--pagebg);
    border-color: var(--main);
    cursor: pointer;
}
.eu-cookie-withdraw-tab{
    top:0;
    left:0;
    transform: none;
}
.eu-cookie-compliance-content{
    color: var(--bg-alt);
}
.eu-cookie-withdraw-tab{
    top:-100px;
    text-indent:-9999px;
    background: none;
    border: none;
}
.eu-cookie-withdraw-tab:after{
    content: ' ';
    background: transparent url('/themes/custom/thfv/images/icons/shield_toggle.svg') no-repeat 0 0;
    width: 50px;
    height: 50px;
    text-indent: 0;
    display: block;
}
@media (max-width:768px){
    .half, .paragraph.half{
        width: 100%;
        margin: 0 auto;
        max-width: 675px;
    }
    .block-blockgroup .block-content{
        justify-content: center;
    }
}
@media (max-width:576px){
    h1,h2,h3,h4,h5,h6{
        hyphens: auto;
        hyphenate-limit-chars: 7 3 4;
    }
}
@media (max-width:465px){
    .quarter{
    width:clamp(175px,100%,275px);   
    }
    .three-quarters{
        width:clamp(280px,100%,850px);   
    }
}