* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
article, aside, datagrid, datalist, details, dialog, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

.clear { clear: both; }
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { zoom: 1; }

html { font-size: 62.5%; }

img, table, td, blockquote, textarea, input, audio, video, canvas { max-width: 100%; height: auto; }
iframe { max-width: 100%; }

p, ul, ol, blockquote, table, hr, figure { margin: 0 0 15px 0;}
p:last-child, ul:last-child, ol:last-child, blockquote:last-child, table:last-child, figure:last-child { margin-bottom: 0; }

a, a:hover, a:active, a:focus { text-decoration: none; }
a:focus { outline: 0; }

ul, ol { padding-left: 2em; }
li p, li ul { margin-top: 0; margin-bottom: 0; }
form ul, nav ul, .menu { list-style: none; padding: 0; }

img { border: 0; vertical-align: bottom; }

/* --------------------------- Site */
@font-face { font-family: 'cooperHewittHeavy'; src: url('../fonts/cooperhewitt-heavy-webfont.woff2') format('woff2'), url('../fonts/cooperhewitt-heavy-webfont.woff') format('woff'); font-weight: normal; font-style: normal; }

@font-face { font-family: 'MountainsChristmas'; src: url('../fonts/mountainsofchristmas-webfont.woff2') format('woff2'), url('../fonts/mountainsofchristmas-webfont.woff') format('woff'); font-weight: normal; font-style: normal; }

