/* SEF Power styles */

 :root {
    --brand-primary: #023B57;
    --brand-secondary: #ff5e2b;
    --light-bg: #f3f3f8;
    --expertise-study: #4fb35a;
    --expertise-industrialisation: #d61397;
    --expertise-production: #0278ad;
    --expertise-maintenance: #6631a9;
    --expertise-distribution: #e19958;
    --marine-blue: #003e83;
    --bg-tint: var(--swatch-var-6354);
    --sef-breakpoint-m: 767px;
    --section-title-font: "Rokkitt", serif;
    --buttonRadius: 24px;
    --labelPaddingX: calc(var(--buttonRadius) * 1);
    --labelBorderRadius: 2px;
    --labelFade: 0.1s;
    --colorButton: #ff6000;
    --colorButtonHover: #ff774c;
    --colorText: #333;
    --colorHeadingBackground: #555;
    --gradient-bg : #203551;
    --gradient : linear-gradient(0deg, rgba(89, 168, 220, 1) 0%, rgba(32, 53, 81, 1) 60%, rgba(32, 53, 81, 1) 100%);
 }
 html {
    display: block;
}
body {
    color: var(--brand-primary);
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px;
    background-color: #f9fafb;
    .navigation {
        background-color: white;;
    }
}
section, .uk-section {
    /* padding-top: 32px; */
    padding: 48px;
    @media screen and (max-width: 767px) {
        padding: 0;
        .section-title {
            margin-top: 32px;;
        }
    }
}
h1, h2, h3, h4 {
    font-family: var(--section-title-font);
    color: var(--brand-primary);
}

h4 {
    font-size: 1.7rem;
    margin-bottom: 32px;
}

a {
    text-decoration: none !important;
    color: var(--brand-primary);
}
.align-full {
    text-align: justify;
}
blockquote {
    font-size: 1.0rem;
    border-left: 1px solid var(--brand-primary);
    padding-left: 2rem;
    margin-left: 2rem;
}
.header {
    /* background-color: var(--gradient-bg);
    color: #fff;
    h2 {
        color: #fff;
    } */
    padding-top:16px;
}
.logos-banner {
    background-color: var(--light-bg);
    /* background-color: var(--gradient-bg); */
    h4 {
        color: var(--brand-primary);
        /* text-transform: uppercase; */
        font-size: 2.0rem;;
    }
    /* h4 {
        text-transform: uppercase;
        color: #fff;
    } */
    .logos-banner-wrapper {
        gap:16px;
        justify-content: center;
        > div {
            background-color: #fff;
        }
        img {
            width: 200px;
        }
        @media screen and (max-width: 767px) {
            img {
                width: 100px;
            }
        }
    }
    .gallery-image-thumb {
        width: 200px;
    }
}
#breadcrumbs {
    margin-bottom: 64px;;
}
.breadcrumbs-wrapper {
    background-color: var(--light-bg);
    h1 {
        color: var(--brand-secondary);
        font-weight: 700;
        font-size: 5em;
        @media screen and (max-width: 767px) {
            font-size: 3.5em;
        }
        /* position: relative; */
        @media screen and (min-width: 768px) {
            &::after {
                border: 5px solid var(--brand-secondary);
                width: 38px;
                content: "";
                height: 0px;
                display: block;
                position: absolute;
                left: -60px;
                bottom: 48px;
            }
        }
    }
}
h2.section-title {
    display: inline-block;
    position:relative;
    margin-bottom: 48px;
    color: var(--brand-primary);
    font-size: 4rem;
    font-weight: 700;
    line-height: 3.4rem;
    @media screen and (max-width: 640px) {
        font-size: 2.8rem;
        line-height: 2.4rem;
    }
    @media screen and (min-width: 768px) {
        &::after {
            border: 5px solid var(--brand-secondary);
            width: 44px;
            content: "";
            height: 0px;
            display: block;
            position: absolute;
            right: -70px;
            bottom: 14px;
        }
    }
}
@media (min-width: 960px) {
    .uk-h2, h2 {
        font-size: 3rem;
        line-height: 2.8rem;
    }
}

p {
    line-height: 2.1rem;;
}

