svg { fill: #ffffff; } html { background-color: #1c0920; color: white; font-family: Source Sans Pro, sans-serif; } a { text-decoration: none; color: #df7366; } #header a, nav a { color: inherit; } body { font-size: 15pt; line-height: 1.85em; font-family: 'Source Sans Pro', sans-serif; font-weight: 300; margin: 0; } #nav { overflow: hidden; position: absolute; top: 0; left: 0; width: 100%; } #nav #content { width: 100%; text-align: center; padding: 1.5em 0 0 0; z-index: 1; } ul { padding-left: 20px; } ul li { list-style: none; } #nav #content > ul { line-height: 0px; position: relative; display: inline-block; margin: 0; height: 21px; border-left: solid 1px rgba(192, 192, 192, 0.35); border-right: solid 1px rgba(192, 192, 192, 0.35); padding: 0 0.5em; } #nav #content > ul > li { display: inline-block; margin: -9px 0.5em 0 0.5em; border-radius: 0.5em; padding: 0.85em; border: solid 1px transparent; position: relative; } #nav #content > ul::before { left: 100%; margin-left: 1px; } #nav #content > ul::after { right: 100%; margin-right: 1px; } #nav #content > ul::before, #nav #content > ul::after { content: ''; display: block; width: 300%; position: absolute; top: 50%; margin-top: -2px; height: 3px; border-top: solid 1px rgba(192, 192, 192, 0.35); border-bottom: solid 1px rgba(192, 192, 192, 0.35); } .dropdown { left: 0; top: 100%; font-size: 0.88em; margin: 0.4em -35px 0; } .dropdown, .submenu { display: none; position: absolute; z-index: 5; text-align: left; background: rgba(255, 255, 255, 0.975); padding: 0.5em 1em; border-radius: 0.5em; box-shadow: 0 0.15em 0.25em 0 rgba(0, 0, 0, 0.25); line-height: 1em; } .submenu { left: calc(100% + 1em); top: 0; margin: 0; width: 115%; } .dropdown a { color: rgb(91, 91, 91); padding: 0.5em 0; display: block; } .dropdown a:hover{ color: #ef8376; } .dropdown li { border-top: solid 1px rgba(128, 128, 128, 0.2); position: relative; } .dropdown li:first-child { border-top: 0; } .dropdown::before { content: ''; position: absolute; left: 50%; top: -0.45em; margin-left: -0.75em; border-bottom: solid 0.5em rgba(255, 255, 255, 0.975); border-left: solid 0.7em rgba(64, 64, 64, 0); border-right: solid 0.7em rgba(64, 64, 64, 0); } li:hover .dropdown, .dropdown li:hover .submenu, li:focus-within .dropdown, .dropdown li:focus-within .submenu { display: block; } header { text-align: center; } #header { margin-bottom: -2rem; height: 100vh; min-height: 30em; } header h1 { font-size: 3.75em; line-height: 1em; font-weight: 400; margin: 0; } #header::before { content: ''; display: inline-block; vertical-align: middle; height: 100%; } #header .inner { position: relative; z-index: 1; margin: 0; display: inline-block; vertical-align: middle; } #header .inner-block { height: 100vh; min-height: 40em; } #header header > p { font-size: 1.25em; margin: 0; } header hr { top: 1.5em; margin-bottom: 1em; border-top: solid 1px rgba(192, 192, 192, 0.35); border-bottom: solid 1px rgba(192, 192, 192, 0.35); position: relative; height: 3px; border-left: none; border-right: none; } #header hr { margin-bottom:3em; } header hr::before, header hr::after { background: rgba(192, 192, 192, 0.35); content: ''; position: absolute; top: -8px; display: block; width: 1px; height: 21px; } hr::before { left: -1px; } hr::after { right: -1px; } #header footer { margin: 1.5em 0 0; } #header footer .button { display: inline-block; border-radius: 100%; width: 4.9em; height: 4.9em; line-height: 4.75em; text-align: center; font-size: 1.25em; padding: 0.5em; background: #df7366; font-weight: 300; } body > .background { background: linear-gradient(145deg, #3f2b4e 0%,#7b6b75 23%,#58445d 42%,#56425b 52%,#c7bbbd 81%,#422d4f 100%); filter: blur(50px); width: 100%; z-index: -1; position: fixed; top: 0; left: 0; overflow: hidden; background-size: 100% 150%; min-height: 40em; height: 100vh; } main { width: 64em; max-width: calc(100% - 4em); background-color: #1c0920ad; border: 2px solid #553f59; margin: auto; color: #fffd; margin-top:6rem; } main > section { padding: 3em 5em; border-bottom: 2px solid #553f59; } main > section:last-child { border:0; } main section h2 { font-size: 2em; font-weight: 300; line-height: 1.5; margin: 0 0 0.7em 0; letter-spacing: -0.025em; text-align: center; } main section h2::after { display: block; content: ''; width: 65%; height: 2px; margin: 0.7em auto 1em auto; border-radius: 2px; } main section h2::after { background-image: -moz-linear-gradient(90deg, transparent, #422d4f, #df7366, #422d4f, transparent); background-image: -webkit-linear-gradient(90deg, transparent, #422d4f, #df7366, #422d4f, transparent); background-image: -ms-linear-gradient(90deg, transparent, #422d4f, #df7366, #422d4f, transparent); background-image: linear-gradient(90deg, transparent, #422d4f, #df7366, #422d4f, transparent); } .main footer { padding: 1.5em 0.5em 0; opacity: 0.85; text-align: left; } #services ul { margin: 0; padding: 0; display: flex; flex-flow: row wrap; justify-content: center; } #services li { width: 25%; font-size: 1rem; text-align: center; padding: 15px 5px; line-height: 1.5em; box-sizing: border-box; } #services li .icon { display: block; width: 30%; margin: 0 auto 18px; border: 2px solid white; padding: 25px; border-radius: 50%; position: relative; } #services li .icon::before { display: block; width: calc(100% - 20px); height: calc(100% - 20px); border-radius: 100%; border: solid 2px white; content: ""; position: absolute; top: 8px; left: 8px; } #services li img, #services li svg { width: 100%; } #services li img.black { filter: invert(100%); } #services li a:first-of-type { display: block; font-size: 1.4em; padding-bottom: 10px; } #contact { position: relative; } #contact * { box-sizing: border-box; } #contact input[type="text"], #contact input[type="password"], #contact input[type="email"], #contact select { height: 3rem; } #contact .fields { margin: -1rem 0 1rem; } #contact .fields .field{ padding: 0 0 1.5rem; } #contact input[type="text"], #contact input[type="password"], #contact input[type="email"], #contact select, #contact textarea { display: block; outline: 0; padding: 0 1rem; text-decoration: none; width: 100%; background: #ffd1eb26; border-radius: 0; border: solid 2px #fff1; color: inherit; line-height: 3em; } #contact form input[type="text"]:focus, #contact form input[type="password"]:focus, #contact form input[type="email"]:focus, #contact form select:focus, #contact form textarea:focus { border-color: #df7366; } #contact form input[type="submit"]:hover, #contact form input[type="reset"]:hover, #contact form input[type="button"]:hover, #contact form button:hover, #contact form .button:hover, #contact form a:hover{ color: #df7366; } #contact label, #contact h3 { display: block; font-weight: 600; line-height: 1.5; letter-spacing: 0.075em; font-size: 1rem; text-transform: uppercase; margin: 0 0 0.75rem 0; } #contact textarea { padding: 0.75rem 1rem; line-height: 1.1em; } #contact ul { margin: 0; padding: 0; } #contact .social_network { position: absolute; right: 6em; bottom: 2.4em; max-width: 50%; } #contact .social_network .icons { display: flex; justify-content: center; } #contact li img, #contact li svg { width: 2em; height: 2em; margin: 0 0.5em; } #contact li a:hover svg { fill: currentColor; } #contact input[type="submit"], #contact input[type="reset"], #contact input[type="button"], #contact button, #contact .button { background-color: transparent; box-shadow: inset 0 0 0 2px; color: inherit; transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; border: 0; border-radius: 0; cursor: pointer; display: inline-block; font-size: 0.8rem; font-weight: 900; letter-spacing: 0.075em; height: 3rem; line-height: 3rem; padding: 0 2rem; text-align: center; text-decoration: none; text-transform: uppercase; white-space: nowrap; } main footer, body > footer { line-height: 1.2em; padding: 2.5em 0 2em 0; font-size: 0.8em; text-align: center; opacity: 0.75; } main footer p, body > footer p { margin: 0.25em 0 } #trust ul li, #valeurs ul li { list-style: circle; font-size: 0.8em; } #trust ul li *, #valeurs ul li * { font-size: 1.2rem; } #valeurs li span { display: inline-block; } #valeurs li span::first-letter { font-size: 1.08em; } @media screen and (max-width: 736px) { #header { min-height: 0; padding: 5.5em 0 5em 0; height: auto; } #header h1 { font-size: 2.5em; } #header .inner { padding-top: 1.5em; padding-left: 1em; padding-right: 1em; } main { max-width: calc(100% - 3em); } main > section { padding: 2em; } main section h2 { font-size: 1.6em; } #contact h3 { letter-spacing: 0.02em; font-size: 0.9rem; } #contact .social_network { right: 0.2em; bottom: 0.4em; } #services li { width: 50%; } } @media screen and (max-width: 436px) { main { max-width: calc(100% - 1.5em); } main > section { padding: 1em; } #services li { width: 100%; } }