Newer
Older
// Create a compiled.SCSS file for all sub-themes
// which imports the respective parent theme's compiled.scss
// in the cascade AND extends it. This way we ALWAYS have an UP-TO-DATE compiled.CSS imported
// which includes all finc styles plus all subsequent customizations.
// [I.e.: finc's compiled.scss imports bootstrap3/scss/compiled.scss and
// the house-specific branches such as fid_adlr then import finc/scss/compiled.scss
// 0. NOTE TO DEVELOPERS
// Do NOT EDIT compiled.CSS -- all CSS files should be generated from SCSS files
// 1. KEY VARIABLES and MIXINS
// Define or re-define KEY VARIABLES and MIXINS in this file (see 1.1 ff below) OR import your own
@import 'customVariables';
@import 'customMixins';
// 1.1 FONTS
// ++ USE EITHER
// ++ ++ font-size: ($font-size-base * 1.5)
// ++ OR
// ++ ++ use the em-calculator function, like so: font-size: em(14)
// 1.2 DO NOT define site-specific colours in finc's SCSS files
// - this must be done in your site-specific themes
// 2. For Media queries use:
// Extra small screen / phone: '$screen-xs-max' (=767px);
// Small screen / tablet: '$screen-sm-min' (=768px);
// Medium screen / desktop: '$screen-md-min' (=992px) and
// Large screen / wide desktop: '$screen-lg-min' (=1200px);
// The MAXimum ranges are defined as the next higher element minus 1px, so:
// '$screen-xs-max' = $screen-sm-min - 1 etc
// you can use '$screen-xs-max', '$screen-sm-max' and '$screen-md-max'
// 3. Import finc's compiled.scss to have the variables and mixins defined above applied to it
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// 4. Customize further -- pls. comment and explain
// PLEASE ORGANIZE YOUR CSS ACCORDING TO THIS GENERAL RULE - keep exceptions to a minimum
// *, html, body
// h1, h2, h3, h4, h5, h6,
// p,
// address, blockquote, pre,
// ul, ol, li, dl, dt, dd,
// table, caption, tr, th, td,
// form, fieldset, legend, label, select, input, textarea,
// div,
// img,
// a,
// strong, em, abbr, q, cite, code, kbd, var,
// span,
// #id,
// .class
// Frequently used classes
// Custom areas of the theme
// IDs and classes come last and should (if possible) be ordered according
// to their appearance on the page, e.g. header, breadcrumbs, main ...
// Please sort selectors alphabetically, like so
// .foo {
// border: 1px solid red;
// margin-left: 1em;
// padding: 0 ($grid-gutter-width / 2);
// width: auto;
// }
//
// HTML
// BODY
body {
background-color: $white;
// set default font to OPEN SANS
font-family: $font-family-sans-serif;
// give central position
margin: 0 auto;
// Make sure, outer container doesn't spill over max designed content width
max-width: $max-designed-body-width;
}
// HEADINGS
h1,
h2,
h3,
h4,
h5 {
// set headings to UBUNTU MONO
font-family: $font-family-monospace;
}
// ++ h1
h1 {
font-size: em(63px);
font-weight: 700;
letter-spacing: em(4.2px);
line-height: em(69px);
}
// ++ h2
h2 {
font-size: em(30px);
font-weight: 700;
letter-spacing: em(2.87px);
line-height: em(30px);
@media (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
font-size: em(30px);
line-height: em(30px);
}
@media (min-width: $screen-lg-min) {
line-height: em(50px);
}
}
// ++ h3
h3 {
font-size: em(24px);
font-weight: 700;
line-height: em(24px);
@media (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
font-size: em(28px);
line-height: em(28px);
}
@media (min-width: $screen-lg-min) {
font-size: em(32px);
line-height: em(30px);
}
.title-toolbar & {
font-size: 24px;
}
}
// ++ h4
h4 {
font-size: em(24px);
font-weight: 700;
letter-spacing: em(1px);
text-transform: uppercase;
}
// ++ h5
h5 {
font-size: em(18px);
font-weight: 700;
letter-spacing: em(2px);
text-transform: uppercase;
}
// HEADINGS - END
// Paragraphs
// ++ p {}
// Paragraphs - END
// LISTS
// ++ ul,
ul {
list-style-type: none;
padding-left: 0;
li {
color: $asphalt;
}
}
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
// ++ ol {}
// ++ li {}
// ++ dl {}
// ++ dt {}
// ++ dd {}
// LISTS - END
// TABLES
table {
border: 0;
margin-top: 20px;
width: 100%;
}
// ++ caption {}
// ++ tr {}
// ++ th {}
// ++ td {}
// TABLES - END
// FORMS
// ++ Fieldsets
// ++ Legend elements
// ++ label {}
// ++ input {}
// ++ Select {}
select {
height: 60px;
min-width: 100px;
}
// ++ textarea {}
input,
textarea {
//border-color: $silver;
//border-radius: 5px;
}
form input:invalid, form textarea:invalid {
margin-right: 0;
}
// FIXME -- ggf. UEBERFLUESSIGE HELPER-Klassen ENTFERNEN -- auch phtml-Templates prüfen
.hidden-lg-only {
@media (min-width: $screen-lg-min) and (max-width: $screen-lg-max) {
display: none !important;
}
}
.hidden-sm-lg {
@media (min-width: $screen-sm-min) and (max-width: $screen-lg-max) {
display: none !important;
}
}
.hidden-xl {
@media (min-width: $screen-xl-min) {
display: none !important;
}
}
.margin-btm {
margin-bottom: 85px;
}
// FORMS - END
// IMAGES
// img {}
// IMAGES - END
// LINKS
a {
&:hover {
text-decoration: none;
}
}
// LINKS - END
// TEXT DECORATION
// strong {}
// em {}
// TEXT DECORATION - END
// Sizing
.flex-box-20 {
flex-basis: $pagination-flexbox-basis-20-percent;
}
.flex-box-40 {
flex-basis: calc(2 * #{$pagination-flexbox-basis-20-percent});
}
.flex-box-60 {
flex-basis: calc(3 * #{$pagination-flexbox-basis-20-percent});
}
.flex-box-80 {
flex-basis: calc(4 * #{$pagination-flexbox-basis-20-percent});
}
.flex-column-default {
display: -webkit-flex;
-webkit-flex-direction: column;
display: flex;
flex-direction: column;
}
.flex-column-reverse {
display: -webkit-flex;
-webkit-flex-direction: column-reverse;
display: flex;
flex-direction: column-reverse;
}
// CLASSES (Elements that are used in several places)
// ++ HELPER Classes
.large-text {
font-size: em(24px);
line-height: em(45px);
&.light {
color: $asphalt;
}
}
.small-text {
color: $asphalt;
font-size: em(16px);
}
// FIXME: Check for more elegant way to apply colors
// FIXME -- UEBERFLUESSIGE HELPER-Klassen ENTFERNEN -- auch phtml-Templates prüfen -- die meisten Farben sollten korrekt ueber BS definierbar sein (primary, secondary ...) -- siehe customVariables.scss
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
.error-color {
color: $brand-danger;
}
.highlighter-color {
color: $violet;
}
.primary {
color: $azure;
}
.secondary {
color: $seafoam;
}
.warning-color {
color: $amber;
}
.white {
color: $white;
}
// ++ HELPER Classes - END
// ++ ALERTS
.alert-danger {
background: $amber;
border: $amber;
color: $black;
&:hover {
color: $black;
}
}
.alert-info, .savedLists.alert.alert-info, .alert-success {
border: 3px solid $asphalt-dark;
border-radius: 0;
color: $state-info-text;
&:hover,
&:focus {
color: $state-info-text;
}
a {
color: $state-info-text;
}
}
// ++ ALERTS - END
// ++ BUTTONS
.btn-lg {
@include large-btn;
.btn-default:hover, .btn-default:focus, .search-filter-toggle:focus, .search-filter-toggle:hover {
background-color: $white;
border-color: $iron;
outline: none;
}
.btn-primary {
.btn-link {
@include main-link;
}
.btn-getitbox {
@include result-list-btn-getitbox;
// ++ BUTTONS - END
// ICONS
.icon {
min-width: 30px;
vertical-align: bottom;
@media screen and (max-width: $screen-md-max) {
font-size: $font-size-h3;
font-weight: 500;
min-width: 35px;
}
&.icon-settings {
font-size: $font-size-large;
}
.btn-primary {
float: right;
font-size: calc(#{$font-size-base} * 1.5);
}
// ++ BRANDING (branding for origin source ids / specific facets and mega_collections etc.)
// see SID103 in finc compiled.scss
.branding {
color: transparent;
display: none;
font-size: 16px;
font-weight: 700;
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
line-height: 22px;
margin-left: .5em;
margin-top: 4px;
vertical-align: middle;
&.SID48 {
// #16177 adapt the postioning of the WISO logo
margin-top: 13px;
}
&.SID51 {
// #16177 adapt the path to get the new releases logo
// background: url('../../fid_adlr/images/branding/new-item-vub3.png') 0 0 no-repeat;
background: $midnight-light;
color: $azure;
display: inline-block;
}
&.SID76 {
// #16177 adapt the path to get the "adlr ebooks" logo
// FIXME set correct logo
background: $midnight-light;
color: $azure;
display: inline-block;
}
&.SID78 {
// #16177 adapt the path to get the IZI database logo
background: url('../../fid_adlr/images/branding/izi-database.png') 0 0 no-repeat;
background-size: 100%;
display: inline-block;
height: em(40px);
margin-top: 12px;
width: em(150px);
}
&.SID103 {
// #16177 adapt the path to get the Margaret-Herrick-Library logo
background: url('../../fid_adlr/images/branding/herrick-library.png') 0 0 no-repeat;
background-size: 100%;
display: inline-block;
height: 27px;
margin-top: 7px;
width: 230px;
}
&.facet-free {
// #16177 adapt the path to get the Open Access logo
// background: url('../../fid_adlr/images/branding/open-access-logo.svg') 0 0 no-repeat;
background: $midnight-light;
color: $azure;
display: inline-block;
}
&.collection-verbundkatalog-film {
// #16177 adapt the path to get the verbundkatalog film logo
// background: url('../../fid_adlr/images/branding/verbundkatalog-film.png') 0 0 no-repeat;
background: $midnight-light;
color: $azure;
display: inline-block;
}
}
// ++ BRANDING - END
.dropdown-menu {
@include basic-dropdown-menu;
}
.dropdown-menu-parent {
// needed for nested dropdown - hack for js of bootstrap 3
@extend .dropdown-menu;
@media screen and (max-width: $screen-xs-max) {
width: 100%;
// FIXME; Pruefen, ob form-control einfach aus dem phtml-Template entfernt werden könnte
.searchForm,
.searchForm .form-control {
max-width: $screen-md-max;
width: 100%;
}
}
}
// ++ DROPDOWNS - END
// ++ MODALS
// ++ MODALS - END
// PAGE ELEMENTS (Top --> Down) ++
// ++ HEADER
// ++++ Header width reset.
header {
background-position: right top;
background-repeat: no-repeat;
&.collapse:not(.in),
&.collapsing {
}
@media screen and (max-width: $screen-xs-max) {
margin-bottom: $content-bottom-padding;
}
@media screen and (max-width: $screen-md-max) {
&.collapse:not(.in),
&.collapsing {
min-height: $navbar-header-height;
}
}
@media screen and (min-width: $screen-lg-min) {
background-image: url('../images/header-bg-lg.png');
}
}
header,
.navbar,
.breadcrumbs {
background-color: transparent;
// FIXME: REMOVE, when 15639 has been merged to finc
width: auto;
// override finc display block
// Fixme: Bitte in den "allgemeinen" Block verschieben, also, wo body, dropdown usw. definiert werden
.collapse.in {
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: -webkit-box;
display: inline-flex;
}
.collapsing, &.collapsing {
transition-duration: $transition-duration !important;
transition: unset !important;
}
}
// Fixme: Muss nicht geschachtelt werden, es gibt sie nur einmal
.menubar {
@include noselect;
box-sizing: border-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: -webkit-box;
display: inline-flex;
justify-content: flex-end;
padding-right: 10px;
width: 100%;
z-index: z-index(menubar, 0);
@media screen and (max-width: $screen-xs-max) {
background: $white;
padding-right: 0;
}
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
// ++++++ disable transitions for menu
.collapsed,
&.collapsed {
transition: none !important;
transition-delay: $transition-delay !important;
transition-duration: $transition-duration !important;
}
.collapsing,
&.collapsing {
background: transparent;
height: auto !important;
transition: none !important;
transition-delay: $transition-delay !important;
transition-duration: $transition-duration !important;
}
.collapse,
&.collapse {
transition: none !important;
transition-delay: $transition-delay !important;
transition-duration: $transition-duration !important;
}
.collapse.in,
&.collapse.in {
transition: none !important;
transition-delay: $transition-delay !important;
transition-duration: $transition-duration !important;
}
.fill-flex {
flex-grow: 2;
flex-shrink: 1;
}
}
#language-dropdown {
.dropdown-menu {
@include basic-dropdown-menu;
left: 10px;
min-width: 100px;
@media (max-width: $mobile-navigation-menu-breakpoint) {
@include shift-main-menu-entries-to-navigation-overlay;
@media (max-width: $screen-xs-max) {
top: calc(#{$navbar-header-height} + 6 * #{$line-height-submenu} + #{$content-top-padding});
@media (min-width:$screen-sm-min) and (max-width:$screen-md-max) {
left: calc(#{$logo-max-width} / 2 + #{$navbar-margin-left});
top: calc(#{$navbar-header-height} + 7 * #{$line-height-submenu} + 8 * #{$navbar-default-padding});
.btn {
font-size: calc(#{$font-size-menu-sm} - 15px);
}
@media (min-width: $mobile-navigation-menu-breakpoint + 1px) {
border: 2px solid $asphalt;
left: 0;
letter-spacing: 2.87px;
top: 64px;
li > a {
line-height: $line-height-submenu;
padding: 3px 5px;
text-align: left;
&:hover {
background: initial;
@media (max-width: $mobile-navigation-menu-breakpoint) {
@media (min-width: $mobile-navigation-menu-breakpoint + 1px) {
font-family: $font-family-monospace;
font-size: $font-size-menu-lg;
padding: 0 $navbar-extended-padding;
.menubar #register-menu .navbar-header-link {
@media (max-width: $mobile-navigation-menu-breakpoint) {
@include shift-main-menu-entries-to-navigation-overlay;
@media (max-width: $screen-xs-max) {
top: calc(#{$navbar-header-height} + 7 * #{$line-height-submenu} + #{$content-top-padding});
}
@media (min-width:$screen-sm-min) and (max-width:$screen-md-max) {
font-size: calc(#{$font-size-menu-sm} - 15px);
left: calc(#{$logo-max-width} / 2 + #{$navbar-margin-left});
top: calc(#{$navbar-header-height} + 8 * #{$line-height-submenu} + 9 * #{$navbar-default-padding});
.header-menu-collapse {
@extend .navbar-header;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: -webkit-box;
display: inline-flex;
&#submenu {
position: absolute;
z-index: z-index(navigation-overlay, 0);
}
top: $navbar-header-height-home-sm;
}
}
}
&.collapse:not(.in) {
.submenu-collapse {
background: $white;
height: 0;
padding: 0;
visibility: hidden;
width: 0;
}
}
&.collapse.in,
&.collapsing {
.submenu-collapse {
@include navigation-overlay;
@media (min-width: $mobile-navigation-menu-breakpoint + 1px) {
position: absolute;
}
}
}
}
//// Define header navbar on mobile
.header-menu-collapse.collapsing {
padding: 0;
.submenu-collapse {
@media (max-width: $screen-sm-max) {
background-color: $white;
padding: 0;
}
}
}
//// Display different icons after open or close of submenues
header.collapse.in .menubar .text-close,
.dropdown.sbox-dd:not(.open) .text-close,
.language:not(.open) .icon.icon-chevron-up {
header.collapse:not(.in) .menubar .text-open,
header.collapsing .text-open,
.dropdown.sbox-dd.open .text-open,
.language.open .icon.icon-chevron-down {
#submenuToggler {
@media (min-width: $mobile-navigation-menu-breakpoint + 1px) {
min-width: 100px;
// position of navbar-brand Logo on top left
.navbar-brand {
border: 0;
left: 0;
outline: none;
position: absolute;
top: 31px; // Fixme: mglst Variable nutzen
z-index: z-index(navbar-brand, 1);
@media screen and (max-width: $screen-md-max) {
background-color: $white;
.navbar-toggle {
color: $brand-primary;
// for middle-alignment
padding: 0;
&:not(.collapse) {
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: -webkit-box;
display: inline-flex;
}
}
}
.navbar-header-link {
@extend .navbar-toggle;
z-index: z-index(navbar-header-link, 0);
@media screen and (min-width: $screen-lg-min) {
}
// ++++ Banner, Logo and home link
.banner {
width: 100%;
@media screen and (max-width: $screen-xs-max) {
margin-left: 0;
margin-right: 0;
&.container {
padding-left: 0;
padding-right: 0;
@media screen and (min-width: $screen-lg-min) {
padding-left: $navbar-default-padding;
padding-top: $navbar-default-padding;
}
// Menu toggler position
.navbar-toggle {
padding-left: em(10px);
@media screen and (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
@media screen and (min-width: $screen-lg-min) and (max-width: $screen-lg-max) {
padding-left: em(10px);
}
@media screen and (min-width: $screen-xl-min) {
margin-right: em(6px);
padding-left: em(3px);
}
}
}
}
.navbar-brand {
// DEFINE BG IMAGE
// $screen-xs-max = 767px
// Fallback image IE & Co
background: url('../images/logo.png') no-repeat;
// SVG (modern browsers), linear-gradient used to pick out browsers that support SVG
background: url('../images/logo.svg') no-repeat, linear-gradient(transparent, transparent);
background-size: contain;
color: transparent;
margin-left: calc(#{$navbar-margin-left} - 10px);
max-width: $logo-max-width;
min-height: em(56px); // FIX for Safari + Android Stock Browser
min-width: 180px; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11
z-index: z-index(navbar-brand, 0);
// 768px and up
@media screen and (min-width: $screen-sm-min) {
// Fallback image IE & Co
background: url('../images/logo.png') no-repeat;
// SVG (modern browsers), linear-gradient used to pick out browsers that support SVG
background: url('../images/logo.svg') no-repeat, linear-gradient(transparent, transparent);
background-size: contain;
display: inline-block !important; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11
margin-left: $navbar-margin-left;
}
// 992px and up
@media screen and (min-width: $screen-lg-min) {
// Fallback image IE & Co
background: url('../images/logo.png') no-repeat;
// SVG (modern browsers), linear-gradient used to pick out browsers that support SVG
background: url('../images/logo.svg') no-repeat, linear-gradient(transparent, transparent);
display: inline-block !important; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11
// Collapsed navbar height in fid_adlr = 134px
height: em(134px);
min-height: em(134px); // FIX for Safari + Android Stock Browser
min-width: em(266px) !important; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11
}
// hide home link for non-visually impaired to show logo only
a,
&:hover,
&:focus {
color: transparent;
// ++++ Logo and home link - END
// ++++++ basic default (non start page)
// Fixme: Ueberlegen, ob es klüger wäre, die Startseite als "Ausnahme" zu nehmen. Also den body standardmäßig für alle Seiten zu definieren und nur die Startseite dann extra zu stylen
body:not(.template-name-home) {
@media screen and (max-width: $screen-md-max) {
margin-bottom: calc(#{$navbar-header-height} + #{$search-input-height-fixed} + 35px);
}
.headline, .home-links {
display: none;
}
@media screen and (min-width: $screen-lg-min) {
background-image: url('../images/header-bg-lg-mirror-stretched.png');
background-position: 100% 70%;
height: $default-header-height-lg; // needed for background image effect
// ++++++ Navbar in affix mode
.navbar.affix:not(.search) {
border: 0;
@media screen and (min-width: $screen-lg-min) {
@include default-background-lg;
height: em($navbar-header-height-affix-lg);
// ++++++ Navbar in affix mode - END
.navbar.affix-top {
position: fixed;
}
.search {
// always use fixed search on default sites
@include fixed-navbar-search;
@media screen and (min-width: $screen-lg-min) {
position: relative;
}
.searchbox {
@media screen and (min-width: $screen-sm-min) {
background: $azure;
}
@media screen and (min-width: $screen-lg-min) and (max-width: $screen-lg-min + 50px){
background: transparent;
}
@media screen and (min-width: $screen-lg-min) and (max-width: $screen-lg-max){
width: $search-form-width-affix-lg;
@media screen and (min-width: $screen-xl-min) {
height: 130px;
max-width: $search-form-width-max;
width: $search-form-width-xl;
// search (box) and elements in affix mode - END
// ++++++ basic default - END
// ++++ Start Page
// FIXME: Bitte prüfen, ob es wirklich so komplex sein muss
@media screen and (max-width: $screen-xs-max) {
background-image: url('../images/header-bg-xs.png');
background-position: 100% 0px;
background-size: auto;
}
@media screen and (min-width: $screen-sm-min) {
background-image: url('../images/header-bg-sm.png');
background-position: 100% #{$navbar-header-height-home-sm};
min-height: em($navbar-header-height-home-sm);
@media screen and (min-width: $screen-md-min) {
background-image: url('../images/header-bg-md.png');
}
@media screen and (min-width: $screen-lg-min) {
background-image: url('../images/header-bg-lg.png'),
url('../images/background-shape-left.svg'),
url('../images/background-shape-right.svg');
background-position: 100% -#{$navbar-header-height-home-sm},
center left,
bottom right;
background-repeat: no-repeat;
}
}
header {
.affix-top {
position: relative; // ignore affix header on start page
.menubar {
padding-right: 10px;
@media screen and (max-width: $screen-xs-max) {
padding-right: 0;
}
@media screen and (max-width: $screen-md-max) {