* + address, * + dl, * + fieldset, * + figure, * + ol, * + p, * + pre, * + ul {
	margin-top: 16px;
}
address, dl, fieldset, figure, ol, p, pre, ul {
	margin: 0 0 24px 0;
}
.clipped-image {
    clip-path: polygon(60% 0, 65% 4%, 100% 4%, 100% 100%, 0 100%,40% 100%,35% 96%, 0 96%,0 0);
}
.upper-nav {
    margin-top:8px;
    ul {
        list-style-type: none;
        margin-right: 8px;
        margin-bottom: 0;
        gap: 16px;
        &.flag-wrapper {
            padding-left: 0;
            gap: 4px;
            > li {
                position: relative;
            }
            .flag-dropdown {
                display: none;
                position: absolute;
                z-index: 99;
            }
            ul {
                padding-left: 0;
            }
        }
    }
    .sn-linkedin {
        margin-top: -2px;
    }
}
.site-navigation {
    align-items: center;
    li {
        padding-top: 8px;
    }
}
.uk-navbar {
    margin-bottom: 16px !important;
}
.uk-navbar-nav {
    > li  {
        &:not(:last-of-type) {
            &.current {
                border-top: 2px solid var(--brand-secondary);
            }
        }
        > a {
            min-height: initial;
            font-size: 1rem;
        }
    }
}
.uk-navbar-nav > li:hover > a, .uk-navbar-nav > li > a[aria-expanded="true"] {
    color: var(--brand-primary);
}
.uk-navbar-nav > li > a.menu_cta {
    background-color:var(--brand-secondary);
    color:#fff;
    padding: 6px 24px;
    border-radius: 6px;
}

.uk-navbar-dropdown {
    width: initial;
    top: 54px !important;
    border-radius: 6px;
    li {
        margin-bottom: 8px;
        a {
            color: var(--marine-blue);
            padding-bottom: 0;
        }
    }
    span {
        color: #999;
    }
}
.uk-navbar-nav > li > a {
    text-transform: none;
    color: var(--brand-primary);
}
.mobile-navigation-wrapper {
	position: absolute;
	background-color: var(--brand-primary);
	z-index: 999;
	width: 100vw;
	height: 2048px;
	top: 120px;
	padding: 24px;
    display: none;;
    .mobile-site-navigation {
        padding-left: 0;
        li > a {
            font-size: 1.125rem;
            color: white;
        }
        > li {
            margin-bottom: 32px;
            .has-children {
                color: #aaa;
            }
        }
        list-style-type: none;
        flex-direction: column;
        .uk-navbar-dropdown {
            --uk-position-offset: 15px;
            --uk-position-shift-offset: 0;
            --uk-position-viewport-offset: 15px;
            --uk-inverse: dark;
            width: 200px;
            @media screen and (max-width: 767px) {
                width: 100%;
            }
            padding: 16px;
            background: none;
            border-radius: 0;
            box-shadow: none;
            li {
                margin-bottom: 0;
                 /* > a {
                 } */
            }
            span {
                display: none;
            }
        }
        > li:last-of-type {
            display: inherit;
            background-color: var(--brand-secondary);
            padding: 8px;
            border-radius: 6px;
            margin-top: 16px;
            display: inline-block;
            a {
                color: white;
            }
        }
    }
    .uk-navbar-item, .uk-navbar-nav > li > a, .uk-navbar-toggle {
        display: flex;
        justify-content: start;
        align-items: center;
        column-gap: .25em;
        box-sizing: border-box;
        font-size: .875rem;
        font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
        text-decoration: none;
    }
}
.counters {
    color: var(--marine-blue);
    .counters-wrapper {
        background-color: var(--light-bg);
        padding-top: 64px;
        gap: 32px;
    }
    .kpi {
        font-size: 4rem;
        font-weight: 600;
        margin: 0;
        line-height: 2.1rem;
        font-family: "Roboto", sans-serif;
    }
    .legend {
        font-weight: 600;
        margin-top: 16px;
    }
}
.blk-text-image-wrapper {
    .blk-text-image {
        align-items: center;
        gap: 64px;
    }
}
.blk-free-text-wrapper {
    .free-text-content {
        &.standout {
            background-color: red;
            background-color: var(--light-bg);
            margin: 0 38px;
            font-size: 1.7rem;
            padding: 32px;
        }
    }
}
.blk-cards-wrapper {
    .card-item {
        background-color: var(--light-bg);
        border-radius: 6px;
        .card-title {
            font-weight: 700;
            font-size: 1.8rem;
            line-height: 2rem;
        }

        > div {
            padding: 0 16px
        }
        max-width: 500px;
    }
}
.expertises-list-wrapper {
    gap: 48px;
    ul {
        list-style-type: none;
        padding: 0;
    }

    > div {
        img {
            width: 100%;
            height: auto;
            margin-bottom: 16px;;
        }
        a {
            text-transform: uppercase;
            color: var(--brand-secondary);
            text-decoration: none;
        }
    }
}
.tags {
    margin-top: 8px;
    li {
        display: block;
        padding: 4px 8px;
        border-radius: 4px;
        color: #fff;
        margin-bottom: 4px;;
    }
    &.study > li {
        background-color: var(--expertise-study);
    }
    &.production > li {
        background-color: var(--expertise-production);
    }
    &.industrialisation > li {
        background-color: var(--expertise-industrialisation);
    }
    &.maintenance > li {
        background-color: var(--expertise-maintenance);
    }
    &.distribution > li {
        background-color: var(--expertise-distribution);
    }
}

