/**************/
/* CSS REMEDY */
/**************/
*, *::after, *::before {
  box-sizing:border-box;  
}






/*********************/
/* CUSTOM PROPERTIES */
/*********************/
:root{
	/* startje */
	--color-text:black;
	--color-background:#ffffff;
	--section-color: rgb(235, 235, 235);
	--font-family: arial;
	--image-filter: none;
}

.darkmode{
	--color-text:white;
	--color-background:black;
	--section-color: rgb(67, 67, 67);
	--image-filter: invert();
}



/****************/
/* JOUW STYLING */
/****************/

/* jouw code */
body{
  color: var(--color-text);
  background-color: var(--color-background);
  margin: 0;
  padding: 0;
}


/*header*/
#header{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.3em;
  height: 70px;
  background: linear-gradient(to bottom, rgba(0,0,0,2) 0%, rgba(0,0,0,0) 80%);
}


#header a{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 50%;
  transform: translate(-50%, -50%);
}

#header a img{
  width: 40px;
  height: auto;
  display: block;
}

#hamburger-icon{
  width: 24px;
  height: 13px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: transparent;
  border: none;
  cursor: pointer;
}

#hamburger-icon span{
  display: block;
  width: 100%;
  height: 1px;
  background-color: white;
  border-radius: 2px;
}

#account-header{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  filter: invert(1);
  border: none;
  width: 35px;
  height: 35px;
  cursor: pointer;
}


#account-header img{
  width: 28px;
  height: auto;
  display: block;
}



/*uitschuifbare navigatie*/

#niet-zichtbaar{
	background-color: white;
	position: fixed;
	height: 100vh;
	width: 100%;
	left: -100%;

	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	z-index: 1000;

	transition: left 0.5s ease;
}

#niet-zichtbaar.open{
    left: 0;
}

#niet-zichtbaar li{
	list-style-type: none;
	padding-top: 1.1em;
	padding-bottom: 0.9em;
	font-size: 1.3rem;
	font-weight: 100;
	font-family: var(--font-family);
	display: flex;
	justify-content: space-between;
	vertical-align: baseline;
}

#niet-zichtbaar li a{
	color: black;
	text-decoration: none;
}


#sluiten{
	background: none;
	border: none;
	margin-left: auto;
	margin-right: 1.5em;
	padding-top: 1.4em;
	cursor: pointer;
}

#sluiten img{
	width: 25px
}

.pijltje{
	width: 12px;
    height: 14px;
	margin-right: 2.2em;
	margin-top: 3px;
	cursor: pointer;
}

#account-menu{
	display: flex;
	justify-content: flex-start;
	margin-top: auto;
    margin-bottom: 2em;
    align-items: center;
}

.account-links{
  display: flex;
  align-items: center;
  gap: 8px;
}







section:first-of-type{
	position: relative;
    min-height: 100vh;
	max-height: 100vh;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 17vh;
	font-family: var(--font-family);

}

section:first-of-type h1{
	display: none;
}

section:first-of-type video{
	position: absolute;
    top: -70px;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

section:first-of-type::after{
	content: "";
	position: absolute;
	bottom: 8vh;
	width: 100%;
	height: 38vh;
	background: linear-gradient(to top, rgba(0,0,0,2), rgba(0,0,0,0));
	z-index: -1;
}

section:first-of-type h2, section:first-of-type a{
	position: relative;
    z-index: 10;
    color: white;
	margin-top: 4em;
}

section:first-of-type h2{
	font-size: 2.4rem;
	margin-bottom: 1em;
}

section:first-of-type a{
	background-color: transparent;
	border: 2px solid white;
	border-width: 2px;
	border-color: white;
	border-radius: 4px;
	padding: 1.1em 5.3em;
	text-decoration: none;
	color: white;
}

section:first-of-type p{
	margin-top: 4em;
	font-size: 12px;
	line-height: 1.6;
	color: lightgray;
	margin-left: 8vw;
	margin-right: 8vw;
}


/*video button*/

#video-toggle{
  position: absolute;
  bottom: 5rem;
  right: 2.1rem;
  z-index: 20;

  background: transparent;
  border: 2px solid white;
  border-radius: 0.2em;
  padding: 0.2rem;

  cursor: pointer;
}

#video-toggle svg{
  width: 24px;
  height: 24px;
  fill: white;

  transition: transform 0.3s ease, opacity 0.3s ease;
}


#speel-knop{
  display: none;
}

#pauze-knop{
  display: block;
}


#video-toggle:hover svg{
  transform: scale(1.15);
}




section:nth-of-type(2){
	max-width: 30em;
	display: flex;
    flex-direction: column;
	align-items: center;
	gap: 2rem;
    padding: 2rem;
	margin: 0 auto;
}

section:nth-of-type(2) button{
	color: var(--color-text);
	background-color: var(--color-background);
	padding: 1em;
	padding-right: 12em;
	padding-left: 12em;
	border: 2px solid --color-text;
	border-radius: 2px;
}

