@charset "utf-8";
/* CSS Document */

* {
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body {
  font-size:0.9em;
}

h1, h2, h3, h4, h5, h6, p {
	margin:0;
	padding:0;
}

h1 {
  font-size:2em;
}

ul {
  padding-left:16px;
  margin-bottom:10px;
}

a, a:visited {
	text-decoration:none;
}

a:hover, a:active {
	text-decoration:underline;
}

button,
a.button, 
a.button:visited {
  cursor:pointer;
  text-decoration:none;
  padding:10px;
  transition:all .5s ease-out;
  border-radius:5px;
  text-transform:uppercase;
  width:100%;
}

@media (min-width: 1024px) {
  button,
  a.button, 
  a.button:visited {
    width:auto;
  }
}

button:hover,
a.button:hover, 
a.button:active {
  text-decoration:none;
  transition:all .5s ease-out;
}

button[disabled],
a.button.disabled {
  cursor:default;
}

input[type='text'],
input[type='password'],
select,
textarea {
  outline:0;
  width:auto;
  padding:8px;
  border-radius:5px;
  font-size:1em;
  line-height:normal;
}

textarea {
  height:7.2em;
}

input[type='checkbox'] {
  outline:0;
  border:0;
}

span.details, 
span.default, 
span.chars {
  font-size:0.8em;
  font-style:italic;
  display:block;
  width:100%;
  text-align:right;
}

p.butLine {
  margin:15px 0;
}

p.responseForm.ok {
  color:var(--green);
}

p.responseForm.error {
  color:var(--red);
}

/*MESSAGE, PROMPT, NOTIFICATION*/
#prompt, 
#message {
  display:none;
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:999;
}

#prompt-box, 
#message-box {
  position: fixed;
  top:50%;
  left:50%;
  width:90%;
  height:90vh;
  margin-left:-45%;
  margin-top:-45vh;
  border-radius:5px;
  z-index:9999;
}

@media (min-width: 1024px) {
  #prompt-box, 
  #message-box {
    width:400px;
    height:300px;
    margin-left:-200px;
    margin-top:-150px;
  }
}

#prompt-box h1, 
#message-box h1 {
  padding:10px;
  margin:0;
  font-size:1em;
  text-transform:uppercase;
  display:flex;
  justify-content:space-between;
  border-radius:5px 5px 0 0;
}

#prompt-box h1 a.item_close,
#message-box h1 a.item_close {
  cursor:pointer;
  position:relative;
  width:13.5px;
  height:18px;
  text-decoration:none;
}

#prompt-box h1 a.item_close::after,
#message-box h1 a.item_close::after {
  font-family:"Font Awesome 6 Free";
  font-size:18px;
  font-weight:bold;
  line-height:1;
  position:absolute;
  top:0;
  right:0;
  content:"\f00d";
}

#prompt-box div.content,
#message-box div.content {
	padding:10px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
  height:calc(100% - 42px);
}

#prompt-box div.butLine,
#message-box div.butLine {
  bottom:10px;
  width:100%;
  text-align:center;
  line-height:3;
  font-size:0.8em;
}

#message-box div.butLine a.button {
  padding:5px;
}

#message-box.big {
  width:90%;
  height:600px;
  margin-left:-45%;
  margin-top:-300px;
}

body.login {
  background-size: cover;
}

/*CONTENT*/
#wrapper {
  position:absolute;
  top:0;
  width:100%;
  min-height:100vh;
  z-index:9;
  transition:margin-left .5s, width .5s;
  -webkit-transition:margin-left .5s, width .5s;
}

#wrapper.resized {
 
}

@media (min-width: 1024px) {
  #wrapper.resized {
    margin-left:230px;
    width:calc(100% - 230px);
    transition:margin-left .5s, width .5s;
    -webkit-transition:margin-left .5s, width .5s;
  }
}

body.login #wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (min-width: 1024px) {
  body.login #wrapper {
    width: 450px;
    right: 0;
  }
}

