:root{
	--general-black: #212324;
	--nav-background: #f8f8fa;
	--nav-arrows: #202224;
	--step-background: #E0E8FF;
}

.zeromargin {
	padding: 0px;
	margin: 0px;
	width: 0px;
	height: 0px;
}

body {
	-webkit-text-size-adjust: 100%
	padding: 0px;
	margin: 0px;
}

.maven-pro-regular {
  font-family: "Maven Pro", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.maven-pro-medium {
	font-family: "Maven Pro", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
.maven-pro-semibold {
	font-family: "Maven Pro", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}
.maven-pro-bold {
	font-family: "Maven Pro", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
.maven-pro-extrabold {
	font-family: "Maven Pro", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
}
.maven-pro-black {
	font-family: "Maven Pro", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
}
.geologica-thin {
  font-family: "Geologica", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-variation-settings:
    "slnt" 0,
    "CRSV" 0,
    "SHRP" 0;
}
#PriceCalcModal{
	max-width: 1012px;
	max-height: 376px;
	width: 100%;
	display: flex;
	color: var(--general-black);
}

#PriceCalcNavBox{
	width: 216px;
	/*width: 21%;*/
	height: 376px;
	background-color: var(--nav-background);
	display: inline-block;
	text-align: center;
	position: relative;
	border-radius: 20px 0px 0px 20px;
}

#PriceCalcNavBox .TitleBox{
	margin-top: 26px;
	margin-left: 35px;
	margin-right: 39px;
	display: inline-block;
	width: 142px;
}

#PriceCalcNavBox .Title{
	font-size: 24px;
	text-align: left;
	margin: 0px;
}

#PriceCalcNavBox .NavDiv{
	margin-bottom: 30px;
	margin-left: 37px;
	margin-right: 29px;
	position: absolute;
	bottom: 0px;
	right: 0px;
	left: 0px;
	display: inline-block;
	width: 142px;
}



#PriceCalcNavBox .StepDisplay{
	height: 29px;
	float: left;
}

#PriceCalcNavBox #currStepDisplay{
	font-size: 25px;
	margin: 0px;
}

#PriceCalcNavBox .NavControls{
	height: 29px;
	float: right;
}

.StepModal{
	background-color: var(--step-background);
	display: flex;
	border-radius: 0px 20px 20px 0px;
	align-items: center;
}

.StepModal .StepContent{
	margin: auto;
}

.StepModal:not(.visible){
	visibility: hidden;
	display: none;
}

.StepModal.visible {
	/*width: 796px;*/
	/*width: 21%;*/
	width: 100%;
	height: 376px;
	
	text-align: center;
}

.StepModal .Title{
	font-size: 26px;
}

input[type="text"].notFilled{
	outline: 2px solid red;
}

button.hidden{
	visibility: hidden;
}

#nxtBtn, #backBtn{
	background-color: transparent;
	appearance: none;
	text-align: center;
	width: 30px;
	height: 30px;
	margin: 0px 0px 0px 0px;
	padding: 0px;
	border-radius: 100%;
	border: none;
}

#nxtBtn {
	margin-left: 10px;
}

#nxtBtn:hover, #backBtn:hover{
	cursor:pointer;
	background-color: rgba(0, 0, 0, 0.1);
}
#nxtBtn:active, #backBtn:active{
	background-color: rgba(0, 0, 0, 0.3);
}
.arrow{
	width: 100%;
	border-radius: 10px;
}

.arrow.right-arrow{
	transform: rotate(180deg);
}

.inlineArrow {
	width: 12px;
	height: 12px;
	display: inline;
}

.inlineArrowDisclaimer{
	width: 8px;
	height: 8px;
}


.inlineArrow.down-arrow{
	transform: rotate(180deg);
}
.inlineArrow.right-arrow{
	transform: rotate(90deg);
}
.inlineArrow.left-arrow{
	transform: rotate(-90deg);
}
.StepModal .Title{
	margin: auto;
	margin-bottom: 25px;
	min-width: 400px;
	max-width: 75%;
}

.StepModal .Movement{
	width: 100%;
	margin-top: 25px;
}

.disclaimerText{
	position: absolute;
	left: 22px;
	bottom: 35px;
	font-size: 15px;
}

#MissingFieldDisclaimer{
	position: absolute;
	margin-top: 10px;
	width: 100%;
	text-align: center;
	color: red;
	font-size: 15px;
}

#MissingFieldDisclaimer.hidden{
	visibility: hidden;
}