.sectors-list-wrapper {
    gap: 32px;
    > div {
        img {
            width: 100%;
            height: auto;
            margin-bottom: 16px;;
        }
        a {
            color: var(--brand-secondary);
            text-decoration: none;
        }
    }
}
.blk-selling-points-wrapper {
    z-index: 99;
    position: relative;
    margin-top: 64px;
    .point-card {
        gap:16px;
        p {
            line-height: inherit;
        }
    }
    .blk-selling-points {
        gap: 24px;
    }
    .picto {
        width: 64px;
        height: 32px;
        .bi {
            font-size: 44px;
        }
    }
    article {
        /* background-color: #fff; */
        padding: 16px;
        flex-grow: 1;
        flex-shrink: 1;
        flex-basis: auto;
        margin:0 16px;
        margin:0;
        h2 {
            margin-bottom: 0;
        }
    }
}
.blk-newsroom-wrapper {
    background-color: var(--light-bg);
    .news-banner-wrapper {
        @media screen and (max-width: 767px) {
            flex-direction: column;
        }
    }
}
.news-item {
    .meta {
        margin-top: 16px;
        margin-bottom: 0;
        color: #3171aa;
    }
    .featured_image_clip {
        overflow: hidden;
        .featured_image {
            transition: all 0.3s linear;
            &:hover {
                transform: scale(1.1);
            }
        }
    }
    .title {
        margin-top: 0;
        font-weight: 600;
        font-size: 1.2rem;
        line-height: 1.6rem;
        font-weight: 500;
        color: var(--brand-primary);
    }
}
[data-page-template="news"] {
  .blk-free-text-wrapper, .blk-text-image-wrapper {
    max-width: 1170px;
    margin: auto;
  }
  .uk-section.blk-text-image-wrapper {
    padding-top: 0;
    .blk-text-image {
        padding: 0;
    }
  }
}
.all-news-link {
    display: inline-block;
    margin-top: 32px;
    a {
        color: var(--brand-secondary);
    }
}
.catalogue-wrapper {
    gap: 120px;
    gap: 96px;
    align-items: start;

    .categories-list {
        display: none;
        flex-shrink: 0;
        width: 400px;
        background-color: #f6cabf;
        background-color: #FBC148;
        padding: 16px;
        border-radius: 8px;
        .category {
            a {
                display: block;
                border-radius: 4px;
                padding: 8px;
                &.current, &:hover {
                    background-color: #f9a08a;
                    background-color: #dda424;
                }
            }
        }
        ul {
            padding-left: 0;
            li {
                list-style-type: none;
            }
        }
        li {
            padding-bottom: 16px;;
        }
        a {
            color: black;
        }
    }
    .products-list {
        flex-wrap: wrap;
        gap: 24px;
        position: relative;
        padding-left: 0;
        li {
            list-style-type: none;
            flex-shrink: 1;
            flex-grow: 0;
            flex-basis: 320px;
            align-items: start;
            border-radius: 8px;
            border:1px solid transparent;
            border: 1px solid var(--brand-primary);
            background: var(--gradient);
            position: relative;
            z-index: 1;
            overflow: hidden;
            min-width: 380px;
            @media screen and (max-width: 767px) {
                flex-basis: auto;
                min-width: initial;
                flex-grow: 1;
            }
            &::before {
                content:"";
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                opacity: 0;
                background : linear-gradient(0deg, rgba(122, 183, 225, 1) 0%, rgba(89, 168, 220, 1) 60%, rgba(32, 53, 81, 1) 100%);
                z-index: -1;
                transition: opacity 0.3s ease-in-out;
            }
            &:hover {
                &::before {
                    opacity: 1;
                }
            }
            .card-image {
                height: 240px;
                border-radius: 4px 4px 0 0;
                overflow: hidden;
                text-align: center;
            }
            .card-info {
                padding: 8px;
                background-color: white;
                margin: 8px;
                border-radius: 6px;
                min-height: 96px;
                background-color: rgb(255 255 255 / 80%);
                backdrop-filter: blur(10px);
                p {
                    margin: 0;
                }
            }
            a {
                gap: 32px;
            }
        }
        a {
            color: #0a3e5b;
        }
    }
    .product-wrapper {
        gap: 64px;
        align-items: start;
        .photos {
            width: 400px;
        }
        > div:first-of-type {
            width: 100%;
        }
        @media screen and (max-width: 767px) {
            flex-direction: column !important;
        }
        #image-carousel {
            li {
                @media screen and (max-width: 767px) {
                    /* height: 400px !important; */
                    /* object-fit: contain; */
                    img {
                        max-width: 100% !important;
                        height: auto;
                    }
                }
                @media screen and (min-width: 768px) {
                    height: 624px !important;
                    /* flex-direction: column !important; */
                }
            }
        }
        #thumbnail-carousel {
            margin-top: 32px;
            .splide__track--nav > .splide__list > .splide__slide {
                padding: 32px;;
                &.is-active {
                    border: 2px solid #000;
                    padding: 32px;
                }
            }
            @media screen and (max-width: 767px) {
                display: none;
            }
        }
        .thumbnails {
            gap: 16px;
            li {
                list-style-type: none;
                border: 1px solid var(--brand-primary);
            }
        }
    }
    .datasheets-download {
        padding-left: 0;
        li {
            list-style-type: none;
            margin-bottom: 16px;
        }
    }
}
.ds-button {
    background-color: var(--brand-secondary);
    color: #fff;
    padding: 8px 16px;
    transition: all 0.2s ease-in;
    border: 1px solid var(--brand-secondary);
    &:hover {
        background-color: white;
        color: var(--brand-secondary);
        border: 1px solid var(--brand-secondary);
    }
}
.ds-link {
    color: var(--brand-secondary);
    transition: all 0.2s ease-in;
    border-bottom: 1px solid transparent;
    &:hover {
        color: var(--brand-secondary);
        border-bottom: 1px solid var(--brand-secondary);
        text-decoration: underline;
    }
}
.product-detail {
    .title {
        font-size: 2.3rem;
        line-height: 2.1rem;
    }

    li {
        list-style-type: disc;
    }
}
.documents-wrapper {
    ul {
        list-style-type: none;
        padding-left: 0;
        li {
            margin-bottom: 16px;
        }
    }
}
.contact-forms {
    gap: 128px;
    h2.contact-page {
        font-weight: 700;
        font-size: 2.8rem;;
    }
}
.FormBuilder {
    .Inputfield {
        margin-bottom: 16px;
    }
    .uk-form-label {
        font-weight: 600;
        color:var(--brand-primary);
    }
    button[type="submit"] {
        color: white;
        background-color: #ff5e2b;
        border-radius: 4px;;
    }
    .InputfieldFormBuilderFileAdd button {
        border-radius: 4px;
        background-color: var(--brand-secondary);
    }
}
.attachments {
    padding-left: 0;
    li {
        list-style-type: none;
    }
    a {
        color: var(--brand-secondary);
    }
}

