/* =================================
   RESET & BASE STYLES
   ================================= */

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

body {
    background-color: #FFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}

/* =================================
   TYPOGRAPHY
   ================================= */

h1, h2, h3, h4, h5 {
    line-height: 32px;
}

a {
    color: #000;
    text-decoration: none;
    min-height: 44px;
    display: inline-block;
    padding: 5px;
}

a:hover {
    text-decoration: underline;
}

/* =================================
   LAYOUT STRUCTURE
   ================================= */

#header {
    height: 48px;
    background-color: #066dbc;
    border-bottom: 1px solid #066dbc;
}

#header_content {
    width: 95%;
    max-width: 1300px;
    height: 48px;
    margin: 0 auto;
    padding: 0 10px;
}

#main {
    width: 100%;
    background-color: #FFF;
}

#content {
    width: 95%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 10px 30px;
}

#notification {
    width: 95%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 10px;
}

#footer, #item_footer {
    height: 100px;
    clear: both;
}

/* =================================
   LOGO & NAVIGATION
   ================================= */

#logotext {
    font-family: 'Maven Pro', sans-serif;
    font-size: 26px;
    color: #FFF;
    padding-top: 5px;
}

#logotext a {
    color: #FFF;
    text-decoration: none;
}
 
.tab {
    float: right;
    text-align: left;
    color: #FFF;
    margin-top: 4px;
    padding-left: 30px;
}

.tab a {
    color: #FFF;
    text-decoration: none;
}

.tab a:hover {
    color: #FFF;
    text-decoration: underline;
}

.tab_item {
    padding-right: 2px;	
}

/* =================================
   ITEMS & CONTENT STRUCTURE
   ================================= */

.item {
    width: 100%;
    padding-top: 30px;
}

.item_title {
    width: 100%;
    padding-bottom: 20px;
}

.item_title_single {
    text-align: left;
    font-weight: bold;
    font-size: 18px;
}

.item_title_left {
    float: left;
    width: 50%;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
}

.item_title_right {
    color: #989998;
    text-align: right;
}

.item_title_right a {
    color: #989998;
    text-decoration: none;
}

.item_title_right_option {
    padding-left: 18px;
}

.item_content {
    width: 100%;
}

.item_space {
    height: 50px;
}

/* =================================
   COLUMN LAYOUTS
   ================================= */

.item_2columns_left {
    float: left;
    width: 48%;
    margin-right: 2%;
}

.item_2columns_right {
    float: left;
    width: 48%;
    margin-left: 2%;
}

.item_2columns_separator {
    height: 60px;
}

.item_2columns_left_40 {
    float: left;
    width: 38%;
    margin-right: 2%;
}

.item_2columns_right_60 {
    float: left;
    width: 58%;
    margin-left: 2%;
}

.item_2columns_left_60 {
    float: left;
    width: 58%;
    margin-right: 2%;
}

.item_2columns_right_40 {
    float: left;
    width: 38%;
    margin-left: 2%;
}

.item_2columns_left_25 {
    float: left;
    width: 23%;
    margin-right: 2%;
}

.item_2columns_right_75 {
    float: left;
    width: 73%;
    margin-left: 2%;
}

.item_2columns_left_30 {
    float: left;
    width: 28%;
    margin-right: 2%;
}

.item_2columns_right_70 {
    float: left;
    width: 68%;
    margin-left: 2%;
}

.item_2columns_left_35 {
    float: left;
    width: 33%;
    margin-right: 2%;
}

.item_2columns_right_65 {
    float: left;
    width: 63%;
    margin-left: 2%;
}

.item_2columns_left_20 {
    float: left;
    width: 13%;
    margin-right: 2%;
}

.item_2columns_right_80 {
    float: left;
    width: 83%;
    margin-left: 2%;
}

.item_3columns {
    float: left;
    width: 32%;
}

.item_3columns_space {
    float: left;
    width: 2%;
}

.item_4columns {
    float: left;
    width: 23%;
}

.item_4columns_space {
    float: left;
    width: 2.6%;
}

.item_5columns {
    float: left;
    width: 18%;
}

.item_5columns_space {
    float: left;
    width: 2.5%;
}

.item_6columns {
    float: left;
    width: 15%;
}

.item_6columns_space {
    float: left;
    width: 2%;
}

.item_2columns_space {
    height: 8px;
}

/* =================================
   MENU COMPONENTS
   ================================= */

#item_2columns_left_profile {
    padding: 2px 15px;
    margin-bottom: 20px;
    background-color: #E8E8E8;
    border-radius: 4px;
}

.item_2columns_left_menu {
    float: left;
    width: 23%;
    margin-top: 30px;
    margin-right: 2%;
}

.item_2columns_left_menu_15 {
    float: left;
    width: 13%;
    margin-top: 30px;
    margin-right: 2%;
}

