
body{ margin:0; padding:0; font-family:'DM Sans', 'Trebuchet MS', Arial, Helvetica, sans-serif; font-size:17px; line-height:1.1em; color:#333333; }

h1{ font-size:1.8em; margin:0; padding:15px 0; }
h2{ font-size:1.4em; margin:0; padding:10px 0; }
h3{ font-size:1.2em; margin:0; padding:0 0 5px 0; }

a:link, a:visited{ color:#a91d24; text-decoration:underline; }
a:hover, a:active{ color:#a91d24; text-decoration:underline; }

/* misc */
.clr{ 		clear:both; }
.help{ 		cursor:help; }
.hand{ 		cursor:pointer; }
.bold{		font-weight:bold; }

.right{ 	float:right !important; }
.left{ 		float:left !important; }
.center{	float:none !important; margin:0 auto !important; }
.tright{ 	text-align:right; }
.tleft{ 	text-align:left; }
.tcenter{ 	text-align:center; }
.lthrough{ 	text-decoration:line-through; }
.ttoupper{	text-transform:uppercase; }

.green{ 	color:#41cc4f; }
.yellow{ 	color:#ffcc00; }
.orange{ 	color:#f88f01; }
.red{ 		color:#f95959; }
.grey{ 		color:#cccccc; }
.blue{		color:#3f96fd; }

.ico-checked{ float:left; width:30px; height:30px; margin:0 10px 2px 0; }

.bg-white{ 	background-color:#ffffff !important; }
.bg-red{ 	background-color:#ffebeb !important; }
.bg-missing{ background: repeating-linear-gradient(-45deg, #f95959, #f95959 15px, #f05050 15px, #f05050 30px) !important; color:#ffffff !important; }
.bg-optional{ background: repeating-linear-gradient(-45deg, #e7c746, #e7c746 15px, #eccf5c 15px, #eccf5c 30px) !important; }

/* loader */
.loader{ 
	border: 3px solid #ddd; border-radius: 50%; width:20px; height:20px; display:block; position:absolute; left:50%; top:50%; margin:-10px 0 0 -50px;
	-webkit-animation: loaderspin 0.5s linear infinite; animation: loaderspin 0.5s linear infinite; 
}
@-webkit-keyframes loaderspin { 	0% { transform: rotate(0deg); }	100% { transform: rotate(360deg); }	}
@keyframes loaderspin { 			0% { transform: rotate(0deg); }	100% { transform: rotate(360deg); }	}

/* navi */
.navi{								display:block; position:relative; width:100%; height:auto; min-height:36px; padding:10px 0; margin:10px 0; background:#ffffff; /*text-align:center;*/ line-height:36px; }
.navi div{							display:inline-block; position:relative;  }
.navi div > span.num{				width:36px; height:36px; line-height:36px; text-align:center; display:inline-block; margin:0 2px 0 0; -webkit-border-radius:50%; -khtml-border-radius:50%; -moz-border-radius:50%; -ms-border-radius:50%; border-radius:50%; }
.navi div.default > span.num{ 		color:#cccccc; border:1px solid #cccccc; }
.navi div.active > span.num{ 		color:#a91d24; background:#ffffff; border:1px solid #a91d24; }
.navi div.current > span.num{ 		color:#ffffff; background:#a91d24; border:1px solid #a91d24; }
.navi div.current > span.label{ 	display:inline-block; /*font-size:1.2em;*/ margin:0 4px; }
.navi div.active > span.label, 
.navi div.default > span.label{ 	display:none; }

/* message */
div.warn{
	display:block; position:relative; overflow:auto; width:99%; padding:10px 0.5%; margin:20px auto 10px auto; box-sizing:border-box;
	text-align:center !important; background:#ffffff; border-width:3px; border-style:solid; 
	-webkit-border-radius:6px; -khtml-border-radius:6px; -moz-border-radius:6px; -ms-border-radius:6px; border-radius:6px;
}

div.warn p{ display:inline-block; padding:0; margin:0 auto; }
div.warn strong{ font-size:1.2em; }

div.warn.mi-success{ 				background-color:#e4f8dc; border-color:#009900; }
div.warn.mi-info{ 					background-color:#e5f0ff; border-color:#0066dd; }
div.warn.mi-warning{ 				background-color:#fff0e0; border-color:#f88f01; }
div.warn.mi-error{ 					background-color:#ffebeb; border-color:#ff0000; }
div.warn.mi-success p{ 				color:#009900 !important; }
div.warn.mi-info p{ 				color:#0066dd !important; }
div.warn.mi-warning p{ 				color:#f88f01 !important; }
div.warn.mi-error p{ 				color:#ff0000 !important; }

div.warn .fa{ 						font-size:24px; /*float:left; margin:-1px 8px -1px 0;*/ margin-right:8px; }

/* layout */
section, section div, label{ display:inline-block; width:100%; height:auto; box-sizing:border-box; }

div.section{ display:block; padding:10px 5px; margin:0 auto; }

div.descr{ min-height:30px; }
div.descr > label{ min-height:40px; }

div.important{
	display:inline-block; width:100%; box-sizing:border-box; padding:20px 15px; border:2px solid #333333; 
	-webkit-border-radius:6px; -khtml-border-radius:6px; -moz-border-radius:6px; -ms-border-radius:6px; border-radius:6px;
}

@media screen and (min-width: 720px){
	
	div.w-51, div.w-52{ float:left; width:49%; }
	div.w-51{ margin-right:1%; }
	div.w-52{ margin-left:1%; }
}

@media screen and (max-width: 720px){
	
	.hidden-lt-720{ display:none; }
}

hr{ height:0; width:100%; margin:30px auto 20px auto; border:none; /*border-top:2px dotted #cccccc;*/ }

/* form */
label{ padding:10px 0 5px 0; }

input[type=text], input[type=password], textarea, select{
	display:inline-block; width:100%; padding:10px 15px; margin:4px 0 0 1px; box-sizing:border-box; 
	font-size:1.05em;
	border:1px solid #333333; color:#333333; background:#ffffff; 
	border-radius:4px; -webkit-border-radius:4px; -khtml-border-radius:4px; -moz-border-radius:4px; -ms-border-radius:4px;
}
input[type=text].ccode{ 
	width:250px; padding:10px 20px; margin:10px 0 0 0; /*text-align:center;*/
	font-size:40px; letter-spacing:0.4em;
}

select{
	padding:8px 20px;
}
input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus{ 
	color:#a91d24; border:2px solid #a91d24; margin:3px 0 0 0; 
}

input[type=submit], input[type=button], .button, button, a.button{
	display:inline-block; box-sizing:border-box;
	font-size:1.05em; text-align:center; cursor:pointer;
	color:#ffffff; background:#a91d24; border:1px solid #a91d24;
	-webkit-transition: all 0.2s ease;-moz-transition: all 0.2s ease;-o-transition: all 0.2s ease;transition: all 0.2s ease;
	border-radius:4px; -webkit-border-radius:4px; -khtml-border-radius:4px; -moz-border-radius:4px; -ms-border-radius:4px;
}

input[type=submit]{ min-width:100px; padding:14px 32px; margin:20px auto; }
input[type=button], .button, button, a.button{ min-width:50px; padding:6px 12px; margin:4px 4px 4px auto; }

input[type=submit]:hover, input[type=button]:hover, .button:hover, button:hover, a:hover.button, 
input[type=submit]:active, input[type=button]:active, .button:active, button:active, a:active.button{ 
	text-decoration:none;
	color:#a91d24; background-color:#ffffff; border:1px solid #a91d24; 
}

/* btn-circle */
.btn-circle{
	text-decoration:none; text-align:center; padding:0 !important; margin:0 !important; width:25px; min-width:25px !important; height:25px; font-size:14px;
	-webkit-border-radius:50%; -khtml-border-radius:50%; -moz-border-radius:50%; -ms-border-radius:50%; border-radius:50%;
}
.btn-circle i{
	text-decoration:none; text-align:center; border:none !important; margin-right:4px;
	-webkit-transition: all .1s ease-in-out;
			transition: all .1s ease-in-out;
}
.btn-circle i{ 
	margin-right:0 !important; font-size:12px !important;
}
.btn-circle:hover{ }
.btn-circle:hover i{
	-webkit-transform: scale(1.2);
			transform: scale(1.2);
}

/* missing */
select.bg-missing option{
	border:1px solid #a91d24; color:#a91d24;
}

/* disabled */
input[type=submit].disabled, input[type=button].disabled,
input[type=submit].disabled:hover, input[type=button].disabled:hover, 
input[type=submit].disabled:active, input[type=button].disabled:active{
	background:#cccccc; color:#999999;
	background-image:linear-gradient(#CCC, #eee); cursor:not-allowed !important;
}

/* radio */
.radio{ 
	display:block; position:relative; cursor:pointer; padding:0 10px 8px 40px; float:left;
	-webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; 
}
.radio input{ position:absolute; opacity:0; cursor:pointer; height:0; width:0; }
.radiomark{ position:absolute; top:-6px; left:0; height:28px; width:28px; background-color:#ffffff; border:1px solid #a91d24; border-radius:50%; }
.radio:hover input ~ .radiomark{ background-color:#ffffff; }
.radio input:checked ~ .radiomark{ background-color:#a91d24; }
.radiomark:after{ content:""; position:absolute; display:none; }
.radio input:checked ~ .radiomark:after{ display:block; }
.radio .radiomark:after{ top:6px; left:6px; width:16px; height:16px; border-radius:50%; background:white; }

/* checkbox */
.checkbox{ 
	display:block; float:left; position:relative; width:25px; height:25px; padding:4px 6px 10px 35px; cursor:pointer;
	-webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;
}
.checkbox input{ position:absolute; opacity:0; cursor:pointer; height:0; width:0; }
.checkmark{ position:absolute; top:2px; left:2px; height:28px; width:28px; background-color:#ffffff; border:1px solid #a91d24; border-radius:5px; }
.checkbox:hover input ~ .checkmark{ background-color:#ffffff; }
.checkbox input:checked ~ .checkmark{ background-color:#a91d24; }
.checkmark:after{ content:""; position:absolute; display:none; }
.checkbox input:checked ~ .checkmark:after{ display:block; }
.checkbox .checkmark:after{ top:4px; left:9px; width:6px; height:12px; border:solid white; border-width:0 5px 5px 0; -webkit-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg); }

/* sign-pad */
.signature-pad{ position:relative; margin:8px 0 16px 0; }

@media (min-width:720px){ .signature-pad{ width:675px !important; } }
@media (max-width:720px){ .signature-pad{ width:100%; } }

.signpad{ 
	position:relative; overflow:auto; clear:both; border:2px solid #a91d24; padding:5px; margin-bottom:8px; width:100%; height:200px; box-sizing:border-box;
	-webkit-box-flex: 1; -ms-flex: 1; flex: 1;
	-webkit-border-radius:4px; -khtml-border-radius:4px; -moz-border-radius:4px; -ms-border-radius:4px; border-radius:4px;
}
.signpad canvas{ z-index:1; position:absolute; left:0; top:0; width:100%; height:100%; border:2px dashed #a91d24; box-sizing:border-box; }
.signpad.empty{ background-color: #333; }

.sp-overlay{ position:absolute; z-index:2; /*display:none;*/ width:100%; height:200px; top:0; left:0; right:0; bottom:0; background-color:rgba(55,55,55,0.80); }
.sp-overlay .fa{ position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); font-size:48px; }

.sp-disabled{ background: repeating-linear-gradient(-45deg, #e7e7e7, #e7e7e7 15px, #ededed 15px, #ededed 30px); cursor:not-allowed !important; }
.sp-default{ background:#eeeeee; }

/*button.sp-clear{ z-index:2; position:absolute; top:10px; right:10px; }
button.sp-save{ margin:10px 0 !important; }*/

