@font-face {font-family: "SchulbuchNord-Fett";
    src: url("../fonts/c1cfb2faf86e3cdd87f405c253f441ea.eot"); /* IE9*/
    src: url("../fonts/c1cfb2faf86e3cdd87f405c253f441ea.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("../fonts/c1cfb2faf86e3cdd87f405c253f441ea.woff2") format("woff2"), /* chrome、firefox */
    url("../fonts/c1cfb2faf86e3cdd87f405c253f441ea.woff") format("woff"), /* chrome、firefox */
    url("../fonts/c1cfb2faf86e3cdd87f405c253f441ea.ttf") format("truetype"), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
    url("../fonts/c1cfb2faf86e3cdd87f405c253f441ea.svg#SchulbuchNord-Fett") format("svg"); /* iOS 4.1- */
    font-display: swap;
}
@font-face {font-family: "SchulbuchNord-Normal";
    src: url("../fonts/d5602f17c9a87a5d481fed02232c44b9.eot"); /* IE9*/
    src: url("../fonts/d5602f17c9a87a5d481fed02232c44b9.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
    url("../fonts/d5602f17c9a87a5d481fed02232c44b9.woff2") format("woff2"), /* chrome、firefox */
    url("../fonts/d5602f17c9a87a5d481fed02232c44b9.woff") format("woff"), /* chrome、firefox */
    url("../fonts/d5602f17c9a87a5d481fed02232c44b9.ttf") format("truetype"), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
    url("../fonts/d5602f17c9a87a5d481fed02232c44b9.svg#SchulbuchNord-Normal") format("svg"); /* iOS 4.1- */
    font-display: swap;
}

*, ::after, ::before {padding: 0; margin: 0; box-sizing: border-box;}
html {font-size: 15px; scroll-behavior: smooth;}
body {background: white; color: #231f20; font-size: 2.5rem; line-height: 1.25; font-family: "SchulbuchNord-Normal", sans-serif;}
a {color: #231f20; text-decoration: none; }
h1,h2,h3 {line-height: 0.8; font-size: 8rem; font-family: "SchulbuchNord-Fett", sans-serif; font-weight: normal; padding: 1.35rem 0;}
h3 {text-transform: uppercase; font-size: 2rem; line-height: 1.1; font-family: "SchulbuchNord-Normal", sans-serif;}
img {width: 100%; max-width: 100%; display: block;}
.container {margin: 0 auto; padding: 0 3vw; max-width: calc(94rem + 6vw);}

.content p a {text-decoration: none; position: relative; display: inline-block; white-space: nowrap;} 
.content p a:not([href^="mailto:"])::before {content: ""; position: absolute; bottom: 0.05em; width: 100%; height: 0.45em; background: rgba(44, 158, 239, 0.25); z-index: -1; transition: all 0.25s ease-in-out;}
.content p a:not([href^="mailto:"]):hover::before {height: 1.35em; margin: 0 -0.22em -0.1em; width: calc(100% + 0.5em)}

.container .container {max-width: 68rem; padding: 0;}
.section {padding: 3rem 0 7rem;}

.section.header {padding-bottom: 3rem; padding-top: 5rem; line-height: 1.1;}
.section.header .container:first-child {display: flex; justify-content: space-between;}
.section.header .container:first-child > div {display: flex; align-items: center; padding-bottom: 2.5rem; position: relative; z-index: 2;}
.section.header .container:first-child > div > a {font-family: "SchulbuchNord-Fett", sans-serif; display: block; margin-right: 1rem;}
.section.header .container:first-child > div > div:nth-child(3) {display: none;}
.section.header .container:first-child > div > div > h1 {line-height: 1.1; font-size: 2.5rem; font-family: "SchulbuchNord-Normal", sans-serif; padding: 0;}
.section.header .container:first-child > div > form input {
    display: block; 
    border: 0.15rem dotted white;
    border-bottom: 0.15rem solid #231f20;
    height: 2.2rem; 
    line-height: 2.2rem; 
    width: 19rem;
    background: transparent;
    font-family: "SchulbuchNord-Normal", sans-serif;
    font-size: 1.7rem;
    padding: 0.15rem 0.3rem;
    background: white url('/img/search.svg') calc(100% - 0.25rem) 50% / 1.4rem auto no-repeat;
}
.section.header .container:first-child button {
    background: none; 
    border-radius: 0; 
    border: 0; 
    width: 3.6rem; 
    height: 2.1rem;
    margin-left: 1.65rem; 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    position: relative;
    transform-origin: 100% 50%;
}
.section.header .container:first-child > div > form input:focus {border-color: #231f20; outline: none;}

.section.header .container:first-child button span {display: block; height: 0.333rem; background: #231f20; width: 100%;}
.menuopen .section.header .container:first-child button span {position: absolute; left: 0.75rem; height: 0.45rem; top: 50%; transform: translateY(-50%) rotate(45deg) scale(0.71); width: 100%; background: #231f20;}
.menuopen .section.header .container:first-child button span:nth-child(2) {display: none;}
.menuopen .section.header .container:first-child button span:last-child {transform: translateY(-50%) rotate(-45deg) scale(0.71);}
body.menuopen .section.header .container:first-child > div > div:nth-child(2) {display: none;}
body.menuopen .section.header .container:first-child > div > div:nth-child(3) {display: block;}
body.menuopen .section, body.menuopen .headerimage, body.menuopen .title, body.menuopen #search {display: none;}
body.menuopen .section:nth-child(1), body.menuopen .section:nth-child(2) {display: block;}


.section.header .container.title {position: absolute; color: white; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0.15rem white; width: 100%; left: 50%; transform: translate(-50%);}
.categories .section.header {padding-bottom: 0rem;}
.categories .section.header .container.title,
body.projects .section.header .container.title {position: relative; margin-top: -2.5rem; padding-bottom: 3.5rem; color: #231f20; -webkit-text-fill-color: transparent; -webkit-text-stroke: 0.15rem #231f20; left: 0%; transform: translate(0%);}

.section.content {font-family: "SchulbuchNord-Normal", sans-serif; font-size: 2.9rem; padding-bottom: 13rem;}
.section.projects {bottom: 7rem; position: relative;}
.section.content p + p::before {content: "___ ";}
.section.content + .section.content {padding-top: 0rem; margin-top: -4rem;}
body.projects .section.content + .section.content {padding-bottom: 10rem;}
body.projects .section.content + .section.content > .container {font-size: 1.2rem; padding-top: 6.5rem; position: relative; padding-bottom: 6rem;}
body.projects .section.content + .section.content > .container:before {content: ""; border-top: 0.25rem solid #231f20; width: calc(100% - 6vw); position: absolute; top: 0;}
body.projects .section.content + .section.content > .container dl {display: flex; flex-wrap: wrap; max-width: 63rem; font-family: "SchulbuchNord-Fett", sans-serif;}
body.projects .section.content + .section.content > .container dl dt {width: 18rem;}
body.projects .section.content + .section.content > .container dl dd {width: calc(100% - 18rem);}

ul.projects {display: grid; grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr)); grid-gap: 2rem; margin: 0!important;}
ul.projects li {list-style: none;}
ul.projects li a {display: flex; flex-direction: column; font-family: "SchulbuchNord-Fett", sans-serif;}
ul.projects li a img {display: block; object-fit: cover; aspect-ratio: 1.45;}
ul.projects li a span {display: block; margin-top: 0.65rem; font-size: 1.5rem;}

#search-results .projects {margin-top: 2rem!important;}

.section.content ol {margin-left: 5rem;} 
.section.content ul {margin-left: 2.5rem;}
.section.content ol li {list-style: decimal-leading-zero;}
.section.content h2 {font-size: 2rem; margin-top: 3rem; line-height: 1.1;}

.featuredimage img,
.headerimage img {object-fit: cover; height: 100%;}

.section.footer {background: #e9e9e9; font-size: 2rem; line-height: 1.4;}
.section.footer .container > div {display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); grid-gap: 4rem 2.2rem;}
.section.footer .container h3 {
    font-size: 2rem;
    font-weight: normal; 
    border-bottom: 0.25rem solid #231f20; 
    padding-bottom: 1.1rem; 
    margin-bottom: 0.95rem;
}
.section.footer .container ul li {list-style: none;}

div#menu.section.footer {top: 9rem; position: absolute; min-height: calc(100vh - 9rem); width: 100%; z-index: 1; pointer-events: none; transition: all 0s ease-in-out; transform: scaleY(0); transform-origin: 0% calc(0% - 3rem);}
div#menu.section.footer::before {content: ""; position: absolute; width: 100%; top: 0; margin-top: -9rem; background: #e9e9e9; height: 9rem;}
body.menuopen div#menu.section.footer {pointer-events: all; transform: scaleY(1);}

.togglereadmore a {cursor: pointer;}
.readmore {display: none;}
.readmore p::before {content: "___ ";}

ul#people {margin: 8.5rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); grid-gap: 2rem;}
ul#people:first-child {margin-top: 0;}
ul#people li {list-style: none; font-size: 2rem;}
ul#people li img {display: block; margin-bottom: 0.3rem;}
ul#people li span {font-size: 78%; display: block;}

body.posts h1 {font-size: 2rem; margin-top: 1rem; line-height: 1.1; padding-top: 0;}
body.posts h2 {margin-top: 7rem!important; padding-top: 0!important;}
body.posts h2:first-child {margin-top: 1rem!important;}

@media screen and (min-width: 700px) and (max-height: 1250px) {
    html {font-size: 1.2vh;}
    .section.header .container:first-child button {transform: rotate(0.1deg);}
}

@media screen and (max-width: 130vh) {
    body .carousel .prev, body .carousel .next {left: auto; right: 50px; margin-left: 0px; background: #e9e9e9; bottom: 0; top: auto; transform: none;}
    body .carousel .next {right: 0px; margin-right: 0px; background: #fff;}
    body .carousel .prev::after, body .carousel .next::after {border-width: 4px; height: 15px; width: 15px;}
}

@media screen and (max-width: 40rem) {
    .carousel .prev, .carousel .next {display: none!important;}
    .carousel ol {display: flex!important;}
    body .carousel ul li > div {font-size: 19vw; padding: 4vw; -webkit-text-stroke: 0.125rem white;}
}

@media screen and (max-width: 60rem) {
    .section.header {padding-top: 3rem;}
    .section.header .container:first-child > div {position: inherit;}  
    .section.header .container:first-child > div > form {display: none;}
    .section.header .container:first-child button {margin-top: 0.45rem;}
    body, .section.content {font-size: 2.5rem}
}
@media screen and (max-width: 40rem) {
    .section.header .container:first-child > div {flex-direction: column; align-items: flex-start;}
    .section.header .container:first-child > div:last-child {justify-content: center;}
}
@media screen and (max-width: 35rem) {
    .container {padding: 0 1rem;}
    .section.content + .section.content > .container:before {width: calc(100% - 2rem);}
    html {font-size: 2.7vw;}
    .section.header .container:first-child > div > div > h1,
    body, .section.content {font-size: 2rem}
    body.projects .section.content + .section.content > .container {font-size: 1.35rem;}
    body.projects .section.content + .section.content > .container dl {flex-direction: column; }
    body.projects .section.content + .section.content > .container dl dt {width: 100%;}
    body.projects .section.content + .section.content > .container dl dd {width: 100%; margin-bottom: 1.75rem;}
}
@media screen and (max-width: 30rem) {
    .section.header .container:first-child button {transform: scale(0.9);}
}
@media screen and (max-width: 25rem) {
    .section.header .container:first-child button {transform: scale(0.8);}
}

