/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Monika Reiter
 Author URI:   https://www.moreweb.design
 Template:     generatepress
 Version:      1.0
*/

:root {
	--bs-body-font-size: 	1.25em;
	--stack-cards-gap: 		0.75em;
}
:root {
  --space-unit:  1em;
  --space-xxxxs: calc(0.125 * var(--space-unit));
  --space-xxxs:  calc(0.25 * var(--space-unit));
  --space-xxs:   calc(0.375 * var(--space-unit));
  --space-xs:    calc(0.5 * var(--space-unit));
  --space-sm:    calc(0.75 * var(--space-unit));
  --space-md:    calc(1.25 * var(--space-unit));
  --space-lg:    calc(2 * var(--space-unit));
  --space-xl:    calc(3.25 * var(--space-unit));
  --space-xxl:   calc(5.25 * var(--space-unit));
  --space-xxxl:  calc(8.5 * var(--space-unit));
  --space-xxxxl: calc(13.75 * var(--space-unit));
  --component-padding: var(--space-md); }

:root {
  --max-width-xxxxs: 20rem;
  --max-width-xxxs:  26rem;
  --max-width-xxs:   32rem;
  --max-width-xs:    38rem;
  --max-width-sm:    48rem;
  --max-width-md:    64rem;
  --max-width-lg:    80rem;
  --max-width-xl:    90rem;
  --max-width-xxl:   100rem;
  --max-width-xxxl:  120rem;
  --max-width-xxxxl: 150rem; }

body {
	margin: 0;
	padding: 0;
	font-family: 'kiro', sans-serif;
	font-weight: 300;
	font-style: normal;
	color: #444;
	background: rgba(240,240,240,1.00);
	font-size: var(--bs-body-font-size);
	font-display: swap;
	line-height: 1;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'kiro', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-display: swap;
	line-height: 1.2;
	padding-bottom: 10px;
}

