.htmlContainer {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    accent-color: #b0c4de;
}

body {
    /*font-size: 1rem;
    line-height: 1.428;*/
}

main {
    /*padding: 20px;*/
}

h1 {
    color: #013161;
    font-weight: bold;
    text-align: left;
    font-size: 2rem;
    margin: 20px 0;
}

.titulo {
    font-weight: bold;
}

.tableBtn {
    background: #b0c4de !important;
    color: #013161 !important;
    border: 2px !important;
    border-color: #013161 !important;
    border-style: solid !important;
    border-radius: 4px !important;
    padding: 2px 4px !important;
}

    .tableBtn:hover {
        text-decoration: underline !important;
    }

.tableBtnExcel {
    border: 0 !important;
    padding: 20px 14px 10px 14px !important;
    background-image: url('../../../cwIMAGES/2015/excel.png') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 30px 30px;
}


.tableBtnCSV {
    border: 0 !important;
    padding: 20px 14px 10px 14px !important;
    background-image: url('../../../cwIMAGES/2015/csv.png') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 30px 30px;
}

.tableBtnExcel:active, .tableBtnCSV:active {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important; /* Para que no se note que hacemos click */
}


.loading {
    border: 0 !important;
    background-image: url('../../../cwIMAGES/2015/loading.gif') !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 200px;
}


/* Relevant overrides */

button, input, optgroup, select {
    font: inherit;
}

ul {
    padding-left: 40px;
}

input, select {
    vertical-align: baseline;
}

input[type=checkbox] {
    margin: 0;
}

td {
    text-align: left;
}

label {
    font-weight: normal;
}

.tree {
    margin: 16px 0;
}

/************************/


/* Overlay and progress bar */

#overlay {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    opacity: 0.80;
}

#progress-wrapper {
    box-sizing: content-box;
    padding: 50px;
    width: 200px;
    margin: auto;
    text-align: center;
}

#progress-text {
    margin-top: 0;
}

#progressbar {
    border-radius: 4px;
}

.ui-progressbar .ui-widget-header {
    background-color: #b0c4de;
}

.ui-progressbar .ui-progressbar-value {
    margin: 0;
}

/***********************/

/* Buttons */

.button {
    cursor: pointer;
    padding: 2px 4px;
    border-style: solid;
    border-radius: 4px;
}

.button:hover {
    text-decoration: underline;
}

.button:disabled {
    cursor: initial;
    border: none;
}

.button:disabled:hover {
    text-decoration: none;
}

.is-blue {
    background-color: #b0c4de;
    color: #013161;
    border-color: #013161;
}

.is-darkBlue {
    background-color: #013161;
    color: #ffffff;
    border-color: #013161;
}

.is-orange {
    background-color: #fdbd03;
    color: #013161;
    border-color: #fdbd03 !important;
}

.is-white {
    background-color: whitesmoke;
    color: grey;
    border-color: grey;
}

.excel-button {
    color: darkgreen !important;
    background-color: lightgreen !important;
    border-color:  darkgreen !important;
}

.csv-button {
    color: darkblue !important;
    background-color: lightskyblue !important;
    border-color:  darkblue !important;
}

.csv-button:focus {
    background: lightskyblue !important;
}

.excel-button:focus {
    background: lightgreen !important;
}

/*************************/

/* Locale select */

#locale-select-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

#locale-select {
    height: fit-content;
    padding: 4px;
    background-color: #b0c4de;
    border: 2px solid #013161;
    border-radius: 4px;
}


/************************/

/* Multiple selection */

select[multiple]:focus option:checked {
    background: linear-gradient(0deg, #b0c4de 0%, #b0c4de 100%);
}

select[multiple] option:checked {
    background-color: #dadfe6;
}

/**********************/

/* Helpers */

.flex-row {
    display: flex;
    flex-direction: row;
}

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-item {
   flex: 1;
   min-width: 0;
   max-width: 100%;
}

#taric-filter.flex-item {
    flex: 2;
}

.push-right {
    margin-left: auto;
}

/********************/

/* Form */

#flow-controls {
    margin: 10px 0;
}

#flow-controls label:first-of-type {
    margin-right: 10px;
}

.controls * {
    display: inline-block;
}

.controls {
    padding: 10px 0;
}

.controls button {
    margin-left: 4px;
}

.controls #taric-controls {
    display: block;
}

#main-controls {
    margin: 10px 0px 10px 6px;
    width: 100%;
    text-align: right;
}

#main-controls button {
    display: block;
}

/*********************/

/* Period controls */

.controls #period-controls {
    display: block;
}

.range-wrapper {
    padding: 6px;
    margin: 10px 0;
}

.grid-wrapper {
    display: grid;
    grid-template-columns: 0.75fr 1fr;
    align-items: center;
}

.grid-item {
    padding: 5px;
}

.range-controls {
    padding: 8px;
    border: 1px solid grey;
}

/* Fixed height to avoid movement */
#contents {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* center*/
    height: 348px !important;
}

