/*
Theme Name:         Sage Starter Theme
Theme URI:          https://roots.io/sage/
Description:        Theme for farbfreund (Malen) by Southvision
Version:            1.06
Author:             Southvision
Author URI:         https://southvision.de/
Text Domain:        sage
License:            MIT License
License URI:        http://opensource.org/licenses/MIT

*/

.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 100;
	pointer-events: none;
}

.skip-link:focus {
	left: 16px;
	top: 16px;
	width: auto;
	height: auto;
	padding: 0.5em 1em;
	background: var(--ink);
	color: var(--paper);
	text-decoration: none;
	pointer-events: auto;
}


/* VARIABLES */

:root{
	--ink: #25231f;
	--paper: #fbf8f1;
	--paperDeep: #f3eee3;
	--line: #d9d2c5;
	--coral: #eb795e;
	--yellow: #e8b936;
	--sage: #9bb493;
	--blue: #91b9c3;
	--muted: #726e66;
	--mutedDark: #bbb5aa;
	--sageLight: #e7eee5;
	--yellowLight: #f4dca0;
	--coverPeach: #edb28e;
	--coverSage: #aec2a3;
	--coverYellow: #e9c45b;
	--coverSkin: #f1c8a7;
	--coverSkinSage: #e5bd91;
	--coverCloud: #faf5e8;
	--white: #fff;
	--fontBase: Arial, Helvetica, sans-serif;
	--fontSerif: Georgia, 'Times New Roman', serif;
	--sectionPadding: 7rem;
}


/* ALLGEMEIN */

*:focus {
	outline: none!important;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--fontBase);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.55;
	color: var(--ink);
	background: var(--paper);
}

p{
	margin-top: 0;
	margin-bottom: 1.5rem;
	color: var(--muted);
}

section{
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
}

img, video {
	width: 100%;
	height: auto;
	display: block;
}

section .textWrap img {
	width: revert-layer;
}

iframe {
	width: 100%;
	display: block;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	margin-top: 0;
	color: var(--ink);
	font-weight: 700;
	font-family: var(--fontBase);
}

h1, .h1 {
	font-size: 8.4rem;
	line-height: .96;
	letter-spacing: -.5rem;
	margin-bottom: 2.4rem;
}

h2, .h2 {
	font-size: 5.2rem;
	line-height: 1.05;
	letter-spacing: -.25rem;
	margin-bottom: 1.5rem;
}

h3, .h3 {
	font-size: 1.9rem;
	line-height: 1.3;
	margin-bottom: 1rem;
}

h4, .h4 {
	font-size: 1.7rem;
	margin-bottom: 1rem;
}

h5, .h5 {
	font-size: 1.6rem;
	margin-bottom: 1rem;
}

h6, .h6 {
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

h1 em, h2 em, h3 em {
	font-family: var(--fontSerif);
	font-style: italic;
	font-weight: 400;
}

h1 em {
	letter-spacing: -.4rem;
}

h2 em {
	letter-spacing: -.25rem;
}

a{
	color: var(--coral);
	text-decoration: none;
	-webkit-transition: color 0.3s ease;
	-o-transition: color 0.3s ease;
	transition: color 0.3s ease;
}

a:hover{
	color: var(--ink);
}

.eyebrow {
	text-transform: uppercase;
	letter-spacing: .2rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--coral);
	margin-bottom: 0;
}

.eyebrow + h1,
.eyebrow + h2 {
	margin-top: 1.5rem;
}

.eyebrow + h1 {
	margin-top: 2rem;
}

.akzentGelb {
	color: var(--yellow);
}

