@charset "UTF-8";
/* CSS Document */

/* Color Settings */
/*
Topper Grey:			#e0e0e0		Gray
Key Red:				#ab1000		Red
Logo Color				#0051c5		Navy Blue
Card Header Color		#408cc7		Light Blue
Fieldset Background		#eeeeee		Light Grey
Button Color			#408cc7		Light Blue
Button Hover Color		#2449ab		Dark Blue
Label Color				#555555		Charcoal Grey
Button and Header Text 	#fff		White
*/


/* Sections */
/*
1 ^ 	Topper						Thin Red and Grey Bar on Top 
2 ^		Header						Contains TriMin Logo, Toms Text and Dynamic Customer Branding
3 ^		Progress Bar				
4 ^		Content Container			Contains Side Navigation and Form Content
5 ^ 	Form Body 					Form Content and UI
6 ^ 	Footer
7 ^ 	Miscellaneous 
8 ^		Size based styling
8a^		Default styling
8b^		Phone Styling
8c^		Tablet styling
*/

/* ----------------------------------- 1 ^ Topper ---------------------------------------*/
.topper {
	width:100%;
	height:5px;
	background:#e0e0e0;
}

.innerTopper {
	height:5px;
	background:#ab1000;
	width:20%;
}

/*------------------------------------ 2 ^ Header -------------------------------------*/
.masthead img.logo {
	float:left;
	margin-right:10px;
	line-height:2;
}

.masthead h3 {
	text-transform:uppercase;
	margin-top:0;
	color:#ab1000;
}

.tomsSubhead  h3 {
	margin-top:0; 
	margin-bottom:0;
	line-height:2;
	text-align:center;
}

.navigationWrapper {
	margin-top: 5px;
	display: block;
    border-bottom: 1px solid #ccc;
    margin-bottom: 0px;
    margin-top: 0px;
    box-shadow: 0 4px 2px -2px rgba(0,0,0,0.2);
}

.fixedElement {
	background-color: #fff;
	position:fixed;
	top:0;
	width:100%;
	z-index:100;
}

.county_title {
	top: 6px;
	color: #000;
	font-weight: bold;
	font-family: Verdana, Geneva, sans-serif;
}
/* --------------------------------- 3 ^ Progress Bar Styling ----------------------------------- */
.progressSection {
  position: relative;
  margin-top: 20px !important;
  margin-bottom: 20px !important;
  width: 80%;
  height: 30px;  
  margin: auto;
}

.progress-bar {
  position: absolute;
  background: #408cc7;
  height: 5px;
  width: 0%;
  top: 50%;
  left: 0;
}

.progress-num {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
}

.progress-num::before {
  content: "";
  background-color: lightgray;
  position: absolute;
  top: 50%;
  left: 0;
  height: 5px;
  width: 100%;
  z-index: -1;
}

.progress-num .step {
  border: 3px solid lightgray;
  border-radius: 100%;
  width: 30px; 
  height: 30px;
  line-height: 25px;
  text-align: center;
  background-color: #fff;
  font-family: sans-serif;
  font-size: 14px;    
  position: relative;
  z-index: 1;
}
.progress-words .word{
  text-align: center;
  background-color: #fff;
  font-family: sans-serif;
  font-size: 12px;   
  font-weight: bold; 
  position: relative;
}
.progress-words {
  margin: 0px -10px 0px -25px;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
}

.progress-words .word.active{
  color: #408cc7;
}

.progress-num .step.active {
  border-color: #408cc7;
  background-color: #408cc7;
  color: #fff;
}

/* ---------------------------------- 4 ^ Content Container ---------------------------------*/
html, body {
	height: 100%
}

.mainContainer{
	padding-right: 15px;
	padding-left: 15px;
}

.card-header {
	background-color: #408cc7!important;
	color: #fff!important;
	font-weight: 600!important;
	margin-bottom: 10px;
	box-shadow: -2px -2px 2px rgba(0, 0, 0, 0.2); /* left shadow */
	box-shadow: 2px -2px 2px rgba(0, 0, 0, 0.2); /*  right shadow */
}

