/*
Google Font Open Sans : 300, 400, 600, 700, 800
font-family: 'Open Sans', sans-serif;
*/


/* Reset et généralités */
* {
    margin:0; padding:0;
}
body {
    font-family: 'Open Sans', sans-serif;
    font-size:16px; font-weight:300; line-height:1.3em;
    background:black; color:white;
    overflow-anchor:none;
}

main, header, footer, aside, section, article, nav {
    display:block;
}

.std-width {
    width:100%; max-width:1280px; box-sizing:border-box;
    padding-left:20px; padding-right:20px;
    margin-left:auto; margin-right:auto;
}
.d-flex {display:flex !important;}
ul.d-flex {list-style:none;}
.flex-column {flex-direction:column;}
.justify-content-end {justify-content:flex-end;}
.justify-content-center {justify-content:center;}
.justify-content-between {justify-content:space-between;}
.justify-content-around {justify-content:space-around;}
.align-items-center {align-items:center;}
.align-items-end {align-items:flex-end;;}


/* HEADER */
#header {
    position:fixed; z-index:1000;
    left:0; top:0; right:0;
    background:black;
}
#header .inner {
    height:94px; padding:15px 0 5px;
    transition:all .2s linear;
}
#header a.logo {
    display:inline-block; text-decoration:none;
    font-size:0; line-height:0;
}
#header a.logo img {
    transition:all .1s linear;
}
#menu a {
    color:white; text-decoration:none;
    font-size:14px; line-height:1em;
    opacity:.7;
    transition:all .2s linear;
}
#menu a:not(:last-child) {
    margin-right:2.5em;
}
#menu a.current {
    border-bottom:1px dotted rgba(255,255,255,.8);
    opacity:1;
}
#menu a:not(.current):hover {
    opacity:1;
}

#banner {
    margin-top:114px;
}
#banner img {
    display:block; width:100%; height:auto;
}


/* Header réduit */
body.mini-header #header {
    border-bottom:1px solid rgba(255,255,255,.7);
}
body.mini-header #header .inner {
    height:58px; padding:0;
}
body.mini-header #header a.logo {
    position:absolute; left:28px; top:15px;
}
body.mini-header #header a.logo img {
    height:35px; width:auto;
}


/* Transition entre les pages */
.transition-fade {
  transition: .25s;
  opacity: 1;
}

html.is-animating .transition-fade {
  opacity: 0;
}


/* MAIN */
main {
    min-height:50vh;
}
main .aligncenter {
    display:flex; justify-content:center;
}
main .has-text-align-center {
    text-align:center;
}
main h1 {
    font-size:32px; font-weight:300; line-height:1.2em;
    text-align:center; text-transform:uppercase;
    margin:3em 0 1em;
}
main h2 {
    font-size:20px; font-weight:700; line-height:1.2em;
    text-transform:uppercase;
    margin:0 0 1em;
}
main p {
    font-size:16px; font-weight:400; line-height:2em;
    max-width:640px; margin:0 auto 2em;
}
main p a {
    color:white;
}
main .wp-block-buttons {
    margin-bottom:2em;
}
main a.wp-block-button__link {
    display:inline-block;
    border-radius:100px; border:1px solid white;
    font-size:18px; font-weight:300;
    line-height:1em; white-space:nowrap;
    padding:.6em 1.5em;
    text-decoration:none; background:black; color:white;
    transition:all .2s linear;
}
main a.wp-block-button__link:hover {
    background:white; color:black;
}
main .wp-block-columns {
    display:flex; justify-content:space-between;
    width:100%; max-width:1280px; margin:0 auto 2em;
    padding:1em 10px 0; box-sizing:border-box;
}
main .wp-block-columns > * {
    flex:1; padding:0 10px;
}
main .posts {
    display:flex; justify-content:space-between; flex-wrap:wrap;
    width:100%; max-width:1280px; margin:0 auto 2em;
    padding:1em 10px 0; box-sizing:border-box;
}
main .posts.single {
    justify-content:center; margin-top:30px;
}
main .posts .item {
    width:606px; margin-bottom:2em; cursor:pointer;
}
main .posts .item .head {
    font-size:14px; line-height:1em; margin-bottom:.6em;
    opacity:.6;
    transition:all .3s ease-out;
}
main .posts .item:hover .head {
    opacity:1;
}
main .posts .item .thumb {
    height:404px;
    background:no-repeat center center;
    background-size:cover;
    filter:grayscale(1);
    opacity:.8;
    transition:all .3s ease-out;
}
main .posts .item:hover .thumb {
    filter:grayscale(0); opacity:1;
}
main .posts .item .gallery {
    display:none;
}
main .robert-links {
    display:flex; flex-direction:column; align-items:center;
}
main .robert-links a {
    color:white; margin-bottom:1.2em;
}


