@font-face { font-family: 'Baloo2'; src: url('/fonts/Baloo2-VariableFont_wght.ttf'); }

/* css clean up */

*{
	font-family: 'Baloo2', sans-serif; font-weight: 300;

	box-sizing: border-box;
	margin: 0;
	padding: 0;
    text-decoration: none;

    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;

    -webkit-user-drag: none;

    word-wrap: break-word;

    /*border: 1px solid red;*/
}

h1, h2, h3, h4, h5, h6, p {
    cursor: default;
}

.selectable {
    user-select: text;
    -webkit-user-select: text;
    -ms-user-select: text;

    cursor: text;
}

.inpextra {
    position: fixed;
    left: -500vw; right: -500vw;
    opacity: 0;
    pointer-events: none;
}

.hidden {
    pointer-events: none;
}

span {
    all: inherit;
    display: inline;
}

:root {
    /* colors */

    --main-dark: #121115;
    --main: #1a191d;
    --main-medium: #1e1d21;
    --main-light: #2c283c;
    --main-opaque: #1a191dcc;
    --main-accent: #ec0000;
    --text-dark: #cbc7c0;
    --text: #f0ece4bb;
    --text-low: #666360bb;
    --text-light: #ffffff;
    --text-full: #B6B4B0;
}

textarea{
    min-height: 68px;
    max-height: 300px;
    field-sizing: content;
    resize: vertical;
}

body {
    background-color: var(--main);
}

.no-phone {
    display: block;
}
.no-desk {
    display: none;
}

/* components */

h2, h3, h4, h5, p {
    color: var(--text);
}

h6 {
    visibility: hidden;
}

.background-image {
    background-repeat: no-repeat;
}
.background-image.cover {
    background-size: cover;
}
.background-image.center {
    background-position: center center;
}

.split-grid {
    padding: 0 10vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.split-grid:nth-child(2) {
    margin-top: -12rem;
}

.grid-left {
    grid-column: 2;
}



form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.5rem;
}

form > div {
    display: flex;
    flex-direction: column;
}

form .full {
    grid-column: span 2;
}

label {
    color: var(--text-light);
    padding-left: .3rem;
}

input.not-required {
    border: 1px dashed var(--main-accent);
}

input.required {
    border: 1px solid var(--main-accent);
    background-color: #ff000021;
}

input {
    all: unset;
    min-width: 1rem;
    padding: .6rem 1rem .5rem 1rem;
    border-radius: .2rem;
    backdrop-filter: blur(10px);
    color: var(--text-light);
}

input::placeholder {
    color: var(--text-low);
}

input.not-required:focus {
    background-color: #ff000021;
}

input.required:focus{
    background-color: #ff00004b;
}

.phone-grid {
    position: relative;
    display: grid;
    column-gap: 1rem;
    grid-template-columns: .4fr 1fr;
    grid-template-areas: "label label2"
                         "input input2";
}

.contact-split {
    position: relative;
    display: grid;
    column-gap: 1rem;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "label label2"
                         "input input2";
}

.match-dropdown {
    position: absolute;
    right: 0; bottom: 0;
    width: calc(50% - .5rem); height: 2.8rem;
    border-radius: 0.2rem;
}

select, match-dropdown {
    min-width: 1rem;
    padding: .6rem 1rem .5rem 1rem;
    border-radius: .2rem;
    background-color: unset;
    border: unset;
    font-size: 1rem;
    backdrop-filter: blur(10px);
    color: var(--text-light);
    border: 1px dashed var(--main-accent);
    background-color: #ff000021;
}
select:focus, match-dropdown:focus {
    outline: none;
    background-color: #ff00004b;
}
/* elements */

h1 {
    color: var(--text-light);
    width: fit-content; height: fit-content;
    line-height: 5rem;
    font-size: 4.5rem;
    margin-top: -6rem;
    text-align: start;
    word-wrap: break-word;
    z-index: 4;
    filter: drop-shadow(1px 1px 14px var(--main));
}

#thumbnail {
    position: relative;
    width: 100vw; height: 51rem;
    display: grid;
    padding: 2rem 10vw;
    justify-content: start;
    align-items: center;
    grid-template-rows: 1fr;
}
#thumbnail > #title-image {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    mask-image: linear-gradient(#000000cc 20%, #00000025, #00000000);
    z-index: -1;
}

#anfragen {
    position: relative;
    display: inline-block;
    align-self: end;
    justify-self: center;
    margin-top: 1.3rem;
    padding: .6rem 1rem .6rem 1rem;
    background-color: var(--main-accent);
    color: var(--text-light);
    border-radius: 20vw;
    font-size: 1rem;
    line-height: 1rem;
    overflow: hidden;
    box-shadow: 0 0 20px 1px var(--main);
    transition: all .4s ease;
    cursor: pointer;
}

