/* ---=== general/fonts ===--- */
@import 'tender.fonts.css';

html, body {
    font-size:                  16px;
    background-color:           #fafafa;
}
html, body, input, button, select, textarea {
    font-family:                'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
body {
    padding:                    40px 0 !important;
}
h1, h2, h3, h4, h5, h6 {
    margin-bottom:              1rem;
}
a, a:hover, a:focus {
    color:                      #0066bb;
    text-decoration:            none;
}
a > i {
    margin-right:               3px;
}
.carousel li::marker {
    font-size:                  0 !important;
}
.twitter-typeahead {
    display:                    block !important;
}
.hide {
    display:                    none;
}

.form-control::placeholder {
    opacity:                    .5;
}

/* ---=== buttons ===--- */
.btn-primary {
    color:                      #ffffff;
    background-color:           #0077cc;
    border-color:               #0077cc;
}
.btn-primary:hover, .btn-primary:focus {
    color:                      #ffffff;
    background-color:           #0067b1;
    border-color:               #0067b1;
}
.btn-secondary {
    color:                      #333333;
    background-color:           #dddddd;
    border-color:               #dddddd;
}
.btn-secondary:hover {
    color:                      #333333;
    background-color:           #cccccc;
    border-color:               #cccccc;
}

/* ---=== slider ===--- */
.slider.slider-horizontal {
    width:                      100%;
}
.slider.slider-horizontal .slider-track {
    background-image:           none;
    background-color:           #ffffff;
    border:                     solid 1px #ced4da;
}
.slider.slider-horizontal .slider-selection {
    box-shadow:                 none;
}
.slider.slider-horizontal .slider-handle {
    background:                 #0077cc;
}

/* ---=== switch ===--- */
.form-switch .form-check-input {
    height:                     1.5em;
    width:                      3.0em;
    margin-right:               0.5em;
    cursor:                     pointer;
}
.form-switch .form-check-input:checked {
    background-color:           #0077cc;
    border-color:               #0077cc;
}
.form-switch .form-check-label {
    margin-top:                 0.25em;
}


.switch {
    font-size: 1rem;
    position: relative;
}
.switch input {
    position: absolute;
    height: 1px;
    width: 1px;
    background: none;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    padding: 0;
}
.switch input + label {
    position: relative;
    min-width: calc(calc(2.375rem * .8) * 2);
    border-radius: calc(2.375rem * .8);
    height: calc(2.375rem * .8);
    line-height: calc(2.375rem * .8);
    display: inline-block;
    cursor: pointer;
    outline: none;
    user-select: none;
    vertical-align: middle;
    text-indent: calc(calc(calc(2.375rem * .8) * 2) + .5rem);
}
.switch input + label::before,
.switch input + label::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: calc(calc(2.375rem * .8) * 2);
    bottom: 0;
    display: block;
}
.switch input + label::before {
    right: 0;
    background-color: #dee2e6;
    border-radius: calc(2.375rem * .8);
    transition: 0.2s all;
}
.switch input + label::after {
    top: 2px;
    left: 2px;
    width: calc(calc(2.375rem * .8) - calc(2px * 2));
    height: calc(calc(2.375rem * .8) - calc(2px * 2));
    border-radius: 50%;
    background-color: white;
    transition: 0.2s all;
}
.switch input:checked + label::before {
    background-color: #0077cc;
}
.switch input:checked + label::after {
    margin-left: calc(2.375rem * .8);
}
.switch input:focus + label::before {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(0, 136, 221, 0.25);
}
.switch input:disabled + label {
    color: #868e96;
    cursor: not-allowed;
}
.switch input:disabled + label::before {
    background-color: #e9ecef;
}
.switch input:disabled:checked + label::before {
    background-color: #0077cc;
}
.switch.switch-sm {
    font-size: 0.875rem;
}
.switch.switch-sm input + label {
    min-width: calc(calc(1.9375rem * .8) * 2);
    height: calc(1.9375rem * .8);
    line-height: calc(1.9375rem * .8);
    text-indent: calc(calc(calc(1.9375rem * .8) * 2) + .5rem);
}
.switch.switch-sm input + label::before {
    width: calc(calc(1.9375rem * .8) * 2);
}
.switch.switch-sm input + label::after {
    width: calc(calc(1.9375rem * .8) - calc(2px * 2));
    height: calc(calc(1.9375rem * .8) - calc(2px * 2));
}
.switch.switch-sm input:checked + label::after {
    margin-left: calc(1.9375rem * .8);
}
.switch.switch-lg {
    font-size: 1.25rem;
}
.switch.switch-lg input + label {
    min-width: calc(calc(3rem * .8) * 2);
    height: calc(3rem * .8);
    line-height: calc(3rem * .8);
    text-indent: calc(calc(calc(3rem * .8) * 2) + .5rem);
}
.switch.switch-lg input + label::before {
    width: calc(calc(3rem * .8) * 2);
}
.switch.switch-lg input + label::after {
    width: calc(calc(3rem * .8) - calc(2px * 2));
    height: calc(calc(3rem * .8) - calc(2px * 2));
}
.switch.switch-lg input:checked + label::after {
    margin-left: calc(3rem * .8);
}
.switch + .switch {
    margin-left: 1rem;
}


