
/* bleu : #4a5781   rgba(74, 87, 129, 1) */


/* FONTS
------------------------------------------------------------------------------------------- */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  display: swap;
  src: local(''),
       url('../../../__project/_ressources/_fonts/montserrat-v15-latin-300.woff2') format('woff2'),
       url('../../../__project/_ressources/_fonts/montserrat-v15-latin-300.woff') format('woff');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  display: swap;
  src: local(''),
       url('../../../__project/_ressources/_fonts/montserrat-v15-latin-regular.woff2') format('woff2'),
       url('../../../__project/_ressources/_fonts/montserrat-v15-latin-regular.woff') format('woff');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  display: swap;
  src: local(''),
       url('../../../__project/_ressources/_fonts/montserrat-v15-latin-700.woff2') format('woff2'),
       url('../../../__project/_ressources/_fonts/montserrat-v15-latin-700.woff') format('woff');
}



/* GENERAL
------------------------------------------------------------------------------------------- */

body,
input,
textarea,
button
{
font-family: 'Montserrat', sans-serif;
font-weight: 300;
font-size: 18px;
line-height: 20px;
color: #505050;
}

html {
position: relative;
background-color: #fff;
}

a {
color: #505050;
background-color: transparent;
text-decoration: none;
}

a:hover {
color: #505050;
background-color: transparent;
text-decoration: underline;
}



/* STRUCTURE
------------------------------------------------------------------------------------------- */

div#str-wrapper {
height: 100vh;
display: grid;
grid-template-areas : 'header' 'main' 'footer';
grid-template-rows: min-content 1fr min-content;
}

#fw_notices {
display: none;
}

div#str-corps {
position: relative;
}

div.str-container {
position: relative;
margin: 0 auto;
width: 1180px;
}



/* SLIDER
------------------------------------------------------------------------------------------- */

section#sec-slider {
position: relative;
}

div#str-slider {
width: 100%;
background: #fff;
}

div#str-slider .fw_slider_bullets ul {
background-color: transparent;
}

div#str-slider .fw_slider_bullets li {
width: 20px;
}



/* HEADER
------------------------------------------------------------------------------------------- */

header {
grid-area: header;
}

div#str-wrapper.home header {
position: absolute;
z-index: 1002;
top: 0;
left: 0;
width: 100%;
height: 200px;
}

div#str-wrapper.int header {
height: 100px;
background: #f8f8f8;
}

div#str-wrapper.menu_opened header {
position: fixed;
z-index: 1002;
top: 0;
left: 0;
width: 100%;
height: 100px;
background: #f8f8f8;
}

div#str-wrapper.int.photographe header {
background: #fff;
}

header a.logo {
display: block;
margin: 20px 0 0 60px;
padding: 0;
background-color: transparent;
background-repeat: no-repeat;
background-position: 0 0;
background-size: contain;
}

div#str-wrapper.home header a.logo {
width: 150px;
height: 150px;
}

div#str-wrapper.menu_opened header a.logo,
div#str-wrapper.int header a.logo {
width: 70px;
height: 70px;
}

div#str-wrapper.theme_w header a.logo {
background-image: url(str-logo-w.png);
}

div#str-wrapper.menu_opened header a.logo,
div#str-wrapper.theme_b header a.logo {
background-image: url(str-logo-b.png);
}

header a.edition {
display: inline-block;
position: absolute;
top: 70px;
left: 260px;
font-size: 20px;
text-decoration: none;
}

header a.edition span.titre {
display: block;
text-transform: uppercase;
font-weight: 700;
}

header a.edition span.dates {
display: block;
padding-top: 10px;
text-align: center;
}

header a.edition span.dates i {
padding: 0 5px;
}

div#str-wrapper.menu_opened header a.edition,
div#str-wrapper.int header a.edition {
top: 30px;
left: 160px;
font-size: 16px;
}

div#str-wrapper.menu_opened header a.edition span.dates,
div#str-wrapper.int header a.edition span.dates {
padding-top: 5px;
}

div#str-wrapper.theme_w header a.edition {
color: #fff;
}

div#str-wrapper.menu_opened header a.edition {
color: #000;
}



/* FOOTER
------------------------------------------------------------------------------------------- */

footer {
grid-area: footer;
background-color: #f8f8f8;
}

