/* * Main Stylesheet * * @copyright Copyright (c) 2012 rocksolidthemes.com * @license https://rocksolidthemes.com/agb No free usage allowed */ /* =========================================== * # Index: The structure of this stylesheet * * - Imports (SASS only) * - Fonts * - Basic settings (SASS only) * - Colors (SASS only) * - General styles * - Button styles * - Wrapper Elements * - Elements in order of appearance in HTML * - Content styles * - Sidebar styles * - Form styles * - Content elements * - Slider styles * - Module styles (Search, FAQ, News, Events, Comments) * - Footer styles * - Media queries * - Grid (design + production helper) * ======================================== */ // =========================================== // Imports (Mixins) // ======================================== @import "mixins.scss"; /* =========================================== * Fonts * ======================================== */ @include font-face("RockSolid Icons", font-files("rocksolid-icons.woff", woff, "rocksolid-icons.ttf", truetype, "rocksolid-icons.svg", svg), "rocksolid-icons.eot", normal, normal); @font-face { font-family: "Source Sans Pro"; font-weight: 400; font-style: normal; src: url("../fonts/source-sans-pro-400.woff2") format("woff2"); } @font-face { font-family: "Source Sans Pro"; font-weight: 600; font-style: normal; src: url("../fonts/source-sans-pro-600.woff2") format("woff2"); } @font-face { font-family: "Source Sans Pro"; font-weight: 400; font-style: italic; src: url("../fonts/source-sans-pro-400italic.woff2") format("woff2"); } @font-face { font-family: "Source Sans Pro"; font-weight: 600; font-style: italic; src: url("../fonts/source-sans-pro-600italic.woff2") format("woff2"); } // =========================================== // Basic settings // ======================================== $logo-height: 120px !default; $logo-top: 42px !default; $logo-left: 0 !default; $logo-bottom: 30px !default; $logo-background-color: white !default; $logo-background-transparent: false !default; // Widths $max-width: 1122px !default; // Font $font-family: "Source Sans Pro", sans-serif !default; $font-size: 18px !default; $font-size-mobile: 15px !default; $line-height: 1.5 !default; $headline-size-1: 1.8em !default; $headline-size-2: 1.5em !default; $headline-size-3: 1.2em !default; $headline-size-4: 1.1em !default; $headline-size-5: 1em !default; $headline-size-6: 0.9em !default; $fluid-content-images: true !default; $content-image-cols: 7 !default; // responsive break points $breakpoint-desktop: $max-width !default; $breakpoint-tablet: 900px !default; $breakpoint-mobile: 599px !default; $breakpoint-mobile-portrait: 399px !default; // =========================================== // Colors // ======================================== // Colorset $white: white !default; $black: black !default; $light-black: #343434 !default; $grey: #b1b1b1 !default; $dark-grey: #636363 !default; $light-grey: #e8e8e8 !default; $medium-grey: #dedede !default; $ultra-light-grey: #f6f6f6 !default; $blue: #0788ca !default; $dark-blue: #3d566e !default; $green: #7eba28 !default; $red: #de5959 !default; $loud-red: #e52f2f !default; // Content colors $highlight-color: $blue !default; $headline-color: $dark-blue !default; $block-headline-color: $headline-color !default; $highlight-headline-color: $dark-blue !default; $font-color: $light-black !default; $font-color-light: mix($grey, $dark-grey) !default; $footer-color: mix($grey, $dark-grey) !default; $confirmation: $green !default; $information: $blue !default; $warning: $loud-red !default; $selection-color: $dark-blue !default; // Links & Navigation $link-color: $blue !default; $nav-color: $dark-grey !default; $nav-hover-color: $dark-blue !default; $nav-active-color: $dark-grey !default; // Border $border-light: $light-grey !default; $border-medium: $medium-grey !default; // Shadows $shadow-color: $black !default; // Backgrounds $boxed-layout: true !default; $background-image: none !default; $background-repeat: no-repeat !default; $background-position: 50% 0 !default; $background-attachment: scroll !default; $background-size: auto !default; $background-color: $white !default; $main-background: $white !default; $page-background: $white !default; $nav-background-color: $ultra-light-grey !default; // Buttons $button-color: $white !default; $button-background-color: $dark-blue !default; /* =========================================== * General styles * ======================================== */ #{":root"} { #{-(-safe-area-left)}: 0px; #{-(-safe-area-right)}: 0px; #{-(-safe-area-top)}: 0px; #{-(-safe-area-bottom)}: 0px; @supports (padding: calc(constant(safe-area-inset-left, 0px) / 1.5)) { /* Non-standard iOS 11.1 syntax */ #{-(-safe-area-left)}: calc(constant(safe-area-inset-left, 0px) / 1.5); #{-(-safe-area-right)}: calc(constant(safe-area-inset-right, 0px) / 1.5); #{-(-safe-area-top)}: constant(safe-area-inset-top, 0px); #{-(-safe-area-bottom)}: constant(safe-area-inset-bottom, 0px); } @supports (padding: calc(max(0px, env(safe-area-inset-left, 0px) - 14px))) and (padding: calc(max(0px, 1px))) { /* W3C standard and iOS 11.2 syntax */ #{-(-safe-area-left)}: calc(max(0px, env(safe-area-inset-left, 0px) - 14px)); #{-(-safe-area-right)}: calc(max(0px, env(safe-area-inset-right, 0px) - 14px)); #{-(-safe-area-top)}: env(safe-area-inset-top, 0px); #{-(-safe-area-bottom)}: env(safe-area-inset-bottom, 0px); } } html { position: relative; @include box-sizing(border-box); -webkit-tap-highlight-color: $link-color; } body { font: #{$font-size}/#{$line-height} $font-family; color: $font-color; background: $background-color $background-image $background-position $background-repeat $background-attachment; background-size: $background-size; @include mediaquery(mobile) { font-size: $font-size-mobile; } } * { @include box-sizing(inherit); } .rs-columns { clear: both; display: inline-block; vertical-align: top; width: 100%; > h1, > h2, > h3 { @extend %block-headline; } } .rs-column { float: left; width: 100%; margin-top: col(1, 16); margin-right: col(1, 16); &.-large-first { clear: left; } &.-large-last { margin-right: -5px; } &.-large-first-row { margin-top: 0; } @include column-classes(1 / 16, 6, large); .opensauce-fullwidth & { margin-top: col(1, 26); margin-right: col(1, 26); &.-large-last { margin-right: -5px; } &.-large-first-row { margin-top: 0; } @include column-classes(1 / 26, 6, large); } @include mediaquery(tablet) { &, .opensauce-fullwidth & { margin-top: col(1, 16); margin-right: col(1, 16); &.-large-first { clear: none; } &.-large-last { margin-right: col(1, 16); } &.-large-first-row { margin-top: col(1, 16); } &.-medium-first { clear: left; } &.-medium-last { margin-right: -5px; } &.-medium-first-row { margin-top: 0; } @include column-classes(1 / 16, 6, medium); } } @include mediaquery(mobile) { &, .opensauce-fullwidth & { margin-right: col(1, 16); &.-medium-first { clear: none; } &.-medium-last { margin-right: col(1, 16); } &.-medium-first-row { margin-top: col(1, 16); } &.-small-first { clear: left; } &.-small-last { margin-right: -5px; } &.-small-first-row { margin-top: 0; } @include column-classes(1 / 16, 6, small); } } } /* Resetting box model for moo_mediabox and j_colorbox */ #mbCenter, #colorbox { @include box-sizing(content-box); } ::selection { background: $selection-color; color: $main-background; @include text-shadow(none !important); } ::-moz-selection { background: $selection-color; color: $main-background; @include text-shadow(none !important); } button, input, select, textarea { font-family: inherit; } table { width: 100%; border-collapse: collapse; border: 1px solid $border-medium; @include box-shadow(0 0 5px rgba($shadow-color, 0.1)); th, td { border: 1px solid $border-light; } th { padding: em(6) em(10); font-weight: 600; text-align: left; background: rgba($shadow-color, 0.02); } td { padding: em(6) em(10); } } strong, b { font-weight: 600; } a { color: $link-color; text-decoration: none; &:hover, &:focus { text-decoration: underline; } &:hover, &:active { outline: 0; } &.external-link:after { @include icon("\e151", em(13)); margin-left: em(4); } } /* Icon attribute */ *[data-icon] { &:before { @include icon(attr(data-icon)); margin-right: em(4); } &.after { &:before { content: none; } &:after { @include icon(attr(data-icon)); margin-left: em(4); } } } .clear { clear: both; } .invisible { position: absolute; height: 1px !important; width: 1px !important; clip: rect(0 0 0 0); margin: -1px; padding: 0; overflow: hidden; border: 0; } .syndication { margin: em(12) 0 0 em(20); float: right; a { margin-left: em(2); } } .mime_icon { margin-bottom: -0.25em; } .download-element { padding-top: 0; padding-right: 0; padding-bottom: 0; } .ce_toplink, .toplink { margin: em(24) 0; a { display: block; width: 100%; } } .ce_toplink > a:before, .toplink > a:before { @include icon("\e00c"); margin-right: em(5); } /* Style for dlh_googlemaps (if you don't use the plugin, you might want to delete this) */ .dlh_googlemap { @include box-sizing(content-box); } .main-content, .sidebar { .dlh_googlemap { /* Setting the maps max-width to 100% is best practice, since it becomes fluid that way */ max-width: 100%; } } .main-content .dlh_googlemap img { max-width: none; } hr { clear: both; height: 1px; overflow: visible; margin: em(24) 0; border: 0; background: $border-medium; } .confirmation { color: $confirmation; } .information { color: $information; } .warning { color: $warning; } p, div, span { &.confirmation, &.information, &.warning { position: relative; display: block; margin: em(27) 0; padding: em(50) col(1, 16) em(20); border: 1px solid $border-medium; @include border-radius(1.5px); @if lightness($main-background) < 50% { color: lighten($confirmation, 25%); } @else { color: darken($confirmation, 25%); } background: $main-background; @include background-image(linear-gradient(rgba($shadow-color, 0), rgba($shadow-color, 0.02))); @include box-shadow(0 0 5px rgba($shadow-color, 0.1)); &:before { @include icon("\e044", em(14)); position: absolute; top: -1px; right: -1px; left: -1px; padding: em(8, 14) em(20, 14); color: $main-background; text-align: right; background: $confirmation; } } &.information { @if lightness($main-background) < 50% { color: lighten($information, 25%); } @else { color: darken($information, 25%); } &:before { content: "\e0a6"; background: $information; } } &.warning { @if lightness($main-background) < 50% { color: lighten($warning, 25%); } @else { color: darken($warning, 25%); } &:before { content: "\e144"; background: $warning; } } } p.drop-cap:first-letter, span.drop-cap { float: left; margin: em(5, 60) em(6, 60) em(-10, 60) em(-3, 60); font-size: em(60); font-weight: 600; line-height: 0.7; color: $headline-color; } p.drop-cap:first-letter { /* IE8 and IE9 calculate em's from the parent element */ margin: em(5) em(6) em(-10) em(-3) unquote("\0/"); } code { padding: em(2, 14) em(5, 14); font-family: "Lucida Console", monospace; font-size: em(14); @include line-height(19, 14); background-color: $border-light; @include border-radius(3px); } pre { margin: em(24, 14) 0; padding: 0 em(6, 14); display: block; overflow: auto; font-family: "Lucida Console", monospace; font-size: em(14); @include line-height(24, 14); background: $border-light; .hljs, code { font-size: em(14, 14); padding: 0; line-height: inherit; background-color: transparent; } } /* =========================================== * Button styles * ======================================== */ button, .button, input[type="submit"], input[type="reset"], input[type="button"] { position: relative; @include appearance(none); display: inline-block; padding: em(10) em(27); border: 1px solid; border-color: darken($button-background-color, 5%) darken($button-background-color, 10%) darken($button-background-color, 15%); @include border-radius(1.5px); color: $button-color; text-align: center; text-decoration: none; @include text-shadow(1px 1px 0 darken($button-background-color, 10%)); background: $button-background-color; @include background(linear-gradient(lighten($button-background-color, 3%), darken($button-background-color, 3%))); @include box-shadow(0 0 8px rgba($shadow-color, 0.1), inset 1px 1px tint($button-background-color, 30%), inset -1px 0 tint($button-background-color, 30%)); &:hover, &:focus { border-color: darken($button-background-color, 10%) darken($button-background-color, 15%) darken($button-background-color, 20%); @include background-image(linear-gradient(lighten($button-background-color, 6%), darken($button-background-color, 6%))); @include box-shadow(0 0 8px rgba($shadow-color, 0.2), inset 1px 1px tint($button-background-color, 30%), inset -1px 0 tint($button-background-color, 30%)); } &:active { @include background-image(linear-gradient(lighten($button-background-color, 1%), darken($button-background-color, 1%))); @include box-shadow(0 0 8px rgba($shadow-color, 0), inset 1px 1px tint($button-background-color, 30%), inset -1px 0 tint($button-background-color, 30%)); } #colorbox & { /* Fix colorbox close button */ @include box-shadow(none); } } /* =========================================== * Wrapper Elements * ======================================== */ .page { @include clearfix; position: relative; max-width: $max-width; margin: 0 auto; padding-top: var(-(-safe-area-top)); padding-bottom: var(-(-safe-area-bottom)); background: $page-background; @if $boxed-layout { border: solid $border-medium; border-width: 0 1px; @include box-shadow(0 0 5px rgba($shadow-color, 0.2)); } @include mediaquery(desktop) { padding-right: var(-(-safe-area-right)); padding-left: var(-(-safe-area-left)); @if $boxed-layout { border: 0; @include box-shadow(none); } } .opensauce-not-boxed & { @if $boxed-layout { padding-right: 1px; padding-left: 1px; border: 0; @include box-shadow(none); } @include mediaquery(desktop) { @if $boxed-layout { padding-right: var(-(-safe-area-right)); padding-left: var(-(-safe-area-left)); } } } } /* =========================================== * Elements in order of appearance in HTML * ======================================== */ .page-header { position: relative; margin: 0 col(1, 28); @include mediaquery(tablet) { margin-right: col(1, 18); margin-left: col(1, 18); } @include mediaquery(mobile) { @include clearfix; } } .logo { position: absolute; top: -3px; left: -2px; z-index: 99; margin: $logo-top 0 $logo-bottom $logo-left; padding: 2px 10px 10px 2px; font-size: inherit; @if not $logo-background-transparent { background: $logo-background-color; } @include border-radius(3px); @include mediaquery(mobile) { position: static; margin-left: 0; margin-bottom: 12px; padding: 0; } a { display: block; } img { display: block; width: auto; height: $logo-height; @include mediaquery(mobile) { margin: 0 auto; } } } .header-navigation { position: absolute; top: em(14, 12); right: 0; z-index: 1; font-size: em(12); letter-spacing: em(1, 12); color: $link-color; text-transform: uppercase; @include mediaquery(mobile) { position: static; text-align: center; } ul { margin: 0; padding: 0; display: inline; } li { display: inline; &:before { content: " • "; margin: 0 em(2, 12); } &:first-child:before { content: none; } } a { color: inherit; &:hover, &:focus { text-decoration: underline; } } } .tag-line { padding-bottom: em(10); .logo ~ & { min-height: $logo-height + $logo-top + $logo-bottom; @include mediaquery(mobile) { min-height: 0; } } .ce_text { padding: em(65, 16) 0 em(30, 16) col(9, 26); font-size: em(16); color: $font-color-light; @include mediaquery(mobile) { padding: em(16, 16) 0; text-align: center; } p { margin: 0; } blockquote { margin: 0; font-size: em(28, 16); color: $headline-color; } } .image_container { margin: 0; padding: 0; width: auto; border: 0; @include box-shadow(none); background: none; } .ce_image { display: inline-block; width: 100%; } .ce_image img, .rsts-main { clear: both; display: block; width: 100%; height: auto; margin: em(40) 0 em(20); @include mediaquery(mobile) { margin: em(20, 15) 0 em(15, 15); } } .rsts-main { float: left; @include mediaquery(mobile) { float: none; } } } .main-navigation-wrapper { position: relative; clear: both; border: 1px solid $border-medium; background: $nav-background-color; @include background(linear-gradient(lighten($nav-background-color, 2%), darken($nav-background-color, 2%))); @include box-shadow(0 1px 3px rgba($shadow-color, 0.1), inset 0 0 0 1px rgba($main-background, 0.5)); } .main-navigation { /* clearfix */ overflow: hidden; margin-right: em(64); font-size: em(16); font-weight: 600; color: $nav-color; @include mediaquery(tablet) { margin-right: 0; font-size: em(15); } @include mediaquery(mobile) { display: none; } ul, li { margin: 0; padding: 0; display: inline; } a, li > strong, li > span { float: left; padding: em(12, 16) em(22, 16); border-left: 1px solid $border-medium; color: inherit; text-decoration: none; @include box-shadow(inset 1px 0 rgba($main-background, 0.5)); &.trail, &.active { color: $nav-active-color; background: lighten($nav-background-color, 3%); } &.home { overflow: hidden; text-indent: -99em; line-height: 0; &:after { @include icon("\2302", em(12, 16)); @include line-height(24, 12); display: block; } &.trail, &.active { color: inherit; background: none; } } } a:hover, a:focus { color: $nav-hover-color; background: darken($nav-background-color, 3%); } li:first-child { > a, > strong, > span { border-left: 0; } } } .sub-navigation { /* clearfix */ overflow: hidden; padding-bottom: em(10, 16); border: 1px solid $border-medium; border-top: 0; @include border-radius(0 0 4px 4px); font-size: em(16); color: $nav-color; @include box-shadow(0 1px 3px rgba($shadow-color, 0.1)); @include mediaquery(tablet) { font-size: em(14); } @include mediaquery(mobile) { display: none; } ul, li { margin: 0; padding: 0; display: inline; } a, li > strong, li > span { float: left; margin: 0 em(-10, 16) em(-10, 16) em(10, 16); padding: em(12, 16) em(10, 16); color: inherit; @include box-shadow(inset -1px 0 rgba($main-background, 0.5)); &.trail, &.active { font-weight: 600; color: $nav-active-color; background: lighten($nav-background-color, 2%); } } } .main-navigation-mobile { /* Hide mobile navigation