.downloadables {
    h2 {
        font-size: 2.2rem;
        margin-top: 64px;
    }
}
footer {
    background-color: var(--brand-primary);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 300;
    padding-top: 64px;
    @media screen and (max-width: 767px) {
        .uk-padding-large {
            padding-top: 16px !important;
        }
    }
    h3, a {
        color: #fff;
    }
    .footer-logo {
        display: block;
        margin-top: -12px;
    }
    ul {
        list-style-type: none;
        padding-left: 0;
        gap: 16px;
        margin-top: 32px;
        li {
            margin-left:0;
        }
    }
    a:hover {
        color: #fff;
    }
    .address-bloc {
        line-height: 1.9rem;
    }
    .footer-category-list {
        padding-left: 0;
        margin-left: 0;
        li {
            list-style-type: none;
        }
    }
    .footer-nav-wrapper {
        @media screen and (max-width: var(--sef-breakpoint-m)) {
            flex-direction: column !important;
        }
        gap: 64px;
        > div {
            .footer-menu-wrapper {
                display: flex;
                flex-direction: column;
                gap: 8px;
            }
        }
    }
    .credits {
        gap: 16px;
        padding: 16px 0;
        margin-top: 64px;
        p {
            margin: 0;
        }
    }
}

/* Hotspot */
.slides-grid {
    display: grid;
    grid-gap: 32px;
    grid-gap: 24px;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(2, 1fr);
    &.horizontal {
        .slide-left {
            grid-column: 1 / 6;
            grid-row: 1 / 3;
            z-index: 920;
        }
    }
    &.vertical {
        .main-left {
            grid-column: 1 / 3;
            grid-row: 1 / 3;
            z-index: 920;
            background-color: #e4effa;
            padding: 32px;
        }
        .main-right {
            grid-column: 3 / 6;
            grid-row: 1 / 3;
            z-index: 920;
        }
    }
    .slide-right-top {
        grid-column: 6 / 8;
        grid-row: 1 / 2;
        z-index: 905;
    }
    .slide-right-bottom {
        grid-column: 6 / 8;
        grid-row: 2 / 3;
        z-index: 900;
    }
}
.hook {
    font-size: 3.4rem;
    line-height: 4.3rem;
}
.slide-item {
        gap: 16px;
        .legend {
            background-color: #e4effa;
            align-content: center;
            padding: 24px;
            h2 {
                font-weight: 700;
                font-family: var(--section-title-font);
                font-size: 3.5rem;
                padding-top: 16px;
            }
            @media screen and (min-width: 768px) {
                min-width: 540px;;
            }
        }
        .product-photo {
            text-align: center;
            width: 100%;
	        clip-path: polygon(70% 0, 73% 4%,100% 4%, 100% 100%, 32% 100%, 29% 96%, 0 96%, 0 0);
        }
}

