@font-face {
	font-family: 'UKNP';
	src: url('../assets/fonts/numberplate-webfont.woff2') format('woff2');
	font-weight: bold;
	font-style: normal;
}

:root {
	--company-darkblue:        #142431;
	--company-green:           #37a60f;
	--company-darkgreen:       #175600;
	--company-green-highlight: #8ebc1c;
	--company-lightblue:       #3a7bb4;
	--company-olive:           #5b7054;
	--company-silver:          #C5C5C5;
	--company-midblue:         #2f5574;
	
	--status-valid:   #2BA400;
	--status-invalid: #C3040F;
	--status-unknown: #0F7D9E;
	
	--body-background:   #DCDCDC;
	--placeholder-color: #C5C5C5;
	--number-plate:      #EEDB03;
	--text-color-light:  whitesmoke;
	--text-color-dark:   #333333;
	--section-odd:       #C1C1C1;
	--section-even:      #AAAAAA;
	
	--animate-duration: 1s;
	--animate-delay: 1s;
	--animate-repeat: 1;
	
}

::placeholder {
	color:   var(--placeholder-color);
	opacity: 1;
}

#number-plate::placeholder {
	color:   #C6B900;
	opacity: 1;
}

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	font-family: 'Roboto', sans-serif;
	font-size: clamp(1.2rem, 1.6vw, 2rem);
	font-weight: 100;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	line-height:      1;
	width:            100vw;
	background-color: var(--body-background);
	user-select:      none;
	min-height: 100vh;
	margin: 0;
	display: grid;
	grid-template-rows: auto 1fr auto;
	overflow-x: hidden;
}

h1,h2 {
	font-weight: 500;
	width: fit-content !important;
	transition: color 2000ms;
}

h2.offscreen {
	opacity: 0;
}

button {
	padding: 0.8rem 2.4rem;
	border: 1px solid rgba(0, 0, 0, 0.4);
	border-radius: 4px;
	cursor: pointer;
	transition: color 500ms, background-color 500ms;
}

dialog {
	background-color: var(--company-silver);
	width: 50vw;
	outline: none;
	border-radius: 4px;
	margin: auto;
	border: 6px solid rgba(0, 0, 0, 0.4);
	transition: width 250ms;
}

dialog::backdrop {
	backdrop-filter: blur(7px) brightness(0.25);
	background-color: unset;
}

.layout {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	width: 1120px;
	columns: 64px 12;
	column-gap: 32px;
	justify-content: space-between;
	align-items: center;
	row-gap: 8px;
	margin: auto auto 32px;
	padding-bottom: 4rem;
}

header {
	margin: auto;
	border-bottom: 1px solid rgba(0, 0, 0, 0.025);
	width: 100%;
	background: linear-gradient(180deg, rgb(227 227 227) 0%, rgb(195 195 195) 100%);
}

header img {
	object-fit: cover;
	position: relative;
	object-position: top left;
	transition: opacity 250ms;
	box-shadow: 0 10px 8px 0 rgba(0, 0, 0, 0.075);
}

header div:last-of-type {
	filter: drop-shadow(0 1px 0px rgba(0, 0, 0, 0.1));
}

header ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	gap: 64px;
	list-style: none;
	text-transform: uppercase;
	padding-top: 2rem;
}

header ul li {
	border: 4px solid var(--company-darkblue);
	border-radius: 8px;
	transition: background-color 500ms;
	cursor: pointer;
	min-width: calc((100% - 16rem) / 4);
	text-align: center;
	z-index: 2;
	background-color: #dcdcdc;
}

header ul li.offscreen {
	opacity: 0;
}

header ul li a {
	text-decoration: none;
	color: var(--company-darkblue);
	transition: color 1s;
	font-weight: 400;
	display: block;
	padding: 0.6rem 1.8rem;
	width: 100%;
	height: 100%;
}

header ul li:hover a {
	color: var(--text-color-dark);
}