#content {
  padding:20px 20px 0 40px;
  min-height:calc(100vh - 40px);
}

@media (min-width: 1024px) {
  #content {
    padding:50px;
    min-height:calc(100vh - 100px);
  }
}

body.login #content {
  min-height:auto;
  height: 400px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

body.login #content img.logo {
  position:absolute;
  width:70%;
  top:20px;
  right:15%;
}

@media (min-width: 768px) {
  body.login #content img.logo {
    width:50%;
    right:25%;
  }
}

@media (min-width: 1024px) {
  body.login #content img.logo {
    width:200px;
    right:20px;
  }
}

body.login h1 {
  margin:20px 0;
}

@media (min-width: 1024px) {
  body.login p.switchLang,
  body.login p.switchForm {
    font-size: 0.85em;
  }
}

body.login p.switchLang {
  text-align: right;
}

body.login p.switchForm {
  margin-top: 50px;
}

body.login p#print-device {
  position: absolute;
  bottom: 20px;
  right: 20px;
  font-size: 0.7em;
}

body.login p#print-device.ok {
  color:var(--green);
}

body.login p#print-device.no {
  color:var(--red);
}

body.login #recovery,
body.login #device {
  display:none;
}

body.login #content input {
  width:100%;
}

body.login #content p.password {
  position:relative;
}

body.login #content .toggle-password {
  position:absolute;
  right:0;
  top:60%;
  cursor:pointer;
  width:30px;
}

body.login #content .toggle-password:after {
  content:"\f06e";
  font-family:"Font Awesome 6 Free";
  position:absolute;
  bottom:-5px;
  left:calc(50% - 10px);
}

body.login #content .toggle-password.active:after {
  content:"\f070";
}

body.admin #content h1 a[title]:hover::after,
body.admin #content table td.actions a[title]:hover::after,
body.admin #content a.item_delfile[title]:hover::after {
  content: attr(title);
  font-weight: normal;
  position: absolute;
  top: -15px;
  right: 0;
  font-size:10px;
  white-space: nowrap;
  padding:2px;
  text-transform: uppercase;
  z-index:99;
}

body.admin #content .boxLeft, 
body.admin #content .boxRight {
  background:var(--white);
  width:100%;
  border-radius: 10px;
}

body.admin #content .boxRight {
  margin-top:20px;
}

@media (min-width: 1024px) {
  body.admin #content .boxLeft, 
  body.admin #content .boxRight {
    width:calc(50% - 20px);
  }
}

@media (min-width: 1024px) {
  body.admin #content .boxLeft {
    float: left;
  }
}

@media (min-width: 1024px) {
  body.admin #content .boxRight {
    margin-top:0;
    margin-left:calc(50% + 20px);
    margin-bottom:20px;
  }
}

@media (min-width: 1024px) {
  body.admin #content .boxRight::last-of-type {
    margin-bottom:0px;
  }
}

body.admin #content h1 {
  margin-bottom:10px;
}

body.admin #content .boxLeft h2,
body.admin #content .boxRight h2 {
  font-size:1rem;
  font-family: var(--body-title-font-1);
  padding:10px;
  background: var(--bg-box-head);
  color:var(--body-title-color-1);
  border-radius: 10px 10px 0 0;
}

body.admin #content .boxRight h2 {
  background: var(--bg-box2-head);
}

body.admin #content .boxLeft h3,
body.admin #content .boxRight h3 {
  font-size:1rem;
  font-family: var(--body-title-font-1);
  color:var(--body-text-color-1);
  margin-bottom:10px;
}

body.admin #content .boxLeft div.subrecord {
  padding: 10px;
  margin-bottom: 20px;
  background: var(--body-bg-color-1);
  border-radius: 10px;
}

body.admin #content .boxLeft .inner-box,
body.admin #content .boxRight .inner-box {
  padding:10px;
}

body.admin #content .boxRight .inner-box .edit {
  margin-top:10px;
}