.container {
    margin:                     0 auto;
    padding:                    0;
    max-width:                  1000px;
}
.container > hr {
    margin:                     30px 0;
    border-top:                 solid 1px #e8e8e8;
}

.navbar {
    padding:                    .2rem 2rem .2rem;
    margin-bottom:              30px;
    border:                     solid 1px #cccccc;
    border-radius:              4px;
}

.nav-link {
    padding-top:                10px;
    padding-bottom:             6px;
}

.navbar-light .navbar-brand {
    color:                      rgba(0,0,0,.6);
    font-weight:                600;
    margin-right:               3rem;
}

.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
    color:                      rgba(0,0,0,.6);
}

.navbar-light .navbar-nav .nav-item.active .nav-link {
    color:                      rgba(0,0,0,.7);
}

.navbar-expand-lg .navbar-nav .nav-link {
    font-weight:                normal;
    font-size:                  16px;
    padding-left:               0.8rem;
    padding-right:              0.8rem;
}


.modal-header h3 {
    color:                      #bbb;
}
.modal-body {
    padding:                    15px 25px;
    max-height:                 450px;
}

.marketing {
    margin:                     40px 0;
    text-align:                 center;
}
.marketing h1 {
    font-size:                  40px;
    line-height:                1;
}

#ModalLogin {
    width: 300px;
    margin-left: -150px;
}

.caption {
    font-size:                  11px;
    line-height:                14px;
    color:                      #666666;
    margin-top:                 5px;
}

.footer .nav .nav-header {
    color:                      #666666;
    font-size:                  14px;
    font-weight:                600;
    padding-bottom:             5px;
    text-transform:             uppercase;
}
.footer .nav .nav-item {
    font-size:                  14px;
    margin-bottom:              4px;
}

ul.unstyled.with-icons > li {
    line-height:                28px;
}
ul.unstyled.with-icons > li > i {
    margin-right:               8px;
}

/* ---=== site top alert ===--- */
.alert-top{
    position:                   fixed;
    width:                      480px;
    margin-left:                -240px;
    top:                        0;
    left:                       50%;
    z-index:                    1100;
    padding:                    1.2rem 1.4rem;
    box-shadow:                 0 10px 20px 2px rgba(0,0,0,.5)
}

.cookie-info {
    position:                   fixed;
    z-index:                    2000;
    bottom:                     0px;
    width:                      100%;
    background-color:           #2f3437;
    padding:                    12px 20px;
    color:                      #ffffff;
}

.cookie-banner {
    position:                   fixed;
    z-index:                    2000;
    bottom:                     0px;
    width:                      100%;
    background-color:           #2f3437;
    padding:                    35px 20px;
    color:                      #ffffff;
    text-align:                 center;
}

