@font-face {
    font-family: "LiberationSans";
    src: url("/fonts/LiberationSans-Regular.ttf");
}
@font-face {
    font-family: "LiberationSans";
    src: url("/fonts/LiberationSans-Italic.ttf");
    font-style: italic;
}
@font-face {
    font-family: "LiberationSans";
    src: url("/fonts/LiberationSans-Bold.ttf");
    font-weight: bold;
}
@font-face {
    font-family: "LiberationSans";
    src: url("/fonts/LiberationSans-BoldItalic.ttf");
    font-weight: bold;
    font-style: italic;
}

html{
    height: 100%;
}
body {
    background: #f9fcff; /* fallback for old browsers */
    background: -webkit-linear-gradient(right, #f9fcff, #fcfcfc);
    background: -moz-linear-gradient(right, #f9fcff, #fcfcfc);
    background: -o-linear-gradient(right, #f9fcff, #fcfcfc);
    background: linear-gradient(to left, #f9fcff, #fcfcfc);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    height: 100%;
}

*, pre{
    font-family: LiberationSans;
    line-height: 1.3;
    letter-spacing: 0.02em;
}

/* font-awesome icons */
i.fa{
    color: #565656;
}

h1 {
    font-size: 24px;
    margin-bottom: 0.9em;
}
h2 {
    font-size: 20px;
    margin-bottom: 0.5em;
}
h3{
    font-size: 18px;
    margin-bottom: 0.5em;
}

p {
    margin: 0 0 1em 0;
}

a {
    color: #48f;
    text-decoration: none;
}
a:hover {
    color: #37f;
}
/*a:visited{color: #714af0;}*/

code {
    background: #F5F5F5;
    max-width: 100px;
    padding: 2px 6px;
    word-wrap: break-word;
}

#wrapper {
    margin: 0 auto;
    width: 100%;
    min-height: 100%;
    position: relative;
}

.width-wrapper{
    max-width: 1366px;
    /*    min-width: 1366px;*/
    margin: 0 auto;
}
.transport-bookings #body-container .width-wrapper{
    max-width: unset;
}

/* style for links who would work as "button" */
a.link-button{
    display: inline-block;
    float: left;
    /*    margin: 10px;*/
    margin: 0;
    padding: 10px;
}
a.link-button i { color: #48f; }
a.link-button:hover i { color: #37f; }
a.link-button.remove-link, a.link-button.remove-link i{ color: #d66; }
a.link-button.remove-link:hover, a.link-button.remove-link:hover i{
    color: #fff;
    background-color: #d66;
}

/* ---------------------------------------------- */
/* HEADER: logo, site name, main menu, log in/out */
/* ---------------------------------------------- */

#main-menu{
    background: #1389d1;
}
#main-menu .width-wrapper{
    /* maybe try grid and modify areas for smaller window sizes */
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.collapsible-menu{
    display: none;
    visibility: hidden;
}

div.tbs-logo{
    margin-right: 10px;
    width: 60px;
    /*    display: inline-block;
        position: relative;
        vertical-align: middle;*/
    text-align: center;
}
div.tbs-logo a{
    display: inline-block;
    /* padding: 5px 12px; */
    width: 50px;
    height: 100%;
    background: url('/images/transferfix-logo-small.svg') no-repeat center;
    background-size: contain;
    /*    background-size: 70%;*/
}
/*div.tbs-logo img{
    max-width: 100%;
}*/

#main-menu nav{
    width: calc(73% - 70px);
}
nav i.fa{
    color: inherit;
}
nav a, nav a:visited{
    color: #fff;
    display: inline-block;
}

nav ul.menu li.level-0{
    display: inline-block;
    position: relative;
    /*z-index: 100; if this menu overlap datepicker*/
    vertical-align: middle;
    font-weight: bold;
}
nav ul.menu li.level-0:last-child{
    margin-right: 10px;
}

nav ul.menu li.level-0 > a{
    padding: 18px 23px;
}
nav ul.menu li.level-0:hover > a{
    background: #31a1e5;
    color: #fff;
}
nav ul.menu li.level-0.active > a{
    background: #fff;
    color: #565656;
}

nav ul.menu li.level-0:hover{
    /*    background: #e0e3e0;*/
}
nav ul.sub-menu{
    position: absolute;
    left: 0;
    top: 100%;
    /*    padding: 0 1000em;*/
    /*    margin: 0 -1000em;*/
    z-index: 101;
    visibility: hidden;
    opacity: 0;
    background: #dbe3e9;
    white-space: nowrap;
}
nav ul.menu li.level-0:hover ul.sub-menu{
    visibility: visible;
    opacity: 1;
}
nav ul.sub-menu li.level-1 > a{
    color: #000;
    padding: 7px 26px;
}
nav ul.sub-menu li.level-1:hover{
    background: #e8f0f7;
}

#main-menu #auth-details{
    display: inline-block;
    width: 27%;
    /*    width: calc(49% - 30px);*/
    /*    min-width: 345px;*/
    text-align: right;
}
#main-menu #auth-details a,
#main-menu #auth-details i.fa{
    color: #fff;
}
#main-menu #auth-details .auth-user,
#main-menu #auth-details .auth-action{
    display: inline-block;
    position: relative;
}
#main-menu #auth-details.user-in span.auth-username{
    font-style: italic;
}

