header {
    position: fixed;
    width: 100%;
    z-index: 90;
    transition: .2s all ease;
    background: rgba(247, 247, 247, 0.7);
    backdrop-filter: blur(8px);
}

header.scroll {
    background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(0);
    -webkit-box-shadow: 0px 0px 4px 2px rgba(133,133,133,0.7); 
    box-shadow: 0px 0px 4px 2px rgba(133,133,133,0.7);
}

header .container {
   max-width: 100%;
   padding: 0 20px;
   transition: .2s all ease;
}

header .logo-content {
    height: 66px;
    margin: 5px 0;
}

header .logo-content img {
    width: auto;
    height: 100%;
}

header .nav-desktop nav > ul > li,
header .nav-bis nav > ul > li {
    display: inline-block;
    margin-right: 15px;
}

header .nav-desktop nav a,
header .nav-bis a {
    font-weight: var(--font-weight-max);
}

header .nav-bis nav > ul > li {
    margin-right: 0;
}

header .nav-desktop nav > ul > li:last-child,
header .nav-bis nav > ul > li:last-child {
    margin-right: 0;
}

header .nav-desktop nav > ul > li.parent,
header .nav-bis nav > ul > li.parent {
    padding-right: 10px;
    background: url(img/arrow-nav.png) no-repeat;
    background-position: center right;
}

header .nav-desktop nav > ul > li > a,
header .nav-desktop nav > ul > li > span,
header .nav-bis nav > ul > li > a,
header .nav-bis nav > ul > li > span {
    color: var(--color-secondary) !important;
    display: block;
    line-height: 80px;
    letter-spacing: 1px;
    padding: 0 5px;
    position: relative;
    transition: .2s all ease;
}

header.scroll .nav-desktop nav > ul > li > a,
header.scroll .nav-desktop nav > ul > li > span,
header.scroll .nav-bis nav > ul > li > a,
header.scroll .nav-bis nav > ul > li > span {
    line-height: 90px;
}

header .nav-desktop nav > ul > li.menuactive > a,
header .nav-desktop nav > ul > li.menuactive ul li.menuactive > a,
header .nav-desktop nav > ul > li.menuactive > span,
header .nav-desktop nav > ul > li.menuactive ul li.menuactive > span,
header .nav-bis nav > ul > li.parent ul li.menuactive a {
    color: var(--color-primary) !important;
    position: relative;
}

header .nav-desktop nav > ul > li > a:after {
    position: absolute;
    content: "";
    width: 3px;
    height: 0;
    background: var(--color-primary);
    left: calc(50% - 1.5px);
    bottom: 0;
    border-radius: 0 0 4px 4px;
    transition: .2s all ease;
}

header .nav-desktop nav > ul > li.menuactive > a:after,
header .nav-desktop nav > ul > li > a:hover:after  {
    height: 15px;
}

header .nav-desktop nav > ul > li.parent ul,
header .nav-bis nav > ul > li.parent ul {
    position: absolute;
    background: var(--color-white);
    padding: 10px 20px;
    -webkit-filter: drop-shadow(0 8px 20px rgba(0,0,0,.1));
    filter: drop-shadow(0 8px 20px rgba(0,0,0,.1));
    min-width: 230px;
    visibility: hidden;
    opacity: 0;
    margin-top: 20px;
    transition: .3s;
}

header .nav-desktop nav > ul > li.parent:hover > ul,
header .nav-bis nav > ul > li.parent:hover > ul {
    visibility: visible;
    opacity: 1;
    margin-top: 0;
    transition: .3s;
}

header .nav-desktop nav > ul > li.parent ul li {
    display: block;
    padding: 10px 0;
}

header .nav-bis nav > ul > li.parent ul li {
    display: block;
}

header .nav-desktop nav > ul > li.parent ul li:last-child,
header .nav-bis nav > ul > li.parent ul li:last-child {
    border-bottom: 0;
}

header .nav-desktop nav > ul > li.parent ul li a,
header .nav-bis nav > ul > li.parent ul li a {
    display: block;
    line-height: 2;
    letter-spacing: .5px;
    color: var(--color-dark);
}

header .nav-desktop nav a:hover,
header .nav-bis nav a:hover {
    color: var(--color-primary) !important;
}

header .nav-desktop nav > ul > li > ul > li > ul,
header .nav-bis nav > ul > li > ul > li > ul {
    visibility: hiddent;
    opacity: 0;
    transition: .3s;
    top: 0;
    left: calc(100% - 20px);
}

header .nav-desktop nav > ul > li > ul > li.parent:hover > ul,
header .nav-bis nav > ul > li > ul > li.parent:hover > ul {
    visibility: visible;
    opacity: 1;
    margin-top: 0;
    transition: .3s;
}