body { font-size: 1.6em; font-family: "cooperHewittHeavy", "Helvetica Neue", sans-serif; line-height: 1.7; background: #f3f3f3; text-align: left; }

.texte-normal { font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif, "Sans Serif"; }

.logo { display: block; width: 200px; position: absolute; top: 30px; left: 40px; }

/*.titre { width: 250px; font-size: 12px; text-align: center; letter-spacing: 3px; text-transform: uppercase; color: #111; margin: 0 auto; padding: 60px 0 65px 0; }*/
.titre { font-family: "MountainsChristmas", serif; font-size: 36px; width: 420px; position: relative; background: #25b063; color: #fff; text-align: center; line-height: 70px; margin: 40px auto 80px auto; }
.titre_jp {font-size: 24px;}
.titre:before, .titre:after { content: ""; position: absolute; display: block; bottom: -15px; border: 35px solid #248c53; z-index: -1; }
.titre:before { left: -45px; border-right-width: 30px; border-left-color: transparent; }
.titre:after { right: -45px; border-left-width: 30px; border-right-color: transparent; }
.titre .titre-inner:before, .titre .titre-inner:after { content: ""; position: absolute; display: block; border-style: solid; border-color: #106837 transparent transparent transparent; bottom: -15px; }
.titre .titre-inner:before { left: 0; border-width: 15px 0 0 20px; }
.titre .titre-inner:after { right: 0; border-width: 15px 20px 0 0; }

.partager { position: absolute; top: 20px; right: 20px; z-index: 100; }

.calendrier { padding: 0 4.5% 8% 4.5%; max-width: 2000px; margin: 0 auto; text-align: center; }

.date { width: 16%; padding-top: 16%; margin: 0 2% 4% 2%; float: left; position: relative; background: #252525; box-shadow: 3px 7px 15px rgba(0,0,0,0.35); border-radius: 50%; }

.date-active { cursor: pointer; transition: all .15s ease-out; }
.date-active:hover { box-shadow: 5px 25px 30px rgba(0,0,0,0.35); transform: translateY(-15px); }

.date-inactive .jour { background: #333; color: #444; }

.jour { width: 30%; height: 30%; position: absolute; top: 50%; left: 50%; margin: -15% 0 0 -15%; color: #fff; font-size: 25px; border-radius: 50%; display: flex;  justify-content: center; align-items: center; }

.couleur-01 { background: rgb(147,195,155); }
.couleur-02 { background: rgb(229,74,63); }
.couleur-03 { background: rgb(45,45,170); }
.couleur-04 { background: rgb(148,219,245); }
.couleur-05 { background: rgb(244,79,98); }
.couleur-06 { background: rgb(208,205,33); }
.couleur-07 { background: rgb(222,25,57); }
.couleur-08 { background: rgb(241,124,52); }
.couleur-09 { background: rgb(130,125,234); }
.couleur-10 { background: rgb(44,83,209); }
.couleur-11 { background: rgb(213,60,33); }
.couleur-12 { background: rgb(90,164,186); }
.couleur-13 { background: rgb(200,53,148); }
.couleur-14 { background: rgb(237,195,10); }
.couleur-15 { background: rgb(170,170,160); }
.couleur-16 { background: rgb(227,151,25); }
.couleur-17 { background: rgb(40,57,249); }
.couleur-18 { background: rgb(175,45,74); }
.couleur-19 { background: rgb(64,156,165); }
.couleur-20 { background: rgb(94,64,122); }
.couleur-21 { background: rgb(245,72,143); }
.couleur-22 { background: rgb(110,140,142); }
.couleur-23 { background: rgb(107,79,232); }
.couleur-24 { background: rgb(253,24,58); }
.couleur-25 { background: rgb(240,187,63); }

/* --------------------------- Modal */
.modal { visibility: hidden; opacity: 0; z-index: 500; position: fixed; top: 50px; left: 50%; right: 0; bottom: 0; background: #e3e3e3; overflow-y: auto; padding: 40px 4%; transition: all .2s ease-out; }
.modal-open { top: 0; opacity: 1; visibility: visible; }

.close-modal { display: none; z-index: 450; position: fixed; top: 0; left: 0; right: 0; bottom: 0; }

.disque { max-width: 900px; color: #444; text-align: left; }
.close { position: absolute; top: 25px; right: 25px; width: 80px; height: 80px; cursor: pointer; }
.close:before, .close:after { transform: rotate(-45deg); content: ''; position: absolute; top: 50%; left: 50%; margin-left: -40px; display: block; height: 3px; width: 80px; background-color: #888; transition: all .2s ease-out; }
.close:after { transform: rotate(45deg); }
.close:hover:before, .close:hover:after { transform: rotate(0deg); }

.date-disque { font-size: 100px; line-height: 130px; color: #fff; }
h1, h2, h1 a, h2 a { line-height: 1.2; color: #111; }
h1 { font-size: 34px; margin: 0 0 10px 0; }
h2 { font-size: 16px; margin: 0 0 20px 0; letter-spacing: 1px; text-transform: uppercase; position: relative; padding-left: 25px; }
h2:before { content: ""; position: absolute; top: 45%; left: 0; width: 15px; height: 2px; background: #111; }

.vendeur {color: #111; padding-bottom:10px;}
.vendeur a { margin-left: 3px; text-transform: uppercase; }
.lien-cdandlp { margin: 0 0 20px 0; font-weight: bold; }
.vendeur span {font-weight: bold;}

.lien-cdandlp a, .vendeur a { position: relative; color: #e55325; transition: all .2s ease-out; }
.lien-cdandlp a:before, .vendeur a:before { content: ""; position: absolute; top: 50%; left: 0; width: 0; height: 1px; background: #e55325; transition: all .1s ease-out; }
.lien-cdandlp a:hover, .vendeur a:hover { padding-left: 21px; }
.lien-cdandlp a:hover:before, .vendeur a:hover:before { width: 15px; }

.description { text-align: justify; }

.iframe-wrap { position: relative; height: 0; overflow: hidden; padding-bottom: 56.25%; margin: 40px 0; background: #d3d3d3; }
.iframe-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 520; }

/* --------------------------- Responsive */
@media screen and (max-width: 1400px) {
    
    .date { width: 21%; padding-top: 21%; }
    .disque { max-width: 700px; }
    
    .modal { left: 30%; }
    
}
@media screen and (max-width: 1200px) {
    
    .modal { left: 10%; }
    
}
@media screen and (max-width: 1000px) {
    
    .date { width: 29%; padding-top: 29%; }
    
}
@media screen and (max-width: 900px) {
    
    .titre { margin: 125px auto 40px auto; }
    
    .modal { left: 0; }
    
}
@media screen and (max-width: 700px) {
    
    .logo { left: 20px; }
    
    .date { width: 46%; padding-top: 46%; }
    
}
@media screen and (max-width: 500px) {
    
    .date-active:hover { transform: translateY(-7px); }
    .jour { font-size: 16px; }
    
}