footer .str-container {
display: grid;
grid-template-columns: 1fr 150px;
gap: 40px 40px;
align-items: center;
height: 100px;
}

footer nav ul {
display: grid;
grid-auto-flow: column;
gap: 40px 40px;
list-style: none;
}

footer nav a {
font-size: 14px;
font-weight: 400;
text-transform: uppercase;
}

footer nav a:hover {
color: #4a5781;
text-decoration: none;
}

footer .blk.socials {
text-align: center;
}



/* APPEL
------------------------------------------------------------------------------------------- */

div#str-appel {
position: fixed;
z-index: 2003;
bottom: 40px;
right: 20px;
width: 120px;
height: 120px;
}

div#str-appel a {
display: grid;
align-items: center;
width: 120px;
height: 120px;
border-radius: 50%;
background: #4a5781;
text-align: center;
transition: all .5s;
}

div#str-appel a span.lib {
padding: 0 10px;
color: #fff;
text-transform: uppercase;
font-weight: 700;
font-size: 12px;
}

div#str-appel a span.ico {
position: absolute;
z-index: 0;
top: 15px;
left: 15px;
font-size: 80px;
color: rgba(255,255,255,.1);
transform: rotate(-15deg);
}

div#str-appel a:hover {
background: #fff;
text-decoration: none;
}

div#str-appel a:hover span.lib {
color: #4a5781;
}



/* MENU1
------------------------------------------------------------------------------------------- */

div#str-menu {
position: absolute;
z-index: 1002;
top: 40px;
right: 120px;
}

div#str-wrapper.menu_opened div#str-menu {
position: fixed;
}

div#str-menu h2 {
padding-left: 30px;
font-weight: 400;
text-transform: uppercase;
background-color: transparent;
background-repeat: no-repeat;
background-position: left center;
cursor: pointer;
user-select : none;
}

div#str-wrapper.theme_w div#str-menu h2 {
color: #fff;
background-image: url(str-menu-open-w.svg);
}

div#str-wrapper.theme_b div#str-menu h2 {
color: #000;
background-image: url(str-menu-open-b.svg);
}

div#str-wrapper.menu_opened div#str-menu h2 {
color: #000;
background-image: url(str-menu-close.svg);
}

div#str-menu-panel {
position: fixed;
z-index: 2000;
top: 100px;
left: 0;
width: 100%;
color: #000;
background: #fff;
}

div#str-menu-panel a {
color: #000;
}

div#str-menu-panel a:hover {
text-decoration: none;
color: #999;
}

div#str-menu-panel ul {
list-style: none;
}

div#str-menu-panel ul.niv1_ul {
display: grid;
grid-auto-flow: column;
column-gap: 40px;
justify-content: center;
}

div#str-menu-panel li.niv1_li {
align-self: center;
width: 260px;
}

div#str-menu-panel a.niv1_a {
display: grid;
grid-template-rows: 260px 70px;
gap: 20px 20px;
font-size: 22px;
line-height: 24px;
font-weight: 400;
text-transform: uppercase;
}

div#str-menu-panel a.niv1_a:hover {
text-decoration: none;
}

div#str-menu-panel a.niv1_a span.img {
background-color: #333;
}

div#str-menu-panel ul.niv2_ul {
}

div#str-menu-panel ul.niv2_ul.hidden {
display: none;
}

div#str-menu-panel li.niv1_li:hover ul.niv2_ul {
display: block;
}

div#str-menu-panel li.niv2_li {
padding: 4px 0;
}

div#str-menu-panel a.niv2_a {
font-size: 18px;
line-height: 20px;
}

div#str-menu-panel a.niv2_a:before {
content: '•';
padding-right: 5px;
}

div#str-menu-socials {
position: fixed;
z-index: 2003;
bottom: 30px;
right: 150px;
display: grid;
grid-auto-flow: column;
column-gap: 20px;
}

div#str-menu-socials p {
text-transform: uppercase;
align-self: center;
}


/* LANGUES
------------------------------------------------------------------------------------------- */

div#str-menu-langues {
position: absolute;
z-index: 2003;
top: 38px;
right: 30px;
}

div#str-wrapper.menu_opened div#str-menu-langues {
position: fixed;
}

div.str-langues ul {
list-style: none;
}