header .nav-desktop nav > ul > li > ul > li > ul > li > ul,
.nav-mobile nav > ul > li > ul > li > ul > li > ul {
    display: none;
}

header .nav-bis nav > ul > li.parent {
    position: relative;
}

header .nav-bis nav > ul > li.parent ul {
    min-width: inherit !important;
    right: 0;
}
header .nav-bis nav > ul > li.parent {
    background-position-x: right !important;
    background-position-y: 20px !important;
}

/* Nav mobile */

.nav-mobile {
    position: fixed;
    width: 320px;
    height: 100%;
    right: -330px;
    top: 0;
    z-index: 999999;
    background: #fff;
    transition: .2s;
    opacity: 0;
}

.nav-mobile.open-nav {
    right: 0;
    opacity: 1;
    transition: .4s;
}

.nav-mobile .inner {
    height: 100%;
    overflow: scroll;
    padding-bottom: 120px;
}

.nav-mobile nav ul li {
    padding: 10px 0;
    border-top: 1px dotted #ddd;
}

.nav-mobile nav ul li.parent {
    padding-bottom: 0 !important;
}

.nav-mobile nav ul li.parent > span {
    padding-bottom: 10px;
}

.nav-mobile nav ul li ul li {
    padding-left: 20px;
}

.nav-mobile nav ul li a,
.nav-mobile nav ul li > span {
    display: block;
    color: var(--color-secondary);
    padding-left: 20px;
    font-weight: 600;
}

.nav-mobile nav ul li.menuactive > a {
    color: var(--color-primary); !important;
}

.nav-mobile nav ul li.parent > a {
    margin-bottom: 10px;
}

.nav-mobile nav ul li a:hover {
    color: var(--color-primary);;
}

.bt-open-nav {
    border-radius: 50%;
    overflow: hidden;
    margin-left: 1rem;
    cursor: pointer;
}

.bt-open-nav i {
    background: var(--color-primary);
    color: var(--color-white);
    line-height: 45px;
    width: 45px;
    text-align: center;
    font-size: 26px;
}

.bt-open-nav:hover i {
    background: var(--color-primary-hover);
}

.bt-close-nav {
    line-height: 60px;
    padding-left: 15px;
    font-size: 28px;
    cursor: pointer;
}

.bt-close-nav i {
    line-height: 3;
}

.bt-close-nav:hover i {
    color: var(--color-primary);
}

.bt-mask-nav {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.4);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    backdrop-filter: blur(2px);
}

.open-nav .bt-mask-nav {
    transition: .3s;
    opacity: 1;
    visibility: visible;
}

.nav-mobile .nav-item a {
    color: var(--color-secondary);
    font-weight: 600;
}

.nav-mobile .nav-item a:hover {
    color: var(--color-primary);
}

.nav-mobile .nav-item .bt-search {
    font-size: 28px !important;
    margin-left: 15px;
    margin-right: 15px;
}

.nav-mobile .nav-item .bt-search i {
    line-height: 3;
}

/* Other */

.icon-quote {
    position: relative;
    z-index: 9;
    line-height: 0;
}

.icon-quote i {
    font-size: 20px;
    background: var(--color-primary);
    color: var(--color-white);
    width: 45px;
    line-height: 45px;
    text-align: center;
    border-radius: 50%;
}

/* Heading */

.heading-content {
    position: relative;
    width: 100%;
    height: 95vh;
    overflow: hidden;
}

.banner-content {
    position: absolute;
    width: 100%;
    height: 100%;
}

.banner-content .component-fullwidth {
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    overflow: hidden;
}

.banner-content .component > ul {
    position: absolute;
    top: 0;
    z-index: 2;
}

.banner-content .component-fullwidth li .filter {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 5;
}

.banner-content .component-fullwidth li .filter:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(68,45,27,.8) 0%, rgba(68,45,27,.2) 100%);
}

.banner-content .component-fullwidth li img {
    top: 0;
}

