colouring-montreal/frontend/main.css
2018-08-09 17:26:40 +01:00

714 lines
12 KiB
CSS
Executable File

/**
* Typography
*/
@font-face {
font-family: 'glacial_cl';
src: url('fonts/glacialindifference-regular-webfont.woff2') format('woff2'),
url('fonts/glacialindifference-regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
html,
body {
background: #fff;
color: #222;
}
.h1, .h2, .h3, .h4, .h5 {
font-family: 'glacial_cl', sans-serif;
}
.h2 {
font-weight: normal;
margin: 0;
}
.h3, .h4, .h5 {
font-family: 'glacial_cl', sans-serif;
font-weight: normal;
font-size: 1.2rem;
}
p {
font-size: 1.1rem;
}
pre {
white-space: pre-wrap;
}
/**
* Main Layout
*/
main.beta {
position: relative;
min-height: 35rem;
}
@media (min-width: 768px){
main.beta {
position: absolute;
top: 114px; /* 32px banner + 82px header */
bottom: 0;
left: 0;
right: 0;
}
}
#map {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.info-container {
position: absolute;
top: 50%;
left: 0;
right: 0;
bottom: 3rem;
padding: 0.25em 0.75em;
background: #fff;
background-color: rgba(255,255,255,0.95);
z-index: 1000;
overflow-y: auto;
transform: translateX(0);
transition: transform 0.4s;
}
.info-container.offscreen {
transform: translateX(-100%);
}
.leaflet-container .leaflet-control-attribution {
width: 100%;
height: 3rem;
background: #fff;
background: rgba(255, 255, 255, 0.95);
}
.leaflet-right{
left: 0;
}
@media (min-width: 380px){
.info-container {
bottom: 2rem;
}
.leaflet-container .leaflet-control-attribution {
height: 2rem;
}
}
@media (min-width: 768px){
.info-container {
top: 0;
left: 0;
width: 20rem;
bottom: 0;
}
.info-container.offscreen {
transform: translateX(-20rem);
}
.leaflet-right{
left: 20rem;
}
.leaflet-container .leaflet-control-attribution {
height: auto;
}
}
.welcome-float {
position: absolute;
z-index: 10000;
top: 0;
width: 100%;
border-radius: 0;
background: #fff;
background-color: rgba(255,255,255,0.95);
opacity: 1;
transition: opacity 0.4s;
}
.welcome-float.offscreen {
opacity: 0;
}
.welcome-float.remove {
display: none;
}
@media (min-width: 768px){
.welcome-float {
left: 50%;
margin-left: -20em;
width: 40em;
top: 1em;
}
}
/**
* Text pages
*/
article section {
overflow: hidden;
margin: 2.25em 0 4em;
padding: 2em 0 4em;
}
.main-col {
max-width: 40em;
margin: 0 auto;
padding: 0 1em;
}
hr {
display: block;
height: 1px;
border: 0;
background: #000;
width: 100%;
margin: 2em 0;
padding: 0;
}
/**
* Banner
*/
.beta-banner {
width: 100%;
min-height: 32px;
padding: 0.25em 1em;
background: #c57d00;
color: #fff;
margin: 0;
}
.beta-banner a:hover,
.beta-banner a:focus,
.beta-banner a {
color: #fff;
border-bottom-color: #fff;
}
.beta-banner a:hover,
.beta-banner a:focus {
border-bottom-width: 2px;
}
/**
* Main header
*/
.main-header {
display: block;
min-height: 82px;
text-decoration: none;
border-bottom: 3px solid #222;
}
.main-header .navbar {
padding: 0.75em 0.75em;
}
.main-header .navbar-brand {
margin: 0 1em 0 0;
}
/**
* Logo
*/
.logo {
display: block;
font-size: 2em;
width: 6em;
padding: 0;
text-transform: uppercase;
color: #000;
text-decoration: none;
}
.logo .logotype {
font-family: 'glacial_cl', sans-serif;
font-size: 1em;
margin: 0 0 0 0;;
display: inline-block;
vertical-align: bottom;
}
.logo .logotype span {
display: block;
font-size: 0.75em;
letter-spacing: 0.15em;
}
.logo .logotype span:first-child {
font-size: 0.625em;
letter-spacing: 0;
}
.logo .grid {
position: relative;
top: -1px;
display: inline-block;
vertical-align: bottom;
font-size: 0;
}
.logo .row {
display: block;
margin: 0 0 5px 0;
}
.logo .row:last-child {
margin-bottom: 0;
}
.logo .cell {
display: inline-block;
width: 15px;
height: 15px;
margin: 0 3px 0 0;
}
.logo .row:nth-child(1) .cell:nth-child(1) {
animation: pulse 47s infinite;
animation-delay: -1.5s;
}
.logo .row:nth-child(1) .cell:nth-child(2) {
animation: pulse 32s infinite;
animation-delay: -0.5s;
}
.logo .row:nth-child(1) .cell:nth-child(3) {
animation: pulse 49s infinite;
animation-delay: -6s;
}
.logo .row:nth-child(1) .cell:nth-child(4) {
animation: pulse 35s infinite;
animation-delay: -10s;
}
.logo .row:nth-child(2) .cell:nth-child(1) {
animation: pulse 34s infinite;
animation-delay: -7.2s;
}
.logo .row:nth-child(2) .cell:nth-child(2) {
animation: pulse 58s infinite;
animation-delay: -15s;
}
.logo .row:nth-child(2) .cell:nth-child(3) {
animation: pulse 31s infinite;
animation-delay: -5s;
}
.logo .row:nth-child(2) .cell:nth-child(4) {
animation: pulse 46s infinite;
animation-delay: -4.5s;
}
.logo .row:nth-child(3) .cell:nth-child(1) {
animation: pulse 32s infinite;
animation-delay: -3.5s;
}
.logo .row:nth-child(3) .cell:nth-child(2) {
animation: pulse 49s infinite;
animation-delay: -8.5s;
}
.logo .row:nth-child(3) .cell:nth-child(3) {
animation: pulse 35s infinite;
animation-delay: -4s;
}
.logo .row:nth-child(3) .cell:nth-child(4) {
animation: pulse 34s infinite;
animation-delay: -17s;
}
@keyframes pulse {
0%, 100% {
background-color: #ffad00;
}
8% {
background-color: #ffad00;
}
10% {
background-color: #72b2fe;
}
16% {
background-color: #72b2fe;
}
18% {
background-color: #5ec233;
}
24% {
background-color: #5ec233;
}
26% {
background-color: #e96762;
}
32% {
background-color: #e96762;
}
34% {
background-color: #e099c1;
}
40% {
background-color: #e099c1;
}
42% {
background-color: #7d6f94;
}
48% {
background-color: #7d6f94;
}
50% {
background-color: #eb7905;
}
56% {
background-color: #eb7905;
}
58% {
background-color: #72b889;
}
64% {
background-color: #72b889;
}
66% {
background-color: #f0d106;
}
72% {
background-color: #f0d106;
}
74% {
background-color: #a6a6a7;
}
80% {
background-color: #a6a6a7;
}
82% {
background-color: #918e6e;
}
88% {
background-color: #918e6e;
}
90% {
background-color: #ffad00;
}
}
/**
* Text content
*/
figure img {
max-width: 100%;
}
figure a:hover img,
figure a:focus img,
figure a:active img {
opacity: 0.8;
}
.icon-pad {
padding: 0 4em 1em;
text-align: center;
}
.icon-pad svg {
max-width: 10em;
display: inline-block;
}
p a,
small a {
color: #52a5f8;
border-bottom: 1px solid #52a5f8;
}
p a:hover,
small a:hover,
p a:focus,
small a:focus,
p a:active,
small a:active {
color: #006fdf;
border-bottom-color: #006fdf;
text-decoration: none;
}
p a.btn:hover,
p a.btn:focus,
p a.btn:active {
color: #fff;
}
.text-muted {
color: #878d96 !important;
}
h1, h2, h3, h4 {
font-weight: normal;
}
.h1 {
font-size: 2em;
margin-bottom: 0.5em;
}
.h2 {
font-size: 1.5em;
margin: 0.25em 0 0.5em;
}
p, li, dd {
line-height: 1.3;
}
dd {
margin: 0 0 1.5em;
}
small {
font-size: 0.75em;
}
.text-muted {
color: #878d96 !important;
}
.border-image {
border: 1px solid #000;
}
/**
* View/edit, maps legend
*/
.maps-list {
list-style: none;
padding-left: 17px;
}
.bullet-prefix {
position: relative;
padding: 0rem 0.5rem 0.5rem 1.5rem;
cursor: pointer;
}
.bullet-prefix::before {
display: block;
position: absolute;
left: 0px;
top: 6px;
width: 10px;
height: 10px;
background-color: #7d7d7d;
content: ' ';
transition: background-color 0.2s;
}
.bullet-prefix:hover::before,
.bullet-prefix.toggled-on::before {
background-color: #222;
}
.data-section .h3 {
margin: 0;
}
.data-list {
margin: 0rem 0 1rem;
padding-left: 1.5rem;
}
.data-list a {
color: #555;
}
.data-list a:focus,
.data-list a:active,
.data-list a:hover {
color: #222;
}
.data-list dt,
.data-section label {
margin: 0;
font-size: 0.8333rem;
font-weight: normal;
text-transform: uppercase;
color: #555;
}
.data-list dd,
.data-list input {
margin: 0 0 0.5rem;
line-height: 1.5;
}
.data-list .no-data {
color: #999;
}
.data-legend {
list-style: none;
padding: 0;
}
.data-legend .key {
display: inline-block;
width: 10px;
height: 10px;
overflow: hidden;
}
/**
* Forms
*/
input[type="text"],
input[type="number"],
input[type="email"] {
border-color: #999;
padding: 0.25rem 0.5rem;
border-radius: 0;
}
input[type="number"] {
padding-right: 0.25rem;
}
.form-check {
padding-left: 0;
}
label {
margin: 0.5em 0 0;
}
.buttons-container {
margin-bottom: 0.75rem;
}
form .btn {
margin-top: 1em;
}
.buttons-container.btn-center {
text-align: center;
}
.btn.btn-half {
width: 100%;
margin-bottom: 0.25rem;
}
@media (min-width: 768px) {
.btn.btn-half {
width: 49%;
margin-left: 0;
margin-right: 2%;
}
.btn.btn-half:nth-child(2n) {
margin-right: 0;
}
}
/**
* Colours
*/
.white {
background-color: #fff;
}
.bold-yellow {
background-color: #ffad00;
}
.bright-yellow {
background-color: #f0d106;
}
.pale-yellow {
background-color: #fff021;
}
.bold-orange {
background-color: #eb7905;
}
.pale-orange {
background-color: #ffc04e;
}
.red {
background-color: #e96762;
}
.pastel-pink {
background-color: #e099c1;
}
.pale-pink {
background-color: #ffcde5;
}
.pastel-purple {
background-color: #7d6f94;
}
.blue-grey {
background-color: #6f879c;
}
.bright-green {
background-color: #5ec233;
}
.pastel-green {
background-color: #72b889;
}
.pale-green {
background-color: #73ebaf;
}
.bright-blue {
background-color: #72b2fe;
}
.pale-grey {
background-color: #a6a6a7;
}
.pale-brown {
background-color: #918e6e;
}
/**
* Content
*/
img {
display: inline-block;
max-width: 100%;
}
.offscreen-text {
overflow: hidden;
text-indent: -999px;
}
/**
* Carousel
*/
.carousel {
position: relative;
}
.carousel-control {
display: none;
}
.carousel.active .carousel-control {
display: block;
position: absolute;
top: 0;
bottom: 0;
width: 1.75em;
border: 0;
background-color: #fff;
background-position: center center;
background-size: contain;
background-repeat: no-repeat;
cursor: pointer;
}
.carousel.active .carousel-control:hover,
.carousel.active .carousel-control:active,
.carousel.active .carousel-control:focus {
border: 0;
outline: none;
opacity: 0.6;
}
.carousel button::-moz-focus-inner {
border:0;
}
.carousel-control.next {
right: -1em;
background-image: url('images/arrow-next.png');
}
.carousel-control.back {
left: -1em;
background-image: url('images/arrow-back.png');
}
.carousel-content {
padding: 0;
list-style: none;
}
.carousel-content li {
text-align: center;
}
.carousel.active .carousel-content li {
display: none;
}
.carousel.active .carousel-content li.current {
display: block;
}
/**
* Logos
*/
.logo-list {
text-align: center;
padding: 0;
list-style: none;
}
.logo-list li {
display: inline-block;
width: 8em;
padding: 0 0.25em;
vertical-align: middle;
}
.logo-list li:first-child {
width: 4em;
}
/**
* Data categories
*/
.data-category-list {
padding: 0;
text-align: center;
list-style: none;
margin: 0 -0.75em;
}
.data-category-list li {
display: inline-block;
vertical-align: bottom;
width: 9em;
height: 9em;
margin: 0.375em;
padding: 0.1em;
}
.data-category-list .category {
text-align: center;
font-size: 1.5em;
margin: 1.4em 0 0.5em;
}
.data-category-list .description {
text-align: center;
font-size: 1em;
margin: 0;
}