.item_2columns_left_menu_20 {
    float: left;
    width: 18%;
    margin-top: 30px;
    margin-right: 2%;
}

.item_2columns_left_menu_admin {
    float: left;
    width: 23%;
    margin-top: 7px;
    margin-right: 2%;
}

.item_2columns_left_menu_options_title {
    background-color: #616161;
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
    padding: 5px 7px;
    border-radius: 4px;
}

.item_2columns_left_menu_options_title a {
    color: #FFF;
}

.item_2columns_left_menu_options_title_left {
    float: left;
    width: 50%;
}

.item_2columns_left_menu_options_title_right {
    float: left;
    width: 46%;
    text-align: right;
    padding-right: 4%;
}

.item_2columns_left_menu_options {
    padding-bottom: 2px;
    margin-bottom: 12px;
    background-color: #E8E8E8;
    border-radius: 4px;
}

.item_2columns_left_menu_options ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.item_2columns_left_menu_option {
    background-color: #E8E8E8;
    font-size: 14px;
    padding: 5px 15px;
}

.item_2columns_left_menu_filter {
    background-color: #E8E8E8;
    font-size: 14px;
    padding: 5px;
}

.item_2columns_left_menu_content {
    background-color: #E8E8E8;
    font-size: 14px;
    padding: 8px;
}

.item_2columns_right_content {
    float: left;
    width: 75%;
}

.item_2columns_right_content_80 {
    float: left;
    width: 80%;
}

/* =================================
   DROPDOWNS
   ================================= */

