@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

:root {
    --bs-nav-link-font-size: 1.063rem;
    --bs-nav-link-color-blue: #6610f2;
    --bs-blue: #63b3ed;
    --bs-indigo: #596cff;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #f56565;
    --bs-orange: #fd7e14;
    --bs-yellow: #fbd38d;
    --bs-green: #81e6d9;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #cb0c9f;
    --bs-secondary: #8392ab;
    --bs-success: #82d616;
    --bs-info: #17c1e8;
    --bs-warning: #fbcf33;
    --bs-danger: #ea0606;
    --bs-light: #e9ecef;
    --bs-dark: #344767;
    --bs-white: #fff;
    --bs-primary-rgb: 203, 12, 159;
    --bs-secondary-rgb: 131, 146, 171;
    --bs-dark-blue-rgb: 9, 71, 102;
    --bs--light-blue-rgb: 15, 118, 175;
    --bs--m-blue-rgb: 95, 161, 191;

    --bs-success-rgb: 130, 214, 22;
    --bs-info-rgb: 23, 193, 232;
    --bs-warning-rgb: 251, 207, 51;
    --bs-danger-rgb: 234, 6, 6;
    --bs-light-rgb: 233, 236, 239;
    --bs-dark-rgb: 52, 71, 103;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 103, 116, 142;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: Open Sans;
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, hsla(0, 0%, 100%, .15), hsla(0, 0%, 100%, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #67748e;
    --bs-body-bg: #fff;
    --bs-border-color: #dee2e6;
    border: 1px solid rgba(0, 0, 0, .175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.75rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 1.5rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: #cb0c9f;
    --bs-link-hover-color: #830866;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fcf8e3
}

.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
        font-size: 3.5rem;
    }
    .last-row-center{
        position: relative;
        width: 50%;
        left: 25%;
        text-align: center;
    }
}


.nav-scroller .nav {
    display: flex;
    flex-wrap: nowrap;
    padding-bottom: 1rem;
    margin-top: -1px;
    overflow-x: auto;
    text-align: center;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.bd-mode-toggle .dropdown-menu .active .bi {
    display: block !important;
}

.logo-img {
    width: 9rem;
}

.nav-item .nav-link:hover {
    font-size: 1.125rem;
}

.caption-container {
    width: 100%;
    background: #000;
    filter: alpha(opacity=80);
    background: rgba(0, 0, 0, 0.5);
    display: inline-block;
    margin: 0 0 1px 0;
    padding: 0.625rem 0.938rem;
}
@media (min-width: 40em) {
    .caption-container p {
        margin-bottom: 2.25rem;
        font-size: 2.25rem;
    }

    .caption-container h1 {
        font-size: 3.25rem;
        font-weight: bold;
    }
}

.placeholder-img-size-200 {
    width: 12.5rem;
    height: 12.5rem;
}

.navbar-nav .nav-item:not(:last-child) .nav-link .vertical-bar,
.navbar-nav .nav-item:not(:last-child) .dropdown-item .vertical-bar {
    border-color: #e1e1e1;
    border-right-style: solid;
    border-right-width: 0.125rem;
    margin-left: 0.625rem;
    font-size: 0.75rem;
}

.navbar-nav .last-child .dropdown-item .vertical-bar {
    border: 0 !important;
}

.row .col-lg-4 h3 {
    color: #6c757d;
    font-size: 0.9rem !important;
}

.footer-container {
    background: #dbdbdb;
    padding: 1.875rem;
   /* color: white;*/
}

.footer-container .nav-item .nav-link:hover {
    color: #5fa1bf !important;
    transform: scale(1.2);
}

.footer-container .nav-item .nav-link {
    color: #121264 !important;
    font-size: 1rem;
    transition: transform .2s;
}

.dropdown-submenu {
    left: -20.814rem;
    border: 0;
    padding: 1.25rem;
}

.dropdown-submenu .nav-item:hover {
    color: #052c65;
}

#utemafClientCarousel .carousel-caption,
#utemafClientCarousel-s .carousel-caption {
    position: static;
}

