
*{ padding: 0; margin: 0; }
html, body{
    font-family:"Lato", "Arial", sans-serif;
    padding:0;
    margin:0;
    font-size:14px;
    line-height: 20px;
    font-weight: normal;
    color:#333;
}

#loadingPage{
    display: flex;
    text-align: center;
    height: 100vh;
    width:100%;
    }
#loadingInfo{
    height:auto;
    flex-grow: 0;
    width: 100%;
    text-align: center;
    margin-top:50px;
    background: #fff;
}
#loadingInfo span{
    color: rgba(139, 54, 132,1);
    /*background: rgba(139, 54, 132, 0.1);*/
    padding: 5px 20px;
    border-radius: 10px;
    display: inline-block;
    line-height: 25px;
    margin: 20px auto;
    font-size:14px;
}
#loadingInfo img{ clear:both; display:block; margin:0 auto;}


a:focus, button:focus, .btn:focus{outline:none; box-shadow: none;}

h1{ font-size:22px; }
h4{ font-size:16px; }

a{ color: #178DB0; text-decoration: none; cursor: pointer;}
a:hover{ text-decoration: underline; }

.clear{ clear: both; height: 0px; line-height: 0; font-size:0; display: block;}
.clear10{ clear: both; height: 10px; line-height: 0; font-size:0; display: block;}

.registerContainer{
    width:600px;
    height:auto;
    min-height: 200px;
    border:1px solid #ccc;
    border-radius:5px;
    padding: 20px 20px 5px;
    margin:20px auto;
    position:relative;
    background: #f2f2f2;
}
.toothsiCopyright{
    padding-top: 0px;
    font-size:12px;
    color:#ccc;
    text-align: right;
}
.toothsiCopyright a{ color:#aaa; text-decoration: none;}
.toothsiCopyright .icon{ font-size: 36px; position: relative; color: #2EBCE4; top: 9px;}
.toothsiCopyright a:hover, .toothsiCopyright a:hover .icon, .toothsiCopyright a:hover .icon:before{ color:#000;} 

.registerContainer .center{ text-align: center; }
.registerContainer .navi{
    position: absolute;
    width: 47px;   
    font-size: 30px;
    line-height: 30px; 
    padding-top: 8px;
    padding-bottom: 8px;
    border-radius: 10px;
    text-align: center;
    top: 20px;
    left: -60px;
    cursor: pointer;
}
.registerContainer .navi:hover{
    background:#178DB0;
    color:#fff;
}
button, button.btn{
    background: #2EBCE4;
    font-size:16px;
    border:1px solid #2EBCE4;
    color:#fff;
    cursor: pointer; 
    border-radius: 5px;
    position: relative;
}
button, button.btn:hover{
    color: #fff;
    background: #178DB0;
    border:1px solid #178DB0;
}
button.go{
       margin-top: 20px;
    padding-left: 60px;
    padding-right: 60px;
    height: 40px;
    position: relative;
    margin: 20px auto 10px;
    float: none;
    display: block;
}
button.go:disabled{
    background: #ccc;
    border-color:#bbb;
    cursor: unset;
}
button loader{
    position: absolute;
    right:10px;
    top:10px;
    font-size: 16px;
}

.registerContainer .goNext{
    left: auto;
    right:-60px;
} 

.registerContainer h4,
.simpleContainer h1{
    font-size:18px;
    margin-bottom: 15px;
}

form{ margin-top:-5px;}

.registerContainer label{
    padding: 0;
    margin: 0;
    font-size: 12px;
    padding-bottom: 5px;
    padding-top: 10px;
    display: block; 
    text-align: left;
}

.form-item{
    padding: 10px;
    height: 40px;
    font-size: 14px;
    border: 1px solid #e6e6e6;
    width: 100%;
    border-radius: 4px;
    margin-bottom: 5px;
    box-sizing: border-box;
}
.form-item:disabled {
    border: 1px solid #bbb;
}

.mainMessage{ margin-top:20px;}
.message{
    font-size: 12px;
    /* background: #eee; */
    padding: 5px 10px;
    border-radius: 4px;
    margin-bottom: 5px;
    border: 1px solid #ddd;
    background: #fff;
}
.message.alert{
    background: #ffd9d9;
    border: 1px solid #ffb3b3;
}

.visitsTypes{ max-height:300px; overflow: auto;}
h5{     font-size: 14px;
    padding-top: 10px;
    padding-bottom: 5px; }
.visitsTypes .type{
    display: block;
    padding: 6px;
    padding-left: 9px;
    cursor: pointer;
    margin-bottom: 2px;
    color: #20a5a3;
    margin-top: 2px;
    margin-left: 5px;
    border: 1px solid #eee;
    border-radius: 2px;
    font-size: 16px;
        overflow: hidden;

    border-color:#20a5a3;
    margin-left: 0px;
    /* margin:0 0 -1px; */
}
.visitsTypes .type small{ color:#888; padding-left: 4px; font-size:12px;  }
.visitsTypes .type small span{float:right;  }
.visitsTypes .type:hover{
    background: #eee;
    color:#000;
    text-decoration: none;
}
.visitsTypes .type.active,
.visitsTypes .type.active:hover{
    background: #178DB0;
    color:#fff;
}
.visitsTypes .type.active small,
.visitsTypes .type.active:hover small{ color:#ccc; }

.calendarCol{ width:280px; float:left; }
.hoursCol{ width:300px; float:right; } 

.calendarContainer.minicalendar{ padding-top: 0}
.calendarOnlyContainer{ position: relative; }
.loaderCover{
        background: rgba(255,255,255,0.8);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    font-size: 30px;
    width: 100%;
    height: 100%;
    text-align: center;
    padding-top: 30px;
}
.minicalendar .calendarTitle{ 
    padding-top: 4px;
    font-size:14px; 
    font-weight: bold;
    text-transform: capitalize;
}
.calendarTitleSide{ float: left; width:50%; }
.calendarNavButtons{ float: left; width:50%; }
.minicalendar .navButtons .btn{
    padding: 2px 5px;
}

.minicalendar .cal-month-view .cal-day-cell.cal-today .cal-day-number,
.minicalendar .cal-month-view .cal-day-number{
    font-size: 14px;
    margin: 0;
    padding: 0;
    display: block;
    text-align: center;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 5px;
    /* color: #666; */
    /* opacity: 0.6;
    background: #fff; */
}
.minicalendar .cal-month-view .cal-day-cell.cal-today .cal-day-number{
    font-weight: 600;
    font-size: 16px;
}
.minicalendar .cal-month-view .cal-cell-top,
.minicalendar .cal-month-view .cal-day-cell{
    min-height: 0;
    height:auto; 
}

.minicalendar .cal-month-view a.cal-day-number,
.minicalendar .cal-month-view .cal-day-cell.cal-weekend a.cal-day-number{
    background: #2EBCE4; /* #a0f5a3; */
    color: #fff;
    text-decoration: none;
    opacity: 1;
}

.minicalendar .cal-month-view a.cal-day-number:hover,
.minicalendar .cal-month-view .cal-day-cell.cal-weekend a.cal-day-number:hover{
    background: #178DB0;
     /* #05940a; */
    color:#fff;
    text-decoration: none;
}

.minicalendar .cal-month-view .cal-day-selected a.cal-day-number,
.minicalendar .cal-month-view .cal-day-selected .cal-day-cell.cal-weekend a.cal-day-number,
.minicalendar .cal-month-view .cal-day-selected a.cal-day-number:hover,
.minicalendar .cal-month-view .cal-day-selected .cal-day-cell.cal-weekend a.cal-day-number:hover,
.minicalendar .cal-month-view .cal-day-selected.cal-day-cell.cal-today a.cal-day-number, 
.minicalendar .cal-month-view .cal-day-selected a.cal-day-number, 
.minicalendar .cal-month-view .cal-day-selected.cal-day-cell.cal-weekend a.cal-day-number{ 
    background: #FE8101;
    color:#fff;
}

.minicalendar .cal-month-view .cal-header .cal-cell {
    padding: 5px 4px;
    font-weight: normal;
    font-size: 12px;
}


.infoRow{ font-size:16px; line-height: 24px; text-align: left; display: table-row;}
.infoRow small { 
    font-size: 12px; 
    color: #888;
    vertical-align: top;

    max-width: 160px;
    min-width: 130px;
    width: 30%;
    display: inline-block;
    text-align: right;
    padding-right: 7px;
    /* background: #eee; */
    border-radius: 5px 0 0 5px;
    margin-bottom: 2px;
    margin-right: 3px;
    
}
.infoRow small, .infoRow .noSelect{ display:table-cell; }
.dateRow{ padding-top: 15px; }
/* .infoRow b { position: relative; top: 1px; } */
.infoRow a.change { font-size:12px; padding-left: 5px; }
.finalInfo{padding-bottom: 20px;}

.registerContainer .navi .fa{
    line-height: 30px;
}

.languages{
    position: absolute;
    right:10px;
    top:10px;
}
img{ vertical-align: top; }

.languages .flag{
    float:right;
    margin-left:4px;
    padding: 1px;
    display:block;
    border:1px solid #eee;
    opacity: 0.5;
}
.languages .flag img{ display:block; }
.languages .flag:hover{ border:1px solid #ddd;  opacity: 1;}
.languages .flag.selected,.languages .flag.selected:hover{ opacity: 1; border:1px solid #aaa; }

.slots{
    overflow: hidden; 
    padding-top: 10px;
    padding-bottom: 10px;
}
.slots .slot{
    float: left;
    margin-right: 2%;
    margin-left: 0;
    margin-bottom: 4px;
    /* padding: 2px 8px 1px; */
    line-height: 23px;
    width: 18%;
    text-align: center;
    font-size: 13px;
    border-radius: 15px;
    /* border: 1px solid #9af5f4;
    color: #2EBCE4; */

    border: 1px solid #178DB0;
    color: #178DB0;

    box-sizing: border-box;
    text-decoration: none; 
}
.slots .slot.closed{
    float:none;
    width: auto !important;
    margin: 0 0 0px;
    font-style: italic;
    font-size:12px;
    text-align: center;
    padding: 4px 4px;
    border-radius: 4px;
    background: #eee;
    border:none;
    color: #333;
}
.slots .slot:hover{
    background: #178DB0;
    color: #fff;
    text-decoration: none; 
}

.columns{ overflow: hidden; margin-left: -10px; margin-right: -10px; }
.col{ box-sizing: border-box; float:left; padding: 0 10px;}
.col-6{ width:50%; }

.pull-left{ float:left;}
.pull-right{ float:right;}
.calendarNavButtons .btn{
        border: 1px solid #ddd;
    cursor: pointer;
    margin-left: 4px;
    border-radius: 4px;
}
.calendarNavButtons .btn:hover{
    background: #eee;
}
.backLink{
    position: absolute;
    left:10px;
    bottom:5px;
    font-size:12px;
}
.backLink i{ padding-right: 5px }

.form-error, .form-info{
    text-align: left;
    color:#a80000;
    color:#a94442;
    color: #e25f10; 
    line-height: 16px;
    font-size:14px;
} 
.pesel-error{ padding-bottom: 5px;}
.form-error.info{  color:#8e8c8a; font-size: 12px;}
.form-error.info .red{  color:#D22538; } 
.form-info{     
    text-align: center;
    margin-top: 10px;
    background: #FF9889;
    color: #fff;
    padding: 7px 5px;
    border-radius: 5px;
}
.importantData{    
    font-weight: bold;
    margin-top: 10px;
    font-size: 18px;
    line-height: 26px;
}

.simpleContainer{
    min-height:170px;
}
.simpleContainer .message {
    font-size: 16px;
    line-height: 24px;
    /* background: #eee; */
    padding: 10px 10px;
}
.message.success{
    background: #D9FFE3;
    border: 1px solid #B3FFB9;
}
.cal-month-view .cal-cell-row:hover,
.cal-month-view .cal-cell-row .cal-cell:hover, 
.cal-month-view .cal-cell.cal-has-events.cal-open {
    background-color: transparent;
}