div.str-langues li {
display: inline-block;
font-weight: 400;
font-size: 14px;
}

div.str-langues li.active {
font-weight: 700;
}

div.str-langues li.fr:before {
content: '•';
padding-right: 5px;
}

div.str-langues a:hover {
color: #ccc;
text-decoration: none;
}

div#str-wrapper.theme_w div.str-langues a,
div#str-wrapper.theme_w div.str-langues li.fr:before {
color: #fff;
}

div#str-wrapper.menu_opened div.str-langues a,
div#str-wrapper.menu_opened div.str-langues li.fr:before,
div#str-wrapper.theme_b div.str-langues a,
div#str-wrapper.theme_b div.str-langues li.fr:before {
color: #000;
}


/* SOCIALS
------------------------------------------------------------------------------------------- */

div.fw_socials ul {
margin: 0;
list-style: none;
}

div.fw_socials li {
padding: 0;
}

div.fw_socials button {
display: block;
}

div.fw_socials button i {
font-size: 20px !important;
background: transparent !important;
border: 0 !important;
}

div.fw_socials button:hover i {
opacity: 1 !important;
}

footer div.fw_socials button i {
color: #1b1b1b !important;
}

footer div.fw_socials button:hover i {
color: #999 !important;
}

div#str-menu-socials div.fw_socials button i {
color: #000 !important;
}

div#str-menu-socials div.fw_socials button:hover i {
color: #999 !important;
}



/* UNE
------------------------------------------------------------------------------------------- */

div#str-une {
position: absolute;
bottom: 100px;
left: 0;
width: 100%;
z-index: 1000;
text-align: center;
}

div#str-une div.unes {
display: inline-block;
}

div#str-une ul {
display: grid;
grid-auto-flow: column;
gap: 0 20px;
list-style: none;
}

div#str-une li {

}

div#str-une a {
display: grid;
align-items: center;
padding: 10px;
width: 160px;
height: 160px;
font-size: 15px;
text-transform: uppercase;
text-align: left;
font-weight: 400;
}

div#str-une a:hover {
text-decoration: none;
background: rgba(255,255,255,.1);
}

div#str-wrapper.theme_w div#str-une li a {
color: #fff;
border: 1px solid #fff;
}

div#str-wrapper.theme_b div#str-une li a {
color: #000;
border: 1px solid #000;
}



/* CONTENU
------------------------------------------------------------------------------------------- */

section#sec-blocs {
padding-bottom: 100px;
}

div#str-titre {
padding: 50px 20px 20px 45px;
}

div#str-titre h1 {
font-size: 45px;
line-height: 50px;
text-transform: uppercase;
}

div#str-titre p.sstitre {
font-size: 30px;
line-height: 36px;
text-transform: uppercase;
color: #666;
}



/* COMMUNS
------------------------------------------------------------------------------------------- */

.str-btn,
.fw_form .fw_btn_submit {
display: inline-block;
padding: 12px 30px;
color: #fff !important;
background: #4a5781;
white-space: nowrap;
text-transform: uppercase;
font-size: 14px;
border-radius: 0;
}

.fw_form .fw_btn_cancel {
padding: 12px 30px;
color: #fff !important;
text-transform: uppercase;
font-size: 14px;
border-radius: 0;
}

.str-btn:hover,
.fw_form .fw_btn_submit:hover,
.fw_form .fw_btn_cancel:hover {
color: #fff !important;
background: #000 !important;
text-decoration: none;
}


/* BOUSSOLE
------------------------------------------------------------------------------------------- */

div#str-boussole {
padding: 10px 0 0 15px;
}

div#str-boussole ul {
list-style: none;
}

div#str-boussole li {
display: inline-block;
color: #999;
}

div#str-boussole li:after {
content: '>';
font-size: 13px;
}

div#str-boussole a {
padding: 0 6px 0 3px;
font-size: 12px;
color: #999;
}

div#str-boussole li:last-child:after {
content: '';
}

div#str-boussole li:last-child a {
padding-right: 0;
}

div#str-boussole a:hover {
color: #000;
}



/* SOMMAIRE
------------------------------------------------------------------------------------------- */

div.blo_sommaire ul {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 40px 20px;
list-style: none;
}

div.blo_sommaire li {
display: grid;
background: #fff;
}