.zoom {
    transition: transform .2s;
}

.zoom:hover {
    -ms-transform: scale(1.2); /* IE 9 */
    -webkit-transform: scale(1.2); /* Safari 3-8 */
    transform: scale(1.2);
    color: #1a1d20 !important;
}

.client-logo {
    height: 100%;
    width: 100%;
    /*border: #052c65 solid 0.125rem;*/
}

.client-container {
    height: 11.25rem;
    width: 11.25rem;
    padding: 0 !important;
    margin: 0.125rem;
}

#utemafCarousel img, .width100 {
    width: 100%;
}

.carousel-item {
    height: auto !important;
}

.container .clientBox-sm {
    position: relative;
    width: 6.5rem; !important;
    height: 6.5rem; !important;
    margin: 0.625rem; !important;
    transform-style: preserve-3d;
    perspective: 62.5rem;
    cursor: pointer;
}

@media (max-width: 950px) {
    .hide-sm-block {
        display: none !important;
    }

    .caption-container {
        /*position: absolute;
        bottom: -1rem;*/
        font-size: 0.75rem;
        /*text-align: center !important;*/
        padding: 0.625rem 0.2rem;
    }

    .caption-container h1 {
        font-size: 0.875rem;
    }
}

@media (min-width: 950px) {
    .hide-lg-block {
        display: none !important;
    }
}

@media (max-width: 560px){
    .container .pole .circle {
        width: 85vw !important;
        height: 85vw !important;
    }
    .pole-01 {
        height: 11rem !important;
        width: 17rem !important;
        rotate: 47deg !important;
        left: -4.5rem !important;
        top: 2rem !important;
    }

    .pole-02 {
        height: 11rem !important;
        width: 17rem !important;
        rotate: -136deg !important;
        left: -5rem !important;
        top: 2rem !important;
    }

    .pole-03{
        height: 11rem !important;
        width: 18rem !important;
        rotate: -131deg !important;
        left: -5.5rem !important;
        top: 2rem !important;
    }
    .pole-04 {
        height: 11rem !important;
        width: 17rem !important;
        rotate: 44deg !important;
        left: -4.5rem !important;
        top: 2.5rem !important;
    }
}

.container{
    transform-style: preserve-3d;
}

.container .box{
    position: relative;
    width: 18.75rem;
    height: 18.75rem;
    margin: 1.25rem;
    transform-style: preserve-3d;
    perspective: 62.5rem;
    cursor: pointer;
}

.container .box .body{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: 0.9s ease;
}

.container .clientBox {
    position: relative;
    width: 12.5rem;
    height: 12.5rem;
    margin: 0.625rem;
    transform-style: preserve-3d;
    perspective: 62.5rem;
    cursor: pointer;
}

.container .pvBox .body .content img{
    width: 40%;
    height: 40%;
    margin-top: 2.875rem;
    margin-left: 0.625rem;
}

.container .pvBox {
    position: relative;
    width: 18.75rem;
    height: 18.75rem;
    margin: 0.625rem;
    transform-style: preserve-3d;
    perspective: 62.5rem;
    color: white;
}

.container .prestation-box {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}
.container .prestation-box .body img{
    width: 12rem;
    height: 12rem;
}

.container .box .body .imgContainer{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
}

.container .box .body .imgContainer img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.container .box .imgClientContainer {
    width: 8.375rem;
    height: 8.375rem;
    transform-style: preserve-3d;
}



.container .box .body .content{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0F76AF;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transform: rotateY(180deg);
}

.container .box:hover .body{
    transform: rotateY(180deg);
}