#anfragen::before {
    content: "";
    position: absolute;
    top: 0%; left: 0%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent 0%, #fdc6c699 80%, transparent 30%);
    transform: rotate(0deg);
    animation: glow-slide 2s infinite linear;
    pointer-events: none;
}

@keyframes glow-slide {
    0% {
        left: -120%;
    }
    100% {
        left: 100%;
    }
}

#anfragen:hover::before {
    animation: none;
    opacity: 0;
}

#anfragen #glow {
    position: absolute;
    top: -100%; left: -100%;
    width: 200%; height: 200%;
    opacity: 0;
    border-radius: 20vw;
    transition: all .3s ease;
}
#anfragen:hover #glow {
    opacity: 1;
    background: radial-gradient(#ffdedebc, transparent);
}

#anfragen:hover {
    box-shadow: 0 0 40px 1px var(--main-accent);
    scale: 1.1;
}

#anfragen {
    position: relative;
}

#anfragen-input {
    position: relative;
    backdrop-filter: none;
    z-index: 3;
}

/*!! REMs and PXs https://www.youtube.com/watch?v=Op3hhQhNKIc !!*/

main {
    height: 200vh;
}

/* footer */

footer {
    display: none;
}


/* overwrites */

.hover {
    transition: opacity .2s ease;
}
.hover:hover {
    opacity: .6;   
}

.hover-scale {
    transition: scale .2s ease, opacity .2s ease;
}
.hover-scale:hover {
    opacity: .6;
    scale: .93;
}

strong {
    font-size: 2.5rem;
    line-height: 3.5rem;
    text-decoration: line-through;
}
em{
	font-style: normal;
	color: var(--main-accent);
}
.selectable::selection {
    color: #F23317;
}

.split-third{
	margin-top: 12rem;
	grid-template-columns: 4fr 1fr;
	font-weight: 100;
}
#pergola-atributes{
	margin-top: -6rem;
	margin-left: 8rem;
	color: white;
	font-size: 1em;
  line-height: 1.5em;
}
.pergola-image{
	
}
.section-center{
	text-align: center;
}
#products-more{
	font-size: 1rem;
}

.product-galery{
	margin: 15rem 0;
	gap: 5%;
	width: 100%;
}

.top-space-a{
	margin-top: 3rem;
}
.top-space-b{
	margin-top: 2rem;
}
.top-space-c{
	margin-top: 4.5rem;
}

.product-galery img{
	width: 100%;
	border-radius: 0.2rem;
	box-shadow: 1px 1px 3px 3px #000;
}

#anfragen.neutral{
	background-color: #656161;
}

/* media-thin */

@media only screen and (max-width: 1000px) {

}

/* media-phone */

@media only screen and (max-width: 700px) {
    .no-phone {
        display: none;
    }
    .no-desk {
        display: block;
    }
}

/* media-thin-phone */

@media only screen and (max-width: 500px) {
	html{
		font-size: 50%;
	}
	form {
		display: block;
	}
	form * {
		font-size: 150%;
	}
	h6{
		display: none;
	}
	.split-grid:nth-child(2){
		margin-top: -6rem;
	}
	.split-grid{
		display: block;
	}
	.mobile-no-grid{
		display: block;
		font-size: 150%;
	}
	.pergola-image{
		width: 100%;
	}
	.split-third{
		margin-top: 22rem;
	}
	#pergola-atributes{
		margin-top: -26rem;
		margin-left: 0;
		color: white;
		font-size: 1.3em;
	  line-height: 2em;
	}
	#pergola-product {
		padding-top: 8rem;
	}
	.match-dropdown{
		height: 4.7rem;
	}
	#anfragen{
		display: block;
		text-align: center;
		width: 100%;
	}
	#anfragen-input, #products-more {
		padding: 1rem;
		font-size: 3em;
	}
	.mail-answer{
		text-align: center;
		font-size: 3em;
		padding-top: 10rem;
		padding-bottom: 10rem;
	}
	.product-galery{
		font-size: 2em;
	}
	.top-space-a{
		margin-top: 6rem;
	}
	.top-space-b{
		margin-top: 7rem;
	}
	.top-space-c{
		margin-top: 8rem;
	}
	
	.product-galery img{
		width: 100%;
		border-radius: 0.2rem;
		box-shadow: 1px 1px 3px 3px #000;
	}
	
	#anfrage-button{
		width: 80%;
		margin-left: 10%;
		padding-bottom: 10rem;
	}
}

@media (prefers-reduced-motion: reduce) {
    * {
        transition: none;
    }
}