.dropit {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dropit .dropit-trigger {
    position: relative;
}

.dropit .dropit-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    min-width: 120px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.dropit .dropit-open .dropit-submenu {
    display: block;
}

.menu_top ul {
    display: none;
}

.menu_top ul.dropit-submenu {
    background-color: #FFF;
    border: 1px solid #b2b2b2;
    padding: 6px 0;
    margin: 3px 0 0 1px;
    border-radius: 3px;
}          

.menu_top ul.dropit-submenu a {
    display: block;
    font-size: 14px;
    line-height: 25px;
    color: #000;
    padding: 0 10px;
}

.menu_top ul.dropit-submenu a:hover {
    color: #FFF;
    background: #248fc1;
    text-decoration: none;
}

/* =================================
   FORMS
   ================================= */

.form_left {
    font-size: 14px;
    padding-top: 10px;
    float: left;
    width: 35%;
    text-align: right;
    padding-right: 2%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.form_right {
    font-size: 14px;
    padding-top: 10px;
    float: left;
    width: 63%;
    min-height: 44px;
    display: flex;
    align-items: center;
}

.form_text {
    width: 400px;
    font-size: 14px;
}

.form_text_small {
    width: 260px;
    font-size: 14px;
}

.form_text_full {
    width: 98%;
    font-size: 20px;
}

.form_button {
    font-size: 14px;
    border-radius: 4px;
    background-color: #FFF;
    border: 1px solid #000;
}

input[type="text"], input[type="password"], textarea, select {
    min-height: 44px;
    font-size: 16px;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

textarea {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}

button, input[type="submit"], input[type="button"] {
    min-height: 44px;
    min-width: 44px;
}

.input {
    background-color: #004372;
    text-decoration: none;
    color: #FFF;
    padding: 3px 10px;
}

/* =================================
   BUTTONS
   ================================= */

.button {
    border-radius: 4px;
    border: none;
    color: #FFF;
    padding: 8px 24px;
    font-size: 14px;
    background-color: #6f7579;
}

.buttonCreate, .buttonUpdate, .buttonUpload {
    border-radius: 4px;
    border: none;
    color: #FFF;
    padding: 8px 24px;
    font-size: 14px;
    background-color: #009033;
}

.buttonSave {
    border-radius: 4px;
    border: none;
    color: #FFF;
    padding: 8px 24px;
    font-size: 14px;
    background-color: #009033;
}

.buttonDelete {
    border-radius: 4px;
    border: none;
    color: #FFF;
    padding: 8px 24px;
    font-size: 14px;
    background-color: #B40000;
}

.buttonSpace {
    padding: 0 10px;
}

.button_grey {
    background: linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
    background-color: #f9f9f9;
    border-radius: 15px;
    border: 1px solid #dcdcdc;
    display: inline-block;
    color: #666666;
    font-family: Trebuchet MS;
    font-size: 15px;
    font-weight: normal;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
}

.button_grey:hover {
    background: linear-gradient(to bottom, #e9e9e9 5%, #f9f9f9 100%);
    background-color: #e9e9e9;
}

.button_grey:active {
    position: relative;
    top: 1px;
}

.submitButton {
    box-shadow: inset 0px 0px 0px 0px #ffffff;
    background: linear-gradient(to bottom, #ededed 5%, #dfdfdf 100%);
    background-color: #ededed;
    border-radius: 20px;
    border: 1px solid #dcdcdc;
    display: inline-block;
    color: #777777;
    font-family: Arial;
    font-size: 16px;
    font-weight: bold;
    height: 40px;
    line-height: 40px;
    width: 200px;
    text-decoration: none;
    text-align: center;
    text-shadow: 1px 0px 0px #ffffff;
    cursor: pointer;
}

.submitButton:hover {
    background: linear-gradient(to bottom, #dfdfdf 5%, #ededed 100%);
    background-color: #dfdfdf;
}

.submitButton:active {
    position: relative;
    top: 1px;
}

.buttons {
    margin-top: 40px;
    text-align: center;
}

.buttons_close {
    margin-top: 20px;
    text-align: center;
}

.buttons_right {
    margin-top: 10px;
    text-align: right;
    padding-right: 6px;
    margin-bottom: 10px;
}

/* =================================
   TABS
   ================================= */

.tabs {
    text-align: center;
    width: 100%;
    margin: 15px 0 45px;
    font-weight: bold;
}

.tab_view {
    margin: 0 6px;
    padding: 3px 15px;
    border-bottom: 5px solid #F6F6F6;
    cursor: pointer;
}

.tab_view_active {
    border-bottom-color: #6f7579;
}

.tab_view_inactive {
    border-bottom-color: #F6F6F6;
}

.tab_view_hover {
    border-bottom-color: #333;
}

.tab_menu {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.blockContent {
    display: none;
}

/* =================================
   DASHBOARD
   ================================= */

.item_box_left, .item_box_right {
    float: left; 
    width: 252px;
    height: 150px;
    margin-bottom: 20px;
    border: 1px solid #CCC;
}

.item_box_left {
    margin-right: 20px;
}

.dashboard_3_options {
    background-color: #EEE;
    color: #000;
    border-radius: 4px;
    float: left;
    width: 380px;
    padding: 20px;
    font-size: 16px;
}

.dashboard_5_options {
    background-color: #EEE;
    color: #000;
    border-radius: 4px;
    float: left;
    width: 244px;
    padding: 20px;
    font-size: 16px;
}

.dashboard_options_space {
    float: left;
    width: 20px;
}

/* =================================
   WIZARD
   ================================= */

.item_wizzard {
    padding-bottom: 25px;
}

.wizzard_step_active {
    float: left;
    margin-right: 20px;
    margin-bottom: 15px;
    color: #FFF;
    background-color: #25528c;
    border-radius: 4px;
    padding: 5px 10px;
}

.wizzard_step_inactive {
    float: left;
    margin-right: 20px;
    margin-bottom: 15px;
    color: #000;
    background-color: #cecece;
    border-radius: 4px;
    padding: 5px 10px;
}

/* =================================
   STATUS & LABELS
   ================================= */

.light_greenlight {
    color: #37ab6b;
}

.light_red {
    color: #e93a3b;
}

.light_orange {
    color: #e96b3b;
}

.label_state {
    text-transform: uppercase;
    color: #FFF;
    font-size: 80%;
    border-radius: 2px;
    padding: 5px 6px;
}

.state_blue { background-color: #0d73eb; }
.state_green { background-color: #006a00; }
.state_greenlight { background-color: #37ab6b; }
.state_magenta { background-color: #f4187c; }
.state_orange { background-color: #e96b3b; }
.state_purple { background-color: #771877; }
.state_red { background-color: #e93a3b; }
.state_grey { background-color: #a09fa0; }
.state_black { background-color: #000; }
.state_gold { background-color: #ffd700; }
.state_firebrick { background-color: #b22222; }
.state_darkgreen { background-color: #006400; }
.state_olivedrab { background-color: #6b8e23; }
.state_darkturquoise { background-color: #00ced1; }
.state_mediumaquamarine { background-color: #66cdaa; }
.state_deepskyblue { background-color: #00bfff; }
.state_navy { background-color: #000080; }
.state_indigo { background-color: #4B0082; }
.state_rose { background-color: #ff69b4; }
.state_deeppink { background-color: #ff1493; }
.state_slategray { background-color: #708090; }
.state_sandybrown { background-color: #f4a460; }

/* =================================
   COMMAND ELEMENTS
   ================================= */

.command_blue {
    color: #FFF !important;
    font-weight: bold;
    background-color: #2560a6;
    padding: 5px 8px;
    border-radius: 4px;
}

/* =================================
   TIMETABLE
   ================================= */

#item_timetable {
    border: 1px solid #C9CCCA;
    background-color: #F9F9F9;
    border-radius: 3px;
}

#item_timetable_hours {
    width: 10%;
    max-width: 100px;
    float: left;
    text-align: right;
    padding-right: 10px;
}

.item_timetable_day {
    padding: 6px;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #C9CCCA;
}

.item_timetable_sessions {
    border-left: 1px solid #C9CCCA;
    height: 750px;
}

.item_timetable_session {
    border-top: 1px solid #C9CCCA;
    padding: 0 5px;
}

/* =================================
   UTILITIES
   ================================= */

.clearer {
    clear: both;
}

.invisible {
    display: none;
}

.item_table_actions {
    padding-top: 20px;
}

.item_removal {
    text-align: center;
}

.line_grey {
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 10h10v10H0V10zM10 0h10v10H10V0z' fill='%23b8b8b8' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E");
    height: 6px;
    margin-top: 8px;
}

.line_grey_tiny {
    background-color: #CCC;
    height: 1px;
}

.breadcrumb_caret {
    color: #d8d8d8;
    padding: 0 4px;
}

#advantages {
    font-size: 14px;
}

.advantages_tab_left {
    float: left;
    width: 196px;
}

.advantages_tab_right {
    float: left;
    padding-left: 10px;
}

#filters {
    padding: 5px;
    margin-bottom: 20px;
}

#activity_loading, #js_wait {
    display: none;
}

#js_wait {
    color: #CCCCCC;
}

#feedback_success {
    
}

img {
    border: none;
    max-width: 100%;
    height: auto;
}

table {
    width: 100%;
}

/* =================================
   MEDIA QUERIES - MOBILE
   ================================= */

@media screen and (max-width: 768px) {
    
    #header {
        height: auto;
        padding: 10px 0;
    }
    
    #logotext {
        font-size: 20px !important;
        padding: 10px;
        text-align: center;
    }
    
    .tab {
        float: none;
        text-align: center;
        padding: 5px 0;
        display: block;
    }
    
    .item_2columns_left, .item_2columns_right,
    .item_2columns_left_40, .item_2columns_right_60,
    .item_2columns_left_60, .item_2columns_right_40,
    .item_2columns_left_25, .item_2columns_right_75,
    .item_2columns_left_30, .item_2columns_right_70,
    .item_2columns_left_35, .item_2columns_right_65,
    .item_2columns_left_20, .item_2columns_right_80,
    .item_2columns_left_menu, .item_2columns_right_content,
    .item_2columns_right_content_80 {
        float: none !important;
        width: 100% !important;
        margin: 0 0 20px 0 !important;
    }
    
    .item_3columns, .item_4columns, .item_5columns, .item_6columns {
        float: none !important;
        width: 100% !important;
        margin-bottom: 20px;
    }
    
    .item_3columns_space, .item_4columns_space, 
    .item_5columns_space, .item_6columns_space {
        display: none;
    }
    
    .form_left, .form_right {
        float: none !important;
        width: 100% !important;
        text-align: left !important;
        padding: 5px 0 !important;
        display: block !important;
        min-height: auto !important;
    }
    
    .form_text, .form_text_small {
        width: 100% !important;
        max-width: 100%;
    }
    
    .form_text_full {
        width: 100% !important;
        font-size: 16px !important;
    }
    
    .button, .buttonCreate, .buttonUpdate, .buttonUpload,
    .buttonSave, .buttonDelete, .submitButton, .button_grey {
        width: 100% !important;
        margin: 10px 0;
        padding: 12px !important;
        font-size: 16px !important;
    }
    
    .dashboard_3_options, .dashboard_5_options {
        float: none !important;
        width: 100% !important;
        margin-bottom: 20px;
    }
    
    .dashboard_options_space {
        display: none;
    }
    
    .item_box_left, .item_box_right {
        float: none !important;
        width: 100% !important;
        margin: 0 0 20px 0 !important;
    }
    
    table {
        font-size: 14px;
    }
    
    .dropit .dropit-submenu {
        position: static !important;
        display: block !important;
        width: 100% !important;
        box-shadow: none;
        border: none;
        margin: 0;
    }
    
    #item_timetable_hours {
        width: 20% !important;
        font-size: 12px;
    }
    
    .item_timetable_sessions {
        height: auto !important;
    }
    
    .item {
        padding-top: 15px !important;
    }
    
    .item_title {
        padding-bottom: 10px !important;
    }
    
    body {
        font-size: 14px !important;
    }
    
    .item_title_left, .item_title_single {
        font-size: 16px !important;
    }
    
    .tab_view {
        display: block;
        margin: 5px 0;
        text-align: center;
    }
    
    .tabs {
        margin-bottom: 20px !important;
    }
}

@media screen and (max-width: 480px) {
    
    #content, #header_content, #notification {
        width: 98% !important;
        padding: 0 5px;
    }
    
    .form_text, .form_text_small, .form_text_full {
        font-size: 16px !important;
    }
    
    .item_title_left, .item_title_single {
        font-size: 14px !important;
    }
    
    body {
        font-size: 13px !important;
    }
}