.banner-content .component-fullwidth li .container {
    position: relative;
    z-index: 9;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner-content .component-fullwidth li .inner {
    position: relative;
    width: 100%;
    max-width: 650px;
    transform: translateY(100px);
    transition: .6s all ease;
    text-align: center;
}

.banner-content .component-fullwidth li.current .inner {
    transform: translateY(0);
}

.banner-content .component-fullwidth li .inner p.h1 {
    font-size: calc(var(--font-size-xxl) + 1.4rem);
}

.banner-content .component-fullwidth li .inner p {
    opacity: 0;
    transition: 1.5s all ease;
}

.banner-content .component-fullwidth li.current .inner p {
    opacity: 1;
}

.banner-content .component-fullwidth li .inner strong {
    display: inline-block;
    padding: 5px 15px;
    border-radius: 25px;
    background: rgba(247, 247, 247, 0.2);
    backdrop-filter: blur(4px);
    transform: translateY(-50px);
    transition: .6s all ease;
    opacity: 0;
}

.banner-content .component-fullwidth li.current .inner strong {
    transition-delay: .3s;
    transition-property: transform, opacity;
    transform: translateY(0);
    opacity: 1;
}

.banner-content .component-fullwidth li .inner .btn,
.banner-content .component-fullwidth li .inner .btn-call-action {
    transform: translateY(50px);
    transition: 1s all ease;
    opacity: 0;
}

.banner-content .component-fullwidth li.current .inner .btn,
.banner-content .component-fullwidth li.current .inner  .btn-call-action {
    transition-delay: .4s;
    transition-property: transform, opacity;
    transform: translateY(0);
    opacity: 1;
}

.banner-content .btn-call-action,
.sub-banner .btn-call-action {
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.banner-content .btn-call-action i,
.sub-banner .btn-call-action i {
    width: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 25px;
    background: rgba(247, 247, 247, 0.2);
    backdrop-filter: blur(4px);
    transition: .2s all ease;
    font-size: 20px;
}

.banner-content .btn-call-action:hover i,
.sub-banner .btn-call-action:hover i {
    background: var(--color-primary);
}

.banner-content .btn-call-action span,
.sub-banner .btn-call-action span {
    display: inline-block;
    position: relative;
    font-weight: var(--font-weight-base);
}

.banner-content .btn-call-action span::after,
.sub-banner .btn-call-action span::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: 0;
    background: var(--color-primary);
    transition: .2s all ease;
}

.banner-content .btn-call-action:hover span::after,
.sub-banner .btn-call-action:hover span::after {
    width: 100%;
}

.banner-content .component-fullwidth li .background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-position: center !important;
    background-size: cover !important;
}

.banner-content .component-fullwidth .shape-bottom {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(img/shape-01.svg) no-repeat;
    background-position: bottom;
    z-index: 4;
    pointer-events: none;
}

/* About */

.about-content .bloc-img {
    position: relative;
    padding: 15px;
    padding-right: 25px;
    padding-top: 0;
}

.about-content .bloc-img::after {
    content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    left: 0;
    bottom: 0;
    background: url(img/shape-02.svg) no-repeat;
    background-size: 100%;
    border-radius: 0 var(--border-radius-min) 0;
}

.about-content .bloc-img .img {
    position: relative;
    border-radius: var(--border-radius-min);
    overflow: hidden;
    z-index: 1;
    box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.2);
}

.about-content .bloc-img .img img {
    width: 100%;
    object-fit: cover;
}

.about-content .bloc-img .img:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: .4;
    background: linear-gradient(0deg, rgba(68, 45, 27, .4) 0%, rgba(68, 45, 27, .05) 100%);
}

.about-content .bloc-img .h5 {
    position: absolute;
    display: inline-block;
    background: var(--color-primary);
    color: var(--color-white);
    padding: 15px 20px;
    top: 40px;
    right: 0;
    border-radius: var(--border-radius-min);
    z-index: 2;
    max-width: 215px;
    letter-spacing: 2px;
    line-height: 1.5;
    margin: 0;
}

/* Testimonial */

.testimonial-content {
    border: 1px solid #eee;
    border-radius: var(--border-radius-min);
    padding: 2rem;
    background: var(--color-white);
    box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.08);
    border-bottom: 5px solid var(--color-primary);
}

.testimonial-content .testimonials-swiper {
    position: relative;
    width: 100%;
    margin: auto;
}

.testimonial-content .swiper-slide {
    box-sizing: border-box;
}

.testimonial-content .message {
    font-style: italic;
    margin-bottom: 2rem;
}

.testimonial-content .author {
    font-weight: var(--font-weight-max);
    margin: 0;
}

.testimonial-content .office {
    font-size: 12px;
    margin-bottom: 5px;
}

.testimonial-content .swiper-nav {
    display: flex;
    justify-content: end;
    position: relative;
    z-index: 9;
    margin-top: 2.5rem;
}

.testimonial-content .swiper-button-next,
.testimonial-content .swiper-button-prev {
    position: relative;
    width: 40px;
    height: 40px;
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: 50%;
    z-index: 1;
    transition: .2s all ease;
    font-size: 25px;
    top: auto;
    left: auto;
    right: auto;
    margin-left: 10px;
}

.testimonial-content .swiper-button-next:after, .testimonial-content .swiper-button-prev:after {
    content: none;
}

/* Partners */

.partners-content {
    position: relative;
    width: 100%;
    margin: auto;
    border: 1px solid #eee;
    border-radius: var(--border-radius-min);
    padding: 2rem;
    background: var(--color-white);
    box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.08);
    border-bottom: 5px solid var(--color-primary);
}

