/*!
 * This file is part of Contao.
 *
 * (c) Leo Feyer
 *
 * @license LGPL-3.0-or-later
 */

:root{
	
    --fw-thin: 100;
    --fw-extralight: 200;
    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

    --fs-special: 2.04rem;
	--fs-h1: 1.48rem;
	--fs-h2: 2rem;
	--fs-h3: 1.4rem;
	--fs-h4: 1.2rem;

	--c-fontcolor: #000000;
    --c-pink: #EA70A8;
    --c-mint: #1497A7;

	--tt: .3s;
	--grid__gutter: 1.25rem;
}


/**
 * Fix rendering HTML5 elements in IE
 */
header,footer,nav,section,aside,main,article,figure,figcaption {
	display:block;
}

/**
 * Reset the margin and padding of the block elements
 */
body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea {
	margin:0;
	padding:0;
}

html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}



/**
 * Basic element formatting
 */
table {
	border-spacing:0;
	border-collapse:collapse;
}
caption,th,td {
	text-align:left;
	text-align:start; /* see #4596 */
	vertical-align:top;
}
abbr,acronym {
	font-variant:normal;
	border-bottom:1px dotted #666;
	cursor:help;
}
blockquote,q {
	quotes:none;
}
fieldset,img,iframe {
	border:0;
    display:block;
}
ul {
	list-style-type:none;
}
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}
del {
	text-decoration:line-through;
}
ins {
	text-decoration:none;
}

@media (prefers-reduced-motion: no-preference) {
    :has(:target) {
        scroll-behavior: smooth;
        scroll-padding-top: 14rem;
    }
}
/**
 * Default font settings
 */

html {
	font-size:clamp(15px, 2.5vw, 27px);
	font-family: "JosefinSans";
	color:var(--c-fontcolor);
	font-weight:var(--fw-extralight);
	line-height:1.2;
	letter-spacing: .05rem;
}

input,button,textarea,select {
	font-family:inherit;
	font-size:99%;
	font-weight:inherit;
}
pre,code {
	font-family:Monaco,monospace;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
	line-height:1em;
}
h1 {
	font-weight:var(--fw-medium);
	font-size:var(--fs-h1);
}
h2 {
	font-weight:var(--fw-light);
	font-size:var(--fs-h2);
}
h3 {
	font-weight:var(--fw-thin);
	font-size:var(--fs-h3);
}
h4 {
	font-size:1.3333em; /* 16px */
}
table {
	font-size:inherit;
}
caption,th {
	font-weight:bold;
}
a {
	color:inherit;
	text-decoration:none;
}

/**
 * Default margins
 */
h1,h2,h3,h4,h5,h6 {
	margin-bottom:1em;
}

p:not(:last-child),
ul:not(:last-child),
ol:not(:last-child),
table:not(:last-child){
	margin-bottom:1rem;
}

strong{
	font-weight:var(--fw-regular);
}


/**
 * Hide invisible elements
 */
.invisible {
	border:0;
	clip:rect(0 0 0 0);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
}

/**
 * Custom layout sections
 */
.custom {
	display:block;
}
#container:after,.custom:after {
	content:"";
	display:table;
	clear:both;
}