body.admin #content .boxLeft label,
body.admin #content .boxRight label,
body.admin #content .pre_list label {
  display:block;
  width:100%;
}

@media (min-width: 1024px) {
  body.admin #content .boxLeft label,
  body.admin #content .boxRight label,
  body.admin #content .pre_list label {
    display:inline-block;
    width:160px;
    line-height: 1em;
  }
}

body.admin #content .boxLeft label.lang,
body.admin #content .boxRight label.lang {
  padding-left:25px;
  background-size: contain;
  background-repeat: no-repeat;
}

body.admin #content .boxLeft label.lang.it,
body.admin #content .boxRight label.lang.it {
  background-image: url("/uploads/assets/flags/flag_it.png");
}

body.admin #content .boxLeft label.lang.en,
body.admin #content .boxRight label.lang.en {
  background-image: url("/uploads/assets/flags/flag_en.png");
}

body.admin #content .boxLeft label.lang.de,
body.admin #content .boxRight label.lang.de {
  background-image: url("/uploads/assets/flags/flag_de.png");
}

body.admin #content .boxLeft label.lang.fr,
body.admin #content .boxRight label.lang.fr {
  background-image: url("/uploads/assets/flags/flag_fr.png");
}

body.admin #content .boxLeft label.lang.es,
body.admin #content .boxRight label.lang.es {
  background-image: url("/uploads/assets/flags/flag_es.png");
}

body.admin #content .boxLeft label.lang.cn,
body.admin #content .boxRight label.lang.cn {
  background-image: url("/uploads/assets/flags/flag_cn.png");
}

body.admin #content .boxLeft input[type="checkbox"] + label,
body.admin #content .boxRight input[type="checkbox"] + label,
body.admin #content .boxLeft input[type="radio"] + label,
body.admin #content .boxLeft input[type="radio"] + label {
  width: calc(100% - 30px);
}

body.admin #content .boxLeft .cke,
body.admin #content .boxRight .cke {
  display: inline-block;
  width: calc(100% - 167px);
  vertical-align: text-top;
}

body.admin #content .boxLeft div.cke-view,
body.admin #content .boxRight div.cke-view {
  visibility: visible;
  margin-bottom: 30px;
}

body.admin #content .boxLeft div.cke-view div,
body.admin #content .boxRight div.cke-view div {
  display: inline-block;
    width: calc(100% - 167px);
    vertical-align: text-top;
    visibility: visible;
}

body.admin #content .boxLeft input,
body.admin #content .boxLeft select,
body.admin #content .boxLeft textarea,
body.admin #content .boxRight input,
body.admin #content .boxRight select,
body.admin #content .boxRight textarea,
body.admin #content .pre_list input,
body.admin #content .pre_list select,
body.admin #content .group select {
  padding: 5px;
  border-radius:5px;
  width: 100%;
}

@media (min-width: 1024px) {
  body.admin #content .boxLeft input,
  body.admin #content .boxLeft select,
  body.admin #content .boxLeft textarea,
  body.admin #content .boxRight input,
  body.admin #content .boxRight select,
  body.admin #content .boxRight textarea,
  body.admin #content .pre_list input,
  body.admin #content .pre_list select,
  body.admin #content .group select {
    width: calc(100% - 165px);
  }
}

body.admin #content .boxLeft input[type=text] {
  padding:8px 5px;
}

body.admin #content .boxLeft input[type=text].autoplus {
  width: calc(100% - 195px);
}

body.admin #content .boxLeft textarea,
body.admin #content .boxRight textarea {
  vertical-align: top;
  min-height: 200px;
}

body.admin #content .boxLeft input[type=checkbox],
body.admin #content .boxRight input[type=checkbox],
body.admin #content .pre_list input[type=checkbox],
body.admin #content .boxLeft input[type=radio],
body.admin #content .boxRight input[type=radio] {
  width:auto;
  margin-right:10px;
}

body.admin #content .boxLeft input.num,
body.admin #content .boxRight input.num {
  width:100px;
}