#main-menu #auth-details > div{
    padding: 18px 10px;
}
#main-menu #auth-details > div:hover{
    background: #31a1e5;
}
#main-menu #auth-details > div.active{
    background: #fff;
}
#main-menu #auth-details > div.active a,
#main-menu #auth-details > div.active i.fa{
    color: #565656;
}
/*#main-menu #auth-details .auth-user ul.sub-menu{
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 101;
    visibility: hidden;
    opacity: 0;
    background: #dbe3e9;
    white-space: nowrap;
}
#main-menu #auth-details .auth-user:hover ul.sub-menu{
    visibility: visible;
    opacity: 1;
}
#main-menu #auth-details .auth-user ul.sub-menu li.level-1 {
    padding: 7px;
    text-align: center;
}
#main-menu #auth-details .auth-user ul.sub-menu li.level-1 > a {
    padding: 5px;
}
#main-menu #auth-details .auth-user ul.sub-menu li.level-1:hover{
    background: #c1ddd6;
}*/

h1#page-title{
    font-size: 20px;
    margin-bottom: 0.5em;
}
h1#page-title:empty{
    display: none;
    visibility: hidden;
    margin: 0;
    padding: 0;
}

span#enable-tour{
    display: inline-block;
    float:left;
    font-size: 11px;
    color: #6f6f6f;
    margin-top: 10px;
    padding: 10px;
    cursor: pointer;
}
span#enable-tour:hover{
    color: #37f;
}

#body-container{
    margin: 0.2em auto 20px;
    padding: 1.8em;
    display: inline-block;
    width: 100%;
}

#body-container > div.content{
    display: inline-block;
    float: left;
    width: 100%; /* if creating problems > move to transport.css as content's width */
}

/* when the user is admin, he can add things for other users
    > selectable from a list
*/
a.link-button.admin-add-link{
    margin: 8px 0;
}
a.link-button.admin-import-link {
    margin: 8px 0;
}
select.select-comp{
    float: left;
    width: auto;
    margin: 13px 0;
}
select.select-comp-import {
    float: left;
    width: auto;
    margin: 13px 0;
}


/* ------ */
/* FOOTER */
/* ------ */
footer{
    /* footer should stick to the bottom; html & body > height: 100%, #wrapper > position: relative; min-height:100%; */
    width: 100%;
    bottom: 0;
    position: absolute;

    padding: 10px;
    background: #f2f2f2;
    border: 1px solid #ededed;
    text-align: center;
    color: #565656;
    font-size: 70%;
}