#PriceCalcForm{
	position: relative;
	width: 79%;
	margin: 0px;
	display: inline-block;
}

@media only screen and (max-width: 768px){
	#PriceCalcModal{
		max-width: 768px;
		min-width: 200px;
		max-height: 600px;
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		color: var(--general-black);
	}

	#PriceCalcNavBox{
		width: 100%;
		height: 21%;
		background-color: var(--nav-background);
		text-align: center;
		position: relative;
		border-radius: 20px 20px 0px 0px;
	}
	
	#PriceCalcNavBox .TitleBox{
		margin-top: 15px;
		display: flex;
		margin-left: 20px;
		margin-right: 20px;

		/* justify-content:space-between; */
		width: 275px;
	}
	
	#PriceCalcNavBox .Title{
		font-size: 22px;
		text-align: left;
		margin: 0px 0px 0px 10px;
		display: inline;
	}
	#PriceCalcNavBox .Title:first-of-type {
		margin: 0px;
	}
	
	#PriceCalcNavBox .NavDiv{
		margin-bottom: 20px;
		margin-left: 0px;
		margin-right: 0px;
		position: absolute;
		bottom: 0px;
		right: 0px;
		left: 0px;
		display: inline-block;
		width: 100%;
	}
	
	
	
	#PriceCalcNavBox .StepDisplay{
		height: 29px;
		float: left;
		margin-left: 20px;
	}
	
	#PriceCalcNavBox #currStepDisplay{
		font-size: 25px;
		margin: 0px;
	}
	
	#PriceCalcNavBox .NavControls{
		height: 29px;
		float: right;
		margin-right: 20px;
	}
	
	.StepModal{
		background-color: var(--step-background);
		display: flex;
		border-radius: 0px 0px 20px 20px;
		align-items: center;
	}
	
	.StepModal .StepContent{
		width: 100%;
		margin-left: 0px;
		margin-right: 0px;
	}
	
	.StepModal:not(.visible){
		visibility: hidden;
		display: none;
	}
	
	.StepModal.visible {
		width: 100%;
		height: 100%;
		
		text-align: center;
	}
	
	.StepModal .Title{
		font-size: 24px;
	}
	
	input[type="text"].notFilled{
		outline: 2px solid red;
	}
	
	button.hidden{
		visibility: hidden;
	}
	
	#nxtBtn, #backBtn{
		background-color: transparent;
		appearance: none;
		text-align: center;
		width: 30px;
		height: 30px;
		margin: 0px 0px 0px 0px;
		padding: 0px;
		border-radius: 100%;
		border: none;
	}
	#nxtBtn {
		margin-left: 10px;
	}
	
	#nxtBtn:hover, #backBtn:hover{
		cursor:pointer;
		background-color: rgba(0, 0, 0, 0.1);
	}
	#nxtBtn:active, #backBtn:active{
		background-color: rgba(0, 0, 0, 0.3);
	}
	.arrow{
		width: 100%;
		border-radius: 10px;
	}
	
	.arrow.right-arrow{
		transform: rotate(180deg);
	}
	
	.inlineArrow {
		width: 12px;
		height: 12px;
		display: inline;
	}
	
	.inlineArrowDisclaimer{
		width: 8px;
		height: 8px;
	}
	
	
	.inlineArrow.down-arrow{
		transform: rotate(180deg);
	}
	.inlineArrow.right-arrow{
		transform: rotate(90deg);
	}
	.inlineArrow.left-arrow{
		transform: rotate(-90deg);
	}
	.StepModal .Title{
		margin: auto;
		margin-bottom: 25px;
		min-width: 300px;
		max-width: 75%;
	}
	
	.StepModal .Movement{
		width: 100%;
		margin-top: 25px;
	}
	
	.disclaimerText{
		position: absolute;
		left: 0px;
		right: 0px;
		/*width: 80%;*/
		margin-left: 22px;
		margin-right: 22px;
		bottom: 35px;
		font-size: 15px;
		text-wrap: pretty;

	}
	
	#MissingFieldDisclaimer{
		position: absolute;
		margin-top: 10px;
		width: 100%;
		text-align: center;
		color: red;
		font-size: 15px;
	}
	
	#MissingFieldDisclaimer.hidden{
		visibility: hidden;
	}
	
	#PriceCalcForm{
		position: relative;
		width: 100%;
		height: 79%;
		display: inline-block;
	}

	.Options{
		width: 100%;
	}
}