body.admin #content .boxLeft input.calendar,
body.admin #content .boxRight input.calendar,
body.admin #content .boxLeft input.hour,
body.admin #content .boxRight input.hour {
  width:150px;
}

body.admin #content .boxLeft input.error, 
body.admin #content .boxRight input.error,
body.admin #content .boxLeft select.error, 
body.admin #content .boxRight select.error, 
body.admin #content .boxLeft textarea.error, 
body.admin #content .boxRight textarea.error,
body.admin #content .boxLeft p.row.error div.cke, 
body.admin #content .boxRight p.row.error div.cke {
  border-color:var(--red);
}

body.admin #content .boxLeft span.details, 
body.admin #content .boxLeft span.default, 
body.admin #content .boxLeft span.chars, 
body.admin #content .boxRight span.details, 
body.admin #content .boxRight span.default, 
body.admin #content .boxRight span.chars {
  font-size:0.8em;
  font-style:italic;
  display:block;
  width:100%;
  text-align:right;
}

body.admin #content .boxLeft p.view,
body.admin #content .boxRight p.view {
  margin-bottom: 30px;
}

body.admin #content .boxLeft p.view:last-of-type,
body.admin #content .boxRight p.view:last-of-type {
  margin-bottom:0;
}

body.admin #content .boxLeft p.view img {
  width:50%;
}

@media (min-width: 1024px) {
  body.admin #content .boxLeft p.view img {
    width:calc(50% - 175px);
  }
}

body.admin #content a.item_ins,
body.admin #content a.item_ins:visited,
body.admin #content a.item_filter,
body.admin #content a.item_filter:visited,
body.admin #content a.item_xls,
body.admin #content a.item_xls:visited,
body.admin #content a.item_options,
body.admin #content a.item_options:visited,
body.admin #content a.item_view,
body.admin #content a.item_view:visited,
body.admin #content a.item_attendance,
body.admin #content a.item_attendance:visited,
body.admin #content a.item_entrances,
body.admin #content a.item_entrances:visited,
body.admin #content a.item_list,
body.admin #content a.item_list:visited,
body.admin #content a.item_back,
body.admin #content a.item_back:visited,
body.admin #content a.item_upd, 
body.admin #content a.item_upd:visited,
body.admin #content a.item_active, 
body.admin #content a.item_active:visited,
body.admin #content a.item_del, 
body.admin #content a.item_del:visited,
body.admin #content a.item_delfile, 
body.admin #content a.item_delfile:visited,
body.admin #content a.item_plus,
body.admin #content a.item_plus:visited {
  cursor: pointer;
  position: relative;
  font-family: var(--fontawesome-free);
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  float: right;
  padding: 5px;
  /*border: 2px solid var(--darkBlueHex);*/
  border-radius: 5px;
  margin-left: 5px;
  transition: .3s;
}

body.admin #content a.item_delfile {
  position:absolute;
}

body.admin #content a.item_ins:hover,
body.admin #content a.item_ins:active,
body.admin #content a.item_filter:hover,
body.admin #content a.item_filter:active,
body.admin #content a.item_xls:hover,
body.admin #content a.item_xls:active,
body.admin #content a.item_options:hover,
body.admin #content a.item_options:active,
body.admin #content a.item_view:hover,
body.admin #content a.item_view:active,
body.admin #content a.item_attendance:hover,
body.admin #content a.item_attendance:active,
body.admin #content a.item_entrances:hover,
body.admin #content a.item_entrances:active,
body.admin #content a.item_list:hover,
body.admin #content a.item_list:active,
body.admin #content a.item_back:hover,
body.admin #content a.item_back:active,
body.admin #content a.item_upd:hover, 
body.admin #content a.item_upd:active,
body.admin #content a.item_active:hover, 
body.admin #content a.item_active:active,
body.admin #content a.item_del:hover, 
body.admin #content a.item_del:active,
body.admin #content a.item_delfile:hover, 
body.admin #content a.item_delfile:active,
body.admin #content a.item_plus:hover,
body.admin #content a.item_plus:active {
  /*background: var(--darkRedHex);*/
  /*border: 2px solid var(--darkRedHex);*/
  color:var(--link-color);
  text-decoration: none;
}