/* ------------------- */
/* general FORM styles */
/* ------------------- */
.form-row{
    text-align:left;
    margin: 0 0 5px; /* 0 0 15px*/
    display: inline-block;
    float: left;
}
label{
    font-weight: bold;
    font-size: 14px;
    display: inline-block;
    margin: 5px 0;
    margin-bottom: 3px; /* margin: 5px 0; */
}
label.required:after {
    content: " *";
    color: #f44;
}
.fields-group > label{
    float: left;
    width: 100%;
}
input, select, textarea {
    outline: 0;
    background: #fbfbfb;
    border: 1px solid #ededed;
    width: 98%;
    padding: 5px 10px;
}
select{
    padding: 5px;
}
input[readonly], input[read-only="readonly"],
select[readonly], select[readonly="readonly"]{
    border-color: #f6f6f6;
    color: #8d8d8d;
}
input[type=file]{
    padding: 2px 5px;
}
textarea{
    padding: 5px 10px;
}
.choice-row > div{
    display: inline-block;
    width: 100%;
    padding: 6px 10px; /* 7px without border */
    border: 1px solid #ededed;
}
.choice-row .radio-row, .choice-row .checkbox-row{
    display: inline-block;
    float: left;
    margin: 5px 15px;
}
.choice-row .checkbox-row{
    clear: left;
}
.choice-row .radio-row:first-child{
    margin-left: 0;
}
.choice-row .radio-row:last-child{
    margin-right: 0;
}
.choice-row .radio-row label{
    margin: 0;
}
.choice-row .checkbox-row label{
    margin: 0;
    font-weight: normal;
}
.choice-row .radio-row label.required:after,
.choice-row .checkbox-row label.required:after{
    content: "";
}
/*.choice-row input[type=radio] + label.required:after{
    content: "";
}*/
button {
    text-transform: uppercase;
    outline: 0;
    background: #48f;
    width: 100%;
    border: 0;
    padding: 15px;
    color: #FFF;
    font-size: 14px;
    -webkit-transition: all 0.3 ease;
    transition: all 0.3 ease;
    width: auto;
    margin-top: 10px;
}
button:hover,
.form button:active,
.form button:focus {
    background: #37f;
}

form.standard-form{
    padding: 0 10px;
    display: inline-block;
}
/*form.standard-form > div:last-of-type,
form button[type="submit"]{*/
form .form-row.submit,
form button[type="submit"]{
    clear: both;
    display: inline-block;
    float: left;
}

form .section-title{
    display: inline-block;
    width: 100%;
    margin-top: 20px;
}
form .field-group-title{
    display: inline-block;
    width: 100%;
    margin-top: 10px;

}
form .field-group-title h2{
    font-size: 15px;
}

span.q-mark{
    padding: 0 3px;
    font-size: 90%;
    vertical-align: super;

    position: relative;
}
span.q-mark i{
    font-size: 80%;
}

