You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
web/sass/main.scss

537 lines
8.5 KiB
SCSS

@import "minireset";
@import "fonts";
$light-blue: #D8DEE9;
$rambotron-blue: #5E81AC;
$xdark-blue: #2E3440;
a {
text-decoration: none;
color: inherit;
}
body {
min-height: 100vh;
display: flex;
flex-direction: column;
font-family: "roboto", sans-serif;
font-size: 16px;
color: #2E3440;
}
header {
padding: 3rem 0;
border-top: 8px solid;
border-image: linear-gradient(to right, #8FBCBB 25%, #88C0D0 25%, #88C0D0 50%, #81A1C1 50%, #81A1C1 75%, $rambotron-blue 75%, $rambotron-blue 100%) 1;
&.compact {
padding: 1.3rem 0;
.wrap { height: 4rem }
}
.wrap {
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
height: 6rem;
max-width: 1200px;
width: 100%;
}
a.logo {
height: 100%;
img { height: inherit; }
}
section {
height: 100%;
display: flex;
flex-direction:column;
justify-content: space-between;
padding: .3rem 0 .1rem 0;
}
nav {
ul {
display: flex;
position: relative;
a { padding: .9rem }
li:hover { color: var(--color) }
li:hover>div {
visibility: visible;
transform: translate(0);
opacity: 1;
transition: all .1s ease-out;
}
li>div {
display: grid;
position: absolute;
grid-template-columns: 1fr 1fr;
column-gap: 1em;
left: 0;
top: 100%;
width: 100%;
margin-top: .9rem;
padding: 1rem;
background-color: #FFF;
border-top: 5px solid var(--color);
box-shadow: 0px 1px 9px #00000033;
font-size: 1rem;
font-weight: normal;
color: #2E3440;
visibility: hidden;
transform: translate(0, -1em);
opacity: 0;
.title {
margin-bottom: 1em;
padding: .5em;
font-weight: bold;
color: var(--color);
}
ul {
flex-direction: column;
a {
display: flex;
align-items: center;
padding: .5em;
[class^="icon-"], [class*=" icon-"] {
color: var(--color);
margin-right: .5em;
}
}
}
}
}
}
nav.secondary {
display: flex;
align-items: center;
font-size: .9rem;
color: #4C566A;
a:hover {
text-decoration: underline;
}
.search {
display: flex;
align-items: center;
margin-left: auto;
padding: .4em;
border: 1px solid #D8DEE9;
font-size: 1.2em;
input {
margin-right: .1em;
border: none;
outline: none;
}
}
}
nav.primary {
font-weight: bold;
font-size: 1.2em;
&>ul>li>a::after {
content: "\e921";
font-family: icomoon;
font-size: .8em;
margin-left: .5em;
color: $rambotron-blue;
}
&>ul>li:hover>a::after { color: inherit }
}
}
main {
max-width: 900px;
width: 100%;
margin: 0 auto;
padding: 1rem;
&.fullwidth, &.index { max-width: 1200px }
&.index h1 { margin: 2em 0 1em 0 }
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
margin: 1em 0;
}
h1 { font-size: 2em }
h2 { font-size: 1.6em }
h3 { font-size: 1.2em }
ul {
list-style: disc;
margin-left: 1em;
}
p { margin: 1em 0 }
p, ul { line-height: 1.5 }
a {
font-weight: bold;
color: $rambotron-blue;
}
a:hover { text-decoration: underline }
a[rel~="noreferrer"]::after {
content: "\e907";
font-family: icomoon;
font-size: .8em;
font-weight: normal;
margin-left: .2em;
}
section {
margin-bottom: 5rem;
}
.blocks {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
grid-column-gap: 1rem;
grid-row-gap: 2rem;
align-items: stretch;
justify-items: center;
a { font-weight: normal }
a:hover { text-decoration: none }
article {
display: flex;
flex-direction: column;
max-width: 50em;
height: 100%;
padding: 1em;
border-top: 5px solid $rambotron-blue;
font-size: .85em;
color: #2E3440;
a { font-weight: bold }
a:hover { text-decoration: underline }
&:hover {
box-shadow: 0px 1px 9px #00000033;
}
.title {
font-weight: bold;
font-size: 1.3em;
margin: .5em 0;
a { display: block }
}
.date {
display: block;
width: 100%;
margin-top: auto;
text-align: right;
font-size: 0.8em;
color: #81A1C1;
}
}
}
.blocks.noshadow article { box-shadow: none }
.websites {
grid-template-columns: 1fr 1fr 1fr 1fr;
text-align: center;
.title {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 3rem;
margin: .4em 0;
img {
max-width: 64%;
max-height: 100%;
}
}
}
.people-profile, .people-list {
display: flex;
flex-direction: column;
.role { color: #81a1c1 }
.other {
display: flex;
div { margin-right: 2em }
}
.info {
a {
font-weight: normal;
color: inherit;
}
a:hover { text-decoration: underline }
}
.mail, .tel, .cal, .homepage {
display: flex;
align-items: center;
&::before {
font-family: icomoon;
font-size: 1.2em;
margin-right: .4em;
}
}
.mail::before { content: "\e90e" }
.tel::before { content: "\e913" }
.cal::before { content: "\e905" }
.homepage::before { content: "\e907" }
}
.people-profile .info {
text-align: center;
img {
border-radius: 50%;
width: 8em;
margin-top: 2em;
}
h1 {
margin: 1em 0 .5em 0;
font-size: 1.6rem;
}
.role {
font-weight: bold;
}
.other {
justify-content: center;
margin: 2rem 0 1rem 0;
div { margin: 0 1em }
}
}
.people-list {
h1 { margin-bottom: -1em }
h2 {
margin: 5rem 0 4rem 0;;
font-size: 1.4rem;
text-align: center;
color: #4C566A;
}
.group {
display: grid;
grid-template-columns: 1fr 1fr;
row-gap: 4rem;
column-gap: 2rem;
}
article {
display: flex;
align-items: flex-start;
text-align: left;
padding-top: 2em;
border-top: 5px solid var(--color);
img {
width: 8rem;
margin-right: 2.5em;
border-radius: 50%;
}
.info {
display: flex;
flex-direction: column;
.name a {
display: block;
font-weight: bold;
font-size: 1.3em;
margin-bottom: .3em;
}
.role { color: var(--color) }
.other {
flex-direction: column;
margin-top: 1em;
div { margin-bottom: .5em }
}
}
}
}
.button {
display: inline-block;
padding: 1rem 4rem;
margin-top: 2rem;
outline: none;
border: 0;
border-top: 5px solid $light-blue;
background: none;
text-transform: uppercase;
font-size: .9rem;
font-weight: bold;
color: inherit;
&:hover {
text-decoration: none;
box-shadow: 0px 1px 9px #00000033;
}
}
.centering {
text-align: center;
}
}
footer {
margin-top: auto;
padding: 3em 1em 2em 1em;
text-align: center;
color: #FFF;
background-color: #2E3440;
border-top: 5px solid;
border-image: linear-gradient(to right, #BF616A 20%, #D08770 20%, #D08770 40%, #EBCB8B 40%, #EBCB8B 60%, #A3BE8C 60%, #A3BE8C 80%, #B48EAD 80%) 5;
p {
font-size: .9em;
color: $light-blue;
}
p:last-child { margin-top: .5em }
nav {
margin-bottom: 2em;
font-size: 1rem;
ul {
display: flex;
justify-content: center;
a { padding: 1em }
a:hover{ text-decoration: underline }
li::after {
content: "\007C";
color: #4C566A;
}
li:last-child::after {
display: none;
}
}
}
}
div.rambotron {
width: 100%;
text-align: center;
color: #ECEFF4;
background: linear-gradient(rgba($rambotron-blue, 0.95), rgba($rambotron-blue, 0.95)), url("rambotron.jpg") center center no-repeat;
background-size: cover;
h1 {
font-size: 2em;
font-weight: bold;
margin: 1em 0 .8em 0;
}
p {
max-width: 40em;
margin: 0 auto;
line-height: 1.5;
font-size: .9rem;
}
.links {
background-color: #3B4252;
margin-top: 2.5rem;
ul {
display: flex;
justify-content: center;
a {
display: block;
padding: 1.1rem;
margin: 0 1rem;
&:hover {
background-color: #2E3440;
}
}
}
}
}
div.breadcrumbs {
border-top: 1px solid $light-blue;
font-size: .9em;
.wrap {
margin: 0 auto;
display: flex;
max-width: 1200px;
width: 100%;
}
a {
display: inline-block;
padding: 1rem;
&.home {
display: flex; // vertical center
font-size: 1.5em;
color: #88c0d0;
&:hover { color: #000 }
}
}
ul {
display: flex;
li {
display: flex;
align-items: center;
&::before {
content: "\203A";
margin: 0 1em;
font-weight: bold;
color: $light-blue;
}
&:last-child { font-weight: bold }
a:hover { text-decoration: underline }
}
}
}
table {
th {
padding: 1em;
text-align: left;
background-color: $light-blue;
}
td {
padding: .25em 1em;
border-bottom: 1px solid $light-blue;
}
border: 1px solid $light-blue;
border-collapse: collapse;
border-spacing: 0;
}