#slideshow {
    position:fixed; z-index:10000; top:50%; left:50%; width:0; height:0;
    background:black; border:1px solid rgba(255,255,255,1); box-sizing:border-box;
    overflow:hidden;
    opacity:0;
    transition:all .3s linear;
}
#slideshow.opened {
    opacity:1;
    top:0; left:0; width:100%; height:100%;
    border:1px solid rgba(255,255,255,.5);
}
#slideshow .preload {
    position:absolute;
    width:1px; height:1px; overflow:hidden;
}
#slideshow .columns {
    position:absolute; top:0; left:0; width:100%; height:100%;
    display:table; table-layout:fixed;
}
#slideshow .columns > * {
    display:table-cell;
}
#slideshow .columns > .left,
#slideshow .columns > .right {
    position:relative;
    width:7vw; cursor:pointer;
    background:no-repeat center center url(../img/next.svg);
    background-size:contain;
}
#slideshow .columns > .left {
    transform:scaleX(-1);
}
#slideshow .columns > .left:hover,
#slideshow .columns > .right:hover {
    background-color:#303030;
}
#slideshow .columns > .center {
    background:no-repeat center center;
    background-size:contain;
}
#slideshow .columns > .right .close {
    position:absolute; top:0; right:0; width:7vw; height:7vw;
    background: url(../img/close-slideshow.svg) center center no-repeat;
    background-size:contain;
    opacity:.7; transition:opacity .2s linear;
}
#slideshow .columns > .right .close:hover {
    opacity:1;
}



/* Footer */
footer .contacts {
    display:flex; justify-content:center;
    margin:120px 0 80px;
}
footer .contacts a {
    display:inline-block; margin:0 20px;
    transition:transform .2s linear;
}
footer .contacts a:hover {
    transform:scale(1.1);
}
footer .bottom {
    border-top:1px solid rgba(255,255,255,.7);
    display:flex; justify-content:center;
    font-size:14px;
    padding:1em;
}
footer .bottom .sep {
    display:inline-block; margin:0 1em;
}
footer .bottom a {
    color:white;
}



/* Bandeau RGPD */
#cookies-notice {
    position:fixed; z-index:9999; bottom:0; left:0; right:0;
    box-sizing:border-box;
    text-align:center; padding:1em 3.2em;
    font-size:14px; font-weight:600; line-height:1.6em; color:#101010;
    background:#E9E9E9; opacity:.85;
    box-shadow:0 0 20px rgba(0,0,0,.5);
    transition:opacity .3s ease-out;
}
#cookies-notice:hover {
    opacity:1;
}
#cookies-notice p {margin:0;}
#cookies-notice .close {
    position:absolute; top:0; right:0;
    width:48px; height:48px; cursor:pointer;
    background:url(../img/cookies-close.svg) no-repeat center center;
}

#cookies-notice a {display:inline-block; color:#101010;}
#cookies-notice a:hover {color:#505050;}
#cookies-notice a + a {margin-left:1.7em;}