div.blo_sommaire li a {
position: relative;
display: grid;
align-items: stretch;
grid-template-rows: 270px min-content 1fr;
padding-bottom: 20px;
text-decoration: none;
}

div.blo_sommaire li:after {
display: block;
content: '';
border-bottom: 2px solid #505050;
transform: scaleX(0);
transition: transform 250ms ease-in-out;
}

div.blo_sommaire li:hover:after {
transform: scaleX(1);
}

div.blo_sommaire li a span.img {
overflow: hidden;
}

div.blo_sommaire li a span.img img {
transition: all .2s;
}

.bou_blocs .bou_blocs_encadre2 div.blo_sommaire li a span.img img {
border: 1px solid #000;
}

div.blo_sommaire li a:hover {
color: #505050;
text-decoration: none;
}

div.blo_sommaire li a:hover span.img:after {
position: absolute;
z-index: 9;
top: 0;
left: 0;
content: ' ';
display: block;
width: 270px;
height: 270px;
background: rgba(0,0,0, .3);
}

div.blo_sommaire li a:hover:before,
div.blo_sommaire li a:hover:after {
position: absolute;
z-index: 10;
top: 134px;
left: 104px;
content: ' ';
width: 60px;
height: 2px;
background-color: #fff;
}

div.blo_sommaire li a:hover:after {
transform: rotate(90deg);
}

div.blo_sommaire li span.novisuel {
display: block;
width: 270px;
height: 270px;
background: #ccc url(str-logo-w.png) no-repeat center center;
background-size: 50%;
}

div.blo_sommaire li a:hover span.novisuel {
background: transparent;
}

div.blo_sommaire li span.titre {
color: #000;
padding: 20px 0;
font-size: 20px;
line-height: 24px;
font-weight: 400;
text-transform: uppercase;
}

div.blo_sommaire li span.resume {
font-size: 16px;
}



/* BLO_CONTACT
------------------------------------------------------------------------------------------- */

div.blo_contact .abo {
margin-top: 20px;
padding: 20px;
background: #fafafa;
}

div.blo_contact .abo_txt1 {
padding-left: 4px;
}

div.blo_contact .abo_txt2 {
display: block;
padding-left: 20px;
color: #999;
font-size: 12px;
}

div.blo_contact .privacy {
display: block;
padding-left: 20px;
color: #999;
font-size: 12px;
}

div.blo_contact .privacy a {
color: #999;
text-decoration: none;
}

div.blo_contact .privacy a:hover {
color: #333;
}



/* BLO_ABONNEMENT
------------------------------------------------------------------------------------------- */

div.blo_abonnement .abo_txt1 {
padding-left: 4px;
}

div.blo_abonnement .abo_txt2 {
display: block;
padding-left: 20px;
color: #999;
font-size: 12px;
}

div.blo_abonnement .privacy {
display: block;
margin: 10px 0;
padding: 20px;
color: #999;
font-size: 12px;
background: #fafafa;
}

div.blo_abonnement .privacy a {
color: #999;
text-decoration: none;
}

div.blo_abonnement .privacy a:hover {
color: #333;
}




/* BLO_SITEMAP
------------------------------------------------------------------------------------------- */

div.blo_sitemap ul {
list-style: none;
}

div.blo_sitemap li {
padding-bottom: 20px;
}

div.blo_sitemap li li {
padding-left: 20px;
padding-bottom: 0;
}



/* BLO_PAIEMENT
------------------------------------------------------------------------------------------- */

div.blo_paiement .montant {
padding-bottom: 15px;
}

div.blo_paiement .montant span {
display: block;
height: 50px;
line-height: 50px;
border: 2px solid #0170ba;
color: #0170ba;
font-weight: 700;
font-size: 20px;
text-align: center;
border-radius: 5px;
}




/* COMPTEUR
------------------------------------------------------------------------------------------- */

div.str-compteur-liste ul {
text-align: right;
list-style: none;
}

div.str-compteur-liste li {
display: inline-block;
padding: 2px 0;
}

div.str-compteur-liste li a {
display: block;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
text-decoration: none;
background: #ddd;
}

div.str-compteur-liste li a.active {
background: #505050;
color: #fff;
}

div.str-compteur-liste li a:hover {
background: #aaa;
color: #fff;
text-decoration: none;
}

