/* base.css --- 2024-01-23 10:52:01 */
        body,
        html {
            height: 100%;
            padding: 0;
            margin: 0;
            background: #fff;
            font-size: 100%;
        }

        body {
            font-weight: normal;
            color: #111;
        }

        .form-control:focus,
        button:focus {
            border-color: inherit !important;
        }

        .btn,
        .form-control {
            outline: none !important;
            box-shadow: none !important;
        }

        .relative {
            position: relative;
        }

        .pointer {
            cursor: pointer
        }

        a {
            cursor: pointer;
            color: black
        }

        a:hover {
            color: black;
        }

        video,
        iframe {
            max-width: 100%;
        }

        .display-table {
            display: table
        }

        .display-table-cell {
            display: table-cell;
            vertical-align: middle;
            height: 100%;
        }

        .inline-block {
            display: inline-block;
        }

        .height-100 {
            height: 100%;
        }

        .clearfix {
            clear: both;
            width: 100%;
            height: 1px;
        }

        .flex-box {
            display: flex;
            flex-wrap: wrap
        }

        .bold {
            font-weight: bold;
        }

        .text-justify {
            text-align: justify !important;
        }

        h1,
        h2,
        h3 {
            color: #000;
            margin: 0;
            padding: 0
        }

        h1 {
            text-transform: uppercase;
        }


        .margin-bottom-0 {
            margin-bottom: 0 !important
        }

        .padding-bottom-0 {
            padding-bottom: 0 !important;
        }

        @media (max-width: 1400px) {
            ._ {}

            .container {
                width: 96%;
            }
        }

        .flex {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
        }

        .cover {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
        }

        .container {
            padding-right: 0px;
            padding-left: 0px;
            max-width: 1200px;
            width: 96%;
        }

/* forms.css --- 2024-01-14 12:43:59 */
button:disabled,
.btn:disabled {
  cursor: no-drop;
  pointer-events: auto;
}


.radio-label {
  padding-left: 25px;
  position: relative;
  font-size: inherit;
}

.radio-label input {
  position: absolute;
  top: 5px;
  left: 0
}

/* menu.css --- 2024-01-13 11:15:29 */
#menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 960;
    text-align: left;
    background: #999;
    min-height: 100vh;
    height: 100%;
    border-right: 5px #eee solid;
    width: 0;
    transition: all 1000ms;
    overflow: hidden;
}




#menu ul {
    list-style: none;
    z-index: 1000
}

#menu ul,
#menu li {
    padding: 0;
    margin: 0
}

#menu a {
    display: block;
    text-transform: uppercase;
    position: relative;
    color: white;
}

#menu ul {
    padding: 0 15px;
    margin-bottom: 15px;
}

#menu ul ul {
    display: none;
}

#menu>ul {
    width: 270px;
    margin: 120px 0 15px 15px;
}




#menu>ul>li>a {
    font-size: 0.9rem;
    text-align: left;
    text-decoration: none;
}

#menu li {
    position: relative;
}


#menu li a.deployed:after {
    transform: rotate(180deg) translateY(50%);
}

#menu li.level0 {
    border-bottom: white 0px solid;
    margin: 5px 0;
    padding: 5px 0;




}

#menu li.level1 {
    padding-top: 10px;
}

#menu li.matter:first-of-type {
    border-top: 1px solid white !important;
}



#menu li.selected a::before {
    content: '\F234';
    font-family: "Bootstrap-icons";
    position: relative;
    top: 2px;
    margin-left: -18px;
    width: 18px;
    display: inline-block;
}


#menu li.mobile-only {
    background: #222;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    margin-bottom: 0;
    border: none !important;
    margin-left: -10px
}

#menu li.mobile-only a {
    color: white;
}

.responsive-menu-on #menu {
    width: 300px;
    max-width: 100vw;
    overflow-y: auto;
}

.responsive-menu-on #menu .close {
    opacity: 0.7;
}

@media (min-width: 768px) {
    .responsive-menu-on {
        overflow: hidden;
        height: 100%;
        margin-right: 17px;
    }

    .responsive-menu-on #header {
        padding-right: 17px;
    }

    #menu .close {
        right: 115px;
    }
}

@media (max-width: 767px) {
    #menu .close {
        right: 26px;
    }

    #header .row {
        margin: 0 0px !important;
    }
}






#menu-burger {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 35px;
    height: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    z-index: 1001;
}

#menu-burger span {
    display: block;
    width: 100%;
    height: 5px;
    border-radius: 3px;
    background-color: #444;
}