.container .box .body .content div{
    transform-style: preserve-3d;
    padding: 1.25rem;
    background: linear-gradient(45deg, #033bb2, #5ce7e0);
    transform: translateZ(6.25rem);
}

.container .box .body .content div h3{
    letter-spacing: 1px;
}



.loader {
    background-color: var(--bs-body-bg);
    height: 100%;
    width: 100%;
    position: fixed;
    z-index: 1999;
    margin-top: 0px;
    top: 0px;
}
.dark-mode .loader {
    background-color: #000;
}

.object {
    margin-right: auto;
    margin-left: auto;
}

.pv-title{
    font-size: 1.2rem;
    padding: 1rem;
}

.p-img-container{
    width: 9rem;
    height: 9rem;
}

.fs-9{
    font-size: 0.9rem;
}

.img-pres{
    width: 10rem;
    height: 16rem;
}

.container .pole .circle {
    position: relative;
    border: 0.4rem solid wheat;
    padding: 0;
    margin: 1em auto;
    width: 25rem;
    height: 25rem;
    border-radius: 50%;
    list-style: none;
    overflow: hidden;
    rotate: -45deg;
}

.container .pole li {
    overflow: hidden;
    position: absolute;
    top: -50%;
    right: -5%;
    width: 55%;
    height: 100%;
    transform-origin: 0% 100%;
    z-index: 1;
}

.container .pole img:hover{
    background: #3d3d3e;
}

.container .pole .text {
    position: absolute;
    height: 130%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    padding: 1rem;
}

.container .pole li:first-child  {  transform: rotate(0deg)   skewY(0deg); background: whitesmoke;  border-left: 0.2rem solid wheat;}
.container .pole li:nth-child(2) {  transform: rotate(90deg)  skewY(0deg); background: tomato; border-left: 0.2rem solid wheat;}
.container .pole li:nth-child(3) {  transform: rotate(180deg) skewY(0deg); background: aqua;   border-left: 0.2rem solid wheat;}
.container .pole li:nth-child(4) {  transform: rotate(270deg) skewY(0deg); background: yellow; border-left: 0.2rem solid wheat;}

.container .pole .center-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8em; /* Adjust the size as needed */
    height: 8em;
    background: ghostwhite;
    border: 0.4rem solid wheat;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    /*color: white;*/
    text-align: center;
    font-size: 1em;
    z-index: 2; /* Ensure it is above other elements */
}


.curved-text{
    position:relative;
    display:inline-block;
    margin:0 auto;
    rotate: 60deg;
    left: 0%;
    top: 8%;
}

.curved-text span{
    min-width:0.5em;
    text-align:center;
    padding:0;
    margin:0;
}

.pole-01 {
    height: 12rem;
    width: 20rem;
    rotate: 45deg;
    position: relative;
    left: -5rem;
    top: 2.8rem;
}

.pole-02 {
    height: 12rem;
    width: 20rem;
    rotate: -132deg;
    position: relative;
    left: -5.5rem;
    top: 3rem;
}

.pole-03 {
    height: 12rem;
    width: 20rem;
    rotate: -132deg;
    position: relative;
    left: -6rem;
    top: 2.5rem;
}

.pole-04 {
    height: 12rem;
    width: 18rem;
    rotate: 42deg;
    position: relative;
    left: -4.5rem;
    top: 3rem;
}

.w-60{
    width: 60% !important;
}