body.admin #content a.item_ins:before,
body.admin #content a.item_plus:before {
  content: "\f067";
}

body.admin #content a.item_filter:before {
  content: "\f0b0";
}

body.admin #content a.item_xls:before {
  content: "\f1c3";
}

body.admin #content a.item_back:before {
  content: "\f04a";
}

body.admin #content a.item_list:before {
  content: "\f03a";
}

body.admin #content a.item_options:before {
  content: "\f141";
}

body.admin #content a.item_view:before {
  content: "\f06e";
}

body.admin #content a.item_upd:before {
  content: "\f303";
}

body.admin #content a.item_active.no::before {
	content: "\f0eb";
  color:#eee;
}

body.admin #content a.item_active.ok::before {
	content: "\f0eb";
}

body.admin #content a.item_delfile:before,
body.admin #content a.item_del:before {
  content: "\f2ed";
}

/*PRELIST AND POSTLIST*/
body.admin #content .pre_list {
  text-align: left;
  margin-bottom: 20px;
  display: none;
  padding: 20px 10px 10px 10px;
  border-radius: 10px;
}

body.admin #content .pre_list.fixed {
  position:sticky;
  margin-bottom: 0px;
  z-index:9;
}

body.admin #content .pre_list .box {
	display:inline-block;
}

body.admin #content .pre_list .content {
  display:flex;
	align-items:flex-end;
	justify-content:space-between;
}

body.admin #content .pre_list div#buttons {
  white-space: nowrap;
  text-align: right;
  display:inline-block;
}

body.admin #content .pre_list div#buttons button {
  font-size: 0.8em;
  padding: 6px;
  margin-bottom:10px;
}

body.admin #content .pre_list select, 
body.admin #content .pre_list label, 
body.admin #content .pre_list input {
  width:auto;
  margin-bottom:10px;
}

body.admin #content .pre_list input.search {
  width:300px;
}

body.admin #content .post_list {
	line-height:40px;
  margin-top:20px;
  height:40px;
	width: 100%;
}

body.admin #content div.pager,
body.admin .content div.pager {
  line-height: 40px;
}

body.admin #content .post_list select {
  padding: 5px;
  border-radius: 5px;
}

body.admin #content div.pager span,
body.admin .content div.pager span {
  cursor: pointer;
  margin-right: 3px;
}

body.admin #content .post_list a, 
body.admin #content .post_list a:visited,
body.admin #content div.pager span,
body.admin .content div.pager span {
  display: inline-block;
  min-width: 34px;
  line-height: 0.6em;
  padding: 10px 3px;
  border-radius: 5px;
  text-decoration: none;
  text-align:center;
  transition: .3s;
}

body.admin #content .post_list a:active, 
body.admin #content .post_list a:hover,
body.admin #content div.pager span:hover,
body.admin .content div.pager span:hover {
	text-decoration:none;
}

body.admin #content .post_list a.current,
body.admin #content div.pager span.active,
body.admin .content div.pager span.active {
  border: 1px solid var(--link-color);
	background: var(--link-color);
  color:var(--white);
}

/*TABLES*/
body.admin #content table.table-list,
body.admin #content table.table-sublist {
  border: 0;
  border-spacing: 0px;
  border-collapse: separate;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

body.admin #content table.table-list caption h1,
body.admin #content table.table-sublist caption h1 {
  text-align:left;
}

body.admin #content table.table-sublist caption h1 {
  margin: 0;
}

body.admin #content h1 .group {
  float:right;
  width:200px;
  font-size: 0.45em;
}

body.admin #content h1 .group select {
  width:100%;
}