header ul li:hover {
	background-color: var(--number-plate);
	border: 4px solid #142431;
}

header h1 {
	text-transform: uppercase;
	font-size: clamp(2rem, 3vw, 3rem);
	text-align: center;
	max-width: 1920px;
	margin: auto;
	padding: 0 2rem;
	color: var(--company-darkblue);
	text-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
	-webkit-text-stroke: 1px #9b9b9b;
}

header div div:first-of-type img {
	border-radius: 50%;
	background-color: var(--company-darkblue);
	border: 6px solid rgba(0, 0, 0, 0.2);
	height: 49vh;
}

footer {
	background-color: var(--company-darkblue);
	width: 100%;
	margin: 0;
	overflow: hidden;
	min-height: 234px;
	padding-top: calc(4rem + 100px);
}



nav {
	width: 100vw;
	padding: 0 2rem;
	position: sticky;
}

#images-container {
	display: flex;
	width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	padding: calc(4rem - 46px) 0 4rem 0;
}

.logo {
	padding: 2rem;
}

.shape {
	clip-path: polygon(0% 0%, 100% 0, 100% 0, 50% 100%, 0 0);
	height: 100px;
	width: 100vw;
	background-color: #c3c3c3;
	position: relative;
	top: 99px;
	transition: background-color 2000ms;
}

#sections {
	background-color: var(--section-odd);
}

section > * {
	width: 100%;
}

.section-holder {
	width: 100%;
	padding-top: calc(4rem + 200px);
	transition: color 2000ms, background-color 2000ms;
	background-color: #c3c3c3;
}

.section-holder[highlighted] {
	background-color: var(--company-lightblue);
	color: var(--text-color-light);
}

.section-holder[highlighted] .shape {
	background-color: var(--company-lightblue);
}

.section-holder[highlighted] > section > h2 {
	color: var(--company-darkblue);
}

.fleet-vehicle {
	width: 65%;
	height: auto;
	margin: 0.25rem;
	border-radius: 6px;
	box-shadow: 0 6px 7px 2px rgba(0, 0, 0, 0.15);
}

#fleet-vehicle {
	float: right;
}

/*
.section-holder:nth-of-type(odd),
.section-holder:nth-of-type(odd) .shape {
	background-color: var(--section-odd);
}

.section-holder:nth-of-type(even),
.section-holder:nth-of-type(even) .shape {
	background-color: var(--section-even);
}
*/

/* FAQ */
.question-answer.offscreen {
	opacity: 0;
}

summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	font-weight: normal;
}

details {
	padding: 1rem 0 1rem 0;
}

.faq-answer {
	display: flex;
	align-items: baseline;
}

summary::before, .faq-answer::before {
	content: 'Q';
	cursor: pointer;
	margin-right: 1rem;
	color: #cfcfcf;
	border: 1px solid rgba(0, 0, 0, 0.5);
	padding: 3px 8px;
	border-radius: 8px;
	background-color: var(--company-midblue);
	position: relative;
	top: -4px;
	height: 100%;
}

.faq-answer::before {
	content: 'A';
	color: #3a6b00;
	background-color: #cfcfcf;
	top: 0;
	
}

details[open] + div.faq-answer {
	max-height: 800px;
	transition: max-height 350ms, padding 400ms;
	padding-bottom: 3rem;
}

details[open] summary::before {
	/*rotate: 135deg;*/
	/*transition: rotate 200ms ease-out;*/
	cursor: pointer;
	margin-right: 1rem;
}

summary::-webkit-details-marker,
summary::marker {
	display: none;
}

.faq-answer {
	box-sizing: border-box;
	max-height: 0;
	overflow: hidden;
	transition: max-height 350ms, padding 400ms;
	color: #184a01;
}

/* QUOTE */
#map-holder {
	height: 85vh;
}

#the-map {
	width: 100%;
	height: 100%;
	border: 0.3em solid white;
	box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.25);
}

