/*html, body { 
	height: 100%;
	scroll-behavior: smooth;
	scroll-snap-type: y mandatory;
	overflow-x: hidden;
}*/

*{
	scroll-behavior: smooth;
	scroll-snap-type: y mandatory;
	padding: 0;
	margin: 0;
}

.grid-container {
	scroll-snap-align: start;
	width: 100%;
	min-height: 100vh;
	display: grid;
	place-items: center;
	margin-left: auto;
}

.grid-container-sub {
	width: 35%;
}

div { font-family: Arial, Helvetica, sans-serif; }

a:link { text-decoration: none; }

img { margin-left: 10px; margin-right: 10px;}

.logo { height: 50px; margin-left: 0px; margin-right: 5%;}

.margin-right { margin-right: 5%; }
 
.linkdiv {
	display: flex;
	justify-content: center;
	align-items: center;
}


ul { list-style-type: none; padding-left: 0px;}

.text-step
{ 
	font-size: 1.5em;
	text-align: left;
	margin-bottom: -0.5em;
}

.text-reqtype { 
	font-size: 2.2em;
	text-align: center;
}

.text-steptext 
{ 
	font-size: 3em;
	margin-bottom: 10%;
}

.text-license { 
	font-size: 3em; 
	margin-bottom: 10%;
}

.text-contact { 
	font-size: 2em;
	margin-bottom: 10%;
}

.text-task {
	font-size: 1.5em;
    line-height: 1.5em;
}

.text-date {
	font-size: 1.5em;
    line-height: 1.5em;
    font-family:'Courier New', Courier, monospace;
	margin-bottom: 10%;
}

.text-problem-description {
	font-size: 1.2em;
}

.text-replacementcar {
	font-size: 1.2em;
	margin-top: 1em;
	margin-bottom: 2em;
}

.text-confirmation { 
	text-align: center;
	font-size: 1.2em;
}

.text-warning {
	background-color: yellow;
	padding: 25px;
	border-radius: 10px;
	margin-bottom: 10%;
	text-align: center;
}

.text-error {
	color: red;
	font-size: 1.2em;
}


/* ---- Input Style ----- */

textarea {
	width: 100%;
    background-color: whitesmoke;
    padding: 25px;
    /* margin: 8px 0px 0px 8px;*/
    display: inline-block;
    border: 5px solid #B70F0C;
    border-radius: 10px;
    box-sizing: border-box;
    text-align: left;
    font-size: inherit;
	min-height: 250px;
  }

input[type=email], select {
    width: 100%;
    background-color: whitesmoke;
    padding: 25px;
    /* margin: 8px 0px 0px 8px;*/
    display: inline-block;
    border: 5px solid #B70F0C;
    border-radius: 10px;
    box-sizing: border-box;
    text-align:center;
    font-size: inherit;
  }


input[type=text], select {
    width: 100%;
    background-color: whitesmoke;
    padding: 25px;
    /* margin: 8px 0px 0px 8px; */
    display: inline-block;
    border: 5px solid #B70F0C;
    border-radius: 10px;
    box-sizing: border-box;
    text-align:center;
    font-size: inherit;
  }

  input[type=number], select {
    width: 100%;
    background-color: whitesmoke;
    padding: 25px;
    /* margin: 8px 0px 0px 8px; */
    display: inline-block;
    border: 5px solid #B70F0C;
    border-radius: 10px;
    box-sizing: border-box;
    text-align:center;
    font-size: inherit;

	-moz-appearance: textfield;
  }
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


/* Submit Button */
input[type=submit] {
	height: 75px;
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
	font-size: 1.2em;
}

/* End Submit Button*/ 

/* check box */

/* CSS below will force radio/checkbox size be same as font size */
label{
	position: relative;
	line-height: 1.4;
}
/* radio */
input[type=radio]{
	width: 1em;
	font-size: inherit;
	margin: 0;
	transform: translateX(-9999px);
}
input[type=radio] + label:before{
	position: absolute;
	content: '';
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border:none;
	border-radius: 50%;
	background-color: #bbbbbb;
}

input[type=radio]:disabled + label:after{
	background-color: lightgrey;
	display: none;
}

input[type=radio]:disabled + label{
	color: lightgray;
}

input[type=radio] + label:after{
	position: absolute;
	content: '';
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: white;
	border-radius: 50%;
	transform: scale(0.8);
}
/*checked*/
input[type=radio]:checked + label:before{
	position:absolute;
	content:'';
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: #B70F0C;
}
input[type=radio]:checked + label:after{
	position: absolute;
	content: '';
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: white;
	border-radius: 50%;
	transform: scale(0.3);
}
/*focused*/
input[type=radio]:focus + label:before{
	border: 0.2em solid #8eb9fb;
	margin-top: -0.2em;
	margin-left: -0.2em;
	box-shadow: 0 0 0.3em #B70F0C;
}