.splide__pagination {
    bottom: -2.6rem;
    z-index: 99;
}
.splide__pagination__page {
    background: #ffc7b5;
    background: var(--brand-primary);
    background: #fff;
    border: 1px solid #ff5e2b;
    opacity: 1;
    width: 24px;
    height: 24px;
    &.is-active {
        background: #ff5e2b;
        transform: scale(0.9);
        z-index: 1;
    }
}

.lg-container {
  max-width: 1600px;
  position: relative;
  padding: 0;
}
.lg-image {
  display: block;
  width: 100%;
}

.lg-hotspot {
    position: absolute;
    margin: 0;
    padding: 0;
    transform: translate(-50%, -50%);
    z-index: 0;
    &:hover,
    &:active {
    .lg-hotspot.button {
        border-color: var(--colorButtonHover);
        &:after {
        background-color: var(--colorButtonHover);
        }
    }
    }
    &.hotspot-selected {
        .hotspot-label {
            z-index: 999;
            opacity: 1;
        }
    }
  &.hotspot-button {
    height: 32px;
    width: 32px;
    height: calc(var(--buttonRadius) * 2);
    width: calc(var(--buttonRadius) * 2);
    padding: 0px;
    border-radius: 100%;
    border: 1px solid var(--colorButton);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    z-index: 999;
    animation: button-pulse 1.5s ease-in-out infinite;
    cursor: pointer;
    &:after {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      pointer-events: none;
      content: "";
      display: block;
      height: calc(var(--buttonRadius) * 0.7);
      width: calc(var(--buttonRadius) * 0.7);
      border-radius: 100%;
      border: 3px solid white;
      background-color: var(--colorButton);
      transition: border-color 1s linear;
    }
  }
  &.hotspot-label {
    position: absolute;
    padding: 0 0 1.1em 0;
    width: 16em;
    max-width: 50vw;
    background-color: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    font-family: "Open Sans", sans-serif;
    font-size: 14.5px;
    line-height: 1.45em;
    z-index: -1;
    border-radius: var(--labelBorderRadius);
    user-select: none;
    opacity: 0;
    transition: all var(--labelFade) linear;
    h4 {
      margin: 0;
      padding: 0.65em var(--labelPaddingX);
      background-color: var(--colorHeadingBackground);
      font-size: 1.1em;
      font-weight: normal;
      letter-spacing: 0.02em;
      color: white;
      border-radius: var(--labelBorderRadius) var(--labelBorderRadius) 0 0;
    }
    p {
      margin: 0;
      padding: 1.1em var(--labelPaddingX) 0 var(--labelPaddingX);
      color: var(--colorText);
    }
  }
}

.lg-hotspot--top-left .hotspot-label {
  top: 222px;
  left: 102px;
}

.lg-hotspot--top-right .hotspot-label {
  top: 222px;
  right: var(--buttonRadius);
}

.lg-hotspot--bottom-right .hotspot-label {
  right: var(--buttonRadius);
  bottom: var(--buttonRadius);
}

.lg-hotspot--bottom-left .hotspot-label {
  bottom: var(--buttonRadius);
  left: 102px;
}

@keyframes button-pulse {
  0% {
    transform: scale(1, 1);
    opacity: 1;
  }
  40% {
    transform: scale(1.15, 1.15);
    opacity: 1;
  }
  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}