form {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2rem;
}

.input-holder {
	max-width: calc(560px - 1rem - 8px);
	position: relative;
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.1);
	border-radius: 4px;
}

.input-holder.quote {
	display: none;
	max-width: 100%;
	background-color: var(--company-lightblue);
	border: 0.2em solid var(--text-color-light);
	border-radius: 4px 4px 0 0;
	border-bottom: none;
}

.postcode-icon-container {
	position: absolute;
	border-radius: 4px 0 0 4px;
	border: 2px solid var(--text-color-dark);
	padding: 10px 5px;
	height: 100%;
}

.form-section-holder {
	width: calc(560px - 1rem - 36px);
}

#postcodes {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	gap: 1rem 2rem;
}

#plate-quote {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1rem 2rem;
	width: 100%;
}

#gb-id {
	background-color: #26309b;
	height: 69px;
	border-radius: 4px 0 0 4px;
	border: 2px solid #010040;
	border-right: none;
	padding-right: 4px;
}

#number-plate {
	background-color: var(--number-plate);
	color: var(--text-color-dark);
	margin-left: 0;
}

#plate-decoration {
	text-align: center;
	width: 100%;
	position: absolute;
	display: block;
	font-size: 5px;
	font-family: sans-serif;
	color: black;
	bottom: 3px;
}

.input-holder input {
	font-family: 'UKNP', sans-serif;
	height: 69px;
	background-color: gainsboro;
	border: 2px solid var(--text-color-dark);
	border-radius: 0 4px 4px 0;
	text-transform: uppercase;
	outline: none;
	border-left: none;
	margin-left: 40px;
	padding-left: 0.5rem;
	width: 100%;
}

.text-clear {
	position: absolute;
	right: 0.4rem;
	transition: transform 250ms;
	cursor: pointer;
	color: var(--text-color-dark);
}

.text-clear:hover{
	transform: rotate(180deg);
	background-color: rgba(0, 0, 0, 0.4);
	border-radius: 50%;
	color: whitesmoke;
}

#get-quote {
	display: flex;
	height: 69px;
	border: 2px solid var(--text-color-dark);
	border-radius: 4px;
	box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.1), inset 0 0 0 0 var(--company-green);
	align-items: center;
	background-color: var(--company-midblue);
	color: var(--text-color-light);
	transition: box-shadow 500ms, background-color 500ms;
	width: 100%;
	justify-content: center;
}

#get-quote span {
	font-weight: 500;
}

#plate-quote label[for='get-quote'] {
	opacity: 0;
}

#get-quote:hover {
	background-color: var(--company-darkgreen);
	box-shadow: 0 4px 8px 2px rgba(0, 0, 0, 0.1), inset 0 0 0 4px var(--company-green);
}

.form-section-holder label {
	display: block;
	padding-bottom: 0.25rem;
}

#quote-issue {
	display: none;
	background-color: orangered;
	color: whitesmoke;
	width: 100%;
	padding: 1rem;
	border-radius: 4px;
	margin-top: 0;
	transition: opacity 500ms;
	opacity: 1;
	box-shadow: 0 3px 11px 1px rgba(0, 0, 0, 0.3);
	margin-bottom: 2rem;
}

#quote-issue > button {
	background-color: rgba(0, 0, 0, 0.3);
	color: whitesmoke;
	position: relative;
	padding: 0.1rem 0.8rem;
	left: calc(100% - 2rem - 1.3rem);
	margin-top: 1rem;
}

#quote-holder {
	display: flex;
	flex-direction: column;
	align-content: flex-start;
	align-items: flex-start;
	gap: 0.25rem;
	margin-top: 1rem;
}

.quote-margin {
	margin: 0 1rem;
}

.quote h4:last-of-type {
	margin-bottom: 1rem;
}

.quote h3 {
	color: var(--text-color-light);
	margin-top: 0.5rem;
	font-weight: 400;
}

