/** Généralités */ :root { --serif-font:Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif; --mono-font:ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace; --sans-font:Avenir, 'Avenir Next LT Pro', Montserrat, Corbel, 'URW Gothic', source-sans-pro, sans-serif; --text-font: system-ui, sans-serif; --bg:#2e3440; --accent-bg:#434c5e; --text:#eceff4; --text-light:#d8dee9; --accent:#88c0d0; --code:#d8dee9; --preformatted:#d8dee9; --marked:#8fbcbb; --disabled:#4c566a } @media (prefers-color-scheme:light) { :root { color-scheme:light; --bg:#eceff4; --accent-bg:#e5e9f0; --text:#2e3440; --text-light:#4c566a; --code:#4c566a; --preformatted:#4c566a; --disabled:#d8dee9 } } html { scroll-behavior: smooth; } body { margin: 0 .5em; font-size: 16px; font-family: var(--text-font); background-color: var(--bg); color: var(--text); } h1, h2, h3, h4, h5, h6 { font-family: var(--sans-font); font-variant: small-caps; font-weight: 500; } h2 { text-align: center; } hr { width: 80%; margin: 2em auto; border: none; border-top: 1px solid var(--accent-bg); } strong { font-weight: 600; } .featured { color: var(--accent); } a { color: inherit; } a:visited { color: var(--accent); } .button { display: inline-block; background-color: var(--accent); color: var(--text); font-weight: 600; text-decoration: none; padding: .8em 1em; border-radius: 8px; } .button.disabled { opacity: .4; } .button:hover, .clear:hover { cursor: pointer; } .button.disabled:hover { cursor: default; } .button:visited { color: var(--text-light); } .small { font-size: .8em; } /** Accueil / Fond */ header .name { margin: .5em 0; text-transform: uppercase; font-family: var(--sans-font); font-size: 2.5em; font-weight: 300; line-height: 0.8em; } header .name span.light { opacity: 0.3; } /** Contenu */ section#intro { text-align: center; } /************** intérieur **************/ /* 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; overflow: wrap; } .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 input.toggle-accordion-content:not(:checked) ~ .accordion-content img { height: 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 */ /* 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 .2s; } .projet .project-header .subtitle { margin: 0 2.5em 2em; padding: 0; opacity: 0.5; 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: var(--accent-bg); margin: 0 .5em; border: 3px solid var(--disabled); border-bottom: none; border-radius: 8px 8px 0 0; ; padding: .2em 1em; } .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: .2em 1em; border: 3px solid var(--disabled); border-top: none; border-radius: 0 0 8px 8px; background-color: var(--accent-bg); } .projet .accordion-content .project-buttons { text-align: center; } .projet .accordion-content .button { border: 2px solid var(--accent); font-size: .8em; } .projet .accordion-content .project-close { position: relative; display: inline-block; text-align: center; background-color: var(--disabled); font-size: .8em; font-weight: 600; width: 6em; margin: .5em auto; padding: .8em 1em; border: 2px solid var(--disabled); 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: var(--accent-bg); color: var(--text); } .contact .button svg { position: absolute; top:0; bottom: 0; left: 0; right: 0; margin: auto; width: 1.5em; height: 1.5em; color: var(--text-light); } footer .copyright { text-align: center; font-size: .8em; color: var(--text); opacity: 0.5; } /* --- */ /* ---- 404 ------*/ header.err404 .half { overflow: hidden; } header.err404 .err404 { width: 5.5em; /*! padding-left: 5px; */ text-transform: uppercase; font-size: 9em; font-weight: 600; line-height: 0.7em; width: 100%; text-align: center; line-height: 0; } header.err404 .white .err404 { bottom: 0; } section.err404 { position: absolute; top: calc((50vh + 5em)); color: white; padding: 0 1em; font-weight: 400; text-align: center; width: calc(100% - 2em); } footer.err404 { position: absolute; width: 100%; bottom: 0; margin: 0; text-align: center; } footer.err404 .copyright { font-size: .5em; color: white; text-align: center; } /* --- */ /* ------- ANIMATION ----------*/ .float { animation-name: float; animation-duration: 4s; animation-iteration-count: infinite; animation-timing-function: ease-in-out; } @keyframes float { 0% { filter: drop-shadow( 0px 0px 0px); } 50% { filter: drop-shadow( 0px 0px 5px); } 100% { filter: drop-shadow( 0px 0px 0px ) ;} } /* --- */ /* ------- RESPONSIVE DESIGN ----------*/ @media only screen and (min-width : 481px) { section#portfolio #portfolio-wrapper { display: inline-flex; flex-flow: row wrap; justify-content: space-evenly; } section#portfolio #portfolio-wrapper .projet { flex: 1 1 auto; } section#portfolio #portfolio-wrapper .projet input.toggle-accordion-content:checked ~ .project-header, section#portfolio #portfolio-wrapper .projet input.toggle-accordion-content:checked ~ .accordion-content { /*! min-width: calc(481px - 5em); */ max-width: 900px; } } @media only screen and (min-width : 769px) { body { font-size: 18px; } main { max-width: 900px; margin: auto; } }