.bg-gradient-info {
    background-image: linear-gradient(310deg,#2152ff,#21d4fd)
}

.bg-gradient-vert-gris {
    background-image: linear-gradient(310deg,#77A06A,#C9D2D7)
}

.bg-gradient-pole-02 {
    background-image: linear-gradient(310deg,#9A8F7B,#EAD4A8)
}

.bg-gradient-pole-03 {
    background-image: linear-gradient(310deg,#E1CA35,#DEDEDE)
}

.bg-gradient-pole-04 {
    background-image: linear-gradient(310deg,#059BE5,#EDEAE3)
}


.bg-gradient-cadastre{
    background-image: linear-gradient(310deg,#BB8767,#E2E4E5)
}

.bg-gradient-carto{
    background-image: linear-gradient(310deg,#C7DDCF,#CAD7A8)
}

.bg-gradient-etude-vrd {
    background-image: linear-gradient(310deg,#616E2E,#9F9896)
}

.bg-gradient-formation {
    background-image: linear-gradient(310deg,#69BFE0,#D9EEF6)
}

.h-12-5{
    height: 12.5rem !important;
}

.h-60{height:60%!important}

.border-radius-xl {
    border-radius: 1rem
}

.py-7 {
    padding-top: 4rem !important;
    padding-bottom: 6rem !important
}
.mb-md-7{margin-bottom:6rem!important}
.mt-lg-8{margin-top:8rem!important}
.ms-rem-n2{margin-left:-2rem!important}
.ms-rem-2{margin-left:2rem!important}
.mt-rem-2 {
    margin-top: 2rem !important
}

.mt-7 {
    margin-top: 6rem !important
}

.mt-8 {
    margin-top: 8rem !important
}

.mt-9 {
    margin-top: 10rem !important
}

.mt-10 {
    margin-top: 12rem !important
}

.mt-11 {
    margin-top: 14rem !important
}

.mt-12 {
    margin-top: 16rem !important
}

.mt-auto {
    margin-top: auto !important
}

.icon-shape {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    border-radius: 17%;
}

.icon-shape i {
    color: #fff;
    opacity: .8;
    top: 11px;
    position: relative
}

.icon-shape .ni {
    top: 14px
}

.shadow {
    box-shadow: 0 .3125rem .625rem 0 rgba(0, 0, 0, .12) !important
}

.shadow-xs {
    box-shadow: 0 2px 9px -5px rgba(0, 0, 0, .15) !important
}

.shadow-sm {
    box-shadow: 0 .25rem .375rem -.0625rem hsla(0, 0%, 8%, .12), 0 .125rem .25rem -.0625rem hsla(0, 0%, 8%, .07) !important
}

.shadow-md {
    box-shadow: 0 .3125rem .625rem 0 rgba(0, 0, 0, .12) !important
}

.shadow-lg {
    box-shadow: 0 8px 26px -4px hsla(0, 0%, 8%, .15), 0 8px 9px -5px hsla(0, 0%, 8%, .06) !important
}

.shadow-xl {
    box-shadow: 0 23px 45px -11px hsla(0, 0%, 8%, .25) !important
}

.shadow-none {
    box-shadow: none !important
}

.mask {
    position: absolute;
    background-size: cover;
    background-position: 50%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .8
}

.bg-gradient-dark {
    background-image: linear-gradient(310deg, #0328ec, #3a416f)
}

.bg-gradient-dark-inverse{background-image:linear-gradient(310deg,#3a416f,#000cff)}

.mx-auto {
    margin-right: auto !important;
    margin-left: auto !important
}


.icon use {
    fill: #7ea6f6
}

.icon.icon-outline use {
    stroke: #7ea6f6
}

.icon-xs {
    height: .5em;
    width: .5em
}

.icon-sm {
    height: .8em;
    width: .8em
}

.icon-lg {
    height: 1.6em;
    width: 1.6em
}

.icon-xl {
    height: 2em;
    width: 2em
}

.icon-text-aligner {
    display: flex;
    align-items: center
}

.icon-text-aligner .icon {
    color: inherit;
    margin-right: .4em
}

.icon-text-aligner .icon use {
    color: inherit;
    fill: currentColor
}

.icon-text-aligner .icon.icon-outline use {
    stroke: currentColor
}

.icon.icon-outline {
    fill: none;
    stroke: currentColor
}

.icon use {
    stroke: none
}

.icon.icon-outline use {
    fill: none
}

.icon-outline.icon-stroke-1 {
    stroke-width: 1px
}

.icon-outline.icon-stroke-2 {
    stroke-width: 2px
}

.icon-outline.icon-stroke-3 {
    stroke-width: 3px
}

.icon-outline.icon-stroke-4 {
    stroke-width: 4px
}

.icon-outline.icon-stroke-1 use,.icon-outline.icon-stroke-3 use {
    -webkit-transform: translateX(0.5px) translateY(0.5px);
    -moz-transform: translateX(0.5px) translateY(0.5px);
    -ms-transform: translateX(0.5px) translateY(0.5px);
    -o-transform: translateX(0.5px) translateY(0.5px);
    transform: translateX(0.5px) translateY(0.5px)
}

.waves {
    position: relative;
    width: 100%;
    height: 16vh;
    margin-bottom: -7px;
    min-height: 100px;
    max-height: 150px
}

.waves.waves-sm {
    height: 50px;
    min-height: 50px
}

.waves.no-animation .moving-waves > use {
    animation: none
}

.wave-rotate {
    transform: rotate(180deg)
}

.moving-waves > use {
    animation: f 40s cubic-bezier(.55, .5, .45, .5) infinite
}

.moving-waves > use:first-child {
    animation-delay: -2s;
    animation-duration: 11s
}

.moving-waves > use:nth-child(2) {
    animation-delay: -4s;
    animation-duration: 13s
}

.moving-waves > use:nth-child(3) {
    animation-delay: -3s;
    animation-duration: 15s
}

.moving-waves > use:nth-child(4) {
    animation-delay: -4s;
    animation-duration: 20s
}

.moving-waves > use:nth-child(5) {
    animation-delay: -4s;
    animation-duration: 25s
}

.moving-waves > use:nth-child(6) {
    animation-delay: -3s;
    animation-duration: 30s
}

@keyframes f {
    0% {
        transform: translate3d(-90px, 0, 0)
    }
    to {
        transform: translate3d(85px, 0, 0)
    }
}

@media (max-width: 767.98px) {
    #utemafCarousel .carousel-caption {
        bottom: 0 !important;
    }
    .waves {
        height: 40px;
        min-height: 40px
    }

    hr.horizontal {
        background-color: transparent
    }

    hr.horizontal:not(.dark) {
        background-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), #fff, hsla(0, 0%, 100%, 0))
    }

    hr.horizontal.vertical {
        transform: rotate(90deg)
    }

    hr.horizontal.dark {
        background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, .4), transparent)
    }

    .mt-xs-5{
        margin-top: 3rem !important;
    }
    .text-center-small{
        text-align: center !important;
    }
    .fs-sm-1{
        font-size: 1rem !important;
    }

    .reference-img{
        width: 5rem !important;
        height: 5rem !important;
    }
}

.text-dark-blue-spinner {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-dark-blue-rgb), var(--bs-text-opacity)) !important
}
.text-light-blue-spinner {
    --bs-text-opacity: 1;
    color: rgba(var(--bs--light-blue-rgb), var(--bs-text-opacity)) !important
}

.text-m-blue-spinner {
    --bs-text-opacity: 1;
    color: rgba(var(--bs--m-blue-rgb), var(--bs-text-opacity)) !important
}

.opacity-90{opacity:.90!important}

header .nav-link.active {
    color: #0F76AF !important;
    font-weight: 900 !important;
}


.logo-slider {
    overflow: hidden;
    .slider {
        animation: slidein 60s linear infinite;
        white-space: nowrap;
        .logos {
            width: 100%;
            display: inline-flex;
            margin: 0;
            padding-bottom: 1rem;
            .fab {
                margin: 0.2rem;
                width: calc(100% / 1);
                animation: fade-in 0.5s
                cubic-bezier(0.455, 0.03, 0.515, 0.955) forwards;
            }
        }
    }
}

@keyframes slidein {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-300%, 0, 0);
    }
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.align-webkit-center {
    text-align: -webkit-center;
}
.reference-img {
    margin: 1.25rem;
    width: 12rem;
    height: 12rem;
    transform-style: preserve-3d;
}

.text-justify{text-align:justify!important}

#feedback {
    margin-top: 10px;
    font-weight: bold;
}

#feedback.success {
    color: green;
}

#feedback.error {
    color: red;
}

