jean-cloud_website/css/main.css
2019-09-23 21:22:31 +02:00

529 lines
9.1 KiB
CSS

@import url("font-sourcesanspro.css");
svg {
fill: #ffffff;
}
html {
background-color: #1c0920;
color: white;
font-family: Source Sans Pro, sans-serif;
}
a {
text-decoration: none;
color: #df7366;
}
#header a {
color: inherit;
}
body {
font-size: 15pt;
line-height: 1.85em;
font-family: 'Source Sans Pro', sans-serif;
font-weight: 300;
margin: 0;
}
#nav {
position: absolute;
top: 0;
left: 0;
width: 100%;
}
#nav #content {
width: 100%;
text-align: center;
padding: 1.5em 0 31.5em 0;
z-index: 1;
overflow-x: hidden;
}
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 {
height: 100vh;
text-align: center;
min-height: 40em;
margin-bottom: 4rem
}
#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 header > p {
font-size: 1.25em;
margin: 0;
}
#header hr {
top: 1.5em;
margin-bottom: 3em;
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::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;
}
#header .background {
background: linear-gradient(145deg, #3f2b4e 0%,#7b6b75 23%,#58445d 42%,#56425b 52%,#c7bbbd 81%,#422d4f 100%);
filter: blur(50px);
width: 100%;
height: 100%;
z-index: -1;
position: fixed;
top: 0;
left: 0;
overflow: hidden;
background-size: 100% 150%;
}
main {
width: 64em;
max-width: calc(100% - 4em);
background-color: #1c0920ad;
border: 2px solid #553f59;
margin: auto;
color: #fffd;
}
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;
}
#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 {
padding-left: 20px;
}
#trust ul li {
list-style: circle;
font-size: 0.8em;
}
#trust ul li * {
font-size: 1.2rem;
}
@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%;
}
}