span.q-mark:after{
    color: #fff;
    display: block;
    visibility: hidden;
    position: absolute;
    bottom: 0;
    left: -15px;
    opacity: 0;
    content: attr(tool-tips);
    height: auto;
    min-width: 150px;
    width: auto;
    padding: 5px;
    z-index: 999;
    color: #fff;
    text-decoration: none;
    text-align: center;
    background: rgba(0,0,0,0.85);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

span.q-mark:before {
    position: absolute;
    visibility: hidden;
    width: 0;
    height: 0;
    left: 50%;
    bottom: 0px;
    opacity: 0;
    content: "";
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: rgba(0,0,0,0.85) transparent transparent transparent;
}
span.q-mark:hover:after{ visibility: visible; opacity: 1; bottom: 20px; }
span.q-mark:hover:before{ visibility: visible; opacity: 1; bottom: 14px; }

.field-requirements{
    padding: 0 5px;
    font-size: 70%;
    font-style: italic;
}

.image-requirements{
    padding: 0 5px;
    font-size: 70%;
    font-style: italic;
    float: left;
    clear: left;
}


/* ------------------------ */
/* general DIV TABLE styles */
/* ------------------------ */
div.table{
    display:table;
    border-collapse: collapse;
    text-align: left;
    background: #fff;
    margin-bottom: 10px;
}
div.table .table-row{
    display:table-row;
}
div.table .table-row:nth-child(2n+1){
    background: #f9f9f9;
}
div.table .table-row:hover{
    background: #f0f0f0;
}
div.table .table-cell{
    display:table-cell;
    border: 1px solid #dbdbdb;
    padding: 10px;
    vertical-align: top;
}
div.table .table-head{
    font-weight: bold;
    background: #ececec;
    border-bottom: 1px solid #bdbdbd;
}
div.table .border-top{
    border-top-width: 3px;
}

/* -------------------- */
/* general TABLE styles */
/* -------------------- */
table{
    text-align: left;
    /*    background: #fff;*/
    margin-bottom: 10px;
    border-collapse: collapse;
}
table tr:nth-child(2n+1){
    background: #f9f9f9;
}
table tr:hover{
    background: #f0f0f0;
}
table tr:hover{
    background: #f0f0f0;
}
table td{
    border: 1px solid #dbdbdb;
    padding: 10px;
    vertical-align: middle;
}
table th{
    font-weight: bold;
    background: #ececec;
    border: 1px solid #dbdbdb;
    padding: 10px;
}

/* ------------------------------- */
/* general TABLE (sortable) styles */
/* ------------------------------- */
div.dataTables_wrapper{
    display: inline-block;
    float: left;
    clear: both;
}
div.dataTables_wrapper div{
    float: left;
    display: inline-block;
}
div.dataTables_wrapper div.dt-buttons.ui-buttonset{
    float: right;
}

div.dataTables_wrapper > div{
    width: 100%;
}
div.dataTables_wrapper .dt-top{
    margin-bottom: 10px;
}
div.dataTables_wrapper .numbers{
    width: 100%;
    font-size: 90%;
}
div.dataTables_wrapper .download{
    font-size: 90%;
    margin-top: 10px;
}
div.dataTables_wrapper .download .download-title{
    font-size: 14px;
    font-weight: bold;
    padding: 5px 10px 5px 0;
}

div.dataTables_wrapper .dataTables_info{
    line-height: 28px;
    width: 50%;
}
div.dataTables_wrapper .dataTables_paginate{
    width: 50%;
    text-align: right;
}
div.dataTables_wrapper .dataTables_paginate a{
    border: 1px solid #ccc;
    background: #ededed;
    font-weight: normal;
    color: #2b2b2b;

    margin-right: 2px;
    padding: 2px 8px;
    display: inline-block;
}
div.dataTables_wrapper .dataTables_paginate a.ui-state-disabled{
    opacity: 0.35;
}

div.dataTables_wrapper .dataTables_filter,
div.dataTables_wrapper .dataTables_filter label{
    width: 50%;
}
div.dataTables_wrapper .dataTables_filter label{
    margin: 0;
    width: auto;
    float: left;
    line-height: 32px;
}
div.dataTables_wrapper .dataTables_filter input{
    max-width: 230px;
    margin-left: 10px;
}

div.dataTables_wrapper .dataTables_length{
    width: 50%;
    text-align: right;
}
div.dataTables_wrapper .dataTables_length label{
    margin: 0;
}
div.dataTables_wrapper .dataTables_length select{
    width: auto;
    padding: 3px;
}

div.dataTables_wrapper table{
    width: 100%;
    word-wrap: break-word;
}
div.dataTables_wrapper table th{
    width:auto !important;
}
div.dataTables_wrapper table th,
div.dataTables_wrapper table th div{
    /*    font-weight: bold;*/
    font-size:14px;
    text-align: center;
    /*    padding-right:12px;*/
    cursor: pointer;
}
/*div.dataTables_wrapper table th div span{
    float: right;
}*/
div.dataTables_wrapper table tbody td{
    font-size:12px;
}

div.dataTables_wrapper table th.sorting_asc,
div.dataTables_wrapper table th.sorting_desc{
    background: #fffcc4;
}
div.dataTables_wrapper table th.sorting_asc div,
div.dataTables_wrapper table th.sorting_desc div{
    /*    position:relative;*/
    padding-right: 18px;
}
div.dataTables_wrapper table th span.ui-icon{
    margin-left: 5px;
    font-size: 20px;
    position:absolute;
    /*    top: -1px;
        right: -10px;*/
    line-height: 20px;
}
div.dataTables_wrapper table th span.ui-icon.ui-icon-caret-2-n-s{
    /*    background-position: -128px 0;*/
    background:none;
    width:0;
    margin-right: -2px;
}
div.dataTables_wrapper table th .DataTables_sort_wrapper{
    /*    padding-right: 18px;*/
    padding: 0;
    width: 100%;
}
div.dataTables_wrapper table th span.ui-icon.ui-icon-triangle-1-n:before {
    content: "\f106";
    font-family: FontAwesome;
    font-size: 20px;
}
div.dataTables_wrapper table th span.ui-icon.ui-icon-triangle-1-s:before{
    content: "\f107";
    font-family: FontAwesome;
    font-size: 20px;
}

div.dataTables_wrapper table td,
div.dataTables_wrapper table td div{
    text-align: center;
}

div.dataTables_wrapper .actions a{
    margin: 0 10px;
    padding: 0;
}

div.dataTables_wrapper button.dt-button{
    padding: 5px 15px;
    margin: 0;
}

div.dataTables_wrapper .ui-state-default,
div.dataTables_wrapper .ui-widget-content .ui-state-default,
div.dataTables_wrapper .ui-widget-header .ui-state-default,
div.dataTables_wrapper .ui-button,
html div.dataTables_wrapper .ui-button.ui-state-disabled:hover,
html div.dataTables_wrapper .ui-button.ui-state-disabled:active {
    border: 1px solid #c5c5c5;
    background: #f2f2f2;
    /*    font-weight: normal;*/
    color: #454545;
}
div.dataTables_wrapper .ui-state-hover,
div.dataTables_wrapper .ui-widget-content .ui-state-hover,
div.dataTables_wrapper .ui-widget-header .ui-state-hover,
div.dataTables_wrapper .ui-state-focus,
div.dataTables_wrapper .ui-widget-content .ui-state-focus,
div.dataTables_wrapper .ui-widget-header .ui-state-focus,
div.dataTables_wrapper .ui-button:hover,
div.dataTables_wrapper .ui-button:focus {
    border: 1px solid #ccc;
    background: #ededed;
    color: #2b2b2b;
}


.flash-msg {
    color: #6f6f6f;
    background: #f8f8f8;
    border: 1px solid #f3f2f2;
    padding: 5px 10px;
    display: inline-block;
    float: left;
    clear: both;
}
.flash-msg.flash-message-green{
    color: #197b19;
    background: #e8ffe7;
    border: 1px solid #c4f5c6;
}
.flash-msg.flash-message-red{
    color: #b73e3e;
    background: #fcf1f1;
    border: 1px solid #ffdfdf;
}

.form-errors{
    padding: 5px 10px;
    display: inline-block;
    float: left;
    clear: both;
    font-size: 95%;
    color: #b73e3e;
}

.error {
    color:#f44;
    margin-bottom:10px;
    font-weight:bold;
    color: #b73e3e;
}

.introjs-tutorial{
    width: 100%;
}

@media (min-width: 768px) {
    @-webkit-keyframes fade-in {
        0% { opacity: 0; }
        100% { opacity: 1; }
    }
    @keyframes fade-in {
        0% { opacity: 0; }
        100% { opacity: 1; }
    }
}

/* style MAIN MENU for different widths */
@media (max-width: 1096px){
    div.tbs-logo{
        display: none;
        visibility: hidden;
    }
    #main-menu #auth-details,
    #main-menu nav{
        width: 100%;
    }
    #main-menu #auth-details > div {
        padding: 7px 10px;
    }
    nav ul.menu li.level-0 > a {
        padding: 13px 23px;
    }
}
@media (max-width: 730px){
    nav ul.menu li.level-0 > a {
        padding: 13px 10px;
    }
}
@media (max-width: 574px){
    #main-menu #auth-details{
        width: calc(100% - 57px);
    }
    #main-menu #auth-details > div {
        padding: 13px 10px;
    }
    .collapsible-menu{
        visibility: visible;
        display: flex;
        align-items: center;
        padding: 13px 10px;
        cursor: pointer;
    }
    .collapsible-menu:hover{
        background: #31a1e5;
    }
    .collapsible-menu i.fa{
        color: #fff;
    }
    .collapsible-menu i.fa.fa-bars{
        font-size: 134%;
        margin-right: 5px;
    }
    .collapsible-menu i.fa.fa-chevron-down,
    .collapsible-menu i.fa.fa-chevron-up{
        font-size: 75%;
    }
    #main-menu-ul{
        display: none;
        border-bottom: 3px solid #1389d1;
    }
    nav ul.menu li.level-0,
    nav ul.menu li.level-0 > a{
        width: 100%;
    }
    nav ul.menu li.level-0.active > a{
        border-left: 10px solid #565656;
    }
}
@media (max-width: 380px){
    #main-menu #auth-details{
        width: 100%;
    }
    #main-menu #auth-details > div {
        padding: 7px 10px;
    }

/* TO MOVE IN THE APROPRIATE CSS FILE */
/* Add this CSS to your main stylesheet to fix menu spacing */
/* Reduce navigation menu item spacing to fit all items on one line */
.navbar-nav .nav-link {
    font-size: 14px;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
}
/* Adjust for smaller screens */
@media (max-width: 1200px) {
    .navbar-nav .nav-link {
        font-size: 13px;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}