div.str-compteur-fiche {
padding: 80px 0;
}

div.str-compteur-fiche ul {
display: block;
text-align: center;
list-style: none;
}

div.str-compteur-fiche li {
display: inline-block;
vertical-align: middle;
}

div.str-compteur-fiche li a {
display: block;
padding: 10px 15px;
text-decoration: none;
color: #fff;
background: #ec693b;
}

div.str-compteur-fiche li a:hover {
text-decoration: none;
color: #fff;
background: #664193;
}





/* LISTES
------------------------------------------------------------------------------------------- */

div.str-liste ul {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px 20px;
list-style: none;
justify-content: center;
}

div.str-liste.with_mask .mask {
position: relative;
overflow: hidden;
width: 100%;
}

div.str-liste.with_mask .mask_content {
position: absolute;
top: 0;
left: 0;
transition: left .5s;
}

div.str-liste.with_mask ul {
grid-template-columns: unset;
grid-auto-flow: column;
}

div.str-liste li {
background: #fff;
}

div.str-liste li a {
position: relative;
display: grid;
align-items: stretch;
grid-template-rows: min-content min-content min-content 1fr;
padding-bottom: 20px;
text-decoration: none;
text-align: center;
}

div.str-liste li:after {
display: block;
content: '';
border-bottom: 2px solid #505050;
transform: scaleX(0);
transition: transform 250ms ease-in-out;
}

div.str-liste li:hover:after {
transform: scaleX(1);
}

div.str-liste li a span.img {
position: relative;
overflow: hidden;
}

div.str-liste li a span.img img {
transition: all .2s;
}

div.str-liste li a:hover {
color: #505050;
text-decoration: none;
}

div.str-liste li a:hover span.img:after {
position: absolute;
z-index: 9;
top: 0;
left: 0;
content: ' ';
display: block;
width: 100%;
height: 100%;
background: rgba(0,0,0, .3);
}

div.str-liste li a:hover:before,
div.str-liste li a:hover:after {
position: absolute;
z-index: 10;
top: 183px;
left: 153px;
content: ' ';
width: 60px;
height: 2px;
background-color: #fff;
}

div.str-liste li a:hover:after {
transform: rotate(90deg);
}

div.str-liste li span.novisuel {
display: block;
width: 100%;
background: #ccc url(str-logo-w.png) no-repeat center center;
background-size: 50%;
}

div.str-liste li a:hover span.novisuel {
background: transparent;
}

div.str-liste li span.sstitre {
padding-top: 15px;
font-size: 12px;
text-transform: uppercase;
}

div.str-liste li span.surtitre {
color: #000;
font-size: 20px;
line-height: 24px;
font-weight: 400;
text-transform: uppercase;
}

div.str-liste li span.titre {
padding: 5px 20px 0 20px;
color: #000;
font-weight: 700;
}

div.str-liste li span.infos {
padding: 5px 20px 0 20px;
font-size: 14px;
line-height: 18px;
}



/* FICHES
------------------------------------------------------------------------------------------- */

div.str-fiche div.autres {
margin-top: 70px;
padding-top: 20px;
border-top: 1px solid #f4efef;
}

div.str-fiche div.autres h3 {
padding-bottom: 30px;
text-align: center;
}

div.str-fiche div.autres div.str-liste {
margin: 0 auto;
width: 730px;
}

div.str-fiche div.autres div.str-liste.with_mask {
width: 930px;
display: grid;
grid-template-columns: 100px 1fr 100px;
}

div.str-fiche div.autres div.str-liste.with_mask .fleche {
padding-top: 90px;
}

div.str-fiche div.autres div.str-liste.with_mask .fleche.next {
text-align: right;
}

div.str-fiche div.autres div.str-liste.with_mask .fleche button {
width: 50px;
height: 50px;
background-color: transparent;
background-repeat: no-repeat;
background-position: center center;
cursor: pointer;
}

div.str-fiche div.autres div.str-liste.with_mask .fleche.prev button {
background-image: url(mask-prev.svg);
}

div.str-fiche div.autres div.str-liste.with_mask .fleche.next button {
background-image: url(mask-next.svg);
}

div.str-fiche div.autres div.str-liste li a {
grid-template-rows: 230px min-content min-content 1fr;
}

