/**
 *
 * default.vic.css
 *
 * General CSS style sheet
 *
 * Last update:    20220920     20220906     20220613	20200213
 *
 */
 
/**
 * Verde CralCA : #00664b
 * Verde scuro: #00533d
 */

body {
    /*color: #333333;*/
    background-color: #fcfcfc;  /* verde CralCA */
    color: #000000;
    /*font-family: "Roboto Mono";*/
    font-family: sans-serif, "Liberation Sans", "Open Sans";
    font-size: 1.0em;
}


a {
   color: #000000;

}


a:visited {
	color: #000000;
}


h1 {
    font-weight: bolder;
    font-size: 2.0em;
}


h2 {
    font-style: italic;
    font-size: 1.2em;
}


h3 {
    font-style: italic;
    font-size: 1.1em;
}


h4 {
	font-size: 150%;
	line-height: 150%;
	border: 1px solid;
	border-radius: 5px;
	padding: 3.2rem 0.5rem;
}


div {
    /*border: 1px solid red;*/
}


div.wrapper {
    margin: auto;
    clear: both;
}


div.page-wrap {
    text-align: center;
}


div.logo, div.banner {
    display: block;
    margin: auto;
    text-align: center;
}


div.logo {
}


div.logo img.main-logo {
    width: 300px;
}


div.id-card {
    display: block;
    text-align: center;
    max-width: 500px;
    position: relative;
    margin: auto;
    padding: 20px;
    border-left: 0px;
    border-right: 0px;
}


div#vote-receipt.candidates-list p {
	margin: 2rem;
}


div.banner-wrap {
    /* border-bottom: 2px solid #00664b; */
    border-bottom: 2px solid #cccccc;
    margin-top: 30px;
    margin-bottom: 20px;
}


div.banner-wrap h1 {
    text-align: center;
    margin: 20px 50px 20px 50px;
}


div.banner {
    text-align: center;
    display: block;
    width: 100%;
}


label.login-cf,
label.user-cf {
    width: 100%;
    text-align: center;
    font-weight: 600;
    font-size: 1.5em;
    font-style: normal;
}


input#login-cf,
div.user-cf,
input#login-otp,
input#login-user,
input#login-psw,
input#user-cf,
input#user-email,
input#user-list,
select.user-list,
textarea#user-note {
    width: 90%;
    border: 2px solid #b0b0b0;
    margin: 10px 0px 25px;
    line-height: 2.5em;
    text-align: center;
    font-weight: 600;
    font-size: 1.5em;
    font-style: normal;
    height: 2em;
}


textarea#user-note {
    height: 5rem;
    font-weight: 400;
    line-height: 100%;
}


input#login-cf:focus,
input#login-otp:focus,
input#login-user:focus,
input#login-psw:focus {
    border-left: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    border-top: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    color: #00664b;
    height: 2em;
}


#btn-start-submit,
#btn-login-cf-submit,
#btn-login-otp-submit,
#btn-login-adm-submit,
#btn-vote-submit,
div.id-card button  {
    /*width: 100%;*/
    text-align: center;
    font-weight: 400;
    font-size: 1.5em;
    font-style: normal;
    margin: 20px 5px;
    display: inline-block;
    padding: .7rem;
}


label.login-otp,
label.content-title {
    width: 100%;
    text-align: center;
    font-weight: 600;
    font-size: 1.5em;
    font-style: normal;
    margin-top: 10px;
    line-height: 150%;
}


input#login-otp {
    width: 85%;
    border: 2px solid #b0b0b0;
    margin: 15px 0px;
    line-height: 2em;
    text-align: center;
    font-weight: 600;
    font-size: 1.5em;
    font-style: normal;
}


div.footer {
    /*border-top: 2px solid #00664b;*/
    border-top: 2px solid #cccccc;
    text-align: center;
    clear: both;
    margin-top: 1em;
    padding-top: 0.5em;
}


h3.candidates {
    text-align: center;
}



div.error-msg {
    color: #ff3e3e;
    padding: 0.5em 0em;
    font-weight: 600;
}


div.lists-thumb-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	/*row-gap: 1rem;*/
	/*column-gap: .5rem;*/
}


div.lists-thumb {
    background-color: #cccccc;
    border: 1px solid black;
    cursor: pointer;
    width: 8rem;
    padding: .5rem .2rem;
    min-height: 4rem;
    border-radius: 5px;
    margin: .5rem;
}



div.candidates-list-wrapper {
    border: 1px;
    text-align: center;
}


div.candidates-list-card {
    /*width: 100%;*/
    min-width: 18em;
    /*display: inline-block;*/
    display: none;
    border: 1px solid #333333;
    margin: 5px;
    padding: 10px 5px;
}


