﻿body {
    font-family: 'futuralight' !important;
}

html.mobile,
body.mobile {
    height: 100%;
    overflow:hidden;
}

body.inverse {
    background-color:#000;
    color:#fff;
}

.easy-autocomplete {
    width:100% !important;
}
.easy-autocomplete input {
    border-radius: inherit !important;
    padding: 0.25rem 0.5rem !important;
}

h1, h2 {
    font-family: 'helvetica_neue75_bold' !important;
}

section h2 {
    font-family: 'helvetica_neue77BdCn' !important;
}

.equal, .row.equal {
    display: flex;
    flex-wrap: wrap;
}

.anchor-w {
    width: 100%;
    height: auto;
}
.anchor-h {
    width: auto;
    height: 100%;
}
.anchor-0 {
    top: 0;
    left: 0;
}
.anchor-1 {
    top: 0;
    left: 50%;
    transform: translate(-50%)
}
.anchor-2 {
    top: 0;
    right: 0;
}
.anchor-3 {
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}
.anchor-4 {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}
.anchor-5 {
    top: 50%;
    right: 0;
    transform: translateY(-50%)
}
.anchor-6 {
    bottom: 0;
    left: 0;
}
.anchor-7 {
    bottom: 0;
    left: 50%;
    transform: translate(-50%)
}
.anchor-8 {
    bottom: 0;
    right: 0;
}

@media all and (max-width: 768px) {
    .equal, .row.equal {
        display: block;
        flex-wrap: initial;
    }
}

main {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    padding-top: 125px;
}
main.sticky {
    padding-top: 40px;
}
@media (max-width:991.98px) {
    main {
        padding-top: 112px;
    }
}
@media (max-width:767.98px) {
    main {
        padding-top: 40px;
    }
}

.modal-body .col-xs-12 {
    padding-bottom: 15px;
}

/* CHECKBOX AND RADIO */
.has-error input,
.has-error select,
.has-error textarea {
    border-bottom: solid 3px #a94442;
}

.form-control:focus {
    color: #000 !important;
    background-color: #fff !important;
    border-color: inherit !important;
    outline: 0;
    box-shadow: none;
}

.checkbox-custom {
    display: block;
    position: relative;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.checkbox-custom label {
    display: inline-block;
    position: relative;
    margin-right: 10px;
}
.checkbox-custom label small {
    display: inline-block;
    padding: 7px 0px 0px 30px;
    text-transform: none;
    font-size: 100%;
    font-weight: normal;
    line-height: 1.6;
}
.checkbox-custom label.extra small {
    padding: 7px 0px 0px 0px;
}
.checkbox-custom input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.checkmark {
    position: absolute;
    top: 4px;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #e8e8e8;
    -webkit-transition: all 500ms linear;
    -moz-transition: all 500ms linear;
    -ms-transition: all 500ms linear;
    -o-transition: all 500ms linear;
    transition: all 500ms linear;
}
.checkbox-custom:hover input ~ .checkmark {
    background-color: #ccc;
}
.checkbox-custom input:checked ~ .checkmark {
    background-color: #333;
}
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.checkbox-custom input:checked ~ .checkmark:after {
    display: block;
}
.checkbox-custom .checkmark:after {
    left: 9px;
    top: 5px;
    width: 7px;
    height: 12px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.has-error .checkbox-custom .checkmark {
    border-bottom: solid 1px #a94442;
}

.radio-custom {
    display: block;
    position: relative;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.radio-custom label {
    display: inline-block;
    position: relative;
    margin-right: 10px;
}
.radio-custom label small {
    display: inline-block;
    padding: 7px 0px 0px 30px;
    text-transform: none;
    font-size: 100%;
    font-weight: normal;
    line-height: 1.6;
}
.radio-custom label.extra small {
    padding: 7px 0px 0px 0px;
}
.radio-custom input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.radio-custom .checkmark {
    position: absolute;
    top: 4px;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #e8e8e8;
    border-radius: 50%;
    -webkit-transition: all 500ms linear;
    -moz-transition: all 500ms linear;
    -ms-transition: all 500ms linear;
    -o-transition: all 500ms linear;
    transition: all 500ms linear;
}
.radio-custom:hover input ~ .checkmark {
    background-color: #ccc;
}
.radio-custom input:checked ~ .checkmark {
    background-color: #333;
}
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.radio-custom input:checked ~ .checkmark:after {
    display: block;
}
.radio-custom .checkmark:after {
    top: 8px;
    left: 8px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: white;
}
.has-error .radio-custom .checkmark {
    border-bottom: solid 1px #a94442;
}

#account-registration  {
   display:none;
}
#account-response {
    text-align:center;
}   

.account-form {
    margin-bottom:20px;
}
.account-form .btn-link {
    padding: 0 5px;
    border: none;
    line-height: 1;
    vertical-align: unset;
    color: #000;
    font-size: 1em;
}
.account-form .account-sep {
   margin-top:10px;
   padding-top:10px;
   border-top:solid 1px #ccc;
   width:50px;
}

.account-form .form-group {
    position: relative;
    margin-bottom: 20px;
}
.account-form .form-group .showpsw {
    position: absolute;
    bottom: 2px;
    right: 5px;
    cursor:pointer;
}


/* NEWS */
#news h1 {
    font-family: 'helvetica_neue77BdCn' !important;
}
#news h4 {
    font-family: 'helvetica_neue75_bold' !important;
}