#menu-burger span:nth-child(2),
#menu-burger span:nth-child(3) {
    position: absolute;
    top: calc(50% - 2.5px);
    left: 0;
    transform-origin: 50% 50%;
}

.responsive-menu-on #menu-burger span:nth-child(1),
.responsive-menu-on #menu-burger span:nth-child(4) {
    opacity: 0;
}

.responsive-menu-on #menu-burger span:nth-child(2) {
    transform: rotate(45deg);
}

.responsive-menu-on #menu-burger span:nth-child(3) {
    transform: rotate(-45deg);
}

.responsive-menu-on #menu-burger {
    right: 38px;
}

/*
#menu li.haschild>a:after {
    content: url(/img/caret.png?w=14);
    width: 14px;
    height: 14px;
    position: relative;
    top: 5px;
    float: right;
    margin-right: 6px;
    display: block;
    transform-origin: center;
    transform: rotate(0deg);
    transition: all 700ms;
}
*/

/* colors.css --- 2024-01-13 11:30:56 */
.btn-black {
    color: #fff !important;
    background-color: black !important;
    border-color: black !important;
}

.btn-black:hover {
    color: #fff !important;
    background-color: black;
    border-color: black !important;
}

.text-white {
    color: white !important;
}

.btn {
    padding: 8px 25px;
    border-radius: 30px;
}

.btn-sm {
    padding: 4px 15px;
    border-radius: 30px;
    font-size: 12px;
}

.btn-orange {
    border-color: #DB8400 !important;
    color: orange !important;
}

.btn-orange:hover {
    color: white !important;
    background: orange !important;
}

article.bg-orange {
    background-color: #D48105;
    color: white !important;
    padding-top: 35px;
    padding-bottom: 35px;
}

article.bg-orange .article-title h2 {
    color: white;
}

article.bg-orange .article-title h2:after {
    background-color: white !important;
}

/* article-default.css --- 2024-01-23 10:53:08 */
.article-default {
  margin: 0 0 80px 0;
}

.article-default .article-inner {
  max-width: 1200px;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
}

.article-default .wordings {
  font-size: 0.9rem;
  flex: 1;
  padding: 0 0 0 0;
}



.article-default .wordings p,
.article-default .wordings ul,
.article-default .wordings li {
  margin: 0;
  padding: 0;
}

.article-default .wordings ul {
  padding-left: 18px;
}

.article-default .article-title h2 {
  font-size: 1.6rem;
  padding: 0px 0 20px 0;
}




.article-default .wordings h3 {
  font-size: 1.2rem;
  padding: 24px 0 12px 0;
}


.article-default .wordings h4 {
  font-size: 1rem;
  padding: 0px 0 12px 0;
  font-size: bold;
}



.article-default .wordings p {
  font-size: 0.9rem;
  padding: 0 0 12px 0;

}

.article-default .wordings li {
  font-size: 0.9rem;
  padding: 0 0 12px 0;

}

/* iframe.css --- 2022-10-12 16:27:21 */
.iframe-responsive {position: relative; margin:15px  0 35px!important}
.iframe-responsive iframe{position: absolute; top: 0; left:0; width: 100%; height: 100%; }

/* hp-contents.css --- 2024-01-12 19:36:56 */
#hp-contents {
    padding-top: 100px;
    min-height: 100vh;
}

/* footer.css --- 2024-01-12 15:42:29 */
#footer {
    padding: 15px 0;
    background: black;
    color: #fff;
    font-size: 0.8rem
}

#footer a {
    color: #ddd;
    display: inline-block;
}

#footer-bloc-center {
    text-align: center;
}

#footer-bloc-center p {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

#footer-bloc-center strong {
    font-size: 0.9rem;
}

#footer-bloc-right {
    text-align: right;
}

#footer-bloc-right img {
    margin-left: 15px;
    max-width: 45px;
    height: auto !important;
    filter: contrast(1) grayscale(1) invert(1);
    -webkit-filter: contrast(1) grayscale(1) invert(1);
}

#footer-bottom {}

#footer-bottom a {
    display: inline-block;
    color: white
}

#footer-bottom a:before {
    content: '•';
    display: inline-block;
    margin: 0 5px;
}

@media screen and (min-width: 1200px) {
    #footer-main {
        margin: 0 80px 25px;
    }
}

@media screen and (max-width: 767px) {
    #footer-main {
        margin: 0 25px 25px;
    }

    #footer-main .container-fluid {
        max-width: 400px;
        margin: 0 auto;
    }

    #footer-main .footer-3 p {
        text-align: center !important;
    }
}