/* ---=== stream ===--- */
.item-left {
    border: 1px solid #dddddd;
    border-top: 1px solid #dddddd;
    border-right: 0px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    border-radius: 4px 0px 0px 4px;
    -moz-border-radius: 4px 0px 0px 4px;
    -webkit-border-radius: 4px 0px 0px 4px;
    padding:12px 16px;
    flex: 1;  /* grow */
    -webkit-transition: all 1.5s ease;
    -moz-transition: all 1.5s ease;
    -o-transition: all 1.5s ease;
    transition: all 1.5s ease;

}
.item-right {
    border: 1px solid #1d66a5;
    border-top: 1px solid #1d66a5;
    border-left: 0px solid #1d66a5;
    border-bottom: 1px solid #1d66a5;
    border-radius: 0px 4px 4px 0px;
    -moz-border-radius: 0px 4px 4px 0px;
    -webkit-border-radius: 0px 4px 4px 0px;
    padding: 6px 0px 0px 0px;
    flex: 0 0 120px; /* do not grow, do not shrink, start at 250px */
    background: #1d66a5;
    background: linear-gradient(135deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%);
    background: -moz-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%);
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, rgb(29, 102, 165)), color-stop(100%, rgb(62, 137, 195)));
    background: -webkit-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%);
    background: -o-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%);
    background: -ms-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1c518c', endColorstr='#3d6fa8',GradientType=1 );
    /*text-align: center;*/
    vertical-align: top;

}
.item {
    display: flex;
}
ul.stream {
    list-style:                 none;
    margin:                     0;
    padding:                    0;
}
ul.stream > li {
    margin-bottom:              10px;
}
ul.stream .item {
    width:                      100%;
    border-collapse:            separate;
}
ul.stream .item .info {
    background-color:           #ffffff;
    padding:                    10px 15px;
    border:                     solid 1px #dddddd;
    border-right:               0;
    border-top-left-radius:     4px;
    border-bottom-left-radius:  4px;
    vertical-align:             top;
}
ul.stream .item .info .logo {
    margin:                     4px 8px 0 0;
    width:                      32px;
    height:                     32px;
}
ul.stream .item .info-label {
    font-size:                  11px;
    line-height:                12px;
    color:                      #666666;
    text-transform:             uppercase;
}
ul.stream .item .info-actions a {
    margin-right:               8px;
}
ul.stream .item .info-actions.more a {
    color:                      #666666;
}
ul.stream li:hover .item .info-actions.more a {
    color:                      #0066bb;
}
ul.stream .item .meta {
    width:                      120px;
    padding:                    15px 0;
    text-align:                 center;
    vertical-align:             top;
    border:                     solid 1px rgba(0, 0, 0, 0.1);
    border-left:                0;
    border-top-right-radius:    4px;
    border-bottom-right-radius: 4px;
    background: #1d66a5; /* Old browsers */
    background:                 linear-gradient(135deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%); /* W3C */
    background:                 -moz-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%); /* FF3.6+ */
    background:                 -webkit-gradient(linear, left top, right bottom, color-stop(0%, rgb(29, 102, 165)), color-stop(100%, rgb(62, 137, 195))); /* Chrome,Safari4+ */
    background:                 -webkit-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%); /* Chrome10+,Safari5.1+ */
    background:                 -o-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%); /* Opera 11.10+ */
    background:                 -ms-linear-gradient(-45deg, rgb(29, 102, 165) 0%, rgb(62, 137, 195) 100%); /* IE10+ */
    filter:                     progid:DXImageTransform.Microsoft.gradient( startColorstr='#1c518c', endColorstr='#3d6fa8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

ul.stream .item .meta .date {
    font-size:                  24px;
    color:                      #ffffff;
}
ul.stream .item .meta .month {
    font-size:                  14px;
    color:                      #ffffff;
    text-transform:             uppercase;
}
ul.stream .item .meta .datestring {
    font-size:                  10px;
    color:                      #eaeaea;
    text-transform:             uppercase;
}
ul.stream .item .meta .divider {
    border-top:                 dotted 1px rgba(255, 255, 255, 0.3);
    margin-top:                 8px;
}

.streamhighlight {
    /*border:2px solid #0a53be !important;*/
    background-color: #ebebeb !important;
}

/* ---=== tender details ===--- */
.tender-details {
    background-color:           #ffffff;
    border:                     solid 1px #dddddd;
    -moz-border-radius:         4px;
    -webkit-border-radius:      4px;
    border-radius:              4px;
    padding:                    20px 20px !important;
}
.tender-details legend {
    font-size:                  18px;
    line-height:                28px;
    margin-bottom:              8px;
}
.tender-details table {
    margin-bottom:              15px;
}
.tender-details table tr td:first-child {
    width:                      200px;
    vertical-align:             top;
}
.tender-details .file {
    clear:                      both;
    height:                     28px;
}
.tender-details .file .filename {
    line-height:                26px;
    padding-right:              20px;
    white-space:                nowrap;
    overflow:                   hidden;
    text-overflow:              ellipsis;
}

.tender-details .file .fileaction {
    width:                      85px;
    float:                      right;
}
.tender-details .file .fileaction .btn-sm [class^="icon-"],
.tender-details .file .fileaction .btn-sm [class*=" icon-"] {
    margin-right:               0;
    margin-top:                 1px;
}

.leaflet-map {
    font-family:                'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    height:                     280px;
}
.leaflet-map .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
    border:                     solid 1px #dddddd;
}
.leaflet-map .leaflet-control-attribution {
    font-size:                  12px;
    background-color:           rgba(255,255,255, 0.8);
    border-top-left-radius:     4px;
    padding:                    2px 6px;
}
.leaflet-map .leaflet-control-attribution a,
.leaflet-map .leaflet-control-attribution a:hover,
.leaflet-map .leaflet-control-attribution a:focus {
    color:                      #333333;
    text-decoration:            none;
}
.leaflet-map .leaflet-control-attribution :nth-child(-n+2) {
    display:                    none;
}
.leaflet-map .custom-label {
    font-size:                  16px;
    background-color:           rgba(255,255,255, 0.8);
    border:                     solid 1px #dddddd;
    border-radius:              4px;
    padding:                    4px 8px 2px 8px;
}