/* Contact */

.form-contact {
    padding: 2rem;
    background: var(--color-white-hover);
    border-radius: var(--border-radius-min);
    border: 1px solid #eee;
    box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.2);
}

.form-contact .row {
    justify-content: space-between;
}

.contact hr {
    margin: 2rem 0;
    opacity: .3;
}

.contact i {
    position: relative;
    width: 35px;
    line-height: 35px;
    text-align: center;
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: 50%;
    z-index: 1;
    transition: .2s all ease;
    font-size: 20px;
    top: auto;
    left: auto;
    right: auto;
    margin: 0 2px;
}

/* Footer */

footer {
    position: relative;
    background: var(--color-secondary);
    padding-top: 100px;
}

footer .shape-top {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(img/shape-01.svg) no-repeat;
    background-position: bottom;
    z-index: 4;
    pointer-events: none;
    transform: scaleY(-1);
}

footer .logo-footer {
    display: block;
    max-width: 170px;
}

footer .social-link a:hover img {
    opacity: .8;
}

footer ul li {
    line-height: 40px;
    border-top: 1px solid #5e3f26;
}

footer ul li:first-child {
    border-top: 0;
}

footer .copy {
    border-top: 1px solid #5e3f26;
    font-size: 14px;
}

a.top-scroll {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    right: -100px;
    bottom: 30px;
    width: 46px;
    height: 46px;
    background: var(--color-primary);
    color: var(--color-white);
    text-decoration: none;
    font-size: 26px;
    border-radius: 50%;
    z-index: 99;
}

a.top-scroll:hover {
    background: var(--color-primary-hover);
}


/* Subpage ------------------------------------ */

.sub-banner {
    height: 60vh;
    position: relative;
}

.sub-banner .banner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background-size: cover !important;
    background-position: center !important;
}

.sub-banner .banner .filter {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 5;
}

.sub-banner .banner .filter:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(68, 45, 27, .8) 0%, rgba(68, 45, 27, .2) 100%);
}

.sub-banner .banner .shape-bottom {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(img/shape-01.svg) no-repeat;
    background-position: bottom;
    z-index: 6;
    pointer-events: none;
}

.sub-banner .container {
    position: relative;
    height: 100%;
    padding-top: 80px;
    padding-bottom: 80px;
    z-index: 9;
}

.sub-banner .container h1 {
    font-size: calc(var(--font-size-xxl) + 1.4rem);
    color: var(--color-white);
}

#sticky-div.sticky {
    position: sticky;
    top: 160px;
}

#sticky-div {
    z-index: 1;
    position: relative;
}

.content-page ul {
    list-style: disc;
    padding-left: 19px;
    margin-bottom: var(--padding);
}

.content-page ul:last-child {
    margin-bottom: 0 !important;
}

.sidebar {
    position: relative;
    width: 100%;
    margin: auto;
    border: 1px solid #eee;
    border-radius: var(--border-radius-min);
    padding: 2rem;
    background: var(--color-white);
    box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.08);
    border-bottom: 5px solid var(--color-primary);
}

.sidebar .title h4 {
    border-bottom: 3px solid #ddd;
    padding-bottom: .5rem !important;
    position: relative;
}

.sidebar .title h4::after {
    content: "";
    position: absolute;
    width: 70px;
    height: 3px;
    left: 0;
    bottom: -3px;
    background: var(--color-primary);
}

.sidebar a.btn {
    margin-top: 10px;
    width: 100%;
}

/* News */

.summary-news {
    background: #eee;
    padding: 2rem;
    border-radius: var(--border-radius-min);
}

.summary-news .col-md-4 {
    border-right: 1px solid #ddd;
}

.summary-news .thumb-summary-news {
    border: 1px solid #ddd;
    background: #888;
    position: relative;
}

.summary-news .thumb-summary-news:hover img {
    filter: blur(.8px);
    opacity: .95;
}

.summary-news .thumb-summary-news .img-link-summary-news {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    pointer-events: none;
}

.summary-news .thumb-summary-news .img-link-summary-news i {
    font-size: 40px;
    background: rgba(255, 255, 255, .7);
    border-radius: 50%;
    padding: 10px;
    color: var(--color-primary);
    backdrop-filter: blur(2px);
    border: 1px solid #eee;
}

.summary-news .content-summary-news {
    margin-bottom: 15px;
    font-weight: 600;
}

.summary-news .content-news p {
    margin-bottom: 0px;
}

.summary-news span.date-summary-news {
    font-size: 12px;
    display: block;
    text-align: center;
    margin-top: 5px;
}

.alert-news {
    background: #de6d6d;
    color: #fff;
    padding: 10px 15px;
    border-radius: 8px;
    border: 1px solid #ee2f2f;
}