html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  height:100%;
}

* {
  box-sizing: border-box;

  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

*:focus {
  outline: none;
}

:after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
/*  font: 26px 'Lucida Sans Unicode', 'Trebuchet MS', Arial, Helvetica;    */
  font: 26px Arial;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  padding: 0;
  margin: 0;
  width: 100%;
  height:100%;
  color: #404040;

  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -o-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  overflow-x: hidden;
/*  display:table;*/
  background-color: #d9dee2;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#e6f4f9), to(#2f77df7a));
  background-image: -webkit-linear-gradient(top, #e6f4f9, #2f77df7a);
  background-image: -moz-linear-gradient(top, #e6f4f9, #2f77df7a);
  background-image: -ms-linear-gradient(top, #e6f4f9, #2f77df7a);
  background-image: -o-linear-gradient(top, #e6f4f9, #2f77df7a);
  background-image: linear-gradient(top, #e6f4f9, #2f77df7a);    
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.main {
  width: 100%;
/*  height:100%;*/
/*  padding-top:120px;
  padding-bottom:160px;
*/
  margin: 0 auto 0 auto;
  z-index: 10 !important;
/*  overflow: auto;*/
}

#main_inner {
  z-index: 500 !important;
/*  height:100%;*/
}

fieldset
{
    border: 0;
    padding: 0;
    margin: 0;
}

ul {
  list-style-type: none !important;
  margin: 0;
  padding: 0;
}

* {
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}

th, td { padding: 0; }

table { border-collapse: collapse; border-spacing: 0; border: none; } 

img {
  max-width: none;
  border: 0;
  border-style: none;
  padding: 0;
  margin: 0;
  vertical-align: middle;
  background: transparent; 
}

:-moz-any-link:focus {
  outline: none !important;
}

.hidden { display: none; }

.visible { display: block; }

.mask {
    display: none;
    background: #000;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    cursor: pointer;
    z-index: 990 !important;
}

.message-popup {
    display: none;
    position: absolute;
    top: 420px;
    left: 2%;
    width: 96%;
    z-index: 9999 !important;
    background: white;
    border-bottom: 1px solid;
}

button {
  outline: none;
  touch-action: manipulation;
/*
  -webkit-appearance: none;
  -moz-appearance: none;
*/
}

button:hover {
  cursor: pointer; 
}

hr {
  margin: 7px 0 7px 0;
  border-top: 1px solid black;
}

.bg-danger, .bg-success {
	padding: 0 5px;
}

a {
  color: black;
  text-decoration: none;
  outline: 0;
}

a:hover {
  color: black;
  text-decoration: underline;
}

a:visited {
  color: black;
  text-decoration: none;
}

a:active, a:focus {
  color: black;
  outline: none;
  ie-dummy: expression(this.hideFocus=true);
}

.shadow_block {
  -moz-box-shadow: 0 0 11px 5px rgba(0,0,0,0.1); 
  -webkit-box-shadow: 0 0 11px 5px rgba(0,0,0,0.1);
  box-shadow: 0 0 11px 5px rgba(0,0,0,0.1);
}
 
.alert-box {
	border-radius:20px;
	font-size:42px;
	font-weight: bold;
	padding:10px 20px 10px 60px;
	margin:20px;
}
.alert-box span {
	font-weight:bold;
	text-transform:uppercase;
	display: none;
	visibility: hidden;
}
.error {
	background:#ffecec url('../images/error.png') no-repeat 20px 50%;
	border:1px solid #f5aca6;
}
.success {
	background:#e9ffd9 url('../images/success.png') no-repeat 20px 50%;
	border:1px solid #a6ca8a;
}
.warning {
	background:#fff8c4 url('../images/warning.png') no-repeat 20px 50%;
	border:1px solid #f2c779;
}
.notice {
	background:#e3f7fc url('../images/notice.png') no-repeat 20px 50%;
	border:1px solid #8ed9f6;
}

#fixed_header {
  -webkit-backface-visibility: hidden;
  position: -webkit-sticky;
  position: sticky;
  background:#EBEBEB;
  top: 0;
  z-index:200 !important;
}

#login-box {
  height:100%;
  min-height:920px;
  position:relative;
}

#login
{
    background-color: #fff;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
    background-image: -webkit-linear-gradient(top, #fff, #eee);
    background-image: -moz-linear-gradient(top, #fff, #eee);
    background-image: -ms-linear-gradient(top, #fff, #eee);
    background-image: -o-linear-gradient(top, #fff, #eee);
    background-image: linear-gradient(top, #fff, #eee);  
    height: 600px;
    width: min(1500px,90%);
    padding: 80px 60px 60px 60px;
    position: absolute;
    top: calc(50% - 175px);
    left: calc(50% - min(1500px,90%) / 2);
    z-index: 2;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;  
}

#login:before
{
    content: '';
    position: absolute;
    z-index: -1;
    border: 2px dashed #ccc;
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
    -moz-box-shadow: 0 0 0 2px #fff;
    -webkit-box-shadow: 0 0 0 2px #fff;
    box-shadow: 0 0 0 2px #fff;
}

#login h1 {
    text-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0px 2px 0 rgba(0, 0, 0, .5);
    text-transform: uppercase;
    text-align: center;
    color: #666;
    margin: 0 0 60px 0;
    letter-spacing: 2px;
    font: normal 42px/1 Verdana, Helvetica;
    line-height: 46px;
    position: relative;
}

#login h1:after, h1:before
{
    background-color: #777;
    content: "";
    height: 2px;
    position: absolute;
    top: 24px;
    width: 60px;   
}

#login h1:after
{ 
    background-image: -webkit-gradient(linear, left top, right top, from(#777), to(#fff));
    background-image: -webkit-linear-gradient(left, #777, #fff);
    background-image: -moz-linear-gradient(left, #777, #fff);
    background-image: -ms-linear-gradient(left, #777, #fff);
    background-image: -o-linear-gradient(left, #777, #fff);
    background-image: linear-gradient(left, #777, #fff);      
    right: 0;
}

#login h1:before
{
    background-image: -webkit-gradient(linear, right top, left top, from(#777), to(#fff));
    background-image: -webkit-linear-gradient(right, #777, #fff);
    background-image: -moz-linear-gradient(right, #777, #fff);
    background-image: -ms-linear-gradient(right, #777, #fff);
    background-image: -o-linear-gradient(right, #777, #fff);
    background-image: linear-gradient(right, #777, #fff);
    left: 0;
}

input:-webkit-autofill, textarea:-webkit-autofill
{ 
  -webkit-background-clip: text;
}

input::-webkit-input-placeholder, input::-moz-placeholder, input:-moz-placeholder, 
input:-ms-input-placeholder, input::-ms-input-placeholder, input::placeholder,
textarea::-webkit-input-placeholder, textarea::-moz-placeholder, textarea:-moz-placeholder, 
textarea:-ms-input-placeholder, textarea::-ms-input-placeholder, textarea::placeholder
{ 
  color: black;
  opacity: 1;
}

#inputs input
{
    background: #f1f1f1 url(../images/login-sprite1.png) no-repeat;
    padding: 15px 15px 15px 70px;
    margin: 0 0 30px 0;
    width: 100%;
    border: 1px solid #ccc;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    -moz-box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    -webkit-box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    font-size: 46px;
    color: #007121;
}

#username
{
    background-position: 18px -8px !important;
}

#password
{
    background-position: 18px -109px !important;
}

#inputs input:focus
{
    background-color: #fff;
    border-color: #e8c291;
    outline: none;
    -moz-box-shadow: 0 0 0 1px #e8c291 inset;
    -webkit-box-shadow: 0 0 0 1px #e8c291 inset;
    box-shadow: 0 0 0 1px #e8c291 inset;
}

#actions
{
    margin: 40px 0 0 0;
}

#login_submit, #new_submit, #check_submit
{		
    background-color: #ffb94b;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fddb6f), to(#ffb94b));
    background-image: -webkit-linear-gradient(top, #fddb6f, #ffb94b);
    background-image: -moz-linear-gradient(top, #fddb6f, #ffb94b);
    background-image: -ms-linear-gradient(top, #fddb6f, #ffb94b);
    background-image: -o-linear-gradient(top, #fddb6f, #ffb94b);
    background-image: linear-gradient(top, #fddb6f, #ffb94b);
    
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    
    text-shadow: 0 2px 0 rgba(255,255,255,0.5);
    
     -moz-box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 0 rgba(255, 255, 255, 0.3) inset;
     -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 0 rgba(255, 255, 255, 0.3) inset;
     box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 0 rgba(255, 255, 255, 0.3) inset;    
    
    border-width: 1px;
    border-style: solid;
    border-color: #d69e31 #e3a037 #d5982d #e3a037;

    float: left;
    height: 80px;
    padding: 0;
    width: 260px;
    cursor: pointer;
    font: bold 42px Arial, Helvetica;
    color: #8f5a0a;
}

#login_submit:hover,#login_submit:focus,
#new_submit:hover,#new_submit:focus,
#check_submit:hover,#check_submit:focus
{		
    background-color: #fddb6f;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#ffb94b), to(#fddb6f));
    background-image: -webkit-linear-gradient(top, #ffb94b, #fddb6f);
    background-image: -moz-linear-gradient(top, #ffb94b, #fddb6f);
    background-image: -ms-linear-gradient(top, #ffb94b, #fddb6f);
    background-image: -o-linear-gradient(top, #ffb94b, #fddb6f);
    background-image: linear-gradient(top, #ffb94b, #fddb6f);
    cursor:pointer;
}	

#login_submit:active, #new_submit:active, #check_submit:active
{		
    outline: none;
   
     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
     -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
     box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;		
}

#login_submit::-moz-focus-inner, #new_submit::-moz-focus-inner, #check_submit::-moz-focus-inner
{
  border: none;
}

#actions a
{
    color: #3151A2;    
    float: right;
    line-height: 80px;
    margin-left: 10px;
}

#back
{
    display: block;
    text-align: center;
    position: relative;
    top: 60px;
    color: #999;
}

.new_document, .documents_list, #table_list, .list_row {
 -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.new_document:hover, .documents_list:hover, .close:hover, #logout:hover {
  cursor:pointer;
}

.close {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
}

input[type="radio"] {
/*
  -ms-transform: scale(3); 
  -moz-transform: scale(3);
  -webkit-transform: scale(3);
  -o-transform: scale(3);
  transform: scale(3);

  appearance: auto;
  transform-origin: center;
  height: 100%;
*/
  border: 0px;
  width: 100%;
  height: 3em;
}

input[type="number"]
{
    padding: 15px 15px 15px 40px;
    margin: 0;
    width: 100%;
    border: 1px solid #ccc;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    -moz-box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    -webkit-box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    font-size: 46px;
    color: #007121;
}

input[type="number"]:focus
{
    background-color: #fff;
    border-color: #e8c291;
    outline: none;
    -moz-box-shadow: 0 0 0 1px #e8c291 inset;
    -webkit-box-shadow: 0 0 0 1px #e8c291 inset;
    box-shadow: 0 0 0 1px #e8c291 inset;
}

textarea
{
    padding: 15px 15px 15px 15px;
    margin: 0;
    width: 100%;
    border: 1px solid #ccc;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    -moz-box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    -webkit-box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    box-shadow: 0 2px 2px #ccc inset, 0 2px 0 #fff;
    font-size: 46px;
    color: #007121;
    resize: vertical;
}

textarea:focus
{
    background-color: #fff;
    border-color: #e8c291;
    outline: none;
    -moz-box-shadow: 0 0 0 1px #e8c291 inset;
    -webkit-box-shadow: 0 0 0 1px #e8c291 inset;
    box-shadow: 0 0 0 1px #e8c291 inset;
}

.rangeslider__handle {
  width: 42px;
  height: 42px;
}

.rangeslider--horizontal .rangeslider__handle {
  top: -12px;
}

#current_mark {
  font-weight:bold;
  border:1px solid grey;
  padding:10px;
  text-align: center;
  width:200px;
  margin:60px auto;
  -moz-border-radius: 35px;
  -webkit-border-radius: 35px;
  border-radius: 35px;
}

#table_list {
  border:1px solid grey;
  width:100%;
}

#table_list td, #table_list th {
  padding: 20px;
}

#table_list th {
  text-align:center;
  font-weight:bold;
  background: honeydew;
}

#table_list .list_row:hover, .list_row:focus {
  cursor:pointer;
  background: #2f77df1c;
}

#table_list .list_row:active {
  background: #2f77df30;
}

.hidden {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.select2-results>.select2-results__options {
  max-height:800px;
}

input:-webkit-autofill,
input:-webkit-autofill:focus {
  transition: background-color 0s 600000s, color 0s 600000s !important;
}

img.ui-datepicker-trigger {
  margin-top: -10px;
}