h1 {
	font-size: 3em;
	font-weight: 800;
	background: #833ab4;
	background: linear-gradient(90deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 25%, rgba(252, 176, 69, 1) 50%, rgba(0, 128, 0, 1) 75%, rgba(0, 0, 255, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1;
	margin-bottom: 0;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;
}
h2 {
	font-size: 2em;
	font-weight: 300;
	background: #833ab4;
	background: linear-gradient(90deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 25%, rgba(252, 176, 69, 1) 50%, rgba(0, 128, 0, 1) 75%, rgba(0, 0, 255, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1;
	margin: 0 0 0 auto;
	text-align: right;
	max-width: 85%;
}
.datenschutz h2 {
	max-width: 100%;
}
h3 {
	font-size: 1.5em;
	font-weight: 700;
	background: #833ab4;
	background: linear-gradient(90deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 25%, rgba(252, 176, 69, 1) 50%, rgba(0, 128, 0, 1) 75%, rgba(0, 0, 255, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
h4 {
	font-size: 1.5em;
	font-weight: 700;
	color: #737373;
}
h5, h6 {
	font-size: 1.25em;
	font-weight: 700;
}
p {
	font-size: 1.0em;
	font-weight: 300;
	color: #444;
	line-height: 150%;
	text-align: justify;
	/*
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	-o-hyphens: none;
	hyphens: none;*/
}
li {
	font-size: 1.0em;
	font-weight: 300;
	color: #444;
	line-height: 150%;
}

a:link, a:visited {
	font-weight: 700;
	color: #632380;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
a:active {
	color: #666;
	text-decoration: none;
}
.generate-back-to-top {
    border-radius: 25px;
    bottom: 60px;
	right: 60px;
}
a.generate-back-to-top {
    background-color: rgba(99, 35, 128, 0.4);
}
a.generate-back-to-top:hover, a.generate-back-to-top:focus {
    background-color: rgba(99, 35, 128, 0.2);
}
.wp-block-button__link {
	background-color: transparent;
}

/* ----- HEADER ----- */
.header-aligned-center:not([class*=nav-float-]) .inside-header>:not(:first-child) {
    margin-top: 0.3em !important;
}
.inside-header img {
	width: 280px;
	height: auto;
}
.main-navigation .menu-toggle {
	/* display: none; */
	font-size: 1.25em;
	position: absolute;
	z-index: 99;
	top: 10px;
	left: 0;
}
.gp-icon.pro-close {
	font-size: 1.5em;
	color: #fff;
}
.main-navigation .main-nav {
	position: fixed;
	z-index: 99;
	top: 10%;
	right: 0;
	max-width: 240px;
}
.main-navigation .main-nav li {
	font-size: 1em;
	line-height: 1.2;
	display: block;
	overflow-x: clip;
	width: 240px;
	right: -20px;
	transition: right 300ms ease-in-out;
	background-color: rgba(240,240,240,1.00);
	border-radius: 20px;
	margin-bottom: 20px;
}
.main-navigation .main-nav li:hover,
.main-navigation .main-nav li:focus {
	width: 240px;
	right: -20px;
	-webkit-transition: right 0.2s ease-in-out;
	-moz-transition: right 0.2s ease-in-out;
	-ms-transition: right 0.2s ease-in-out;
	-o-transition: right 0.2s ease-in-out;
	transition: right 0.2s ease-in-out;
}
@media (min-width: 769px) {
	.main-navigation .main-nav {
		top: 20%;
	}
	.main-navigation .main-nav li {
		font-size: 1em;
		line-height: 1.2;
		display: block;
		overflow-x: clip;
		width: 240px;
		right: -190px;
		transition: right 300ms ease-in-out;
		background-color: rgba(240,240,240,1.00);
		border-radius: 20px;
		margin-bottom: 20px;
	}
	.main-navigation .main-nav li:hover,
	.main-navigation .main-nav li:focus {
		width: 240px;
		right: -20px;
		-webkit-transition: right 0.2s ease-in-out;
		-moz-transition: right 0.2s ease-in-out;
		-ms-transition: right 0.2s ease-in-out;
		-o-transition: right 0.2s ease-in-out;
		transition: right 0.2s ease-in-out;
	}
}
.main-navigation .main-nav li.menu-item-410 a {
	padding-left: 54px;
	background: url("images/camera_48dp_666666.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-410 a:hover,
.main-navigation .main-nav li.menu-item-410.current_page_item a {
	padding-left: 54px;
	background: url("images/camera_48dp_632380.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-411 a {
	padding-left: 54px;
	background: url("images/cell_tower_48dp_666666.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-411 a:hover,
.main-navigation .main-nav li.menu-item-411.current_page_item a {
	padding-left: 54px;
	background: url("images/cell_tower_48dp_632380.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-412 a {
	padding-left: 54px;
	background: url("images/universal-access_48dp_666666.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-412 a:hover,
.main-navigation .main-nav li.menu-item-412.current_page_item a {
	padding-left: 54px;
	background: url("images/universal-access_48dp_632380.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-718 a {
	padding-left: 54px;
	background: url("images/cd_48dp_666666.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-718 a:hover,
.main-navigation .main-nav li.menu-item-718.current_page_item a {
	padding-left: 54px;
	background: url("images/cd_48dp_632380.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-413 a {
	padding-left: 54px;
	background: url("images/star_48dp_666666.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-413 a:hover,
.main-navigation .main-nav li.menu-item-413.current_page_item a {
	padding-left: 54px;
	background: url("images/star_48dp_632380.svg") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-545 a {
	padding-left: 54px;
	/* background: url("images/smile_48dp_666666.svg") 18px center no-repeat; */
	background: url("images/icon_contact-us_666666.webp") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav li.menu-item-545 a:hover,
.main-navigation .main-nav li.menu-item-545.current_page_item a {
	padding-left: 54px;
	/* background: url("images/smile_48dp_632380.svg") 18px center no-repeat; */
	background: url("images/icon_contact-us_632380.webp") 18px center no-repeat;
	background-size: 24px 24px;
}
.main-navigation .main-nav a {
	text-decoration: none;
}

.site.grid-container,
.site-footer {
    padding: 5px;
}
.site-content {
	width: 100%;
	max-width: 1680px;
	border-radius: 50px;
	margin: 50px auto 0px;
	padding: 25px;
	background: #fff;
}

/* ----- FOOTER ----- */
.site.footer-widgets {
	width: 100%;
	max-width: 1680px;
	border-radius: 50px;
	margin: 0 auto;
	padding: 25px;
	background: linear-gradient(135deg, rgba(129,66,170,0.2) 0%, rgba(17,45,201,0.2) 100%);
}
.site.footer-widgets p {
	color: #632380;
	font-size: 0.85em;
}
.footer-widget-1 p {
	text-align: center;
}
.footer-widget-2 {
	text-align: center;
	font-size: 0.85em;
}
.site.footer-widgets .button {
	padding: 10px 5px !important;
}
.site.footer-widgets .wp-block-kadence-advancedbtn a:link,
.site.footer-widgets .wp-block-kadence-advancedbtn a:visited {
	color: #632380;
	transition: color 300ms ease-in-out;
}
.site.footer-widgets .wp-block-kadence-advancedbtn a:hover {
	color: #fff;
	-webkit-transition: color 0.2s ease-in-out;
	-moz-transition: color 0.2s ease-in-out;
	-ms-transition: color 0.2s ease-in-out;
	-o-transition: color 0.2s ease-in-out;
	transition: color 0.2s ease-in-out;
}

@media (min-width: 769px) {
	.wp-block-kadence-advancedbtn {
		justify-content: right !important;
	}	
}


/* ----- HOME ----- */
.introtext {
	width: 100%;
	max-width: 1000px;
	margin: 100px auto;
}
.outrotext {
	width: 100%;
	max-width: 1000px;
	margin: 100px auto;
}
.text-center {
	text-align: center;
}
.bottomtext {
	width: 100%;
	max-width: 1000px;
	margin: 100px auto 0;
}
.bottomtext h4 {
	text-align: center;
	font-size: 2em;
	font-weight: 300;
	background: #833ab4;
	background: linear-gradient(90deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 25%, rgba(252, 176, 69, 1) 50%, rgba(0, 128, 0, 1) 75%, rgba(0, 0, 255, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* ----- HOME CARDS ----- */
.card-container {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding: 5px;
}
.stack-cards {
	--stack-cards-gap: var(--space-lg);
	padding: 0;
	margin-left: 0;
}

.stack-cards__item {
  position: relative;
  position: -webkit-sticky;
  position: sticky;
  top: var(--space-md);
  height: 0;
  padding-bottom: 50%;
  -webkit-transform-origin: center top;
          transform-origin: center top;
  overflow: hidden; 
}
.stack-cards__item > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; 
}
.card-home {
	border-radius: 25px;
	padding: 25px;
}
.card-home h2,
.card-home h3, 
.card-home h4 {
	background: #fff;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 300;
	max-width: 100%;
}
.card-home h2 {
	font-size: 1.5em;
}
.card-home h3 {
	font-size: 1.25em;
}
.card-home p {
	color: #fff;
	margin: 25px auto;
	font-size: 0.8em;
}
.card-home a:link,
.card-home a:visited {
	font-size: 0.85em;
	font-weight: 300;
	color: #fff;
	padding: 10px 15px;
	border-radius: 50px;
}
.card-home a:hover {
	background: #fff;
	color: #632380;
	text-decoration: none;
	padding: 10px 15px;
	border-radius: 50px;
}
.bg1 {
	background: linear-gradient(135deg, #8142aa 0%, #b93462 100%);
}
.bg2 {
	background: linear-gradient(135deg, #b93462 0%, #d62f3f 100%);
}
.bg3 {
	background: linear-gradient(135deg, #d62f3f 0%, #ef713d 100%);
}
.bg4 {
	background: linear-gradient(135deg, #ef713d 0%, #398323 100%);
}
.bg5 {
	background: linear-gradient(135deg, #398323 0%, #112dc9 100%);
}
.bg6 {
	background: linear-gradient(135deg, #112dc9 0%, #8142aa 100%);
}

/* ----- PROJECTS CARDS ----- */
.card-project-gallery,
.card-project .kb-query-grid-wrap .kb-query-item {
	box-shadow: none !important;
	border-radius: 25px !important;
	padding: 0px 25px 25px;
	background: linear-gradient(135deg, rgba(240,240,240,0.5) 0%, rgba(180,180,180,0.5) 100%);
}
.card-project-gallery .kb-gallery-figure,
.card-project-gallery .wp-block-image,
.card-project .wp-block-post-featured-image {
	/*
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: linear-gradient(90deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 25%, rgba(252, 176, 69, 1) 50%, rgba(0, 128, 0, 1) 75%, rgba(0, 0, 255, 1) 100%);*/
	padding-top: 2px;
	background: linear-gradient(90deg, rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 25%, rgba(252, 176, 69, 1) 50%, rgba(0, 128, 0, 1) 75%, rgba(0, 0, 255, 1) 100%);
}
.card-project .wp-block-post-featured-image img {
	transition: opacity 0.5s, transform 0.5s, height 0.5s, display 0.5s allow-discrete;
	/*
  	height: auto;
	-webkit-transition: height 2s ease;
	-moz-transition: height 2s ease;
	-ms-transition: height 2s ease;
	-o-transition: height 2s ease;
	transition: height 2s ease;*/
}
.card-project-gallery h3,
.card-project h3 {
	margin-top: 20px !important;
	font-size: 1.5em;
	background: #444;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.card-project-gallery p,
.card-project p {
	font-size: 0.9em;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;
}
.card-project-gallery a,
.card-project a {
	white-space: nowrap;
}

/* ----- PROJECTS SLIDER ----- */
.slider-project .kt-image-overlay-message .image-overlay-subtitle {
	border-radius: 50px !important;
	padding: 5px 10px !important;
}

/* ----- CONTACT FORM ----- */
.anfrageform {
	width: 100%;
	max-width: 1000px;
	margin: 100px auto 0;
}
.anfrageform p {
	text-align: left;
}

.anfrageform input[type='text'],
.anfrageform input[type='email'],
.anfrageform input[type='tel'],
.anfrageform select,
.anfrageform textarea {
	font-family: 'kiro', sans-serif;
	font-weight: 300;
	width: 100%;
	background-color: rgba(240,240,240,1.0);
	border: 1px solid #f0f0f0;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-ms-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
}
.anfrageform select {
	padding: 10px 5px !important;
	height: 46px !important;
}
.anfrageform input[type='checkbox'] {
	margin: 8px 5px 8px 0;
}
.anfrageform textarea {
	height: 100px;
}
.anfrageform .wpcf7-list-item {
	margin: 5px 0 0;
	display: block;
}
.anfrageform .wpcf7-list-item-label {
	line-height: 1.5;
}
.anfrageform input[type='submit'] {
	width: 100%;
	background-color: #632380;
	border: 2px solid #632380;
	color: #fff;
	margin-top: 20px;
	padding: 6px 5px 6px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-ms-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
}
.anfrageform input[type='submit']:hover {
	background-color: #f0f0f0;
	border: 2px solid #f0f0f0;
	color: #632380;
}
.wpcf7-response-output {
	text-align: center;
	color: #632380;
	padding: 8px 5px !important;
	background-color: #f0f0f0 !important;
	border: 0px !important;
	/* border-color: #b6c200 !important; */
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	-ms-border-radius: 20px;
	-o-border-radius: 20px;
	border-radius: 20px;
}
.wpcf7-not-valid-tip {
	color: #632380 !important;
}
.anfrageform input[type='text'].wpcf7-not-valid,
.anfrageform input[type='email'].wpcf7-not-valid,
.anfrageform input[type='tel'].wpcf7-not-valid,
.anfrageform select.wpcf7-not-valid {
	background-color: rgba(99, 35, 128,0.2) !important;
}


@media (min-width: 769px) {
	.footer-widget-1 p {
		text-align: left;
	}
	.anfrageform .wp-block-column.one-half {
		width: 98%;
		margin-left: 2%;
	}
	.anfrageform .wp-block-column.one-third {
		width: 96%;
		margin-left: 2%;
		margin-right: 2%;
	}
}


@media (min-width: 1024px) {
	h1 {
		font-size: 3.5em;
	}
	h2,
	.card-home h2,
	.bottomtext h4 {
		font-size: 2.5em;
	}
	h3, h4,
	.card-home h3 {
		font-size: 1.75em;
	}
	.card-home p {
		font-size: 1em;
	}
	.card-home {
		border-radius: 50px;
		padding: 50px;
		max-height: 600px;
		max-width: 1000px;
	}
}

@media (min-width: 1280px) {
	.main-navigation .main-nav li {
		background-color: rgba(250,250,250,1.00);
	}
	h1 {
		font-size: 4em;
	}
	h2 {
		font-size: 3em;
		max-width: 70%;
	}
	h3, h4,
	.card-home h3 {
		font-size: 2em;
	}
	.bottomtext h4 {
		font-size: 3em;
	}
	h5, h6 {
		font-size: 1.5em;
	}

	.site.grid-container {
		padding: 0 50px;
	}
	.site-footer {
		padding: 50px 50px 0;
	}
	.site-content {
		padding: 25px 50px;
	}
	.site.footer-widgets {
		padding: 25px 50px;
	}
	.outrotext {
		padding: 0 50px;
	}
	.card-container {
		padding: 50px;
	}
	.card-project-gallery,
	.card-project .kb-query-grid-wrap .kb-query-item {
		border-radius: 50px !important;
		padding: 0px 50px 25px;
	}
	.card-home p {
		font-size: 1.0em;
		margin: 50px auto;
	}
	.card-home a:link,
	.card-home a:visited,
	.card-home a:hover {
		font-size: 1.25em;
		padding: 10px 25px;
	}
	.card-project-gallery p,
	.card-project p {
		font-size: 1.0em;
	}
}

@media (max-width: 979px) {
	.footer-widget-1 p,
	.footer-widget-2 li {
		font-size: 0.9em;
	}
}

@media (max-width: 767px) {
	.stack-cards__item {
		min-height: 500px;
	}
}

@media (max-width: 499px) {
	h1 {
		font-size: 2.5em;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		-ms-hyphens: auto;
		-o-hyphens: auto;
		hyphens: auto;
	}
	p {
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		-ms-hyphens: auto;
		-o-hyphens: auto;
		hyphens: auto;
	}
}