/* exhibitions.css --- 2024-01-23 13:06:29 */
article.exhibitions {
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
}


article.exhibitions .article-inner {
  display: flex;
  justify-content: flex-start;

  flex-wrap: wrap;
  margin: 0 -7px;
}


article.exhibitions .exhibition {
  flex: 0 0 33.3333333%;
  padding: 7px;
}

article.exhibitions .exhibition-inner {

  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  background-color: rgba(243, 240, 236, 0.7);
  ;
}


@media screen and (min-width: 500px) and (max-width: 767px) {
  article.exhibitions .item {
    flex: 0 0 50%;
    padding: 7px;
  }

}



@media screen and (min-width: 0px) and (max-width: 499px) {
  article.exhibitions .item {
    flex: 0 0 100%;
    padding: 7px;
  }

}

/* decoration.css --- 2022-10-12 16:27:21 */
.chevron-before:before {
    content: '>';
    font-size: 200%;
    position: relative;
    top: 5px;
    margin-right: 10px;
    transition: margin 200ms;
    transform: scale(0.5, 2);
    backface-visibility: hidden;
}

a.chevron-before {
    text-decoration: none!important;
}

a.chevron-before:hover::before {
    content: '>';
    text-decoration: none!important;
    margin: 0 5px;
}

.img-grow-on-hover img {
    transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
}

.img-grow-on-hover img:hover {
    transform: scale(1.1);
}

p.chapeau {
    font-weight: bold;
    font-size: 1.3rem;
    color: black;
    margin-bottom: 35px;
    line-height: 1.8rem;
}

.three-points {}

.three-points i {
    display: inline-block;
    margin-left: 3px;
    height: 7px;
    width: 7px;
    border-radius: 50%;
    background: #FFDEAD;
    transition: all 300ms;
}

.homepage-actualites .more i {}

.three-points:hover i {
    background: orange;
}

/* hp-row-1.css --- 2022-10-12 16:27:21 */
#hp-row-1 {
    margin-left: 0px;
    margin-right: 0px;
    overflow: hidden;
}

#hp-row-1 a {
    color: #B47203!important;
}

#hp-row-1 h2 {
    line-height: 1;
    font-size: 1.4rem;
    margin-bottom: 15px;
}

#hp-row-1 .slider {
    position: relative;
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
    height: calc(100vh - 200px);
    transition: height 1000ms;
}

#hp-row-1 .slider.ready {
    background: none;
}

#hp-row-1 .slide {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    z-index: 1;
    transition: opacity 1000ms;
}

#hp-row-1 .slide.current {
    opacity: 1;
}

#hp-row-1 .slide img {
    width: 100%;
}

#hp-row-1 .slide video {
    position: relative;
    max-width: 500%;
}

#hp-row-1 .slide.current {
    opacity: 1;
    z-index: 10;
}

#hp-row-1 .over {
    position: absolute;
    bottom: 0px;
    max-width: 40vw;
    width: 1020px;
    right: 0%;
    background: rgba(255, 255, 255, 0.7);
    padding: 30px 50px 0px 50px;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
}

#hp-row-1 .slider-controls {
    padding: 15px 0 25px;
    text-align: center;
}

#hp-row-1 .slider-controls .pin {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 3px;
    background-color: #333;
    opacity: 0.5;
    cursor: pointer;
    transition: background-color 500ms;
}

#hp-row-1 .slider-controls .pin:hover {
    opacity: 1;
}

#hp-row-1 .slider-controls .current {
    background-color: #F39200;
    opacity: 1;
}

@media screen and (max-width: 767px) {
    #hp-row-1 {
        min-height: calc(100vh - 130px);
    }
    #hp-row-1 .over {
        padding: 7px 10px 20px 10px;
    }
    #hp-row-1 .over .prjCustomer {
        font-size: 1.2rem;
    }
    #hp-row-1 svg {
        max-width: 20px;
        max-height: 20px;
    }
    #hp-row-1 .over .prjName {
        font-size: 1.5rem;
    }
}

/* infos.css --- 2024-01-14 11:38:24 */
#info-contents {
    min-height: 100vh;
}


#page-title {
    padding-top: 75px;
    transition: padding-top 1000ms;
    background-color: transparent;
    padding-bottom: 10px;
    text-align: left;
    background-color: rgba(243, 240, 236, 0.7);
    margin-bottom: 25px;

}