section:nth-of-type(2) h2{
	display: none;
}

.model{
    position: relative;
    width: 100%;
    max-width: 30em;
	display: flex;
	flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-align: left;

	border-radius: 0.7em; 
    overflow: hidden;
}

.model img{
    max-width: 30em;

	width: 100%;
    display: block;
}

.model-info{
    position: absolute;
    left: 1rem;
    bottom: 0.8rem;

    display: flex;
    align-items: center;
	width: 90%;
	justify-content: space-between;

	font-family: var(--font-family);
    color: white;
}

.model .model-info p{
    margin: 0;
    font-size: 1rem !important;
	color: white !important;
}

.model-info img{
    width: 1.4rem;
    height: auto;
	border-radius: 0;
}

section:nth-of-type(2) p:last-of-type{
	font-family: var(--font-family);
	font-size: 0.75rem;
	color: gray;
	line-height: 1.4;
}

@media (min-width: 900px){
    section:nth-of-type(2){
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
        justify-items: center;
        align-items: center;
		max-width: 100%;
    }

    .model{
        flex-direction: column; 
    }

    .model img{
        max-width: 22em;
		border-radius: 0.7em;
    }
}





section:nth-of-type(3){
	display: flex;
	flex-direction: column;
	align-items: center;

	padding: 2rem 0;
}

section:nth-of-type(3) h2{
	display: none;
}

section:nth-of-type(3) h3{
	font-family: var(--font-family);
	font-size: 2.1rem;
	font-weight: 100;

	text-align: left;

	max-width: 86%;
    width: auto;
}

.model-type{
	position: relative;
	display: flex;
    flex-direction: column;
	align-items: center;
	justify-content: space-between;
    text-align: left;

	flex: 0 0 100vw;
}

.model-type img{
	max-width: 85%;
	display: block;
	align-items: center;
}

.model-type img:first-of-type{
	height: 6.5em;
	padding-top: 2em;
	padding-bottom: 2em;
}

.model-type img:nth-of-type(2){
	border-radius: 1rem;
}


.model-type ul li{
	list-style-type: none;
	text-align: center;
	
	margin-right: 2.5em;
	margin-top: 3em;
	margin-bottom: 1em;
	
	padding: 1em;
	border: 2px solid white;
	border-radius: 0.2em;
}

.model-type ul li a{
	font-family: var(--font-family);
	color: white;
	text-align: center;
	text-decoration: none;
}

.model-tekst{
    position: absolute;
    bottom: 1em; 
    
    z-index: 10; 
    
    color: white; 
    width: 80%;
    padding: 5px;
}

.model-tekst p, 
.model-tekst ul{
    text-align: left;
    margin: 0;
	font-family: var(--font-family);
}

.model-tekst p:first-of-type{
	padding: 4px 4px 4px 4px;
	margin-bottom: 1rem;

	display: inline-block;
	flex-shrink: 0; 
    flex-grow: 0;

	background-color: gray;
	border-radius: 4px;

	font-size: 0.8rem;
}

.carrousel-container{
    display: flex;
    flex-wrap: nowrap;
    
    overflow-x: scroll;
	scrollbar-width: none;
    
    width: 100%;
    max-width: 100%;
}



section:last-of-type{
	display: grid;
	justify-items: center;

	width: 80%;
	margin-top: 15em;
	margin-bottom: 8em;
	margin-left: 2.7em;
	
	background-color: var(--section-color);
	border-radius: 0.7em; 
}

section:last-of-type img{
	height: 10.6em;

	border-top-left-radius: 0.7em;
	border-top-right-radius: 0.7em;
}

section:last-of-type h2,
section:last-of-type p{
	text-align: left;
    width: 80%;
    margin: 0.7em 0;
}

section:last-of-type h2{
	font-family: var(--font-family);
	font-size: 1.3rem;
	font-weight: bold;

	margin-top: 2em;
}

section:last-of-type p{
	font-family: var(--font-family);
	font-size: 1.1rem;

	margin-bottom: 2em;
}

section:last-of-type a{
	font-family: var(--font-family);
	text-decoration: none;
	color: var(--color-text);
	text-align: center;

	width: 80%;
	padding: 1em;
	margin-bottom: 2em;


	border: 2px solid;
	border-color: var(--color-text);
	border-radius: 0.2em;
}



/*TWEEDE PAGINA*/

#tweede-pagina #header{
	background: none;
}

#tweede-pagina #account-header{
	filter: var(--image-filter);
}

#tweede-pagina #hamburger-icon span{
	background-color: var(--color-text);
}


#alle-modellen{
	min-height: auto;
    max-height: none;
    padding-bottom: 0;

	display: grid;
	justify-items: center;
}

#alle-modellen::after{
	background: none;
}

#alle-modellen h2{
	color: var(--color-text);
	font-size: 1.4rem;
	width: 85%;
}

