form{
	width: 600px;
	/*height: 400px;*/
	/*border: 1px solid;*/
	box-shadow: 0 0 3px #000;
	color: #444;
	background-color: #fff;
}

@page{
	margin: 0;
}

@media print {
	@page {
        size: A4;
        margin: 0;
    }
    body * {
        visibility: hidden;
    }
    #wrapper, #wrapper * {
        visibility: visible;
    }
}

img{
	width: 25mm;
	height: 35mm;
	object-fit: cover;
	/*border: 1px solid;*/
}

.group{
	margin-bottom: 20px;
}

.group .name{
	font-family: sans-serif;
	margin: 3px 10px;
	font-size: 25px;
	color: #555;
	border-bottom: 2px solid #ddd;
}

.group .subname{
	font-size: 14px;
	color: #888;
	text-indent: 2em;
}

.group .subname p{
	margin: 0 !important;
}

.form-title{
	font-family: Verdana;
	width: 120px;
	font-size: 23px;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
}

.form-title.sm{
	width: 100px;
	font-size: 19px;
}

form input[type='text'],
form input[type='number'],
select, 
textarea{
	width: calc(100% - 140px);
	background: transparent;
	font-size: 19px;
	border: 1px solid #355;
	color: #000;
	padding: 3px;
	border-radius: 3px;
	box-shadow: 0 0 1px #455;
}

form .row input[type="text"],
form .row input[type="number"],
select,
textarea.sm{
	width: calc(100% - 140px);
}

.optional{
	border: 1px solid #bcc !important;
	box-shadow: 0 0 1px #cdd !important;
}

textarea{
	height: 100px;
}


form .row input[type="number"]{
	border: 1px solid #338;
	box-shadow: 0 0 1px #449;
}

form fieldset{
	border: none;
}

form i{
	margin: 4px 10px;
	width: 27.5px;
	min-width: 27.5px;
	height: 27.5px;
	min-height: 27.5px;
	display: inline-flex !important;
	justify-content: center;
	align-items: center;
	background-color: #444;
	font-size: 15px;
	color: #fff;
	border-radius: 100%;
}

form i.sm{
	margin: 2px 3px;
	width: 22px;
	min-width: 22px;
	height: 22px;
	min-height: 22px;
	font-size: 12px;
}

form .row{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
	padding: 5px 0;
}

.placeholder{
	width: 50%;
	min-width: 50%;
}

.r{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-around;
}

.dismissible{
	background: linear-gradient(to bottom, #fff, #ddd);
	padding-top: 7.5px;
	padding-bottom: 7.5px;
}

.dismiss-area{
	width: 100%;
	height: 30px;
	display: flex;
	justify-content: row;
	align-items: center;
}

.dismiss-area .dismisser{
	margin-left: auto;
	margin-right: 15px;
	font-size: 20px;
}

.opa{
	cursor: pointer;
	transition: opacity 200ms ease-in;
}

.opa:hover{
	opacity: 0.7;
}

.factory .adder{
	font-family: Verdana;
	width: 100%;
	height: 40px;
	display: flex;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
	background-color: #ddd;
	color: #777;
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 2px;
	box-shadow: 0 0 2px #000;
}

.factory .adder span{
	margin-left: 5px;
}

form .form-bottom{
	margin-top: 10px;
	margin-bottom: 20px;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

form .form-bottom .btn{
	white-space: nowrap;
	width: 300px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	font-family: Georgia;
	font-size: 17px;
	border: 1px solid;
	margin-top: 10px;
	cursor: pointer;
	user-select: none;
	letter-spacing: 1px;
	transition: background-color 200ms ease-in,
		color 200ms ease-in;
}

.btn.btn-change{
	color: #e5ae37;
}

.btn.btn-change:hover{
	background-color: #e5ae37;
	color: #fff;
}

.btn.btn-pdf{
	color: #fc4f30;
}

.btn.btn-pdf:hover{
	background-color: #fc4f30;
	color: #fff;
}

.btn.btn-save{
	color: orchid;
}

.btn.btn-save:hover{
	background-color: orchid;
	color: #fff;
}

.btn.btn-ai{
	color: #00bfd5;
}

.btn.btn-ai:hover{
	background-color: #00bfd5;
	color: #fff;
}

/* popup */
.popup-right{
	position: fixed;
	z-index: 200000;
	right: 0;
	top: 0;
	width: 625px;
	height: 100vh;
	display: flex;
	flex-direction: row;
	align-items: center;
	/*justify-content: center;*/
	/*border: 1px solid;*/
	transition: right 350ms ease-out;
}

.popup-right.collapse{
	right: -600px;
}

.popup-right form{
	margin-left: 25px;
	overflow: auto;
	height: 100vh;
}

.popup-right .trigger span.arrow{
	position: absolute;
	z-index: 1000;	
	font-size: 30px;
	min-width: 50px;
	min-height: 50px;
	background-color: #777;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	border-radius: 100%;
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 200ms ease-in;
}

.popup-right .trigger span.arrow:hover{
	opacity: 1;
}

img#img-mask{
	margin: 0 !important;
}