#news .news-list {
    padding: 20px 24px 120px;
}
#news .news-list .news-list-item {
    position: relative;
    padding-bottom: calc(var(--bs-gutter-x) * .5);
    margin-bottom: 40px;
}
#news .news-list .news-list-item:before {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    z-index: 1;
    position: absolute;
    content: '';
    top: -1px;
    left: -1px;
    width: calc(100% - (var(--bs-gutter-x) * .5));
    height: 100%;
    background-color: rgba(255, 255, 255, 1);
}
#news .news-list .news-list-item:hover:before {
    background-color: rgba(255, 255, 255, 0);
}
#news .news-list .news-list-item:after {
    z-index: 0;
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: calc(100% - (var(--bs-gutter-x) * .5));
    height: 100%;
    background-color: var(--main-color);
}

body.inverse #news .news-list .news-list-item:before {
    background-color: rgba(0, 0, 0, 1);
}
body.inverse #news .news-list .news-list-item:hover:before {
    background-color: rgba(0, 0, 0, 0);
}
body.inverse #news .news-list .news-list-item:after {
    background-color: var(--main-color);
}

#news .news-list .news-list-item .image {
    position: relative;
    z-index: 5;
    padding-top: 10px;
    padding-bottom: 10px;
}
#news .news-list .news-list-item .image img {
    width: 98%;
    height: auto;
}
#news .news-list .news-list-item .text {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    position: relative;
    z-index: 5;
}
#news .news-list .news-list-item:hover .text {
    color: #fff;
}
#news .news-list .news-list-item .text h2 {
    font-family: 'helvetica_neue77BdCn' !important;
    font-size: 25px;
    margin-bottom: 0;
}
#news .news-list .news-list-item .text h5 {
    margin-bottom: 10px;
}
#news .news-list .news-list-item .text a {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    display: block;
    margin-top: 5px;
    text-decoration: none;
    color: var(--main-color);
}
#news .news-list .news-list-item:hover .text a {
    color: #fff;
}

#news #news-single {
    padding-top: 80px;
    padding-bottom: 120px;
}
#news #news-single .news .image {
    margin-bottom: 30px;
}
#news #news-single .news .image img {
    width: 100%;
    height: auto;
}
#news #news-single .news .text h2 {
    font-family: 'helvetica_neue77BdCn' !important;
    margin-bottom: 0;
}
#news #news-single .news .text h5 {
    margin-bottom: 20px;
}

#news #news-single .sidebar {
    width:100%;
    height:100%;
    padding:30px;
    background-color: #f7f7f7;
}
#news #news-single .sidebar .latest-news {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    padding-bottom: 20px;
    padding-top: 20px;
    margin:0;
    border-top: solid 1px #ccc;
}
#news #news-single .sidebar .latest-news:hover {
    background-color: var(--main-color);
}
#news #news-single .sidebar .latest-news {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    margin-top: 5px;
    text-decoration: none;
    color: var(--main-color);
}
#news #news-single .sidebar .latest-news:hover {
    color: #fff;
}
#news #news-single .sidebar .latest-news .image img {
    width:100%;
    height:auto;
}
#news #news-single .sidebar .latest-news .text h2 {
    font-family: 'helvetica_neue77BdCn' !important;
    font-size: 18px;
    line-height: 1;
    margin: 0;
}
#news #news-single .sidebar .latest-news .text small {
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
    display:block
}