/*checkbox/*/
input[type=checkbox]{
	width: 1em;
	font-size: inherit;
	margin: 0;
	transform: translateX(-9999px);
}
input[type=checkbox] + label:before{
	position: absolute;
	content: '';
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border:none;
	border-radius: 10%;
	background-color: #bbbbbb;
}
input[type=checkbox] + label:after{
	position: absolute;
	content: '';
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: white;
	border-radius: 10%;
	transform: scale(0.8);
}
/*checked*/
input[type=checkbox]:checked + label:before{
	position:absolute;
	content:'';
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: #B70F0C;
}
input[type=checkbox]:checked + label:after{
	position: absolute;
	content: "\2713";
	left: -1.3em;
	top: 0;
	width: 1em;
	height: 1em;
	margin: 0;
	border: none;
	background-color: #B70F0C;
	border-radius: 10%;
	color: white;
	text-align: center;
	line-height: 1;
}
/*focused*/
input[type=checkbox]:focus + label:before{
	border: 0.1em solid #8eb9fb;
	margin-top: -0.1em;
	margin-left: -0.1em;
	box-shadow: 0 0 0.2em #B70F0C;
}

/* ---- END INPUT STYLE ---- */


/* ---- Next Button ---- */
.next-btn {
	width: fit-content;
	height: fit-content;
  	display: flex;
  	justify-content: center;
  	align-items: center;
	padding: 1em;

	text-align: center;
	background-color: whitesmoke;
	outline: #29235C solid 2px;
	color: #000;
	cursor: pointer;
	transition: 200ms;
	box-sizing: border-box;
	border: 10;
	border-radius: 10px;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
	}

	.next-btn.urgent {
		width: 200px;
		font-size: 1.5em;
		outline: #B70F0C solid 2px;
		margin-top: 10%;
	}

	.next-btn.standard {
		width: 200px;
		font-size: 1.5em;
		margin-top: 10%;
	}

	.next-btn.submit {
		margin-left: auto;
		margin-right: auto;
		padding: 0px;
		margin-top: 10%;
	}

.next-btn:not(:disabled):hover,
.next-btn:not(:disabled):focus {
  outline: #29235C solid 5px;
  background: whitesmoke;
  box-shadow: 0 0 0 2px rgba(0,0,0,.2), 0 3px 8px 0 rgba(0,0,0,.15);
}

.next-btn:not(:disabled):hover.urgent,
.next-btn:not(:disabled):focus.urgent {
	outline: #B70F0C solid 5px;
}

.next-btn:disabled {
  filter: saturate(0.2) opacity(0.5);
  -webkit-filter: saturate(0.2) opacity(0.5);
  cursor: not-allowed;
}
/* ---- End Next Button ---- */

 /* Navbar */

 .navbar {
	overflow: hidden;
	background-color: #333333;
	position: fixed;
	top: 0px;
	width: 100%;
	z-index: 9999; 
	display: flex;
	justify-content: center;
	align-items: center;
	right: 0px;
	height: 50px;
	font-size: 1em;
  }
  
  .navbar a {
	color: white;
	text-align: center;
	padding: 15px 15px;
	text-decoration: none;
	background-color: #333333;
	padding-left: auto;
	padding-right: auto;
  }
  
  .navbar a:hover {
	background-color: #707070;
  }


@media screen 
  and (min-device-width : 375px) 
  and (max-device-width : 812px){

	.grid-container-sub {
		width: 75%;
	}

	.text-reqtype
	{ 
		font-size: 2.5em;
	}

	.text-step
	{ 
		font-size: 2.5em;
		margin-bottom: 0px;
	}
	.text-steptext 
	{ 
		font-size: 4em;
	}
	
	.text-license { 
		font-size: 4em;
	}
	
	.text-contact { 
		font-size: 3em;
	}
	
	.text-task {
		font-size: 3em;
	}
	
	.text-date {
		font-size: 2.2em;
		line-height: 2em;
		margin-left: 0%;
	}

	.text-problem-description {
		font-size: 2.5em;
	}
	
	.text-replacementcar {
		font-size: 2em;
	}
	
	.text-confirmation { 
		font-size: 3em;
	}
	
	.next-btn {
		font-size: 2em;
		justify-items: left;
		min-width: 400px;
	}

	.navbar {
		font-size: 2.5em;
		height: 100px;
	}
	.logo {
		height: 50px;
	}

	.text-warning {
		font-size: 2em;
	}

	.next-btn {
		min-width: 400px;
	}

	.next-btn.urgent {
		font-size: 2em;
	}

	.next-btn.standard {
		font-size: 2em;
	}
	
}