/********************/

/* Tree View */

#filters-wrapper {
    gap: 20px;
}

.tree-wrapper {
    overflow: auto;
    margin-top: auto;
    border: 1px solid grey;
    height: 400px; /*300px;*/ /*273px;*/
    padding-right: 8px;
}

.tree-wrapper .item-wrapper {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: none;
    -moz-user-select: none;
}

.tree, .tree ul {
    list-style-type: none;
}

.tree ul {
    padding-left: 1.2em;
}

.tree li {
    margin: 4px 0px 4px 4px;
    padding: 2px 0px 2px 2px;
}

.tree-element {
    position: relative;
    padding: 3px;
}

.tree-element:hover {
    cursor: pointer;
}

.tree-element .branch-wrapper {
    position: absolute;
    top: 0;
    left: -1.6em;
}

.tree li svg {
    margin-right: 5px;
}

.branch {
    display: inline-block;
    border: solid black;
    border-width: 0 3px 3px 0;
    padding: 3.5px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transition: transform 0.4s;
}

.branch-wrapper {
    padding: 2px 6px;
    width: fit-content;
    height: fit-content;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none; /* Safari 3+ */
}

.branch-open {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.nested {
    display: none;
}

.active {
    display: block;
}

.selected {
    background-color: rgba(171, 186, 204, 0.5);
}

/**************************************/

.info-box {
    text-align: left;
    width: fit-content;
    display: flex;
    align-items: center;
}

.icon-text {
    margin-left: 4px;
    color: #013161;
}

.icon {
    align-self: stretch;
}

/* Datatables customization */

table.dataTable thead tr {
    background-color: #b0c4de;
}

table.dataTable {
    margin: 5px 0;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: none;
    color: black !important;
    background-color: #b0c4de;
}
   
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
    background: none;
    color: black !important;
    background-color: #b0c4de;
    box-shadow: none;
} 

/*************************/

/* JQuery UI */

.ui-selectmenu-menu .ui-menu {
    max-height: 118px;
}

.ui-dialog {
    max-width: 600px;
}

.ui-dialog .ui-widget-header {
    background-color: #b0c4de;
}

.ui-dialog .ui-button {
    background-color: #dadfe6;
    border: none;
}

.ui-dialog .ui-button:hover {
    background-color: #b0c4de;
}

.ui-dialog .ui-button:active {
    background-color: #dadfe6;
    color: black;
}

/* Do not show close button */
.ui-dialog-titlebar-close {
    display: none;
}

.ui-checkboxradio-label {
    padding: 6px;
}


/* ORIGINAL botones radiobutton 
.ui-checkboxradio-label.ui-checkboxradio-checked,
.ui-checkboxradio-label.ui-checkboxradio-checked:hover,
.ui-button:active {
    background-color: #b0c4de;
    color: #013161;
    border-color: #013161;
}*/

.ui-state-active {
    border: 2px solid #DCE6EF;
}

.ui-button.ui-state-active {
    border: 2px solid #013161;
}

.ui-button.ui-state-active:hover {
    border: 2px solid #013161;
}

.ui-button:active {
    background-color: #DCE6EF;
    color: #2b2b2b;
    border-color: #013161;
}

.button:disabled {
    background-color: whitesmoke;
    color: #ededed;
    border: 2px solid lightgray;
}
.button:enabled {
    /*background-color: #DCE6EF;*/
    border: 2px solid #013161;    
}



.ui-checkboxradio-label.ui-checkboxradio-checked,
.ui-checkboxradio-label.ui-checkboxradio-checked:hover {
    background-color: #DCE6EF; /*#ededed;*/
}

.ui-checkboxradio-label {
    background-color: inherit;
}


.ui-visual-focus {
    box-shadow: none;
}

.ui-selectmenu-button {
    padding-left: 5px;
    padding-right: 5px;
}

.ui-selectmenu-text {
    margin-right: 2px;
}

.ui-menu-item > .ui-state-active {
    color: #013161;
    background-color: #b0c4de;
    border-color: #b0c4de;
}

/************************/

/* Responsiveness */

/* Medium size screens */
 @media screen and (max-width: 1300px) {
    
   #filters-wrapper.flex-row {
        flex-wrap: wrap;
    }

    .flex-item {
        flex: 1 1 33%;
    }

    #taric-filter.flex-item {
        flex: 2 1 50%;
    }

}

/* Small screens (tablets and mobiles) */
@media screen and (max-width: 868px) {

    #filters-wrapper.flex-row {
       flex-direction: column;
    }

   .ui-dialog {
        max-width: 80%;
    }

    #taric-controls label, #period-controls label {
        display: block;
        margin-top: 4px;
    }

    .ui-tooltip {
        display: none !important;
    }

    #contents {
        height: auto !important;
    }

    .range-wrapper {
        padding: 0 10%;
    }
    
}

/********************************/


.displaynone {
    display: none;
}

.disabled {
    color: gray;
}