div.str-fiche div.autres div.str-liste li a:hover:before,
div.str-fiche div.autres div.str-liste li a:hover:after {
top: 114px;
left: 84px;
}

div.str-fiche div.autres div.str-liste li a:hover span.img:after {
width: 230px;
height: 230px;
}

div.str-fiche div.autres div.str-liste li span.novisuel {
height: 230px;
}

div.str-fiche div.autres div.str-liste li span.surtitre {
font-size: 16px;
line-height: 18px;
}

div.str-fiche div.autres div.str-liste li span.titre {
font-size: 14px;
}



/* EXPOSITIONS
------------------------------------------------------------------------------------------- */

div.blo_exposition div.blks {
display: grid;
grid-template-columns: min-content 1fr;
gap: 30px 30px;
}

div.blo_exposition div.blk.infos {
padding: 20px;
min-width: 367px;
background: #f8f8f8;
}

div.blo_exposition div.blk.infos p.nom {
padding-top: 15px;
font-size: 45px;
line-height: 45px;
font-weight: 400;
}

div.blo_exposition div.blk.infos p.pays {
padding-top: 5px;
text-transform: uppercase;
font-size: 18px;
}

div.blo_exposition div.blk.infos h1 {
padding: 25px 0 15px 0;
font-weight: 700;
}

div.blo_exposition div.blk.infos h3 {
padding-top: 15px;
}

div.blo_exposition div.blk.infos p.prix a {
text-decoration: none;
}

div.blo_exposition div.blk.infos p.lieu {
padding: 2px 0 2px 24px;
font-size: 14px;
font-weight: 700;
background: transparent url(blo_exposition-lieu.svg) no-repeat 1px center;
}

div.blo_exposition div.blk.infos p.lieu button {
font-size: 14px;
font-weight: 700;
}

div.blo_exposition div.blk.infos p.lieu button:hover {
text-decoration: underline;
}

div.blo_exposition div.blk.infos p.horaires {
padding: 2px 0 2px 24px;
font-size: 14px;
font-weight: 700;
background: transparent url(blo_exposition-horaires.svg) no-repeat left center;
}

div.blo_exposition div.blk.infos p.detail {
padding: 2px 0;
font-size: 14px;
}

div.blo_exposition div.blk.infos p.detail a {
text-decoration: none;
}

div.blo_exposition div.blk.infos p.detail a:hover {
text-decoration: underline;
}

div.blo_exposition div.blk.infos ul.livres li {
padding: 2px 0 2px 24px;
font-size: 14px;
background: transparent url(blo_exposition-livre.svg) no-repeat left center;
list-style: none;
}

div.blo_exposition div.blk.infos ul.livres li a {
text-decoration: none;
}

div.blo_exposition div.blk.infos ul.livres li a:hover {
text-decoration: underline;
}

div.blo_exposition div.txt h3 {
padding-bottom: 10px;
font-size: 12px;
text-transform: uppercase;
color: #999;
}

div.blo_exposition div.txt p {
padding-bottom: 30px;
}




.modal_carto {
width: 800px;
}

.modal_carto .content {
background-color: #333;
}

.modal_carto .adr {
padding: 15px;
width: 250px;
color: #fff;
font-size: 16px;
}

.modal_carto .adr .ico {
text-align: center;
padding-bottom: 15px;
font-size: 40px;
}

.modal_carto .adr .titre {
padding-bottom: 10px;
font-size: 18px;
font-weight: 700;
}

.modal_carto .adr .gps {
padding-top: 10px;
}

.modal_carto .adr .itineraire {
padding-top: 30px;
}

.modal_carto .adr .titre2 {
font-size: 18px;
}

.modal_carto .adr .consignes {
padding: 5px 0;
font-size: 12px;
}

.modal_carto .adr input {
padding: 2px 4px;
border: 0;
}

.modal_carto .adr input[type=text] {
width: 180px;
}

.modal_carto .adr input[type=submit] {
background: #fff;
}

#modal_carto_map {
width: 100%;
height: 400px;
}



/* TOUTES LES EXPOSITIONS
------------------------------------------------------------------------------------------- */

div.blo_all_expos div.search .fw_field,
div.blo_all_expos div.search .fw_form_actions {
display: inline-block;
margin-right: 10px;
}