.bgHelper {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.bgHelper video,
.bgHelper img {
	position: absolute;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.flexRow {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin-right: -1.5rem;
	margin-left: -1.5rem;
}

.flexWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.justCenter {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.justBetween {
	-webkit-box-pack: space-between;
	    -ms-flex-pack: space-between;
	        justify-content: space-between;
}

.alignConCenter {
	-ms-flex-line-pack: center;
	    align-content: center;
}

.alignItemsCenter {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.alignItemsEnd {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

.text-center{
	text-align: center;
}

.text-left{
	text-align: left;
}

.text-right{
	text-align: right;
}

.padTo3 {
	padding-top: 3rem;
}

.maTo3 {
	margin-top: 3rem;
}

.maTo6 {
	margin-top: 6rem;
}

/* Buttons und Textlinks */

.ctaBtn {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1rem;
	background: var(--ink);
	color: var(--paper);
	border: 0;
	border-radius: 99rem;
	padding: 1.4rem 2rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: background .2s ease, color .2s ease, -webkit-transform .2s ease;
	transition: background .2s ease, color .2s ease, -webkit-transform .2s ease;
	-o-transition: background .2s ease, color .2s ease, transform .2s ease;
	transition: background .2s ease, color .2s ease, transform .2s ease;
	transition: background .2s ease, color .2s ease, transform .2s ease, -webkit-transform .2s ease;
}

.ctaBtn:after,
.textLink:after {
	content: '';
	display: inline-block;
	width: 1.7rem;
	height: 1.7rem;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") no-repeat center / contain;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") no-repeat center / contain;
}

.ctaBtn:hover {
	background: var(--coral);
	color: var(--paper);
	-webkit-transform: translateY(-2px);
	    -ms-transform: translateY(-2px);
	        transform: translateY(-2px);
}

.ctaBtn.coral {
	background: var(--coral);
}

.ctaBtn.coral:hover {
	background: var(--yellow);
	color: var(--ink);
}

.textLink {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: .8rem;
	color: var(--coral);
	font-weight: 700;
	text-decoration: none;
}

.textLink:hover {
	color: var(--ink);
}

legend {
	border: none;
}

@media (min-width: 992px) {
	.order1md {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	.order2md {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	.order3md {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}

	.order4md {
		-webkit-box-ordinal-group: 5;
		    -ms-flex-order: 4;
		        order: 4;
	}
}

@media (max-width: 1199px){
	h1, .h1 {
		font-size: 6.4rem;
		letter-spacing: -.35rem;
	}

	h2, .h2 {
		font-size: 4.4rem;
	}

	.maToMD3 {
		margin-top: 3rem;
	}

	.maToMD6 {
		margin-top: 6rem;
	}
}

@media (max-width: 991px){

	.maToSM3 {
		margin-top: 3rem;
	}

	.maToSM6 {
		margin-top: 6rem;
	}
}

@media (min-width: 768px) and (max-width: 991px){
	html {
		font-size: 9px;
	}

	.order1sm {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	.order2sm {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	.order3sm {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}

	.order4sm {
		-webkit-box-ordinal-group: 5;
		    -ms-flex-order: 4;
		        order: 4;
	}
}

@media (max-width: 767px){
	html {
		font-size: 8px;
	}

	body {
		font-size: 1.8rem;
	}

	h1, .h1 {
		font-size: 7rem;
		letter-spacing: -.4rem;
	}

	h2, .h2 {
		font-size: 5rem;
	}

	.eyebrow {
		font-size: 1.3rem;
	}

	.ctaBtn {
		font-size: 1.6rem;
		padding: 1.6rem 2.4rem;
	}

	.maToXS3 {
		margin-top: 3rem;
	}

	.maToXS6 {
		margin-top: 6rem;
	}

	.order1xs {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	.order2xs {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}

	.order3xs {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}

	.order4xs {
		-webkit-box-ordinal-group: 5;
		    -ms-flex-order: 4;
		        order: 4;
	}
}


/* HINTERGRUNDVARIANTEN */

section.hell {
	background: var(--paper);
}

section.beige {
	background: var(--paperDeep);
}

section.salbei {
	background: var(--sageLight);
}

section.gelb {
	background: var(--yellowLight);
}


/* HEADER */

header.banner {
	background: var(--paper);
	position: relative;
	z-index: 10;
}

header .navbar {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin-bottom: 0;
	min-height: 0;
}

header .container-fluid {
	max-width: 124rem;
	margin: 0 auto;
	padding-left: 2.8rem;
	padding-right: 2.8rem;
	min-height: 7.8rem;
}

header .navbar-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	min-height: 7.8rem;
}

header .navbar-brand {
	padding: 0;
	height: auto;
	display: block;
}

header.scrolled {
	top: -400px;
	-webkit-transition: top 1.5s ease;
	-o-transition: top 1.5s ease;
	transition: top 1.5s ease;
	position: fixed;
	width: 100%;
	z-index: 10;
	border-bottom: 1px solid var(--line);
}

header.scrolled.sticky {
	top: 0;
}

header .logoWrap {
	width: 16rem;
}

header .logoWrap img {
	width: 100%;
	height: auto;
}

header.sticky .logoWrap {
	width: 13rem;
}

.logoText {
	font-weight: 700;
	letter-spacing: -.15rem;
	font-size: 2.4rem;
	color: var(--ink);
	white-space: nowrap;
}

.logoText:before {
	content: '✦';
	color: var(--coral);
	font-size: 1.8rem;
	margin-right: .5rem;
	letter-spacing: 0;
}

header .totalMenuWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 3.2rem;
}

header .headerCtaWrap .ctaBtn {
	white-space: nowrap;
}

@media(min-width: 992px){
	header .container-fluid:before, header .container-fluid:after, header .row:before, header .row:after, header .navbar:before, header .navbar:after {
		display: none;
	}

	header .container-fluid {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		-webkit-box-align: center;
			-ms-flex-align: center;
				align-items: center;
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;
	}

	header .navbar-collapse {
		padding: 0;
	}

	.navbar-nav > li > a {
		padding-top: 2.8rem;
		padding-bottom: 2.8rem;
	}

	header.scrolled .navbar-nav > li > a {
		padding-top: 1.6rem;
		padding-bottom: 1.6rem;
	}
}


/* Menu */

header .navbar-nav li a{
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--muted);
	text-decoration: none;
	padding-left: 1.6rem;
	padding-right: 1.6rem;
	background: transparent;
}

header .navbar-nav .dropdown-menu{
	margin-top: 0;
	margin-bottom: 0;
	background-color: var(--paper);
	border: 1px solid var(--line);
	border-radius: 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
}

header .navbar-nav li > a:hover + .dropdown-menu{
	display: block;
}

header .navbar-nav li > .dropdown-menu:hover{
	display: block;
}

header .dropdown-menu li{
	padding-top: .4rem;
	padding-bottom: .4rem;
}

header li.current-menu-item > a,
header li > a:hover,
header li > a:focus {
	color: var(--ink);
	background: transparent;
}

/* Mobile Menu */

.navbar-toggle {
	border: 0;
	margin-right: 0;
}

.navbar-toggle .icon-bar{
	background-color: var(--ink);
}

header .mobileMenuLogoWrap,
header .navbar-close{
	display: none;
}

@media(max-width: 991px){

	header .navbar-header {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
		min-height: 6.8rem;
	}

	header .navbar-header:before,
	header .navbar-header:after {
		display: none;
	}

	.navbar-collapse{
		top: 0;
		position: fixed;
		height: 100vh;
		right: 0;
		width: 100%;
		z-index: 99;
		-webkit-transform: translateX(100%);
		    -ms-transform: translateX(100%);
		        transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.4s ease;
		transition: -webkit-transform 0.4s ease;
		-o-transition: transform 0.4s ease;
		transition: transform 0.4s ease;
		transition: transform 0.4s ease, -webkit-transform 0.4s ease;
		pointer-events: none;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-ms-flex-line-pack: justify;
		    align-content: space-between;
		margin: 0!important;
		padding: 35px;
		padding-bottom: 100px;
		padding-top: 80px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-height: 101vh;
		background-color: var(--paper);
		border: 0;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}

	.navbar-collapse > *{
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        flex: 0 0 100%;
	}

	.navbar-collapse.in{
		-webkit-transform: translateX(0%);
		    -ms-transform: translateX(0%);
		        transform: translateX(0%);
		pointer-events: all;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		overflow: scroll;
	}

	.navbar-toggle{
		margin-top: 0;
		margin-bottom: 0;
	}

	header .navbar-close {
		text-align: right;
		font-size: 5rem;
		position: absolute;
		right: 20px;
		top: 4px;
		display: block;
		color: var(--ink);
		font-weight: 200;
		cursor: pointer;
	}

	header .mobileMenuLogoWrap {
		position: absolute;
		top: 4rem;
		width: 16rem;
		left: 3.5rem;
		display: block;
	}

	header .totalMenuWrap {
		display: block;
	}

	header .navbar-nav {
		margin: 0;
	}

	header .navbar-nav li a {
		font-size: 2.2rem;
		font-weight: 700;
		color: var(--ink);
		padding-left: 0;
		padding-right: 0;
	}

	header .headerCtaWrap {
		margin-top: 3rem;
	}

	header .headerCtaWrap .ctaBtn {
		width: 100%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	header .navbar-nav .dropdown-menu{
		position: relative;
		width: 100%;
		padding-left: 2rem;
		float: none;
	}

	header .navbar-nav .dropdown-menu li a{
		font-size: 1.8rem;
	}

	header .navbar-nav li.menu-item-has-children > a{
		padding-bottom: 0;
	}

	header .navbar-nav > li{
		padding-top: .8rem;
	}
}


/* FOOTER */

footer.content-info {
	padding-top: 3.6rem;
	padding-bottom: 3.6rem;
	font-size: 1.2rem;
	color: var(--muted);
}

footer.content-info .footerWrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 2rem;
}

footer.content-info .footerLogoWrap {
	width: 14rem;
}

footer.content-info .footerTextWrap p {
	margin: 0;
	font-size: 1.2rem;
	color: var(--muted);
}

footer.content-info .footerTextWrap a {
	color: var(--muted);
}

footer.content-info .footerTextWrap a:hover {
	color: var(--ink);
}

footer.content-info .subfooterWrap {
	margin-top: 2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 2.4rem;
}

footer.content-info .subfooterWrap a {
	color: var(--muted);
}

footer.content-info .subfooterWrap a:hover {
	color: var(--ink);
}

@media(max-width: 767px){
	footer.content-info .footerWrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 1.5rem;
	}
}


/* GESCHICHTEN-KARTE */

.geschichtenCard {
	display: block;
	border: 1px solid var(--line);
	background: var(--paper);
	border-radius: .4rem;
	overflow: hidden;
	position: relative;
	color: var(--ink);
	text-decoration: none;
	-webkit-transition: -webkit-transform .2s ease, -webkit-box-shadow .2s ease;
	transition: -webkit-transform .2s ease, -webkit-box-shadow .2s ease;
	-o-transition: transform .2s ease, box-shadow .2s ease;
	transition: transform .2s ease, box-shadow .2s ease;
	transition: transform .2s ease, box-shadow .2s ease, -webkit-transform .2s ease, -webkit-box-shadow .2s ease;
}

a.geschichtenCard:hover {
	color: var(--ink);
	-webkit-transform: translateY(-.5rem);
	    -ms-transform: translateY(-.5rem);
	        transform: translateY(-.5rem);
	-webkit-box-shadow: .5rem .5rem 0 var(--ink);
	        box-shadow: .5rem .5rem 0 var(--ink);
}

.geschichtenCardCover {
	height: 27rem;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--line);
	background: var(--paperDeep);
}

.geschichtenCardCover img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.geschichtenCardCover.peach {
	background: var(--coverPeach);
}

.geschichtenCardCover.salbei {
	background: var(--coverSage);
}

.geschichtenCardCover.gelb {
	background: var(--coverYellow);
}

.geschichtenCardCover .coverSparkle {
	position: absolute;
	top: 2rem;
	right: 2.5rem;
	font-size: 2.6rem;
	color: var(--ink);
}

.geschichtenCardCover .coverCloud {
	position: absolute;
	background: var(--coverCloud);
	border: 2px solid var(--ink);
	height: 3.8rem;
	width: 12rem;
	border-radius: 4rem;
	top: 5.5rem;
	left: -1.5rem;
}

.geschichtenCardCover .coverCharacter {
	position: absolute;
	bottom: 3.5rem;
	left: 50%;
	margin-left: -4.8rem;
	border: 3px solid var(--ink);
	background: var(--coverSkin);
	width: 9.6rem;
	height: 10.5rem;
	border-radius: 50%;
	font-family: var(--fontSerif);
	font-weight: 700;
	font-size: 6.2rem;
	line-height: 1;
	text-align: center;
	padding-top: 1.3rem;
	color: var(--ink);
}

.geschichtenCardCover.salbei .coverCharacter {
	background: var(--coverSkinSage);
}

.geschichtenCardCover .coverTitle {
	position: absolute;
	bottom: 1.2rem;
	left: 1.6rem;
	font-family: var(--fontSerif);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--ink);
}

.geschichtenCardInfo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: .7rem;
	padding: 1.6rem;
}

.geschichtenCardInfo strong {
	font-size: 1.6rem;
}

.geschichtenCardInfo span {
	font-size: 1.2rem;
	color: var(--muted);
}

@media(max-width: 767px){
	.geschichtenCardCover {
		height: 23rem;
	}
}


/* 1920px+ Auflösungen */

@media(min-width: 2400px){
	html{
		font-size: 12.5px;
	}
	.container {
		width: calc(1320px * 1.25);
	}
}

@media(min-width: 2880px){
	html{
		font-size: 15px;
	}
	.container {
		width: calc(1320px * 1.5);
	}
}

@media(min-width: 3360px){
	html{
		font-size: 17.5px;
	}
	.container {
		width: calc(1320px * 1.75);
	}
}

@media(min-width: 3840px){
	html{
		font-size: 20px;
	}
	.container {
		width: calc(1320px * 2);
	}
}