.center {
  position: auto;
  margin: auto;
  width: 300px;
  border-radius: 6px;
  text-align: center;
}

.checkbox-label {
    display: flex;
    align-items: center;
    text-align: justify !important;
    margin-bottom: 15px;
    position: auto;
  	margin-left: auto;
    margin-right: auto;
  	width: 400px !important;

 }

.checkbox-label input[type=checkbox]{
 	margin-right: 20px !important;
}

fieldset.toms.first {
	text-align:center;
}

fieldset.toms.preview {
	display: block;
    padding: 10px;
    padding-left: 22px;
    background: #d9d9d9;
    margin-top: 5px;
    margin-bottom: 5px;
    color: #4586bd;
    font-weight: 500;
    font-size: 1.25em;
    border: 1px;
    border-radius: 6px;
}

fieldset.toms {
	display:block;
	background: #eeeeee;
	margin-bottom:0px;
}

fieldset.tomsOuter {
	border: 1px;
	box-shadow: 0px 0px 2px 2px rgba(0,0,0,0.2);
	padding-bottom: 30px;
}

.formContent {
	padding-right:0;
}

/* ---------------------------------------- 5 ^ Form Body --------------------------------------*/
.error {
	color: #a94442;
}
.dropdown-menu {
	min-width: 210px;
}

.glyphicon.glyphicon.glyphicon-chevron-right {
	position:absolute;
	right:10px;
	top:10px;
	color:#555555;
}

.dateField {
	position:relative;
}

.glyphicon.glyphicon-calendar {
	position:absolute;
	right:53px;
	top:35px;
	color:#555555;
}

.glyphicon.glyphicon-fullscreen {
	position:absolute;
	right:30px;
	top:35px;
	color:#555555;
}

.labelRow{
	padding-top: 10px;
    padding-bottom: 5px;
}

.heading{
	background: #e2e2e2;
	margin-bottom: 15px;
	margin-top: 15px;
	padding-top:2px !important;
	padding-bottom:2px !important;
	color: #408cc7; /* #4586bd; */
	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2); /* slight top and bottom shadow */
}

.previewEditButton{
	border: 2px; 
	border-radius: 6px;
	border-color:#408cc7;
	border-style: solid;
	text-align: center;
	background-color: #408cc7;
    color: #ffffff;
    border: 1px solid #408cc7;
    margin-top: 5px;
    margin-bottom: 5px;
    min-width: 60px;
    border-radius: 3px;
    vertical-align: middle;
    padding-right: 0px;
    padding-left: 0px;
    margin-right: 10px;
}

.previewEditButton:hover, .previewEditButton:active {
	background-color:#2449ab;
	color:#ffffff;
	border:1px solid #2449ab;
}	

.previewEditButton:hover p, .previewEditButton:active p {
	color:#ffffff;
}

.previewEditButton p{
	 color: #ffffff;
	 margin-bottom: 0px;
	 vertical-align: middle;
}

.red{
	color: red;
}

.previewEdit{
	color:#408cc7;
}

.previewEdit:hover{
	color:#2449ab;
}

.fa-info-circle{
	color: darkgray;
}

select { /* Select Reset Code Restyling code below */
	border:none;
	background:none;
	-webkit-border-radius:0;
	-moz-border-radius:0;
	border-radius:0;
	margin:0;
	padding: 5px 10px;
	width:100%;
	height:36px;
	border:1px solid #ccc;
}

input[type=text], input[type=password] {
	padding: 10px 5px;
	width:100%;
	border-radius:4px;
}	

 input[type=submit]{
	padding: 10px 10px;
	width:100%;
	border-radius:4px;
	height:36px;
}

.checkbox-inline {
	margin-left: 0px;	
}

input[type=checkbox]{
	padding: 10px 10px;
	margin-left: 0px;
}	

label {
	margin-right:5px;
	color:#555555;
}

input.date {
	width:65%;
	padding:0;
	padding-left:5px;
	font-size:.9em;
	height:36px;
	border:0px;
	border:1px solid #ccc;
}

input[type=submit], input[type=submit]:visited {
	background-color:#408cc7;
	color:#ffffff;
	margin-top:5px;
	border:1px solid #408cc7;
}

