/** Généralités */ /* polices à mettre en font-face une fois largeurs déterminées*/ @font-face { font-family: 'Montserrat'; src: local("Monserrat Regular"), url('fonts/Montserrat/montserrat-regular-webfont.woff2') format('woff2'), url('fonts/Montserrat/montserrat-regular-webfont.woff') format('woff'); font-weight: 400; font-style: normal; } @font-face { font-family: 'Montserrat'; src: local("Monserrat SemiBold"), url('fonts/Montserrat/montserrat-semibold-webfont.woff2') format('woff2'), url('fonts/Montserrat/montserrat-semibold-webfont.woff') format('woff'); font-weight: 600; font-style: normal; } :root { --blue: #008dc6; --citrus: #9bd066; --dark-grey: #5b5b5b; } body { margin: 0; font-size: 18px; font-family: "Montserrat", sans-serif; position: relative; line-height: 1.3; font-weight: 400; } main { width: 100vw; height: 100vh; overflow: hidden; } h1, h2, h3, h4, h5, h6 { font-variant: small-caps; font-weight: 600; } strong { font-weight: 600; } .featured { color: var(--citrus); } a { color: var(--citrus); } .button { display: inline-block; background-color: var(--citrus); color: white; font-weight: 600; text-decoration: none; padding: .8em 1em; border-radius: 8px; } /** Accueil / Fond */ header .half { position: relative; margin: 0; width: 100vw; height: 50vh; } header .half p { position: absolute; margin: 0; } header p.slogan { bottom: 5em; width: 100vw; height: 1em; margin: auto; display: block; text-align: center; font-weight: 400; } header .name { left: 5px; text-transform: uppercase; font-size: 3.2em; font-weight: 600; line-height: 40px; } header .name span.mar { letter-spacing: -2px; } header .name span.cha { letter-spacing: -5px; } header .white .name { bottom: -3px; } header .blue .name { top: 3px; } header .name span.light { opacity: 0.3; } header .white { margin: 0; color: var(--blue); background-color: white; } header .blue { color: white; background-color: var(--blue); } header .buttons { position: absolute; top: 7.5em; width: 100vw; text-align: center; } header .buttons a { color: white; font-size: 2em; font-weight: 400; margin: 0 8px; } /** Boutons de section / Navigation */ .toggle { z-index: 13; position: fixed; opacity: 0; } .toggle, .toggle-buttons { margin: 10px; width: 50px; height: 50px; background-color: transparent; } section nav { position: fixed; } .toggle-buttons svg { position: absolute; width: 50px; height: 45px; z-index: 35; } .toggle-buttons .close { opacity: 0; } .toggle:checked { z-index: 23; } .toggle:checked + section .toggle-buttons { z-index: 22; } .toggle:checked + section .toggle-buttons .open { opacity: 0; } .toggle:checked + section .toggle-buttons .close { opacity: 1; z-index: 27; } /* about*/ .a-propos.toggle, section#a-propos nav { top: 0; left: 0; } /* presta */ .prestations.toggle, section#prestations nav { top: 0; right: 0; } section#a-propos .toggle-buttons svg, section#prestations .toggle-buttons svg { color: var(--blue); } /* projets */ .projets.toggle, section#projets nav { bottom: 0; left: 0; background-color: var(--blue); } /* contact */ .contact.toggle, section#contact nav { bottom: 0; right: 0; } section#projets .toggle-buttons svg, section#contact .toggle-buttons svg { color: white; bottom: 5px; } /** Contenu */ /**activation**/ section { z-index: 11; position: fixed; } section .content { position: fixed; width: 100vw; height: 100vh; top: 0; left: 0; transition: margin 0.2s, border-radius .5s; } section#a-propos .content { margin-top: -100vh; margin-left: -100vw; border-radius: 0 0 5em 0; background-color: white; } section#prestations .content { margin-top: -100vh; margin-left: 100vw; border-radius: 0 0 0 5em; background-color: white; } section#projets .content { margin-top: 100vh; margin-left: -100vw; border-radius: 0 5em 0 0; background-color: var(--blue); color: white; } section#contact .content { margin-top: 100vh; margin-left: 100vw; border-radius: 5em 0 0 0; background-color: var(--blue); color: white; } .toggle:checked + section { z-index: 21; } .toggle:checked + section nav { z-index: 22; } .toggle:checked + section .content { margin: 0 !important; border-radius: 0 !important; } /************** intérieur **************/ section .content > *:last-child { margin-bottom: 3em; } /* ACCORDÉONS */ .accordion { position: relative; overflow: hidden; } .accordion input.toggle-accordion-content { position: absolute; z-index: 10; top: 0; left:0; width: 100%; height: 100%; opacity: 0; } .accordion .accordion-content { margin: 0 .5em; transition: font-size .1s, margin .1s, padding .1s, opacity .2s .1s; } .accordion input.toggle-accordion-content:checked { z-index: -1; } .accordion input.toggle-accordion-content:not(:checked) ~ .accordion-content { opacity: 0; font-size: 0; margin: 0; padding: 0; } .accordion .accordion-close { z-index: 0; } .accordion .accordion-close input.clear { position: absolute; top: 0; left:0; width: 100%; height: 4em; opacity: 0; } .accordion input.toggle-accordion-content:checked ~ .accordion-close input.clear { z-index: 15; } .accordion .accordion-title:before { content: ">"; display: inline-block; position: absolute; left: 0; top: -.185em;; margin-right: 10px; font-size: 1.5em; max-height: 1rem; transform: rotate(0turn) scaleX(.5); transform-origin: bottom center; transition: transform .2s; } .accordion .accordion-title { position: relative; padding-left: 25px; margin-top: .5em; margin-bottom: .5em; } .accordion input.toggle-accordion-content:checked ~ .accordion-title::before { transform: rotate(.25turn) scaleX(.5); } /* --- */ /* CONTENU */ section .content { overflow-y: scroll; } section .content h2 { text-align: center; margin: 10px 55px; } section .content h3 { margin: 1em 0 .2em; } section#a-propos .content, section#prestations .content { color: var(--blue); } section .content .resume { margin: 1em .2em; font-size: 2em; font-weight: 200; text-align: center; } section .content h3, section .content h4, section .content p, section .content ul { margin-left: .5em; margin-right: .5em; } section#a-propos .content p, section#a-propos .content ul, section#prestations .content p, section#prestations .content ul{ color: var(--dark-grey); } /* --- */ /* LISTES FUNKY */ section .content .historique, section .content .picto-list { list-style: none; position: relative; padding: 0; } section .content .historique li { position: relative; padding-left: 2.5em; margin-bottom: 0.6em; } section .content .historique span.date { position: absolute; width: 2.3em; height: 1em; font-size: 0.8em; left: 0; top: 3px; color: var(--blue); } section .content .picto-list li { position: relative; padding-left: 2.3em; margin-bottom: 0.8em; } section .content .picto-list svg { position: absolute; width: 2.3em; height: 2em; font-size: 0.7em; left: 0; top: 3px; color: var(--citrus); } section .content .historique span.detail { font-style: italic; font-size: 0.9em; } /* --- */ /* ACCORDEONS PROJETS */ .projet .project-header { position: relative; margin: 1em .5em; background-color: rgba(0,0,0, .7); border-radius: 8px; overflow: hidden; transition: background-color .2s, border-radius .2s; } .projet .project-header .accordion-title::before { display: none; } .accordion .accordion-close input.clear { height: 6em; } .projet .project-header .accordion-title { margin: 2em 1em .2em; padding: 0; transition: margin-top .2; } .projet .project-header .subtitle { margin: 0 2.5em 2em; padding: 0; color: #bdbdbd; font-style: italic; transition: margin-bottom .2s; } .projet .project-header .img-fluid { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: top .2s, objecf-fit.2s; } .projet input.toggle-accordion-content:checked ~ .project-header { background-color: white; margin: .2em .5em 0; border: 3px solid var(--dark-grey); border-bottom: none; border-radius: 8px 8px 0 0; color: var(--dark-grey); ;} .projet input.toggle-accordion-content:checked ~ .project-header .accordion-title { margin-top: .5em; } .projet input.toggle-accordion-content:checked ~ .project-header .subtitle { margin-bottom: calc(300px + 1em); } .projet input.toggle-accordion-content:checked ~ .project-header .img-fluid { top: 4.5em; object-fit: contain; z-index: 0; } .projet input.toggle-accordion-content:checked ~ .accordion-content { padding-top: .2em; border: 3px solid var(--dark-grey); border-top: none; border-radius: 0 0 8px 8px; background-color: white; color: var(--dark-grey); } .projet .accordion-content .project-buttons { text-align: center; } .projet .accordion-content .button { width: 6em; border: 2px solid var(--citrus); font-size: .8em; } .projet .accordion-content .project-close { position: relative; display: inline-block; text-align: center; background-color: white; font-size: .8em; font-weight: 600; width: 6em; margin: .5em auto; padding: .8em 1em; border: 2px solid var(--dark-grey); border-radius: 8px; } .projet .accordion-content .project-close .clear { position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; opacity: 0; } /* --- */ /* CONTACT */ .contact { text-align: center; } .contact .button { display: block; position: relative; margin: .5em auto 2.5em; padding: .2em .2em; width: 3em; height: 3em; text-align: center; background-color: white; color: var(--blue); } .contact .button svg { position: absolute; top:0; bottom: 0; left: 0; right: 0; margin: auto; width: 1.5em; height: 1.5em; } /* --- */