Files
wona.github.com/css/base.scss
2025-06-27 08:10:21 +05:30

995 lines
16 KiB
SCSS

---
---
// ================ VARS ===============//
// Bootstrap vars
$font-color: #333;
$container-lg: 1040px;
$navbar-default-brand-color: #4e4e4e;
$navbar-default-bg: #fff;
$navbar-default-border: none;
// Other vars
$pre-nav-logo-height: 65px;
$home-header-bg-color: #22221f;
$home-header-height: 340px;
$home-header-shadow: 0 0 30px 0px rgba(0,0,0,0.4);
$new-article-img-height: 150px;
$new-article-img-width: 225px;
$new-article-title-color: black;
$new-article-tag-color: #ffd700;
$featured-articles-bg-color: #f7f7f7;
$featured-articles-title-color: #4e4e4e;
$article-cover-img-width: 355px;
$article-cover-img-height: 190px;
$carousel-bg-color: #333;
$carousel-height: 625px;
// Mobile breakpoints
$mobile-breakpoint: 768px;
$small-mobile-breakpoint: 480px;
// =============== /VARS ===============//
@import "bootstrap";
@charset "UTF-8";
// ============== MIXINS ============== //
@mixin transition($transition-property, $transition-time, $method) {
-webkit-transition: $transition-property $transition-time $method;
-moz-transition: $transition-property $transition-time $method;
-ms-transition: $transition-property $transition-time $method;
-o-transition: $transition-property $transition-time $method;
transition: $transition-property $transition-time $method;
}
@mixin box-sizing(){
box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
}
@mixin shadow(){
-webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
-moz-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
-ms-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
-o-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
}
@mixin mobile {
@media (max-width: #{$mobile-breakpoint}) {
@content;
}
}
@mixin small-mobile {
@media (max-width: #{$small-mobile-breakpoint}) {
@content;
}
}
// ============== /MIXINS ============== //
@font-face {
font-family: 'Merriweather';
font-style: normal;
src: local('Merriweather'), local('Merriweather Regular'), url(/fonts/Merriweather-Regular.ttf) format('woff');
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v7/zhcz-_WihjSQC0oHJ9TCYPk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 700;
src: local('Montserrat-Bold'), url(https://fonts.gstatic.com/s/montserrat/v7/IQHow_FEYlDC4Gzy_m8fcoWiMMZ7xLd792ULpGE4W_Y.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
// Base styles with mobile-first approach (very impotant)
html {
overflow-x: hidden;
max-width: 100%;
}
body {
font-size: 13px;
color: $font-color;
background: #fff;
font-family: Lato, Merriweather, Open Sans, sans-serif;
@include box-sizing();
overflow-x: hidden;
max-width: 100%;
@include mobile {
font-size: 14px;
}
@include small-mobile {
font-size: 13px;
}
}
*{
font-family: Lato, Merriweather, Open Sans, sans-serif;
box-sizing: border-box;
}
// Ensure all containers don't overflow
.container, .container-fluid {
max-width: 100%;
overflow-x: hidden;
}
// ================ NAV ================//
.pre-nav, .pre-footer {
height: $pre-nav-logo-height * 1.6;
border-bottom: 1px solid #f3f3f3;
@include mobile {
height: auto;
padding: 15px 0;
text-align: center;
}
.brand {
height: 100%;
padding: $pre-nav-logo-height * .3 0;
@include mobile {
float: none;
display: block;
padding: 10px 0;
}
}
.name-container {
height: $pre-nav-logo-height;
position: relative;
margin-left: 2em;
line-height: 1;
@include mobile {
margin-left: 1em;
height: auto;
}
.name {
position: absolute;
top: 0;
width: 7em;
font-size: 18px;
color: $navbar-default-brand-color;
@include mobile {
position: static;
font-size: 16px;
}
@include small-mobile {
font-size: 14px;
}
}
.desc {
font-size: 22px;
width: 7.3em;
position: absolute;
bottom: 0;
color: #ababab;
@include mobile {
position: static;
font-size: 12px;
margin-top: 5px;
}
@include small-mobile {
font-size: 11px;
}
}
}
.logo {
height: $pre-nav-logo-height;
float: left;
@include mobile {
height: 50px;
}
}
.social {
height: 100%;
padding: $pre-nav-logo-height * .623 0;
font-size: 16px;
font-weight: bold;
color: #ababab;
> * {
margin-left: 1em;
@include mobile {
margin: 0 5px;
}
}
@include mobile {
float: none;
display: block;
padding: 10px 0;
margin-top: 10px;
}
}
}
nav {
width: 100%;
z-index: 200;
border-radius: 0;
.navbar-brand {
display: none;
}
.nav {
width: 100%;
position: relative;
left: -15px;
@include mobile {
left: 0;
}
}
&.affix {
top: 0;
border-bottom: 2px solid #e5e5e5;
.navbar-brand {
display: block;
}
.nav {
width: initial;
&:after {
width: initial;
}
}
}
}
#navbar {
padding: 0;
}
.nav > li {
text-align: center;
display: inline-block;
float: none;
margin-bottom: -100%; // Hack to fix the spacing between header and navbar
@include mobile {
display: block;
margin-bottom: 0;
}
&:first-of-type a {
padding-left: 0;
@include mobile {
padding-left: 15px;
}
}
&:last-of-type a {
padding-right: 0;
@include mobile {
padding-right: 15px;
}
}
}
.navbar-nav {
font-size: 16px;
text-align: justify;
font-weight: bold;
&:after {
width: 100%; /* Ensures justification for single lines */
display: inline-block;
}
@include mobile {
font-size: 14px;
text-align: left;
> li > a {
padding: 10px 15px;
}
}
}
.navbar-collapse {
@include mobile {
border-top: 1px solid #e5e5e5;
margin-top: 10px;
padding-top: 10px;
}
}
// ================ /NAV ================//
// ============= HOME-HEADER ============= //
#header {
font-size: 12px;
@include mobile {
margin-bottom: 20px;
}
.header-row {
position: relative;
height: $home-header-height;
background: $home-header-bg-color;
border-radius: 8px 8px 0 0;
overflow: hidden;
color: white;
box-shadow: $home-header-shadow;
@include mobile {
height: auto;
min-height: 250px;
border-radius: 0;
display: flex;
flex-direction: column;
}
}
.row {
margin-left: 0;
}
.cover-image {
height: $home-header-height;
@include mobile {
height: 200px;
order: 1;
}
}
.cover-details {
padding: 2em 1.5em;
@include mobile {
order: 2;
padding: 20px 15px;
}
}
.cover-link {
text-decoration: none;
}
.cover-title-label:hover, .cover-link:hover {
text-decoration: none;
color: rgb(174, 170, 170);
}
.cover-title-label {
font-size: 14px;
font-weight: bold;
@include mobile {
font-size: 12px;
}
}
.title {
font-size: 24px;
font-weight: bold;
margin-top: 0;
margin-bottom: 20px;
@include mobile {
font-size: 20px;
margin-bottom: 15px;
}
@include small-mobile {
font-size: 18px;
}
}
}
#header.category-header {
font-size: 16px;
.cover-image {
border-radius: 10px;
@include mobile {
height: 150px;
margin-bottom: 15px;
border-radius: 0;
}
}
.title {
margin-bottom: 0;
}
.date {
font-size: 12px;
font-weight: bold;
font-style: italic;
color: #e7ce00;
}
}
.red-strip {
height: 0px;
width: 90px;
border-bottom: 8px solid red;
}
.cover-excerpt {
margin-top: 12px;
@include mobile {
font-size: 13px;
line-height: 1.4;
}
}
// ============= /HOME-HEADER ============= //
// ============= NEW-ARTICLES ============ //
#new-articles {
color: white;
margin-bottom: 60px;
position: relative;
@include mobile {
margin-bottom: 30px;
}
.container-title {
position: absolute;
top: -2.25em;
left: -.5em;
z-index: 10;
color: #252525;
background: #fafafa;
font-size: 14px;
padding: 0.35em 2.35em;
box-shadow: $home-header-shadow;
border-radius: 0.4em;
}
.article-col {
padding: 0 5px;
&:first-of-type {
padding-left: 0;
}
&:last-of-type {
padding-right: 0;
}
}
.article {
position: relative;
height: 340px;
margin-top: 10px;
box-shadow: $home-header-shadow;
}
.details {
position: absolute;
bottom: 0;
padding: 1.5em 1.5em .25em;
}
a:hover {
color: #ddd;
}
.row:last-of-type {
.article-col:first-of-type .article {
overflow: hidden;
border-radius: 0px 0px 0px 10px;
}
.article-col:last-of-type .article {
overflow: hidden;
border-radius: 0px 0px 10px 0px;
}
}
}
.details {
width: 100%;
font-size: 12px;
.title {
text-transform: capitalize;
font-size: 20px;
margin: 0;
}
.tag {
margin-bottom: 5px;
text-transform: uppercase;
color: $new-article-tag-color;
}
.head {
width: 100%;
position: relative;
}
.date {
position: absolute;
right: 0;
bottom: 0;
font-style: italic;
}
}
#related-articles {
z-index: 10;
.article:hover {
.img-container {
width: $new-article-img-width * 1.1;
height: $new-article-img-height * 1.1;
}
}
.cover-container-container {
width: $new-article-img-width * 1.1;
height: $new-article-img-height * 1.1;
}
.img-container {
width: $new-article-img-width;
height: $new-article-img-height;
border-radius: 1%;
box-shadow: 0 0 15px 0 rgba(0,0,0, 0.4);
}
.details:hover ~ .cover-container-container {
& > .img-container {
width: $new-article-img-width * 1.1;
height: $new-article-img-height * 1.1;
}
}
.details {
margin: 10 auto;
font-weight: bold;
.title {
color: $new-article-title-color;
text-transform: capitalize;
font-family: 'Montserrat', sans-serif;
font-size: 20px;
margin-top: 5px;
}
.tag {
margin-top: 5px;
text-transform: uppercase;
font-size: 14px;
color: $new-article-tag-color;
}
}
}
// ============ /NEW-ARTICLES ============ //
// ========== FEATURED-ARTICLE =========== //
#featured-articles-container {
padding-top: 20px;
padding-bottom: 10px;
border-top: 1px solid #ededed;
border-bottom: 1px solid #ededed;
}
.article-horiozntal {
height: 10em;
margin-bottom: 3.5em;
margin-left: 0;
.title {
font-size: 19px;
}
.tag {
font-size: 15px;
}
.excerpt {
font-size: 14px;
}
.img-container {
padding-left: 0;
}
}
// ========= /FEATURED-ARTICLES ========== //
// ================ VIDEO ================ //
#yt-videos-container {
padding-top: 20px;
}
.video-container {
height: 400px;
}
.video-caption {
text-align: center;
.caption {
margin-top: 0;
font-size: 28px;
}
}
.video-list {
list-style: none;
}
.list-video {
height: 100px;
margin-bottom: 15px;
.caption {
height: 100%;
}
}
// =============== /VIDEO ================ //
// ============== COMPONENTS ============== //
.center-vertical {
position: absolute;
-ms-transform: translateY(50%);
-webkit-transform: translateY(50%);
transform: translateY(50%);
bottom: 50%;
}
.center-horizontal {
-ms-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
left: 50%;
}
.center-both {
position: absolute;
-ms-transform: translate(-50%, 50%);
-webkit-transform: translate(-50%, 50%);
transform: translate(-50%, 50%);
left: 50%;
bottom: 50%;
}
.center-fill-container {
position: relative;
margin: 0 auto;
overflow: hidden;
}
.img-center-fill {
position: absolute;
width: 100%;
&.wide {
height: 100%;
width: auto;
}
&.tall {
width: 100%;
}
}
.tinted {
background: black;
img {
opacity: 0.6;
}
}
.img-container {
height: 100%;
overflow: hidden;
}
.container-title {
font-size: 24px;
font-weight: bold;
color: $featured-articles-title-color;
margin-top: 22px;
margin-bottom: 22px;
}
.outer-row {
margin: 0;
}
a {
color: inherit;
text-decoration: none;
@include transition(all, 0.2s, ease-in);
&:hover{
color: darken($font-color, 10%);
text-decoration: none;
@include transition(all, 0.2s, ease-in);
}
&.hover-underline {
position: relative;
&:before {
content: " ";
position: absolute;
width: 100%;
height: 2px;
bottom: 0;
left: 0;
background-color: #fff;
visibility: hidden;
-webkit-transform: scaleX(0);
transform: scaleX(0);
-webkit-transition: all 0.3s ease-in-out 0s;
transition: all 0.3s ease-in-out 0s;
}
&:hover:before {
visibility: visible;
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
}
}
blockquote {
border-left: 5px solid #e74c3c;
padding-left: 10px;
font-style: italic;
}
// ============== /COMPONENETS ============== //
// ============== POST ============== //
.post {
font-size: 1.2em;
line-height: 1.5em;
color: #333332;
.header {
border-bottom: 4px solid #e7ce00;
font-weight: bold;
padding-bottom: 30px;
}
.body {
padding-top: 4em;
}
.cover-img {
height: 25em;
margin-bottom: 3em;
}
p img {
display: block;
margin: auto;
max-width: 100%;
padding: 5px 0px;
}
.justify {
text-align: justify;
}
.fb-content {
margin-top: 40px;
}
.fb-like {
margin-bottom: 30px;
}
}
.header {
.tag {
text-transform: uppercase;
color: #e7ce00;
font-size: 16px;
}
.title {
font-size: 24px;
color: #333333;
}
.date {
color: #8b8b8b;
font-size: 12px;
}
.author {
font-size: 14px;
color: #8b8b8b;
margin-bottom: -25px;
}
}
// ============== /POST ============== //
// ========= RELATED-ARTICLES ======== //
#more-articles-container {
margin-top: 35px;
margin-bottom: 40px;
border-top: 1px solid #ededed;
padding-top: 15px;
.head-wrapper {
position: relative;
}
.view-all {
font-family: Merriweather;
font-style: italic;
color: #ababab;
font-size: 16px;
position: absolute;
right: 0;
top: 0;
}
}
#more-articles {
color: white;
.article {
height: 155px;
position: relative;
}
.details {
position: absolute;
width: 100%;
bottom: 0;
padding: 1.5em;
}
.title {
font-size: 16px;
}
.date {
position: static;
}
}
// ========= /RELATED-ARTICLES ======= //
// ============== FOOTER ============== //
footer {
position: relative;
background: #f3f3f3;
color: #b8b8b8;
margin-top: 20px;
padding-top: 22px;
border-top: 1px solid #c5c5c5;
a:hover {
color: #ddd;
}
}
.copyright {
border-top: 1px solid #d9d9d9;
padding-top: 10px;
padding-bottom: 20px;
}
// ============== /FOOTER ============== //
// ============== CATEGORY-POSTS ===========//
.category-posts {
margin-top: 20px;
.tag {
display: none;
}
.date {
display: block;
position: static;
color: #d1d1d1;
}
.excerpt {
margin-top: 10px;
}
}
// ============= /CATEGORY-POSTS ===========//
// ============== TEAM ============== //
.team {
background: white;
padding: 10px 50px;
@include shadow();
font-size: 1.1em;
line-height: 1.5em;
color: #333332;
text-align: center;
font-size: 0.9em;
h1, h3, h4, h5, h6 {
margin: 0px;
font-weight: 500;
}
.person {
margin-bottom: 20px;
}
}
// ============== TEAM ============== //
.img {
padding: 10px 0px 10px 10px;
&.right img{
float: right;
width: 300px;
}
&.left img{
float: left;
width: 300px;
}
&.center {
text-align: center;
}
}
// ============== ABOUT ============== //
.about {
h4 {
line-height:125%;
}
font-size: 1.2em;
}