input[type=submit]:hover, input[type=submit]:active {
	background-color:#2449ab;
	color:#ffffff;
	margin-top:5px;
	border:1px solid #2449ab;
}	

button.btn.btn-default.dropdown-toggle {
	padding-top:8px;
	padding-bottom:8px;
	color:#a9a9a9;
}

button span.caret {
	color:#555555;
}

.fieldRow {
	margin-bottom:10px;
}

textarea {
	padding: 5px 10px;
	width:100%;
	border:1px solid #ccc;
	border-radius:4px;
}

a.cancel, a:visited.cancel {
	float:right;
	margin-right:10px;
	line-height:3.5;
	color:#408cc7;
}

a:hover.cancel, a:active.cancel {
	float:right;
	margin-right:10px;
	line-height:3.5;
	color:#ab1000;
}

a.delete, a:visited.delete {
	float:right;
	margin-right:5px;
	line-height:3.5;
	color:#408cc7;
}

a:hover.delete, a:active.delete {
	float:right;
	margin-right:5px;
	line-height:3.5;
	color:#ab1000;
}

/* ------------------------------------------- 6 ^ Footer -------------------------------------------*/
footer {
	padding-top:10px;
	padding-bottom:10px;
}

footer p {
	margin-bottom:10px;
	color:#c9c9c9;
}

footer p.copyright {
	font-size: .75em;
	font-style: italic;
	font-weight: normal;
	color: darkgray !important;
}

p.copyright.log {
	text-align:center;
}

/* ---------------------------------- 7 ^ Miscellaneous ---------------------------------------*/
.form-control::-moz-placeholder {
  color: #999;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}

/*---------------------------------8 ^ Size based styling ---------------------------------*/
/* default styles browsers or anything that doesn't fit the categories below. */
/* -------------------------------- 8a^ DEFAULT STYLING -----------------------------------*/
.mainContainer{
	width: 970px;
	margin-right: auto;
    margin-left: auto;
    margin-top: 100px;
}

.mainContainerFooter{
	width:970px;
	margin-right: auto;
    margin-left: auto;
    margin-top: 0px;
}

.card-header {
    font-size: 15px;
    height: 40px;
    padding: 10px;
    border-radius: 3px 3px 0px 0px !important;
}

.masthead h3 {
	letter-spacing: .1em;
	line-height:1.7;
	font-size: 18px;
	font-weight: normal;
}

.county_title {
   	font-size: 16px;
   	margin-bottom: 0px;
}

.masthead img.logo {
    width: 80px;
    height: 23px;
    margin-top:10px;
}

body {
   	font-size: 14px;
}

input[type=submit], input[type=text], input[type=password], input[type=checkbox], input[type=radio]{
	font-size: 14px;
    height: 36px;
    padding : 10px 5px 10px;
    min-height:10px;
    border-radius: 3px;
}
 
input[type='radio'], input[type=checkbox] {
	transform: scale(1);
	font-size:14px;
	margin :0px;
	padding : 0px;
	vertical-align: middle;
}

label {
   	font-size: .85em;
}

footer p.copyright {
   	font-size: .75em;
}

.fieldRow{
	margin-top: 0px;
   	margin-bottom: 10px;
}

.previewRow{
    padding-top: 8px;
   	margin: 0px 30px 5px;
   	padding-bottom: 3px;
   	border: 1px dotted darkgray;
   	border-radius: 8px;
   	min-height:25px;
   	overflow-wrap: break-word;
}

.labelRow label{
    color: #4586bd;
}

.tomsOuter {
	margin-top: 30px;
	margin-bottom: 5px !important;
	border-radius: 3px;
}
.form-control {
    min-height: 34px;
    font-size: 14px;
}
h4 {
   	font-size: 18px;
   	color: #4586bd;
   	margin-bottom: 2px;
   	margin-top: 35px;
}	

.heading h4{
   margin-top: 10px;
}

.main-button{
	font-size:16px;
	height:40px;
}
.bigger-label{
	font-size: .95em;
}

select {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	-o-appearance: auto;
	width: 100%;
	min-height:0px;
}

/* hide the larger arrows we draw for the selects on mobile breakpoints */
.fa-chevron-down{
	display:none;
}

.fa-calendar{
	display:block;
}

input+i.fa{
	float: right;
	margin-top:-24px;
	margin-right:15px;
	pointer-events:none;
	color:rgb(118,118,118);
	display:block;
}

hr {
	display: block;
    height: 1px;
    border: 0;
    margin-top: 0px;
    padding: 0;
  	border-top: 2px solid #ccc;
   	margin-bottom: 5px;
   	box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); /* Bottom Shadow */
}