div.blo_all_expos div.search .fw_field input {
padding: 7px;
border-radius: 0;
}

div.blo_all_expos div.search .fw_form_actions button {
margin-right: 0;
}

div.blo_all_expos h2 {
padding: 20px 0 10px 0;
color: #4a5781;
text-transform: uppercase;
font-weight: 700;
}

div.blo_all_expos ul {
list-style: none;
}

div.blo_all_expos li {
padding: 2px 0;
}

div.blo_all_expos span.nom {
font-weight: 400;
}

div.blo_all_expos span.expo {
padding-left: 10px;
font-size: 14px;
}

div.blo_all_expos span.selections {
padding-left: 10px;
font-size: 14px;
color: #999;
}

div.blo_all_expos a {
padding-left: 10px;
font-size: 14px;
}



/* CARTO LIEUX
------------------------------------------------------------------------------------------- */

div.blo_carto_lieux div.blks {
display: grid;
grid-template-columns: 1fr 300px;
}

div.blo_carto_lieux .liste {
padding: 20px;
background: #f8f8f8;
}

div.blo_carto_lieux .liste ul {
list-style: none;
}

div.blo_carto_lieux .liste span.num {
list-style: none;
}

#carto_lieux_map {
height: 500px;
}

.map-marker {
padding-top: 8px;
text-align: center;
color: #fff;
background: transparent url(map-marker.svg) no-repeat center top;
background-size: contain;
font-weight: 700;
font-family: 'Montserrat', sans-serif;
}

div.blo_carto_lieux .liste span.map-marker {
display: inline-block;
vertical-align: middle;
width: 40px;
height: 40px;
font-size: 12px;
}



/* LIVRES
------------------------------------------------------------------------------------------- */

div.blo_livres div.search {
position: absolute;
top: -80px;
right: 0;
}

div.blo_livres div.search .fw_form {
padding-bottom: 30px;
}

div.blo_livres div.search .fw_field,
div.blo_livres div.search .fw_form_actions {
display: inline-block;
margin: 0;
}

div.blo_livres div.search .fw_field input {
margin-top: 1px;
padding: 2px 3px 4px 3px;
border-radius: 0;
}

div.blo_livres div.search .fw_form_actions button {
margin-top: 0;
margin-right: 0;
padding: 9px 15px;
font-size: 12px;
}

div.blo_livres div.str-liste span.prix {
padding-top: 5px;
}

div.blo_livre div.blks {
display: grid;
grid-template-columns: 1fr 400px;
gap: 40px 40px;
}

div.blo_livre div.infos {
margin-top: 15px;
padding: 20px;
width: 400px;
background: #f8f8f8;
}

div.blo_livre div.infos p.auteur {
padding-top: 15px;
font-size: 45px;
line-height: 45px;
font-weight: 400;
}

div.blo_livre div.infos p.editions {
padding-top: 5px;
text-transform: uppercase;
font-size: 18px;
}

div.blo_livre div.infos h1 {
padding: 25px 0 15px 0;
font-weight: 700;
}

div.blo_livre div.infos p.prix {
padding-top: 15px;
}

div.blo_livre div.infos p.prix span {
display: inline-block;
margin-right: 10px;
padding: 5px 10px;
background: #fff;
border-radius: 4px;
}

div.blo_livre div.infos p.prix a {
display: inline-block;
padding: 5px 10px;
background: #4a5781;
border-radius: 4px;
color: #fff;
text-decoration: none;
}

div.blo_livre div.infos p.prix a:hover {
background: #b2b2b2;
}

div.blo_livre div.infos div.plus {
padding-top: 20px;
}

div.blo_livre div.infos div.plus p {
padding: 2px 0;
font-size: 14px;
font-weight: 700;
}

div#str-slider-livre {
height: 500px;
}

div#str-slider-livre .fw_slider_item {
background: #fff;
}

.fw_tip {
font-size: 12px;
}


/* PHOTOS PRESSE
------------------------------------------------------------------------------------------- */

div.blo_photos_presse ul {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px 40px;
list-style: none;
}

div.blo_photos_presse img {
max-width: 100px;
max-height: 100px;
}

div.blo_photos_presse a {
display: grid;
grid-template-columns: 120px 1fr;
text-decoration: none;
}

div.blo_photos_presse a:hover {
background: #f8f8f8;
text-decoration: none;
}