.googlemap {
    padding:                    5px;
    background-color:           white;
    border:                     solid 1px #dddddd;
    -webkit-border-radius:      4px;
    -moz-border-radius:         4px;
    border-radius:              4px;
    height:                     280px;
}
.googlemap iframe, #map iframe {
    width:                      100%;
    height:                     280px;
    border:                     none;
    display:                    block;
    -webkit-filter:             grayscale(40%);
    -moz-filter:                grayscale(40%);
    -ms-filter:                 grayscale(40%);
    -o-filter:                  grayscale(40%);
    filter:                     grayscale(40%);

}

.waiting {
    color:                      #fefefe;
    font-size:                  23px;
    text-align:                 center;
    padding-top:                200px;
}
.waiting.show {
    opacity:                    unset;
    background:                 rgba(0, 0, 0, 0.8);
}


/* ---=== forms ===--- */
form .errorMessage {
    color:                      #B94A48;
}


/* ---=== dhtmlXGrid ===--- */
div.gridbox_material.gridbox {
    border:             none;
}
div.gridbox_material.gridbox table.hdr td {
    font-family:            'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size:              16px;
    color:                  #333;
    padding:                7px 0 5px 5px;
    height:                 44px !important;
}
div.gridbox_material.gridbox table.obj tr td {
    font-family:            'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
div.gridbox_material.gridbox table.obj tr td .treegrid_cell{
    line-height:            38px !important;
    height:                 38px !important;
}
div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col, div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col {
    background-position:    8px 11px;
}
div.gridbox .filter input {
    font-family:            'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    min-height:             30px;
    padding:                4px 6px;
    font-size:              16px;
    line-height:            20px;
    color:                  #555555;
    width:                  50% !important;
    border:                 1px solid #ced4da;
    border-radius:          4px;
    outline:                none;
    margin-bottom:          10px;
}
div.gridbox .filter select {
    min-height:             30px;
    border:                 1px solid #ced4da;
    border-radius:          4px;
    outline:                none;
}
div.gridbox .btn.btn-sm {
    padding:                2px 10px;
}
i.dhx_treegrid_icon {
    color:                  #666666;
}
div.gridbox_material.gridbox table.obj tr td {
    font-size:              16px !important;
    font-family:            'Roboto Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color:                  #404040;
}
.tender-details div.objbox .btn.btn-primary.btn-sm {
    width:                  90px;
}

.table>:not(:last-child)>:last-child>* {
    border-bottom-color: #dee2e6;
}

/*
font-size: calc([minimum size] + ([maximum size] - [minimum size]) * ((100vw - [minimum viewport width]) / ([maximum viewport width] - [minimum viewport width])));
*/

.responsive-font-size {
    font-size: calc(12px + (14 - 12) * ((100vw - 620px) / (1600 - 620))) !important;
}

.responsive-font-size-big {
    font-size: calc(16px + (36 - 16) * ((100vw - 620px) / (1600 - 620))) !important;
}

hr {
    margin:                     0;
    border:                     0;
    border-top:                 1px solid #eee;
    border-bottom:              1px solid #fff;
    opacity:                    1;
}

.ribbon {
    position:                   absolute;
    right:                      -5px;
    top:                        -5px;
    z-index:                    100;
    overflow:                   hidden;
    width:                      75px; height: 75px;
    text-align:                 right;
}
.ribbon span {
    font-size:                  10px;
    font-weight:                bold;
    color:                      #FFF;
    text-transform:             uppercase;
    text-align:                 center;
    line-height:                20px;
    transform:                  rotate(45deg);
    -webkit-transform:          rotate(45deg);
    width:                      100px;
    display:                    block;
    background:                 #79A70A;
    background:                 linear-gradient(#2989d8 0%, #1e5799 100%);
    box-shadow:                 0 3px 10px -5px rgba(0, 0, 0, 1);
    position:                   absolute;
    top:                        19px; right: -21px;
}
.ribbon span::before {
    content:                    "";
    position:                   absolute; left: 0px; top: 100%;
    z-index:                    -1;
    border-left:                3px solid #1e5799;
    border-right:               3px solid transparent;
    border-bottom:              3px solid transparent;
    border-top:                 3px solid #1e5799;
}
.ribbon span::after {
    content:                    "";
    position:                   absolute; right: 0px; top: 100%;
    z-index:                    -1;
    border-left:                3px solid transparent;
    border-right:               3px solid #1e5799;
    border-bottom:              3px solid transparent;
    border-top:                 3px solid #1e5799;
}

@media (max-width: 979px) {

    body {
        padding: 5px;
    }
}