#page-title h1 {
    color: #3e3937 !important;
    font-size: 1.5rem;
    padding: 0;
    margin: 0;
    text-transform: none;
}


article img {
    max-width: 100%;
    height: auto !important;
}

article.has-attachments {}

article.has-attachments .article-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

article.att-position-right .article-inner {
    display: flex;
    flex-direction: row-reverse;
}

article .attachments {
    flex: 0 0 50%;
    padding: 0 5% 0 0;
}

article.att-position-right .attachments {
    padding: 0 0 0 5%;
}

article.att-width-75pc .attachments {
    flex: 0 0 75%;
}

article.att-width-66pc .attachments {
    flex: 0 0 66.66666666666666666%;
}

article.att-width-50pc .attachments {
    flex: 0 0 50%;
}

article.att-width-33pc .attachments {
    flex: 0 0 33.33333333333333333%;
}

article.att-width-25pc .attachments {
    flex: 0 0 25%;

}



article.att-position-right .wordings {
    padding: 0 5% 0 0;
}

@media screen and (max-width: 767px) {

    article.has-attachments .article-inner {
        flex-direction: column;
    }

    article.att-position-right .article-inner {
        flex-direction: column-reverse;
    }

    article.att-position-left .attachments,
    article.att-position-left .wordings {
        padding: 0 0 0 0;
    }

    article.att-position-right .attachments,
    article.att-position-right .wordings {
        padding: 0 0 0 0;
    }

    article.att-position-left .attachments {
        padding-bottom: 30px;
    }

}

/* half-column.css --- 2024-01-12 18:31:01 */
.half-column-group {}

.half-column-group .group-inner {
  max-width: 1230px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 auto 60px;
  justify-content: space-between;
  overflow: hidden;
}

.half-column-group article {
  flex: 0 0 calc(50% - 15px);
  width: calc(50% - 15px);
  padding: 0 15px;
  padding: 15px;
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  .half-column-group .group-inner {
    flex-direction: column;
  }

  .half-column-group article {
    flex: 0 0 100%;
    width: 100%;
    margin-bottom: 25px;
  }

}

/* header.css --- 2024-01-14 08:08:35 */
#header {
    z-index: 1000;
    position: relative;
    margin: 0px 0 0px;
    padding: 0 0;
    position: fixed;
    left: 0px;
    right: 0px;
    line-height: 1;
    background-color: rgba(230, 221, 212, 1);
    background-color: #e9dfd2;
}

#header .row {
    margin: 0 80px !important;
}


#header-row-2 {
    text-align: center;
}


#header #logo {
    color: #776d5d;
    font-size: 2rem;
    text-decoration: none !important;
    font-family: 'mate', sans-serif;
    opacity: 1;
    letter-spacing: 0.3rem;
    padding: 0 7px;
}


@media screen and (max-width: 576px) {
    #header-row-2 {
        text-align: left !important;
    }

    #header #logo {

        font-size: 1.7rem;
        letter-spacing: 0rem;
        padding-top: 6px;


    }

}


.ready #header #logo {
    opacity: 1;
}


#header-right {
    display: flex;
    flex-direction: column;
    flex: 1;
    align-self: center;
}



#header-right-top>div {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#header-right-top p {
    display: inline-block;
    margin: 0;
    padding: 0;
}

#header-right-bottom {
    flex: 1;
}

#header-right a {
    display: inline-block;
    margin: 0 0;
    padding: 5px 10px;
    color: #827762;
    font-size: 2rem;
    font-family: 'Inconsolata', monospace;
}

/* fonts.css --- 2024-01-14 15:10:16 */
body {
  font-family: 'Open Sans', sans-serif;
}

h1,
h2,
h3,
h4,
.mate {
  font-family: 'Mate', serif;
}

/* hp-row-2.css --- 2022-10-12 16:27:21 */
#hp-row-2 {
    overflow: hidden;
}

#hp-row-2 img {
    max-width: 100%;
    height: auto!important;
}

#hp-row-2 .section-title {
    margin: 0 0 0 0;
}

#hp-row-2 .article-default {
    margin-bottom: 45px;
}

#hp-row-2 .article-title {
    text-align: center;
    padding: 35px 0;
}

#hp-row-2 .article-title h2 {
    font-family: Georgia, 'Times New Roman', Times, serif;
}

#hp-row-2 .article-title span {}

#hp-row-2 .article-title h2:after {
    width: 60px;
    height: 5px;
    background-color: #F39200;
    display: block;
    content: ' ';
    margin: 7px auto 0;
}