div.blo_photos_presse a span.visuel {
padding: 10px;
text-align: center;
}

div.blo_photos_presse a span.photographe {
padding: 10px 10px 10px 0;
}

div.blo_photos_presse a span.identite {
display: block;
text-transform: uppercase;
font-weight: 500;
}

div.blo_photos_presse a span.expo {
display: block;
padding-bottom: 10px;
font-weight: 700;
}

div.blo_photos_presse a span.infos {
font-size: 14px;
}

div.blo_photos_presse a span.type {
display: inline-block;
margin-right: 10px;
padding: 3px 8px;
text-transform: uppercase;
background: #f8f8f8;
font-weight: 500;
}

div.blo_photos_presse a span.poids {
display: inline-block;
padding: 3px 8px;
background: #f8f8f8;
font-weight: 500;
}

div.blo_photos_presse a:hover span.type,
div.blo_photos_presse a:hover span.poids {
background: #fff;
}



/* PHOTOS
------------------------------------------------------------------------------------------- */

div.str-photos .liste {
position: relative;
height: 500px;
background: #fff;
overflow: hidden;
}

div.str-photos .liste.noslider {
background: #f8f8f8;
}

div.str-photos .liste.noslider .container {
margin: 0 auto;
padding-left: 10px;
}

div.str-photos .liste.noslider .container div.photo {
display: inline-block;
}

div.str-photos .liste .mask {
position: absolute;
top: 0;
left: 0;
height: 500px;
transition: left .5s;
}

div.str-photos .liste .mask div {
position: relative;
display: inline-block;
vertical-align: top;
height: 500px;
text-align: center;
}

div.str-photos .liste .mask i {
margin-top: 240px;
font-size: 40px;
color: #ccc;
}

div.str-photos .liste .mask img {
position: absolute;
z-index: 2;
top: 0;
left: 0;
height: 500px;
}

div.str-photos .fleche {
position: absolute;
z-index: 10;
top: 0;
}

div.str-photos .fleche button {
display: block;
width: 100px;
height: 500px;
font-size: 30px;
color: #fff;
}

div.str-photos .fleche.prev {
left: 0;
}

div.str-photos .fleche.prev button {
padding-left: 20px;
text-align: left;
background: transparent url(slider-prev.svg) no-repeat 5px center;
}

div.str-photos .fleche.prev:hover {
background: rgb(0,0,0);
background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(255,255,255,0) 100%);
}

div.str-photos .fleche.next {
right: 0;
}

div.str-photos .fleche.next button {
padding-right: 20px;
text-align: right;
background: transparent url(slider-next.svg) no-repeat 55px center;
}

div.str-photos .fleche.next:hover {
background: rgb(255,255,255);
background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(0,0,0,1) 100%);
}

div.str-photos .fleche button i {
opacity: 0;
}

div.str-photos .fleche button:hover i {
opacity: 1;
}

div.str-photos .nav {
text-align: center;
}

div.str-photos .nav ul {
list-style: none;
}

div.str-photos .nav ul li {
display: inline-block;
padding: 5px;
}

div.str-photos .nav ul li button {
width: 12px;
height: 12px;
border: 1px solid #273c52;
border-radius: 50%;
}

div.str-photos .nav ul li button:hover {
border-color: #b94659;
}

div.str-photos .nav ul li button.active {
background: #273c52;
}

div.str-photos .nav ul li button.active:hover {
border-color: #273c52;
}


/* CONNEXION ESPACE PHOTOGRAPHES
------------------------------------------------------------------------------------------- */

div#str-pho_connexion div.blks {
display: grid;
grid-template-columns: 1fr 1fr;
column-gap: 100px;
}

div#str-pho_connexion div.blks h3 {
padding: 30px 0;
color: #4a5781;
text-transform: uppercase;
font-weight: 400;
}

div#str-pho_connexion p.consignes {
padding-bottom: 20px;
color: #4a5781;
font-size: 16px;
}


div#str-cgu-validation {
padding: 40px;
background: #eee;
}

div#str-cgu-validation div.fw_field_label {
padding-bottom: 10px;
}



/* DEVICE MOBILE
------------------------------------------------------------------------------------------- */

html.is_blocs_linear div.str-container {
margin: 0;
width: 100%;
}


