html {
	font-family: var(--font-sans);
	font-weight: var(--font-weight-text);
	line-height: 1.15;
	box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	scroll-behavior: smooth;
	scroll-padding-top: 180px;
	background: var(--color-white);

	@media (prefers-reduced-motion: reduce) {
		scroll-behavior: auto;
	}
}

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

body {
	margin: 0;
	font-size: var(--font-size-100);
	color: var(--text-color-primary);

	&.is-disable-scroll {
		overflow: hidden;
	}
}

svg {
	width: 100%;
	height: 100%;
	fill: currentColor;
}

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
    padding: 0;
    border: 0;
    margin: 0;
    vertical-align: baseline
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: 1.4;
  margin: 0;
}

button {
	color: inherit;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

button:focus-visible {
	outline: var(--border-support-focused) solid var(--support-color-focused);
}

button,
input {
  overflow: visible;
}

textarea::placeholder,
input::placeholder {
	font-family: var(--font-sans);
	color: var(--text-color-secondary);
	font-size: var(--font-size-100);
	font-weight: var(--font-weight-text);
}

abbr {
	text-decoration: none;
}

.visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute!important;
	white-space: nowrap;
	width: 1px;
}

.screen-reader {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    font-size: 0;
    width: 1px;
    word-wrap: normal !important;
}

.skip-to-content {
    overflow: hidden;

    a {
        position: absolute;
        top: -9999px;
        color: var(--color-white);
        z-index: 9999;
        background: var(--color-black);
    }

    a:focus {
        position: relative;
        top: 0;
        display: inline-block;
        padding: 0.5rem 1rem;
        border: none;
    }
}

.main-content {
    margin: var(--space-300) var(--layout-gap) var(--space-600);

	word-break: break-word;

	* {
		margin-bottom: var(--space-50);
	}

	& > *:first-child {
		margin-top: 0;
	}

	& > h1 {
		margin-bottom: var(--space-100);
	}

	& > h2 {
		&:not(:first-child) {
			margin-top: var(--space-300);
			margin-bottom: var(--space-50);
		}
	}

	& > h3 {
		&:not(:first-child) {
			margin-top: var(--space-300);
			margin-bottom: var(--space-50);
		}
	}

	& > h4 {
		&:not(:first-child) {
			margin-top: var(--space-300);
			margin-bottom: var(--space-50);
		}
	}

	& > h5 {
		&:not(:first-child) {
			margin-top: var(--space-300);
			margin-bottom: var(--space-50);
		}
	}

	& > p {
		margin-top: var(--space-50);
		margin-bottom: var(--space-100);
	}

	& > p + p {
		margin-top: var(--space-100);
	}

	& > ul, & > ol {
		margin-top: var(--space-100);
		margin-left: 1.2rem;

        li {
            font-size: var(--font-size-100);
            line-height: 1.5;
        }

        li + li {
            margin-top: var(--space-50);
        }
	}

	& > a {
		display: inline;
	}

	*:last-child {
		margin-bottom: 0;
	}

    & > h1,
    & > h2,
    & > h3,
    & > h4,
    & > h5,
    & > p,
    & > ol,
    & > ul {
        max-width: var(--layout-text);
    }

    & > .svk-block {
        margin-top: var(--space-300);
    }
}