body.inverse #news #news-single .sidebar {
    background-color: #111;
}

#news #news-single .news .news-related {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    margin: 10px;
    padding: 10px;
    border: solid 1px #ccc;
    text-align: center;
    font-size: 16px;
    display: block;
    color: #000;
    text-decoration: none;
}
#news #news-single .news .news-related img{
    width:100%;
    height:auto;
    margin-bottom:10px;
}
#news #news-single .news .news-related:hover {
    background-color: var(--main-color);
    color: #fff;
}

/* DISTRIBUTION */

@media (max-width:575.98px) {
    #distribution .map svg {
       display:none;
    }
}

#products-menu {
    z-index: 500;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background-color: rgba(255, 255, 255, 1);
    display: none;
}
#products-menu.opened {
   display: block;
}
#products-menu #pm-inner {
    padding-top:45px;
}
#products-menu #pm-inner ul {
    list-style: none;
    margin-top: 5px;
}
#products-menu #pm-inner ul a {
    display:block;
    padding:2px 6px;
    font-size: 16px;
    color:#000;
    text-decoration:none;
}
#products-menu #pm-inner .pm-cat span {
    display:block;
    padding:2px 6px;
    font-size:20px;
    font-weight:bold;
}
#products-menu #pm-inner .pm-cat .active > span {
    background-color: var(--menu-color);
    color: #fff;
}
#products-menu #pm-inner .pm-typ span {
    font-size: 16px;
    font-weight: bold;
}
#products-menu #pm-inner .pm-prd {
   margin-bottom:20px;
}
#products-menu #pm-inner .pm-prd .active a {
    background-color: var(--menu-color);
    color: #fff;
}

/* SEARCH */

#search {
    padding-top: 80px;
    padding-bottom:120px;
}
#search .search-results {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
#search .search-results:after {
    display: block;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    content: '';
    border-bottom: dashed 1px #ccc;
}
#search .search-results .search-box {
    -webkit-transition: all 1200ms ease;
    -moz-transition: all 1200ms ease;
    -ms-transition: all 1200ms ease;
    -o-transition: all 1200ms ease;
    transition: all 1200ms ease;
    display: block;
    height:calc(100% - 30);
    padding: 30px;
    margin-bottom:30px;
    border: solid 1px #ccc;
    color: #000;
    text-decoration: none;
}
#search .search-results .search-box:hover {
    background-color: var(--main-color);
    color: #fff;
}
#search .search-results .search-box img{
    width:100%;
    height:auto;
    margin-bottom:10px;
}
#search .search-results .search-box h2 {
    font-size: 22px;
}
#search .search-results .search-box h2 {
    font-size: 22px;
}

/* PAGE */

#page {
    padding-bottom:120px;
}

/* PARAGRAPH */

.paragraph {
    position:relative;
}

.paragraph img {
    width: 100%;
    height: auto;
}

.paragraph.dbtechnologies {
    padding-right: 20px;
    padding-bottom: 10px;
    margin-bottom: 20px;
}
.paragraph.dbtechnologies:after {
    z-index:-1;
    position: absolute;
    content: '';
    bottom: 0;
    left: calc(var(--bs-gutter-x) * .5);
    width: calc(100% - var(--bs-gutter-x));
    height: calc(100% - 20px);
    border: solid 1px #ccc;
    border-left: none;
}
.paragraph.dbtechnologies .title h1 {
    display: inline-block;
    background-color: #fff;
}
.paragraph.dbtechnologies .title h2 {
    display: inline-block;
    border-right: solid 30px #fff;
    background-color: #fff;
}

.paragraph.separator {
    padding-bottom: 30px;
}
.paragraph.separator:after {
    z-index: -1;
    position: absolute;
    content: '';
    bottom: 0;
    left: 50%;
    transform:translateX(-50%);
    width: 20%;
    height:4px;
    background-color:var(--main-color);
}

#distribution h2 {
    font-size: 26px;
    padding-top: 4px;
}

/* commons */

.padding-80-120 {
    padding-top: 80px;
    padding-bottom: 120px;
}

@media (max-width:767.98px) {
    .padding-80-120 {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

.ta-left {
    text-align:left !important;
}
.ta-center {
    text-align: center !important;
}
.ta-right {
    text-align: right !important;
}

.accordion-button {
    font-family: 'helvetica_neue77BdCn' !important;
    font-size: 24px;
}