.home-photo{
	width:25%;
	height:25%;
}

.borderSection{
	border: 2px dotted lightgray;
	border-radius: 6px;
	width: 50%;
	padding-left: 15px;
}

/* large browsers */
@media only screen and (min-width: 1024px) {
     .mainContainer{
		width: 1170px;
		margin-right: auto;
	    margin-left: auto;
	    margin-top: 100px;
	}
	
	.mainContainerFooter{
		width:1170px;
		margin-right: auto;
	    margin-left: auto;
	    margin-top: 0px;
	}
}

/* ----  Styling for preview footer  ----*/
.fixedBottomElement {
	background-color: #fff;
    position: fixed;
    top: 93%;
    width: 100%;
    min-height: 80px;
    z-index: 100;
    display: block;
    border-bottom: 1px solid #ccc;
    margin-bottom: 0px;
    margin-top: 0px;
    box-shadow: 0 0px 4px 2px rgba(0, 0, 0, 0.2);
}
.bottomRow {
	margin-bottom: 10px;
	margin-top: 10px;
}


.previewBottomPadding{
	padding-bottom: 150px;
}
/* ------------*/

.toms-warning {
	font-size: 18px;
	color: black !important;
	font-weight: bold;
	padding-top:25px;
	padding-bottom: 25px;
}