.quote h4 {
	color: var(--company-darkblue);
}

#total {
	background-color: rgba(0, 0, 0, 0.1);
	width: 100%;
	padding: 0.5rem 1rem;
	color: var(--text-color-light);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

#total h3 {
	color: var(--number-plate);
	font-weight: 900;
}

#vehicle-status {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	gap: 0.5rem;
	margin: 0.25rem 0 1rem 1rem;
}

.status-holder {
	display: flex;
	border: 2px solid var(--text-color-light);
	border-radius: 8px;
	align-items: center;
	height: 36px;
	width: clamp(85px, 7vw, 112px);
	overflow: hidden;
}

.status-holder > div.material-symbols-outlined {
	color: var(--text-color-light);
	overflow: hidden;
	width: 32px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.status-holder div:last-of-type {
	background-color: var(--text-color-light);
	color: var(--text-color-light);
	height: calc(100% + 2px);
	width: calc(100% - 32px);
	font-size: 0.65rem;
	display: flex;
	align-items: center;
	justify-content: space-around;
	padding-top: 2px;
}

div.input-holder.quote > header {
	background: rgba(255, 255, 255, 0.2);
	padding: 1rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

div.input-holder.quote > header h2 {
	color: #092400;
}

#accept {
	display: none;
	background-color: transparent;
	color: var(--company-darkblue);
	border: 4px solid var(--company-darkblue);
	text-transform: uppercase;
	font-size: 0.8rem;
	font-weight: 500;
	transition: color 500ms, background-color 500ms;
}

#accept:hover {
	background-color: var(--number-plate);
	color: var(--company-darkblue);
}

/* SERVICES*/
li span:first-of-type {
	font-size: 1.4rem;
	background-color: var(--company-midblue);
	color: whitesmoke;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.5);
	padding: 4px 5px;
}

#section-services > div li {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	padding-bottom: 0.5rem;
}

/* COLLECTION & DELIVERY */
#dealership-private ul {
	list-style: none;
}

#dealership-private ul li {
	padding-bottom: 2rem;
}

#dealership-private ul li h3 {
	font-weight: normal;
}

#flip-container {
	perspective: 1250px;
}

#flip-container, .front, .back {
	width: 100%;
}

#flipper {
	transition: 750ms;
	transform-style: preserve-3d;
	position: relative;
}

.front, .back {
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	hyphens: auto;
	border-radius: 8px;
	color: whitesmoke;
	padding: 1rem;
	border: 4px solid whitesmoke;
	box-shadow: 0 9px 9px 0 rgba(0, 0, 0, 0.2);
}

.front.shadow
{
	position: unset;
}

.front {
	z-index: 2;
	background-color: var(--company-midblue);
}

.back {
	transform: rotateY(180deg);
	background-color: #dfdfdf;
	color: var(--company-darkblue);
	border: 4px solid var(--company-darkblue);
}

.front > p,
.back > p {
	font-weight: normal;
	padding-top: 2rem;
}

.front > span, .back > span {
	margin-top: 1rem;
	margin-bottom: 1rem;
	display: block;
	text-transform: uppercase;
	font-weight: bold;
}

#flip-container ul li h3 {
	font-weight: bold;
}

#shadow-content {
	opacity: 0;
}

#selector {
	display: flex;
	justify-content: center;
	z-index: 2;
	position: relative;
	transform: translateY(50%);
	filter: drop-shadow(0 4px 3px rgba(64, 64, 64, 0.4));
}

#selector button {
	color: whitesmoke;
	border: 4px solid whitesmoke;
}

#selector button:first-of-type {
	background-color: var(--company-midblue);
	color: whitesmoke;
	border-right: none;
	border-radius: 4px 0 0 4px;
}

#selector button:last-of-type {
	background-color: silver;
	color: var(--company-darkblue);
	border-radius: 0 4px 4px 0;
}

