]> git.ipfire.org Git - ipfire.org.git/blobdiff - src/scss/style.scss
CSS: Make footer sticky but with variable height
[ipfire.org.git] / src / scss / style.scss
index 3d482c6e0516402bf7910ed6351d588f94255a97..6a5fe07f542602304a0f35dce1600091466fa26f 100644 (file)
 @import "../bootstrap/scss/media";
 @import "../bootstrap/scss/list-group";
 @import "../bootstrap/scss/close";
+@import "../bootstrap/scss/modal";
 @import "../bootstrap/scss/utilities";
 @import "../bootstrap/scss/print";
 
-// Donation Box
-@import "_donation";
+// Include fonts
+@import "fonts";
 
 // Custom stuff
 @import '_icons';
 
-body {
-       // For scrollspy
-       position: relative;
-
-       min-height: 75rem;
-       padding-top: 6rem;
+// Makes everything white with dark text on it
+.inverse {
+       background-color: $body-color;
+       color: $body-bg;
 }
 
-// Buttons
-.btn {
-       text-transform: uppercase;
-}
-
-// Headings
-
-h1 {
-       line-height: 4rem;
-}
-
-h2 {
-       line-height: 3.5rem;
-}
-
-h3 {
-       line-height: 3rem;
+html, body {
+       height: 100%;
 }
 
-h4 {
-       line-height: 2.75rem;
+body {
+       display: flex;
+       flex-flow: column;
 }
 
-h5 {
-       line-height: 2rem;
+// Buttons
+.btn {
+       text-transform: uppercase;
 }
 
-h6 {
-       line-height: 1.75rem;
+@each $color, $value in $theme-colors {
+       .btn-glow-#{$color} {
+               color: white;
+               background-color: rgba($value, .15);
+       }
 }
 
 .card {
-       box-shadow: $shadow-1;
+       @extend .inverse;
 }
 
 .nav {
        .nav-link {
-               color: $blue-grey-900;
+               color: $white;
 
                &.active {
                        color: $link-color;
@@ -91,25 +80,66 @@ h6 {
 }
 
 .navbar {
-       &.scrolled {
-               background-color: white;
-               box-shadow: $shadow-2;
+       background-color: rgba($gray-400, .06);
 
-               transition: background-color 200ms linear;
+       .navbar-brand {
+               color: inherit;
+       }
+
+       .navbar-nav {
+               .nav-link {
+                       color: inherit;
+
+                       &.active {
+                               border-bottom: 2px solid $link-color;
+                       }
+               }
        }
 }
 
 footer {
-       .btn-toolbar .icon {
-               height: 2.25rem;
-               width: 2.25rem;
-               fill: rgba($blue-grey-900, .6);
+       margin-top: auto;
+       padding: 3rem 0 0 0;
+
+       @include media-breakpoint-down(md) {
+               padding-top: 31px;
        }
-       .i_heart {
-               vertical-align: top;
-               transform: translateY(-.15rem);
-               @include media-breakpoint-down(sm) {
-                       transform: translateY(-.75rem);
+
+       h4 {
+               margin-bottom: 1.25rem;
+               color: rgba($gray-400, .6);
+               font-size: 20px;
+               line-height: 28px;
+       }
+
+       ul {
+               li {
+                       font-size: 14px;
+                       margin-bottom: .75rem;
+
+                       a {
+                               color: rgba($gray-400, .6);
+                               text-decoration: none;
+                               &:hover {
+                                       color: $gray-400;
+                                       text-decoration: underline;
+                               }
+                       }
+               }
+       }
+
+       .btn-lg {
+               margin-bottom: 2.75rem;
+       }
+
+       .copyright {
+               background-color: rgba($gray-400, .06);
+               padding: $spacer 0;
+
+               font-size: $small-font-size;
+
+               a {
+                       color: $text-muted;
                }
        }
 }
@@ -117,94 +147,82 @@ footer {
 // Sections
 
 .main {
+       .intro {
+               min-height: 100%;
+               min-height: 100vh;
+
+               margin-top: -6rem;
+
+               @include media-breakpoint-down(sm) {
+                       padding-top: 6rem;
+               }
+
+               display: flex;
+               align-items: center;
+       }
+
        section {
                padding: 3rem 0;
 
                @include media-breakpoint-up(sm) {
                        padding: 72px 0;
                }
-
-               h1 {
-                       margin-bottom: 64px;
-               }
        }
+}
 
-       section.intro {
-               // Make it cover the navbar, too
-               margin-top: -6rem;
-               padding-top: 6rem;
-
-               min-height: 100vh;
-               background-image: url('img/header-background.jpg');
-               background-size: cover;
-               background-attachment: fixed;
-               background-position: center top;
-               position: relative;
-
-               .branding {
-                       margin-top: 7.5rem;
-                       margin-bottom: 4rem;
-
-                       @include media-breakpoint-down(xs) {
-                               margin-top: 2.5rem;
+.blog-post {
+       .blog-header {
+               h5 {
+                       a {
+                               color: $dark;
                        }
+               }
+       }
 
-                       text-align: center;
+       .blog-content {
+               h1, h2, h3, h4, h5, h6 {
+                       font-size: 1.375rem;
+                       font-weight: $headings-font-weight;
+                       line-height: $headings-line-height;
+                       margin-bottom: 0.25rem;
+               }
 
-                       h1 {
-                               margin-bottom: 0;
+               img {
+                       @include img-fluid;
+               }
+       }
 
-                               @include media-breakpoint-down(xs) {
-                                       font-size: 72px;
-                                       line-height: 88px;
+       &.lightning-wire-labs {
+               .blog-header {
+                       h5 {
+                               a {
+                                       color: $lwl;
                                }
                        }
 
-                       h1:before {
-                               content: "";
-                               height: 60px;
-                               width: 76px;
-                               background-image: url('img/ipfire-tux.png');
-                               background-repeat: no-repeat;
-                               background-position: center center;
-                               background-size: contain;
-                               display: inline-block;
-                               position: relative;
-                               top: 4px;
-
-                               @include media-breakpoint-up(sm) {
-                                       height: 120px;
-                                       width: 93px;
-                                       margin-right: 32px;
-                                       top: 8px;
-                               }
+                       a {
+                               color: $lwl;
                        }
+               }
 
-                       h5 {
-                               color: $blue-grey-600;
-
-                               @include media-breakpoint-down(xs) {
-                                       font-size: 14px;
-                                       line-height: 20px;
-                               }
+               .blog-content {
+                       a {
+                               color: $lwl;
                        }
                }
        }
+}
 
-       section#news, section#support, footer {
-               background-color: rgba($blue-grey-900, .06);
-       }
+// Donations
 
-       section#news {
-               color: rgba($blue-grey-900, .6);
-       }
-
-       section#fireinfo {
-               border-bottom: 1px solid rgba($blue-grey-900, .2);
-       }
+.donation-explanation {
+       color: $text-muted;
+       padding: 1.5rem;
 
-       section#appliances {
-               padding-bottom: 48px;
+       .faq {
+               a {
+                       color: inherit;
+               }
        }
 }
 
@@ -214,27 +232,6 @@ footer {
        position: fixed;
 }
 
-.page-scroll {
-       display: block;
-       visibility: visible;
-       position: absolute;
-       bottom: 48px;
-       left: 50%;
-       transform: translateX(-50%);
-       .btn {
-               width: 36px;
-               height: 36px;
-               fill: $red_900;
-               @include media-breakpoint-up(sm) {
-                       width: 64px;
-                       height: 64px;
-               }
-               &:hover .i_arrow_down {
-                       fill: white;
-               }
-       }
-}
-
 .feature_icons {
        width: 40px;
        height: 100%;
@@ -249,88 +246,24 @@ footer {
 .circle {
        position: relative;
        p.fireinfo_per {
-               color: $blue-grey-600;
+               color: $gray-800;
                position: absolute;
                top: calc(50% - 18px);
                width: 100%;
        }
 }
 
-.fixed-top + .blog-content {
-       padding-top: 88px;
-       margin-bottom: 40px;
-       @include media-breakpoint-up(lg) {
-               padding-top: 161px;
-       }
-       .content {
-               background: white;
-               border-radius: 4px;
-               box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
-               padding: 40px 24px;
-               position: relative;
-       }
-}
-
-.blog-content {
-       margin-bottom: 80px;
-}
-
 .divider {
        width: 128px;
        height: 4px;
        border-radius: 2px;
-       background-image: linear-gradient(to right, $red-900, $orange-a400);
+       background-image: linear-gradient(to right, $red, $gray-400);
        margin: 40px auto 24px auto;
        @include media-breakpoint-up(sm) {
                margin: 56px auto 40px auto;
        }
 }
 
-footer {
-       padding: 3rem 0 0 0;
-       @include media-breakpoint-down(md) {
-               padding-top: 31px;
-       }
-       h4 {
-               margin-bottom: 1.25rem;
-               color: rgba($blue-grey-900, .6);
-               font-size: 20px;
-               line-height: 28px;
-       }
-       ul {
-               li {
-                       font-size: 14px;
-                       margin-bottom: .75rem;
-                       a {
-                               color: rgba($blue-grey-900, .6);
-                               text-decoration: none;
-                               &:hover {
-                                       color: $blue-grey-900;
-                                       text-decoration: underline;
-                               }
-                       }
-               }
-       }
-       .btn-lg {
-               margin-bottom: 2.75rem;
-       }
-       .btn-sm {
-               box-shadow: none;
-               &:hover {
-                       box-shadow: none;
-               }
-       }
-}
-
-#copyright {
-       background-color: rgba($blue-grey-900, .06);
-       padding: 1rem 0;
-       p {
-               font-size: 12px;
-               line-height: 16px;
-       }
-}
-
 // Animation
 @keyframes scroll {
   0%, 100%   { transform: translateY(30%); }