p.voting-label {
    font-weight: normal;
    font-style: italic;
    font-size: 90%;
    padding: .2rem .2rem;
}



table.candidates-list {
    border: 0px;
    margin: 0px;
    text-align: center;
    width: 100%;
    line-height: 1.5em;
}


table.candidates-list thead tr th {
    border-bottom: 3px solid #333333;
    padding: 0px;
    background-color: #fcfcfc;
}



table.candidates-list tr td.candidates-list {
    text-align: left;
    padding: 3px 10px;
}


table.candidates-list tr th input[type="checkbox"] + label,
table.candidates-list tr td input[type="checkbox"] + label {
    padding: 0.1em;
}



table.candidates-list tr th input[type="checkbox"]:checked + label,
table.candidates-list tr td input[type="checkbox"]:checked + label {
    padding: 0.1em;
    background-color: #cccccc;
}



div.vote-results {
    /*border: 1px solid #00664b;*/
    margin: 10px 0px;
    padding: 15px 5px;
    text-align: center;
}

table.vote-results {
    border: 1px solid #00533d;
    padding: 5px;
    min-width: 400px;
    width: 100%;
}


table.vote-results tr th {
    line-height: 2em;
}


table.vote-results tr td {
    text-align: center;
    padding: 5px;
}


table.vote-results tr td.vote-results {
    text-align: left;
    padding: 5px 10px;
}


/*table.vote-results tr:nth-child(even) {
}


table.vote-results tr:nth-child(odd) {
    background-color: #cccccc;
}*/


table.vote-results tr td.list-name {
    text-align: center;
    padding: 5px 10px;
    background-color: #cccccc;
    font-weight: bold;
}


table.vote-results tr td.step {
    text-align: center;
    padding: 1rem 1rem 1rem;
    border: 1px solid black;
    font-weight: bold;
    font-size: 125%;
}


div.overlay-msg {
    background: lightgreen;
    border: 2px solid green;
    position: fixed;
    width: 50%;
    height: 50%;
    border-radius: 25px;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 999;
    visibility: hidden;
    padding: 2em;
}


div.overlay-msg .content {
    height: 90%;
}


div.overlay-msg div.overlay-footer {
    height: 10%;
    min-height: 1em;
    text-align: center;
}



div#overlay-wait {
    background-color: rgba(32, 32, 32, 1);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1001;
}


div#overlay-wait .msg {
    text-align: center;
    width: auto;
    height: auto;
    font-weight: bold;
    color: white;
    padding-top: 20%;
}


div#instruction-msg {
    padding: 0.9rem;
    margin: 1em auto;
    border: 1px solid #222222;
    background-color: #fcfcfc;
    max-width: 80%;
    text-align: left;
    border-radius: 5px
}


div#debug-log {
    background-color: rgba(251, 251, 151, .5);
    position: fixed;
    bottom: 0px;
    padding: 10px;
    width: auto;
    margin: 10px;
}


div.list-stats-wrapper{
	border: 2px solid #00533d;
	margin: 10px 0px;
	padding: 20px 0px;
}


span.list-stats-title {
	font-weight: bold;
	text-decoration: underline;
}


div.admin-menu {
    padding: 50px;
    border: 2px solid #cccccc;
    background-color: #cccccc;
    margin: 15px;
}


div.admin-menu-nav {
    padding: 10px 5px;
    border: 2px solid #00533d;
    margin: 15px auto;
    max-width: 500px;
}


li {
	/*line-height: 3em;*/
	line-height: 1.5em;
	text-align: left;
}


ul.instructions {
    padding: .2rem 1.5rem;
}


ul.instructions li {
    line-height: 1.5rem;
}



ul.dump-list li {
    line-height: 2em;
}


div.instructions {
    font-size: small;
    max-width: 500px;
    margin: auto;
}


div.send-password {
    border: 1px solid #cccccc;
    padding: .5rem 2rem;
    line-height: 2rem;
    background-color: #eee;
    border-radius: .5rem;
}


span.inline-btn {
    border: 1px solid white;
    border-radius: 6px;
    line-height: 1.5em;
    display: inline-block;
    padding: 5px;
    background-color: #cccccc;
    cursor: pointer;
}


span.vote-receipt {
    font-size: 150%;
}


pre.pre-debug {
	color: #1111ee;
}


div.comingsoon {
    font-size: 150%;
    line-height: 125%;
    border: 1px solid black;
    border-radius: .5rem;
    background-color: #ccc;
    padding: .5rem;
}


div.warning {
    color: #b50202;
    padding: 1rem 1rem;
    border: 1px solid #b50202;
    border-radius: .5rem;
}