div#selector[selected='private'] button:last-of-type {
	background-color: var(--company-darkblue);
	color: whitesmoke;
}

div#selector[selected='private'] button:first-of-type {
	background-color: silver;
	color: var(--company-darkblue);
}

#get-in-touch {
	margin-top: 2rem;
	color: var(--company-darkblue);
	border: 4px solid var(--company-darkblue);
	background-color: transparent;
	float: right;
}

#get-in-touch:hover {
	background-color: var(--company-lightblue);
	color: whitesmoke;
}

#or {
	z-index: 5;
	padding: 0.25rem;
	position: absolute;
	background-color: var(--company-darkblue);
	border-radius: 8px;
	top: 42px;
	height: 32px;
	width: 40px;
	color: whitesmoke;
	text-align: center;
	font-size: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.3);
	user-select: none;
}



/* FOOTER */
footer > div:first-of-type {
	max-width: 1120px;
	margin: auto;
	min-height: 300px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-around;
	align-items: flex-start;
	padding-bottom: 3rem;
	gap: 1rem;
}

#socials {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: space-around;
	align-items: flex-start;
	gap: 0.6rem;
}

#socials img {
	width: clamp(48px, 2.75vw, 80px);
	height: auto;
}

#footer-links {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-around;
	align-items: flex-start;
	gap: 0.4rem;
}

#footer-links a {
	text-decoration: none;
	color: var(--company-lightblue);
}

#trustpilot img {
	height: 5.875vh;
}

#copyright {
	display: flex;
	width: 100%;
	background-color: var(--company-midblue);
	color: var(--company-lightblue);
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding: 0.25rem 1rem;
}

#copyright span {
	font-size: clamp(0.85rem, 1vw, 2rem);
}


/* MEDIA QUERIES */
@media (pointer: coarse) {
	a:hover {
		all: revert;
	}
	
	a:hover, a:focus, a:target {
		all: revert;
	}
}

@media (width < 1310px) {
	header div div:first-of-type img {
		border-radius: 50%;
		background-color: var(--company-darkblue);
		border: 6px solid rgba(0, 0, 0, 0.2);
		height: 35vh;
		
	}
}

@media (width < 1120px) {
	.layout {
		columns: auto 1;
		flex-direction: column;
		margin: 32px;
		column-gap: 24px;
		width: calc(100% - 64px);
		align-items: flex-start;
	}
	
	.form-section-holder {
		width: calc(50% - 1rem);
	}
}

@media (width <= 964px) {
	header ul {
		gap: 12px;
	}
	
	header ul li {
		width: 100%;
	}
}

@media (width <= 820px) {
	#fleet-vehicle {
		display: none;
	}
	
	#fleet-vehicle-after {
		display: block;
		margin: 1rem 0;
		width: 100%;
		height: auto;
	}
	
	header ul li {
		width: 100%;
	}
}

@media (width <= 493px) {
	
	#images-container {
		width:   100vw;
		padding: 1rem 0 4rem 0;
	}
	
	header div div:first-of-type {
		padding: 1rem;
	}
	
	#main-logo {
		object-fit: scale-down;
		/*height:     auto;*/
	}
	
	header h1 {
		font-size: clamp(1.5rem, 2vw, 2.3rem);
		padding:   0 1rem;
		max-width: 100vw;
		margin:    0;
	}
	
	.layout {
		margin: auto;
	}
	
	#selector button {
		width:     100%;
		font-size: 1rem;
	}
	
	#selector {
		transform: translateY(25%);
	}
	
	.form-section-holder {
		width: 100%;
	}
	
	dialog {
		width: 85vw;
	}
}
	
	@media (width <= 430px) {
		#selector button {
			width: 100%;
			font-size: 1rem;
			border: 2px solid whitesmoke !important;
			border-radius: 4px !important;
		}
		
		#selector {
			transform: translateY(25%);
			flex-wrap: wrap;
		}
		
		#or {
			display: block;
		}
}