body.admin #content table.table-list thead tr th {
  padding:10px;
}

body.admin #content table.table-sublist thead tr th {
  padding:5px;
  font-weight:normal;
  font-size:1em;
}

body.admin #content table.table-list thead tr th:first-child, 
body.admin #content table.table-sublist thead tr th:first-child {
  border-top-left-radius: 10px;
}

body.admin #content table.table-list thead tr th:last-child,
body.admin #content table.table-sublist thead tr th:last-child {
  border-top-right-radius: 10px;
}

body.admin #content table.table-list tbody tr td,
body.admin #content table.table-sublist tbody tr td {
  text-align: center;
}

body.admin #content table.table-list thead tr th.id,
body.admin #content table.table-list tbody tr td.id,
body.admin #content table.table-sublist thead tr th.id,
body.admin #content table.table-sublist tbody tr td.id {
  text-align: left;
  width: 30px;
}

body.admin #content table.table-list thead tr th.thumb,
body.admin #content table.table-list tbody tr td.thumb,
#content table.table-sublist thead tr th.thumb,
#content table.table-sublist tbody tr td.thumb {
  width: 100px;
}

body.admin #content table.table-list tbody tr td.thumb img,
body.admin #content table.table-sublist tbody tr td.thumb img {
  cursor:pointer;
  width:100%;
}

body.admin #content table.table-list tbody tr td.thumb span.blank {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 80px;
  border-radius: 50%;
}

body.admin #content table.table-list tbody tr td,
body.admin #content table.table-sublist tbody tr td {
  padding:10px;
	vertical-align: middle;
}

body.admin #content table.table-list span.highlight {
  background: gold;
}

body.admin #content table.table-list tbody div.info {
  overflow:hidden;
}

body.admin #content table.table-list span.admin,
body.admin #content table.table-sublist span.admin {
  border-radius: 5px;
  font-size: 0.7em;
  padding: 3px;
  margin: 3px;
  line-height: 2em;
}

body.admin #content table.table-list span.tag,
body.admin #content table.table-sublist span.tag {
  display: inline-block;
  border-radius: 5px;
  font-size: 0.9em;
  padding: 3px;
  margin: 3px;
}

body.admin #content table.table-list span.tag a,
body.admin #content table.table-list span.tag a:visited, 
body.admin #content table.table-list span.tag a:hover, 
body.admin #content table.table-list span.tag a:active {
  text-decoration: none;
}

body.admin #content table.table-list span.tag.event {
  font-size: 1em;
}

body.admin #content table.table-list span.blank:after {
  font-family: var(--fontawesome-free);
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
  width: 50px;
  height: 50px;
  font-size: 50px;
  content: "\f007";
}

body.admin #content table.table-list thead tr th.actions,
body.admin #content table.table-list tbody tr td.actions {
  width:185px;
  position: relative;
}

body.admin #content table.table-list td.actions ul.dropdown {
  display:none;
  list-style: none;
  margin: 0;
  position: absolute;
  top: calc(50% + 20px);
  right: 10px;
  padding: 5px 0;
  width: calc(100% + 20px);
  z-index: 9;
  border-radius: 5px;
}

body.admin #content table.table-list td.actions ul.dropdown li {
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  line-height: 2em;
  padding:0 10px;
  font-size: 0.95em;
  width: calc(100% - 20px);
  border-radius: 5px;
  margin: 5px auto;
  transition:0.3s;
}

body.admin #content table.sortable tbody tr {
  cursor: move;
}

body.admin #content table.sortable td.img {
  width:50px;
}

body.admin #content table.sortable img.thumb {
  width:50px;
}

body.admin #content table label.excel_upload {
  display:inline-block;
  position: relative;
  cursor: pointer;
  outline: 0;
  padding:8px 6px;
  padding-right: 40px;
  width: calc(100% - 86px) !important;
  line-height:1.15em;
  text-decoration:underline;
}

body.admin #content table #but_upload {
  display:none;
  font-size:0.8em;
}