2
0
MasterPassword/_sass/_layout.scss
2018-05-07 09:24:00 -04:00

368 lines
8.8 KiB
SCSS

@import url('https://fonts.googleapis.com/css?family=Rubik:300,400|Rubik+Mono+One');
html, body {
width: 100%;
height: 100%;
font-family: 'Rubik', sans-serif;
font-weight: 300;
text-align: justify;
}
body * {
/*outline: 1px solid rgba(255, 0, 0, 0.5);/**/
}
h1 {
margin: 0;
font-family: 'Rubik Mono One', sans-serif;
font-size: 2em;
text-align: center;
}
h2 {
margin: 2em 0 1em;
font-size: 2em;
font-weight: 400;
text-align: center;
img {
display: block;
width: auto;
height: 5em;
margin: auto;
padding: 0 1ex;
border-bottom: 4px solid black;
box-shadow: none;
}
input {
height: 1em;
}
}
h3 {
margin: 2em 0 1em;
font-size: 1.5em;
font-weight: 400;
}
hr {
margin: 2em -2em 1em;
}
a, a:link, a:visited, a:hover {
color: inherit;
}
q {
font-style: italic;
}
nav {
display: flex;
font-weight: 400;
text-align: center;
@media screen and (min-width: 1024px) {
font-size: 1.8em;
}
&>* {
flex: 2;
.popup {
display: none;
}
}
}
header, section {
width: 100%;
}
header {
display: flex;
position: relative;
overflow: hidden;
min-height: 40%;
flex-direction: column;
justify-content: stretch;
align-items: stretch;
.hero {
position: absolute;
z-index: -1;
left: 0;
right: 0;
top: 0;
bottom: -70px; /* This is to deal with some kind of weird paroller bug that gives us blank space at the bottom otherwise. */
background: black url('../img/hero_main.jpg') center center no-repeat;
background-size: cover;
}
&[data-hero=ios] .hero {
background-image: url('../img/hero_ios.jpg');
}
&[data-hero=android] .hero {
background-image: url('../img/hero_android.jpg');
}
&[data-hero=mac] .hero {
background-image: url('../img/hero_mac.jpg');
}
&[data-hero=desktop] .hero {
background-image: url('../img/hero_desktop.jpg');
}
&[data-hero=cli] .hero {
background-image: url('../img/hero_cli.jpg');
}
&[data-hero=web] .hero {
background-image: url('../img/hero_web.jpg');
}
h1 {
height: 1em;
color: white;
text-align: center;
}
nav:first-child {
position: fixed;
padding: 0 20px;
margin: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 0.8);
color: white;
@media screen and (min-width: 1024px) {
padding: 0 100px;
}
&>*:first-child {
text-align: left;
font-variant: small-caps;
font-weight: 300;
}
&>*:last-child {
text-align: right;
font-variant: small-caps;
font-weight: 300;
}
}
nav:last-child {
align-content: space-evenly;
color: black;
color: white;
text-shadow: 0 1px 1px white;
text-shadow: 0 1px 1px black;
background: rgba(0, 0, 0, 0.6);
background: rgba(255, 255, 255, 0.4);
&>*.active, &>*:hover, &:hover>*:hover {
background: rgba(255, 255, 255, 0.6);
border-bottom: 3px solid;
}
&>*, &:hover>* {
transition: all 0.3s;
background: rgba(255, 255, 255, 0.0);
border-bottom: 3px solid transparent;
border-radius: 6px 6px 0 0;
}
}
}
header.large, section {
min-height: 90%;
}
section {
box-sizing: border-box;
padding: 2em 20px;
font-size: 1.2em;
img, video {
margin: 1ex 2%;
width: 96%;
border-radius: 4px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
object-fit: contain;
box-sizing: border-box;
}
@media screen and (min-width: 1024px) {
padding: 2em 100px;
}
}
footer {
padding: 2em 20px;
background: rgba(240, 240, 240, 1);
@media screen and (min-width: 1024px) {
padding: 2em 100px;
}
& > div {
display: flex;
& > div {
flex: 1;
ul {
list-style: none;
}
}
}
p {
font-size: smaller;
color: rgba(180, 180, 180, 1);
}
}
input {
margin: 0 0.3ex;
font: inherit;
background: rgba(240, 240, 240, 1);
box-shadow: 0 0 1px black;
border-radius: 4px;
border: none;
outline: none;
}
input:hover {
background: rgba(200, 200, 200, 1);
}
input[type=button] {
cursor: pointer;
}
input[type=checkbox] {
display: none;
& + label::before {
display: inline-block;
content: '';
margin: 0 1ex;
background: rgba(240, 240, 240, 1);
box-shadow: 0 0 1px black;
border-radius: 4px;
width: 1ex;
height: 1ex;
}
&:checked + label::before {
background: black;
}
}
.widget_calculator table {
height: 200px;
padding: 4px;
margin: 1em auto;
background: rgba(200, 200, 200, 1);
box-shadow: 0 1px 3px black;
border-radius: 4px;
tr {
height: 20%;
td, th {
padding: 4px;
}
input {
display: block;
width: 100%;
height: 100%;
padding: 0 1ex;
margin: 0;
box-sizing: border-box;
}
}
}
.widget_gallery {
box-shadow: 0 0 1px black;
border-radius: 4px;
& > ul {
display: flex;
list-style: none;
justify-content: space-around;
li {
height: 100px;
label {
display: block;
box-sizing: border-box;
width: 100%;
height: 100%;
padding: 1em;
background: rgba(240, 240, 240, 1);
box-shadow: 0 0 2px black;
border-radius: 4px;
cursor: pointer;
&:hover {
background: rgba(200, 200, 200, 1);
}
img {
display: block;
width: 100%;
height: 100%;
margin: 0;
box-shadow: none;
}
}
}
}
input[type=radio] {
display: none;
& + div {
display:none;
margin: 1px;
padding: 2em;
background: rgba(240, 240, 240, 1);
}
&:checked + div {
display:block;
}
}
}
.widget_test ul {
margin: 0 8px;
list-style: none;
li {
border-left: 4px solid rgba(200, 200, 200, 1);
}
label {
font-size: 1.2em;
font-weight: 400;
}
input[type=checkbox] {
& + label + div {
display:none;
margin: 1ex 0;
padding: 1ex;
background: rgba(240, 240, 240, 1);
font-weight: 100;
@media screen and (min-width: 1024px) {
padding: 1ex 2em;
}
}
&:checked + label + div {
display:block;
}
}
}
.flex-auto {
flex: auto;
}