#alle-modellen p{
	color: var(--color-text);
	font-family: var(--font-family);
	font-size: 1rem;
	
	margin: 0;
	margin-bottom: 1em;
}

#alle-modellen a{
	display: grid;
	justify-items: center;

	background-color: black;
	border-radius: 0.5rem;

	margin-top: 0.5em;
}

.model-container{
	background-color: var(--section-color);

	width: 80%;
	margin-bottom: 2em;
	padding: 3em 1em;
	border-radius: 0.7em;

	display: grid;
    justify-items: center;
}

.model-container img:first-of-type{
	height: 1.5em;
	margin-bottom: 0.3em;
	filter: var(--image-filter);
}

.model-container img:nth-of-type(2){
	width: 15em;
}




/*appstore gedeelte*/

#appstore h3{
	font-family: var(--font-family);
	font-size: 1.5rem;
	text-align: center;

	width: 90%;
	margin-bottom: 0;
}

#appstore h3 span{
	color: gray;
}

#appstore a img{
	width: 11em;
}

#appstore{
    position: relative;
	padding-bottom: 20em;
}

/*ik kon de images niet selecteren dus ik heb aan chatGPT gevraagd waarom niet en hoe ik dit kan oplossen*/
/* linker telefoon*/
#appstore > img:first-of-type{
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-75%);
    width: 45%;
    z-index: 1;
}

/* rechter telefoon overlapt*/
#appstore > img:last-of-type{
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-20%);
    width: 45%;
    z-index: 2;
}





/*soorten porsches gedeelte*/

#varianten h2{
	display: block;
	margin-top: 2em;
	margin-bottom: 2em;

	font-family: var(--font-family);
	font-size: 1.5rem;
	text-align: center;

	width: 80%;
}


.porsche-variant{
	display: grid;
	justify-items: center;

	width: 80%;
	margin-bottom: 2em;
	
	background-color: var(--section-color);
	border-radius: 0.7em;
}

.porsche-variant img{
	height: 10.6em;

	border-top-left-radius: 0.7em;
	border-top-right-radius: 0.7em;
}

#varianten .porsche-variant h3,
#varianten .porsche-variant p {
	text-align: left;
    width: 80%;
    margin: 0.7em 0;
}

#varianten .porsche-variant h3{
	font-family: var(--font-family);
	font-size: 1.3rem;
	font-weight: bold;

	margin-top: 2em;
}

#varianten .porsche-variant p{
	font-family: var(--font-family);
	font-size: 1.1rem;

	margin-bottom: 2em;
}

#varianten .porsche-variant a{
	font-family: var(--font-family);
	text-decoration: none;
	color: var(--color-text);
	text-align: center;

	width: 80%;
	padding: 1em;
	margin-bottom: 2em;


	border: 2px solid;
	border-color: var(--color-text);
	border-radius: 0.2em;
}



/*porsche finder gedeelte*/

#porsche-finder{
    max-width: 800px;
    width: 92%;
    margin: 0 auto;
    padding: 2rem;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}


#porsche-finder h2,
#porsche-finder p{
	font-family: var(--font-family);
	font-size: 1rem;
	color: var(--color-text);
}


#porsche-finder h2,
#porsche-finder p,
#porsche-finder ul{
    width: 100%;
}

#porsche-finder ul{
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

#porsche-finder ul li{
    margin-bottom: 1em;
}

#porsche-finder ul li a{
    font-family: var(--font-family);
    font-size: 1rem;
    color: var(--color-text);
    text-decoration: none;
    border-bottom: 2px solid;
	border-color: var(--color-text);
    padding-bottom: 2px;
}


#feedback{
    background-color: var(--color-background);
	max-width: 800px;
    width: 100%;
    margin: 0 auto; 
	margin-top: 5em;
    padding: 2rem;
	padding-right: 3.2em; 
	padding-left: 3.2em;

    display: flex;         
    flex-direction: column; 
    align-items: flex-start;
    text-align: left;
    gap: 1.5rem; 
	
	border-top: 2px solid gray;
}

#feedback h2,
#feedback{
    width: 100%;
    font-family: var(--font-family);
}

#feedback h2{
    font-size: 1.2rem;
}

#feedback a{
    font-size: 1rem;
    color: var(--color-text);
    text-decoration: none;
	text-align: center;

	padding: 1em;
	border: 2px solid;
	border-color: var(--color-text);
	border-radius: 0.2em;
}


/*footer*/

footer{
	background-color: black;

	font-family: var(--font-family);
	color: white;

	padding-left: 3em;
	padding-right: 3em;
	display: flex;
	flex-direction: column;
}

footer img{
	max-height: 4em;
	width: 10em;

	margin-top: 3em;
	margin-bottom: 1.5em;
}

footer p a{
	color: white;
}

footer img:last-of-type{
	filter: invert();
	width: 10em;

	margin-right: auto;
	margin-bottom: 5em;
	margin-left: auto;
}