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
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
69
// 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;
// override exception for finc adv. search home
&.template-name-advanced {
padding-top: 0;
}
// #17913 adjust BARF to adlr design
:focus,
:hover {
outline: none;
}
// override finc 17720
@media (max-width: $screen-xs-max) {
padding-top: unset;
}
}
// HEADINGS
h1,
h2,
h3,
h4,
h5 {
// set headings to UBUNTU MONO
font-family: $font-family-monospace;
}
// ++ h1
h1 {
font-size: em($font-size-title);
font-weight: 700;
letter-spacing: em($letter-spacing-title);
line-height: em(20px);
padding-bottom: 5px;
padding-top: 5px;
// overwrite finc margin-top of 0
&:first-of-type {
margin-top: $line-height-title-lg;
}
@media (max-width: $screen-sm-max) {
padding-top: $line-height-title-sm;
}
@media (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
line-height: em($line-height-title-sm);
}
@media (min-width: $screen-lg-min) {
font-size: em(30px);
line-height: em($line-height-title-lg);
}
}
// ++ h2
h2 {
font-size: em($font-size-title);
font-weight: 700;
letter-spacing: em($letter-spacing-title);
line-height: em($line-height-title);
@media (min-width: $screen-sm-min) and (max-width: $screen-md-max) {
line-height: em($line-height-title-sm);
}
@media (min-width: $screen-lg-min) {
font-size: em($font-size-title-lg);
line-height: em($line-height-title-lg);
}
// ++ h3
h3 {
font-size: em($font-size-title);
font-weight: 700;
line-height: em($font-size-title);
@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: $font-size-title;
}
.sub {
font-size: $font-size-title-sub;
line-height: 1.35em;
}
// ++ 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;
.openurls & {
a {
color: $asphalt;
&:hover {
color: #00359b;
}
}
}
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
// ++ 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 {}
label {
display: inline;
padding-left: 5px;
}
select {
height: 60px;
min-width: 100px;
}
// ++ textarea {}
input,
textarea {
//border-color: $silver;
//border-radius: 5px;
}
form input:invalid,
form textarea:invalid {
// 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;
}
}
// IMAGES
// img {}
// IMAGES - END
// LINKS
a {
&:hover {
text-decoration: none;
}
// #17913 adjust BARF to adlr design
a.exclude {
&:hover,
&:focus {
outline: 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
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
.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
// 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;
}
.btn-primary {
float: right;
font-size: calc(#{$font-size-base} * 1.5);
}

Alexander Purr
committed
&.disabled {
color: $asphalt-dark;
}
// ++ 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;
line-height: 22px;
margin-left: .5em;
margin-top: 4px;
vertical-align: middle;
&.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,
&.collection-UBL-FID-EBC {
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
// #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%;
}
}
}
// fix bug of clicking twice in quickfilter for mobile
#searchbox .dropdown-backdrop {
display: none;
}
// ++ 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;
}
// overwrite finc border definitions input[type="text"]
#searchForm input[type='text'] {
@include default-border($white);
}
// overwrite finc changes of #17720
}
// #17913 adjust BARF to adlr design
input[type='email']:focus,
input[type='email']:hover,
input[type='password']:focus,
input[type='password']:hover {
border-color: $black;
border-width: 3px;
cursor: pointer;
outline: 2px solid $black;
outline-offset: 0;
}
.adv-term-remove:focus,
.adv-term-remove:hover,
.close:focus,
.close:hover {
outline: none;
}
input[type='radio']:focus,
input[type='radio']:hover {
cursor: pointer;
outline: 0;
}
input[type='checkbox']:focus,
input[type='checkbox']:hover,
#searchForm input[type='checkbox'] {
&:hover,
&:focus {
border-color: $azure !important; // override invalid form unset
cursor: pointer;
outline: none;
.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) {
padding-right: 0;
}
@media screen and (max-width: $screen-md-max) {
background: $white;
}
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
// ++++++ 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 {
.language.dropdown {
margin: 0;
}
.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} + 7 * #{$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} + 8 * #{$line-height-submenu} + 9 * #{$navbar-default-padding});
.btn {
font-size: calc(#{$font-size-menu-sm} - 15px);
}
@media screen and (max-width: $screen-xs-max) and (orientation: landscape) {
left: 375px;
top: calc(#{$navbar-header-height} + 10px);
}
@media screen and (min-width: $screen-sm-min) and (max-width: $mobile-navigation-menu-breakpoint) and (orientation: landscape) {
left: 750px;
top: calc(#{$navbar-header-height} + 2 * #{$navbar-default-padding} + 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;
#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} + 8 * #{$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} + 9 * #{$line-height-submenu} + 10 * #{$navbar-default-padding});
@media screen and (max-width: $screen-xs-max) and (orientation: landscape) {
left: 375px;
top: calc(2 * #{$navbar-header-height} - 25px);
}
@media screen and (min-width: $screen-sm-min) and (max-width: $mobile-navigation-menu-breakpoint) and (orientation: landscape) {
left: 750px;
top: calc(#{$navbar-header-height} + 5 * #{$navbar-default-padding} + 5px);
}
.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);
}
.submenu-collapse-wrapper {
top: $navbar-header-height-home-sm;
}
}
}
&.collapse:not(.in) {
.submenu-collapse-wrapper {
background: $white;
height: 0;
padding: 0;
visibility: hidden;
width: 0;
}
}
&.collapse.in,
&.collapsing {
.submenu-collapse-wrapper {
@media (min-width: $mobile-navigation-menu-breakpoint + 1px) {
position: absolute;
}
}
}
}
//// Define header navbar on mobile
.header-menu-collapse.collapsing {
padding: 0;
.submenu-collapse-wrapper {
@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) {
// 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 {
display: block;
@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 {
min-height: 0;
}
}
.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
min-width: em(266px) !important; // FIX for Safari + Android Stock Browser - ATTN! might kill visibility in IE11