/* ----------------------------------- 8b^ PHONE STYLING ---------------------------------------*/
@media only screen and (max-device-width: 480px) {
   /* styles for mobile browsers smaller than 480px; (iPhone) */
   .mainContainer{
   		width: auto;
		margin-right: 35px;
	    margin-left: 35px;
	    margin-top: 185px;
	}
	
	.mainContainerFooter{
		margin-right: 35px;
	    margin-left: 35px;
	}
	
	.card-header {
	    font-size: 40px;
		height: 100px;
		padding: 20px;
		border-radius: 8px 8px 0px 0px !important;
	}
	
	.masthead h3 {
		letter-spacing: 0.05em;
    	line-height: 1.3;
    	font-size: 38px;
    	width: 100%;
    	margin-bottom: -5px;
	}
	
	.county_title {
    	font-size: 30px;
    	margin-bottom: 5px;
    	width: 100%;
    	margin-right: 10px;
	}
	
	.masthead img.logo {
	    width: 180px;
	    height: 58px;
	    margin-top:15px;
	}
	
	body {
    	font-size: 32px;
	}
	
	input[type=submit]{
		border-radius: 8px;
	}
	
	.alert{
	    padding: 25px;
   		margin: 20px;
	}
	
	input[type=submit], input[type=text], input[type=password], input[type=select], div[class=alert] {
		font-size:32px;
		min-height:90px;
		padding: 20px 30px 20px;
	}
	
	input[type='radio'], input[type='checkbox'] {
		transform: scale(1.5);
		font-size:32px;
		margin-top:20px;
		margin-bottom:20px;
		margin-left:60px;
		margin-right:10px;
		padding : 20px 20px 20px;
	}
	
	/* Make the arrows on the datepicker bigger on phones */
	.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span{
		transform: scale(1.5);
	}
	
	
	select > option{
		font-size:14px;
	}
	
	select{
		font-size:32px;
		min-height:120px;
		padding: 20px 30px 20px;
	}
	
	label {
    	font-size: 32px;
	}
	
	footer p.copyright {
    	font-size: 28px;
	}
	
	.fieldRow {
		margin-top: 30px;
    	margin-bottom: 30px;
	}
	
	.previewRow{
	    padding-top: 8px;
    	margin: 0px 20px 40px;
    	padding-bottom: 3px;
    	border: 2.5px dotted darkgray;
   	 	border-radius: 10px;
   	 	min-height:100px;
   	 	vertical-align: middle;
	}
	
	.tomsOuter {
		margin-top: 60px;
		margin-bottom: 10px !important;
		border-radius: 8px;
	}
	
	.form-control {
	    min-height: 90px;
	    font-size: 32px !important;
	    padding: 20px 30px 20px;
	}
	
	h4 {
    	font-size: 42px;
    	margin-top:40px;
	}

	.main-button{
		font-size:40px;
		height:100px;
	}
	.bigger-label{
		font-size: 32px;
	}

	 /* remove the original arrow */
	select{
		-webkit-appearance: none;
		-moz-appearance: none;
		-o-appearance: none;
		min-height: 100px;
	}
	/* show the icon arrow drawn bigger so it looks better on mobile */
	select+i.fa, input+i.fa{
		float: right;
		margin-top:-60px;
		margin-right:20px;
		pointer-events:none;
		color:rgb(118,118,118);
		padding-right:15px;
		display:block;
	}
	
	.fa-chevron-down{
    	display: block;
	}
	
	.fa-calendar{
		transform: scale(1.4);
	}
	

	hr {
    	border-top: 5px solid #ccc;
    	margin-bottom: 20px;
    	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2); /* Bottom Shadow */
	}
	
	.home-photo{
		width:60%;
		height:60%;
	}
	
	.borderSection{
		border: 6px dotted lightgray;
		border-radius: 12px;
		width: 100%;
		padding-left: 30px;
		padding-right: 30px;
	}
	
	.heading {
	    margin-bottom: 35px;
		padding-top:10px !important;
		padding-bottom:10px !important;
		box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2); /* slight top and bottom shadow */
	}

	/* Grab the second div in the preview row (the one with the value) */
	.mobileIndent{
		padding-left: 80px;
	} 
	
	.previewRow > div {
		margin-bottom: 10px;
	}
	
	fieldset.tomsOuter {
		box-shadow: 1px 0px 2px 3px rgba(0,0,0,0.2);
		margin-bottom: 0px;
	}
		
	h6{
		font-size: 28px;
	}
	
	.previewEditButton{
    	min-width: 100px;
	}
	
	/* ---------- progress bar styling on phone -----------*/
	.progressSection {
  		margin-top: 40px !important;
  		height: 60px;
  		width: 95%;
	}
	
	.progress-num .step {
  		width: 60px; 
  		height: 60px;
  		line-height: 60px;
  		font-size: 30px;    
	}
	
	.progress-words .word{
 		font-size: 22px;
	}
	
	.progress-bar {
  		height: 10px;
	}

	.progress-num::before {
	  height: 10px;
	}
	/*----------------  */
	
	.checkbox-label {
    	min-width: 800px !important;
	}
	.checkbox-label input[type=checkbox]{
    	margin-right: 40px !important;
	}
	
	.g-recaptcha{
		transform: scale(2) !important;
		margin-bottom: 20px;
	}
	
	.previewBottomPadding {
		padding-bottom: 280px;
	} 
	
	.fixedBottomElement {
		top: 92%;
		min-height: 180px;
	}
	
	.previewCancel {
		margin-right: 60px;
	}
	
	.bottomRow{
		margin-top: 35px;
	}
	
	.toms-warning {
		font-size: 36px;
	}
	
}
/* ------------------------------------- 8c^ TABLET STYLING ------------------------------------*/
/*small ipad and tablets*/
@media only screen and (min-device-width: 481px) and (max-device-width: 830px) {
   .mainContainer{
   		width: auto;
		margin-right: 35px;
	    margin-left: 35px;
	    margin-top: 90px;
	}
	
	.mainContainerFooter{
		width: auto;
		margin-right: 35px;
	    margin-left: 35px;
	}
	
	.card-header{
		font-size: 20px;
		height: 50px;
		padding: 20px;
		border-radius: 6px6px0px0px!important;
	}
	
	.masthead h3{
		letter-spacing: .03em;
		line-height: 1.5;
		font-size: 18px;
		font-weight: normal;
		margin-bottom: -15px;
	}
	
	.county_title{
		font-size: 16px;
		margin-bottom: 7px;
		margin-top: -5px;
	}
	
	.masthead img.logo{
		width: 80px;
		height: 26px;
		margin-top:10px;
	}
	
	body{
		font-size: 15px;
	}
	
	.alert{
	    margin-top: 30px
	}
	
	input[type=submit],input[type=text],input[type=password],div[class=alert] {
		font-size:15px;
		min-height: 40px;
		padding: 10px;
		width: 50%;
	}
	
	input[type='radio'],input[type=checkbox]{
		transform: scale(1.2);
		font-size:15px;
		margin-left:50px;
		margin-right:10px;
		padding: 10px;
	}
	
	select>option{
		font-size:12px;
	}
	
	label{
		font-size: 16px;
	}
	
	footer p.copyright{
		font-size: 12px;
	}
	
	.fieldRow{
		margin-top: 10px;
		margin-bottom: 20px;
	}
	
	.previewRow{
		padding-top: 8px;
		margin: 0px 20px 5px;
		padding-bottom: 3px;
		border: 1.5px dotted darkgray;
		border-radius: 6px;
		vertical-align: middle;
	}
	
	.tomsOuter{
		margin-top: 60px;
		margin-bottom: 0px!important;
	}
	
 	.form-control{
		min-height: 40px;
		font-size: 15px;
	} 
	
	h4{
		font-size: 24px;
	}

	 div[class=input-group]{
	 	width: 50%;
	 }
	 
	.main-button{
		font-size:18px;
		height:100px;
	}
	.bigger-label{
		font-size: 16px;
	}

	/* remove the original arrow */
	select{
		-webkit-appearance: none;
		-moz-appearance: none;
		-o-appearance: none;
	}
	
	/* show the icon arrow drawn bigger so it looks better on tablets */
	select+i.fa, input+i.fa{
		float: right;
		margin-top:-27px;
		pointer-events:none;
		color:rgb(118,118,118);
		padding-right:15px;
		display:block;
	}
	
	input+i.fa{
		margin-right: -25px;
	}
	
	.fa-chevron-down {
    	display: block;
	}
	
	.fa-calendar{
		transform: scale(1.4);
	}

	hr{
		border-top: 5px solid #ccc;
		margin-bottom: 20px;
	}
	
	.pull-right{
		margin-top: -10px;
	}
	
	.mobileSelect{
		width: 50%;
	}
	
	.home-photo{
		width:40%;
		height:40%;
	}
	
	.borderSection{
		border: 2px dotted lightgray;
		border-radius: 8px;
		width: 80%;
		padding-left: 15px;
		padding-right: 15px;
	}
	
	/* Grab the second div in the preview row (the one with the value) */
	.mobileIndent{
		margin-top: -8px;
		margin-bottom: 8px;
		padding-left: 300px;
	}
	
	.previewRow [type=submit], .previewRow  input[type=text], .previewRow input[type=password], .previewRow div[class=alert], .previewRow .mobileSelect {
		width:90%;
	}
	
	.progressSection {
  		margin-top: 40px;
	}
	
	.previewBottomPadding {
		padding-bottom: 140px;
	}
	
	.fixedBottomElement {
		top: 94%;
	}
	
	.toms-warning {
		font-size: 22px;
	}
	
}
/* Large iPad and tablets */
@media only screen and (min-device-width: 831px) and (max-device-width: 1024px) {
  	.mainContainer{
		width: auto;
		margin-right: 60px;
		margin-left: 60px;
		margin-top: 100px;
	}
	.mainContainerFooter{
		width: auto;
		margin-right: 60px;
		margin-left: 60px;
	}
	
	.county_title{
		margin-bottom: 5px;
	}
	
	.previewBottomPadding {
		padding-bottom: 130px;
	}
	
	.fixedBottomElement {
		top: 94%;
		min-height: 100px;
	}
	
	.bottomRow{
		margin-top: 25px;
	}
}
