diff --git a/.gitignore b/.gitignore index 1f5e6b282..f2bc9af13 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,2 @@ -primo-explore/custom/ -primo-explore/tmp/ - -!primo-explore/custom/.gitignore -!primo-explore/tmp/.gitignore - -.idea/ +.idea/ package-lock.json \ No newline at end of file diff --git a/LICENSE b/LICENSE index d097cf4e8..bd5604468 100644 --- a/LICENSE +++ b/LICENSE @@ -1,29 +1,29 @@ -BSD 3-Clause License - -Copyright (c) 2019, Ex Libris, Ltd. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +BSD 3-Clause License + +Copyright (c) 2019, Ex Libris, Ltd. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md index 5f7f2b826..0d82530d9 100644 --- a/README.md +++ b/README.md @@ -1,128 +1,128 @@ - - - -# The Primo New UI Customization Workflow Development Environment - - -## Structure - -- gulp directory : holds the various build scripts for the environment and the config.js configuration file in which your target proxy-server must be defined. - -- node_modules directory : holds the various third-party modules that are required to run the system. These modules are defined in the package.json file. - -- packages directory : once your development package is ready you will be able to build it using the `gulp create-package` command that will create the zipped package file you define in this folder - -- primo-explore directory : consists of 2 directories : - 1. custom : - where you will place your customization packages - 2. tmp : just a place to hold some of your temporary files - -## Overview - -The development package allows you to configure the following page components (follow the links for details): - -- [CSS](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/css "css documentation") - -- [HTML](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/html "html documentation") - -- [Images](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/img "images documentation") - -- [JavaScript](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/js "javascript documentation") - -For each configuration-type, or for every different Primo View, there should be a specified folder named after the View (which adheres to the established directory structure) in the `primo-explore/custom` package folder. - -This custom View folder can be downloaded from your Primo Back Office, by following `Primo Home > Primo Utilities > UI customization Package Manager`, or started fresh from the [primo-explore-package GitHub repository](https://github.com/ExLibrisGroup/primo-explore-package "primo-explore-package repository"). (The benefit of using this repository is that in each folder you will find a specific README.md file containing recipes and examples.) - - -## Installation - -Note: If you are not the Administrator of your machine, you might get into problems in the flow below, we recommend using the "Node.js command prompt (search for cmd in your pc to locate it) whenever the instructions below refer to "command line". - -1. Download the project from this repository and place it on your computer - -2. Unzip the file you downloaded to a preferred development project folder location - -3. Download and install the [Node version 16.17.0](https://nodejs.org/download/release/v16.17.0/) - -4. Restart your computer - -5. From command line, run the command : `npm install -g gulp` - -6. In a new command line window, navigate to the project base directory (`cd \path\to\your\project\folder\primo-explore-devenv`) - -7. From command line, run the command : `npm install` (This should install all node modules needed for gulp.) - - ![npm install image](./help_files/npmInstall.png "Running npm install") - -8. Edit Gulp configuration file's proxy server setting, found at gulp/config.js : `var PROXY_SERVER = http://your-server:your-port` (Make sure to use your real Sandbox or Production Primo Front-End URL.) Note that for SSL environments (HTTPS) define the server as: `var PROXY_SERVER = https://your-server:443` - -9. Populate your custom View package folder in the custom package folder ("...primo-explore\custom"), by either downloading the view code files from your Primo Back Office or using the [primo-explore-package GitHub repository](https://github.com/ExLibrisGroup/primo-explore-package "primo-explore-package repository")) to start a new package folder. (if you have already defined a view package and loaded it to the BO - make sure you download it or else you will not see, and may overwrite, your previous changes.) - - - If your custom view package folder were to be called "Auto1" then your development environment directory tree should look similar to this: - ![Directory tree image](./help_files/direcoryTree.png "Directory tree") - - - IMPORTANT: The name of your custom view package folder must match an existing view on the proxy server being referenced or the Gulp server will not function properly. For development from scratch, be sure to first create (or copy) a view using the Primo Back Office View Wizard; then you can accomplish your customizations locally using this document. - -10. Start your code customizations : - - - From command line, run the command : `gulp run --view ` (This will start your local server.) - - (For example, running `gulp run --view Auto1` will start the environment taking the customizations from the Auto1 folder.) - - ![Server Startup Image](./help_files/serverStartup.png "Server Startup") - - For Primo VE customers, add the --ve flag : - `gulp run --view --ve` - - Open a browser and type in the following URL : `localhost:8003/primo-explore/?vid=your-view-code` (Example: http://localhost:8003/primo-explore/search?vid=Auto1) - - For Primo VE customers open the following URL : `localhost:8003/discovery/?vid=your-institution-code:your-view-code` - - - Now you should be able to to your customizations with real searches and results, from your previously defined proxy-server. Note: once you start working with this environment, you will discover that the best results are achieved by working in your browser's incognito mode; or you can clear your browser cache before you start the Gulp server. - - ![Env up Image](./help_files/searchResults.png "Env up") - - - You can get immediate feedback on your code changes by refreshing the browser. - - - Perform your changes according to the documentation/examples in: - - - [CSS](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/css "css documentation") - - - [HTML](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/html "html documentation") - - - [Images](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/img "images documentation") - - - [JavaScript](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/js "javascript documentation") - - -Note: you have multiple options to edit the css file(custom1.css) and the js file(custom.js), some of them include methods of splitting your developments to seperate files. When using such methods - the custom1.css and custom.js files will be overriden by the different files when gulp is run. Place your custom css and js into files with different names such as custommodule.css or custom.module.js to have it concactinated into the custom css/js files. - - -## Publishing packages - -Once you finish customizing the package, you can zip up that directory and upload it using the Primo BackOffice. - -1. In a command line window, navigate to the project base directory : `cd \path\to\your\project\folder\primo-explore-devenv` - -2. From command line, run the command : `gulp create-package` You will be prompted with a menu specifying all of the possible packages you can build, such as : - - ![Create Package Image](./help_files/createPackage.png "Create Package up") - - ![Package Image](./help_files/packages.png "Package up") - -3. Log into Primo Back Office and navigate to the UI customization Package manager section : `Primo Home > Primo Utilities > UI customization Package Manager` - -4. Use the file browse button to find and upload the new zipped package file. (Located in the "\path\to\your\project\folder\primo-explore-devenv\package" directory.) - - ![BO Image](./help_files/bo.png "BO up") - -5. Don't forget to deploy your changes - - -## Publishing Primo-Studio addons - -Once you finish customizing the package, you can get it ready to be published to Primo-Studio. - -1. In a command line window, navigate to the project base directory : `cd \path\to\your\project\folder\primo-explore-devenv` - -2. From command line, run the command : `gulp prepare-addon` You will be prompted with a menu specifying all of the possible packages you can build. - -3. Once you finished running the script a folder containing the add-on will be created in `\path\to\your\project\folder\primo-explore-devenv\addons`. - -4. From the above folder you can publish your add-on to NPM and to Primo-Studio. For Instructions see: [Primo-Studio add-on tutorial](https://github.com/ExLibrisGroup/Primo-Studio-Addon-Tutorial) + + + +# The Primo New UI Customization Workflow Development Environment + + +## Structure + +- gulp directory : holds the various build scripts for the environment and the config.js configuration file in which your target proxy-server must be defined. + +- node_modules directory : holds the various third-party modules that are required to run the system. These modules are defined in the package.json file. + +- packages directory : once your development package is ready you will be able to build it using the `gulp create-package` command that will create the zipped package file you define in this folder + +- primo-explore directory : consists of 2 directories : + 1. custom : - where you will place your customization packages + 2. tmp : just a place to hold some of your temporary files + +## Overview + +The development package allows you to configure the following page components (follow the links for details): + +- [CSS](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/css "css documentation") + +- [HTML](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/html "html documentation") + +- [Images](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/img "images documentation") + +- [JavaScript](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/js "javascript documentation") + +For each configuration-type, or for every different Primo View, there should be a specified folder named after the View (which adheres to the established directory structure) in the `primo-explore/custom` package folder. + +This custom View folder can be downloaded from your Primo Back Office, by following `Primo Home > Primo Utilities > UI customization Package Manager`, or started fresh from the [primo-explore-package GitHub repository](https://github.com/ExLibrisGroup/primo-explore-package "primo-explore-package repository"). (The benefit of using this repository is that in each folder you will find a specific README.md file containing recipes and examples.) + + +## Installation + +Note: If you are not the Administrator of your machine, you might get into problems in the flow below, we recommend using the "Node.js command prompt (search for cmd in your pc to locate it) whenever the instructions below refer to "command line". + +1. Download the project from this repository and place it on your computer + +2. Unzip the file you downloaded to a preferred development project folder location + +3. Download and install the [Node version 16.17.0](https://nodejs.org/download/release/v16.17.0/) + +4. Restart your computer + +5. From command line, run the command : `npm install -g gulp` + +6. In a new command line window, navigate to the project base directory (`cd \path\to\your\project\folder\primo-explore-devenv`) + +7. From command line, run the command : `npm install` (This should install all node modules needed for gulp.) + + ![npm install image](./help_files/npmInstall.png "Running npm install") + +8. Edit Gulp configuration file's proxy server setting, found at gulp/config.js : `var PROXY_SERVER = http://your-server:your-port` (Make sure to use your real Sandbox or Production Primo Front-End URL.) Note that for SSL environments (HTTPS) define the server as: `var PROXY_SERVER = https://your-server:443` + +9. Populate your custom View package folder in the custom package folder ("...primo-explore\custom"), by either downloading the view code files from your Primo Back Office or using the [primo-explore-package GitHub repository](https://github.com/ExLibrisGroup/primo-explore-package "primo-explore-package repository")) to start a new package folder. (if you have already defined a view package and loaded it to the BO - make sure you download it or else you will not see, and may overwrite, your previous changes.) + + - If your custom view package folder were to be called "Auto1" then your development environment directory tree should look similar to this: + ![Directory tree image](./help_files/direcoryTree.png "Directory tree") + + - IMPORTANT: The name of your custom view package folder must match an existing view on the proxy server being referenced or the Gulp server will not function properly. For development from scratch, be sure to first create (or copy) a view using the Primo Back Office View Wizard; then you can accomplish your customizations locally using this document. + +10. Start your code customizations : + + - From command line, run the command : `gulp run --view ` (This will start your local server.) + + (For example, running `gulp run --view Auto1` will start the environment taking the customizations from the Auto1 folder.) + + ![Server Startup Image](./help_files/serverStartup.png "Server Startup") + - For Primo VE customers, add the --ve flag : + `gulp run --view --ve` + - Open a browser and type in the following URL : `localhost:8003/primo-explore/?vid=your-view-code` (Example: http://localhost:8003/primo-explore/search?vid=Auto1) + - For Primo VE customers open the following URL : `localhost:8003/discovery/?vid=your-institution-code:your-view-code` + + - Now you should be able to to your customizations with real searches and results, from your previously defined proxy-server. Note: once you start working with this environment, you will discover that the best results are achieved by working in your browser's incognito mode; or you can clear your browser cache before you start the Gulp server. + + ![Env up Image](./help_files/searchResults.png "Env up") + + - You can get immediate feedback on your code changes by refreshing the browser. + + - Perform your changes according to the documentation/examples in: + + - [CSS](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/css "css documentation") + + - [HTML](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/html "html documentation") + + - [Images](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/img "images documentation") + + - [JavaScript](https://github.com/ExLibrisGroup/primo-explore-package/tree/master/VIEW_CODE/js "javascript documentation") + + +Note: you have multiple options to edit the css file(custom1.css) and the js file(custom.js), some of them include methods of splitting your developments to seperate files. When using such methods - the custom1.css and custom.js files will be overriden by the different files when gulp is run. Place your custom css and js into files with different names such as custommodule.css or custom.module.js to have it concactinated into the custom css/js files. + + +## Publishing packages + +Once you finish customizing the package, you can zip up that directory and upload it using the Primo BackOffice. + +1. In a command line window, navigate to the project base directory : `cd \path\to\your\project\folder\primo-explore-devenv` + +2. From command line, run the command : `gulp create-package` You will be prompted with a menu specifying all of the possible packages you can build, such as : + + ![Create Package Image](./help_files/createPackage.png "Create Package up") + + ![Package Image](./help_files/packages.png "Package up") + +3. Log into Primo Back Office and navigate to the UI customization Package manager section : `Primo Home > Primo Utilities > UI customization Package Manager` + +4. Use the file browse button to find and upload the new zipped package file. (Located in the "\path\to\your\project\folder\primo-explore-devenv\package" directory.) + + ![BO Image](./help_files/bo.png "BO up") + +5. Don't forget to deploy your changes + + +## Publishing Primo-Studio addons + +Once you finish customizing the package, you can get it ready to be published to Primo-Studio. + +1. In a command line window, navigate to the project base directory : `cd \path\to\your\project\folder\primo-explore-devenv` + +2. From command line, run the command : `gulp prepare-addon` You will be prompted with a menu specifying all of the possible packages you can build. + +3. Once you finished running the script a folder containing the add-on will be created in `\path\to\your\project\folder\primo-explore-devenv\addons`. + +4. From the above folder you can publish your add-on to NPM and to Primo-Studio. For Instructions see: [Primo-Studio add-on tutorial](https://github.com/ExLibrisGroup/Primo-Studio-Addon-Tutorial) diff --git a/addons/.gitignore b/addons/.gitignore index 86d0cb272..44c5ea8fa 100644 --- a/addons/.gitignore +++ b/addons/.gitignore @@ -1,4 +1,4 @@ -# Ignore everything in this directory -* -# Except this file +# Ignore everything in this directory +* +# Except this file !.gitignore \ No newline at end of file diff --git a/app.css b/app.css index 09fc042ee..9ffd4147b 100644 --- a/app.css +++ b/app.css @@ -1,2 +1,2 @@ -body{background-color:#e9e9e9}.prm-primary-color,.result-item-actions .custom-button,.result-item-actions .more-options-button,md-tab-content .tab-content-header md-input-container md-select-value .md-text{color:#53738c}.prm-primary-bg,prm-spinner.overlay-cover.light-on-dark:after{color:#fff;background-color:#53738c}.prm-primary-bg.prm-hue1,prm-spinner.prm-hue1.overlay-cover.light-on-dark:after,prm-topbar .top-nav-bar{background-color:#4f6e86}.prm-primary-bg.prm-hue2,prm-main-menu[menu-type=full] md-backdrop,prm-search-bookmark-filter .md-button,prm-spinner.prm-hue2.overlay-cover.light-on-dark:after,prm-user-area,prm-user-area md-fab-trigger>.md-button .md-fab-toolbar-background{background-color:#4b687f}.prm-secondary-color,prm-search-bookmark-filter .md-button,prm-topbar .top-nav-bar{color:#a9cdd6}.prm-secondary-color.prm-hue1,.result-item-actions .custom-button.pin-button,prm-search-bookmark-filter .prm-hue1.md-button,prm-topbar .prm-hue1.top-nav-bar{color:#45aab4}.prm-secondary-bg{color:#fff;background-color:#a9cdd6}.prm-secondary-bg.prm-hue1,md-tabs md-ink-bar,prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm:focus,prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm:hover,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button:focus,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button:hover{background-color:#45aab4}.prm-background,.screen-sm .sidebar,.screen-xs .sidebar,body,html,md-card .card-content-block,prm-facet.mobile-facets{background-color:#e9e9e9;border-color:#e1e1e1}#sidebar-trigger,.default-tabs>md-tabs-wrapper,.prm-background.prm-hue1,.screen-sm .prm-hue1.sidebar,.screen-xs .prm-hue1.sidebar,body.prm-hue1,html.prm-hue1,md-card .card-divider,md-card .prm-hue1.card-content-block,md-toolbar.default-toolbar,md-toolbar.default-toolbar:not(.md-menu-toolbar),md-toolbar.md-primoExplore-theme.default-toolbar,prm-facet.prm-hue1.mobile-facets{background-color:#dcdcdc;border-color:#d5d5d5}.full-view-inner-container,.prm-background.prm-hue2,.prm-full-view-dialog,.screen-sm .prm-hue2.sidebar,.screen-xs .prm-hue2.sidebar,.tiles-grid-tile,.tiles-grid-tile .tile-content prm-spinner.overlay-cover:after,.tiles-grid-tile md-list prm-spinner.overlay-cover:after,body.prm-hue2,html.prm-hue2,md-card.default-card,md-card .prm-hue2.card-content-block,md-grid-tile,md-grid-tile .tile-content prm-spinner.overlay-cover:after,md-grid-tile md-list prm-spinner.overlay-cover:after,md-list-item.separate-list-items .item-expand-button,prm-facet.prm-hue2.mobile-facets,prm-search-result-list .list-items-list{background-color:#f3f3f3}.prm-highlight,.prm-highlight.prm-hue1,prm-brief-result-container.item-bookmarked,prm-brief-result-container.item-bookmarked:hover{background-color:#fffcc4}.presentable-disabled-inputs md-input-container label,.prm-text,md-input-container.static-select.md-input-has-value label,md-input-container.static-select.md-input-has-value label:not(.md-no-float),md-toolbar.default-toolbar,md-toolbar.default-toolbar:not(.md-menu-toolbar),md-toolbar.md-primoExplore-theme.default-toolbar,md-toolbar.md-primoExplore-theme.transparent-toolbar,md-toolbar.transparent-toolbar,md-toolbar.transparent-toolbar:not(.md-menu-toolbar){color:#333}.available-facets .section-content .md-chips .md-chip .button-exclude,.prm-warn{color:tomato}.prm-links,.tiles-grid-tile .tile-header .header-link .arrow-icon,.tiles-grid-tile .tile-header .header-link:hover,.tiles-grid-tile .tile-header .md-button,md-grid-tile .tile-header .header-link .arrow-icon,md-grid-tile .tile-header .header-link:hover,md-grid-tile .tile-header .md-button{color:#5c92bd}.prm-positive{color:#198a19}.prm-notice,prm-search-result-frbr-line a>prm-icon:first-child{color:#ce8015}body{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif}*,:after,:before{box-sizing:border-box}a .fa,a .glyphicon,a .icon,button .fa,button .glyphicon,button .icon{margin-right:8px}h2{font-weight:300}ol{margin:0;padding-left:1.5em;line-height:1.6em}ol li{padding-left:.5em}:focus{outline:0 auto -webkit-focus-ring-color}::-moz-selection{background:#f7eda3}::selection{background:#f7eda3}.lowercase{text-transform:lowercase}body{font-size:15px}h1,h2,h3,h4{margin-top:0;margin-bottom:.5em}h1.accessible-only,h2.accessible-only,h3.accessible-only,h4.accessible-only,md-card h1.card-content-section-title,md-card h2.card-content-section-title,md-card h3.card-content-section-title,md-card h4.card-content-section-title{position:absolute;width:1px;height:1px;top:-1000em;overflow:hidden}h1{font-weight:400}p{margin:0 0 .5em}em.keyword{font-style:normal;box-shadow:inset 0 -2px 0 0 #f7eda3}.text-muted{color:#aaa}.text-success{color:#3ea03e}.text-link{cursor:pointer;color:#5c92bd!important}.uppercase-bold{font-size:.75em;font-weight:600;letter-spacing:.05em}.text-uppercase,.uppercase-bold{text-transform:uppercase}.bold-text,.sidebar-section md-input-container label,strong{font-weight:600!important}.normal-text{font-weight:400}.light-text{font-weight:300}.small-text{font-size:12px;line-height:14px}.weak-text{color:#999}.tiny-uppercase-text,md-menu-content .menu-title,prm-brief-result-container .media-content-type{color:#999;letter-spacing:.07em;text-transform:uppercase;font-weight:600;font-size:.75em}.text-align-center{text-align:center}.text-in-brackets:before{font-style:normal;content:"("}.text-in-brackets:after{font-style:normal;content:")"}.text-italic{font-style:italic}.word-break-all{word-break:break-all}.first-letter-uppercase:first-letter{text-transform:uppercase}.md-headline{font-weight:300}.md-chips .md-chip .md-chip-content strong,.text-trim-ellipsis,prm-user-area .user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-input-container-dummy>[required].md-select-dummy:after,.required-starlet:after,md-select[required]:after{content:"*";position:absolute;left:-23px;margin:auto;height:20px;color:tomato;font-size:2em;transition:all .4s cubic-bezier(.25,.8,.25,1)}.md-input-has-value .md-input-container-dummy>[required].md-select-dummy:after,.md-input-has-value .required-starlet:after,.md-input-has-value md-select[required]:after{-webkit-transform:translateY(-20px);transform:translateY(-20px)}.default-shadow,.tiles-grid-tile,md-card.default-card,md-grid-tile,md-toolbar.md-primoExplore-theme.white-toolbar.is-stuck,md-toolbar.white-toolbar.is-stuck,md-toolbar.white-toolbar.is-stuck:not(.md-menu-toolbar){box-shadow:0 1px 0 0 #dcdcdc,0 5px 5px -3px #dcdcdc}.toolbar-shadow,md-toolbar.default-toolbar.is-stuck,md-toolbar.default-toolbar.is-stuck:not(.md-menu-toolbar),md-toolbar.md-primoExplore-theme.default-toolbar.is-stuck{box-shadow:0 1px 0 0 rgba(51,51,51,.1),0 1px 5px 0 rgba(51,51,51,.2)}.focused-item-shadow,.item-expanded .action-list-content,.item-hovered .action-list-content{box-shadow:0 0 0 .55em #fff,0 0 0 .6em #acbecc,0 2px 15px 5px rgba(0,0,0,.2),0 -40px 40px -8px hsla(0,0%,95%,.6),0 40px 40px -8px hsla(0,0%,95%,.6)}.focused-item-shadow.without-halo,.item-expanded .without-halo.action-list-content,.item-hovered .without-halo.action-list-content,prm-favorites-tool-bar .action-list-content prm-action-list{box-shadow:0 0 0 .55em #fff,0 0 0 .6em #acbecc,0 2px 15px 5px rgba(0,0,0,.2)}.dialog-shadow,md-dialog{box-shadow:0 7px 15px -8px rgba(0,0,0,.1),0 6px 10px -2px rgba(0,0,0,.1),0 5px 24px 4px rgba(0,0,0,.1)}.bg-to-trans{background:linear-gradient(180deg,hsla(60,20%,92%,0) 0,hsla(60,20%,92%,.95));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00efefe7',endColorstr='#f2efefe7',GradientType=0)}.bottom-border-light{border-bottom:1px solid #e4e4e4}.form-focus{border:1px solid rgba(51,51,51,.3);box-shadow:0 2px 7px 0 rgba(51,51,51,.12);background-color:#fff}.light-action-button{border:1px solid #e1e1d2;border-radius:3px;font-size:.8em;font-weight:400;color:#9d9d9d;padding:1px .25em;margin-top:2px;letter-spacing:.1em;cursor:pointer;display:inline-block;background-color:transparent;text-transform:uppercase}.light-action-button:hover{color:#333;border:1px solid #c6c6aa;background-color:#e7e7db}.inline-pill{padding:.35em .75em;border-radius:1.2em;color:rgba(51,51,51,.7);background-color:rgba(51,51,51,.2)}.inline-pill.outline-pill{background-color:transparent;box-shadow:inset 0 0 0 1px rgba(51,51,51,.2)}.max-width{max-width:960px!important}.relative-position{position:relative}.dashed-border{border:2px dashed;border-color:inherit}.border-left{border-left-width:1px;border-left-style:solid;border-left-color:inherit}.zero-margin{margin:0!important}.zero-margin-top{margin-top:0!important}.zero-margin-bottom{margin-bottom:0!important}.margin-bottom-small{margin-bottom:.5em}.margin-left-small{margin-left:.5em}.margin-top-large{margin-top:1.5em}.margin-bottom-large{margin-bottom:1.5em}.margin-top-medium{margin-top:1em}.margin-bottom-medium{margin-bottom:1em}.margin-top-small{margin-top:.5em}.margin-right-small{margin-right:.5em}.zero-padding{padding:0!important}.zero-padding-top{padding-top:0!important}.zero-padding-bottom{padding-bottom:0!important}.padded-container,.screen-sm .sidebar,.screen-xs .sidebar{padding:1.5em}.vertical-divider{width:1px;height:30px}.not-clickable{cursor:default}.as-link{color:#5c92bd}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.zero-opacity{opacity:0}.zero-radius{border-radius:0}.footer{padding-top:19px;color:#777;border-top:1px solid #e5e5e5}.container-narrow>hr{margin:30px 0}.position-relative{position:relative}.jumbotron{text-align:center;border-bottom:1px solid #e5e5e5}.jumbotron .btn{font-size:21px;padding:14px 24px}.expandable{opacity:1;visibility:visible;transition:max-height .4s cubic-bezier(.68,-.55,.265,1.55),opacity .3s .1s ease,visibility 0 0,padding .4s ease,margin .4s ease}.expandable.collapsed{opacity:0;visibility:hidden;padding:0!important;max-height:0!important;transition:max-height .4s cubic-bezier(.68,-.55,.265,1.55),opacity .3s .1s ease,visibility 0 .4s,padding .4s ease,margin .4s ease}.header .stuck:before{content:"";width:100%;height:60px;position:fixed;left:0;top:0}.header .is-stuck{margin-left:0}.header .is-stuck:before{background-color:#53738c}.filter-chips{padding:.5em 1em}@media only screen and (min-width:601px) and (max-width:1280px){.filter-chips{padding:.5em 0}}.filter-chips.no-chips{max-height:0;padding:0}.content{padding:1.5em}.main,.sidebar{min-width:0}.main{min-height:600px}.spaced-rows>div,.spaced-rows>li,.spaced-rows>span{margin-bottom:.2em}@-webkit-keyframes animationFrames{0%{-webkit-transform:translate(0) scale3d(.5,.5,1);transform:translate(0) scale3d(.5,.5,1)}15%{-webkit-transform:translateY(-25px) scale3d(.5,.5,1);transform:translateY(-25px) scale3d(.5,.5,1)}30%{-webkit-transform:translate(0);transform:translate(0)}45%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}60%{-webkit-transform:translate(0);transform:translate(0)}75%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translate(0) scaleX(1);transform:translate(0) scaleX(1)}}@keyframes animationFrames{0%{-webkit-transform:translate(0) scale3d(.5,.5,1);transform:translate(0) scale3d(.5,.5,1)}15%{-webkit-transform:translateY(-25px) scale3d(.5,.5,1);transform:translateY(-25px) scale3d(.5,.5,1)}30%{-webkit-transform:translate(0);transform:translate(0)}45%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}60%{-webkit-transform:translate(0);transform:translate(0)}75%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translate(0) scaleX(1);transform:translate(0) scaleX(1)}}@-webkit-keyframes pulsateYellowBG{0%{background-color:#fffcc4}50%{background-color:#f8f27e}to{background-color:#fffcc4}}@keyframes pulsateYellowBG{0%{background-color:#fffcc4}50%{background-color:#f8f27e}to{background-color:#fffcc4}}@-webkit-keyframes pulsateYellowColor{0%{color:#fffcc4}50%{color:#f8f27e}to{color:#fffcc4}}@keyframes pulsateYellowColor{0%{color:#fffcc4}50%{color:#f8f27e}to{color:#fffcc4}}.animate-fade-in-out{transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-fade-in-out.ng-hide-add{opacity:0}.animate-fade-in-out.ng-hide-remove{opacity:1}.animate-fade-in-out.ng-hide,.animate-fade-in-out.ng-hide-remove.ng-hide-remove-active{opacity:0}.animate-if-fade-in-out{transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-if-fade-in-out.ng-enter{opacity:0}.animate-if-fade-in-out.ng-enter.ng-enter-active{opacity:1}.animate-if-fade-in-out.ng-leave{transition-duration:.15s;opacity:1}.animate-if-fade-in-out.ng-leave.ng-leave-active{opacity:0}.animate-scale{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-scale.ng-hide-add{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s}.animate-scale.ng-hide-remove{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.2s}.animate-scale.ng-hide{opacity:0;-webkit-transform:scale3d(.5,.5,1);transform:scale3d(.5,.5,1)}.animate-enter-leave-scale{-webkit-transform-origin:50%;transform-origin:50%}.animate-enter-leave-scale.ng-enter{-webkit-transform:scale3d(.85,.85,1);transform:scale3d(.85,.85,1);opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.5s}.animate-enter-leave-scale.ng-enter.ng-enter-active,.animate-enter-leave-scale.ng-leave{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1}.animate-enter-leave-scale.ng-leave{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.2s}.animate-enter-leave-scale.ng-leave.ng-leave-active{opacity:0;-webkit-transform:scale3d(.8,.8,1);transform:scale3d(.8,.8,1)}.animate-enter-leave-scale.ng-enter-stagger{transition-delay:.1s}.animate-enter-leave-scale-bounce{-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.animate-enter-leave-scale-bounce.ng-enter{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:scale3d(0,0,1) translateX(-30px);transform:scale3d(0,0,1) translateX(-30px);opacity:0}.animate-enter-leave-scale-bounce.ng-enter.ng-enter-active,.animate-enter-leave-scale-bounce.ng-leave{-webkit-transform:scaleX(1) translateX(0);transform:scaleX(1) translateX(0);opacity:1}.animate-enter-leave-scale-bounce.ng-leave{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.2s}.animate-enter-leave-scale-bounce.ng-leave.ng-leave-active{opacity:0;-webkit-transform:scale3d(0,0,1) translateX(-30px);transform:scale3d(0,0,1) translateX(-30px)}.animate-enter-leave-scale-max-height{-webkit-transform-origin:50% 0;transform-origin:50% 0;max-height:200em}.animate-enter-leave-scale-max-height.ng-enter{-webkit-transform:scale3d(.8,.8,1);transform:scale3d(.8,.8,1);opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s .05s ease,-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,max-height .3s .05s ease,transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,max-height .3s .05s ease,transform .5s cubic-bezier(.25,.8,.25,1),-webkit-transform .5s cubic-bezier(.25,.8,.25,1)}.animate-enter-leave-scale-max-height.ng-enter.ng-enter-active,.animate-enter-leave-scale-max-height.ng-leave-active{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;max-height:30em}.animate-enter-leave-scale-max-height.ng-leave-active{transition:opacity .2s .15s ease,max-height .3s cubic-bezier(.25,.8,.25,1),-webkit-transform .3s .15s cubic-bezier(.55,0,.55,.2);transition:opacity .2s .15s ease,max-height .3s cubic-bezier(.25,.8,.25,1),transform .3s .15s cubic-bezier(.55,0,.55,.2);transition:opacity .2s .15s ease,max-height .3s cubic-bezier(.25,.8,.25,1),transform .3s .15s cubic-bezier(.55,0,.55,.2),-webkit-transform .3s .15s cubic-bezier(.55,0,.55,.2);overflow:hidden}.animate-enter-leave-scale-max-height.ng-leave-active.ng-leave-active{opacity:0;-webkit-transform:scale3d(.5,.5,1);transform:scale3d(.5,.5,1);max-height:0}.animate-max-height{max-height:30em}.animate-max-height,.animate-max-height.ng-enter{transition:max-height 1s cubic-bezier(.23,1,.32,1)}.animate-max-height.ng-enter{overflow:hidden;max-height:0;transition-delay:1s}.animate-max-height.ng-enter.ng-enter-active{max-height:30em}.animate-max-height.ng-leave{overflow:hidden;max-height:30em}.animate-max-height.ng-leave.ng-leave-active{max-height:0}.animate-max-height-variable{max-height:none}.animate-max-height-variable.ng-hide-add{max-height:1000em;overflow:hidden;opacity:1;transition-duration:.4s;transition:all .2s cubic-bezier(.19,1,.22,1)}.animate-max-height-variable.ng-hide-add.ng-hide-add-active{max-height:0;opacity:0}.animate-max-height-variable.ng-hide-remove{overflow:hidden;max-height:1000em;transition-duration:.3s;transition:all .3s cubic-bezier(.55,0,.55,.2)}.animate-max-height-variable.ng-hide{opacity:0;max-height:0}.animate-max-height-small.ng-enter{overflow:hidden;max-height:0;transition:max-height .3s 0s cubic-bezier(.23,1,.32,1)}.animate-max-height-small.ng-enter.ng-enter-active{max-height:5em}.animate-max-height-small.ng-leave{overflow:hidden;max-height:7em;transition:max-height .3s 0s cubic-bezier(.23,1,.32,1)}.animate-max-height-small.ng-leave.ng-leave-active{max-height:0}.selectable-child{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s;width:32px}.selectable-child.ng-enter{width:0;transition:.2s cubic-bezier(.175,.885,.32,1.275);opacity:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.selectable-child.ng-enter.ng-enter-active,.selectable-child.ng-leave-active{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;width:32px}.selectable-child.ng-leave-active.ng-leave-active{opacity:0;width:0;-webkit-transform:scale3d(.3,.3,1);transform:scale3d(.3,.3,1)}.animate-popover{-webkit-transform-origin:25% 0;transform-origin:25% 0;opacity:1;-webkit-transform:scaleX(1) translateX(-30%);transform:scaleX(1) translateX(-30%);-webkit-clip-path:circle(80% at 50% 50%);clip-path:circle(80% at 50% 50%)}.animate-popover.ng-hide-add{transition:transform .4s cubic-bezier(.25,.8,.25,1),opacity .2s ease,clip-path .6s cubic-bezier(.25,.8,.25,1),-webkit-clip-path .6s cubic-bezier(.25,.8,.25,1)}.animate-popover.ng-hide-remove{transition:transform .4s .5s cubic-bezier(.25,.8,.25,1),opacity .3s .5s ease,clip-path .4s .5s cubic-bezier(.25,.8,.25,1),-webkit-clip-path .4s .5s cubic-bezier(.25,.8,.25,1)}.animate-popover.ng-hide{-webkit-clip-path:circle(10% at 50% 0);clip-path:circle(10% at 50% 0);opacity:0;transition-delay:0s;-webkit-transform:scale3d(.9,.9,1) translateX(-30%);transform:scale3d(.9,.9,1) translateX(-30%)}.animate-form-inputs md-input-container{opacity:1;max-height:80px;overflow:visible}.animate-form-inputs md-input-container.ng-hide-add{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s;overflow:hidden}.animate-form-inputs md-input-container.ng-hide-remove{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.2s;overflow:hidden}.animate-form-inputs md-input-container.ng-hide{opacity:0;max-height:0;overflow:hidden;padding:0}.animate-form-inputs2 md-dialog-content{overflow:hidden}.animate-form-inputs2 md-input-container{opacity:1;max-height:80px;overflow:hidden}.animate-form-inputs2 md-input-container.ng-hide-add{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.7s;transition-delay:.25s;-webkit-transform:translateY(0);transform:translateY(0)}.animate-form-inputs2 md-input-container.ng-hide-add.ng-hide-add-active{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.animate-form-inputs2 md-input-container.ng-hide-remove{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.6s}.animate-form-inputs2 md-input-container.ng-hide{opacity:0;max-height:0;padding:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.animate-chip{-webkit-transform-origin:0 75%;transform-origin:0 75%}.animate-chip.ng-enter{opacity:0;overflow:hidden;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip.ng-enter.ng-enter-active,.animate-chip.ng-leave{max-height:3em;opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-chip.ng-leave{transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip.ng-leave.ng-leave-active{opacity:0;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-chip-section{-webkit-transform-origin:0 50%;transform-origin:0 50%}.animate-chip-section.ng-enter{opacity:0;overflow:hidden;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip-section.ng-enter.ng-enter-active,.animate-chip-section.ng-leave{opacity:1;max-height:7em;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-chip-section.ng-leave{overflow:hidden;transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip-section.ng-leave.ng-leave-active{opacity:0;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-horizontal-swap.ng-enter{opacity:0;-webkit-transform:translateX(30px);transform:translateX(30px);transition:opacity .3s ease,-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .5s cubic-bezier(.25,.8,.25,1),-webkit-transform .5s cubic-bezier(.25,.8,.25,1)}.animate-horizontal-swap.ng-enter.ng-enter-active,.animate-horizontal-swap.ng-leave{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}.animate-horizontal-swap.ng-leave{transition:opacity .2s ease,-webkit-transform .2s cubic-bezier(.55,0,.55,.2);transition:opacity .2s ease,transform .2s cubic-bezier(.55,0,.55,.2);transition:opacity .2s ease,transform .2s cubic-bezier(.55,0,.55,.2),-webkit-transform .2s cubic-bezier(.55,0,.55,.2)}.animate-horizontal-swap.ng-leave.ng-leave-active{opacity:0;-webkit-transform:translateX(30px);transform:translateX(30px)}.animate-opacity-and-scale.ng-enter,.section-content .md-chips .ng-enter.md-chip.animate-opacity-and-scale{opacity:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);transition:opacity .3s ease,-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .4s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1)}.animate-opacity-and-scale.ng-enter.ng-enter-active,.section-content .md-chips .ng-enter.ng-enter-active.md-chip.animate-opacity-and-scale{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-opacity-and-scale.ng-leave,.section-content .md-chips .ng-leave.md-chip.animate-opacity-and-scale{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1);transition:opacity .2s ease,-webkit-transform .3s cubic-bezier(.25,.8,.25,1);transition:opacity .2s ease,transform .3s cubic-bezier(.25,.8,.25,1);transition:opacity .2s ease,transform .3s cubic-bezier(.25,.8,.25,1),-webkit-transform .3s cubic-bezier(.25,.8,.25,1)}.animate-opacity-and-scale.ng-leave.ng-leave-active,.section-content .md-chips .ng-leave.ng-leave-active.md-chip.animate-opacity-and-scale{opacity:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-opacity-and-scale.ng-enter-stagger,.animate-opacity-and-scale.ng-leave-stagger,.section-content .md-chips .ng-enter-stagger.md-chip.animate-opacity-and-scale,.section-content .md-chips .ng-leave-stagger.md-chip.animate-opacity-and-scale{transition-delay:15ms}.animate-search-bar{transition:max-height .3s cubic-bezier(.55,0,.55,.2),opacity .5s ease}.animate-search-bar.ng-hide-add{overflow:hidden;max-height:20em;opacity:1;transition:max-height .4s cubic-bezier(.25,.8,.25,1),opacity .8s ease}.animate-search-bar.ng-hide-remove{overflow:hidden;max-height:0;opacity:0}.animate-search-bar.ng-hide-remove.ng-hide-remove-active{max-height:20em;opacity:1}.animate-search-bar.ng-hide{max-height:0;opacity:0}.toggle{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.toggle.ng-enter{opacity:0;transition-duration:.25s;-webkit-transition-duration:.25s}.toggle.ng-enter-active{opacity:1}.toggle.ng-leave{opacity:1;transition-duration:.25s;-webkit-transition-duration:.25s}.toggle.ng-leave-active{opacity:0}.toggle.ng-hide-add{transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.toggle.ng-hide-add.ng-hide-add-active{opacity:0}.toggle.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important;opacity:0}.toggle.ng-hide-remove.ng-hide-remove-active{opacity:1}.slide-top{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-top.ng-enter{transform:translateY(60px);-ms-transform:translateY(60px);-webkit-transform:translateY(60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-top.ng-enter-active,.slide-top.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.slide-top.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-top.ng-leave-active{transform:translateY(60px);-ms-transform:translateY(60px);-webkit-transform:translateY(60px);opacity:0}.slide-top.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-top.ng-hide-add.ng-hide-add-active,.slide-top.ng-hide-remove{transform:translateY(60px);-ms-transform:translateY(60px);-webkit-transform:translateY(60px);opacity:0}.slide-top.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-top.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.slide-right{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-right.ng-enter{transform:translateX(60px);-ms-transform:translateX(60px);-webkit-transform:translateX(60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-right.ng-enter-active,.slide-right.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-right.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-right.ng-leave-active{transform:translateX(60px);-ms-transform:translateX(60px);-webkit-transform:translateX(60px);opacity:0}.slide-right.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-right.ng-hide-add.ng-hide-add-active,.slide-right.ng-hide-remove{transform:translateX(60px);-ms-transform:translateX(60px);-webkit-transform:translateX(60px);opacity:0}.slide-right.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-right.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-left{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-left.ng-enter{transform:translateX(-60px);-ms-transform:translateX(-60px);-webkit-transform:translateX(-60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-left.ng-enter-active,.slide-left.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-left.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-left.ng-leave-active{transform:translateX(-60px);-ms-transform:translateX(-60px);-webkit-transform:translateX(-60px);opacity:0}.slide-left.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-left.ng-hide-add.ng-hide-add-active,.slide-left.ng-hide-remove{transform:translateX(-60px);-ms-transform:translateX(-60px);-webkit-transform:translateX(-60px);opacity:0}.slide-left.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-left.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-down{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-down.ng-enter{transform:translateY(-60px);-ms-transform:translateY(-60px);-webkit-transform:translateY(-60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-down.ng-enter-active,.slide-down.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.slide-down.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-down.ng-leave-active{transform:translateY(-60px);-ms-transform:translateY(-60px);-webkit-transform:translateY(-60px);opacity:0}.slide-down.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-down.ng-hide-add.ng-hide-add-active,.slide-down.ng-hide-remove{transform:translateY(-60px);-ms-transform:translateY(-60px);-webkit-transform:translateY(-60px);opacity:0}.slide-down.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-down.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-top{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-top.ng-enter{transform:translateY(240px);-ms-transform:translateY(240px);-webkit-transform:translateY(240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-top.ng-enter-active,.bouncy-slide-top.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-top.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-top.ng-leave-active{transform:translateY(240px);-ms-transform:translateY(240px);-webkit-transform:translateY(240px);opacity:0}.bouncy-slide-top.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-top.ng-hide-add.ng-hide-add-active,.bouncy-slide-top.ng-hide-remove{transform:translateY(240px);-ms-transform:translateY(240px);-webkit-transform:translateY(240px);opacity:0}.bouncy-slide-top.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-top.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-right{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-right.ng-enter{transform:translateX(240px);-ms-transform:translateX(240px);-webkit-transform:translateX(240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-right.ng-enter-active,.bouncy-slide-right.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-right.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-right.ng-leave-active{transform:translateX(240px);-ms-transform:translateX(240px);-webkit-transform:translateX(240px);opacity:0}.bouncy-slide-right.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-right.ng-hide-add.ng-hide-add-active,.bouncy-slide-right.ng-hide-remove{transform:translateX(240px);-ms-transform:translateX(240px);-webkit-transform:translateX(240px);opacity:0}.bouncy-slide-right.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-right.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-left{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-left.ng-enter{transform:translateX(-240px);-ms-transform:translateX(-240px);-webkit-transform:translateX(-240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-left.ng-enter-active,.bouncy-slide-left.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-left.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-left.ng-leave-active{transform:translateX(-240px);-ms-transform:translateX(-240px);-webkit-transform:translateX(-240px);opacity:0}.bouncy-slide-left.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-left.ng-hide-add.ng-hide-add-active,.bouncy-slide-left.ng-hide-remove{transform:translateX(-240px);-ms-transform:translateX(-240px);-webkit-transform:translateX(-240px);opacity:0}.bouncy-slide-left.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-left.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-down{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-down.ng-enter{transform:translateY(-240px);-ms-transform:translateY(-240px);-webkit-transform:translateY(-240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-down.ng-enter-active,.bouncy-slide-down.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-down.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-down.ng-leave-active{transform:translateY(-240px);-ms-transform:translateY(-240px);-webkit-transform:translateY(-240px);opacity:0}.bouncy-slide-down.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-down.ng-hide-add.ng-hide-add-active,.bouncy-slide-down.ng-hide-remove{transform:translateY(-240px);-ms-transform:translateY(-240px);-webkit-transform:translateY(-240px);opacity:0}.bouncy-slide-down.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-down.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.scale-fade{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.scale-fade.ng-enter{transform:scale(.7);-ms-transform:scale(.7);-webkit-transform:scale(.7);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.scale-fade.ng-enter-active,.scale-fade.ng-leave{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.scale-fade.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.scale-fade.ng-leave-active{transform:scale(.7);-ms-transform:scale(.7);-webkit-transform:scale(.7);opacity:0}.scale-fade.ng-hide-add{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.scale-fade.ng-hide-add.ng-hide-add-active,.scale-fade.ng-hide-remove{transform:scale(.7);-ms-transform:scale(.7);-webkit-transform:scale(.7);opacity:0}.scale-fade.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.scale-fade.ng-hide-remove.ng-hide-remove-active{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.spin-toggle{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.spin-toggle.ng-enter{transform:rotate(225deg);-ms-transform:rotate(225deg);-webkit-transform:rotate(225deg);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.spin-toggle.ng-enter-active,.spin-toggle.ng-leave{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);opacity:1}.spin-toggle.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.spin-toggle.ng-leave-active{transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);opacity:0}.spin-toggle.ng-hide-add{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.spin-toggle.ng-hide-add.ng-hide-add-active{transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);opacity:0}.spin-toggle.ng-hide-remove{transform:rotate(225deg);-ms-transform:rotate(225deg);-webkit-transform:rotate(225deg);transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important;opacity:0}.spin-toggle.ng-hide-remove.ng-hide-remove-active{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);opacity:1}.scale-fade-in{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.scale-fade-in.ng-enter{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.scale-fade-in.ng-enter-active,.scale-fade-in.ng-leave{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.scale-fade-in.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.scale-fade-in.ng-leave-active{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.scale-fade-in.ng-hide-add{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.scale-fade-in.ng-hide-add.ng-hide-add-active,.scale-fade-in.ng-hide-remove{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.scale-fade-in.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.scale-fade-in.ng-hide-remove.ng-hide-remove-active{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.bouncy-scale-in{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-scale-in.ng-enter{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);transition-duration:.45s;-webkit-transition-duration:.45s;opacity:0}.bouncy-scale-in.ng-enter-active,.bouncy-scale-in.ng-leave{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.bouncy-scale-in.ng-leave{transition-duration:.45s;-webkit-transition-duration:.45s}.bouncy-scale-in.ng-leave-active{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.bouncy-scale-in.ng-hide-add{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transition-duration:.45s;-webkit-transition-duration:.45s;opacity:1}.bouncy-scale-in.ng-hide-add.ng-hide-add-active,.bouncy-scale-in.ng-hide-remove{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.bouncy-scale-in.ng-hide-remove{transition-duration:.45s;-webkit-transition-duration:.45s;display:block!important}.bouncy-scale-in.ng-hide-remove.ng-hide-remove-active{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.flip-in{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.flip-in.ng-enter{transform:perspective(300px) rotateX(90deg);-ms-transform:perspective(300px) rotateX(90deg);-webkit-transform:perspective(300px) rotateX(90deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:.7}.flip-in.ng-enter-active,.flip-in.ng-leave{transform:perspective(300px) rotateX(0deg);-ms-transform:perspective(300px) rotateX(0deg);-webkit-transform:perspective(300px) rotateX(0deg);opacity:1}.flip-in.ng-leave{transition-duration:.55s;-webkit-transition-duration:.55s}.flip-in.ng-leave-active{transform:perspective(300px) rotateX(135deg);-ms-transform:perspective(300px) rotateX(135deg);-webkit-transform:perspective(300px) rotateX(135deg);opacity:.7}.flip-in.ng-hide-add{transform:perspective(300px) rotateX(0deg);-ms-transform:perspective(300px) rotateX(0deg);-webkit-transform:perspective(300px) rotateX(0deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:1}.flip-in.ng-hide-add.ng-hide-add-active{transform:perspective(300px) rotateX(135deg);-ms-transform:perspective(300px) rotateX(135deg);-webkit-transform:perspective(300px) rotateX(135deg);opacity:0}.flip-in.ng-hide-remove{transform:perspective(300px) rotateX(90deg);-ms-transform:perspective(300px) rotateX(90deg);-webkit-transform:perspective(300px) rotateX(90deg);transition-duration:.55s;-webkit-transition-duration:.55s;display:block!important;opacity:0}.flip-in.ng-hide-remove.ng-hide-remove-active{transform:perspective(300px) rotateX(0deg);-ms-transform:perspective(300px) rotateX(0deg);-webkit-transform:perspective(300px) rotateX(0deg);opacity:1}.rotate-in{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.rotate-in.ng-enter{transform:perspective(300px) rotateY(40deg);-ms-transform:perspective(300px) rotateY(40deg);-webkit-transform:perspective(300px) rotateY(40deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:.7}.rotate-in.ng-enter-active,.rotate-in.ng-leave{transform:perspective(300px) rotateY(0deg);-ms-transform:perspective(300px) rotateY(0deg);-webkit-transform:perspective(300px) rotateY(0deg);opacity:1}.rotate-in.ng-leave{transition-duration:.55s;-webkit-transition-duration:.55s}.rotate-in.ng-leave-active{transform:perspective(300px) rotateY(-40deg);-ms-transform:perspective(300px) rotateY(-40deg);-webkit-transform:perspective(300px) rotateY(-40deg);opacity:.7}.rotate-in.ng-hide-add{transform:perspective(300px) rotateY(0deg);-ms-transform:perspective(300px) rotateY(0deg);-webkit-transform:perspective(300px) rotateY(0deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:1}.rotate-in.ng-hide-add.ng-hide-add-active{transform:perspective(300px) rotateY(-40deg);-ms-transform:perspective(300px) rotateY(-40deg);-webkit-transform:perspective(300px) rotateY(-40deg);opacity:0}.rotate-in.ng-hide-remove{transform:perspective(300px) rotateY(40deg);-ms-transform:perspective(300px) rotateY(40deg);-webkit-transform:perspective(300px) rotateY(40deg);transition-duration:.55s;-webkit-transition-duration:.55s;display:block!important;opacity:0}.rotate-in.ng-hide-remove.ng-hide-remove-active{transform:perspective(300px) rotateY(0deg);-ms-transform:perspective(300px) rotateY(0deg);-webkit-transform:perspective(300px) rotateY(0deg);opacity:1}.flex-bar{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-horizontal{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-vertical{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-column-wrap{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.flex-vertical-center{-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-horizontal-center{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.flex-space-between{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.flex-trim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.align-self-stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.align-self-start{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.fulltext>span:first-of-type,.fulltext_linktorsrc>span:first-of-type,.not_restricted>span:first-of-type,.status-available,[class*=available]>span:first-of-type,[class*=FT]>span:first-of-type{color:#198a19}.does_not_exist_in_maininstitution>span:first-of-type,.getit>span:first-of-type,.status-maybe,[class*=_more]>span:first-of-type,[class*=_unknown]>span:first-of-type,[class*=check_]>span:first-of-type,[class*=may_]>span:first-of-type,[class*=NFT]>span:first-of-type{color:#ce8015}.duedate>span:first-of-type,.restricted>span:first-of-type,.status-unavailable,[class*=no_]>span:first-of-type,[class*=unavailable]>span:first-of-type{color:gray}.custom-scrollbar ::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar ::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}.custom-scrollbar ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2)}.custom-scrollbar ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}.custom-scrollbar ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.9)}.tiles-grid{-webkit-column-width:17em;-moz-column-width:17em;column-width:17em;-webkit-column-gap:1em;-moz-column-gap:1em;column-gap:1em}@media (max-width:1920px){.tiles-grid{-webkit-column-width:20em;-moz-column-width:20em;column-width:20em}}@media (min-width:1921px){.tiles-grid{-webkit-column-width:18em;-moz-column-width:18em;column-width:18em}}@media (min-width:2320px){.tiles-grid{-webkit-column-width:18em;-moz-column-width:18em;column-width:18em}}.tiles-grid-tile{display:inline-block;margin:0 0 1em;width:100%}.advanced-search-wrapper{z-index:-1;background-color:#53738c;padding:1.5em;padding-top:0;overflow:hidden}.advanced-search{background-color:#f1f1f1;padding:.5em 1em;margin-bottom:2em}@media (min-width:1200px){.advanced-search{left:.25em}}@media (min-width:1600px){.advanced-search{left:.5em}}.form-cluster{margin-right:1em;padding-right:1em;position:relative}.form-cluster:after{content:"";width:1px;height:80%;position:absolute;border-right:1px solid #e5e5d8;top:0;right:0;bottom:0;margin:auto}.ruled-form{-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dates-range-picker{min-width:152px}.adanced-search-actions .btn{display:block;margin-top:.5em}.citations-unit .unit-content,.permalink-unit .unit-content{display:-webkit-flex;display:-ms-flexbox;display:flex}.permalink-unit .unit-content{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.permalink-unit .url-element{padding:1em;background:#fff;border:1px solid #d9e4ea}.permalink-unit .copy-text-button{margin-top:1em;visibility:visible;opacity:1;transition:opacity .3s ease,visibility 0s 0s}.permalink-unit .message-element{position:absolute;padding:.4em;background:tomato;left:0;right:0;margin:auto;width:60%;margin-top:.9em;text-align:center;border-radius:3px;color:#fff;font-weight:300}.permalink-unit .message-displayed .copy-text-button,.permalink-unit .message-element{visibility:hidden;opacity:0;transition:opacity .3s ease,visibility 0s .3s}.permalink-unit .message-displayed .message-element{visibility:visible;opacity:1;transition:opacity .3s ease,visibility 0s 0s}.bar{padding:.5em 1em;border:1px solid;border-radius:3px}.bar.large-bar{min-height:100px}.filter-bar{background-color:#e6e6e6;border-color:#e1e1e1}.alert-bar{background-color:#f7eda3;border-color:#ede49e}.success-bar{background-color:#a1d6a1;border-color:#79cb79;color:#133213}.error-bar{background-color:#fee5e1;border-color:#ffb9ad;color:#ad1a00}.links-block .links-block-item{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.links-block .separated-block-item:after{content:"";height:1em;width:1px;background-color:#d0d0d0;-webkit-transform:rotate(15deg);transform:rotate(15deg)}.links-block .separated-block-item:last-child:after{display:none}.labeled-block .block-label{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-right:.5em;padding-top:.4em}.labeled-block .block-body{overflow:hidden;max-height:10em;transition:max-height .8s cubic-bezier(.35,0,.25,1)}.labeled-block.collapsed .block-body{max-height:1.8em;transition:max-height .5s cubic-bezier(.25,.8,.25,1)}.service-form{position:relative}.service-form .md-input-container-dummy>.md-select-dummy:not([disabled]) md-select-value,.service-form .md-input-container-dummy label,.service-form .md-input-container-dummy md-select:not([disabled]) md-select-value,.service-form md-input-container .md-input-container-dummy>.md-select-dummy:not([disabled]) md-select-value,.service-form md-input-container label,.service-form md-input-container md-select:not([disabled]) md-select-value{color:#333}.service-form-loader{width:100%;position:absolute;top:0;bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background-color:hsla(0,0%,100%,.6);z-index:10}.service-form-loader .loader{height:70px;top:auto;left:auto;-webkit-transform:none;transform:none}.service-form-item{position:relative}.service-form-item>prm-icon{position:absolute;bottom:16px;left:-24px}.service-form-item>prm-icon md-icon{opacity:.3;height:16px;width:16px}.service-form-static-panel{background-color:#f8f8f8;box-shadow:inset -1px 0 0 0 #f1f1f1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.service-form-dynamic-panel{-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3}.md-input-container-dummy{position:relative;padding:2px 2px 26px}.md-input-container-dummy .label-dummy{position:relative;top:-2px;-webkit-transform:translate3d(0,28px,0) scale(1);transform:translate3d(0,28px,0) scale(1);color:rgba(0,0,0,.55);-webkit-transform-origin:left top;transform-origin:left top}.md-input-container-dummy.dummy-input-has-value .label-dummy{-webkit-transform:translate3d(0,6px,0) scale(.85);transform:translate3d(0,6px,0) scale(.85)}.md-input-container-dummy .md-select-value-dummy{border-width:0}.md-input-container-dummy .md-select-icon-dummy{visibility:hidden}a{color:#5c92bd}a:not(.md-button){position:relative;line-height:1.4em;padding-bottom:.1em;text-decoration:none;box-shadow:inset 0 -1px 0 0 rgba(92,146,189,0);display:inline;cursor:pointer}a:not(.md-button):focus,a:not(.md-button):hover{background-color:rgba(92,146,189,.1);color:#226091;box-shadow:inset 0 -1px 0 0 rgba(34,96,145,.5)}a.md-button{color:#5c92bd}[external-link]{color:rgba(51,51,51,.7)}[external-link] md-icon{height:15px;width:15px;top:-1px;position:relative}.arrow-link [link-arrow]{position:absolute}.arrow-link [link-arrow] md-icon{width:20px;height:20px;opacity:.5;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s}.arrow-link:hover [link-arrow] md-icon{opacity:1;-webkit-transform:translateX(7px);transform:translateX(7px)}.link-alt-color,.md-button.button-as-link.link-alt-color,.section-title prm-icon{color:#45aab4}prm-spinner{position:relative}prm-spinner .loader{position:relative;width:30px}prm-spinner .loader .diamond{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:1.2em;height:1.2em;border-radius:2px;-webkit-transform:translateY(0) rotate(45deg) scale(0);transform:translateY(0) rotate(45deg) scale(0);-webkit-animation:diamonds 1.5s linear infinite;animation:diamonds 1.5s linear infinite}prm-spinner .loader .diamond:nth-child(1){-webkit-animation-delay:-1s;animation-delay:-1s}prm-spinner .loader .diamond:nth-child(2){-webkit-animation-delay:-2s;animation-delay:-2s}prm-spinner .loader .diamond:nth-child(3){-webkit-animation-delay:-3s;animation-delay:-3s}prm-spinner .loader .diamond:nth-child(4){-webkit-animation-delay:-4s;animation-delay:-4s}prm-spinner .loader-text{color:#53738c}prm-spinner.default-loader .loader{height:80px}prm-spinner.inline-loader{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:40px;height:10px;margin-right:5px}prm-spinner.inline-loader .loader{-webkit-transform:rotate(90deg) scale(.75) translateY(320%);transform:rotate(90deg) scale(.75) translateY(320%);-webkit-transform-origin:50%;transform-origin:50%;width:40px;margin-right:10px}prm-spinner.inline-loader .loader-text{line-height:.5em}prm-spinner.inline-loader .spinner-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%)}prm-spinner.light-on-dark .diamond{background-color:#fff}prm-spinner.dark-on-light .diamond{background-color:#53738c}prm-spinner.half-transparent .diamond{background-color:#9bb2c4}prm-spinner.no-text .loader-text{display:none}prm-spinner.overlay-cover{top:0;bottom:0;position:absolute;left:0;right:0;z-index:1}prm-spinner.overlay-cover:after{content:"";position:absolute;top:0;bottom:0;right:0;left:0;opacity:.6;z-index:-1}prm-spinner.overlay-cover.dark-on-light:after{background-color:#fff}@-webkit-keyframes diamonds{50%{-webkit-transform:translateY(-2em) rotate(45deg) scale(1);transform:translateY(-2em) rotate(45deg) scale(1)}to{-webkit-transform:translateY(-4em) rotate(45deg) scale(0);transform:translateY(-4em) rotate(45deg) scale(0)}}@keyframes diamonds{50%{-webkit-transform:translateY(-2em) rotate(45deg) scale(1);transform:translateY(-2em) rotate(45deg) scale(1)}to{-webkit-transform:translateY(-4em) rotate(45deg) scale(0);transform:translateY(-4em) rotate(45deg) scale(0)}}.bottom-loader .loader{height:100px}prm-icon md-icon,prm-icon md-icon.md-primoExplore-theme{color:inherit!important;transition:all .4s cubic-bezier(.25,.8,.25,1)}prm-icon md-icon.md-primoExplore-theme svg,prm-icon md-icon svg{color:inherit}prm-icon.h-flipped md-icon{-webkit-transform:rotate(180deg) scaleY(-1);transform:rotate(180deg) scaleY(-1)}prm-icon.rotate-25 md-icon{-webkit-transform:rotate(25deg);transform:rotate(25deg)}prm-icon.rotate-180 md-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}prm-icon.giant-icon{margin:0}prm-icon.giant-icon md-icon{width:84px;height:84px}prm-icon.bg-icon{opacity:.2}.login-dialog{color:#333;min-width:320px;max-width:600px}.login-dialog .error-color{color:tomato}.login-dialog .back-button{position:absolute;left:.5em}.login-dialog .loader-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;background-color:hsla(0,0%,91%,.5)}.login-dialog .loader-wrapper .loader{height:10%}.login-dialog .md-actions,.login-dialog md-dialog-actions{-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;min-height:76px;margin-top:.5em}.login-dialog md-content{padding:1em 0}.login-dialog .dialog-title{margin-bottom:.5em}.login-dialog .error-warning-message{display:block;text-align:center}.login-dialog .md-list[class$=-line] md-list-item,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style,.login-dialog .md-list md-list-item,.login-dialog .md-list md-list-item>.md-no-style,.login-dialog md-list md-list-item,.login-dialog md-list md-list-item>.md-no-style{margin:0}.login-dialog .md-list[class$=-line] md-list-item .md-button,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-button,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style button,.login-dialog .md-list[class$=-line] md-list-item button,.login-dialog .md-list md-list-item .md-button,.login-dialog .md-list md-list-item>.md-no-style .md-button,.login-dialog .md-list md-list-item>.md-no-style button,.login-dialog .md-list md-list-item button,.login-dialog md-list md-list-item .md-button,.login-dialog md-list md-list-item>.md-no-style .md-button,.login-dialog md-list md-list-item>.md-no-style button,.login-dialog md-list md-list-item button{padding:1em}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text .list-item-title,.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text h3,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text .list-item-title,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text h3,.login-dialog .md-list md-list-item .md-list-item-text .list-item-title,.login-dialog .md-list md-list-item .md-list-item-text h3,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text h3,.login-dialog md-list md-list-item .md-list-item-text .list-item-title,.login-dialog md-list md-list-item .md-list-item-text h3,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text h3{font-weight:300;font-size:1.6em;color:#5c92bd;margin-bottom:.5em}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text p,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text p,.login-dialog .md-list md-list-item .md-list-item-text p,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text p,.login-dialog md-list md-list-item .md-list-item-text p,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text p{color:inherit}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text ul,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text ul,.login-dialog .md-list md-list-item .md-list-item-text ul,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text ul,.login-dialog md-list md-list-item .md-list-item-text ul,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text ul{list-style:inherit;padding-left:1.6em}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text li,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text li,.login-dialog .md-list md-list-item .md-list-item-text li,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text li,.login-dialog md-list md-list-item .md-list-item-text li,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text li{line-height:1.6em}.login-dialog .md-list[class$=-line] button.md-button,.login-dialog .md-list button.md-button,.login-dialog md-list button.md-button{cursor:pointer}.login-dialog .md-list[class$=-line] button.md-button:not([disabled]):hover,.login-dialog .md-list button.md-button:not([disabled]):hover,.login-dialog md-list button.md-button:not([disabled]):hover{background-color:#f1f1f1}.login-dialog md-input-container,.login-dialog md-input-container.md-input-focused,.login-dialog md-input-container.md-input-focused:not(.md-input-invalid),.login-dialog md-input-container.md-input-has-value{max-width:300px}.login-dialog md-input-container.md-input-focused:not(.md-input-invalid) input,.login-dialog md-input-container.md-input-focused input,.login-dialog md-input-container.md-input-has-value input,.login-dialog md-input-container input{font-size:1.5em}.login-dialog .collapsable-container{transition-duration:0s}.login-dialog .collapsable-container>md-content{padding:1em 2em}.login-dialog .collapsable-container>.md-button{margin:0}.login-dialog .collapsable-container md-list md-list-item .md-list-item-inner{color:#5c92bd;min-height:1em;line-height:1em}.login-dialog .collapsable-container p{padding:1em}.login-dialog .collapsable-container p:last-child{margin:0}.login-dialog .collapsable-container md-content{transition-duration:0s}.login-card{position:relative;max-width:580px;min-width:360px}.login-card md-card-content{padding:0}.login-card md-toolbar,.login-card md-toolbar.md-default-theme:not(.md-menu-toolbar),.login-card md-toolbar:not(.md-menu-toolbar){background-color:transparent;color:#333}.login-card.login-dialog md-content,.login-card.login-dialog md-list{padding:0}.login-card .login-header{margin-bottom:2em;max-width:260px}.login-card .login-header img{width:100%;height:auto}.login-card .login-card .collapsable-container md-content{padding:1em}prm-search>md-content{overflow:hidden}prm-search header>prm-spinner{position:absolute;bottom:-15px;width:100%;z-index:10;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;height:30px}@media only screen and (max-width:600px){prm-search header>prm-spinner{bottom:-10px;max-height:20px}}prm-search header>prm-spinner .spinner-wrapper{width:30px;height:90px;-webkit-transform:rotate(90deg) scale(1) translateY(0);transform:rotate(90deg) scale(1) translateY(0)}prm-search header>prm-spinner.ng-enter{-webkit-transform:scale3d(8,0,1);transform:scale3d(8,0,1);transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.75s}prm-search header>prm-spinner.ng-enter.ng-enter-active,prm-search header>prm-spinner.ng-leave{-webkit-transform:scaleX(1);transform:scaleX(1)}prm-search header>prm-spinner.ng-leave{transition:all .5s cubic-bezier(.35,0,.25,1)}prm-search header>prm-spinner.ng-leave.ng-leave-active{-webkit-transform:scale3d(8,0,1);transform:scale3d(8,0,1)}prm-search-result-list{min-height:600px}prm-search-result-list .results-container{padding:.5em 1em}.no-list-item-padding prm-search-result-list .results-container{padding:0}prm-search-result-list .results-footer,prm-search-result-list .results-title{font-size:1.1em;margin:0;font-weight:300;width:100%}prm-search-result-list .results-title{border-bottom:1px solid #e9e9e9;padding:.5em .75em}prm-search-result-list .results-footer{padding:0;border-top:1px solid #efefe7;width:100%}prm-search-result-list .results-footer .results-count{padding:.5em;line-height:1.5em}prm-search-result-list .results-loader{position:relative;height:10em}prm-search-result-list .sort-by-menu label{margin-bottom:0;top:0;bottom:0;margin:auto 0;font-weight:300}prm-search-result-list .sort-by-menu select{font-weight:400;font-size:1em;padding:0}prm-search-result-list .paging-container{float:right;font-size:.9em;width:100%;line-height:1.5em}prm-search-result-list .paging-container>div{display:inherit}prm-search-result-list .paging-container>div.paging-disabled{visibility:hidden}prm-search-result-list .paging-container .left-ward-paging{border-right:1px solid #efefe7}prm-search-result-list .paging-container .right-ward-paging{border-left:1px solid #efefe7}prm-search-result-list .paging-container .center-paging{border-right:1px solid #efefe7}prm-search-result-list .paging-container .paging-cell{padding:1em 1.6em;border-left:1px solid #efefe7;cursor:pointer}prm-search-result-list .paging-container .paging-cell:only-child{border-width:0}prm-search-result-list .paging-container .paging-cell:hover{background-color:#fff}prm-search-result-list .paging-container .paging-cell.current-page{background-color:#fff;font-weight:400;position:relative}prm-search-result-list .paging-container .paging-cell.current-page:before{content:"\f0d7";position:absolute;top:-.4em;left:.7em;font-family:fontawesome;font-size:1.8em;color:#f1f1f1;text-shadow:0 2px 0 #efefe7}prm-search-result-list .paging-container .paging-cell.next-page{text-transform:uppercase;font-weight:400;letter-spacing:.1em}prm-search-result-list .paging-container .paging-cell .arrow-right{margin-left:1em}prm-search-result-list .paging-container .paging-cell .arrow-left{margin-right:1em}prm-action-list md-pagination-wrapper,prm-action-list md-tabs-canvas{height:60px}prm-action-list .md-tab,prm-action-list md-tab-item{opacity:1;border-radius:0;padding:.5em 0}prm-action-list md-ink-bar{margin-left:1.4em;margin-right:1.4em}prm-action-list .item-actions,prm-action-list .media-actions{position:absolute;top:9px;bottom:0;right:.5em;height:40px;z-index:11}prm-action-list .item-actions .button-one,prm-action-list .item-actions .button-two,prm-action-list .media-actions .button-one,prm-action-list .media-actions .button-two{display:block;margin-bottom:5px;z-index:10;opacity:1;visibility:hidden;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}prm-action-list .item-actions .button-one:last-child,prm-action-list .item-actions .button-two:last-child,prm-action-list .media-actions .button-one:last-child,prm-action-list .media-actions .button-two:last-child{margin-bottom:0}.item-expanded prm-action-list .item-actions .button-one,.item-expanded prm-action-list .item-actions .button-two,.item-expanded prm-action-list .media-actions .button-one,.item-expanded prm-action-list .media-actions .button-two,.item-hovered prm-action-list .item-actions .button-one,.item-hovered prm-action-list .item-actions .button-two,.item-hovered prm-action-list .media-actions .button-one,.item-hovered prm-action-list .media-actions .button-two{z-index:10;opacity:1;visibility:visible;-webkit-transform:scaleX(1);transform:scaleX(1)}.item-expanded prm-action-list .item-actions .button-one:nth-child(1),.item-expanded prm-action-list .item-actions .button-two:nth-child(1),.item-expanded prm-action-list .media-actions .button-one:nth-child(1),.item-expanded prm-action-list .media-actions .button-two:nth-child(1),.item-hovered prm-action-list .item-actions .button-one:nth-child(1),.item-hovered prm-action-list .item-actions .button-two:nth-child(1),.item-hovered prm-action-list .media-actions .button-one:nth-child(1),.item-hovered prm-action-list .media-actions .button-two:nth-child(1){transition:opacity .1s .5s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .5s cubic-bezier(.175,.885,.32,1.275);transition:transform .4s .5s cubic-bezier(.175,.885,.32,1.275),opacity .1s .5s ease,visibility 0s 0s,z-index 0s 0s;transition:transform .4s .5s cubic-bezier(.175,.885,.32,1.275),opacity .1s .5s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .5s cubic-bezier(.175,.885,.32,1.275)}.item-expanded prm-action-list .item-actions .button-one:nth-child(2),.item-expanded prm-action-list .item-actions .button-two:nth-child(2),.item-expanded prm-action-list .media-actions .button-one:nth-child(2),.item-expanded prm-action-list .media-actions .button-two:nth-child(2),.item-hovered prm-action-list .item-actions .button-one:nth-child(2),.item-hovered prm-action-list .item-actions .button-two:nth-child(2),.item-hovered prm-action-list .media-actions .button-one:nth-child(2),.item-hovered prm-action-list .media-actions .button-two:nth-child(2){transition:opacity .1s .3s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .3s cubic-bezier(.175,.885,.32,1.275);transition:transform .4s .3s cubic-bezier(.175,.885,.32,1.275),opacity .1s .3s ease,visibility 0s 0s,z-index 0s 0s;transition:transform .4s .3s cubic-bezier(.175,.885,.32,1.275),opacity .1s .3s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .3s cubic-bezier(.175,.885,.32,1.275)}prm-action-list .item-actions i,prm-action-list .media-actions i{margin-right:5px}prm-action-list .item-actions li,prm-action-list .media-actions li{margin-right:0!important;width:auto!important}.send-actions-content{max-height:0;overflow:hidden;opacity:0;transition:opacity 0s ease,max-height 0s cubic-bezier(.23,1,.32,1)}.send-content-visible .send-actions-content{max-height:100em;opacity:1;transition:opacity .2s ease,max-height .3s cubic-bezier(.23,1,.32,1)}.send-actions-content-item{margin:1em 1em 1.5em;-webkit-transform-origin:50% 0;transform-origin:50% 0;transition:-webkit-transform .4s cubic-bezier(.23,1,.32,1);transition:transform .4s cubic-bezier(.23,1,.32,1);transition:transform .4s cubic-bezier(.23,1,.32,1),-webkit-transform .4s cubic-bezier(.23,1,.32,1)}prm-full-view .send-actions-content-item{padding:1em 0 0}.send-actions-content-item>md-content,.send-actions-content-item>md-content.md-primoExplore-theme{padding:1em;border:1px solid #eee;background-color:#f8f8f8}prm-full-view .send-actions-content-item>md-content,prm-full-view .send-actions-content-item>md-content.md-primoExplore-theme{padding:1.5em}.send-action-buttons .button-confirm{margin:0}prm-search-result-list md-list-item{transition:max-height .3s ease,-webkit-transform .5s;transition:max-height .3s ease,transform .5s;transition:max-height .3s ease,transform .5s,-webkit-transform .5s;width:100%;padding:0!important;border-bottom:1px solid #e9e9e9;transition-duration:0s}prm-search-result-list md-list-item.item-removed{max-height:0}prm-search-result-list md-list-item:last-child .list-item{border-bottom-width:0}prm-brief-result-container{border-radius:3px;display:inline-block;width:100%;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);transition:opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,background-color .3s ease,-webkit-transform .7s cubic-bezier(.25,.8,.25,1);transition:transform .7s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,background-color .3s ease;transition:transform .7s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,background-color .3s ease,-webkit-transform .7s cubic-bezier(.25,.8,.25,1);opacity:1;background-color:transparent}.no-separators prm-brief-result-container{border-bottom-width:0}.no-list-item-padding prm-brief-result-container{border-radius:0}.item-expanded prm-brief-result-container{z-index:10!important;-webkit-transform:translate3d(-10px,-25px,0);transform:translate3d(-10px,-25px,0);transition:opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:transform .5s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s;transition:transform .5s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,-webkit-transform .5s cubic-bezier(.25,.8,.25,1)}prm-brief-result-container:focus,prm-brief-result-container:hover{background-color:#fff;border-color:#f4f4f4;box-shadow:0 -1px #f4f4f4,1px 0 #f4f4f4,-1px 0 #f4f4f4}prm-full-view prm-brief-result-container:focus,prm-full-view prm-brief-result-container:hover{background-color:transparent;border-color:transparent;box-shadow:none}prm-brief-result-container .list-item-primary-content{padding:1em 1.5em;z-index:10;background-color:transparent;position:relative}@media only screen and (max-width:600px){prm-brief-result-container .list-item-primary-content{padding:1em}}.item-expanded prm-brief-result-container .list-item-primary-content,.item-hovered prm-brief-result-container .list-item-primary-content{transition:background-color .5s .5s ease;background-color:#fff}prm-brief-result-container .list-item-primary-content.has-checkbox{padding-left:3em}prm-brief-result-container .list-item-primary-content md-checkbox{position:absolute;top:.95em;left:.8em}.action-list-content{background-color:transparent;position:absolute;top:0;left:0;width:100%;height:100%;padding-left:1em;box-shadow:0 0 0 0 #fff,0 0 0 0 transparent,0 0 0 0 transparent,0 0 0 -8px #f1f1f1,0 0 0 -8px #efefe7;transition:background-color .3s ease,width .3s cubic-bezier(.23,1,.32,1),height .3s cubic-bezier(.19,1,.22,1),box-shadow .3s cubic-bezier(.19,1,.22,1);transition-delay:0s}.item-expanded .action-list-content,.item-hovered .action-list-content{background-color:#fff;height:inherit;transition:background-color 0s 0s,width .4s cubic-bezier(.23,1,.32,1),height .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1),padding .3s cubic-bezier(.23,1,.32,1)}.no-list-item-padding .item-expanded .action-list-content,.no-list-item-padding .item-hovered .action-list-content{width:calc(100% + 20px)}.item-expanded .action-list-content,.menu-open .action-list-content{transition-delay:0s!important}.item-hovered .action-list-content{transition-delay:.8s}.action-list-content .content-holder{padding:.66667em 1em}.secondary-content-divider{display:block;width:calc(100% + 16px);height:1px;top:8px;left:-8px;position:relative}.secondary-content-divider:after{content:"";width:0;position:absolute;top:0;right:0;opacity:0;background-color:#f1f1f1;height:1px;transition:width 0s 0s,opacity 0s}.item-expanded .secondary-content-divider:after{width:100%;opacity:1;transition:width 1s cubic-bezier(.25,.8,.25,1),opacity .2s .1s ease}.secondary-content-holder{opacity:0;transition:opacity .1s 0s ease;overflow:hidden;position:relative}.item-expanded .secondary-content-holder{opacity:1;transition:opacity .3s .1s ease}.secondary-content-holder md-tabs{position:relative;top:8px}.secondary-content-holder .md-tab,.secondary-content-holder md-tab-item{opacity:0;-webkit-transform:scale3d(-1.5,0,1);transform:scale3d(-1.5,0,1);-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.item-expanded .secondary-content-holder .md-tab,.item-expanded .secondary-content-holder md-tab-item{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;transition:opacity .2s ease,-webkit-transform .3s cubic-bezier(.25,.8,.25,1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .2s ease;transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .2s ease,-webkit-transform .3s cubic-bezier(.25,.8,.25,1)}.item-expanded .secondary-content-holder .md-tab:nth-child(1),.item-expanded .secondary-content-holder md-tab-item:nth-child(1){transition-delay:.33s}.item-expanded .secondary-content-holder .md-tab:nth-child(2),.item-expanded .secondary-content-holder md-tab-item:nth-child(2){transition-delay:.3s}.item-expanded .secondary-content-holder .md-tab:nth-child(3),.item-expanded .secondary-content-holder md-tab-item:nth-child(3){transition-delay:.27s}.item-expanded .secondary-content-holder .md-tab:nth-child(4),.item-expanded .secondary-content-holder md-tab-item:nth-child(4){transition-delay:.24s}.item-expanded .secondary-content-holder .md-tab:nth-child(5),.item-expanded .secondary-content-holder md-tab-item:nth-child(5){transition-delay:.21s}.item-expanded .secondary-content-holder .md-tab:nth-child(6),.item-expanded .secondary-content-holder md-tab-item:nth-child(6){transition-delay:.18s}.item-expanded .secondary-content-holder .md-tab:nth-child(7),.item-expanded .secondary-content-holder md-tab-item:nth-child(7){transition-delay:.15s}.item-expanded .secondary-content-holder .md-tab:nth-child(8),.item-expanded .secondary-content-holder md-tab-item:nth-child(8){transition-delay:.12s}.item-expanded .secondary-content-holder .md-tab:nth-child(9),.item-expanded .secondary-content-holder md-tab-item:nth-child(9){transition-delay:.09s}.item-expanded .secondary-content-holder .md-tab:nth-child(10),.item-expanded .secondary-content-holder md-tab-item:nth-child(10){transition-delay:.06s}.item-expanded .secondary-content-holder .md-tab:nth-child(11),.item-expanded .secondary-content-holder md-tab-item:nth-child(11){transition-delay:.03s}.item-expanded .secondary-content-holder .md-tab:nth-child(12),.item-expanded .secondary-content-holder md-tab-item:nth-child(12){transition-delay:0s}prm-brief-result .item-title{font-size:1.18em;line-height:1.2em;color:#44707b;max-width:75%;margin:7px 0;margin:0;font-weight:600;cursor:pointer}prm-brief-result .item-detail{font-weight:400}prm-brief-result .item-detail>span:last-child:after{content:"";display:table;width:100%;margin-bottom:.25em}prm-brief-result .item-detail img{max-height:1.25em;vertical-align:middle;margin-left:.35em;margin-right:.35em}prm-brief-result .item-detail [class^=media-]{opacity:.85}prm-brief-result .item-detail .media-creator{opacity:1;color:#333;font-size:1.1em;font-weight:600}@media only screen and (max-width:600px){prm-brief-result .item-detail .media-creator{font-size:1em}}prm-brief-result-container md-divider,prm-brief-result-container md-divider.md-primoExplore-theme{border-color:#e9e9e9;transition:opacity .2s ease}.item-expanded prm-brief-result-container md-divider,.item-expanded prm-brief-result-container md-divider.md-primoExplore-theme{opacity:0}prm-brief-result-container .result-item-text{padding-right:3em}@media only screen and (max-width:600px){prm-brief-result-container .result-item-text{margin-left:0}}prm-brief-result-container .result-item-image{margin-right:1em;-webkit-flex:0 0 60px;-ms-flex:0 0 60px;flex:0 0 60px}prm-full-view prm-brief-result-container .result-item-image{margin-right:1.5em;max-width:6em;width:6em;min-width:6em}prm-brief-result-container .result-item-secondary-content{padding-left:0}prm-brief-result-container .media-thumbnail{position:relative;top:0;left:0;display:block;width:100%}prm-brief-result-container .media-thumbnail img{box-shadow:none;width:100%}prm-brief-result-container .media-thumbnail img[ng-src*=http]{display:block;box-shadow:0 1px 1px rgba(0,0,0,.3),2px 1px 0 #fff,-3px 3px 10px -3px rgba(0,0,0,.3)}prm-full-view prm-brief-result-container .media-thumbnail .dedup-images-holder>div{-webkit-transform:translate(18px,24px) scale(1.5);transform:translate(18px,24px) scale(1.5);display:block}prm-full-view prm-brief-result-container .media-thumbnail .dedup-images-holder img{width:inherit}prm-full-view prm-brief-result-container .media-thumbnail .dedup-images-holder img:first-child{width:60px}prm-brief-result-container .media-content-type{z-index:11;margin-top:-2px;word-break:break-all}prm-brief-result-container .media-content-type prm-search-result-frbr-line>span{text-transform:lowercase;font-size:.9rem;font-size:1.25em;font-weight:400;letter-spacing:0}.list-item-count{position:absolute;left:.5em;opacity:.3;font-size:.8em;top:.4em}.has-checkbox .list-item-count{left:12px;top:16px;opacity:.5;width:20px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dedup-images-holder{position:relative;-webkit-perspective:1000;perspective:1000}prm-full-view .dedup-images-holder>div{width:60px}.dedup-images-holder img{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform-origin:50% 0;transform-origin:50% 0;min-height:88px;min-width:60px}.dedup-images-holder img:first-child{position:relative;-webkit-transform:rotate(-7deg) translate3d(-12px,0,0) scale3d(.8,.8,1);transform:rotate(-7deg) translate3d(-12px,0,0) scale3d(.8,.8,1);z-index:2}prm-brief-result-container:hover .dedup-images-holder img:first-child{-webkit-transform:rotate(-12deg) translate3d(-25px,-3px,0) scale3d(.8,.8,1);transform:rotate(-12deg) translate3d(-25px,-3px,0) scale3d(.8,.8,1)}.dedup-images-holder img+img{position:absolute;top:0;-webkit-transform:rotate(-3deg) translate3d(-1px,0,0) scale3d(.8,.8,1);transform:rotate(-3deg) translate3d(-1px,0,0) scale3d(.8,.8,1);z-index:3}prm-brief-result-container:hover .dedup-images-holder img+img{-webkit-transform:rotate(-7deg) translate3d(-7px,-1px,0) scale3d(.8,.8,1);transform:rotate(-7deg) translate3d(-7px,-1px,0) scale3d(.8,.8,1)}.dedup-images-holder img+img+img{position:absolute;top:0;-webkit-transform:rotateY(0deg) translate3d(8px,0,0) scale3d(.8,.8,1);transform:rotateY(0deg) translate3d(8px,0,0) scale3d(.8,.8,1);z-index:4}prm-brief-result-container:hover .dedup-images-holder img+img+img{-webkit-transform:rotate(2deg) translate3d(12px,0,0) scale3d(.8,.8,1);transform:rotate(2deg) translate3d(12px,0,0) scale3d(.8,.8,1)}.result-item-actions{min-width:0;position:absolute;top:0;right:0;margin-right:4px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;transition:opacity .2s,-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s,-webkit-transform .3s cubic-bezier(.23,1,.32,1)}@media only screen and (max-width:600px){.result-item-actions{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin-right:.5em}}.item-expanded .result-item-actions{-webkit-transform:translate(28px,-8px);transform:translate(28px,-8px)}.result-item-actions>.md-button{opacity:.6}.result-item-actions>.md-button:hover{opacity:1}.result-item-actions .md-icon-button{margin:0;background-color:transparent;height:38px;max-height:38px;min-height:38px;width:38px;min-width:38px;max-width:38px}.result-item-actions .custom-button{margin:0;padding:0}.result-item-actions .custom-button md-icon{height:20px;width:20px}.result-item-actions .custom-button.pin-button md-icon{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:rotate(-25deg);transform:rotate(-25deg);opacity:0}.result-item-actions .custom-button.pin-button.pinned md-icon{-webkit-transform:rotate(25deg);transform:rotate(25deg);opacity:1}.result-item-actions .custom-button.unpin-button md-icon{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:rotate(25deg);transform:rotate(25deg);opacity:0}.result-item-actions .custom-button.unpin-button.unpinned md-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}.result-item-actions .more-options-button{margin-left:4px;width:38px;position:relative}.result-item-actions .more-options-button prm-icon md-icon{transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative}.result-item-actions .more-options-button prm-icon.open-icon md-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1;top:-2px}.item-expanded .result-item-actions .more-options-button prm-icon.open-icon md-icon{-webkit-transform:rotate(-135deg);transform:rotate(-135deg);opacity:0}.result-item-actions .more-options-button prm-icon.close-icon{position:absolute;left:-4px;right:0}.result-item-actions .more-options-button prm-icon.close-icon md-icon{height:34px;width:34px;-webkit-transform:rotate(45deg) scale3d(.5,.5,1) translate3d(4px,0,0);transform:rotate(45deg) scale3d(.5,.5,1) translate3d(4px,0,0);opacity:0;-webkit-transform-origin:50% 45%;transform-origin:50% 45%;top:-3px}.item-expanded .result-item-actions .more-options-button prm-icon.close-icon md-icon{-webkit-transform:rotate(-90deg) scaleX(1) translateZ(0);transform:rotate(-90deg) scaleX(1) translateZ(0);opacity:1}prm-search-result-availability-line{line-height:1.2em}prm-search-result-availability-line [availability-type]{margin-right:.2em;color:rgba(51,51,51,.4)}prm-search-result-availability-line [availability-type] md-icon{width:15px;height:15px;position:relative;top:-2px}prm-search-result-availability-line span{white-space:normal;display:inline}prm-search-result-availability-line .availability-status span{display:inline-block}prm-search-result-availability-line .availability-status span:first-child+.locations-link:before{content:"\00a0"}prm-search-result-availability-line prm-spinner{position:relative;transition:-webkit-transform .3s 0s cubic-bezier(.68,-.55,.265,1.55);transition:transform .3s 0s cubic-bezier(.68,-.55,.265,1.55);transition:transform .3s 0s cubic-bezier(.68,-.55,.265,1.55),-webkit-transform .3s 0s cubic-bezier(.68,-.55,.265,1.55);-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;left:2.8em;top:1px}prm-search-result-availability-line prm-spinner.hidden{-webkit-transform:scale(0);transform:scale(0)}prm-brief-result+prm-search-result-availability-line{position:relative}prm-search-result-frbr-line a>prm-icon:first-child{margin-right:.15em}prm-search-result-frbr-line a>prm-icon:first-child md-icon{width:15px;height:15px;position:relative;top:-2px}prm-search-result-frbr-line md-divider{width:1px;height:1em;display:inline-block;border-right:1px solid currentColor!important;-webkit-transform:rotate(15deg);transform:rotate(15deg);top:2px;position:relative;margin-left:.3em;margin-right:.3em}prm-copy-clipboard-btn .md-button{transition-duration:0s!important}prm-search-bookmark-filter{height:100%;margin-right:.5em}prm-logo{z-index:10;height:100%}prm-logo .product-logo{height:100%;padding:.85em;min-width:188px}prm-logo .logo-image,prm-main-menu,prm-main-menu .top-nav-bar-links{height:100%}prm-main-menu .md-button{box-shadow:1px 0 0 0 #4a667c;padding:0 .75em;max-width:12em}prm-main-menu .md-button:first-child{box-shadow:1px 0 0 0 #4a667c,-1px 0 0 0 #4a667c}prm-user-area{height:100%}prm-user-area>.md-button{padding:0 1em}prm-user-area .user-menu-button{display:inherit;line-height:1.3em}prm-user-area .mobile-menu-button{display:none}@media only screen and (max-width:600px){prm-user-area .mobile-menu-button{display:inherit}}prm-user-area .md-fab-action-item,prm-user-area .md-fab-toolbar-content,prm-user-area .md-fab-toolbar-wrapper,prm-user-area .md-toolbar-tools,prm-user-area md-fab-toolbar,prm-user-area md-fab-trigger,prm-user-area md-toolbar{height:100%}prm-user-area md-fab-trigger{border-radius:0}prm-user-area md-fab-trigger>.md-button{padding:0 1em}prm-user-area md-fab-trigger>.md-button .md-fab-toolbar-background{transition-duration:.3s}prm-user-area md-fab-toolbar{position:absolute;top:0;right:0;z-index:-1;width:auto;transition:z-index 0s .5s linear,opacity .3s .1s ease;width:100%}prm-user-area md-fab-toolbar md-toolbar{overflow:hidden}@media (-ms-high-contrast:active),all and (-ms-high-contrast:none){prm-user-area md-fab-toolbar md-toolbar{pointer-events:inherit!important}}prm-user-area md-fab-toolbar md-fab-actions.md-toolbar-tools{padding:0;margin:0}prm-user-area md-fab-toolbar .md-fab-action-item .md-button{height:100%;max-height:none;padding:0 1em;border-radius:0}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]){color:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]) md-icon{color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):focus,prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):hover{background-color:transparent;color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container{margin:0;padding:0 1em;height:100%;font-size:.7em;text-transform:uppercase;color:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-icon{position:relative;top:0;left:0;margin-right:.35em}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-icon path:not([fill=none]){fill:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]){color:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]) md-icon{color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]):hover{background-color:transparent;color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select{height:100%}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy .md-select-value,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select .md-select-value{margin:0;padding:0;border:none!important}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy .md-select-value span,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select .md-select-value span{top:-3px;position:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy .md-select-placeholder,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select .md-select-placeholder{color:inherit;border-bottom:none}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):focus,prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):hover,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]):focus,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]):hover{background-color:#4b687f;color:#fff;box-shadow:none!important}prm-user-area md-fab-toolbar.md-is-open{z-index:1;transition:z-index 0s .1s linear,opacity 0s 0s ease}prm-user-area md-fab-toolbar.md-is-open md-toolbar{width:auto;overflow:auto}prm-user-area md-fab-toolbar.md-is-open md-fab-trigger .md-fab-toolbar-background{background-color:#445e72!important;transition-duration:.2s}prm-user-area md-fab-toolbar.md-is-open .md-fab-action-item{transition-timing-function:cubic-bezier(.25,.8,.25,1)}prm-user-area md-toolbar{min-height:0}prm-user-area .user-name{text-transform:none;font-weight:600;color:#73e9ff;text-align:left;max-width:80px}prm-user-area .user-language{font-size:.85em;font-weight:300}prm-topbar{width:100%;color:#fff}prm-topbar .top-nav-bar{height:4em;position:relative}prm-topbar .topbar-wrapper{position:relative}prm-topbar .main-header-row{padding-top:2em;padding-bottom:2em;font-size:inherit}@media only screen and (max-width:600px){prm-topbar .main-header-row{padding:1.5em 0}}prm-topbar .md-button{color:#a9cdd6;text-transform:none;height:100%;border-radius:0;margin:0}prm-topbar .md-button:focus,prm-topbar .md-button:hover{background-color:#577892;color:#fff;box-shadow:none}prm-skip-to .md-button,prm-skip-to .md-button:hover,prm-skip-to .md-button:visited,prm-skip-to a,prm-skip-to a:hover,prm-skip-to a:visited{position:absolute;left:0;top:-100px;width:1px;height:1px;overflow:hidden}prm-skip-to .md-button:active,prm-skip-to .md-button:focus,prm-skip-to a:active,prm-skip-to a:focus{position:static;width:auto;height:auto;margin-left:1em}prm-search-bar{width:100%}prm-search-bar .search-wrapper{position:relative;padding:2em 1.5em}prm-search-bar .main-header-row{padding-top:2em;padding-bottom:2em;font-size:inherit}@media only screen and (max-width:600px){prm-search-bar .main-header-row{padding:1em 0}}@media only screen and (max-width:600px){prm-search-bar .search-element-wrapper{padding:0 1em}}prm-search-bar .search-input md-progress-linear,prm-search-bar .search-input md-progress-linear[md-mode=indeterminate]{opacity:.2;height:100%}prm-search-bar .search-input md-progress-linear .md-container,prm-search-bar .search-input md-progress-linear .md-container>div,prm-search-bar .search-input md-progress-linear[md-mode=indeterminate] .md-container,prm-search-bar .search-input md-progress-linear[md-mode=indeterminate] .md-container>div{height:100%}prm-search-bar .prm-top-bar-container .search-element{display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:4em;transition:height .3s cubic-bezier(.23,1,.32,1),border-color .3s ease,-webkit-transform .3s ease;transition:height .3s cubic-bezier(.23,1,.32,1),transform .3s ease,border-color .3s ease;transition:height .3s cubic-bezier(.23,1,.32,1),transform .3s ease,border-color .3s ease,-webkit-transform .3s ease;border:1px solid #a9cdd6;border-radius:3px}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element{display:block;height:auto;border:none}}prm-search-bar .prm-top-bar-container .search-element .search-input-container{font-size:1.6em;background-color:#53738c;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:2 0 auto;-ms-flex:2 0 auto;flex:2 0 auto;position:relative;border-top-left-radius:3px;border-bottom-left-radius:3px;height:auto}@media only screen and (max-width:960px){prm-search-bar .prm-top-bar-container .search-element .search-input-container{font-size:1.4em}}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-input-container{font-size:1.2em;line-height:3em;border-top-right-radius:3px;border-bottom-right-radius:3px;overflow:hidden}}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap{height:auto;box-shadow:none;width:100%}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input{font-size:1em;height:auto;color:hsla(0,0%,100%,.8);transition:background-color .2s ease,padding .5s cubic-bezier(.075,.82,.165,1)}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input{border-top-left-radius:3px;border-bottom-left-radius:3px;border:none}}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:hover{background-color:#597b96}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input::-webkit-input-placeholder{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:-moz-placeholder,prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input::-moz-placeholder{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:-ms-input-placeholder{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input+button{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus{background-color:#fff;color:#333}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus::-webkit-input-placeholder{color:rgba(51,51,51,.5)}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus:-moz-placeholder,prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus::-moz-placeholder{color:rgba(51,51,51,.5)}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus:-ms-input-placeholder{color:rgba(51,51,51,.5)}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus+button{color:#333}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap button{position:absolute;right:0;top:0;bottom:0}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap button svg path{fill:inherit}prm-search-bar .prm-top-bar-container .search-element .search-input-container .icon{position:absolute;color:rgba(171,190,205,.5);transition:height .3s ease,padding .3s ease;z-index:0;padding:.5em;width:2em;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;-webkit-align-items:center;-ms-flex-align:center;align-items:center}prm-search-bar .prm-top-bar-container .search-element .search-input-container .icon:before{display:table-cell;vertical-align:middle;text-align:center}prm-search-bar .prm-top-bar-container .search-element .search-input-container .search-actions .icon{color:#fff;right:0}prm-search-bar .prm-top-bar-container .search-element .search-options{display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 1em;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;height:auto;position:relative;background-color:rgba(169,205,214,.2)}prm-search-bar .prm-top-bar-container .search-element .search-options:hover{background-color:rgba(169,205,214,.3)}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-options{border:none;max-height:0;border-radius:3px;overflow:hidden;opacity:0;-webkit-transform:scale3d(.8,.8,1);transform:scale3d(.8,.8,1);-webkit-transform-origin:50% 0;transform-origin:50% 0;transition:max-height .4s cubic-bezier(.23,1,.32,1),opacity .3s ease,-webkit-transform .4s cubic-bezier(.23,1,.32,1);transition:max-height .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1),opacity .3s ease;transition:max-height .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1),opacity .3s ease,-webkit-transform .4s cubic-bezier(.23,1,.32,1)}.search-input-focused prm-search-bar .prm-top-bar-container .search-element .search-options{max-height:3em;opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}prm-search-bar .prm-top-bar-container .search-element .search-options md-input-container{margin:0;padding:0}prm-search-bar .prm-top-bar-container .search-element .search-options .md-input-container-dummy>.md-select-dummy,prm-search-bar .prm-top-bar-container .search-element .search-options md-select{width:100%}prm-search-bar .prm-top-bar-container .search-element .search-options .md-input-container-dummy>.md-select-dummy:focus .md-select-value,prm-search-bar .prm-top-bar-container .search-element .search-options md-select:focus .md-select-value{color:#fff}prm-search-bar .prm-top-bar-container .search-element .search-actions{-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}prm-search-bar .prm-top-bar-container .search-element .search-actions md-icon{width:2.5em;height:2.5em}prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button{border-radius:0;padding:0 1.2em;background-color:#a9cdd6;border:none;color:#fff;margin:0;min-width:0;transition:background-color .3s ease}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button{background-color:transparent;height:100%;position:absolute;top:0;right:0}}.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm,.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button{background-color:#53738c}.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm:hover,.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button:hover{background-color:#119211}prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm .icon,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button .icon{margin:0}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm .icon,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button .icon{color:hsla(0,0%,100%,.8);font-size:.7em;right:.5em}}prm-full-view{padding:0;position:relative}@media only screen and (max-width:960px){md-dialog prm-full-view{width:90%}}prm-full-view .services-index-under{position:absolute;left:1.5em;top:220px;z-index:1}.prm-full-view-dialog{border-radius:0;max-width:none;max-height:none;right:0;top:0;position:absolute;overflow:hidden;-webkit-transform:translate3d(20vh,0,0) scale(1)!important;transform:translate3d(20vh,0,0) scale(1)!important;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:80%;height:100%}.prm-full-view-dialog+.close-button{width:7em;height:7em;position:fixed;left:6%;top:0;bottom:0;margin:auto;opacity:0;-webkit-transform:translate3d(-5vh,0,0);transform:translate3d(-5vh,0,0);transition:all .3s cubic-bezier(.55,0,.55,.2)}.prm-full-view-dialog+.close-button .md-icon,.prm-full-view-dialog+.close-button md-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);transition:all .3s cubic-bezier(.55,0,.55,.2)}.prm-full-view-dialog+.close-button .md-icon svg path,.prm-full-view-dialog+.close-button md-icon svg path{fill:#fff;stroke-width:0}.prm-full-view-dialog.md-transition-in+.close-button{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .4s cubic-bezier(.25,.8,.25,1)}.prm-full-view-dialog.md-transition-in+.close-button .md-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg);transition:all .4s cubic-bezier(.25,.8,.25,1)}.prm-full-view-dialog.md-primoExplore-theme{border-radius:0}@media screen and (max-width:1920px){.prm-full-view-dialog{width:80%}}.prm-full-view-dialog.md-transition-in,.prm-full-view-dialog.transition-in{opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translateZ(0) scale(1)!important;transform:translateZ(0) scale(1)!important}.prm-full-view-dialog.md-transition-out,.prm-full-view-dialog.transition-out{transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transform:translate3d(20vh,0,0) scale(1)!important;transform:translate3d(20vh,0,0) scale(1)!important}.full-view-container{background-color:#f1f1f1}.overlay-mode .full-view-container{opacity:0;width:70%;max-width:90em;height:100%;right:0;position:absolute;overflow:scroll;overflow-x:hidden;-webkit-transform:translate3d(8em,0,0);transform:translate3d(8em,0,0);transition:opacity .2s linear,-webkit-transform .3s cubic-bezier(.39,.575,.565,1);transition:transform .3s cubic-bezier(.39,.575,.565,1),opacity .2s linear;transition:transform .3s cubic-bezier(.39,.575,.565,1),opacity .2s linear,-webkit-transform .3s cubic-bezier(.39,.575,.565,1)}@media only screen and (max-width:960px){.overlay-mode .full-view-container{width:90%}}.standalone-mode .full-view-container{padding:0;max-width:960px!important;position:relative}.full-details-displayed .full-view-container{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:opacity .5s ease,-webkit-transform .6s cubic-bezier(.23,1,.32,1);transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .5s ease;transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .5s ease,-webkit-transform .6s cubic-bezier(.23,1,.32,1)}.full-view-container .list-item{padding-bottom:1em}.full-view-container .list-item .media-body{padding-left:1em}.full-view-container .list-item-secondary-content{padding:0;padding-top:0!important;position:relative}.full-view-container .list-item-secondary-content .horizontal-content,.full-view-container .list-item-secondary-content .secondary-content-holder{opacity:1}.full-view-container .list-item-secondary-content .secondary-content-holder{width:100%}.full-view-container .list-item-secondary-content .horizontal-content{padding-left:0}.full-view-container .list-item-secondary-content ul{max-height:none;display:table}.full-view-container .list-item-secondary-content ul li{width:100%;display:table-row;font-weight:300}.full-view-container .list-item-secondary-content .data,.full-view-container .list-item-secondary-content .label{display:table-cell;vertical-align:top;padding-bottom:.25em}.full-view-container .list-item-secondary-content .label{margin-right:.5em}.full-view-container iframe{transition:all .4s cubic-bezier(.25,.8,.25,1)}.full-view-inner-container{padding:1em;z-index:0;padding-bottom:10em}.full-view-section{padding-left:2em;padding-right:2em;transition:opacity .3s ease;margin-top:3em}.full-view-section:first-of-type{margin-top:1em}.full-view-section:first-child{padding-top:0;padding:1em 2em}.full-view-section .section-header{margin-bottom:1em}.full-view-section .section-title{margin:0;line-height:1.2em;padding-right:1em;position:relative}.full-view-section .section-title .iframe-type{position:absolute;top:1em;left:0}.full-view-section .section-subtitle{font-size:.95em;font-weight:600;text-transform:uppercase}.full-view-section .section-body{padding-bottom:.5em}.full-view-section md-divider{border:none;margin-top:.5em;margin-bottom:.5em;opacity:.5;border-bottom:1px solid #c3c3c3}.full-view-section md-divider.inner-divider{opacity:.3}.full-view-section-content{position:relative;padding-left:7.5em}.full-view-section-content:after{content:"";position:absolute;top:0;left:5.5em;height:100%;width:10px;background:transparent;box-shadow:inset 4px 0 0 0 #dcdcdc,inset 0 4px 0 0 #dcdcdc,inset 0 -4px 0 0 #dcdcdc;opacity:0;transition:opacity 4s ease}.section-focused .full-view-section-content:after{opacity:1;transition:opacity .2s ease}.standalone-mode .full-view-section-content:after{left:7em}.standalone-mode .full-view-section-content{padding-left:9em}.services-index{position:fixed;margin-left:calc(-88px - 1em)}.services-index-under{position:absolute;left:1.5em;top:220px;z-index:1}prm-facet{width:100%}prm-facet [sticky]{position:relative}prm-facet [sticky].is-stuck{height:calc(100vh - 48px);overflow:auto;padding-bottom:3em}prm-facet.mobile-facets{position:fixed;left:0;top:0;height:100%;width:100%;z-index:10;padding:2em;opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1)}prm-facet.mobile-facets .ps-container{height:100%;padding-bottom:5em}.sidebar{padding-left:0}.screen-gt-sm .sidebar{padding-left:1.5em}.screen-sm .sidebar,.screen-xs .sidebar{position:fixed;top:0;left:0;width:100%;z-index:10;opacity:1;-webkit-transform:translateY(0);transform:translateY(0);transition:all .4s cubic-bezier(.25,.8,.25,1)}.screen-sm .sidebar.ng-hide,.screen-xs .sidebar.ng-hide{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}.screen-sm .sidebar.ng-hide.ng-hide-add,.screen-xs .sidebar.ng-hide.ng-hide-add{transition:all .3s cubic-bezier(.55,0,.55,.2)}.sidebar .md-button{-webkit-transform-origin:50% 0;transform-origin:50% 0}.sidebar-section{display:block}.sidebar-section md-input-container{max-width:60px}.sidebar-section md-input-container label{color:#777}.sidebar-section md-input-container input{border-bottom-width:1px;border-bottom-color:hsla(0,0%,47%,.5)}.sidebar-section md-input-container.md-input-focused input{border-bottom-width:2px;border-bottom-color:#777}.sidebar-section .md-input-container-dummy>.md-select-dummy,.sidebar-section md-select{display:inline-block;margin:0;margin-left:.5em}.sidebar-section .md-input-container-dummy>.md-select-dummy .md-select-value,.sidebar-section md-select .md-select-value{min-height:0}#sidebar-trigger{position:fixed;bottom:0;width:100%;z-index:10}.section-title{left:-.4em;text-transform:none;margin:.75em 0 .25em}.section-content .md-chips-wrap{padding-left:.5em}.section-content .md-chips{max-height:99em;opacity:1;transition:max-height .3s cubic-bezier(.23,1,.32,1),opacity .3s ease,z-index 0s .3s}.section-content .md-chips .md-chip{display:-webkit-flex;display:-ms-flexbox;display:flex;clear:left;padding-right:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}.section-content .md-chips .md-chip:first-child{margin-top:0}.section-content .md-chips .md-chip .button-exclude md-icon{height:22px;width:22px}.available-facets .section-content .md-chips .md-chip{cursor:pointer;background-color:transparent;padding:0;margin-top:0}.available-facets .section-content .md-chips .md-chip:first-child{margin-top:0}.available-facets .section-content .md-chips .md-chip .button-exclude{z-index:-10;opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0);transition:opacity .2s ease,z-index 0s .3s,-webkit-transform .3s cubic-bezier(.075,.82,.165,1);transition:transform .3s cubic-bezier(.075,.82,.165,1),opacity .2s ease,z-index 0s .3s;transition:transform .3s cubic-bezier(.075,.82,.165,1),opacity .2s ease,z-index 0s .3s,-webkit-transform .3s cubic-bezier(.075,.82,.165,1)}.available-facets .section-content .md-chips .md-chip .md-chip-remove{height:28px;display:none}.available-facets .section-content .md-chips .md-chip .md-chip-remove.button-exclude{display:inline}.available-facets .section-content .md-chips .md-chip .md-chip-remove-container{display:inline-block;position:inherit}.available-facets .section-content .md-chips .md-chip .md-chip-content{color:#777}.available-facets .section-content .md-chips .md-chip:hover{z-index:1}.available-facets .section-content .md-chips .md-chip:hover .md-chip-content{color:#000}.available-facets .section-content .md-chips .md-chip:hover .button-exclude{width:28px;z-index:1;opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:opacity .2s ease,z-index 0s 0s,-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s ease,z-index 0s 0s;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s ease,z-index 0s 0s,-webkit-transform .3s cubic-bezier(.23,1,.32,1)}.section-title-header,.sidebar-header{text-transform:none;font-weight:600;font-size:18px;font-size:1.15rem;color:#333;margin-bottom:0;margin-right:.5em}prm-breadcrumbs .md-chips:not(.md-readonly) .md-chip:not(.md-readonly) .md-chip-content{margin-right:.5em}prm-breadcrumbs .md-chip-remove-container:hover .md-chip-remove{color:tomato}prm-breadcrumbs .md-chip .md-chip-content strong:after{display:none}prm-main-menu[menu-type=full]{color:#fff;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}prm-main-menu[menu-type=full] md-backdrop{opacity:.8;z-index:-1}prm-main-menu[menu-type=full]>.md-button{position:fixed;right:1em;top:.5em;z-index:1}prm-main-menu[menu-type=full]>.md-button md-icon{color:inherit;height:44px;width:44px}@media only screen and (min-width:601px){prm-main-menu[menu-type=full]>.md-button md-icon{height:54px;width:54px}}prm-main-menu[menu-type=full] prm-change-lang md-input-container{padding:0;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}prm-main-menu[menu-type=full] prm-change-lang md-input-container .md-input-container-dummy>.md-select-dummy,prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]),prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]):focus,prm-main-menu[menu-type=full] prm-change-lang md-input-container md-select{padding-left:2px;font-size:1.05em}prm-main-menu[menu-type=full] prm-change-lang md-input-container .md-input-container-dummy>.md-select-dummy .md-select-value,prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]) .md-select-value,prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]):focus .md-select-value,prm-main-menu[menu-type=full] prm-change-lang md-input-container md-select .md-select-value{border-width:0;color:#fff}prm-main-menu[menu-type=full] prm-authentication .md-button+.md-button{margin-top:1em}prm-main-menu[menu-type=full] .user-area{border:1px solid hsla(0,0%,100%,.5);border-radius:3px}prm-main-menu[menu-type=full] .user-area .overlay-menu-item:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.5)}prm-main-menu[menu-type=full] .user-area .md-button{padding:.5em}.overlay-menu{position:fixed;z-index:100;top:0;bottom:0;left:0;right:0;background-color:rgba(60,83,102,.85);color:#fff;height:100%;overflow:auto;transition:opacity .2s ease,z-index 0s .2s}@media only screen and (min-width:601px){.overlay-menu{font-size:1rem}}.overlay-menu md-content{background-color:transparent;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;color:#fff}.overlay-menu .close-button{opacity:1;color:#fff;right:1em;position:fixed;top:0;left:auto;-webkit-transform:none;transform:none;cursor:pointer;width:80px;height:80px;margin:0;padding:0;max-height:none;max-width:none;z-index:1000;border-radius:50%;min-width:0;min-height:0}.overlay-menu .close-button md-icon{fill:#fff;width:100%;height:100%}.overlay-menu .close-button:active,.overlay-menu .close-button:hover{background-color:transparent}.overlay-menu .overlay-menu-content{margin:2em 1em;max-width:1300px}@media only screen and (min-width:601px){.overlay-menu .overlay-menu-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:2em;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-ms-grid-column-align:flex-start;justify-items:flex-start;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-left:auto;margin-right:auto}}.overlay-menu .overlay-menu-divider{height:1px;width:100%;background-color:hsla(0,0%,100%,.5);margin:1em 0}.overlay-menu .overlay-menu-item{cursor:pointer}@media only screen and (min-width:601px){.overlay-menu .overlay-menu-item{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:20em;max-width:20em;padding:1em}.overlay-menu .overlay-menu-item:last-child{-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}}.overlay-menu .overlay-menu-item:hover{background-color:rgba(64,89,108,.7)}.overlay-menu .overlay-menu-item .md-button{padding-left:0}.overlay-menu .item-title{font-size:1.5em;color:#73e9ff;margin-top:0;margin-bottom:.2em}.overlay-menu .item-content{font-weight:400;margin:0;font-size:1em}prm-favorites-tool-bar .favorites-action-list{position:relative;z-index:11;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}prm-favorites-tool-bar .favorites-action-list.is-stuck{z-index:11!important}prm-favorites-tool-bar .favorites-action-list.ng-enter{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:scale3d(.8,.8,1) translateX(-30px);transform:scale3d(.8,.8,1) translateX(-30px);opacity:0}prm-favorites-tool-bar .favorites-action-list.ng-enter.ng-enter-active,prm-favorites-tool-bar .favorites-action-list.ng-leave{-webkit-transform:scaleX(1) translateX(0);transform:scaleX(1) translateX(0);opacity:1}prm-favorites-tool-bar .favorites-action-list.ng-leave{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.2s}prm-favorites-tool-bar .favorites-action-list.ng-leave.ng-leave-active{opacity:0;-webkit-transform:scale3d(.8,.8,1) translateX(-30px);transform:scale3d(.8,.8,1) translateX(-30px)}prm-favorites-tool-bar .action-list-content{position:absolute;padding:0;z-index:100}prm-favorites-tool-bar .action-list-content>md-content{overflow:visible}prm-favorites-tool-bar .action-list-content prm-action-list{background:#fff}prm-favorites-tool-bar .action-list-content prm-action-list md-tabs{margin:0}prm-favorites-record-labels .media-labels .label-item,prm-favorites-record-labels .media-labels .label-item.md-chip,prm-favorites-record-labels .media-labels.md-chips .label-item,prm-favorites-record-labels .media-labels.md-chips .label-item.md-chip{height:2em;line-height:2em;font-size:.85em;padding:0 .75em}prm-favorites-edit-labels-menu .labels-menu-button{opacity:.5;margin:0;margin-top:.35em}prm-favorites-edit-labels-menu .labels-menu-button:hover{opacity:1}prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon{font-size:.8rem;font-weight:600;letter-spacing:.03em;border-radius:1.2em;line-height:32px;min-height:32px}prm-favorites-tool-bar prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon{border-radius:3px;line-height:36px;min-height:36px}prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon md-icon{height:20px;width:20px}prm-favorites-tool-bar prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon md-icon{height:24px;width:24px}prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon .md-ripple-container{border-radius:1.2em}.collections-wrapper{margin:0;width:100vw}.collections-wrapper p:first-child{margin-top:0}.collections-wrapper md-content,.collections-wrapper md-toolbar.md-primoExplore-theme:not(.md-menu-toolbar){background-color:#f1f1f1}.collections-wrapper md-content{padding:2em 3.5em}.collections-wrapper md-toolbar .md-toolbar-tools{height:auto;max-height:none}.collections-wrapper md-toolbar.md-primoExplore-theme:not(.md-menu-toolbar) .md-toolbar-tools,.collections-wrapper md-toolbar.md-primoExplore-theme:not(.md-menu-toolbar) md-icon{color:rgba(0,0,0,.87)!important}.collections-wrapper .collection-title{font-size:1.3em;height:1em;line-height:1em;margin-bottom:.5em}.collections-wrapper .collection-title .back-button{width:2em;height:1em}.collections-wrapper .collection-cover{-webkit-flex:0 1 calc(100% - 1em);-ms-flex:0 1 calc(100% - 1em);flex:0 1 calc(100% - 1em);max-width:1080px;position:relative;background-color:transparent;box-shadow:none;margin:0 0 3em}.collections-wrapper .collection-cover md-card-content{padding:0}.list-view .collections-wrapper .collection-cover md-card-content,.tile-view .collections-wrapper .collection-cover md-card-content{padding-top:0;padding-right:3em;padding-bottom:2.75em}.list-view .collections-wrapper .collection-cover .goto-link,.tile-view .collections-wrapper .collection-cover .goto-link{right:2em;font-size:1.4em;margin-top:0;bottom:0;top:auto}.collections-wrapper .cover-image-container{position:relative;margin-left:3em}.collections-wrapper .cover-image-container .md-card-image{border-radius:0;height:auto;max-height:100%;width:auto;max-width:100%;box-shadow:0 0 0 7px #fff,0 0 0 8px #dfdfdf,0 3px 25px -3px rgba(0,0,0,.5)}.collections-wrapper .info-container{margin-top:1em;margin-bottom:.5em;padding-top:0;border:1px solid #dfdfdf}.collections-wrapper .info-block{padding:1em;border-left:1px solid #dfdfdf}.collections-wrapper .info-block:first-child{border-left:none}.collections-wrapper .info-block .info-label{font-weight:700}.collections-wrapper .collection-section{display:block;width:100%}.collections-wrapper .collection-section .section-title{font-size:inherit;font-weight:inherit}.collections-wrapper .collection-item:not(.no-image):nth-child(1),.collections-wrapper .collection-item:not(.no-image):nth-child(2),.collections-wrapper .collection-item:not(.no-image):nth-child(3),.collections-wrapper .collection-item:not(.no-image):nth-child(4),.collections-wrapper .collection-item:not(.no-image):nth-child(5),.collections-wrapper .collection-item:not(.no-image):nth-child(6),.collections-wrapper .collection-item:not(.no-image):nth-child(7),.collections-wrapper .collection-item:not(.no-image):nth-child(8),.collections-wrapper .collection-item:not(.no-image):nth-child(9),.collections-wrapper .collection-item:not(.no-image):nth-child(10),.collections-wrapper .collection-item:not(.no-image):nth-child(11),.collections-wrapper .collection-item:not(.no-image):nth-child(12),.collections-wrapper .collection-item:not(.no-image):nth-child(13),.collections-wrapper .collection-item:not(.no-image):nth-child(14),.collections-wrapper .collection-item:not(.no-image):nth-child(15){display:none}.collection-actions{box-shadow:0 0 0 1px rgba(0,0,0,.17);-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;margin-top:1.5em;margin-right:1em}.collection-actions md-icon{line-height:32px;width:32px;height:32px}.collection-item{padding-right:1em}.collection-item.keep{display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.collection-item .md-card-image{background-size:cover;background-repeat:no-repeat;background-position:center;min-width:100px;width:100%;min-height:200px}.collection-item .md-title{margin-bottom:.5em;font-size:1.4em;margin-top:0;line-height:1.2em}.collection-item md-icon svg{width:100%;height:100%}.collection-item a.md-button.md-primoExplore-theme{display:block;font-size:1.1em;color:#0075b0;box-shadow:0 0 0 0 #dfdfdf}.collection-item a.md-button.md-primoExplore-theme span{text-transform:none}.collection-item a.md-button.md-primoExplore-theme span:hover{text-decoration:underline!important}.collection-item md-button{cursor:progress}.collection-item md-card{margin:0 0 1em;width:100%;border-radius:3px;box-shadow:0 3px 15px -5px rgba(0,0,0,.2)}.collection-item md-card md-card-content p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-item md-card md-card-content section{bottom:.5em;right:1em;position:absolute}.tile-view .collection-item md-card md-card-content{padding-bottom:2.75em}.list-view .collection-item md-card md-card-content{padding-right:13em}.collection-item md-card-content{position:relative}.collection-item md-card-content p+p{margin-top:.5em}.collection-item .chevron-right{font-size:1.2em;vertical-align:middle}.collection-item .goto-link{display:block;font-size:1.1em;position:absolute}.tile-view .collection-item .goto-link{bottom:.5em;right:1em}.list-view .collection-item .goto-link{bottom:0;top:0;margin:auto;height:1.5em;right:1em}prm-collection-breadcrumbs{margin-bottom:.2em;margin-top:2em;font-size:.65em;font-weight:400}prm-collection-breadcrumbs .md-button,prm-collection-breadcrumbs .md-button.md-primoExplore-theme:not(.md-menu-toolbar){display:inline-block;color:#0075b0;text-transform:none;margin:0;min-height:2.2em;line-height:2.2em}prm-collection-breadcrumbs md-icon{opacity:.5}prm-collection-breadcrumbs md-icon path{fill:#0075b0}.md-autocomplete-suggestions.md-primoExplore-theme li,.md-autocomplete-suggestions li{background-color:#fff;font-weight:400;font-size:1.15em}.md-autocomplete-suggestions.md-primoExplore-theme li .highlight,.md-autocomplete-suggestions li .highlight{font-weight:600;color:rgba(0,0,0,.87)}md-progress-linear[md-mode=indeterminate]{position:absolute;height:15px;bottom:0;z-index:10}md-progress-linear[md-mode=indeterminate] .md-container{height:15px;top:auto}md-progress-linear[md-mode=indeterminate] .md-container .md-bar{height:15px}md-progress-linear[md-mode=indeterminate].header-progress-bar .md-container{background-color:#5c809c}md-progress-linear[md-mode=indeterminate].header-progress-bar .md-bar{background-color:#a9cdd6}md-backdrop.md-opaque{background-color:#3c5366}.background-dark md-backdrop.md-opaque{opacity:.85}.background-dark md-backdrop.md-opaque.ng-enter{opacity:0}.background-dark md-backdrop.md-opaque.ng-enter.ng-enter-active{opacity:.85}md-dialog{background-color:#fff}md-dialog .loader-wrapper{position:absolute;top:0;left:0;height:100%;width:100%}md-dialog .loader-wrapper .loader{height:10%}md-dialog .error-warning-message{padding:1em 2em}md-dialog.small-dialog{min-width:320px}md-dialog.in-element-dialog{width:100%;height:100%;max-height:none;max-width:none;background-color:hsla(0,0%,100%,.8);padding-right:1em}md-dialog.in-element-dialog.md-transition-in{transition-duration:.3s}md-dialog.in-element-dialog.md-transition-out{transition-duration:.2s}.has-expand md-dialog.in-element-dialog{padding-right:5.5em}md-dialog.in-element-dialog .md-dialog-content{padding:0}md-dialog.in-element-dialog .md-actions,md-dialog.in-element-dialog md-dialog-actions{margin-top:0}md-dialog.light-on-dark-dialog{background-color:transparent;background-color:rgba(64,83,98,.3);border:1px solid #fff;color:#fff}md-dialog.light-on-dark-dialog a{color:#73e9ff}md-dialog.light-on-dark-dialog .md-button,md-dialog.light-on-dark-dialog button{color:#fff}md-dialog.light-on-dark-dialog .md-button.back-button:hover,md-dialog.light-on-dark-dialog button.back-button:hover{background-color:rgba(64,83,98,.85)}md-dialog.light-on-dark-dialog .loader-wrapper{background-color:rgba(64,83,98,.5);z-index:100}md-dialog.light-on-dark-dialog .loader-wrapper .loader .diamond{background:#fff}md-dialog.light-on-dark-dialog md-toolbar,md-dialog.light-on-dark-dialog md-toolbar:not(.md-menu-toolbar){background-color:transparent;color:#fff}md-dialog.light-on-dark-dialog md-toolbar .md-button,md-dialog.light-on-dark-dialog md-toolbar:not(.md-menu-toolbar) .md-button{width:64px}md-dialog.light-on-dark-dialog .dialog-actions button,md-dialog.light-on-dark-dialog .dialog-actions button.md-button,md-dialog.light-on-dark-dialog md-toolbar .md-button md-icon,md-dialog.light-on-dark-dialog md-toolbar:not(.md-menu-toolbar) .md-button md-icon{color:#fff}md-dialog.light-on-dark-dialog .collapsable-container md-list md-list-item .md-list-item-inner{color:#73e9ff}md-dialog.light-on-dark-dialog .collapsable-container p{color:#fff}md-dialog.light-on-dark-dialog .error-color{color:#ff8e7a}md-dialog.light-on-dark-dialog .button-confirm{background-color:hsla(0,0%,100%,.1);color:#fff;box-shadow:inset 0 0 0 1px transparent}md-dialog.light-on-dark-dialog .button-confirm:focus,md-dialog.light-on-dark-dialog .button-confirm:hover{background-color:hsla(0,0%,100%,.2);box-shadow:inset 0 0 0 1px #fff;transition-duration:.2s}md-dialog.light-on-dark-dialog md-content{padding:0}md-dialog.light-on-dark-dialog md-input-container .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused:not(.md-input-invalid) .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused:not(.md-input-invalid) input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused:not(.md-input-invalid) label,md-dialog.light-on-dark-dialog md-input-container.md-input-focused input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused label,md-dialog.light-on-dark-dialog md-input-container.md-input-has-value .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-has-value input,md-dialog.light-on-dark-dialog md-input-container.md-input-has-value label,md-dialog.light-on-dark-dialog md-input-container input,md-dialog.light-on-dark-dialog md-input-container label{border-color:#fff;color:#fff}md-dialog.light-on-dark-dialog .dialog-title{color:#fff}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style,md-dialog.light-on-dark-dialog .md-list md-list-item,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style,md-dialog.light-on-dark-dialog md-list md-list-item,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style{margin:0}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-button,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-button,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style button,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item button,md-dialog.light-on-dark-dialog .md-list md-list-item .md-button,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-button,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style button,md-dialog.light-on-dark-dialog .md-list md-list-item button,md-dialog.light-on-dark-dialog md-list md-list-item .md-button,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-button,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style button,md-dialog.light-on-dark-dialog md-list md-list-item button{padding:1em}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text h3,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text h3,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text h3,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text h3,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text h3,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text h3{color:#73e9ff}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text ul,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text ul,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text ul,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text ul,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text p,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text ul,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text p,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text ul{color:#fff}md-dialog.light-on-dark-dialog .md-list[class$=-line] button.md-button:not([disabled]):hover,md-dialog.light-on-dark-dialog .md-list button.md-button:not([disabled]):hover,md-dialog.light-on-dark-dialog md-list button.md-button:not([disabled]):hover{background-color:rgba(64,83,98,.85)}md-dialog md-toolbar{padding:0 16px}md-dialog md-toolbar:not(.md-menu-toolbar){background-color:#e9e9e9;color:rgba(0,0,0,.87)}md-dialog.tabbed-dialog{padding:0}.in-element-dialog-context{-webkit-transform:scale(1);transform:scale(1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;transition-duration:.2s}.in-element-dialog-context.dialog-context-active{-webkit-transform:scale(.93);transform:scale(.93);transition-duration:.4s}.dialog-divider{position:block;width:100%;height:1px;margin-top:.5em;margin-bottom:.5em;background-color:rgba(0,0,0,.37)}.dialog-divider.transparent-divider{background-color:transparent}md-content,md-content.md-primoExplore-theme{background-color:transparent;box-shadow:0 0 0 0 #f1c16f;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-content.editable,md-content.md-primoExplore-theme.editable{box-shadow:0 0 0 3px #f1c16f}md-content.md-primoExplore-theme.opaque-content,md-content.opaque-content{background-color:#fff}md-sidenav,md-sidenav.md-primoExplore-theme{background-color:transparent}md-tabs md-tabs-wrapper prm-icon{display:-webkit-flex;display:-ms-flexbox;display:flex}md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]){color:rgba(0,0,0,.57)}md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]).md-active,md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]).md-focused{color:#53738c}md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]) md-icon{margin-left:.35em;width:18px;height:18px}md-tabs.hide-tabs-arrows md-tabs-canvas,md-tabs.hide-tabs-arrows md-tabs-wrapper{margin:0}.hidden-tabs>md-tabs-wrapper,md-tabs.hide-tabs-arrows md-next-button,md-tabs.hide-tabs-arrows md-prev-button{display:none}.default-tabs>md-tabs-wrapper{background-color:transparent}md-tab-content{transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1)}.static-tabs md-tab-content{padding:1em}md-tab-content h2{margin-top:0}md-tab-content .tab-content-header{margin-bottom:1em}md-tab-content .tab-content-header md-input-container{margin:0}md-tab-content .header-title md-input-container{margin-left:1em}md-tab-content .tab-header-actions md-divider{margin:0 .5em}md-tab-content .tab-header-actions .md-button{margin:0}.icon-tabs md-tab-item:not([disabled]) md-icon,.icon-tabs md-tab-item md-icon{width:24px;height:24px;margin:0}.icon-tabs md-tab-item .button-text,.icon-tabs md-tab-item:not([disabled]) .button-text{font-size:.75em;font-weight:400;letter-spacing:.05em}md-tabs.has-dummy-tab md-tab-item:first-child{display:none}.has-dummy-tab md-ink-bar{left:-20px}.tab-description{max-width:40em;margin-bottom:1em}.tab-label-count{width:18px;height:18px;border-radius:50%;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-left:.3em;font-size:.85em;font-weight:400;font-size:1.2rem}.tab-label-count.label-warning{box-shadow:0 0 0 1px tomato}md-tabs.vertical-tabs{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-tabs.vertical-tabs md-tabs-wrapper{position:relative;-webkit-flex:1 0 40%;-ms-flex:1 0 40%;flex:1 0 40%;height:auto}md-tabs.vertical-tabs md-tabs-content-wrapper{-webkit-flex:1 0 60%;-ms-flex:1 0 60%;flex:1 0 60%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}md-tabs.vertical-tabs md-pagination-wrapper{width:100%!important;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;height:auto}md-tabs.vertical-tabs md-tabs-canvas{overflow:visible}md-tabs.vertical-tabs md-ink-bar{display:none}md-tabs.vertical-tabs md-tab-item{text-transform:none;min-height:28px}md-tabs.vertical-tabs:not(.md-dynamic-height){min-height:120px}md-tabs.vertical-tabs[md-align-tabs=bottom]{padding-bottom:0}md-tabs.scale-transition md-tab-content{display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-transform-origin:50% 0;transform-origin:50% 0;transition:-webkit-transform .6s cubic-bezier(.19,1,.22,1);transition:transform .6s cubic-bezier(.19,1,.22,1);transition:transform .6s cubic-bezier(.19,1,.22,1),-webkit-transform .6s cubic-bezier(.19,1,.22,1);overflow:auto;z-index:1}md-tabs.scale-transition md-tab-content.md-no-scroll{bottom:auto;overflow:hidden}md-tabs.scale-transition md-tab-content.md-no-transition,md-tabs.scale-transition md-tab-content.ng-leave{transition:none}md-tabs.scale-transition md-tab-content.md-left:not(.md-active){-webkit-transform:translateY(-5%) scale3d(.9,.9,1);transform:translateY(-5%) scale3d(.9,.9,1);-webkit-animation:.3s md-tab-content-scale-hide;animation:.3s md-tab-content-scale-hide;opacity:0;z-index:-1}md-tabs.scale-transition md-tab-content.md-left:not(.md-active) *{transition:visibility 0s linear;transition-delay:.3s;visibility:hidden}md-tabs.scale-transition md-tab-content.md-right:not(.md-active){-webkit-transform:translateY(-5%) scale3d(.9,.9,1);transform:translateY(-5%) scale3d(.9,.9,1);-webkit-animation:.3s md-tab-content-scale-hide;animation:.3s md-tab-content-scale-hide;opacity:0;z-index:-1}md-tabs.scale-transition md-tab-content.md-right:not(.md-active) *{transition:visibility 0s linear;transition-delay:.3s;visibility:hidden}md-tabs.scale-transition md-tab-content>div.ng-leave{-webkit-animation:.3s md-tab-content-scale-hide;animation:.3s md-tab-content-scale-hide;z-index:-1}md-tabs.tabs-as-links md-tab-item,md-tabs.tabs-as-links md-tab-item:not([disabled]){color:#0075b0;padding:0}md-tabs.tabs-as-app .back-button{color:#0075b0;margin-bottom:.5em}md-tabs.tabs-as-app .back-button.ng-hide-remove{transition:all .4s .2s cubic-bezier(.25,.8,.25,1);-webkit-transform:translateX(30px);transform:translateX(30px);opacity:0}md-tabs.tabs-as-app .back-button.ng-hide-remove.ng-hide-remove-active{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}#full-view-item-actions md-tabs md-ink-bar{margin:0 1em}.md-button:focus,.md-button:hover{background-color:rgba(0,0,0,.07)}.md-button.md-primary:not([disabled]),.md-button.md-primary:not([disabled]) md-icon{color:#5c92bd}.md-button.button-large{font-size:1.2em;padding:.25em .75em}.md-button.button-large.button-with-icon{padding-left:.5em}.md-button.button-large.button-with-icon>prm-icon+span{padding-right:0}.md-button.button-confirm{color:#198a19}.md-button.button-confirm:focus,.md-button.button-confirm:hover{background-color:rgba(25,138,25,.1);transition-duration:.2s}.md-button.button-confirm md-icon{color:#198a19}.md-button.button-secondary{color:#ce8015}.md-button.button-zero-radius,.md-button.md-icon-button.square-button{border-radius:0}.md-button.md-icon-button.icon-button-large md-icon{width:40px;height:40px}.md-button.button-with-icon>prm-icon md-icon{position:relative;top:-2px}.md-button.button-with-icon>prm-icon+span{padding-right:.5em}.md-button.button-large .md-button.button-with-icon>prm-icon+span{padding-right:0}.md-button.button-with-icon>span+prm-icon{margin-right:0}.md-button.button-with-icon>span+prm-icon md-icon{margin-left:5px;margin-right:0}.md-button.outline-button{border:1px solid}.md-button.md-raised:not([disabled]){box-shadow:0 2px 8px -4px rgba(0,0,0,.26)}.md-button.button-prompt{background-color:#f1c16f;color:#000}.md-button[disabled=disabled]{color:#ccc!important}.md-button.button-as-link{color:#0075b0;text-transform:none;font-size:1em;min-width:0;padding:.4em .35em;line-height:1em;min-height:0;margin:0 .25em;overflow:visible;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;letter-spacing:0}.md-button.button-as-link md-icon{height:20px;width:20px}.md-button.button-as-link:hover{background-color:rgba(0,0,0,.07)}.md-button.button-external-link prm-icon{color:rgba(77,77,77,.87)}.md-button.button-external-link prm-icon md-icon{top:-1px;position:relative;height:15px;width:15px}.md-button.inline-button{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.md-button.md-mini{line-height:40px;width:40px;height:40px}.md-button.show-more-button{text-transform:none;color:#45aab4}md-list+.md-button.show-more-button{width:100%;background-color:hsla(0,0%,100%,.5)}.md-button.button-right-align{margin:0;padding-right:1em;min-width:0;padding-left:1em}.md-button.flex-button{display:-webkit-flex;display:-ms-flexbox;display:flex}a.flex-button.md-button{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.md-button.multi-line-button{white-space:normal;line-height:1em}.md-button.button-full-height{height:100%}.tiles-grid-tile .tile-content,.tiles-grid-tile md-list,md-grid-tile .tile-content,md-grid-tile md-list{padding:0;width:100%;position:relative}.tiles-grid-tile .tile-content md-list-item,.tiles-grid-tile md-list md-list-item,md-grid-tile .tile-content md-list-item,md-grid-tile md-list md-list-item{position:relative;padding:1em 1.5em;border-bottom:1px solid #e9e9e9;min-height:0;cursor:pointer}.tiles-grid-tile .tile-content md-list-item:last-child,.tiles-grid-tile md-list md-list-item:last-child,md-grid-tile .tile-content md-list-item:last-child,md-grid-tile md-list md-list-item:last-child{margin-bottom:0;box-shadow:none;border:none}.tiles-grid-tile .tile-content md-list-item .tile-item-arrow,.tiles-grid-tile md-list md-list-item .tile-item-arrow,md-grid-tile .tile-content md-list-item .tile-item-arrow,md-grid-tile md-list md-list-item .tile-item-arrow{position:absolute;top:0;right:.5em;bottom:0;margin:auto;height:48px;transition:all .4s cubic-bezier(.25,.8,.25,1);opacity:0;-webkit-transform:translate3d(-1em,0,0);transform:translate3d(-1em,0,0)}.tiles-grid-tile .tile-content md-list-item .tile-item-arrow prm-icon,.tiles-grid-tile md-list md-list-item .tile-item-arrow prm-icon,md-grid-tile .tile-content md-list-item .tile-item-arrow prm-icon,md-grid-tile md-list md-list-item .tile-item-arrow prm-icon{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}.tiles-grid-tile .tile-content md-list-item:hover,.tiles-grid-tile md-list md-list-item:hover,md-grid-tile .tile-content md-list-item:hover,md-grid-tile md-list md-list-item:hover{background-color:#fff}.tiles-grid-tile .tile-content md-list-item:hover .tile-item-arrow,.tiles-grid-tile md-list md-list-item:hover .tile-item-arrow,md-grid-tile .tile-content md-list-item:hover .tile-item-arrow,md-grid-tile md-list md-list-item:hover .tile-item-arrow{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}.tiles-grid-tile .tile-content md-list-item .no-wrap-line,.tiles-grid-tile md-list md-list-item .no-wrap-line,md-grid-tile .tile-content md-list-item .no-wrap-line,md-grid-tile md-list md-list-item .no-wrap-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tiles-grid-tile .tile-content md-list-item .has-icon-on-left,.tiles-grid-tile md-list md-list-item .has-icon-on-left,md-grid-tile .tile-content md-list-item .has-icon-on-left,md-grid-tile md-list md-list-item .has-icon-on-left{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin-left:-2px}.tiles-grid-tile .tile-content md-list-item .has-icon-on-left prm-icon,.tiles-grid-tile md-list md-list-item .has-icon-on-left prm-icon,md-grid-tile .tile-content md-list-item .has-icon-on-left prm-icon,md-grid-tile md-list md-list-item .has-icon-on-left prm-icon{display:-webkit-flex;display:-ms-flexbox;display:flex}.tiles-grid-tile .tile-content md-list-item .has-icon-on-left md-icon,.tiles-grid-tile md-list md-list-item .has-icon-on-left md-icon,md-grid-tile .tile-content md-list-item .has-icon-on-left md-icon,md-grid-tile md-list md-list-item .has-icon-on-left md-icon{margin-left:0;width:18px;height:18px;min-width:18px;margin-right:.2em}.tiles-grid-tile .tile-content md-divider,.tiles-grid-tile md-list md-divider,md-grid-tile .tile-content md-divider,md-grid-tile md-list md-divider{border-color:#e9e9e9}.tiles-grid-tile .tile-content .md-list-item-text,.tiles-grid-tile md-list .md-list-item-text,md-grid-tile .tile-content .md-list-item-text,md-grid-tile md-list .md-list-item-text{max-width:100%}.tiles-grid-tile .tile-content .md-list-item-text h3,.tiles-grid-tile md-list .md-list-item-text h3,md-grid-tile .tile-content .md-list-item-text h3,md-grid-tile md-list .md-list-item-text h3{margin-bottom:.15em}.tiles-grid-tile .tile-content .md-list-item-text h4,.tiles-grid-tile md-list .md-list-item-text h4,md-grid-tile .tile-content .md-list-item-text h4,md-grid-tile md-list .md-list-item-text h4{margin-bottom:3px}.tiles-grid-tile .tile-content .item-index,.tiles-grid-tile md-list .item-index,md-grid-tile .tile-content .item-index,md-grid-tile md-list .item-index{position:absolute;font-size:.8em;opacity:.4;top:.5em;left:.6em}md-grid-list .tiles-grid-tile figure,md-grid-list md-grid-tile figure{bottom:auto;height:auto;-webkit-align-items:flex-start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.tiles-grid-tile .tile-header,md-grid-tile .tile-header{padding:.4em .4em .4em .6em}.tiles-grid-tile .tile-header .small-text,md-grid-tile .tile-header .small-text{font-size:.8em}.tiles-grid-tile .tile-header .tab-label-count,md-grid-tile .tile-header .tab-label-count{position:relative;top:-2px}.tiles-grid-tile .tile-header .header-link,md-grid-tile .tile-header .header-link{margin:0;font-size:1.5em;cursor:pointer;position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex}.tiles-grid-tile .tile-header .header-link .arrow-icon,md-grid-tile .tile-header .header-link .arrow-icon{left:-.8px;position:relative;opacity:0;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .4s cubic-bezier(.25,.8,.25,1)}.tiles-grid-tile .tile-header .header-link .alert-icon,md-grid-tile .tile-header .header-link .alert-icon{position:absolute;right:5px;top:5px;width:21px;opacity:.8}.tiles-grid-tile .tile-header .header-link:hover .arrow-icon,md-grid-tile .tile-header .header-link:hover .arrow-icon{opacity:1;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.tiles-grid-tile .tile-header .header-link:hover .alert-icon,md-grid-tile .tile-header .header-link:hover .alert-icon{opacity:1}.tiles-grid-tile .tile-header .md-button,md-grid-tile .tile-header .md-button{margin:0;min-height:0;line-height:28px}.tiles-grid-tile .tile-header .md-button md-icon,md-grid-tile .tile-header .md-button md-icon{position:initial;color:inherit;height:16px;width:16px;vertical-align:middle;margin-top:-3px}.tiles-grid-tile .message-with-icon md-icon,md-grid-tile .message-with-icon md-icon{width:60px;height:60px;color:#e9e9e9}md-card{box-shadow:none;background-color:#fff}md-card.default-card{font-size:1rem;line-height:1.5rem}md-card.default-card md-card-title{padding:24px 16px 16px}md-card.default-card md-card-title+md-card-content{padding-top:0}md-card.default-card md-card-content{padding:16px}md-card.editable{background-color:#fff}md-card.editable.editable-active .card-divider{opacity:0}md-card.card-with-header-actions{position:relative}md-card.zero-margin md-card-content{margin:0}md-card.zero-padding md-card-content{padding:0}md-card.transparent-card{background-color:transparent}md-card.medium-card{max-width:500px}md-card md-toolbar .md-toolbar-tools:not(.md-menu-toolbar){padding:0 16px}md-card md-toolbar .md-toolbar-tools:not(.md-menu-toolbar)>.md-button:last-child{margin-right:0}md-card md-toolbar+md-card-content{padding-top:0}md-card md-card-content{padding:2em 1em}md-card .card-content-block.border-left{padding-left:1.5em}md-card .card-header-actions{position:absolute;right:.5em;top:.3em}md-card .card-header-actions .md-button{overflow:visible}md-card .card-divider{width:100%;height:1px;margin:1em 1.5em 2em}md-card md-input-container .md-input-container-dummy>.md-select-dummy md-select-value,md-card md-input-container md-select md-select-value{border-bottom-color:transparent!important}md-card md-checkbox{padding-left:2em}md-card md-checkbox.has-small-text .md-container{left:14px}input{border-style:none;font-family:inherit}.md-input[type=email],.md-input[type=password],.md-input[type=text],textarea{border-bottom-color:rgba(0,0,0,.17)}.md-input-focused .md-input[type=email],.md-input-focused .md-input[type=password],.md-input-focused .md-input[type=text],.md-input-focused textarea{border-bottom-color:rgba(0,0,0,.37)}md-input-container label{font-weight:inherit;color:rgba(0,0,0,.52)}md-input-container input+[ng-messages]{max-height:3em;min-height:24px;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-input-focused label:not(.md-no-float),md-input-container.md-input-has-placeholder label:not(.md-no-float),md-input-container.md-input-has-value label:not(.md-no-float){opacity:.6;-webkit-transform:translate3d(0,6px,0) scale(.85);transform:translate3d(0,6px,0) scale(.85)}md-input-container.label-on-left{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-input-container.label-on-left md-select-value{min-height:auto}md-input-container.centered-input{text-align:center}md-input-container.centered-input label{-webkit-transform-origin:center top;transform-origin:center top}md-input-container.centered-input input{text-align:center}md-input-container.static-select{-webkit-align-items:inherit;-ms-flex-align:inherit;-ms-grid-row-align:inherit;align-items:inherit}md-input-container.static-select label,md-input-container.static-select label:not(.md-no-float){-webkit-transform:translate3d(38px,0,0) scale(1);transform:translate3d(38px,0,0) scale(1);transition:all .4s cubic-bezier(.25,.8,.25,1);opacity:1}md-input-container.static-select.md-input-has-value label,md-input-container.static-select.md-input-has-value label:not(.md-no-float){-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1);top:2px;position:relative;margin-right:.5em;opacity:1}md-input-container.static-select .md-input-container-dummy>.md-select-dummy,md-input-container.static-select md-select{z-index:1}md-input-container .md-errors-spacer{min-height:0}.presentable-disabled-inputs md-input-container input[type=date][disabled],.presentable-disabled-inputs md-input-container input[type=email][disabled],.presentable-disabled-inputs md-input-container input[type=number][disabled],.presentable-disabled-inputs md-input-container input[type=text][disabled]{border-bottom-color:transparent}md-input-container.has-fixed-message{padding-bottom:26px}md-input-container.has-fixed-message [ng-message] a{color:#0075b0}.md-input-container-dummy>[required].md-select-dummy input,md-select[required] input{border-bottom-color:tomato}.md-input-container-dummy>[required].md-select-dummy input.ng-untouched+[ng-messages],md-select[required] input.ng-untouched+[ng-messages]{min-height:0;max-height:0;overflow:hidden}md-radio-group .label{margin:0;margin-right:1em}.input-containers-group{margin-bottom:1.5em}.input-containers-group.layout-padding md-input-container{padding-left:0}.input-containers-group md-input-container{margin-bottom:0;margin-top:0}.md-input-container-dummy>.md-select-dummy:focus .md-select-value,.md-input-container-dummy>.md-select-dummy:not([disabled]):focus .md-select-value,.md-select-value,md-select:focus .md-select-value,md-select:not([disabled]):focus .md-select-value{border-width:0;padding:0}md-select-menu.md-primoExplore-theme md-content,md-select-menu md-content{background-color:#fff}md-toast,md-toast.md-default-theme{background-color:#f1c16f;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:fixed}md-toast.md-default-theme>.md-button,md-toast.md-default-theme>span,md-toast>.md-button,md-toast>span{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;color:#000}md-toast .md-button,md-toast.md-default-theme .md-button{font-weight:600}md-toast.md-default-theme.md-top,md-toast.md-top{top:0;height:64px;box-shadow:none;max-width:none;width:100%}md-toast.md-default-theme.md-top.md-right,md-toast.md-top.md-right{right:0;left:0;margin:auto}md-tooltip{font-size:.8em;color:#fff;letter-spacing:.03em}md-tooltip .md-content{background-color:rgba(0,0,0,.62)}md-tooltip.multi-row-tooltip{height:auto;max-width:30em}md-tooltip.multi-row-tooltip .md-content{padding:.5em 1em;height:auto;white-space:normal}md-list+.expand-link{color:#0c640c}md-list+.expand-link md-icon{margin-right:.5em;color:inherit}md-list .show-more-button{background-color:hsla(0,0%,100%,.5)}md-list-item.separate-list-items{margin-bottom:1px;min-height:0;padding:.5em 1em;position:relative;background-color:#fff}md-list-item.separate-list-items.gapped-list{margin-bottom:.5em;padding:1em}md-list-item.separate-list-items.md-2-line>.md-button,md-list-item.separate-list-items.md-3-line>.md-button{min-height:0}md-list-item.separate-list-items.md-clickable{padding:0}md-list-item.separate-list-items.md-clickable>.md-button{padding:.5em 1em}md-list-item.separate-list-items.md-clickable>.md-button:not([disabled]):hover{background-color:rgba(0,117,176,.1)}md-list-item.separate-list-items.focus-highlight{background-color:#fffcc4;transition:background-color .5s ease}md-list-item.separate-list-items .item-index{position:absolute;font-size:.8em;opacity:.4;top:.25em;left:.35em}md-list-item.separate-list-items .item-expand-button{margin:0;-webkit-transform:none;transform:none;top:0;right:0;height:100%;min-width:65px;border-radius:0}md-list-item.separate-list-items .item-expand-button md-icon{transition:-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:transform .5s cubic-bezier(.25,.8,.25,1);transition:transform .5s cubic-bezier(.25,.8,.25,1),-webkit-transform .5s cubic-bezier(.25,.8,.25,1);width:34px;height:34px}md-list-item.separate-list-items .item-action{color:#0075b0;margin:0;margin:auto;margin-right:0;right:0;background-color:transparent;min-width:58px}md-list-item.separate-list-items .item-action md-icon{color:inherit}md-list-item.separate-list-items .item-action:hover{color:#53738c;background-color:hsla(0,0%,62%,.2)!important}md-list-item.separate-list-items .item-respond{text-align:right;padding:0 1em}md-list-item.separate-list-items .item-loader{margin-right:1em}md-list-item.separate-list-items .item-loader prm-spinner{height:30px}md-list-item.separate-list-items .item-loader-with-text>div{position:relative}md-list-item.separate-list-items .item-loader-with-text md-progress-circular{-webkit-transform:scale(.2);transform:scale(.2);height:40px;top:-5px;right:-30px}md-list-item.separate-list-items .item-loader-with-text .md-button{min-width:50px;min-height:0;height:32px;margin:0;color:#0075b0}md-list-item.separate-list-items .item-loader-with-text .timer-counter{position:absolute;left:-24px;top:3px;font-size:.9em}md-list-item.separate-list-items.has-expand .md-list-item-text{padding-right:4em}md-list-item.separate-list-items.has-expand .item-action{position:relative;-webkit-transform:none;transform:none;top:auto}md-list-item.separate-list-items.item-expanded.md-3-line h2,md-list-item.separate-list-items.item-expanded.md-3-line h3,md-list-item.separate-list-items.item-expanded.md-3-line h4{white-space:normal}md-list-item.separate-list-items .md-list-item-text{max-width:100%}md-list-item.separate-list-items .md-list-item-text .unmuted-text{color:rgba(0,0,0,.87)}md-list-item.separate-list-items .md-list-item-text>div:not(:last-child){padding-right:1em}md-list-item.separate-list-items .md-list-item-text p md-icon{width:20px;height:20px;vertical-align:top}md-list-item.separate-list-items .md-list-item-text .has-icon-on-left{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}md-list-item.separate-list-items .md-list-item-text .has-icon-on-left md-icon{margin-left:0;width:20px;height:20px;margin-right:.2em}md-list-item.separate-list-items .md-dialog-container{top:0!important}.default-list md-list-item p{line-height:1.2em}md-list-item.list-item-as-link{color:#0075b0}md-toolbar.md-primoExplore-theme.transparent-toolbar,md-toolbar.transparent-toolbar,md-toolbar:not(.md-menu-toolbar).transparent-toolbar{background-color:transparent}md-toolbar.default-toolbar .md-button,md-toolbar.md-primoExplore-theme.default-toolbar .md-button,md-toolbar:not(.md-menu-toolbar).default-toolbar .md-button{opacity:.8}md-toolbar.default-toolbar .md-button:hover,md-toolbar.md-primoExplore-theme.default-toolbar .md-button:hover,md-toolbar:not(.md-menu-toolbar).default-toolbar .md-button:hover{opacity:1}md-toolbar.dark-toolbar,md-toolbar.md-primoExplore-theme.dark-toolbar,md-toolbar:not(.md-menu-toolbar).dark-toolbar{background-color:#53738c;color:#fff}md-toolbar+md-toolbar,md-toolbar.md-primoExplore-theme+md-toolbar,md-toolbar:not(.md-menu-toolbar)+md-toolbar{background-color:#fff!important}md-toolbar .md-button md-icon,md-toolbar.md-primoExplore-theme .md-button md-icon,md-toolbar:not(.md-menu-toolbar) .md-button md-icon{color:inherit}md-toolbar .md-button.has-bottom-arrow,md-toolbar.md-primoExplore-theme .md-button.has-bottom-arrow,md-toolbar:not(.md-menu-toolbar) .md-button.has-bottom-arrow{overflow:visible}md-toolbar .md-button.has-bottom-arrow:after,md-toolbar.md-primoExplore-theme .md-button.has-bottom-arrow:after,md-toolbar:not(.md-menu-toolbar) .md-button.has-bottom-arrow:after{content:"";display:none;position:absolute;bottom:-12px;left:0;right:0;margin:auto;width:0;height:0;border-right:1em solid transparent;border-left:1em solid transparent;border-bottom:.85em solid #fff;z-index:10000}md-toolbar .md-button.has-bottom-arrow.arrow-showing:after,md-toolbar.md-primoExplore-theme .md-button.has-bottom-arrow.arrow-showing:after,md-toolbar:not(.md-menu-toolbar) .md-button.has-bottom-arrow.arrow-showing:after{display:block}md-toolbar .md-button:only-child,md-toolbar.md-primoExplore-theme .md-button:only-child,md-toolbar:not(.md-menu-toolbar) .md-button:only-child{margin:0}md-toolbar.md-primoExplore-theme .toolbar-divider,md-toolbar .toolbar-divider,md-toolbar:not(.md-menu-toolbar) .toolbar-divider{width:1px;height:100%;background-color:#cacaca;margin-left:.5em;margin-right:.5em;border:none;visibility:hidden}md-toolbar.md-primoExplore-theme .toolbar-divider.visible,md-toolbar .toolbar-divider.visible,md-toolbar:not(.md-menu-toolbar) .toolbar-divider.visible{visibility:visible}md-toolbar.md-primoExplore-theme .toolbar-divider+.toolbar-title,md-toolbar .toolbar-divider+.toolbar-title,md-toolbar:not(.md-menu-toolbar) .toolbar-divider+.toolbar-title{margin-left:.5em;padding-left:0}md-toolbar.md-primoExplore-theme .toolbar-title,md-toolbar .toolbar-title,md-toolbar:not(.md-menu-toolbar) .toolbar-title{font-weight:300;font-size:1.2em;margin-right:.5em}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input,md-toolbar .toolbar-title+.toolbar-select-input,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input{color:#53738c;font-size:16px;line-height:1.5em}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input .select-input-label,md-toolbar .toolbar-title+.toolbar-select-input .select-input-label,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input .select-input-label{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;bottom:1px;position:relative;margin-right:.1em}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input md-select-value,md-toolbar .toolbar-title+.toolbar-select-input md-select-value,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input md-select-value{color:#53738c}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input md-select-value .md-select-icon,md-toolbar .toolbar-title+.toolbar-select-input md-select-value .md-select-icon,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input md-select-value .md-select-icon{font-size:.8em;width:18px}md-toolbar.md-primoExplore-theme .md-toolbar-tools .toolbar-select-input,md-toolbar .md-toolbar-tools .toolbar-select-input,md-toolbar:not(.md-menu-toolbar) .md-toolbar-tools .toolbar-select-input{padding:0}md-toolbar.md-primoExplore-theme .md-toolbar-tools .toolbar-select-input md-select-value,md-toolbar .md-toolbar-tools .toolbar-select-input md-select-value,md-toolbar:not(.md-menu-toolbar) .md-toolbar-tools .toolbar-select-input md-select-value{border-bottom-color:transparent}md-toolbar.citations-toolbar,md-toolbar.md-primoExplore-theme.citations-toolbar,md-toolbar:not(.md-menu-toolbar).citations-toolbar{min-height:0;padding-bottom:.7em;background-color:transparent}md-toolbar.citations-toolbar .toolbar-section,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section{background-color:#e4e4e4;border:1px solid #d7d7d7;border-radius:3px}md-toolbar.citations-toolbar .toolbar-section:not(:last-child),md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section:not(:last-child),md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section:not(:last-child){margin-right:.5em}md-toolbar.citations-toolbar .toolbar-section .md-button,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section .md-button,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section .md-button{margin:0;height:38px;line-height:38px}md-toolbar.citations-toolbar .toolbar-section .md-button md-icon,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section .md-button md-icon,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section .md-button md-icon{color:#53738c}md-toolbar.citations-toolbar .toolbar-section .md-button:hover,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section .md-button:hover,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section .md-button:hover{background-color:#eee;background-color:#fff}md-toolbar.md-primoExplore-theme .pushto-actions .md-button,md-toolbar.md-primoExplore-theme .pushto-actions button,md-toolbar .pushto-actions .md-button,md-toolbar .pushto-actions button,md-toolbar:not(.md-menu-toolbar) .pushto-actions .md-button,md-toolbar:not(.md-menu-toolbar) .pushto-actions button{color:#6b8da7;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;padding:.5em 0;margin:0}md-toolbar.md-primoExplore-theme .pushto-actions .md-button .icon,md-toolbar.md-primoExplore-theme .pushto-actions button .icon,md-toolbar .pushto-actions .md-button .icon,md-toolbar .pushto-actions button .icon,md-toolbar:not(.md-menu-toolbar) .pushto-actions .md-button .icon,md-toolbar:not(.md-menu-toolbar) .pushto-actions button .icon{font-size:1.8em;margin:0}md-toolbar.md-primoExplore-theme .pushto-actions .md-button span,md-toolbar.md-primoExplore-theme .pushto-actions button span,md-toolbar .pushto-actions .md-button span,md-toolbar .pushto-actions button span,md-toolbar:not(.md-menu-toolbar) .pushto-actions .md-button span,md-toolbar:not(.md-menu-toolbar) .pushto-actions button span{line-height:1em;text-transform:none}md-toolbar .back-button,md-toolbar .back-button.md-focused,md-toolbar.md-primoExplore-theme .back-button,md-toolbar.md-primoExplore-theme .back-button.md-focused,md-toolbar:not(.md-menu-toolbar) .back-button,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused{height:100%;margin:0;width:76px;min-width:76px;opacity:.8}md-toolbar .back-button.md-focused:hover,md-toolbar .back-button:hover,md-toolbar.md-primoExplore-theme .back-button.md-focused:hover,md-toolbar.md-primoExplore-theme .back-button:hover,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused:hover,md-toolbar:not(.md-menu-toolbar) .back-button:hover{opacity:1}md-toolbar .back-button.md-focused md-icon,md-toolbar .back-button md-icon,md-toolbar.md-primoExplore-theme .back-button.md-focused md-icon,md-toolbar.md-primoExplore-theme .back-button md-icon,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused md-icon,md-toolbar:not(.md-menu-toolbar) .back-button md-icon{width:34px;height:34px;border-radius:0!important}md-toolbar .back-button+.toolbar-divider,md-toolbar .back-button.md-focused+.toolbar-divider,md-toolbar.md-primoExplore-theme .back-button+.toolbar-divider,md-toolbar.md-primoExplore-theme .back-button.md-focused+.toolbar-divider,md-toolbar:not(.md-menu-toolbar) .back-button+.toolbar-divider,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused+.toolbar-divider{margin-left:0}.dates-range-picker .md-datepicker-button{display:none}.dates-range-picker .md-datepicker-input-container{margin-left:0;border:none}.dates-range-picker .md-datepicker-input{min-width:75px;line-height:22px}.dates-range-picker .md-datepicker-triangle-button{top:4px}.md-datepicker-calendar-pane{background-color:#fff}md-menu-item prm-icon{opacity:.5}md-menu-item:hover prm-icon{opacity:1}md-menu-item.icon-on-right md-icon{margin:0}md-menu-content{background-color:#fff}md-menu-content .menu-title{padding:.5em 1em}md-menu-content.menu-with-footer{overflow:hidden;padding-top:0}md-menu-content.menu-with-footer .scrollable-content{overflow:auto;padding-top:.5em}md-menu-content.menu-with-footer .menu-footer md-input-container{margin:1em 0}md-menu-divider{display:block;background-color:rgba(0,0,0,.07)}.md-chips{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:.95em;padding:0}.md-chips b,.md-chips strong{font-weight:600}.md-chips.chips-column .md-chip{clear:both}.md-chips .md-chip{background-color:#fff;height:28px;line-height:28px;position:relative}.md-chips .md-chip:not(.md-readonly){padding:0 26px 0 10px}.md-chips .md-chip .md-chip-content{display:-webkit-flex;display:-ms-flexbox;display:flex}.md-chips .md-chip .md-chip-content strong:after{content:"\a0\a0"}.md-chips .md-chip .md-chip-remove,.md-chips .md-chip .md-chip-remove-container{height:28px}.md-chips .md-chip.facet-excluded{color:tomato}.md-chips .md-chip.facet-excluded .md-chip-content{position:relative}.md-chips .md-chip.facet-excluded .md-chip-content:after{content:"";width:100%;height:1px;position:absolute;top:.2em;bottom:0;margin:auto;background-color:rgba(0,0,0,.87);left:0}.md-chips .md-chip.outline-chip{background-color:transparent;color:rgba(0,0,0,.57);box-shadow:inset 0 0 0 1px rgba(0,0,0,.17)}.filtered-facets-section .md-chips .md-chip .button-exclude,.md-chips .md-chip.selected .button-exclude{display:none}.md-chips .md-chip.toggleable-chip{background-color:transparent;padding-left:28px;cursor:pointer}.md-chips .md-chip.toggleable-chip .md-chip-content{color:#777;transition:-webkit-transform .3s cubic-bezier(.175,.885,.32,1.275);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),-webkit-transform .3s cubic-bezier(.175,.885,.32,1.275);-webkit-transform:translateX(-20px);transform:translateX(-20px)}.md-chips .md-chip.toggleable-chip:hover .md-chip-content{color:#000}.md-chips .md-chip.toggleable-chip:not(.md-readonly){padding-right:4px}.md-chips .md-chip.toggleable-chip .md-chip-remove-container{right:auto;left:0}.md-chips .md-chip.toggleable-chip.chip-toggled-on{transition:-webkit-transform .3s cubic-bezier(.6,-.28,.735,.045);transition:transform .3s cubic-bezier(.6,-.28,.735,.045);transition:transform .3s cubic-bezier(.6,-.28,.735,.045),-webkit-transform .3s cubic-bezier(.6,-.28,.735,.045);background-color:#fff}.md-chips .md-chip.toggleable-chip.chip-toggled-on .md-chip-content{color:#000;-webkit-transform:translateX(0);transform:translateX(0)}#facets-container .md-chips .md-chip{clear:left}md-checkbox{margin-bottom:0}md-checkbox .md-icon{opacity:.3;border-color:rgba(0,0,0,.87)}md-checkbox:hover .md-icon{opacity:1}md-checkbox.md-checked ._md-icon,md-checkbox.md-checked .md-icon{opacity:1;background-color:#64a5b5}md-checkbox.md-checked ._md-container,md-checkbox.md-checked .md-container{color:#fff}md-checkbox.has-small-text .md-container{top:4px;-webkit-transform:none;transform:none}.presentable-disabled-inputs md-checkbox[disabled] .md-label{color:rgba(0,0,0,.87)}md-divider.transparent-divider{opacity:0}md-virtual-repeat-container{background-color:#fff}md-virtual-repeat-container li.selected{background-color:#f5f5f5} -/*# sourceMappingURL=app.css.map */ +body{background-color:#e9e9e9}.prm-primary-color,.result-item-actions .custom-button,.result-item-actions .more-options-button,md-tab-content .tab-content-header md-input-container md-select-value .md-text{color:#53738c}.prm-primary-bg,prm-spinner.overlay-cover.light-on-dark:after{color:#fff;background-color:#53738c}.prm-primary-bg.prm-hue1,prm-spinner.prm-hue1.overlay-cover.light-on-dark:after,prm-topbar .top-nav-bar{background-color:#4f6e86}.prm-primary-bg.prm-hue2,prm-main-menu[menu-type=full] md-backdrop,prm-search-bookmark-filter .md-button,prm-spinner.prm-hue2.overlay-cover.light-on-dark:after,prm-user-area,prm-user-area md-fab-trigger>.md-button .md-fab-toolbar-background{background-color:#4b687f}.prm-secondary-color,prm-search-bookmark-filter .md-button,prm-topbar .top-nav-bar{color:#a9cdd6}.prm-secondary-color.prm-hue1,.result-item-actions .custom-button.pin-button,prm-search-bookmark-filter .prm-hue1.md-button,prm-topbar .prm-hue1.top-nav-bar{color:#45aab4}.prm-secondary-bg{color:#fff;background-color:#a9cdd6}.prm-secondary-bg.prm-hue1,md-tabs md-ink-bar,prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm:focus,prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm:hover,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button:focus,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button:hover{background-color:#45aab4}.prm-background,.screen-sm .sidebar,.screen-xs .sidebar,body,html,md-card .card-content-block,prm-facet.mobile-facets{background-color:#e9e9e9;border-color:#e1e1e1}#sidebar-trigger,.default-tabs>md-tabs-wrapper,.prm-background.prm-hue1,.screen-sm .prm-hue1.sidebar,.screen-xs .prm-hue1.sidebar,body.prm-hue1,html.prm-hue1,md-card .card-divider,md-card .prm-hue1.card-content-block,md-toolbar.default-toolbar,md-toolbar.default-toolbar:not(.md-menu-toolbar),md-toolbar.md-primoExplore-theme.default-toolbar,prm-facet.prm-hue1.mobile-facets{background-color:#dcdcdc;border-color:#d5d5d5}.full-view-inner-container,.prm-background.prm-hue2,.prm-full-view-dialog,.screen-sm .prm-hue2.sidebar,.screen-xs .prm-hue2.sidebar,.tiles-grid-tile,.tiles-grid-tile .tile-content prm-spinner.overlay-cover:after,.tiles-grid-tile md-list prm-spinner.overlay-cover:after,body.prm-hue2,html.prm-hue2,md-card.default-card,md-card .prm-hue2.card-content-block,md-grid-tile,md-grid-tile .tile-content prm-spinner.overlay-cover:after,md-grid-tile md-list prm-spinner.overlay-cover:after,md-list-item.separate-list-items .item-expand-button,prm-facet.prm-hue2.mobile-facets,prm-search-result-list .list-items-list{background-color:#f3f3f3}.prm-highlight,.prm-highlight.prm-hue1,prm-brief-result-container.item-bookmarked,prm-brief-result-container.item-bookmarked:hover{background-color:#fffcc4}.presentable-disabled-inputs md-input-container label,.prm-text,md-input-container.static-select.md-input-has-value label,md-input-container.static-select.md-input-has-value label:not(.md-no-float),md-toolbar.default-toolbar,md-toolbar.default-toolbar:not(.md-menu-toolbar),md-toolbar.md-primoExplore-theme.default-toolbar,md-toolbar.md-primoExplore-theme.transparent-toolbar,md-toolbar.transparent-toolbar,md-toolbar.transparent-toolbar:not(.md-menu-toolbar){color:#333}.available-facets .section-content .md-chips .md-chip .button-exclude,.prm-warn{color:tomato}.prm-links,.tiles-grid-tile .tile-header .header-link .arrow-icon,.tiles-grid-tile .tile-header .header-link:hover,.tiles-grid-tile .tile-header .md-button,md-grid-tile .tile-header .header-link .arrow-icon,md-grid-tile .tile-header .header-link:hover,md-grid-tile .tile-header .md-button{color:#5c92bd}.prm-positive{color:#198a19}.prm-notice,prm-search-result-frbr-line a>prm-icon:first-child{color:#ce8015}body{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif}*,:after,:before{box-sizing:border-box}a .fa,a .glyphicon,a .icon,button .fa,button .glyphicon,button .icon{margin-right:8px}h2{font-weight:300}ol{margin:0;padding-left:1.5em;line-height:1.6em}ol li{padding-left:.5em}:focus{outline:0 auto -webkit-focus-ring-color}::-moz-selection{background:#f7eda3}::selection{background:#f7eda3}.lowercase{text-transform:lowercase}body{font-size:15px}h1,h2,h3,h4{margin-top:0;margin-bottom:.5em}h1.accessible-only,h2.accessible-only,h3.accessible-only,h4.accessible-only,md-card h1.card-content-section-title,md-card h2.card-content-section-title,md-card h3.card-content-section-title,md-card h4.card-content-section-title{position:absolute;width:1px;height:1px;top:-1000em;overflow:hidden}h1{font-weight:400}p{margin:0 0 .5em}em.keyword{font-style:normal;box-shadow:inset 0 -2px 0 0 #f7eda3}.text-muted{color:#aaa}.text-success{color:#3ea03e}.text-link{cursor:pointer;color:#5c92bd!important}.uppercase-bold{font-size:.75em;font-weight:600;letter-spacing:.05em}.text-uppercase,.uppercase-bold{text-transform:uppercase}.bold-text,.sidebar-section md-input-container label,strong{font-weight:600!important}.normal-text{font-weight:400}.light-text{font-weight:300}.small-text{font-size:12px;line-height:14px}.weak-text{color:#999}.tiny-uppercase-text,md-menu-content .menu-title,prm-brief-result-container .media-content-type{color:#999;letter-spacing:.07em;text-transform:uppercase;font-weight:600;font-size:.75em}.text-align-center{text-align:center}.text-in-brackets:before{font-style:normal;content:"("}.text-in-brackets:after{font-style:normal;content:")"}.text-italic{font-style:italic}.word-break-all{word-break:break-all}.first-letter-uppercase:first-letter{text-transform:uppercase}.md-headline{font-weight:300}.md-chips .md-chip .md-chip-content strong,.text-trim-ellipsis,prm-user-area .user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-input-container-dummy>[required].md-select-dummy:after,.required-starlet:after,md-select[required]:after{content:"*";position:absolute;left:-23px;margin:auto;height:20px;color:tomato;font-size:2em;transition:all .4s cubic-bezier(.25,.8,.25,1)}.md-input-has-value .md-input-container-dummy>[required].md-select-dummy:after,.md-input-has-value .required-starlet:after,.md-input-has-value md-select[required]:after{-webkit-transform:translateY(-20px);transform:translateY(-20px)}.default-shadow,.tiles-grid-tile,md-card.default-card,md-grid-tile,md-toolbar.md-primoExplore-theme.white-toolbar.is-stuck,md-toolbar.white-toolbar.is-stuck,md-toolbar.white-toolbar.is-stuck:not(.md-menu-toolbar){box-shadow:0 1px 0 0 #dcdcdc,0 5px 5px -3px #dcdcdc}.toolbar-shadow,md-toolbar.default-toolbar.is-stuck,md-toolbar.default-toolbar.is-stuck:not(.md-menu-toolbar),md-toolbar.md-primoExplore-theme.default-toolbar.is-stuck{box-shadow:0 1px 0 0 rgba(51,51,51,.1),0 1px 5px 0 rgba(51,51,51,.2)}.focused-item-shadow,.item-expanded .action-list-content,.item-hovered .action-list-content{box-shadow:0 0 0 .55em #fff,0 0 0 .6em #acbecc,0 2px 15px 5px rgba(0,0,0,.2),0 -40px 40px -8px hsla(0,0%,95%,.6),0 40px 40px -8px hsla(0,0%,95%,.6)}.focused-item-shadow.without-halo,.item-expanded .without-halo.action-list-content,.item-hovered .without-halo.action-list-content,prm-favorites-tool-bar .action-list-content prm-action-list{box-shadow:0 0 0 .55em #fff,0 0 0 .6em #acbecc,0 2px 15px 5px rgba(0,0,0,.2)}.dialog-shadow,md-dialog{box-shadow:0 7px 15px -8px rgba(0,0,0,.1),0 6px 10px -2px rgba(0,0,0,.1),0 5px 24px 4px rgba(0,0,0,.1)}.bg-to-trans{background:linear-gradient(180deg,hsla(60,20%,92%,0) 0,hsla(60,20%,92%,.95));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00efefe7',endColorstr='#f2efefe7',GradientType=0)}.bottom-border-light{border-bottom:1px solid #e4e4e4}.form-focus{border:1px solid rgba(51,51,51,.3);box-shadow:0 2px 7px 0 rgba(51,51,51,.12);background-color:#fff}.light-action-button{border:1px solid #e1e1d2;border-radius:3px;font-size:.8em;font-weight:400;color:#9d9d9d;padding:1px .25em;margin-top:2px;letter-spacing:.1em;cursor:pointer;display:inline-block;background-color:transparent;text-transform:uppercase}.light-action-button:hover{color:#333;border:1px solid #c6c6aa;background-color:#e7e7db}.inline-pill{padding:.35em .75em;border-radius:1.2em;color:rgba(51,51,51,.7);background-color:rgba(51,51,51,.2)}.inline-pill.outline-pill{background-color:transparent;box-shadow:inset 0 0 0 1px rgba(51,51,51,.2)}.max-width{max-width:960px!important}.relative-position{position:relative}.dashed-border{border:2px dashed;border-color:inherit}.border-left{border-left-width:1px;border-left-style:solid;border-left-color:inherit}.zero-margin{margin:0!important}.zero-margin-top{margin-top:0!important}.zero-margin-bottom{margin-bottom:0!important}.margin-bottom-small{margin-bottom:.5em}.margin-left-small{margin-left:.5em}.margin-top-large{margin-top:1.5em}.margin-bottom-large{margin-bottom:1.5em}.margin-top-medium{margin-top:1em}.margin-bottom-medium{margin-bottom:1em}.margin-top-small{margin-top:.5em}.margin-right-small{margin-right:.5em}.zero-padding{padding:0!important}.zero-padding-top{padding-top:0!important}.zero-padding-bottom{padding-bottom:0!important}.padded-container,.screen-sm .sidebar,.screen-xs .sidebar{padding:1.5em}.vertical-divider{width:1px;height:30px}.not-clickable{cursor:default}.as-link{color:#5c92bd}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.zero-opacity{opacity:0}.zero-radius{border-radius:0}.footer{padding-top:19px;color:#777;border-top:1px solid #e5e5e5}.container-narrow>hr{margin:30px 0}.position-relative{position:relative}.jumbotron{text-align:center;border-bottom:1px solid #e5e5e5}.jumbotron .btn{font-size:21px;padding:14px 24px}.expandable{opacity:1;visibility:visible;transition:max-height .4s cubic-bezier(.68,-.55,.265,1.55),opacity .3s .1s ease,visibility 0 0,padding .4s ease,margin .4s ease}.expandable.collapsed{opacity:0;visibility:hidden;padding:0!important;max-height:0!important;transition:max-height .4s cubic-bezier(.68,-.55,.265,1.55),opacity .3s .1s ease,visibility 0 .4s,padding .4s ease,margin .4s ease}.header .stuck:before{content:"";width:100%;height:60px;position:fixed;left:0;top:0}.header .is-stuck{margin-left:0}.header .is-stuck:before{background-color:#53738c}.filter-chips{padding:.5em 1em}@media only screen and (min-width:601px) and (max-width:1280px){.filter-chips{padding:.5em 0}}.filter-chips.no-chips{max-height:0;padding:0}.content{padding:1.5em}.main,.sidebar{min-width:0}.main{min-height:600px}.spaced-rows>div,.spaced-rows>li,.spaced-rows>span{margin-bottom:.2em}@-webkit-keyframes animationFrames{0%{-webkit-transform:translate(0) scale3d(.5,.5,1);transform:translate(0) scale3d(.5,.5,1)}15%{-webkit-transform:translateY(-25px) scale3d(.5,.5,1);transform:translateY(-25px) scale3d(.5,.5,1)}30%{-webkit-transform:translate(0);transform:translate(0)}45%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}60%{-webkit-transform:translate(0);transform:translate(0)}75%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translate(0) scaleX(1);transform:translate(0) scaleX(1)}}@keyframes animationFrames{0%{-webkit-transform:translate(0) scale3d(.5,.5,1);transform:translate(0) scale3d(.5,.5,1)}15%{-webkit-transform:translateY(-25px) scale3d(.5,.5,1);transform:translateY(-25px) scale3d(.5,.5,1)}30%{-webkit-transform:translate(0);transform:translate(0)}45%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}60%{-webkit-transform:translate(0);transform:translate(0)}75%{-webkit-transform:translateY(-5px);transform:translateY(-5px)}to{-webkit-transform:translate(0) scaleX(1);transform:translate(0) scaleX(1)}}@-webkit-keyframes pulsateYellowBG{0%{background-color:#fffcc4}50%{background-color:#f8f27e}to{background-color:#fffcc4}}@keyframes pulsateYellowBG{0%{background-color:#fffcc4}50%{background-color:#f8f27e}to{background-color:#fffcc4}}@-webkit-keyframes pulsateYellowColor{0%{color:#fffcc4}50%{color:#f8f27e}to{color:#fffcc4}}@keyframes pulsateYellowColor{0%{color:#fffcc4}50%{color:#f8f27e}to{color:#fffcc4}}.animate-fade-in-out{transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-fade-in-out.ng-hide-add{opacity:0}.animate-fade-in-out.ng-hide-remove{opacity:1}.animate-fade-in-out.ng-hide,.animate-fade-in-out.ng-hide-remove.ng-hide-remove-active{opacity:0}.animate-if-fade-in-out{transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-if-fade-in-out.ng-enter{opacity:0}.animate-if-fade-in-out.ng-enter.ng-enter-active{opacity:1}.animate-if-fade-in-out.ng-leave{transition-duration:.15s;opacity:1}.animate-if-fade-in-out.ng-leave.ng-leave-active{opacity:0}.animate-scale{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-scale.ng-hide-add{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s}.animate-scale.ng-hide-remove{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.2s}.animate-scale.ng-hide{opacity:0;-webkit-transform:scale3d(.5,.5,1);transform:scale3d(.5,.5,1)}.animate-enter-leave-scale{-webkit-transform-origin:50%;transform-origin:50%}.animate-enter-leave-scale.ng-enter{-webkit-transform:scale3d(.85,.85,1);transform:scale3d(.85,.85,1);opacity:0;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.5s}.animate-enter-leave-scale.ng-enter.ng-enter-active,.animate-enter-leave-scale.ng-leave{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1}.animate-enter-leave-scale.ng-leave{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.2s}.animate-enter-leave-scale.ng-leave.ng-leave-active{opacity:0;-webkit-transform:scale3d(.8,.8,1);transform:scale3d(.8,.8,1)}.animate-enter-leave-scale.ng-enter-stagger{transition-delay:.1s}.animate-enter-leave-scale-bounce{-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.animate-enter-leave-scale-bounce.ng-enter{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:scale3d(0,0,1) translateX(-30px);transform:scale3d(0,0,1) translateX(-30px);opacity:0}.animate-enter-leave-scale-bounce.ng-enter.ng-enter-active,.animate-enter-leave-scale-bounce.ng-leave{-webkit-transform:scaleX(1) translateX(0);transform:scaleX(1) translateX(0);opacity:1}.animate-enter-leave-scale-bounce.ng-leave{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.2s}.animate-enter-leave-scale-bounce.ng-leave.ng-leave-active{opacity:0;-webkit-transform:scale3d(0,0,1) translateX(-30px);transform:scale3d(0,0,1) translateX(-30px)}.animate-enter-leave-scale-max-height{-webkit-transform-origin:50% 0;transform-origin:50% 0;max-height:200em}.animate-enter-leave-scale-max-height.ng-enter{-webkit-transform:scale3d(.8,.8,1);transform:scale3d(.8,.8,1);opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s .05s ease,-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,max-height .3s .05s ease,transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,max-height .3s .05s ease,transform .5s cubic-bezier(.25,.8,.25,1),-webkit-transform .5s cubic-bezier(.25,.8,.25,1)}.animate-enter-leave-scale-max-height.ng-enter.ng-enter-active,.animate-enter-leave-scale-max-height.ng-leave-active{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;max-height:30em}.animate-enter-leave-scale-max-height.ng-leave-active{transition:opacity .2s .15s ease,max-height .3s cubic-bezier(.25,.8,.25,1),-webkit-transform .3s .15s cubic-bezier(.55,0,.55,.2);transition:opacity .2s .15s ease,max-height .3s cubic-bezier(.25,.8,.25,1),transform .3s .15s cubic-bezier(.55,0,.55,.2);transition:opacity .2s .15s ease,max-height .3s cubic-bezier(.25,.8,.25,1),transform .3s .15s cubic-bezier(.55,0,.55,.2),-webkit-transform .3s .15s cubic-bezier(.55,0,.55,.2);overflow:hidden}.animate-enter-leave-scale-max-height.ng-leave-active.ng-leave-active{opacity:0;-webkit-transform:scale3d(.5,.5,1);transform:scale3d(.5,.5,1);max-height:0}.animate-max-height{max-height:30em}.animate-max-height,.animate-max-height.ng-enter{transition:max-height 1s cubic-bezier(.23,1,.32,1)}.animate-max-height.ng-enter{overflow:hidden;max-height:0;transition-delay:1s}.animate-max-height.ng-enter.ng-enter-active{max-height:30em}.animate-max-height.ng-leave{overflow:hidden;max-height:30em}.animate-max-height.ng-leave.ng-leave-active{max-height:0}.animate-max-height-variable{max-height:none}.animate-max-height-variable.ng-hide-add{max-height:1000em;overflow:hidden;opacity:1;transition-duration:.4s;transition:all .2s cubic-bezier(.19,1,.22,1)}.animate-max-height-variable.ng-hide-add.ng-hide-add-active{max-height:0;opacity:0}.animate-max-height-variable.ng-hide-remove{overflow:hidden;max-height:1000em;transition-duration:.3s;transition:all .3s cubic-bezier(.55,0,.55,.2)}.animate-max-height-variable.ng-hide{opacity:0;max-height:0}.animate-max-height-small.ng-enter{overflow:hidden;max-height:0;transition:max-height .3s 0s cubic-bezier(.23,1,.32,1)}.animate-max-height-small.ng-enter.ng-enter-active{max-height:5em}.animate-max-height-small.ng-leave{overflow:hidden;max-height:7em;transition:max-height .3s 0s cubic-bezier(.23,1,.32,1)}.animate-max-height-small.ng-leave.ng-leave-active{max-height:0}.selectable-child{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s;width:32px}.selectable-child.ng-enter{width:0;transition:.2s cubic-bezier(.175,.885,.32,1.275);opacity:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.selectable-child.ng-enter.ng-enter-active,.selectable-child.ng-leave-active{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;width:32px}.selectable-child.ng-leave-active.ng-leave-active{opacity:0;width:0;-webkit-transform:scale3d(.3,.3,1);transform:scale3d(.3,.3,1)}.animate-popover{-webkit-transform-origin:25% 0;transform-origin:25% 0;opacity:1;-webkit-transform:scaleX(1) translateX(-30%);transform:scaleX(1) translateX(-30%);-webkit-clip-path:circle(80% at 50% 50%);clip-path:circle(80% at 50% 50%)}.animate-popover.ng-hide-add{transition:transform .4s cubic-bezier(.25,.8,.25,1),opacity .2s ease,clip-path .6s cubic-bezier(.25,.8,.25,1),-webkit-clip-path .6s cubic-bezier(.25,.8,.25,1)}.animate-popover.ng-hide-remove{transition:transform .4s .5s cubic-bezier(.25,.8,.25,1),opacity .3s .5s ease,clip-path .4s .5s cubic-bezier(.25,.8,.25,1),-webkit-clip-path .4s .5s cubic-bezier(.25,.8,.25,1)}.animate-popover.ng-hide{-webkit-clip-path:circle(10% at 50% 0);clip-path:circle(10% at 50% 0);opacity:0;transition-delay:0s;-webkit-transform:scale3d(.9,.9,1) translateX(-30%);transform:scale3d(.9,.9,1) translateX(-30%)}.animate-form-inputs md-input-container{opacity:1;max-height:80px;overflow:visible}.animate-form-inputs md-input-container.ng-hide-add{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s;overflow:hidden}.animate-form-inputs md-input-container.ng-hide-remove{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.2s;overflow:hidden}.animate-form-inputs md-input-container.ng-hide{opacity:0;max-height:0;overflow:hidden;padding:0}.animate-form-inputs2 md-dialog-content{overflow:hidden}.animate-form-inputs2 md-input-container{opacity:1;max-height:80px;overflow:hidden}.animate-form-inputs2 md-input-container.ng-hide-add{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.7s;transition-delay:.25s;-webkit-transform:translateY(0);transform:translateY(0)}.animate-form-inputs2 md-input-container.ng-hide-add.ng-hide-add-active{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.animate-form-inputs2 md-input-container.ng-hide-remove{transition:all .3s cubic-bezier(.55,0,.55,.2);transition-duration:.6s}.animate-form-inputs2 md-input-container.ng-hide{opacity:0;max-height:0;padding:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.animate-chip{-webkit-transform-origin:0 75%;transform-origin:0 75%}.animate-chip.ng-enter{opacity:0;overflow:hidden;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip.ng-enter.ng-enter-active,.animate-chip.ng-leave{max-height:3em;opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-chip.ng-leave{transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip.ng-leave.ng-leave-active{opacity:0;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-chip-section{-webkit-transform-origin:0 50%;transform-origin:0 50%}.animate-chip-section.ng-enter{opacity:0;overflow:hidden;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip-section.ng-enter.ng-enter-active,.animate-chip-section.ng-leave{opacity:1;max-height:7em;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-chip-section.ng-leave{overflow:hidden;transition:all .4s cubic-bezier(.25,.8,.25,1)}.animate-chip-section.ng-leave.ng-leave-active{opacity:0;max-height:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-horizontal-swap.ng-enter{opacity:0;-webkit-transform:translateX(30px);transform:translateX(30px);transition:opacity .3s ease,-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .5s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .5s cubic-bezier(.25,.8,.25,1),-webkit-transform .5s cubic-bezier(.25,.8,.25,1)}.animate-horizontal-swap.ng-enter.ng-enter-active,.animate-horizontal-swap.ng-leave{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}.animate-horizontal-swap.ng-leave{transition:opacity .2s ease,-webkit-transform .2s cubic-bezier(.55,0,.55,.2);transition:opacity .2s ease,transform .2s cubic-bezier(.55,0,.55,.2);transition:opacity .2s ease,transform .2s cubic-bezier(.55,0,.55,.2),-webkit-transform .2s cubic-bezier(.55,0,.55,.2)}.animate-horizontal-swap.ng-leave.ng-leave-active{opacity:0;-webkit-transform:translateX(30px);transform:translateX(30px)}.animate-opacity-and-scale.ng-enter,.section-content .md-chips .ng-enter.md-chip.animate-opacity-and-scale{opacity:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1);transition:opacity .3s ease,-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .4s cubic-bezier(.25,.8,.25,1);transition:opacity .3s ease,transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1)}.animate-opacity-and-scale.ng-enter.ng-enter-active,.section-content .md-chips .ng-enter.ng-enter-active.md-chip.animate-opacity-and-scale{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.animate-opacity-and-scale.ng-leave,.section-content .md-chips .ng-leave.md-chip.animate-opacity-and-scale{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1);transition:opacity .2s ease,-webkit-transform .3s cubic-bezier(.25,.8,.25,1);transition:opacity .2s ease,transform .3s cubic-bezier(.25,.8,.25,1);transition:opacity .2s ease,transform .3s cubic-bezier(.25,.8,.25,1),-webkit-transform .3s cubic-bezier(.25,.8,.25,1)}.animate-opacity-and-scale.ng-leave.ng-leave-active,.section-content .md-chips .ng-leave.ng-leave-active.md-chip.animate-opacity-and-scale{opacity:0;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}.animate-opacity-and-scale.ng-enter-stagger,.animate-opacity-and-scale.ng-leave-stagger,.section-content .md-chips .ng-enter-stagger.md-chip.animate-opacity-and-scale,.section-content .md-chips .ng-leave-stagger.md-chip.animate-opacity-and-scale{transition-delay:15ms}.animate-search-bar{transition:max-height .3s cubic-bezier(.55,0,.55,.2),opacity .5s ease}.animate-search-bar.ng-hide-add{overflow:hidden;max-height:20em;opacity:1;transition:max-height .4s cubic-bezier(.25,.8,.25,1),opacity .8s ease}.animate-search-bar.ng-hide-remove{overflow:hidden;max-height:0;opacity:0}.animate-search-bar.ng-hide-remove.ng-hide-remove-active{max-height:20em;opacity:1}.animate-search-bar.ng-hide{max-height:0;opacity:0}.toggle{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.toggle.ng-enter{opacity:0;transition-duration:.25s;-webkit-transition-duration:.25s}.toggle.ng-enter-active{opacity:1}.toggle.ng-leave{opacity:1;transition-duration:.25s;-webkit-transition-duration:.25s}.toggle.ng-leave-active{opacity:0}.toggle.ng-hide-add{transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.toggle.ng-hide-add.ng-hide-add-active{opacity:0}.toggle.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important;opacity:0}.toggle.ng-hide-remove.ng-hide-remove-active{opacity:1}.slide-top{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-top.ng-enter{transform:translateY(60px);-ms-transform:translateY(60px);-webkit-transform:translateY(60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-top.ng-enter-active,.slide-top.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.slide-top.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-top.ng-leave-active{transform:translateY(60px);-ms-transform:translateY(60px);-webkit-transform:translateY(60px);opacity:0}.slide-top.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-top.ng-hide-add.ng-hide-add-active,.slide-top.ng-hide-remove{transform:translateY(60px);-ms-transform:translateY(60px);-webkit-transform:translateY(60px);opacity:0}.slide-top.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-top.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.slide-right{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-right.ng-enter{transform:translateX(60px);-ms-transform:translateX(60px);-webkit-transform:translateX(60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-right.ng-enter-active,.slide-right.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-right.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-right.ng-leave-active{transform:translateX(60px);-ms-transform:translateX(60px);-webkit-transform:translateX(60px);opacity:0}.slide-right.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-right.ng-hide-add.ng-hide-add-active,.slide-right.ng-hide-remove{transform:translateX(60px);-ms-transform:translateX(60px);-webkit-transform:translateX(60px);opacity:0}.slide-right.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-right.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-left{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-left.ng-enter{transform:translateX(-60px);-ms-transform:translateX(-60px);-webkit-transform:translateX(-60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-left.ng-enter-active,.slide-left.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-left.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-left.ng-leave-active{transform:translateX(-60px);-ms-transform:translateX(-60px);-webkit-transform:translateX(-60px);opacity:0}.slide-left.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-left.ng-hide-add.ng-hide-add-active,.slide-left.ng-hide-remove{transform:translateX(-60px);-ms-transform:translateX(-60px);-webkit-transform:translateX(-60px);opacity:0}.slide-left.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-left.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.slide-down{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.slide-down.ng-enter{transform:translateY(-60px);-ms-transform:translateY(-60px);-webkit-transform:translateY(-60px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.slide-down.ng-enter-active,.slide-down.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.slide-down.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.slide-down.ng-leave-active{transform:translateY(-60px);-ms-transform:translateY(-60px);-webkit-transform:translateY(-60px);opacity:0}.slide-down.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.slide-down.ng-hide-add.ng-hide-add-active,.slide-down.ng-hide-remove{transform:translateY(-60px);-ms-transform:translateY(-60px);-webkit-transform:translateY(-60px);opacity:0}.slide-down.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.slide-down.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-top{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-top.ng-enter{transform:translateY(240px);-ms-transform:translateY(240px);-webkit-transform:translateY(240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-top.ng-enter-active,.bouncy-slide-top.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-top.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-top.ng-leave-active{transform:translateY(240px);-ms-transform:translateY(240px);-webkit-transform:translateY(240px);opacity:0}.bouncy-slide-top.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-top.ng-hide-add.ng-hide-add-active,.bouncy-slide-top.ng-hide-remove{transform:translateY(240px);-ms-transform:translateY(240px);-webkit-transform:translateY(240px);opacity:0}.bouncy-slide-top.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-top.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-right{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-right.ng-enter{transform:translateX(240px);-ms-transform:translateX(240px);-webkit-transform:translateX(240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-right.ng-enter-active,.bouncy-slide-right.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-right.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-right.ng-leave-active{transform:translateX(240px);-ms-transform:translateX(240px);-webkit-transform:translateX(240px);opacity:0}.bouncy-slide-right.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-right.ng-hide-add.ng-hide-add-active,.bouncy-slide-right.ng-hide-remove{transform:translateX(240px);-ms-transform:translateX(240px);-webkit-transform:translateX(240px);opacity:0}.bouncy-slide-right.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-right.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-left{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-left.ng-enter{transform:translateX(-240px);-ms-transform:translateX(-240px);-webkit-transform:translateX(-240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-left.ng-enter-active,.bouncy-slide-left.ng-leave{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-left.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-left.ng-leave-active{transform:translateX(-240px);-ms-transform:translateX(-240px);-webkit-transform:translateX(-240px);opacity:0}.bouncy-slide-left.ng-hide-add{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-left.ng-hide-add.ng-hide-add-active,.bouncy-slide-left.ng-hide-remove{transform:translateX(-240px);-ms-transform:translateX(-240px);-webkit-transform:translateX(-240px);opacity:0}.bouncy-slide-left.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-left.ng-hide-remove.ng-hide-remove-active{transform:translateX(0);-ms-transform:translateX(0);-webkit-transform:translateX(0);opacity:1}.bouncy-slide-down{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-slide-down.ng-enter{transform:translateY(-240px);-ms-transform:translateY(-240px);-webkit-transform:translateY(-240px);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.bouncy-slide-down.ng-enter-active,.bouncy-slide-down.ng-leave{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.bouncy-slide-down.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.bouncy-slide-down.ng-leave-active{transform:translateY(-240px);-ms-transform:translateY(-240px);-webkit-transform:translateY(-240px);opacity:0}.bouncy-slide-down.ng-hide-add{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.bouncy-slide-down.ng-hide-add.ng-hide-add-active,.bouncy-slide-down.ng-hide-remove{transform:translateY(-240px);-ms-transform:translateY(-240px);-webkit-transform:translateY(-240px);opacity:0}.bouncy-slide-down.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.bouncy-slide-down.ng-hide-remove.ng-hide-remove-active{transform:translateY(0);-ms-transform:translateY(0);-webkit-transform:translateY(0);opacity:1}.scale-fade{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.scale-fade.ng-enter{transform:scale(.7);-ms-transform:scale(.7);-webkit-transform:scale(.7);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.scale-fade.ng-enter-active,.scale-fade.ng-leave{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.scale-fade.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.scale-fade.ng-leave-active{transform:scale(.7);-ms-transform:scale(.7);-webkit-transform:scale(.7);opacity:0}.scale-fade.ng-hide-add{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.scale-fade.ng-hide-add.ng-hide-add-active,.scale-fade.ng-hide-remove{transform:scale(.7);-ms-transform:scale(.7);-webkit-transform:scale(.7);opacity:0}.scale-fade.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.scale-fade.ng-hide-remove.ng-hide-remove-active{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.spin-toggle{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.spin-toggle.ng-enter{transform:rotate(225deg);-ms-transform:rotate(225deg);-webkit-transform:rotate(225deg);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.spin-toggle.ng-enter-active,.spin-toggle.ng-leave{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);opacity:1}.spin-toggle.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.spin-toggle.ng-leave-active{transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);opacity:0}.spin-toggle.ng-hide-add{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.spin-toggle.ng-hide-add.ng-hide-add-active{transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);opacity:0}.spin-toggle.ng-hide-remove{transform:rotate(225deg);-ms-transform:rotate(225deg);-webkit-transform:rotate(225deg);transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important;opacity:0}.spin-toggle.ng-hide-remove.ng-hide-remove-active{transform:rotate(0deg);-ms-transform:rotate(0deg);-webkit-transform:rotate(0deg);opacity:1}.scale-fade-in{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.scale-fade-in.ng-enter{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:0}.scale-fade-in.ng-enter-active,.scale-fade-in.ng-leave{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.scale-fade-in.ng-leave{transition-duration:.25s;-webkit-transition-duration:.25s}.scale-fade-in.ng-leave-active{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.scale-fade-in.ng-hide-add{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transition-duration:.25s;-webkit-transition-duration:.25s;opacity:1}.scale-fade-in.ng-hide-add.ng-hide-add-active,.scale-fade-in.ng-hide-remove{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.scale-fade-in.ng-hide-remove{transition-duration:.25s;-webkit-transition-duration:.25s;display:block!important}.scale-fade-in.ng-hide-remove.ng-hide-remove-active{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.bouncy-scale-in{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.bouncy-scale-in.ng-enter{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);transition-duration:.45s;-webkit-transition-duration:.45s;opacity:0}.bouncy-scale-in.ng-enter-active,.bouncy-scale-in.ng-leave{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.bouncy-scale-in.ng-leave{transition-duration:.45s;-webkit-transition-duration:.45s}.bouncy-scale-in.ng-leave-active{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.bouncy-scale-in.ng-hide-add{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);transition-duration:.45s;-webkit-transition-duration:.45s;opacity:1}.bouncy-scale-in.ng-hide-add.ng-hide-add-active,.bouncy-scale-in.ng-hide-remove{transform:scale(3);-ms-transform:scale(3);-webkit-transform:scale(3);opacity:0}.bouncy-scale-in.ng-hide-remove{transition-duration:.45s;-webkit-transition-duration:.45s;display:block!important}.bouncy-scale-in.ng-hide-remove.ng-hide-remove-active{transform:scale(1);-ms-transform:scale(1);-webkit-transform:scale(1);opacity:1}.flip-in{transition:all 0 cubic-bezier(.25,.46,.45,.94);transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.flip-in.ng-enter{transform:perspective(300px) rotateX(90deg);-ms-transform:perspective(300px) rotateX(90deg);-webkit-transform:perspective(300px) rotateX(90deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:.7}.flip-in.ng-enter-active,.flip-in.ng-leave{transform:perspective(300px) rotateX(0deg);-ms-transform:perspective(300px) rotateX(0deg);-webkit-transform:perspective(300px) rotateX(0deg);opacity:1}.flip-in.ng-leave{transition-duration:.55s;-webkit-transition-duration:.55s}.flip-in.ng-leave-active{transform:perspective(300px) rotateX(135deg);-ms-transform:perspective(300px) rotateX(135deg);-webkit-transform:perspective(300px) rotateX(135deg);opacity:.7}.flip-in.ng-hide-add{transform:perspective(300px) rotateX(0deg);-ms-transform:perspective(300px) rotateX(0deg);-webkit-transform:perspective(300px) rotateX(0deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:1}.flip-in.ng-hide-add.ng-hide-add-active{transform:perspective(300px) rotateX(135deg);-ms-transform:perspective(300px) rotateX(135deg);-webkit-transform:perspective(300px) rotateX(135deg);opacity:0}.flip-in.ng-hide-remove{transform:perspective(300px) rotateX(90deg);-ms-transform:perspective(300px) rotateX(90deg);-webkit-transform:perspective(300px) rotateX(90deg);transition-duration:.55s;-webkit-transition-duration:.55s;display:block!important;opacity:0}.flip-in.ng-hide-remove.ng-hide-remove-active{transform:perspective(300px) rotateX(0deg);-ms-transform:perspective(300px) rotateX(0deg);-webkit-transform:perspective(300px) rotateX(0deg);opacity:1}.rotate-in{transition:all 0 cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.45,1.595)}.rotate-in.ng-enter{transform:perspective(300px) rotateY(40deg);-ms-transform:perspective(300px) rotateY(40deg);-webkit-transform:perspective(300px) rotateY(40deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:.7}.rotate-in.ng-enter-active,.rotate-in.ng-leave{transform:perspective(300px) rotateY(0deg);-ms-transform:perspective(300px) rotateY(0deg);-webkit-transform:perspective(300px) rotateY(0deg);opacity:1}.rotate-in.ng-leave{transition-duration:.55s;-webkit-transition-duration:.55s}.rotate-in.ng-leave-active{transform:perspective(300px) rotateY(-40deg);-ms-transform:perspective(300px) rotateY(-40deg);-webkit-transform:perspective(300px) rotateY(-40deg);opacity:.7}.rotate-in.ng-hide-add{transform:perspective(300px) rotateY(0deg);-ms-transform:perspective(300px) rotateY(0deg);-webkit-transform:perspective(300px) rotateY(0deg);transition-duration:.55s;-webkit-transition-duration:.55s;opacity:1}.rotate-in.ng-hide-add.ng-hide-add-active{transform:perspective(300px) rotateY(-40deg);-ms-transform:perspective(300px) rotateY(-40deg);-webkit-transform:perspective(300px) rotateY(-40deg);opacity:0}.rotate-in.ng-hide-remove{transform:perspective(300px) rotateY(40deg);-ms-transform:perspective(300px) rotateY(40deg);-webkit-transform:perspective(300px) rotateY(40deg);transition-duration:.55s;-webkit-transition-duration:.55s;display:block!important;opacity:0}.rotate-in.ng-hide-remove.ng-hide-remove-active{transform:perspective(300px) rotateY(0deg);-ms-transform:perspective(300px) rotateY(0deg);-webkit-transform:perspective(300px) rotateY(0deg);opacity:1}.flex-bar{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-horizontal{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-vertical{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-column-wrap{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column wrap;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.flex-vertical-center{-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-horizontal-center{-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.flex-space-between{-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.flex-trim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.align-self-stretch{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.align-self-start{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.fulltext>span:first-of-type,.fulltext_linktorsrc>span:first-of-type,.not_restricted>span:first-of-type,.status-available,[class*=available]>span:first-of-type,[class*=FT]>span:first-of-type{color:#198a19}.does_not_exist_in_maininstitution>span:first-of-type,.getit>span:first-of-type,.status-maybe,[class*=_more]>span:first-of-type,[class*=_unknown]>span:first-of-type,[class*=check_]>span:first-of-type,[class*=may_]>span:first-of-type,[class*=NFT]>span:first-of-type{color:#ce8015}.duedate>span:first-of-type,.restricted>span:first-of-type,.status-unavailable,[class*=no_]>span:first-of-type,[class*=unavailable]>span:first-of-type{color:gray}.custom-scrollbar ::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar ::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}.custom-scrollbar ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2)}.custom-scrollbar ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}.custom-scrollbar ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.9)}.tiles-grid{-webkit-column-width:17em;-moz-column-width:17em;column-width:17em;-webkit-column-gap:1em;-moz-column-gap:1em;column-gap:1em}@media (max-width:1920px){.tiles-grid{-webkit-column-width:20em;-moz-column-width:20em;column-width:20em}}@media (min-width:1921px){.tiles-grid{-webkit-column-width:18em;-moz-column-width:18em;column-width:18em}}@media (min-width:2320px){.tiles-grid{-webkit-column-width:18em;-moz-column-width:18em;column-width:18em}}.tiles-grid-tile{display:inline-block;margin:0 0 1em;width:100%}.advanced-search-wrapper{z-index:-1;background-color:#53738c;padding:1.5em;padding-top:0;overflow:hidden}.advanced-search{background-color:#f1f1f1;padding:.5em 1em;margin-bottom:2em}@media (min-width:1200px){.advanced-search{left:.25em}}@media (min-width:1600px){.advanced-search{left:.5em}}.form-cluster{margin-right:1em;padding-right:1em;position:relative}.form-cluster:after{content:"";width:1px;height:80%;position:absolute;border-right:1px solid #e5e5d8;top:0;right:0;bottom:0;margin:auto}.ruled-form{-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dates-range-picker{min-width:152px}.adanced-search-actions .btn{display:block;margin-top:.5em}.citations-unit .unit-content,.permalink-unit .unit-content{display:-webkit-flex;display:-ms-flexbox;display:flex}.permalink-unit .unit-content{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.permalink-unit .url-element{padding:1em;background:#fff;border:1px solid #d9e4ea}.permalink-unit .copy-text-button{margin-top:1em;visibility:visible;opacity:1;transition:opacity .3s ease,visibility 0s 0s}.permalink-unit .message-element{position:absolute;padding:.4em;background:tomato;left:0;right:0;margin:auto;width:60%;margin-top:.9em;text-align:center;border-radius:3px;color:#fff;font-weight:300}.permalink-unit .message-displayed .copy-text-button,.permalink-unit .message-element{visibility:hidden;opacity:0;transition:opacity .3s ease,visibility 0s .3s}.permalink-unit .message-displayed .message-element{visibility:visible;opacity:1;transition:opacity .3s ease,visibility 0s 0s}.bar{padding:.5em 1em;border:1px solid;border-radius:3px}.bar.large-bar{min-height:100px}.filter-bar{background-color:#e6e6e6;border-color:#e1e1e1}.alert-bar{background-color:#f7eda3;border-color:#ede49e}.success-bar{background-color:#a1d6a1;border-color:#79cb79;color:#133213}.error-bar{background-color:#fee5e1;border-color:#ffb9ad;color:#ad1a00}.links-block .links-block-item{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.links-block .separated-block-item:after{content:"";height:1em;width:1px;background-color:#d0d0d0;-webkit-transform:rotate(15deg);transform:rotate(15deg)}.links-block .separated-block-item:last-child:after{display:none}.labeled-block .block-label{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-right:.5em;padding-top:.4em}.labeled-block .block-body{overflow:hidden;max-height:10em;transition:max-height .8s cubic-bezier(.35,0,.25,1)}.labeled-block.collapsed .block-body{max-height:1.8em;transition:max-height .5s cubic-bezier(.25,.8,.25,1)}.service-form{position:relative}.service-form .md-input-container-dummy>.md-select-dummy:not([disabled]) md-select-value,.service-form .md-input-container-dummy label,.service-form .md-input-container-dummy md-select:not([disabled]) md-select-value,.service-form md-input-container .md-input-container-dummy>.md-select-dummy:not([disabled]) md-select-value,.service-form md-input-container label,.service-form md-input-container md-select:not([disabled]) md-select-value{color:#333}.service-form-loader{width:100%;position:absolute;top:0;bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background-color:hsla(0,0%,100%,.6);z-index:10}.service-form-loader .loader{height:70px;top:auto;left:auto;-webkit-transform:none;transform:none}.service-form-item{position:relative}.service-form-item>prm-icon{position:absolute;bottom:16px;left:-24px}.service-form-item>prm-icon md-icon{opacity:.3;height:16px;width:16px}.service-form-static-panel{background-color:#f8f8f8;box-shadow:inset -1px 0 0 0 #f1f1f1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.service-form-dynamic-panel{-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3}.md-input-container-dummy{position:relative;padding:2px 2px 26px}.md-input-container-dummy .label-dummy{position:relative;top:-2px;-webkit-transform:translate3d(0,28px,0) scale(1);transform:translate3d(0,28px,0) scale(1);color:rgba(0,0,0,.55);-webkit-transform-origin:left top;transform-origin:left top}.md-input-container-dummy.dummy-input-has-value .label-dummy{-webkit-transform:translate3d(0,6px,0) scale(.85);transform:translate3d(0,6px,0) scale(.85)}.md-input-container-dummy .md-select-value-dummy{border-width:0}.md-input-container-dummy .md-select-icon-dummy{visibility:hidden}a{color:#5c92bd}a:not(.md-button){position:relative;line-height:1.4em;padding-bottom:.1em;text-decoration:none;box-shadow:inset 0 -1px 0 0 rgba(92,146,189,0);display:inline;cursor:pointer}a:not(.md-button):focus,a:not(.md-button):hover{background-color:rgba(92,146,189,.1);color:#226091;box-shadow:inset 0 -1px 0 0 rgba(34,96,145,.5)}a.md-button{color:#5c92bd}[external-link]{color:rgba(51,51,51,.7)}[external-link] md-icon{height:15px;width:15px;top:-1px;position:relative}.arrow-link [link-arrow]{position:absolute}.arrow-link [link-arrow] md-icon{width:20px;height:20px;opacity:.5;transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.3s}.arrow-link:hover [link-arrow] md-icon{opacity:1;-webkit-transform:translateX(7px);transform:translateX(7px)}.link-alt-color,.md-button.button-as-link.link-alt-color,.section-title prm-icon{color:#45aab4}prm-spinner{position:relative}prm-spinner .loader{position:relative;width:30px}prm-spinner .loader .diamond{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:1.2em;height:1.2em;border-radius:2px;-webkit-transform:translateY(0) rotate(45deg) scale(0);transform:translateY(0) rotate(45deg) scale(0);-webkit-animation:diamonds 1.5s linear infinite;animation:diamonds 1.5s linear infinite}prm-spinner .loader .diamond:nth-child(1){-webkit-animation-delay:-1s;animation-delay:-1s}prm-spinner .loader .diamond:nth-child(2){-webkit-animation-delay:-2s;animation-delay:-2s}prm-spinner .loader .diamond:nth-child(3){-webkit-animation-delay:-3s;animation-delay:-3s}prm-spinner .loader .diamond:nth-child(4){-webkit-animation-delay:-4s;animation-delay:-4s}prm-spinner .loader-text{color:#53738c}prm-spinner.default-loader .loader{height:80px}prm-spinner.inline-loader{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-width:40px;height:10px;margin-right:5px}prm-spinner.inline-loader .loader{-webkit-transform:rotate(90deg) scale(.75) translateY(320%);transform:rotate(90deg) scale(.75) translateY(320%);-webkit-transform-origin:50%;transform-origin:50%;width:40px;margin-right:10px}prm-spinner.inline-loader .loader-text{line-height:.5em}prm-spinner.inline-loader .spinner-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%)}prm-spinner.light-on-dark .diamond{background-color:#fff}prm-spinner.dark-on-light .diamond{background-color:#53738c}prm-spinner.half-transparent .diamond{background-color:#9bb2c4}prm-spinner.no-text .loader-text{display:none}prm-spinner.overlay-cover{top:0;bottom:0;position:absolute;left:0;right:0;z-index:1}prm-spinner.overlay-cover:after{content:"";position:absolute;top:0;bottom:0;right:0;left:0;opacity:.6;z-index:-1}prm-spinner.overlay-cover.dark-on-light:after{background-color:#fff}@-webkit-keyframes diamonds{50%{-webkit-transform:translateY(-2em) rotate(45deg) scale(1);transform:translateY(-2em) rotate(45deg) scale(1)}to{-webkit-transform:translateY(-4em) rotate(45deg) scale(0);transform:translateY(-4em) rotate(45deg) scale(0)}}@keyframes diamonds{50%{-webkit-transform:translateY(-2em) rotate(45deg) scale(1);transform:translateY(-2em) rotate(45deg) scale(1)}to{-webkit-transform:translateY(-4em) rotate(45deg) scale(0);transform:translateY(-4em) rotate(45deg) scale(0)}}.bottom-loader .loader{height:100px}prm-icon md-icon,prm-icon md-icon.md-primoExplore-theme{color:inherit!important;transition:all .4s cubic-bezier(.25,.8,.25,1)}prm-icon md-icon.md-primoExplore-theme svg,prm-icon md-icon svg{color:inherit}prm-icon.h-flipped md-icon{-webkit-transform:rotate(180deg) scaleY(-1);transform:rotate(180deg) scaleY(-1)}prm-icon.rotate-25 md-icon{-webkit-transform:rotate(25deg);transform:rotate(25deg)}prm-icon.rotate-180 md-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}prm-icon.giant-icon{margin:0}prm-icon.giant-icon md-icon{width:84px;height:84px}prm-icon.bg-icon{opacity:.2}.login-dialog{color:#333;min-width:320px;max-width:600px}.login-dialog .error-color{color:tomato}.login-dialog .back-button{position:absolute;left:.5em}.login-dialog .loader-wrapper{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;background-color:hsla(0,0%,91%,.5)}.login-dialog .loader-wrapper .loader{height:10%}.login-dialog .md-actions,.login-dialog md-dialog-actions{-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;min-height:76px;margin-top:.5em}.login-dialog md-content{padding:1em 0}.login-dialog .dialog-title{margin-bottom:.5em}.login-dialog .error-warning-message{display:block;text-align:center}.login-dialog .md-list[class$=-line] md-list-item,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style,.login-dialog .md-list md-list-item,.login-dialog .md-list md-list-item>.md-no-style,.login-dialog md-list md-list-item,.login-dialog md-list md-list-item>.md-no-style{margin:0}.login-dialog .md-list[class$=-line] md-list-item .md-button,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-button,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style button,.login-dialog .md-list[class$=-line] md-list-item button,.login-dialog .md-list md-list-item .md-button,.login-dialog .md-list md-list-item>.md-no-style .md-button,.login-dialog .md-list md-list-item>.md-no-style button,.login-dialog .md-list md-list-item button,.login-dialog md-list md-list-item .md-button,.login-dialog md-list md-list-item>.md-no-style .md-button,.login-dialog md-list md-list-item>.md-no-style button,.login-dialog md-list md-list-item button{padding:1em}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text .list-item-title,.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text h3,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text .list-item-title,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text h3,.login-dialog .md-list md-list-item .md-list-item-text .list-item-title,.login-dialog .md-list md-list-item .md-list-item-text h3,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text h3,.login-dialog md-list md-list-item .md-list-item-text .list-item-title,.login-dialog md-list md-list-item .md-list-item-text h3,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text h3{font-weight:300;font-size:1.6em;color:#5c92bd;margin-bottom:.5em}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text p,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text p,.login-dialog .md-list md-list-item .md-list-item-text p,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text p,.login-dialog md-list md-list-item .md-list-item-text p,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text p{color:inherit}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text ul,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text ul,.login-dialog .md-list md-list-item .md-list-item-text ul,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text ul,.login-dialog md-list md-list-item .md-list-item-text ul,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text ul{list-style:inherit;padding-left:1.6em}.login-dialog .md-list[class$=-line] md-list-item .md-list-item-text li,.login-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text li,.login-dialog .md-list md-list-item .md-list-item-text li,.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text li,.login-dialog md-list md-list-item .md-list-item-text li,.login-dialog md-list md-list-item>.md-no-style .md-list-item-text li{line-height:1.6em}.login-dialog .md-list[class$=-line] button.md-button,.login-dialog .md-list button.md-button,.login-dialog md-list button.md-button{cursor:pointer}.login-dialog .md-list[class$=-line] button.md-button:not([disabled]):hover,.login-dialog .md-list button.md-button:not([disabled]):hover,.login-dialog md-list button.md-button:not([disabled]):hover{background-color:#f1f1f1}.login-dialog md-input-container,.login-dialog md-input-container.md-input-focused,.login-dialog md-input-container.md-input-focused:not(.md-input-invalid),.login-dialog md-input-container.md-input-has-value{max-width:300px}.login-dialog md-input-container.md-input-focused:not(.md-input-invalid) input,.login-dialog md-input-container.md-input-focused input,.login-dialog md-input-container.md-input-has-value input,.login-dialog md-input-container input{font-size:1.5em}.login-dialog .collapsable-container{transition-duration:0s}.login-dialog .collapsable-container>md-content{padding:1em 2em}.login-dialog .collapsable-container>.md-button{margin:0}.login-dialog .collapsable-container md-list md-list-item .md-list-item-inner{color:#5c92bd;min-height:1em;line-height:1em}.login-dialog .collapsable-container p{padding:1em}.login-dialog .collapsable-container p:last-child{margin:0}.login-dialog .collapsable-container md-content{transition-duration:0s}.login-card{position:relative;max-width:580px;min-width:360px}.login-card md-card-content{padding:0}.login-card md-toolbar,.login-card md-toolbar.md-default-theme:not(.md-menu-toolbar),.login-card md-toolbar:not(.md-menu-toolbar){background-color:transparent;color:#333}.login-card.login-dialog md-content,.login-card.login-dialog md-list{padding:0}.login-card .login-header{margin-bottom:2em;max-width:260px}.login-card .login-header img{width:100%;height:auto}.login-card .login-card .collapsable-container md-content{padding:1em}prm-search>md-content{overflow:hidden}prm-search header>prm-spinner{position:absolute;bottom:-15px;width:100%;z-index:10;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;height:30px}@media only screen and (max-width:600px){prm-search header>prm-spinner{bottom:-10px;max-height:20px}}prm-search header>prm-spinner .spinner-wrapper{width:30px;height:90px;-webkit-transform:rotate(90deg) scale(1) translateY(0);transform:rotate(90deg) scale(1) translateY(0)}prm-search header>prm-spinner.ng-enter{-webkit-transform:scale3d(8,0,1);transform:scale3d(8,0,1);transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.75s}prm-search header>prm-spinner.ng-enter.ng-enter-active,prm-search header>prm-spinner.ng-leave{-webkit-transform:scaleX(1);transform:scaleX(1)}prm-search header>prm-spinner.ng-leave{transition:all .5s cubic-bezier(.35,0,.25,1)}prm-search header>prm-spinner.ng-leave.ng-leave-active{-webkit-transform:scale3d(8,0,1);transform:scale3d(8,0,1)}prm-search-result-list{min-height:600px}prm-search-result-list .results-container{padding:.5em 1em}.no-list-item-padding prm-search-result-list .results-container{padding:0}prm-search-result-list .results-footer,prm-search-result-list .results-title{font-size:1.1em;margin:0;font-weight:300;width:100%}prm-search-result-list .results-title{border-bottom:1px solid #e9e9e9;padding:.5em .75em}prm-search-result-list .results-footer{padding:0;border-top:1px solid #efefe7;width:100%}prm-search-result-list .results-footer .results-count{padding:.5em;line-height:1.5em}prm-search-result-list .results-loader{position:relative;height:10em}prm-search-result-list .sort-by-menu label{margin-bottom:0;top:0;bottom:0;margin:auto 0;font-weight:300}prm-search-result-list .sort-by-menu select{font-weight:400;font-size:1em;padding:0}prm-search-result-list .paging-container{float:right;font-size:.9em;width:100%;line-height:1.5em}prm-search-result-list .paging-container>div{display:inherit}prm-search-result-list .paging-container>div.paging-disabled{visibility:hidden}prm-search-result-list .paging-container .left-ward-paging{border-right:1px solid #efefe7}prm-search-result-list .paging-container .right-ward-paging{border-left:1px solid #efefe7}prm-search-result-list .paging-container .center-paging{border-right:1px solid #efefe7}prm-search-result-list .paging-container .paging-cell{padding:1em 1.6em;border-left:1px solid #efefe7;cursor:pointer}prm-search-result-list .paging-container .paging-cell:only-child{border-width:0}prm-search-result-list .paging-container .paging-cell:hover{background-color:#fff}prm-search-result-list .paging-container .paging-cell.current-page{background-color:#fff;font-weight:400;position:relative}prm-search-result-list .paging-container .paging-cell.current-page:before{content:"\f0d7";position:absolute;top:-.4em;left:.7em;font-family:fontawesome;font-size:1.8em;color:#f1f1f1;text-shadow:0 2px 0 #efefe7}prm-search-result-list .paging-container .paging-cell.next-page{text-transform:uppercase;font-weight:400;letter-spacing:.1em}prm-search-result-list .paging-container .paging-cell .arrow-right{margin-left:1em}prm-search-result-list .paging-container .paging-cell .arrow-left{margin-right:1em}prm-action-list md-pagination-wrapper,prm-action-list md-tabs-canvas{height:60px}prm-action-list .md-tab,prm-action-list md-tab-item{opacity:1;border-radius:0;padding:.5em 0}prm-action-list md-ink-bar{margin-left:1.4em;margin-right:1.4em}prm-action-list .item-actions,prm-action-list .media-actions{position:absolute;top:9px;bottom:0;right:.5em;height:40px;z-index:11}prm-action-list .item-actions .button-one,prm-action-list .item-actions .button-two,prm-action-list .media-actions .button-one,prm-action-list .media-actions .button-two{display:block;margin-bottom:5px;z-index:10;opacity:1;visibility:hidden;-webkit-transform:scale3d(0,0,1);transform:scale3d(0,0,1)}prm-action-list .item-actions .button-one:last-child,prm-action-list .item-actions .button-two:last-child,prm-action-list .media-actions .button-one:last-child,prm-action-list .media-actions .button-two:last-child{margin-bottom:0}.item-expanded prm-action-list .item-actions .button-one,.item-expanded prm-action-list .item-actions .button-two,.item-expanded prm-action-list .media-actions .button-one,.item-expanded prm-action-list .media-actions .button-two,.item-hovered prm-action-list .item-actions .button-one,.item-hovered prm-action-list .item-actions .button-two,.item-hovered prm-action-list .media-actions .button-one,.item-hovered prm-action-list .media-actions .button-two{z-index:10;opacity:1;visibility:visible;-webkit-transform:scaleX(1);transform:scaleX(1)}.item-expanded prm-action-list .item-actions .button-one:nth-child(1),.item-expanded prm-action-list .item-actions .button-two:nth-child(1),.item-expanded prm-action-list .media-actions .button-one:nth-child(1),.item-expanded prm-action-list .media-actions .button-two:nth-child(1),.item-hovered prm-action-list .item-actions .button-one:nth-child(1),.item-hovered prm-action-list .item-actions .button-two:nth-child(1),.item-hovered prm-action-list .media-actions .button-one:nth-child(1),.item-hovered prm-action-list .media-actions .button-two:nth-child(1){transition:opacity .1s .5s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .5s cubic-bezier(.175,.885,.32,1.275);transition:transform .4s .5s cubic-bezier(.175,.885,.32,1.275),opacity .1s .5s ease,visibility 0s 0s,z-index 0s 0s;transition:transform .4s .5s cubic-bezier(.175,.885,.32,1.275),opacity .1s .5s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .5s cubic-bezier(.175,.885,.32,1.275)}.item-expanded prm-action-list .item-actions .button-one:nth-child(2),.item-expanded prm-action-list .item-actions .button-two:nth-child(2),.item-expanded prm-action-list .media-actions .button-one:nth-child(2),.item-expanded prm-action-list .media-actions .button-two:nth-child(2),.item-hovered prm-action-list .item-actions .button-one:nth-child(2),.item-hovered prm-action-list .item-actions .button-two:nth-child(2),.item-hovered prm-action-list .media-actions .button-one:nth-child(2),.item-hovered prm-action-list .media-actions .button-two:nth-child(2){transition:opacity .1s .3s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .3s cubic-bezier(.175,.885,.32,1.275);transition:transform .4s .3s cubic-bezier(.175,.885,.32,1.275),opacity .1s .3s ease,visibility 0s 0s,z-index 0s 0s;transition:transform .4s .3s cubic-bezier(.175,.885,.32,1.275),opacity .1s .3s ease,visibility 0s 0s,z-index 0s 0s,-webkit-transform .4s .3s cubic-bezier(.175,.885,.32,1.275)}prm-action-list .item-actions i,prm-action-list .media-actions i{margin-right:5px}prm-action-list .item-actions li,prm-action-list .media-actions li{margin-right:0!important;width:auto!important}.send-actions-content{max-height:0;overflow:hidden;opacity:0;transition:opacity 0s ease,max-height 0s cubic-bezier(.23,1,.32,1)}.send-content-visible .send-actions-content{max-height:100em;opacity:1;transition:opacity .2s ease,max-height .3s cubic-bezier(.23,1,.32,1)}.send-actions-content-item{margin:1em 1em 1.5em;-webkit-transform-origin:50% 0;transform-origin:50% 0;transition:-webkit-transform .4s cubic-bezier(.23,1,.32,1);transition:transform .4s cubic-bezier(.23,1,.32,1);transition:transform .4s cubic-bezier(.23,1,.32,1),-webkit-transform .4s cubic-bezier(.23,1,.32,1)}prm-full-view .send-actions-content-item{padding:1em 0 0}.send-actions-content-item>md-content,.send-actions-content-item>md-content.md-primoExplore-theme{padding:1em;border:1px solid #eee;background-color:#f8f8f8}prm-full-view .send-actions-content-item>md-content,prm-full-view .send-actions-content-item>md-content.md-primoExplore-theme{padding:1.5em}.send-action-buttons .button-confirm{margin:0}prm-search-result-list md-list-item{transition:max-height .3s ease,-webkit-transform .5s;transition:max-height .3s ease,transform .5s;transition:max-height .3s ease,transform .5s,-webkit-transform .5s;width:100%;padding:0!important;border-bottom:1px solid #e9e9e9;transition-duration:0s}prm-search-result-list md-list-item.item-removed{max-height:0}prm-search-result-list md-list-item:last-child .list-item{border-bottom-width:0}prm-brief-result-container{border-radius:3px;display:inline-block;width:100%;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);transition:opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,background-color .3s ease,-webkit-transform .7s cubic-bezier(.25,.8,.25,1);transition:transform .7s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,background-color .3s ease;transition:transform .7s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,background-color .3s ease,-webkit-transform .7s cubic-bezier(.25,.8,.25,1);opacity:1;background-color:transparent}.no-separators prm-brief-result-container{border-bottom-width:0}.no-list-item-padding prm-brief-result-container{border-radius:0}.item-expanded prm-brief-result-container{z-index:10!important;-webkit-transform:translate3d(-10px,-25px,0);transform:translate3d(-10px,-25px,0);transition:opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:transform .5s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s;transition:transform .5s cubic-bezier(.25,.8,.25,1),opacity .3s ease,max-height .5s cubic-bezier(.25,.8,.25,1),z-index 0s 0s,-webkit-transform .5s cubic-bezier(.25,.8,.25,1)}prm-brief-result-container:focus,prm-brief-result-container:hover{background-color:#fff;border-color:#f4f4f4;box-shadow:0 -1px #f4f4f4,1px 0 #f4f4f4,-1px 0 #f4f4f4}prm-full-view prm-brief-result-container:focus,prm-full-view prm-brief-result-container:hover{background-color:transparent;border-color:transparent;box-shadow:none}prm-brief-result-container .list-item-primary-content{padding:1em 1.5em;z-index:10;background-color:transparent;position:relative}@media only screen and (max-width:600px){prm-brief-result-container .list-item-primary-content{padding:1em}}.item-expanded prm-brief-result-container .list-item-primary-content,.item-hovered prm-brief-result-container .list-item-primary-content{transition:background-color .5s .5s ease;background-color:#fff}prm-brief-result-container .list-item-primary-content.has-checkbox{padding-left:3em}prm-brief-result-container .list-item-primary-content md-checkbox{position:absolute;top:.95em;left:.8em}.action-list-content{background-color:transparent;position:absolute;top:0;left:0;width:100%;height:100%;padding-left:1em;box-shadow:0 0 0 0 #fff,0 0 0 0 transparent,0 0 0 0 transparent,0 0 0 -8px #f1f1f1,0 0 0 -8px #efefe7;transition:background-color .3s ease,width .3s cubic-bezier(.23,1,.32,1),height .3s cubic-bezier(.19,1,.22,1),box-shadow .3s cubic-bezier(.19,1,.22,1);transition-delay:0s}.item-expanded .action-list-content,.item-hovered .action-list-content{background-color:#fff;height:inherit;transition:background-color 0s 0s,width .4s cubic-bezier(.23,1,.32,1),height .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1),padding .3s cubic-bezier(.23,1,.32,1)}.no-list-item-padding .item-expanded .action-list-content,.no-list-item-padding .item-hovered .action-list-content{width:calc(100% + 20px)}.item-expanded .action-list-content,.menu-open .action-list-content{transition-delay:0s!important}.item-hovered .action-list-content{transition-delay:.8s}.action-list-content .content-holder{padding:.66667em 1em}.secondary-content-divider{display:block;width:calc(100% + 16px);height:1px;top:8px;left:-8px;position:relative}.secondary-content-divider:after{content:"";width:0;position:absolute;top:0;right:0;opacity:0;background-color:#f1f1f1;height:1px;transition:width 0s 0s,opacity 0s}.item-expanded .secondary-content-divider:after{width:100%;opacity:1;transition:width 1s cubic-bezier(.25,.8,.25,1),opacity .2s .1s ease}.secondary-content-holder{opacity:0;transition:opacity .1s 0s ease;overflow:hidden;position:relative}.item-expanded .secondary-content-holder{opacity:1;transition:opacity .3s .1s ease}.secondary-content-holder md-tabs{position:relative;top:8px}.secondary-content-holder .md-tab,.secondary-content-holder md-tab-item{opacity:0;-webkit-transform:scale3d(-1.5,0,1);transform:scale3d(-1.5,0,1);-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.item-expanded .secondary-content-holder .md-tab,.item-expanded .secondary-content-holder md-tab-item{-webkit-transform:scaleX(1);transform:scaleX(1);opacity:1;transition:opacity .2s ease,-webkit-transform .3s cubic-bezier(.25,.8,.25,1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .2s ease;transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .2s ease,-webkit-transform .3s cubic-bezier(.25,.8,.25,1)}.item-expanded .secondary-content-holder .md-tab:nth-child(1),.item-expanded .secondary-content-holder md-tab-item:nth-child(1){transition-delay:.33s}.item-expanded .secondary-content-holder .md-tab:nth-child(2),.item-expanded .secondary-content-holder md-tab-item:nth-child(2){transition-delay:.3s}.item-expanded .secondary-content-holder .md-tab:nth-child(3),.item-expanded .secondary-content-holder md-tab-item:nth-child(3){transition-delay:.27s}.item-expanded .secondary-content-holder .md-tab:nth-child(4),.item-expanded .secondary-content-holder md-tab-item:nth-child(4){transition-delay:.24s}.item-expanded .secondary-content-holder .md-tab:nth-child(5),.item-expanded .secondary-content-holder md-tab-item:nth-child(5){transition-delay:.21s}.item-expanded .secondary-content-holder .md-tab:nth-child(6),.item-expanded .secondary-content-holder md-tab-item:nth-child(6){transition-delay:.18s}.item-expanded .secondary-content-holder .md-tab:nth-child(7),.item-expanded .secondary-content-holder md-tab-item:nth-child(7){transition-delay:.15s}.item-expanded .secondary-content-holder .md-tab:nth-child(8),.item-expanded .secondary-content-holder md-tab-item:nth-child(8){transition-delay:.12s}.item-expanded .secondary-content-holder .md-tab:nth-child(9),.item-expanded .secondary-content-holder md-tab-item:nth-child(9){transition-delay:.09s}.item-expanded .secondary-content-holder .md-tab:nth-child(10),.item-expanded .secondary-content-holder md-tab-item:nth-child(10){transition-delay:.06s}.item-expanded .secondary-content-holder .md-tab:nth-child(11),.item-expanded .secondary-content-holder md-tab-item:nth-child(11){transition-delay:.03s}.item-expanded .secondary-content-holder .md-tab:nth-child(12),.item-expanded .secondary-content-holder md-tab-item:nth-child(12){transition-delay:0s}prm-brief-result .item-title{font-size:1.18em;line-height:1.2em;color:#44707b;max-width:75%;margin:7px 0;margin:0;font-weight:600;cursor:pointer}prm-brief-result .item-detail{font-weight:400}prm-brief-result .item-detail>span:last-child:after{content:"";display:table;width:100%;margin-bottom:.25em}prm-brief-result .item-detail img{max-height:1.25em;vertical-align:middle;margin-left:.35em;margin-right:.35em}prm-brief-result .item-detail [class^=media-]{opacity:.85}prm-brief-result .item-detail .media-creator{opacity:1;color:#333;font-size:1.1em;font-weight:600}@media only screen and (max-width:600px){prm-brief-result .item-detail .media-creator{font-size:1em}}prm-brief-result-container md-divider,prm-brief-result-container md-divider.md-primoExplore-theme{border-color:#e9e9e9;transition:opacity .2s ease}.item-expanded prm-brief-result-container md-divider,.item-expanded prm-brief-result-container md-divider.md-primoExplore-theme{opacity:0}prm-brief-result-container .result-item-text{padding-right:3em}@media only screen and (max-width:600px){prm-brief-result-container .result-item-text{margin-left:0}}prm-brief-result-container .result-item-image{margin-right:1em;-webkit-flex:0 0 60px;-ms-flex:0 0 60px;flex:0 0 60px}prm-full-view prm-brief-result-container .result-item-image{margin-right:1.5em;max-width:6em;width:6em;min-width:6em}prm-brief-result-container .result-item-secondary-content{padding-left:0}prm-brief-result-container .media-thumbnail{position:relative;top:0;left:0;display:block;width:100%}prm-brief-result-container .media-thumbnail img{box-shadow:none;width:100%}prm-brief-result-container .media-thumbnail img[ng-src*=http]{display:block;box-shadow:0 1px 1px rgba(0,0,0,.3),2px 1px 0 #fff,-3px 3px 10px -3px rgba(0,0,0,.3)}prm-full-view prm-brief-result-container .media-thumbnail .dedup-images-holder>div{-webkit-transform:translate(18px,24px) scale(1.5);transform:translate(18px,24px) scale(1.5);display:block}prm-full-view prm-brief-result-container .media-thumbnail .dedup-images-holder img{width:inherit}prm-full-view prm-brief-result-container .media-thumbnail .dedup-images-holder img:first-child{width:60px}prm-brief-result-container .media-content-type{z-index:11;margin-top:-2px;word-break:break-all}prm-brief-result-container .media-content-type prm-search-result-frbr-line>span{text-transform:lowercase;font-size:.9rem;font-size:1.25em;font-weight:400;letter-spacing:0}.list-item-count{position:absolute;left:.5em;opacity:.3;font-size:.8em;top:.4em}.has-checkbox .list-item-count{left:12px;top:16px;opacity:.5;width:20px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dedup-images-holder{position:relative;-webkit-perspective:1000;perspective:1000}prm-full-view .dedup-images-holder>div{width:60px}.dedup-images-holder img{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform-origin:50% 0;transform-origin:50% 0;min-height:88px;min-width:60px}.dedup-images-holder img:first-child{position:relative;-webkit-transform:rotate(-7deg) translate3d(-12px,0,0) scale3d(.8,.8,1);transform:rotate(-7deg) translate3d(-12px,0,0) scale3d(.8,.8,1);z-index:2}prm-brief-result-container:hover .dedup-images-holder img:first-child{-webkit-transform:rotate(-12deg) translate3d(-25px,-3px,0) scale3d(.8,.8,1);transform:rotate(-12deg) translate3d(-25px,-3px,0) scale3d(.8,.8,1)}.dedup-images-holder img+img{position:absolute;top:0;-webkit-transform:rotate(-3deg) translate3d(-1px,0,0) scale3d(.8,.8,1);transform:rotate(-3deg) translate3d(-1px,0,0) scale3d(.8,.8,1);z-index:3}prm-brief-result-container:hover .dedup-images-holder img+img{-webkit-transform:rotate(-7deg) translate3d(-7px,-1px,0) scale3d(.8,.8,1);transform:rotate(-7deg) translate3d(-7px,-1px,0) scale3d(.8,.8,1)}.dedup-images-holder img+img+img{position:absolute;top:0;-webkit-transform:rotateY(0deg) translate3d(8px,0,0) scale3d(.8,.8,1);transform:rotateY(0deg) translate3d(8px,0,0) scale3d(.8,.8,1);z-index:4}prm-brief-result-container:hover .dedup-images-holder img+img+img{-webkit-transform:rotate(2deg) translate3d(12px,0,0) scale3d(.8,.8,1);transform:rotate(2deg) translate3d(12px,0,0) scale3d(.8,.8,1)}.result-item-actions{min-width:0;position:absolute;top:0;right:0;margin-right:4px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;transition:opacity .2s,-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s,-webkit-transform .3s cubic-bezier(.23,1,.32,1)}@media only screen and (max-width:600px){.result-item-actions{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin-right:.5em}}.item-expanded .result-item-actions{-webkit-transform:translate(28px,-8px);transform:translate(28px,-8px)}.result-item-actions>.md-button{opacity:.6}.result-item-actions>.md-button:hover{opacity:1}.result-item-actions .md-icon-button{margin:0;background-color:transparent;height:38px;max-height:38px;min-height:38px;width:38px;min-width:38px;max-width:38px}.result-item-actions .custom-button{margin:0;padding:0}.result-item-actions .custom-button md-icon{height:20px;width:20px}.result-item-actions .custom-button.pin-button md-icon{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:rotate(-25deg);transform:rotate(-25deg);opacity:0}.result-item-actions .custom-button.pin-button.pinned md-icon{-webkit-transform:rotate(25deg);transform:rotate(25deg);opacity:1}.result-item-actions .custom-button.unpin-button md-icon{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:rotate(25deg);transform:rotate(25deg);opacity:0}.result-item-actions .custom-button.unpin-button.unpinned md-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}.result-item-actions .more-options-button{margin-left:4px;width:38px;position:relative}.result-item-actions .more-options-button prm-icon md-icon{transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative}.result-item-actions .more-options-button prm-icon.open-icon md-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1;top:-2px}.item-expanded .result-item-actions .more-options-button prm-icon.open-icon md-icon{-webkit-transform:rotate(-135deg);transform:rotate(-135deg);opacity:0}.result-item-actions .more-options-button prm-icon.close-icon{position:absolute;left:-4px;right:0}.result-item-actions .more-options-button prm-icon.close-icon md-icon{height:34px;width:34px;-webkit-transform:rotate(45deg) scale3d(.5,.5,1) translate3d(4px,0,0);transform:rotate(45deg) scale3d(.5,.5,1) translate3d(4px,0,0);opacity:0;-webkit-transform-origin:50% 45%;transform-origin:50% 45%;top:-3px}.item-expanded .result-item-actions .more-options-button prm-icon.close-icon md-icon{-webkit-transform:rotate(-90deg) scaleX(1) translateZ(0);transform:rotate(-90deg) scaleX(1) translateZ(0);opacity:1}prm-search-result-availability-line{line-height:1.2em}prm-search-result-availability-line [availability-type]{margin-right:.2em;color:rgba(51,51,51,.4)}prm-search-result-availability-line [availability-type] md-icon{width:15px;height:15px;position:relative;top:-2px}prm-search-result-availability-line span{white-space:normal;display:inline}prm-search-result-availability-line .availability-status span{display:inline-block}prm-search-result-availability-line .availability-status span:first-child+.locations-link:before{content:"\00a0"}prm-search-result-availability-line prm-spinner{position:relative;transition:-webkit-transform .3s 0s cubic-bezier(.68,-.55,.265,1.55);transition:transform .3s 0s cubic-bezier(.68,-.55,.265,1.55);transition:transform .3s 0s cubic-bezier(.68,-.55,.265,1.55),-webkit-transform .3s 0s cubic-bezier(.68,-.55,.265,1.55);-webkit-transform:scale(.8);transform:scale(.8);-webkit-transform-origin:0 50%;transform-origin:0 50%;left:2.8em;top:1px}prm-search-result-availability-line prm-spinner.hidden{-webkit-transform:scale(0);transform:scale(0)}prm-brief-result+prm-search-result-availability-line{position:relative}prm-search-result-frbr-line a>prm-icon:first-child{margin-right:.15em}prm-search-result-frbr-line a>prm-icon:first-child md-icon{width:15px;height:15px;position:relative;top:-2px}prm-search-result-frbr-line md-divider{width:1px;height:1em;display:inline-block;border-right:1px solid currentColor!important;-webkit-transform:rotate(15deg);transform:rotate(15deg);top:2px;position:relative;margin-left:.3em;margin-right:.3em}prm-copy-clipboard-btn .md-button{transition-duration:0s!important}prm-search-bookmark-filter{height:100%;margin-right:.5em}prm-logo{z-index:10;height:100%}prm-logo .product-logo{height:100%;padding:.85em;min-width:188px}prm-logo .logo-image,prm-main-menu,prm-main-menu .top-nav-bar-links{height:100%}prm-main-menu .md-button{box-shadow:1px 0 0 0 #4a667c;padding:0 .75em;max-width:12em}prm-main-menu .md-button:first-child{box-shadow:1px 0 0 0 #4a667c,-1px 0 0 0 #4a667c}prm-user-area{height:100%}prm-user-area>.md-button{padding:0 1em}prm-user-area .user-menu-button{display:inherit;line-height:1.3em}prm-user-area .mobile-menu-button{display:none}@media only screen and (max-width:600px){prm-user-area .mobile-menu-button{display:inherit}}prm-user-area .md-fab-action-item,prm-user-area .md-fab-toolbar-content,prm-user-area .md-fab-toolbar-wrapper,prm-user-area .md-toolbar-tools,prm-user-area md-fab-toolbar,prm-user-area md-fab-trigger,prm-user-area md-toolbar{height:100%}prm-user-area md-fab-trigger{border-radius:0}prm-user-area md-fab-trigger>.md-button{padding:0 1em}prm-user-area md-fab-trigger>.md-button .md-fab-toolbar-background{transition-duration:.3s}prm-user-area md-fab-toolbar{position:absolute;top:0;right:0;z-index:-1;width:auto;transition:z-index 0s .5s linear,opacity .3s .1s ease;width:100%}prm-user-area md-fab-toolbar md-toolbar{overflow:hidden}@media (-ms-high-contrast:active),all and (-ms-high-contrast:none){prm-user-area md-fab-toolbar md-toolbar{pointer-events:inherit!important}}prm-user-area md-fab-toolbar md-fab-actions.md-toolbar-tools{padding:0;margin:0}prm-user-area md-fab-toolbar .md-fab-action-item .md-button{height:100%;max-height:none;padding:0 1em;border-radius:0}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]){color:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]) md-icon{color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):focus,prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):hover{background-color:transparent;color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container{margin:0;padding:0 1em;height:100%;font-size:.7em;text-transform:uppercase;color:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-icon{position:relative;top:0;left:0;margin-right:.35em}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-icon path:not([fill=none]){fill:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]){color:#a9cdd6}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]) md-icon{color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]):hover{background-color:transparent;color:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select{height:100%}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy .md-select-value,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select .md-select-value{margin:0;padding:0;border:none!important}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy .md-select-value span,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select .md-select-value span{top:-3px;position:inherit}prm-user-area md-fab-toolbar .md-fab-action-item md-input-container .md-input-container-dummy>.md-select-dummy .md-select-placeholder,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container md-select .md-select-placeholder{color:inherit;border-bottom:none}prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):focus,prm-user-area md-fab-toolbar .md-fab-action-item .md-button.md-primoExplore-theme:not([disabled]):hover,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]):focus,prm-user-area md-fab-toolbar .md-fab-action-item md-input-container.md-primoExplore-theme:not([disabled]):hover{background-color:#4b687f;color:#fff;box-shadow:none!important}prm-user-area md-fab-toolbar.md-is-open{z-index:1;transition:z-index 0s .1s linear,opacity 0s 0s ease}prm-user-area md-fab-toolbar.md-is-open md-toolbar{width:auto;overflow:auto}prm-user-area md-fab-toolbar.md-is-open md-fab-trigger .md-fab-toolbar-background{background-color:#445e72!important;transition-duration:.2s}prm-user-area md-fab-toolbar.md-is-open .md-fab-action-item{transition-timing-function:cubic-bezier(.25,.8,.25,1)}prm-user-area md-toolbar{min-height:0}prm-user-area .user-name{text-transform:none;font-weight:600;color:#73e9ff;text-align:left;max-width:80px}prm-user-area .user-language{font-size:.85em;font-weight:300}prm-topbar{width:100%;color:#fff}prm-topbar .top-nav-bar{height:4em;position:relative}prm-topbar .topbar-wrapper{position:relative}prm-topbar .main-header-row{padding-top:2em;padding-bottom:2em;font-size:inherit}@media only screen and (max-width:600px){prm-topbar .main-header-row{padding:1.5em 0}}prm-topbar .md-button{color:#a9cdd6;text-transform:none;height:100%;border-radius:0;margin:0}prm-topbar .md-button:focus,prm-topbar .md-button:hover{background-color:#577892;color:#fff;box-shadow:none}prm-skip-to .md-button,prm-skip-to .md-button:hover,prm-skip-to .md-button:visited,prm-skip-to a,prm-skip-to a:hover,prm-skip-to a:visited{position:absolute;left:0;top:-100px;width:1px;height:1px;overflow:hidden}prm-skip-to .md-button:active,prm-skip-to .md-button:focus,prm-skip-to a:active,prm-skip-to a:focus{position:static;width:auto;height:auto;margin-left:1em}prm-search-bar{width:100%}prm-search-bar .search-wrapper{position:relative;padding:2em 1.5em}prm-search-bar .main-header-row{padding-top:2em;padding-bottom:2em;font-size:inherit}@media only screen and (max-width:600px){prm-search-bar .main-header-row{padding:1em 0}}@media only screen and (max-width:600px){prm-search-bar .search-element-wrapper{padding:0 1em}}prm-search-bar .search-input md-progress-linear,prm-search-bar .search-input md-progress-linear[md-mode=indeterminate]{opacity:.2;height:100%}prm-search-bar .search-input md-progress-linear .md-container,prm-search-bar .search-input md-progress-linear .md-container>div,prm-search-bar .search-input md-progress-linear[md-mode=indeterminate] .md-container,prm-search-bar .search-input md-progress-linear[md-mode=indeterminate] .md-container>div{height:100%}prm-search-bar .prm-top-bar-container .search-element{display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;height:4em;transition:height .3s cubic-bezier(.23,1,.32,1),border-color .3s ease,-webkit-transform .3s ease;transition:height .3s cubic-bezier(.23,1,.32,1),transform .3s ease,border-color .3s ease;transition:height .3s cubic-bezier(.23,1,.32,1),transform .3s ease,border-color .3s ease,-webkit-transform .3s ease;border:1px solid #a9cdd6;border-radius:3px}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element{display:block;height:auto;border:none}}prm-search-bar .prm-top-bar-container .search-element .search-input-container{font-size:1.6em;background-color:#53738c;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:2 0 auto;-ms-flex:2 0 auto;flex:2 0 auto;position:relative;border-top-left-radius:3px;border-bottom-left-radius:3px;height:auto}@media only screen and (max-width:960px){prm-search-bar .prm-top-bar-container .search-element .search-input-container{font-size:1.4em}}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-input-container{font-size:1.2em;line-height:3em;border-top-right-radius:3px;border-bottom-right-radius:3px;overflow:hidden}}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap{height:auto;box-shadow:none;width:100%}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input{font-size:1em;height:auto;color:hsla(0,0%,100%,.8);transition:background-color .2s ease,padding .5s cubic-bezier(.075,.82,.165,1)}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input{border-top-left-radius:3px;border-bottom-left-radius:3px;border:none}}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:hover{background-color:#597b96}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input::-webkit-input-placeholder{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:-moz-placeholder,prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input::-moz-placeholder{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:-ms-input-placeholder{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input+button{color:#a9cdd6}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus{background-color:#fff;color:#333}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus::-webkit-input-placeholder{color:rgba(51,51,51,.5)}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus:-moz-placeholder,prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus::-moz-placeholder{color:rgba(51,51,51,.5)}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus:-ms-input-placeholder{color:rgba(51,51,51,.5)}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap input:focus+button{color:#333}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap button{position:absolute;right:0;top:0;bottom:0}prm-search-bar .prm-top-bar-container .search-element .search-input-container md-autocomplete-wrap button svg path{fill:inherit}prm-search-bar .prm-top-bar-container .search-element .search-input-container .icon{position:absolute;color:rgba(171,190,205,.5);transition:height .3s ease,padding .3s ease;z-index:0;padding:.5em;width:2em;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;-webkit-align-items:center;-ms-flex-align:center;align-items:center}prm-search-bar .prm-top-bar-container .search-element .search-input-container .icon:before{display:table-cell;vertical-align:middle;text-align:center}prm-search-bar .prm-top-bar-container .search-element .search-input-container .search-actions .icon{color:#fff;right:0}prm-search-bar .prm-top-bar-container .search-element .search-options{display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 1em;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;height:auto;position:relative;background-color:rgba(169,205,214,.2)}prm-search-bar .prm-top-bar-container .search-element .search-options:hover{background-color:rgba(169,205,214,.3)}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-options{border:none;max-height:0;border-radius:3px;overflow:hidden;opacity:0;-webkit-transform:scale3d(.8,.8,1);transform:scale3d(.8,.8,1);-webkit-transform-origin:50% 0;transform-origin:50% 0;transition:max-height .4s cubic-bezier(.23,1,.32,1),opacity .3s ease,-webkit-transform .4s cubic-bezier(.23,1,.32,1);transition:max-height .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1),opacity .3s ease;transition:max-height .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1),opacity .3s ease,-webkit-transform .4s cubic-bezier(.23,1,.32,1)}.search-input-focused prm-search-bar .prm-top-bar-container .search-element .search-options{max-height:3em;opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}prm-search-bar .prm-top-bar-container .search-element .search-options md-input-container{margin:0;padding:0}prm-search-bar .prm-top-bar-container .search-element .search-options .md-input-container-dummy>.md-select-dummy,prm-search-bar .prm-top-bar-container .search-element .search-options md-select{width:100%}prm-search-bar .prm-top-bar-container .search-element .search-options .md-input-container-dummy>.md-select-dummy:focus .md-select-value,prm-search-bar .prm-top-bar-container .search-element .search-options md-select:focus .md-select-value{color:#fff}prm-search-bar .prm-top-bar-container .search-element .search-actions{-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch}prm-search-bar .prm-top-bar-container .search-element .search-actions md-icon{width:2.5em;height:2.5em}prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button{border-radius:0;padding:0 1.2em;background-color:#a9cdd6;border:none;color:#fff;margin:0;min-width:0;transition:background-color .3s ease}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button{background-color:transparent;height:100%;position:absolute;top:0;right:0}}.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm,.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button{background-color:#53738c}.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm:hover,.is-stuck prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button:hover{background-color:#119211}prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm .icon,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button .icon{margin:0}@media only screen and (max-width:600px){prm-search-bar .prm-top-bar-container .search-element .search-actions .btn-confirm .icon,prm-search-bar .prm-top-bar-container .search-element .search-actions .md-button .icon{color:hsla(0,0%,100%,.8);font-size:.7em;right:.5em}}prm-full-view{padding:0;position:relative}@media only screen and (max-width:960px){md-dialog prm-full-view{width:90%}}prm-full-view .services-index-under{position:absolute;left:1.5em;top:220px;z-index:1}.prm-full-view-dialog{border-radius:0;max-width:none;max-height:none;right:0;top:0;position:absolute;overflow:hidden;-webkit-transform:translate3d(20vh,0,0) scale(1)!important;transform:translate3d(20vh,0,0) scale(1)!important;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:80%;height:100%}.prm-full-view-dialog+.close-button{width:7em;height:7em;position:fixed;left:6%;top:0;bottom:0;margin:auto;opacity:0;-webkit-transform:translate3d(-5vh,0,0);transform:translate3d(-5vh,0,0);transition:all .3s cubic-bezier(.55,0,.55,.2)}.prm-full-view-dialog+.close-button .md-icon,.prm-full-view-dialog+.close-button md-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);transition:all .3s cubic-bezier(.55,0,.55,.2)}.prm-full-view-dialog+.close-button .md-icon svg path,.prm-full-view-dialog+.close-button md-icon svg path{fill:#fff;stroke-width:0}.prm-full-view-dialog.md-transition-in+.close-button{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .4s cubic-bezier(.25,.8,.25,1)}.prm-full-view-dialog.md-transition-in+.close-button .md-icon{-webkit-transform:rotate(0deg);transform:rotate(0deg);transition:all .4s cubic-bezier(.25,.8,.25,1)}.prm-full-view-dialog.md-primoExplore-theme{border-radius:0}@media screen and (max-width:1920px){.prm-full-view-dialog{width:80%}}.prm-full-view-dialog.md-transition-in,.prm-full-view-dialog.transition-in{opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translateZ(0) scale(1)!important;transform:translateZ(0) scale(1)!important}.prm-full-view-dialog.md-transition-out,.prm-full-view-dialog.transition-out{transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transform:translate3d(20vh,0,0) scale(1)!important;transform:translate3d(20vh,0,0) scale(1)!important}.full-view-container{background-color:#f1f1f1}.overlay-mode .full-view-container{opacity:0;width:70%;max-width:90em;height:100%;right:0;position:absolute;overflow:scroll;overflow-x:hidden;-webkit-transform:translate3d(8em,0,0);transform:translate3d(8em,0,0);transition:opacity .2s linear,-webkit-transform .3s cubic-bezier(.39,.575,.565,1);transition:transform .3s cubic-bezier(.39,.575,.565,1),opacity .2s linear;transition:transform .3s cubic-bezier(.39,.575,.565,1),opacity .2s linear,-webkit-transform .3s cubic-bezier(.39,.575,.565,1)}@media only screen and (max-width:960px){.overlay-mode .full-view-container{width:90%}}.standalone-mode .full-view-container{padding:0;max-width:960px!important;position:relative}.full-details-displayed .full-view-container{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:opacity .5s ease,-webkit-transform .6s cubic-bezier(.23,1,.32,1);transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .5s ease;transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .5s ease,-webkit-transform .6s cubic-bezier(.23,1,.32,1)}.full-view-container .list-item{padding-bottom:1em}.full-view-container .list-item .media-body{padding-left:1em}.full-view-container .list-item-secondary-content{padding:0;padding-top:0!important;position:relative}.full-view-container .list-item-secondary-content .horizontal-content,.full-view-container .list-item-secondary-content .secondary-content-holder{opacity:1}.full-view-container .list-item-secondary-content .secondary-content-holder{width:100%}.full-view-container .list-item-secondary-content .horizontal-content{padding-left:0}.full-view-container .list-item-secondary-content ul{max-height:none;display:table}.full-view-container .list-item-secondary-content ul li{width:100%;display:table-row;font-weight:300}.full-view-container .list-item-secondary-content .data,.full-view-container .list-item-secondary-content .label{display:table-cell;vertical-align:top;padding-bottom:.25em}.full-view-container .list-item-secondary-content .label{margin-right:.5em}.full-view-container iframe{transition:all .4s cubic-bezier(.25,.8,.25,1)}.full-view-inner-container{padding:1em;z-index:0;padding-bottom:10em}.full-view-section{padding-left:2em;padding-right:2em;transition:opacity .3s ease;margin-top:3em}.full-view-section:first-of-type{margin-top:1em}.full-view-section:first-child{padding-top:0;padding:1em 2em}.full-view-section .section-header{margin-bottom:1em}.full-view-section .section-title{margin:0;line-height:1.2em;padding-right:1em;position:relative}.full-view-section .section-title .iframe-type{position:absolute;top:1em;left:0}.full-view-section .section-subtitle{font-size:.95em;font-weight:600;text-transform:uppercase}.full-view-section .section-body{padding-bottom:.5em}.full-view-section md-divider{border:none;margin-top:.5em;margin-bottom:.5em;opacity:.5;border-bottom:1px solid #c3c3c3}.full-view-section md-divider.inner-divider{opacity:.3}.full-view-section-content{position:relative;padding-left:7.5em}.full-view-section-content:after{content:"";position:absolute;top:0;left:5.5em;height:100%;width:10px;background:transparent;box-shadow:inset 4px 0 0 0 #dcdcdc,inset 0 4px 0 0 #dcdcdc,inset 0 -4px 0 0 #dcdcdc;opacity:0;transition:opacity 4s ease}.section-focused .full-view-section-content:after{opacity:1;transition:opacity .2s ease}.standalone-mode .full-view-section-content:after{left:7em}.standalone-mode .full-view-section-content{padding-left:9em}.services-index{position:fixed;margin-left:calc(-88px - 1em)}.services-index-under{position:absolute;left:1.5em;top:220px;z-index:1}prm-facet{width:100%}prm-facet [sticky]{position:relative}prm-facet [sticky].is-stuck{height:calc(100vh - 48px);overflow:auto;padding-bottom:3em}prm-facet.mobile-facets{position:fixed;left:0;top:0;height:100%;width:100%;z-index:10;padding:2em;opacity:1;transition:all .4s cubic-bezier(.25,.8,.25,1)}prm-facet.mobile-facets .ps-container{height:100%;padding-bottom:5em}.sidebar{padding-left:0}.screen-gt-sm .sidebar{padding-left:1.5em}.screen-sm .sidebar,.screen-xs .sidebar{position:fixed;top:0;left:0;width:100%;z-index:10;opacity:1;-webkit-transform:translateY(0);transform:translateY(0);transition:all .4s cubic-bezier(.25,.8,.25,1)}.screen-sm .sidebar.ng-hide,.screen-xs .sidebar.ng-hide{opacity:0;-webkit-transform:translateY(20%);transform:translateY(20%)}.screen-sm .sidebar.ng-hide.ng-hide-add,.screen-xs .sidebar.ng-hide.ng-hide-add{transition:all .3s cubic-bezier(.55,0,.55,.2)}.sidebar .md-button{-webkit-transform-origin:50% 0;transform-origin:50% 0}.sidebar-section{display:block}.sidebar-section md-input-container{max-width:60px}.sidebar-section md-input-container label{color:#777}.sidebar-section md-input-container input{border-bottom-width:1px;border-bottom-color:hsla(0,0%,47%,.5)}.sidebar-section md-input-container.md-input-focused input{border-bottom-width:2px;border-bottom-color:#777}.sidebar-section .md-input-container-dummy>.md-select-dummy,.sidebar-section md-select{display:inline-block;margin:0;margin-left:.5em}.sidebar-section .md-input-container-dummy>.md-select-dummy .md-select-value,.sidebar-section md-select .md-select-value{min-height:0}#sidebar-trigger{position:fixed;bottom:0;width:100%;z-index:10}.section-title{left:-.4em;text-transform:none;margin:.75em 0 .25em}.section-content .md-chips-wrap{padding-left:.5em}.section-content .md-chips{max-height:99em;opacity:1;transition:max-height .3s cubic-bezier(.23,1,.32,1),opacity .3s ease,z-index 0s .3s}.section-content .md-chips .md-chip{display:-webkit-flex;display:-ms-flexbox;display:flex;clear:left;padding-right:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}.section-content .md-chips .md-chip:first-child{margin-top:0}.section-content .md-chips .md-chip .button-exclude md-icon{height:22px;width:22px}.available-facets .section-content .md-chips .md-chip{cursor:pointer;background-color:transparent;padding:0;margin-top:0}.available-facets .section-content .md-chips .md-chip:first-child{margin-top:0}.available-facets .section-content .md-chips .md-chip .button-exclude{z-index:-10;opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0);transition:opacity .2s ease,z-index 0s .3s,-webkit-transform .3s cubic-bezier(.075,.82,.165,1);transition:transform .3s cubic-bezier(.075,.82,.165,1),opacity .2s ease,z-index 0s .3s;transition:transform .3s cubic-bezier(.075,.82,.165,1),opacity .2s ease,z-index 0s .3s,-webkit-transform .3s cubic-bezier(.075,.82,.165,1)}.available-facets .section-content .md-chips .md-chip .md-chip-remove{height:28px;display:none}.available-facets .section-content .md-chips .md-chip .md-chip-remove.button-exclude{display:inline}.available-facets .section-content .md-chips .md-chip .md-chip-remove-container{display:inline-block;position:inherit}.available-facets .section-content .md-chips .md-chip .md-chip-content{color:#777}.available-facets .section-content .md-chips .md-chip:hover{z-index:1}.available-facets .section-content .md-chips .md-chip:hover .md-chip-content{color:#000}.available-facets .section-content .md-chips .md-chip:hover .button-exclude{width:28px;z-index:1;opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0);transition:opacity .2s ease,z-index 0s 0s,-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s ease,z-index 0s 0s;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .2s ease,z-index 0s 0s,-webkit-transform .3s cubic-bezier(.23,1,.32,1)}.section-title-header,.sidebar-header{text-transform:none;font-weight:600;font-size:18px;font-size:1.15rem;color:#333;margin-bottom:0;margin-right:.5em}prm-breadcrumbs .md-chips:not(.md-readonly) .md-chip:not(.md-readonly) .md-chip-content{margin-right:.5em}prm-breadcrumbs .md-chip-remove-container:hover .md-chip-remove{color:tomato}prm-breadcrumbs .md-chip .md-chip-content strong:after{display:none}prm-main-menu[menu-type=full]{color:#fff;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}prm-main-menu[menu-type=full] md-backdrop{opacity:.8;z-index:-1}prm-main-menu[menu-type=full]>.md-button{position:fixed;right:1em;top:.5em;z-index:1}prm-main-menu[menu-type=full]>.md-button md-icon{color:inherit;height:44px;width:44px}@media only screen and (min-width:601px){prm-main-menu[menu-type=full]>.md-button md-icon{height:54px;width:54px}}prm-main-menu[menu-type=full] prm-change-lang md-input-container{padding:0;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}prm-main-menu[menu-type=full] prm-change-lang md-input-container .md-input-container-dummy>.md-select-dummy,prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]),prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]):focus,prm-main-menu[menu-type=full] prm-change-lang md-input-container md-select{padding-left:2px;font-size:1.05em}prm-main-menu[menu-type=full] prm-change-lang md-input-container .md-input-container-dummy>.md-select-dummy .md-select-value,prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]) .md-select-value,prm-main-menu[menu-type=full] prm-change-lang md-input-container :not([disabled]):focus .md-select-value,prm-main-menu[menu-type=full] prm-change-lang md-input-container md-select .md-select-value{border-width:0;color:#fff}prm-main-menu[menu-type=full] prm-authentication .md-button+.md-button{margin-top:1em}prm-main-menu[menu-type=full] .user-area{border:1px solid hsla(0,0%,100%,.5);border-radius:3px}prm-main-menu[menu-type=full] .user-area .overlay-menu-item:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.5)}prm-main-menu[menu-type=full] .user-area .md-button{padding:.5em}.overlay-menu{position:fixed;z-index:100;top:0;bottom:0;left:0;right:0;background-color:rgba(60,83,102,.85);color:#fff;height:100%;overflow:auto;transition:opacity .2s ease,z-index 0s .2s}@media only screen and (min-width:601px){.overlay-menu{font-size:1rem}}.overlay-menu md-content{background-color:transparent;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;color:#fff}.overlay-menu .close-button{opacity:1;color:#fff;right:1em;position:fixed;top:0;left:auto;-webkit-transform:none;transform:none;cursor:pointer;width:80px;height:80px;margin:0;padding:0;max-height:none;max-width:none;z-index:1000;border-radius:50%;min-width:0;min-height:0}.overlay-menu .close-button md-icon{fill:#fff;width:100%;height:100%}.overlay-menu .close-button:active,.overlay-menu .close-button:hover{background-color:transparent}.overlay-menu .overlay-menu-content{margin:2em 1em;max-width:1300px}@media only screen and (min-width:601px){.overlay-menu .overlay-menu-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:2em;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-ms-grid-column-align:flex-start;justify-items:flex-start;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-left:auto;margin-right:auto}}.overlay-menu .overlay-menu-divider{height:1px;width:100%;background-color:hsla(0,0%,100%,.5);margin:1em 0}.overlay-menu .overlay-menu-item{cursor:pointer}@media only screen and (min-width:601px){.overlay-menu .overlay-menu-item{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:20em;max-width:20em;padding:1em}.overlay-menu .overlay-menu-item:last-child{-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}}.overlay-menu .overlay-menu-item:hover{background-color:rgba(64,89,108,.7)}.overlay-menu .overlay-menu-item .md-button{padding-left:0}.overlay-menu .item-title{font-size:1.5em;color:#73e9ff;margin-top:0;margin-bottom:.2em}.overlay-menu .item-content{font-weight:400;margin:0;font-size:1em}prm-favorites-tool-bar .favorites-action-list{position:relative;z-index:11;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}prm-favorites-tool-bar .favorites-action-list.is-stuck{z-index:11!important}prm-favorites-tool-bar .favorites-action-list.ng-enter{transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:scale3d(.8,.8,1) translateX(-30px);transform:scale3d(.8,.8,1) translateX(-30px);opacity:0}prm-favorites-tool-bar .favorites-action-list.ng-enter.ng-enter-active,prm-favorites-tool-bar .favorites-action-list.ng-leave{-webkit-transform:scaleX(1) translateX(0);transform:scaleX(1) translateX(0);opacity:1}prm-favorites-tool-bar .favorites-action-list.ng-leave{transition:all .4s cubic-bezier(.25,.8,.25,1);transition-duration:.2s}prm-favorites-tool-bar .favorites-action-list.ng-leave.ng-leave-active{opacity:0;-webkit-transform:scale3d(.8,.8,1) translateX(-30px);transform:scale3d(.8,.8,1) translateX(-30px)}prm-favorites-tool-bar .action-list-content{position:absolute;padding:0;z-index:100}prm-favorites-tool-bar .action-list-content>md-content{overflow:visible}prm-favorites-tool-bar .action-list-content prm-action-list{background:#fff}prm-favorites-tool-bar .action-list-content prm-action-list md-tabs{margin:0}prm-favorites-record-labels .media-labels .label-item,prm-favorites-record-labels .media-labels .label-item.md-chip,prm-favorites-record-labels .media-labels.md-chips .label-item,prm-favorites-record-labels .media-labels.md-chips .label-item.md-chip{height:2em;line-height:2em;font-size:.85em;padding:0 .75em}prm-favorites-edit-labels-menu .labels-menu-button{opacity:.5;margin:0;margin-top:.35em}prm-favorites-edit-labels-menu .labels-menu-button:hover{opacity:1}prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon{font-size:.8rem;font-weight:600;letter-spacing:.03em;border-radius:1.2em;line-height:32px;min-height:32px}prm-favorites-tool-bar prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon{border-radius:3px;line-height:36px;min-height:36px}prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon md-icon{height:20px;width:20px}prm-favorites-tool-bar prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon md-icon{height:24px;width:24px}prm-favorites-edit-labels-menu .labels-menu-button.md-button.button-with-icon .md-ripple-container{border-radius:1.2em}.collections-wrapper{margin:0;width:100vw}.collections-wrapper p:first-child{margin-top:0}.collections-wrapper md-content,.collections-wrapper md-toolbar.md-primoExplore-theme:not(.md-menu-toolbar){background-color:#f1f1f1}.collections-wrapper md-content{padding:2em 3.5em}.collections-wrapper md-toolbar .md-toolbar-tools{height:auto;max-height:none}.collections-wrapper md-toolbar.md-primoExplore-theme:not(.md-menu-toolbar) .md-toolbar-tools,.collections-wrapper md-toolbar.md-primoExplore-theme:not(.md-menu-toolbar) md-icon{color:rgba(0,0,0,.87)!important}.collections-wrapper .collection-title{font-size:1.3em;height:1em;line-height:1em;margin-bottom:.5em}.collections-wrapper .collection-title .back-button{width:2em;height:1em}.collections-wrapper .collection-cover{-webkit-flex:0 1 calc(100% - 1em);-ms-flex:0 1 calc(100% - 1em);flex:0 1 calc(100% - 1em);max-width:1080px;position:relative;background-color:transparent;box-shadow:none;margin:0 0 3em}.collections-wrapper .collection-cover md-card-content{padding:0}.list-view .collections-wrapper .collection-cover md-card-content,.tile-view .collections-wrapper .collection-cover md-card-content{padding-top:0;padding-right:3em;padding-bottom:2.75em}.list-view .collections-wrapper .collection-cover .goto-link,.tile-view .collections-wrapper .collection-cover .goto-link{right:2em;font-size:1.4em;margin-top:0;bottom:0;top:auto}.collections-wrapper .cover-image-container{position:relative;margin-left:3em}.collections-wrapper .cover-image-container .md-card-image{border-radius:0;height:auto;max-height:100%;width:auto;max-width:100%;box-shadow:0 0 0 7px #fff,0 0 0 8px #dfdfdf,0 3px 25px -3px rgba(0,0,0,.5)}.collections-wrapper .info-container{margin-top:1em;margin-bottom:.5em;padding-top:0;border:1px solid #dfdfdf}.collections-wrapper .info-block{padding:1em;border-left:1px solid #dfdfdf}.collections-wrapper .info-block:first-child{border-left:none}.collections-wrapper .info-block .info-label{font-weight:700}.collections-wrapper .collection-section{display:block;width:100%}.collections-wrapper .collection-section .section-title{font-size:inherit;font-weight:inherit}.collections-wrapper .collection-item:not(.no-image):nth-child(1),.collections-wrapper .collection-item:not(.no-image):nth-child(2),.collections-wrapper .collection-item:not(.no-image):nth-child(3),.collections-wrapper .collection-item:not(.no-image):nth-child(4),.collections-wrapper .collection-item:not(.no-image):nth-child(5),.collections-wrapper .collection-item:not(.no-image):nth-child(6),.collections-wrapper .collection-item:not(.no-image):nth-child(7),.collections-wrapper .collection-item:not(.no-image):nth-child(8),.collections-wrapper .collection-item:not(.no-image):nth-child(9),.collections-wrapper .collection-item:not(.no-image):nth-child(10),.collections-wrapper .collection-item:not(.no-image):nth-child(11),.collections-wrapper .collection-item:not(.no-image):nth-child(12),.collections-wrapper .collection-item:not(.no-image):nth-child(13),.collections-wrapper .collection-item:not(.no-image):nth-child(14),.collections-wrapper .collection-item:not(.no-image):nth-child(15){display:none}.collection-actions{box-shadow:0 0 0 1px rgba(0,0,0,.17);-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;margin-top:1.5em;margin-right:1em}.collection-actions md-icon{line-height:32px;width:32px;height:32px}.collection-item{padding-right:1em}.collection-item.keep{display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.collection-item .md-card-image{background-size:cover;background-repeat:no-repeat;background-position:center;min-width:100px;width:100%;min-height:200px}.collection-item .md-title{margin-bottom:.5em;font-size:1.4em;margin-top:0;line-height:1.2em}.collection-item md-icon svg{width:100%;height:100%}.collection-item a.md-button.md-primoExplore-theme{display:block;font-size:1.1em;color:#0075b0;box-shadow:0 0 0 0 #dfdfdf}.collection-item a.md-button.md-primoExplore-theme span{text-transform:none}.collection-item a.md-button.md-primoExplore-theme span:hover{text-decoration:underline!important}.collection-item md-button{cursor:progress}.collection-item md-card{margin:0 0 1em;width:100%;border-radius:3px;box-shadow:0 3px 15px -5px rgba(0,0,0,.2)}.collection-item md-card md-card-content p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-item md-card md-card-content section{bottom:.5em;right:1em;position:absolute}.tile-view .collection-item md-card md-card-content{padding-bottom:2.75em}.list-view .collection-item md-card md-card-content{padding-right:13em}.collection-item md-card-content{position:relative}.collection-item md-card-content p+p{margin-top:.5em}.collection-item .chevron-right{font-size:1.2em;vertical-align:middle}.collection-item .goto-link{display:block;font-size:1.1em;position:absolute}.tile-view .collection-item .goto-link{bottom:.5em;right:1em}.list-view .collection-item .goto-link{bottom:0;top:0;margin:auto;height:1.5em;right:1em}prm-collection-breadcrumbs{margin-bottom:.2em;margin-top:2em;font-size:.65em;font-weight:400}prm-collection-breadcrumbs .md-button,prm-collection-breadcrumbs .md-button.md-primoExplore-theme:not(.md-menu-toolbar){display:inline-block;color:#0075b0;text-transform:none;margin:0;min-height:2.2em;line-height:2.2em}prm-collection-breadcrumbs md-icon{opacity:.5}prm-collection-breadcrumbs md-icon path{fill:#0075b0}.md-autocomplete-suggestions.md-primoExplore-theme li,.md-autocomplete-suggestions li{background-color:#fff;font-weight:400;font-size:1.15em}.md-autocomplete-suggestions.md-primoExplore-theme li .highlight,.md-autocomplete-suggestions li .highlight{font-weight:600;color:rgba(0,0,0,.87)}md-progress-linear[md-mode=indeterminate]{position:absolute;height:15px;bottom:0;z-index:10}md-progress-linear[md-mode=indeterminate] .md-container{height:15px;top:auto}md-progress-linear[md-mode=indeterminate] .md-container .md-bar{height:15px}md-progress-linear[md-mode=indeterminate].header-progress-bar .md-container{background-color:#5c809c}md-progress-linear[md-mode=indeterminate].header-progress-bar .md-bar{background-color:#a9cdd6}md-backdrop.md-opaque{background-color:#3c5366}.background-dark md-backdrop.md-opaque{opacity:.85}.background-dark md-backdrop.md-opaque.ng-enter{opacity:0}.background-dark md-backdrop.md-opaque.ng-enter.ng-enter-active{opacity:.85}md-dialog{background-color:#fff}md-dialog .loader-wrapper{position:absolute;top:0;left:0;height:100%;width:100%}md-dialog .loader-wrapper .loader{height:10%}md-dialog .error-warning-message{padding:1em 2em}md-dialog.small-dialog{min-width:320px}md-dialog.in-element-dialog{width:100%;height:100%;max-height:none;max-width:none;background-color:hsla(0,0%,100%,.8);padding-right:1em}md-dialog.in-element-dialog.md-transition-in{transition-duration:.3s}md-dialog.in-element-dialog.md-transition-out{transition-duration:.2s}.has-expand md-dialog.in-element-dialog{padding-right:5.5em}md-dialog.in-element-dialog .md-dialog-content{padding:0}md-dialog.in-element-dialog .md-actions,md-dialog.in-element-dialog md-dialog-actions{margin-top:0}md-dialog.light-on-dark-dialog{background-color:transparent;background-color:rgba(64,83,98,.3);border:1px solid #fff;color:#fff}md-dialog.light-on-dark-dialog a{color:#73e9ff}md-dialog.light-on-dark-dialog .md-button,md-dialog.light-on-dark-dialog button{color:#fff}md-dialog.light-on-dark-dialog .md-button.back-button:hover,md-dialog.light-on-dark-dialog button.back-button:hover{background-color:rgba(64,83,98,.85)}md-dialog.light-on-dark-dialog .loader-wrapper{background-color:rgba(64,83,98,.5);z-index:100}md-dialog.light-on-dark-dialog .loader-wrapper .loader .diamond{background:#fff}md-dialog.light-on-dark-dialog md-toolbar,md-dialog.light-on-dark-dialog md-toolbar:not(.md-menu-toolbar){background-color:transparent;color:#fff}md-dialog.light-on-dark-dialog md-toolbar .md-button,md-dialog.light-on-dark-dialog md-toolbar:not(.md-menu-toolbar) .md-button{width:64px}md-dialog.light-on-dark-dialog .dialog-actions button,md-dialog.light-on-dark-dialog .dialog-actions button.md-button,md-dialog.light-on-dark-dialog md-toolbar .md-button md-icon,md-dialog.light-on-dark-dialog md-toolbar:not(.md-menu-toolbar) .md-button md-icon{color:#fff}md-dialog.light-on-dark-dialog .collapsable-container md-list md-list-item .md-list-item-inner{color:#73e9ff}md-dialog.light-on-dark-dialog .collapsable-container p{color:#fff}md-dialog.light-on-dark-dialog .error-color{color:#ff8e7a}md-dialog.light-on-dark-dialog .button-confirm{background-color:hsla(0,0%,100%,.1);color:#fff;box-shadow:inset 0 0 0 1px transparent}md-dialog.light-on-dark-dialog .button-confirm:focus,md-dialog.light-on-dark-dialog .button-confirm:hover{background-color:hsla(0,0%,100%,.2);box-shadow:inset 0 0 0 1px #fff;transition-duration:.2s}md-dialog.light-on-dark-dialog md-content{padding:0}md-dialog.light-on-dark-dialog md-input-container .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused:not(.md-input-invalid) .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused:not(.md-input-invalid) input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused:not(.md-input-invalid) label,md-dialog.light-on-dark-dialog md-input-container.md-input-focused input,md-dialog.light-on-dark-dialog md-input-container.md-input-focused label,md-dialog.light-on-dark-dialog md-input-container.md-input-has-value .md-input,md-dialog.light-on-dark-dialog md-input-container.md-input-has-value input,md-dialog.light-on-dark-dialog md-input-container.md-input-has-value label,md-dialog.light-on-dark-dialog md-input-container input,md-dialog.light-on-dark-dialog md-input-container label{border-color:#fff;color:#fff}md-dialog.light-on-dark-dialog .dialog-title{color:#fff}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style,md-dialog.light-on-dark-dialog .md-list md-list-item,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style,md-dialog.light-on-dark-dialog md-list md-list-item,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style{margin:0}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-button,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-button,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style button,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item button,md-dialog.light-on-dark-dialog .md-list md-list-item .md-button,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-button,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style button,md-dialog.light-on-dark-dialog .md-list md-list-item button,md-dialog.light-on-dark-dialog md-list md-list-item .md-button,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-button,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style button,md-dialog.light-on-dark-dialog md-list md-list-item button{padding:1em}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text h3,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text h3,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text h3,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text h3,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text h3,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text .list-item-title,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text h3{color:#73e9ff}md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item .md-list-item-text ul,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list[class$=-line] md-list-item>.md-no-style .md-list-item-text ul,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list md-list-item .md-list-item-text ul,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text p,md-dialog.light-on-dark-dialog .md-list md-list-item>.md-no-style .md-list-item-text ul,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text p,md-dialog.light-on-dark-dialog md-list md-list-item .md-list-item-text ul,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text p,md-dialog.light-on-dark-dialog md-list md-list-item>.md-no-style .md-list-item-text ul{color:#fff}md-dialog.light-on-dark-dialog .md-list[class$=-line] button.md-button:not([disabled]):hover,md-dialog.light-on-dark-dialog .md-list button.md-button:not([disabled]):hover,md-dialog.light-on-dark-dialog md-list button.md-button:not([disabled]):hover{background-color:rgba(64,83,98,.85)}md-dialog md-toolbar{padding:0 16px}md-dialog md-toolbar:not(.md-menu-toolbar){background-color:#e9e9e9;color:rgba(0,0,0,.87)}md-dialog.tabbed-dialog{padding:0}.in-element-dialog-context{-webkit-transform:scale(1);transform:scale(1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;transition-duration:.2s}.in-element-dialog-context.dialog-context-active{-webkit-transform:scale(.93);transform:scale(.93);transition-duration:.4s}.dialog-divider{position:block;width:100%;height:1px;margin-top:.5em;margin-bottom:.5em;background-color:rgba(0,0,0,.37)}.dialog-divider.transparent-divider{background-color:transparent}md-content,md-content.md-primoExplore-theme{background-color:transparent;box-shadow:0 0 0 0 #f1c16f;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-content.editable,md-content.md-primoExplore-theme.editable{box-shadow:0 0 0 3px #f1c16f}md-content.md-primoExplore-theme.opaque-content,md-content.opaque-content{background-color:#fff}md-sidenav,md-sidenav.md-primoExplore-theme{background-color:transparent}md-tabs md-tabs-wrapper prm-icon{display:-webkit-flex;display:-ms-flexbox;display:flex}md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]){color:rgba(0,0,0,.57)}md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]).md-active,md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]).md-focused{color:#53738c}md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item:not([disabled]) md-icon{margin-left:.35em;width:18px;height:18px}md-tabs.hide-tabs-arrows md-tabs-canvas,md-tabs.hide-tabs-arrows md-tabs-wrapper{margin:0}.hidden-tabs>md-tabs-wrapper,md-tabs.hide-tabs-arrows md-next-button,md-tabs.hide-tabs-arrows md-prev-button{display:none}.default-tabs>md-tabs-wrapper{background-color:transparent}md-tab-content{transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1)}.static-tabs md-tab-content{padding:1em}md-tab-content h2{margin-top:0}md-tab-content .tab-content-header{margin-bottom:1em}md-tab-content .tab-content-header md-input-container{margin:0}md-tab-content .header-title md-input-container{margin-left:1em}md-tab-content .tab-header-actions md-divider{margin:0 .5em}md-tab-content .tab-header-actions .md-button{margin:0}.icon-tabs md-tab-item:not([disabled]) md-icon,.icon-tabs md-tab-item md-icon{width:24px;height:24px;margin:0}.icon-tabs md-tab-item .button-text,.icon-tabs md-tab-item:not([disabled]) .button-text{font-size:.75em;font-weight:400;letter-spacing:.05em}md-tabs.has-dummy-tab md-tab-item:first-child{display:none}.has-dummy-tab md-ink-bar{left:-20px}.tab-description{max-width:40em;margin-bottom:1em}.tab-label-count{width:18px;height:18px;border-radius:50%;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-left:.3em;font-size:.85em;font-weight:400;font-size:1.2rem}.tab-label-count.label-warning{box-shadow:0 0 0 1px tomato}md-tabs.vertical-tabs{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-tabs.vertical-tabs md-tabs-wrapper{position:relative;-webkit-flex:1 0 40%;-ms-flex:1 0 40%;flex:1 0 40%;height:auto}md-tabs.vertical-tabs md-tabs-content-wrapper{-webkit-flex:1 0 60%;-ms-flex:1 0 60%;flex:1 0 60%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}md-tabs.vertical-tabs md-pagination-wrapper{width:100%!important;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;height:auto}md-tabs.vertical-tabs md-tabs-canvas{overflow:visible}md-tabs.vertical-tabs md-ink-bar{display:none}md-tabs.vertical-tabs md-tab-item{text-transform:none;min-height:28px}md-tabs.vertical-tabs:not(.md-dynamic-height){min-height:120px}md-tabs.vertical-tabs[md-align-tabs=bottom]{padding-bottom:0}md-tabs.scale-transition md-tab-content{display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-transform-origin:50% 0;transform-origin:50% 0;transition:-webkit-transform .6s cubic-bezier(.19,1,.22,1);transition:transform .6s cubic-bezier(.19,1,.22,1);transition:transform .6s cubic-bezier(.19,1,.22,1),-webkit-transform .6s cubic-bezier(.19,1,.22,1);overflow:auto;z-index:1}md-tabs.scale-transition md-tab-content.md-no-scroll{bottom:auto;overflow:hidden}md-tabs.scale-transition md-tab-content.md-no-transition,md-tabs.scale-transition md-tab-content.ng-leave{transition:none}md-tabs.scale-transition md-tab-content.md-left:not(.md-active){-webkit-transform:translateY(-5%) scale3d(.9,.9,1);transform:translateY(-5%) scale3d(.9,.9,1);-webkit-animation:.3s md-tab-content-scale-hide;animation:.3s md-tab-content-scale-hide;opacity:0;z-index:-1}md-tabs.scale-transition md-tab-content.md-left:not(.md-active) *{transition:visibility 0s linear;transition-delay:.3s;visibility:hidden}md-tabs.scale-transition md-tab-content.md-right:not(.md-active){-webkit-transform:translateY(-5%) scale3d(.9,.9,1);transform:translateY(-5%) scale3d(.9,.9,1);-webkit-animation:.3s md-tab-content-scale-hide;animation:.3s md-tab-content-scale-hide;opacity:0;z-index:-1}md-tabs.scale-transition md-tab-content.md-right:not(.md-active) *{transition:visibility 0s linear;transition-delay:.3s;visibility:hidden}md-tabs.scale-transition md-tab-content>div.ng-leave{-webkit-animation:.3s md-tab-content-scale-hide;animation:.3s md-tab-content-scale-hide;z-index:-1}md-tabs.tabs-as-links md-tab-item,md-tabs.tabs-as-links md-tab-item:not([disabled]){color:#0075b0;padding:0}md-tabs.tabs-as-app .back-button{color:#0075b0;margin-bottom:.5em}md-tabs.tabs-as-app .back-button.ng-hide-remove{transition:all .4s .2s cubic-bezier(.25,.8,.25,1);-webkit-transform:translateX(30px);transform:translateX(30px);opacity:0}md-tabs.tabs-as-app .back-button.ng-hide-remove.ng-hide-remove-active{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}#full-view-item-actions md-tabs md-ink-bar{margin:0 1em}.md-button:focus,.md-button:hover{background-color:rgba(0,0,0,.07)}.md-button.md-primary:not([disabled]),.md-button.md-primary:not([disabled]) md-icon{color:#5c92bd}.md-button.button-large{font-size:1.2em;padding:.25em .75em}.md-button.button-large.button-with-icon{padding-left:.5em}.md-button.button-large.button-with-icon>prm-icon+span{padding-right:0}.md-button.button-confirm{color:#198a19}.md-button.button-confirm:focus,.md-button.button-confirm:hover{background-color:rgba(25,138,25,.1);transition-duration:.2s}.md-button.button-confirm md-icon{color:#198a19}.md-button.button-secondary{color:#ce8015}.md-button.button-zero-radius,.md-button.md-icon-button.square-button{border-radius:0}.md-button.md-icon-button.icon-button-large md-icon{width:40px;height:40px}.md-button.button-with-icon>prm-icon md-icon{position:relative;top:-2px}.md-button.button-with-icon>prm-icon+span{padding-right:.5em}.md-button.button-large .md-button.button-with-icon>prm-icon+span{padding-right:0}.md-button.button-with-icon>span+prm-icon{margin-right:0}.md-button.button-with-icon>span+prm-icon md-icon{margin-left:5px;margin-right:0}.md-button.outline-button{border:1px solid}.md-button.md-raised:not([disabled]){box-shadow:0 2px 8px -4px rgba(0,0,0,.26)}.md-button.button-prompt{background-color:#f1c16f;color:#000}.md-button[disabled=disabled]{color:#ccc!important}.md-button.button-as-link{color:#0075b0;text-transform:none;font-size:1em;min-width:0;padding:.4em .35em;line-height:1em;min-height:0;margin:0 .25em;overflow:visible;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;letter-spacing:0}.md-button.button-as-link md-icon{height:20px;width:20px}.md-button.button-as-link:hover{background-color:rgba(0,0,0,.07)}.md-button.button-external-link prm-icon{color:rgba(77,77,77,.87)}.md-button.button-external-link prm-icon md-icon{top:-1px;position:relative;height:15px;width:15px}.md-button.inline-button{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.md-button.md-mini{line-height:40px;width:40px;height:40px}.md-button.show-more-button{text-transform:none;color:#45aab4}md-list+.md-button.show-more-button{width:100%;background-color:hsla(0,0%,100%,.5)}.md-button.button-right-align{margin:0;padding-right:1em;min-width:0;padding-left:1em}.md-button.flex-button{display:-webkit-flex;display:-ms-flexbox;display:flex}a.flex-button.md-button{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.md-button.multi-line-button{white-space:normal;line-height:1em}.md-button.button-full-height{height:100%}.tiles-grid-tile .tile-content,.tiles-grid-tile md-list,md-grid-tile .tile-content,md-grid-tile md-list{padding:0;width:100%;position:relative}.tiles-grid-tile .tile-content md-list-item,.tiles-grid-tile md-list md-list-item,md-grid-tile .tile-content md-list-item,md-grid-tile md-list md-list-item{position:relative;padding:1em 1.5em;border-bottom:1px solid #e9e9e9;min-height:0;cursor:pointer}.tiles-grid-tile .tile-content md-list-item:last-child,.tiles-grid-tile md-list md-list-item:last-child,md-grid-tile .tile-content md-list-item:last-child,md-grid-tile md-list md-list-item:last-child{margin-bottom:0;box-shadow:none;border:none}.tiles-grid-tile .tile-content md-list-item .tile-item-arrow,.tiles-grid-tile md-list md-list-item .tile-item-arrow,md-grid-tile .tile-content md-list-item .tile-item-arrow,md-grid-tile md-list md-list-item .tile-item-arrow{position:absolute;top:0;right:.5em;bottom:0;margin:auto;height:48px;transition:all .4s cubic-bezier(.25,.8,.25,1);opacity:0;-webkit-transform:translate3d(-1em,0,0);transform:translate3d(-1em,0,0)}.tiles-grid-tile .tile-content md-list-item .tile-item-arrow prm-icon,.tiles-grid-tile md-list md-list-item .tile-item-arrow prm-icon,md-grid-tile .tile-content md-list-item .tile-item-arrow prm-icon,md-grid-tile md-list md-list-item .tile-item-arrow prm-icon{display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%}.tiles-grid-tile .tile-content md-list-item:hover,.tiles-grid-tile md-list md-list-item:hover,md-grid-tile .tile-content md-list-item:hover,md-grid-tile md-list md-list-item:hover{background-color:#fff}.tiles-grid-tile .tile-content md-list-item:hover .tile-item-arrow,.tiles-grid-tile md-list md-list-item:hover .tile-item-arrow,md-grid-tile .tile-content md-list-item:hover .tile-item-arrow,md-grid-tile md-list md-list-item:hover .tile-item-arrow{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}.tiles-grid-tile .tile-content md-list-item .no-wrap-line,.tiles-grid-tile md-list md-list-item .no-wrap-line,md-grid-tile .tile-content md-list-item .no-wrap-line,md-grid-tile md-list md-list-item .no-wrap-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tiles-grid-tile .tile-content md-list-item .has-icon-on-left,.tiles-grid-tile md-list md-list-item .has-icon-on-left,md-grid-tile .tile-content md-list-item .has-icon-on-left,md-grid-tile md-list md-list-item .has-icon-on-left{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin-left:-2px}.tiles-grid-tile .tile-content md-list-item .has-icon-on-left prm-icon,.tiles-grid-tile md-list md-list-item .has-icon-on-left prm-icon,md-grid-tile .tile-content md-list-item .has-icon-on-left prm-icon,md-grid-tile md-list md-list-item .has-icon-on-left prm-icon{display:-webkit-flex;display:-ms-flexbox;display:flex}.tiles-grid-tile .tile-content md-list-item .has-icon-on-left md-icon,.tiles-grid-tile md-list md-list-item .has-icon-on-left md-icon,md-grid-tile .tile-content md-list-item .has-icon-on-left md-icon,md-grid-tile md-list md-list-item .has-icon-on-left md-icon{margin-left:0;width:18px;height:18px;min-width:18px;margin-right:.2em}.tiles-grid-tile .tile-content md-divider,.tiles-grid-tile md-list md-divider,md-grid-tile .tile-content md-divider,md-grid-tile md-list md-divider{border-color:#e9e9e9}.tiles-grid-tile .tile-content .md-list-item-text,.tiles-grid-tile md-list .md-list-item-text,md-grid-tile .tile-content .md-list-item-text,md-grid-tile md-list .md-list-item-text{max-width:100%}.tiles-grid-tile .tile-content .md-list-item-text h3,.tiles-grid-tile md-list .md-list-item-text h3,md-grid-tile .tile-content .md-list-item-text h3,md-grid-tile md-list .md-list-item-text h3{margin-bottom:.15em}.tiles-grid-tile .tile-content .md-list-item-text h4,.tiles-grid-tile md-list .md-list-item-text h4,md-grid-tile .tile-content .md-list-item-text h4,md-grid-tile md-list .md-list-item-text h4{margin-bottom:3px}.tiles-grid-tile .tile-content .item-index,.tiles-grid-tile md-list .item-index,md-grid-tile .tile-content .item-index,md-grid-tile md-list .item-index{position:absolute;font-size:.8em;opacity:.4;top:.5em;left:.6em}md-grid-list .tiles-grid-tile figure,md-grid-list md-grid-tile figure{bottom:auto;height:auto;-webkit-align-items:flex-start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.tiles-grid-tile .tile-header,md-grid-tile .tile-header{padding:.4em .4em .4em .6em}.tiles-grid-tile .tile-header .small-text,md-grid-tile .tile-header .small-text{font-size:.8em}.tiles-grid-tile .tile-header .tab-label-count,md-grid-tile .tile-header .tab-label-count{position:relative;top:-2px}.tiles-grid-tile .tile-header .header-link,md-grid-tile .tile-header .header-link{margin:0;font-size:1.5em;cursor:pointer;position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex}.tiles-grid-tile .tile-header .header-link .arrow-icon,md-grid-tile .tile-header .header-link .arrow-icon{left:-.8px;position:relative;opacity:0;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .4s cubic-bezier(.25,.8,.25,1)}.tiles-grid-tile .tile-header .header-link .alert-icon,md-grid-tile .tile-header .header-link .alert-icon{position:absolute;right:5px;top:5px;width:21px;opacity:.8}.tiles-grid-tile .tile-header .header-link:hover .arrow-icon,md-grid-tile .tile-header .header-link:hover .arrow-icon{opacity:1;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.tiles-grid-tile .tile-header .header-link:hover .alert-icon,md-grid-tile .tile-header .header-link:hover .alert-icon{opacity:1}.tiles-grid-tile .tile-header .md-button,md-grid-tile .tile-header .md-button{margin:0;min-height:0;line-height:28px}.tiles-grid-tile .tile-header .md-button md-icon,md-grid-tile .tile-header .md-button md-icon{position:initial;color:inherit;height:16px;width:16px;vertical-align:middle;margin-top:-3px}.tiles-grid-tile .message-with-icon md-icon,md-grid-tile .message-with-icon md-icon{width:60px;height:60px;color:#e9e9e9}md-card{box-shadow:none;background-color:#fff}md-card.default-card{font-size:1rem;line-height:1.5rem}md-card.default-card md-card-title{padding:24px 16px 16px}md-card.default-card md-card-title+md-card-content{padding-top:0}md-card.default-card md-card-content{padding:16px}md-card.editable{background-color:#fff}md-card.editable.editable-active .card-divider{opacity:0}md-card.card-with-header-actions{position:relative}md-card.zero-margin md-card-content{margin:0}md-card.zero-padding md-card-content{padding:0}md-card.transparent-card{background-color:transparent}md-card.medium-card{max-width:500px}md-card md-toolbar .md-toolbar-tools:not(.md-menu-toolbar){padding:0 16px}md-card md-toolbar .md-toolbar-tools:not(.md-menu-toolbar)>.md-button:last-child{margin-right:0}md-card md-toolbar+md-card-content{padding-top:0}md-card md-card-content{padding:2em 1em}md-card .card-content-block.border-left{padding-left:1.5em}md-card .card-header-actions{position:absolute;right:.5em;top:.3em}md-card .card-header-actions .md-button{overflow:visible}md-card .card-divider{width:100%;height:1px;margin:1em 1.5em 2em}md-card md-input-container .md-input-container-dummy>.md-select-dummy md-select-value,md-card md-input-container md-select md-select-value{border-bottom-color:transparent!important}md-card md-checkbox{padding-left:2em}md-card md-checkbox.has-small-text .md-container{left:14px}input{border-style:none;font-family:inherit}.md-input[type=email],.md-input[type=password],.md-input[type=text],textarea{border-bottom-color:rgba(0,0,0,.17)}.md-input-focused .md-input[type=email],.md-input-focused .md-input[type=password],.md-input-focused .md-input[type=text],.md-input-focused textarea{border-bottom-color:rgba(0,0,0,.37)}md-input-container label{font-weight:inherit;color:rgba(0,0,0,.52)}md-input-container input+[ng-messages]{max-height:3em;min-height:24px;transition:all .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-input-focused label:not(.md-no-float),md-input-container.md-input-has-placeholder label:not(.md-no-float),md-input-container.md-input-has-value label:not(.md-no-float){opacity:.6;-webkit-transform:translate3d(0,6px,0) scale(.85);transform:translate3d(0,6px,0) scale(.85)}md-input-container.label-on-left{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}md-input-container.label-on-left md-select-value{min-height:auto}md-input-container.centered-input{text-align:center}md-input-container.centered-input label{-webkit-transform-origin:center top;transform-origin:center top}md-input-container.centered-input input{text-align:center}md-input-container.static-select{-webkit-align-items:inherit;-ms-flex-align:inherit;-ms-grid-row-align:inherit;align-items:inherit}md-input-container.static-select label,md-input-container.static-select label:not(.md-no-float){-webkit-transform:translate3d(38px,0,0) scale(1);transform:translate3d(38px,0,0) scale(1);transition:all .4s cubic-bezier(.25,.8,.25,1);opacity:1}md-input-container.static-select.md-input-has-value label,md-input-container.static-select.md-input-has-value label:not(.md-no-float){-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1);top:2px;position:relative;margin-right:.5em;opacity:1}md-input-container.static-select .md-input-container-dummy>.md-select-dummy,md-input-container.static-select md-select{z-index:1}md-input-container .md-errors-spacer{min-height:0}.presentable-disabled-inputs md-input-container input[type=date][disabled],.presentable-disabled-inputs md-input-container input[type=email][disabled],.presentable-disabled-inputs md-input-container input[type=number][disabled],.presentable-disabled-inputs md-input-container input[type=text][disabled]{border-bottom-color:transparent}md-input-container.has-fixed-message{padding-bottom:26px}md-input-container.has-fixed-message [ng-message] a{color:#0075b0}.md-input-container-dummy>[required].md-select-dummy input,md-select[required] input{border-bottom-color:tomato}.md-input-container-dummy>[required].md-select-dummy input.ng-untouched+[ng-messages],md-select[required] input.ng-untouched+[ng-messages]{min-height:0;max-height:0;overflow:hidden}md-radio-group .label{margin:0;margin-right:1em}.input-containers-group{margin-bottom:1.5em}.input-containers-group.layout-padding md-input-container{padding-left:0}.input-containers-group md-input-container{margin-bottom:0;margin-top:0}.md-input-container-dummy>.md-select-dummy:focus .md-select-value,.md-input-container-dummy>.md-select-dummy:not([disabled]):focus .md-select-value,.md-select-value,md-select:focus .md-select-value,md-select:not([disabled]):focus .md-select-value{border-width:0;padding:0}md-select-menu.md-primoExplore-theme md-content,md-select-menu md-content{background-color:#fff}md-toast,md-toast.md-default-theme{background-color:#f1c16f;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:fixed}md-toast.md-default-theme>.md-button,md-toast.md-default-theme>span,md-toast>.md-button,md-toast>span{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;color:#000}md-toast .md-button,md-toast.md-default-theme .md-button{font-weight:600}md-toast.md-default-theme.md-top,md-toast.md-top{top:0;height:64px;box-shadow:none;max-width:none;width:100%}md-toast.md-default-theme.md-top.md-right,md-toast.md-top.md-right{right:0;left:0;margin:auto}md-tooltip{font-size:.8em;color:#fff;letter-spacing:.03em}md-tooltip .md-content{background-color:rgba(0,0,0,.62)}md-tooltip.multi-row-tooltip{height:auto;max-width:30em}md-tooltip.multi-row-tooltip .md-content{padding:.5em 1em;height:auto;white-space:normal}md-list+.expand-link{color:#0c640c}md-list+.expand-link md-icon{margin-right:.5em;color:inherit}md-list .show-more-button{background-color:hsla(0,0%,100%,.5)}md-list-item.separate-list-items{margin-bottom:1px;min-height:0;padding:.5em 1em;position:relative;background-color:#fff}md-list-item.separate-list-items.gapped-list{margin-bottom:.5em;padding:1em}md-list-item.separate-list-items.md-2-line>.md-button,md-list-item.separate-list-items.md-3-line>.md-button{min-height:0}md-list-item.separate-list-items.md-clickable{padding:0}md-list-item.separate-list-items.md-clickable>.md-button{padding:.5em 1em}md-list-item.separate-list-items.md-clickable>.md-button:not([disabled]):hover{background-color:rgba(0,117,176,.1)}md-list-item.separate-list-items.focus-highlight{background-color:#fffcc4;transition:background-color .5s ease}md-list-item.separate-list-items .item-index{position:absolute;font-size:.8em;opacity:.4;top:.25em;left:.35em}md-list-item.separate-list-items .item-expand-button{margin:0;-webkit-transform:none;transform:none;top:0;right:0;height:100%;min-width:65px;border-radius:0}md-list-item.separate-list-items .item-expand-button md-icon{transition:-webkit-transform .5s cubic-bezier(.25,.8,.25,1);transition:transform .5s cubic-bezier(.25,.8,.25,1);transition:transform .5s cubic-bezier(.25,.8,.25,1),-webkit-transform .5s cubic-bezier(.25,.8,.25,1);width:34px;height:34px}md-list-item.separate-list-items .item-action{color:#0075b0;margin:0;margin:auto;margin-right:0;right:0;background-color:transparent;min-width:58px}md-list-item.separate-list-items .item-action md-icon{color:inherit}md-list-item.separate-list-items .item-action:hover{color:#53738c;background-color:hsla(0,0%,62%,.2)!important}md-list-item.separate-list-items .item-respond{text-align:right;padding:0 1em}md-list-item.separate-list-items .item-loader{margin-right:1em}md-list-item.separate-list-items .item-loader prm-spinner{height:30px}md-list-item.separate-list-items .item-loader-with-text>div{position:relative}md-list-item.separate-list-items .item-loader-with-text md-progress-circular{-webkit-transform:scale(.2);transform:scale(.2);height:40px;top:-5px;right:-30px}md-list-item.separate-list-items .item-loader-with-text .md-button{min-width:50px;min-height:0;height:32px;margin:0;color:#0075b0}md-list-item.separate-list-items .item-loader-with-text .timer-counter{position:absolute;left:-24px;top:3px;font-size:.9em}md-list-item.separate-list-items.has-expand .md-list-item-text{padding-right:4em}md-list-item.separate-list-items.has-expand .item-action{position:relative;-webkit-transform:none;transform:none;top:auto}md-list-item.separate-list-items.item-expanded.md-3-line h2,md-list-item.separate-list-items.item-expanded.md-3-line h3,md-list-item.separate-list-items.item-expanded.md-3-line h4{white-space:normal}md-list-item.separate-list-items .md-list-item-text{max-width:100%}md-list-item.separate-list-items .md-list-item-text .unmuted-text{color:rgba(0,0,0,.87)}md-list-item.separate-list-items .md-list-item-text>div:not(:last-child){padding-right:1em}md-list-item.separate-list-items .md-list-item-text p md-icon{width:20px;height:20px;vertical-align:top}md-list-item.separate-list-items .md-list-item-text .has-icon-on-left{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}md-list-item.separate-list-items .md-list-item-text .has-icon-on-left md-icon{margin-left:0;width:20px;height:20px;margin-right:.2em}md-list-item.separate-list-items .md-dialog-container{top:0!important}.default-list md-list-item p{line-height:1.2em}md-list-item.list-item-as-link{color:#0075b0}md-toolbar.md-primoExplore-theme.transparent-toolbar,md-toolbar.transparent-toolbar,md-toolbar:not(.md-menu-toolbar).transparent-toolbar{background-color:transparent}md-toolbar.default-toolbar .md-button,md-toolbar.md-primoExplore-theme.default-toolbar .md-button,md-toolbar:not(.md-menu-toolbar).default-toolbar .md-button{opacity:.8}md-toolbar.default-toolbar .md-button:hover,md-toolbar.md-primoExplore-theme.default-toolbar .md-button:hover,md-toolbar:not(.md-menu-toolbar).default-toolbar .md-button:hover{opacity:1}md-toolbar.dark-toolbar,md-toolbar.md-primoExplore-theme.dark-toolbar,md-toolbar:not(.md-menu-toolbar).dark-toolbar{background-color:#53738c;color:#fff}md-toolbar+md-toolbar,md-toolbar.md-primoExplore-theme+md-toolbar,md-toolbar:not(.md-menu-toolbar)+md-toolbar{background-color:#fff!important}md-toolbar .md-button md-icon,md-toolbar.md-primoExplore-theme .md-button md-icon,md-toolbar:not(.md-menu-toolbar) .md-button md-icon{color:inherit}md-toolbar .md-button.has-bottom-arrow,md-toolbar.md-primoExplore-theme .md-button.has-bottom-arrow,md-toolbar:not(.md-menu-toolbar) .md-button.has-bottom-arrow{overflow:visible}md-toolbar .md-button.has-bottom-arrow:after,md-toolbar.md-primoExplore-theme .md-button.has-bottom-arrow:after,md-toolbar:not(.md-menu-toolbar) .md-button.has-bottom-arrow:after{content:"";display:none;position:absolute;bottom:-12px;left:0;right:0;margin:auto;width:0;height:0;border-right:1em solid transparent;border-left:1em solid transparent;border-bottom:.85em solid #fff;z-index:10000}md-toolbar .md-button.has-bottom-arrow.arrow-showing:after,md-toolbar.md-primoExplore-theme .md-button.has-bottom-arrow.arrow-showing:after,md-toolbar:not(.md-menu-toolbar) .md-button.has-bottom-arrow.arrow-showing:after{display:block}md-toolbar .md-button:only-child,md-toolbar.md-primoExplore-theme .md-button:only-child,md-toolbar:not(.md-menu-toolbar) .md-button:only-child{margin:0}md-toolbar.md-primoExplore-theme .toolbar-divider,md-toolbar .toolbar-divider,md-toolbar:not(.md-menu-toolbar) .toolbar-divider{width:1px;height:100%;background-color:#cacaca;margin-left:.5em;margin-right:.5em;border:none;visibility:hidden}md-toolbar.md-primoExplore-theme .toolbar-divider.visible,md-toolbar .toolbar-divider.visible,md-toolbar:not(.md-menu-toolbar) .toolbar-divider.visible{visibility:visible}md-toolbar.md-primoExplore-theme .toolbar-divider+.toolbar-title,md-toolbar .toolbar-divider+.toolbar-title,md-toolbar:not(.md-menu-toolbar) .toolbar-divider+.toolbar-title{margin-left:.5em;padding-left:0}md-toolbar.md-primoExplore-theme .toolbar-title,md-toolbar .toolbar-title,md-toolbar:not(.md-menu-toolbar) .toolbar-title{font-weight:300;font-size:1.2em;margin-right:.5em}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input,md-toolbar .toolbar-title+.toolbar-select-input,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input{color:#53738c;font-size:16px;line-height:1.5em}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input .select-input-label,md-toolbar .toolbar-title+.toolbar-select-input .select-input-label,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input .select-input-label{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;bottom:1px;position:relative;margin-right:.1em}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input md-select-value,md-toolbar .toolbar-title+.toolbar-select-input md-select-value,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input md-select-value{color:#53738c}md-toolbar.md-primoExplore-theme .toolbar-title+.toolbar-select-input md-select-value .md-select-icon,md-toolbar .toolbar-title+.toolbar-select-input md-select-value .md-select-icon,md-toolbar:not(.md-menu-toolbar) .toolbar-title+.toolbar-select-input md-select-value .md-select-icon{font-size:.8em;width:18px}md-toolbar.md-primoExplore-theme .md-toolbar-tools .toolbar-select-input,md-toolbar .md-toolbar-tools .toolbar-select-input,md-toolbar:not(.md-menu-toolbar) .md-toolbar-tools .toolbar-select-input{padding:0}md-toolbar.md-primoExplore-theme .md-toolbar-tools .toolbar-select-input md-select-value,md-toolbar .md-toolbar-tools .toolbar-select-input md-select-value,md-toolbar:not(.md-menu-toolbar) .md-toolbar-tools .toolbar-select-input md-select-value{border-bottom-color:transparent}md-toolbar.citations-toolbar,md-toolbar.md-primoExplore-theme.citations-toolbar,md-toolbar:not(.md-menu-toolbar).citations-toolbar{min-height:0;padding-bottom:.7em;background-color:transparent}md-toolbar.citations-toolbar .toolbar-section,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section{background-color:#e4e4e4;border:1px solid #d7d7d7;border-radius:3px}md-toolbar.citations-toolbar .toolbar-section:not(:last-child),md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section:not(:last-child),md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section:not(:last-child){margin-right:.5em}md-toolbar.citations-toolbar .toolbar-section .md-button,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section .md-button,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section .md-button{margin:0;height:38px;line-height:38px}md-toolbar.citations-toolbar .toolbar-section .md-button md-icon,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section .md-button md-icon,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section .md-button md-icon{color:#53738c}md-toolbar.citations-toolbar .toolbar-section .md-button:hover,md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section .md-button:hover,md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section .md-button:hover{background-color:#eee;background-color:#fff}md-toolbar.md-primoExplore-theme .pushto-actions .md-button,md-toolbar.md-primoExplore-theme .pushto-actions button,md-toolbar .pushto-actions .md-button,md-toolbar .pushto-actions button,md-toolbar:not(.md-menu-toolbar) .pushto-actions .md-button,md-toolbar:not(.md-menu-toolbar) .pushto-actions button{color:#6b8da7;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;padding:.5em 0;margin:0}md-toolbar.md-primoExplore-theme .pushto-actions .md-button .icon,md-toolbar.md-primoExplore-theme .pushto-actions button .icon,md-toolbar .pushto-actions .md-button .icon,md-toolbar .pushto-actions button .icon,md-toolbar:not(.md-menu-toolbar) .pushto-actions .md-button .icon,md-toolbar:not(.md-menu-toolbar) .pushto-actions button .icon{font-size:1.8em;margin:0}md-toolbar.md-primoExplore-theme .pushto-actions .md-button span,md-toolbar.md-primoExplore-theme .pushto-actions button span,md-toolbar .pushto-actions .md-button span,md-toolbar .pushto-actions button span,md-toolbar:not(.md-menu-toolbar) .pushto-actions .md-button span,md-toolbar:not(.md-menu-toolbar) .pushto-actions button span{line-height:1em;text-transform:none}md-toolbar .back-button,md-toolbar .back-button.md-focused,md-toolbar.md-primoExplore-theme .back-button,md-toolbar.md-primoExplore-theme .back-button.md-focused,md-toolbar:not(.md-menu-toolbar) .back-button,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused{height:100%;margin:0;width:76px;min-width:76px;opacity:.8}md-toolbar .back-button.md-focused:hover,md-toolbar .back-button:hover,md-toolbar.md-primoExplore-theme .back-button.md-focused:hover,md-toolbar.md-primoExplore-theme .back-button:hover,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused:hover,md-toolbar:not(.md-menu-toolbar) .back-button:hover{opacity:1}md-toolbar .back-button.md-focused md-icon,md-toolbar .back-button md-icon,md-toolbar.md-primoExplore-theme .back-button.md-focused md-icon,md-toolbar.md-primoExplore-theme .back-button md-icon,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused md-icon,md-toolbar:not(.md-menu-toolbar) .back-button md-icon{width:34px;height:34px;border-radius:0!important}md-toolbar .back-button+.toolbar-divider,md-toolbar .back-button.md-focused+.toolbar-divider,md-toolbar.md-primoExplore-theme .back-button+.toolbar-divider,md-toolbar.md-primoExplore-theme .back-button.md-focused+.toolbar-divider,md-toolbar:not(.md-menu-toolbar) .back-button+.toolbar-divider,md-toolbar:not(.md-menu-toolbar) .back-button.md-focused+.toolbar-divider{margin-left:0}.dates-range-picker .md-datepicker-button{display:none}.dates-range-picker .md-datepicker-input-container{margin-left:0;border:none}.dates-range-picker .md-datepicker-input{min-width:75px;line-height:22px}.dates-range-picker .md-datepicker-triangle-button{top:4px}.md-datepicker-calendar-pane{background-color:#fff}md-menu-item prm-icon{opacity:.5}md-menu-item:hover prm-icon{opacity:1}md-menu-item.icon-on-right md-icon{margin:0}md-menu-content{background-color:#fff}md-menu-content .menu-title{padding:.5em 1em}md-menu-content.menu-with-footer{overflow:hidden;padding-top:0}md-menu-content.menu-with-footer .scrollable-content{overflow:auto;padding-top:.5em}md-menu-content.menu-with-footer .menu-footer md-input-container{margin:1em 0}md-menu-divider{display:block;background-color:rgba(0,0,0,.07)}.md-chips{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-size:.95em;padding:0}.md-chips b,.md-chips strong{font-weight:600}.md-chips.chips-column .md-chip{clear:both}.md-chips .md-chip{background-color:#fff;height:28px;line-height:28px;position:relative}.md-chips .md-chip:not(.md-readonly){padding:0 26px 0 10px}.md-chips .md-chip .md-chip-content{display:-webkit-flex;display:-ms-flexbox;display:flex}.md-chips .md-chip .md-chip-content strong:after{content:"\a0\a0"}.md-chips .md-chip .md-chip-remove,.md-chips .md-chip .md-chip-remove-container{height:28px}.md-chips .md-chip.facet-excluded{color:tomato}.md-chips .md-chip.facet-excluded .md-chip-content{position:relative}.md-chips .md-chip.facet-excluded .md-chip-content:after{content:"";width:100%;height:1px;position:absolute;top:.2em;bottom:0;margin:auto;background-color:rgba(0,0,0,.87);left:0}.md-chips .md-chip.outline-chip{background-color:transparent;color:rgba(0,0,0,.57);box-shadow:inset 0 0 0 1px rgba(0,0,0,.17)}.filtered-facets-section .md-chips .md-chip .button-exclude,.md-chips .md-chip.selected .button-exclude{display:none}.md-chips .md-chip.toggleable-chip{background-color:transparent;padding-left:28px;cursor:pointer}.md-chips .md-chip.toggleable-chip .md-chip-content{color:#777;transition:-webkit-transform .3s cubic-bezier(.175,.885,.32,1.275);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),-webkit-transform .3s cubic-bezier(.175,.885,.32,1.275);-webkit-transform:translateX(-20px);transform:translateX(-20px)}.md-chips .md-chip.toggleable-chip:hover .md-chip-content{color:#000}.md-chips .md-chip.toggleable-chip:not(.md-readonly){padding-right:4px}.md-chips .md-chip.toggleable-chip .md-chip-remove-container{right:auto;left:0}.md-chips .md-chip.toggleable-chip.chip-toggled-on{transition:-webkit-transform .3s cubic-bezier(.6,-.28,.735,.045);transition:transform .3s cubic-bezier(.6,-.28,.735,.045);transition:transform .3s cubic-bezier(.6,-.28,.735,.045),-webkit-transform .3s cubic-bezier(.6,-.28,.735,.045);background-color:#fff}.md-chips .md-chip.toggleable-chip.chip-toggled-on .md-chip-content{color:#000;-webkit-transform:translateX(0);transform:translateX(0)}#facets-container .md-chips .md-chip{clear:left}md-checkbox{margin-bottom:0}md-checkbox .md-icon{opacity:.3;border-color:rgba(0,0,0,.87)}md-checkbox:hover .md-icon{opacity:1}md-checkbox.md-checked ._md-icon,md-checkbox.md-checked .md-icon{opacity:1;background-color:#64a5b5}md-checkbox.md-checked ._md-container,md-checkbox.md-checked .md-container{color:#fff}md-checkbox.has-small-text .md-container{top:4px;-webkit-transform:none;transform:none}.presentable-disabled-inputs md-checkbox[disabled] .md-label{color:rgba(0,0,0,.87)}md-divider.transparent-divider{opacity:0}md-virtual-repeat-container{background-color:#fff}md-virtual-repeat-container li.selected{background-color:#f5f5f5} +/*# sourceMappingURL=app.css.map */ diff --git a/colors.json b/colors.json index 4344367ce..cc2ff3844 100644 --- a/colors.json +++ b/colors.json @@ -1,10 +1,10 @@ -{ - "primary": "#53738C", - "secondary" : "#A9CDD6", - "backgroundColor" : "white", - "links": "#5C92BD", - "warning": "tomato", - "positive": "#0f7d00", - "negative": "gray", - "notice": "#e08303" +{ + "primary": "#53738C", + "secondary" : "#A9CDD6", + "backgroundColor" : "white", + "links": "#5C92BD", + "warning": "tomato", + "positive": "#0f7d00", + "negative": "gray", + "notice": "#e08303" } \ No newline at end of file diff --git a/gulp/browserSyncManager.js b/gulp/browserSyncManager.js index e84f535f2..0a2581f9c 100644 --- a/gulp/browserSyncManager.js +++ b/gulp/browserSyncManager.js @@ -1,43 +1,43 @@ -var browserSync = require('browser-sync'); - - -module.exports = { - closeServer: closeServer, - reloadServer: reloadServer, - streamToServer: streamToServer, - startServer: startServer, -}; - -function closeServer(label) { - browserSync.get(label).exit(); -} - -function reloadServer(label) { - return browserSync.get('production').reload(); -} - -function streamToServer() { - return browserSync.get('production').stream(); -} - -function startServer(args) { - var label = args.label; - var port = args.port; - var baseDir = args.baseDir; - var middleware = args.middleware; - var open = args.open; - - var server = browserSync.create(label); - var conf = { - port: port, - server: { - baseDir: baseDir - }, - open:open - }; - if(middleware) { - conf.middleware = args.middleware; - } - server.init(conf); - +var browserSync = require('browser-sync'); + + +module.exports = { + closeServer: closeServer, + reloadServer: reloadServer, + streamToServer: streamToServer, + startServer: startServer, +}; + +function closeServer(label) { + browserSync.get(label).exit(); +} + +function reloadServer(label) { + return browserSync.get('production').reload(); +} + +function streamToServer() { + return browserSync.get('production').stream(); +} + +function startServer(args) { + var label = args.label; + var port = args.port; + var baseDir = args.baseDir; + var middleware = args.middleware; + var open = args.open; + + var server = browserSync.create(label); + var conf = { + port: port, + server: { + baseDir: baseDir + }, + open:open + }; + if(middleware) { + conf.middleware = args.middleware; + } + server.init(conf); + } \ No newline at end of file diff --git a/gulp/config.js b/gulp/config.js index feb51f2ad..2bb16d7e6 100644 --- a/gulp/config.js +++ b/gulp/config.js @@ -1,216 +1,216 @@ -'use strict'; - -let customFile = 'custom.js'; -let customModuleFile = 'custom.module.js'; -let customCssFile = 'custom1.css'; -let mainFile = 'main.js'; - -let browserify; -let view; -let ve; -let useScss; -let reinstallNodeModules; -let saml; -let cas; - - -function setView(_view) { - view = _view; -} - -function setSaml(_saml) { - saml = _saml; -} - -function getSaml() { - return saml; -} - -function setCas(_cas) { - cas = _cas; -} - -function getCas() { - return cas; -} - -function setUseScss(_useScss) { - useScss = _useScss; - this.useScss = _useScss; -} - -function getUseScss() { - return useScss; -} - -function setProxy(_proxy) { - this.PROXY_SERVER = _proxy; -} -function getProxy(){ - return PROXY_SERVER; -} -function getVe() { - return ve; -} - -function setVe(_ve) { - ve = _ve; -} -function getBrowserify() { - return browserify; -} - -function setBrowserify(_browserify) { - browserify = _browserify; -} - -function setReinstallNodeModules(_reinstallNodeModules) { - reinstallNodeModules = _reinstallNodeModules; -} - -function getReinstallNodeModules() { - return reinstallNodeModules; -} - -function getView(){ - return view; -} - -function customPath() { - return viewJsDir()+'/'+customFile; -} - -function customModulePath() { - return viewJsDir()+'/'+customModuleFile; -} - -function viewHtmlDir() { - return `primo-explore/custom/${view}/html`; -} - -function viewJsDir() { - return `primo-explore/custom/${view}/js`; -} - -function mainPath() { - return viewJsDir()+'/*.js'; -} - -function mainJsPath() { - return viewJsDir()+'/main.js'; -} - -function customCssMainPath() { - return viewCssDir()+'/*.css'; -} -function customColorsPath(){ - return `colors.json`; -} - -function viewRootDir() { - return `primo-explore/custom/${view}`; -} - -function viewCssDir() { - return `primo-explore/custom/${view}/css`; -} -function customScssDir() { - return `primo-explore/custom/${view}/scss`; -} -function customScssMainPath() { - return customScssDir() + "/main.scss"; -} -function customCssPath() { - return `primo-explore/custom/${view}/css/custom1.css`; -} - -function customNpmModuleRootDir() { - return `primo-explore/custom/${view}/node_modules`; -} - -function customNpmJsCustomPath() { - return `primo-explore/custom/${view}/node_modules/primo-explore*/js/custom.js`; -} - -function customNpmJsModulePath() { - return `primo-explore/custom/${view}/node_modules/primo-explore*/js/custom.module.js`; -} - - -function customNpmJsPath() { - return `primo-explore/custom/${view}/node_modules/primo-explore*/js/*.js`; -} - -function customNpmDistPath() { - return `primo-explore/custom/${view}/node_modules/primo-explore*/dist/*.js`; -} - - -function customNpmCssPath() { - return `primo-explore/custom/${view}/node_modules/primo-explore*/css/*.css`; -} - -function customNpmHtmlPath() { - return `primo-explore/custom/${view}/node_modules/primo-explore*/html/*.html`; -} - -var SERVERS = { - local: 'http://localhost:8002' -}; - -/** - * The URL to your production Primo instance. - * For SSL environments (https), the port number (443) must be included. - * - * Examples: - * var PROXY_SERVER = 'http://abc-primo.hosted.exlibrisgroup.com' - * var PROXY_SERVER = 'https://abc-primo.hosted.exlibrisgroup.com:443' - */ -var PROXY_SERVER = 'http://your-server:your-port'; - - -let buildParams = { - customFile: customFile, - customCssFile: customCssFile, - customPath: customPath, - customModulePath: customModulePath, - mainPath: mainPath, - mainJsPath: mainJsPath, - viewRootDir: viewRootDir, - viewJsDir: viewJsDir, - viewHtmlDir: viewHtmlDir, - viewCssDir: viewCssDir, - customScssDir: customScssDir, - customScssMainPath: customScssMainPath, - customCssPath: customCssPath, - customNpmModuleRootDir: customNpmModuleRootDir, - customNpmJsPath: customNpmJsPath, - customNpmDistPath: customNpmDistPath, - customNpmJsCustomPath: customNpmJsCustomPath, - customNpmJsModulePath: customNpmJsModulePath, - customNpmCssPath: customNpmCssPath, - customNpmHtmlPath: customNpmHtmlPath, - customCssMainPath: customCssMainPath, - customColorsPath: customColorsPath -}; - -module.exports = { - buildParams: buildParams, - PROXY_SERVER: PROXY_SERVER, - setView: setView, - setUseScss: setUseScss, - getUseScss: getUseScss, - setProxy: setProxy, - getReinstallNodeModules: getReinstallNodeModules, - setReinstallNodeModules: setReinstallNodeModules, - proxy: getProxy, - view: getView, - getBrowserify: getBrowserify, - setBrowserify: setBrowserify, - getVe: getVe, - setVe: setVe, - getSaml: getSaml, - setSaml: setSaml, - getCas: getCas, - setCas: setCas -}; +'use strict'; + +let customFile = 'custom.js'; +let customModuleFile = 'custom.module.js'; +let customCssFile = 'custom1.css'; +let mainFile = 'main.js'; + +let browserify; +let view; +let ve; +let useScss; +let reinstallNodeModules; +let saml; +let cas; + + +function setView(_view) { + view = _view; +} + +function setSaml(_saml) { + saml = _saml; +} + +function getSaml() { + return saml; +} + +function setCas(_cas) { + cas = _cas; +} + +function getCas() { + return cas; +} + +function setUseScss(_useScss) { + useScss = _useScss; + this.useScss = _useScss; +} + +function getUseScss() { + return useScss; +} + +function setProxy(_proxy) { + this.PROXY_SERVER = _proxy; +} +function getProxy(){ + return PROXY_SERVER; +} +function getVe() { + return ve; +} + +function setVe(_ve) { + ve = _ve; +} +function getBrowserify() { + return browserify; +} + +function setBrowserify(_browserify) { + browserify = _browserify; +} + +function setReinstallNodeModules(_reinstallNodeModules) { + reinstallNodeModules = _reinstallNodeModules; +} + +function getReinstallNodeModules() { + return reinstallNodeModules; +} + +function getView(){ + return view; +} + +function customPath() { + return viewJsDir()+'/'+customFile; +} + +function customModulePath() { + return viewJsDir()+'/'+customModuleFile; +} + +function viewHtmlDir() { + return `primo-explore/custom/${view}/html`; +} + +function viewJsDir() { + return `primo-explore/custom/${view}/js`; +} + +function mainPath() { + return viewJsDir()+'/*.js'; +} + +function mainJsPath() { + return viewJsDir()+'/main.js'; +} + +function customCssMainPath() { + return viewCssDir()+'/*.css'; +} +function customColorsPath(){ + return `colors.json`; +} + +function viewRootDir() { + return `primo-explore/custom/${view}`; +} + +function viewCssDir() { + return `primo-explore/custom/${view}/css`; +} +function customScssDir() { + return `primo-explore/custom/${view}/scss`; +} +function customScssMainPath() { + return customScssDir() + "/main.scss"; +} +function customCssPath() { + return `primo-explore/custom/${view}/css/custom1.css`; +} + +function customNpmModuleRootDir() { + return `primo-explore/custom/${view}/node_modules`; +} + +function customNpmJsCustomPath() { + return `primo-explore/custom/${view}/node_modules/primo-explore*/js/custom.js`; +} + +function customNpmJsModulePath() { + return `primo-explore/custom/${view}/node_modules/primo-explore*/js/custom.module.js`; +} + + +function customNpmJsPath() { + return `primo-explore/custom/${view}/node_modules/primo-explore*/js/*.js`; +} + +function customNpmDistPath() { + return `primo-explore/custom/${view}/node_modules/primo-explore*/dist/*.js`; +} + + +function customNpmCssPath() { + return `primo-explore/custom/${view}/node_modules/primo-explore*/css/*.css`; +} + +function customNpmHtmlPath() { + return `primo-explore/custom/${view}/node_modules/primo-explore*/html/*.html`; +} + +var SERVERS = { + local: 'http://localhost:8002' +}; + +/** + * The URL to your production Primo instance. + * For SSL environments (https), the port number (443) must be included. + * + * Examples: + * var PROXY_SERVER = 'http://abc-primo.hosted.exlibrisgroup.com' + * var PROXY_SERVER = 'https://abc-primo.hosted.exlibrisgroup.com:443' + */ +var PROXY_SERVER = 'https://mit-psb.primo.exlibrisgroup.com:443'; + + +let buildParams = { + customFile: customFile, + customCssFile: customCssFile, + customPath: customPath, + customModulePath: customModulePath, + mainPath: mainPath, + mainJsPath: mainJsPath, + viewRootDir: viewRootDir, + viewJsDir: viewJsDir, + viewHtmlDir: viewHtmlDir, + viewCssDir: viewCssDir, + customScssDir: customScssDir, + customScssMainPath: customScssMainPath, + customCssPath: customCssPath, + customNpmModuleRootDir: customNpmModuleRootDir, + customNpmJsPath: customNpmJsPath, + customNpmDistPath: customNpmDistPath, + customNpmJsCustomPath: customNpmJsCustomPath, + customNpmJsModulePath: customNpmJsModulePath, + customNpmCssPath: customNpmCssPath, + customNpmHtmlPath: customNpmHtmlPath, + customCssMainPath: customCssMainPath, + customColorsPath: customColorsPath +}; + +module.exports = { + buildParams: buildParams, + PROXY_SERVER: PROXY_SERVER, + setView: setView, + setUseScss: setUseScss, + getUseScss: getUseScss, + setProxy: setProxy, + getReinstallNodeModules: getReinstallNodeModules, + setReinstallNodeModules: setReinstallNodeModules, + proxy: getProxy, + view: getView, + getBrowserify: getBrowserify, + setBrowserify: setBrowserify, + getVe: getVe, + setVe: setVe, + getSaml: getSaml, + setSaml: setSaml, + getCas: getCas, + setCas: setCas +}; diff --git a/gulp/cssSplitter.js b/gulp/cssSplitter.js index 5d6dbf883..0e14604c9 100644 --- a/gulp/cssSplitter.js +++ b/gulp/cssSplitter.js @@ -1,49 +1,49 @@ -'use strict'; -var through = require('through2'); -var applySourceMap = require('vinyl-sourcemaps-apply'); -let findIndex = require('lodash/findIndex'); - - -module.exports = function(options) { - - function transform(file, encoding, callback) { - options = options || {}; - // generate source maps if plugin source-map present - if (file.sourceMap) { - options.makeSourceMaps = true; - } - - // do normal plugin logic - var result = myTransform(file.contents, options); - file.contents = new Buffer(result.code); - - // apply source map to the chain - // if (file.sourceMap) { - // applySourceMap(file, result.map); - // } - - this.push(file); - callback(); - } - - return through.obj(transform); -}; - -function myTransform(contents, options) { - let stringArr = contents.toString('utf8').split("\n"); - let ind1 = findIndex(stringArr,(e) => e.includes('/* primary color hook */')); - let ind2 = findIndex(stringArr,(e) => e.includes('/* primary color hook end*/')); - let colors = stringArr.splice(ind1, ind2 - ind1 + 1); - let newContent; - if(options.colors) { - newContent = colors.join("\n"); - } - else { - newContent = stringArr.join("\n"); - - } - return { - code: newContent - }; - +'use strict'; +var through = require('through2'); +var applySourceMap = require('vinyl-sourcemaps-apply'); +let findIndex = require('lodash/findIndex'); + + +module.exports = function(options) { + + function transform(file, encoding, callback) { + options = options || {}; + // generate source maps if plugin source-map present + if (file.sourceMap) { + options.makeSourceMaps = true; + } + + // do normal plugin logic + var result = myTransform(file.contents, options); + file.contents = new Buffer(result.code); + + // apply source map to the chain + // if (file.sourceMap) { + // applySourceMap(file, result.map); + // } + + this.push(file); + callback(); + } + + return through.obj(transform); +}; + +function myTransform(contents, options) { + let stringArr = contents.toString('utf8').split("\n"); + let ind1 = findIndex(stringArr,(e) => e.includes('/* primary color hook */')); + let ind2 = findIndex(stringArr,(e) => e.includes('/* primary color hook end*/')); + let colors = stringArr.splice(ind1, ind2 - ind1 + 1); + let newContent; + if(options.colors) { + newContent = colors.join("\n"); + } + else { + newContent = stringArr.join("\n"); + + } + return { + code: newContent + }; + } \ No newline at end of file diff --git a/gulp/primoProxy.js b/gulp/primoProxy.js index 05a5145b4..13481bf5c 100644 --- a/gulp/primoProxy.js +++ b/gulp/primoProxy.js @@ -1,208 +1,208 @@ -var modRewrite = require('connect-modrewrite'); -var fs = require('fs') -var Promise = require("bluebird"); -var config = require('./config'); -var glob = require('glob'); -Promise.promisifyAll(glob); -var Response = require('http-response-object'); - -module.exports.getCustimazationObject = function (vid,appName) { - - - var basedir = appName+'/custom'; - var ignored = ['img', 'css', 'custom']; - var base_path = 'custom/'; - var customizationObject = { - viewJs: '', - centralJs: '', - viewCss: '', - centralCss: '', - favIcon: '', - libraryLogo: '', - resourceIcons: '', - staticHtml: '' - }; - - var promises = []; - var packages = glob.sync(base_path + "*", {cwd:appName,ignore:'**/README.md'}); - - var isInherited = packages.indexOf(base_path + 'CENTRAL_PACKAGE') > -1; - if(vid !== ''){ - var viewPackage = base_path + vid; - } - if(vid === '') { - var viewPackage = packages.filter((package) => package !== base_path + 'CENTRAL_PACKAGE'); - } - - - viewPackage = viewPackage || viewPackage[0]; - console.log(viewPackage); - if(viewPackage.length ===0 ){ - viewPackage = ''; - } - //js - - if(viewPackage !== '' && viewPackage !== 'CENTRAL_PACKAGE') { - customizationObject.viewJs = glob.sync(viewPackage + "/js/custom.js", {cwd: appName}); - } - if (isInherited) { - customizationObject.centralJs = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/js/custom.js", {cwd:appName}); - } - - //css - - - customizationObject.viewCss = glob.sync(viewPackage + "/css/custom1.css", {cwd:appName}); - - if (isInherited) { - customizationObject.centralCss = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/css/custom1.css", {cwd:appName}); - } - - //images - - customizationObject.favIcon = glob.sync(viewPackage + "/img/favicon.ico", {cwd:appName}); - - - if (isInherited && customizationObject.favIcon === '') { - customizationObject.favIcon = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/img/favicon.ico", {cwd:appName}) - } - customizationObject.libraryLogo = glob.sync(viewPackage + "/img/library-logo.png", {cwd:appName})[0]; - if (isInherited && (!customizationObject.libraryLogo || customizationObject.libraryLogo === '')) { - customizationObject.libraryLogo = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/img/library-logo.png", {cwd:appName})[0]; - } - - var paths = glob.sync(viewPackage + "/img/icon_**.png", {cwd:appName}); - customizationObject.resourceIcons = {}; - for (path of paths) { - var pathFixed = path.substring(path.indexOf('/img/icon_') + 10, path.indexOf('.png')); - customizationObject.resourceIcons[pathFixed] = path; - } - - - if (isInherited) { - var paths = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/img/icon_**.png", {cwd:appName}); - - for (path of paths) { - var pathFixed = path.substring(path.indexOf('/img/icon_') + 10, path.indexOf('.png')); - if (!customizationObject.resourceIcons[pathFixed]) { - customizationObject.resourceIcons[pathFixed] = path; - } - } - - - } - - - //html - var paths = glob.sync(viewPackage + "/html/home_**.html", {cwd:appName}); - - if(paths && paths.length > 0){ // for August 2016 version - customizationObject.staticHtml = {}; - customizationObject.staticHtml.homepage = {}; - for (path of paths) { - - var pathFixed = path.substring(path.indexOf('/html/home_')+11, path.indexOf('.html')); - customizationObject.staticHtml.homepage[pathFixed] = path; - } - - - if (isInherited) { - var paths = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/html/home_**.html", {cwd:appName}); - - for (path of paths) { - var pathFixed = path.substring(path.indexOf('/html/home_')+11, path.indexOf('.html')); - if (!customizationObject.staticHtml.homepage[pathFixed]) { - customizationObject.staticHtml.homepage[pathFixed] = path; - } - - } - - - } - - }else{ // starting November 2016 version - var paths = glob.sync(viewPackage + "/html/**/*.html", {cwd:appName}); - if(!paths || paths.length ===0){ - paths = glob.sync(viewPackage + "/html/*.html", {cwd:appName}); - } - var staticHtmlRes = {}; - staticHtmlRes = getHtmlCustomizations(paths,viewPackage,staticHtmlRes); - - if (isInherited) { - var paths = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/html/**/*.html", {cwd:appName}); - staticHtmlRes = getHtmlCustomizations(paths,'custom/CENTRAL_PACKAGE',staticHtmlRes); - } - customizationObject.staticHtml = staticHtmlRes; - } - function getLanguage(entry) { - var numberOfCharsForLang = config.getVe() ? 2 : 5; - var start = entry.indexOf('.html')-numberOfCharsForLang; - var res = entry.substring(start,start+numberOfCharsForLang); - return res; - } - function getHtmlCustomizations(paths,path,staticDict){ - var patternString = path+'/html/'; - - var re = new RegExp(patternString, "g"); - var res = paths - .map(e => e.replace(re,'')); - - - res.forEach((e)=> { - var lang = getLanguage(e); - var dirName = e.replace('_'+lang+'.html',''); - if (dirName.indexOf('/') > -1) { - var sepIndex = dirName.indexOf('/'); - dirName = dirName.substr(0, sepIndex); - } - if(!staticDict[dirName]) { - staticDict[dirName] = {}; - } - staticDict[dirName][lang] = path+ '/html/'+e; - if(lang ==='en_US' || lang === 'en') { - staticDict[dirName]['default'] = path+ '/html/'+e; - } - - - }); - - return staticDict; - } - - - - - - - - return customizationObject; - - -} - - -module.exports.proxy_function = function () { - var proxyServer = config.PROXY_SERVER; - var res = new Response(200, {'content-type': 'text/css'}, Buffer.from(''), ''); - var loginRewriteFlags = (config.getSaml() || config.getCas()) ? 'RL' : 'PL'; - - return modRewrite([ - '/view/action/(.*) ' + proxyServer + '/view/action/$1 [PL]', - '/primo_library/libweb/webservices/rest/(.*) ' + proxyServer + '/primo_library/libweb/webservices/rest/$1 [PL]', - '/primaws/rest/(.*) ' + proxyServer + '/primaws/rest/$1 [PL]', - '/primo_library/libweb/primoExploreLogin ' + proxyServer + '/primo_library/libweb/primoExploreLogin [' + loginRewriteFlags + ']', - '/primaws/suprimaLogin ' + proxyServer + '/primaws/suprimaLogin [' + loginRewriteFlags + ']', - '/primaws/suprimaExtLogin ' + proxyServer + '/primaws/suprimaExtLogin [' + loginRewriteFlags + ']', - - '/primo-explore/index.html ' + proxyServer + '/primo-explore/index.html [PL]', - '/discovery/index.html ' + proxyServer + '/discovery/index.html [PL]', - '/primo-explore/custom/(.*) /custom/$1 [L]', - '/discovery/custom/(.*) /custom/$1 [L]', - '/primo-explore/(.*) ' + proxyServer + '/primo-explore/$1 [PL]', - '/discovery/(.*) ' + proxyServer + '/discovery/$1 [PL]', - '.*primoExploreJwt=.* /index.html [L]', - '^[^\\.]*$ /index.html [L]' - ]); - - -}; +var modRewrite = require('connect-modrewrite'); +var fs = require('fs') +var Promise = require("bluebird"); +var config = require('./config'); +var glob = require('glob'); +Promise.promisifyAll(glob); +var Response = require('http-response-object'); + +module.exports.getCustimazationObject = function (vid,appName) { + + + var basedir = appName+'/custom'; + var ignored = ['img', 'css', 'custom']; + var base_path = 'custom/'; + var customizationObject = { + viewJs: '', + centralJs: '', + viewCss: '', + centralCss: '', + favIcon: '', + libraryLogo: '', + resourceIcons: '', + staticHtml: '' + }; + + var promises = []; + var packages = glob.sync(base_path + "*", {cwd:appName,ignore:'**/README.md'}); + + var isInherited = packages.indexOf(base_path + 'CENTRAL_PACKAGE') > -1; + if(vid !== ''){ + var viewPackage = base_path + vid; + } + if(vid === '') { + var viewPackage = packages.filter((package) => package !== base_path + 'CENTRAL_PACKAGE'); + } + + + viewPackage = viewPackage || viewPackage[0]; + console.log(viewPackage); + if(viewPackage.length ===0 ){ + viewPackage = ''; + } + //js + + if(viewPackage !== '' && viewPackage !== 'CENTRAL_PACKAGE') { + customizationObject.viewJs = glob.sync(viewPackage + "/js/custom.js", {cwd: appName}); + } + if (isInherited) { + customizationObject.centralJs = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/js/custom.js", {cwd:appName}); + } + + //css + + + customizationObject.viewCss = glob.sync(viewPackage + "/css/custom1.css", {cwd:appName}); + + if (isInherited) { + customizationObject.centralCss = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/css/custom1.css", {cwd:appName}); + } + + //images + + customizationObject.favIcon = glob.sync(viewPackage + "/img/favicon.ico", {cwd:appName}); + + + if (isInherited && customizationObject.favIcon === '') { + customizationObject.favIcon = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/img/favicon.ico", {cwd:appName}) + } + customizationObject.libraryLogo = glob.sync(viewPackage + "/img/library-logo.png", {cwd:appName})[0]; + if (isInherited && (!customizationObject.libraryLogo || customizationObject.libraryLogo === '')) { + customizationObject.libraryLogo = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/img/library-logo.png", {cwd:appName})[0]; + } + + var paths = glob.sync(viewPackage + "/img/icon_**.png", {cwd:appName}); + customizationObject.resourceIcons = {}; + for (path of paths) { + var pathFixed = path.substring(path.indexOf('/img/icon_') + 10, path.indexOf('.png')); + customizationObject.resourceIcons[pathFixed] = path; + } + + + if (isInherited) { + var paths = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/img/icon_**.png", {cwd:appName}); + + for (path of paths) { + var pathFixed = path.substring(path.indexOf('/img/icon_') + 10, path.indexOf('.png')); + if (!customizationObject.resourceIcons[pathFixed]) { + customizationObject.resourceIcons[pathFixed] = path; + } + } + + + } + + + //html + var paths = glob.sync(viewPackage + "/html/home_**.html", {cwd:appName}); + + if(paths && paths.length > 0){ // for August 2016 version + customizationObject.staticHtml = {}; + customizationObject.staticHtml.homepage = {}; + for (path of paths) { + + var pathFixed = path.substring(path.indexOf('/html/home_')+11, path.indexOf('.html')); + customizationObject.staticHtml.homepage[pathFixed] = path; + } + + + if (isInherited) { + var paths = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/html/home_**.html", {cwd:appName}); + + for (path of paths) { + var pathFixed = path.substring(path.indexOf('/html/home_')+11, path.indexOf('.html')); + if (!customizationObject.staticHtml.homepage[pathFixed]) { + customizationObject.staticHtml.homepage[pathFixed] = path; + } + + } + + + } + + }else{ // starting November 2016 version + var paths = glob.sync(viewPackage + "/html/**/*.html", {cwd:appName}); + if(!paths || paths.length ===0){ + paths = glob.sync(viewPackage + "/html/*.html", {cwd:appName}); + } + var staticHtmlRes = {}; + staticHtmlRes = getHtmlCustomizations(paths,viewPackage,staticHtmlRes); + + if (isInherited) { + var paths = glob.sync(base_path + 'CENTRAL_PACKAGE' + "/html/**/*.html", {cwd:appName}); + staticHtmlRes = getHtmlCustomizations(paths,'custom/CENTRAL_PACKAGE',staticHtmlRes); + } + customizationObject.staticHtml = staticHtmlRes; + } + function getLanguage(entry) { + var numberOfCharsForLang = config.getVe() ? 2 : 5; + var start = entry.indexOf('.html')-numberOfCharsForLang; + var res = entry.substring(start,start+numberOfCharsForLang); + return res; + } + function getHtmlCustomizations(paths,path,staticDict){ + var patternString = path+'/html/'; + + var re = new RegExp(patternString, "g"); + var res = paths + .map(e => e.replace(re,'')); + + + res.forEach((e)=> { + var lang = getLanguage(e); + var dirName = e.replace('_'+lang+'.html',''); + if (dirName.indexOf('/') > -1) { + var sepIndex = dirName.indexOf('/'); + dirName = dirName.substr(0, sepIndex); + } + if(!staticDict[dirName]) { + staticDict[dirName] = {}; + } + staticDict[dirName][lang] = path+ '/html/'+e; + if(lang ==='en_US' || lang === 'en') { + staticDict[dirName]['default'] = path+ '/html/'+e; + } + + + }); + + return staticDict; + } + + + + + + + + return customizationObject; + + +} + + +module.exports.proxy_function = function () { + var proxyServer = config.PROXY_SERVER; + var res = new Response(200, {'content-type': 'text/css'}, Buffer.from(''), ''); + var loginRewriteFlags = (config.getSaml() || config.getCas()) ? 'RL' : 'PL'; + + return modRewrite([ + '/view/action/(.*) ' + proxyServer + '/view/action/$1 [PL]', + '/primo_library/libweb/webservices/rest/(.*) ' + proxyServer + '/primo_library/libweb/webservices/rest/$1 [PL]', + '/primaws/rest/(.*) ' + proxyServer + '/primaws/rest/$1 [PL]', + '/primo_library/libweb/primoExploreLogin ' + proxyServer + '/primo_library/libweb/primoExploreLogin [' + loginRewriteFlags + ']', + '/primaws/suprimaLogin ' + proxyServer + '/primaws/suprimaLogin [' + loginRewriteFlags + ']', + '/primaws/suprimaExtLogin ' + proxyServer + '/primaws/suprimaExtLogin [' + loginRewriteFlags + ']', + + '/primo-explore/index.html ' + proxyServer + '/primo-explore/index.html [PL]', + '/discovery/index.html ' + proxyServer + '/discovery/index.html [PL]', + '/primo-explore/custom/(.*) /custom/$1 [L]', + '/discovery/custom/(.*) /custom/$1 [L]', + '/primo-explore/(.*) ' + proxyServer + '/primo-explore/$1 [PL]', + '/discovery/(.*) ' + proxyServer + '/discovery/$1 [PL]', + '.*primoExploreJwt=.* /index.html [L]', + '^[^\\.]*$ /index.html [L]' + ]); + + +}; diff --git a/gulp/tasks/00-select-view.js b/gulp/tasks/00-select-view.js index 2ad99e222..1bbbe87f6 100644 --- a/gulp/tasks/00-select-view.js +++ b/gulp/tasks/00-select-view.js @@ -1,56 +1,56 @@ -'use strict'; -const gulp = require('gulp'); -const glob = require('glob'); -const prompt = require('prompt'); -const zip = require('gulp-zip'); -const config = require('../config.js'); - -gulp.task('select-view', (cb) => { - const basedir = 'primo-explore/custom/'; - const customFolderExp = basedir + '*/'; - const files = glob.sync(customFolderExp, {}); - - return new Promise(resolve => { - if (!config.view()) { - console.log('Please Choose a view to use:\r\n'); - files.forEach(function(element, index, array){ - console.log(index+1 + ': '+ element.replace(basedir,'').replace('/','')); - console.log('\r\n'); - }); - - prompt.start(); - const property = { - name: 'view', - message: 'Please Choose view to use' - }; - prompt.get(property, function (err, result) { - console.log('\r\n'); - let code = result.view; - - if(files[result.view - 1]){ - code = files[result.view - 1].replace(basedir,'').replace('/',''); - } - config.setView(code); - resolve(); - }); - } else { - let valid = false - for (let index in files) { - let dir = files[index].replace(basedir,'').replace('/','') - - if(dir === config.view()) { - valid = true - break; - } - } - - if (!valid) { - resolve() - cb("--view must be a valid view") - } else { - resolve() - } - } - }) -}) - +'use strict'; +const gulp = require('gulp'); +const glob = require('glob'); +const prompt = require('prompt'); +const zip = require('gulp-zip'); +const config = require('../config.js'); + +gulp.task('select-view', (cb) => { + const basedir = 'primo-explore/custom/'; + const customFolderExp = basedir + '*/'; + const files = glob.sync(customFolderExp, {}); + + return new Promise(resolve => { + if (!config.view()) { + console.log('Please Choose a view to use:\r\n'); + files.forEach(function(element, index, array){ + console.log(index+1 + ': '+ element.replace(basedir,'').replace('/','')); + console.log('\r\n'); + }); + + prompt.start(); + const property = { + name: 'view', + message: 'Please Choose view to use' + }; + prompt.get(property, function (err, result) { + console.log('\r\n'); + let code = result.view; + + if(files[result.view - 1]){ + code = files[result.view - 1].replace(basedir,'').replace('/',''); + } + config.setView(code); + resolve(); + }); + } else { + let valid = false + for (let index in files) { + let dir = files[index].replace(basedir,'').replace('/','') + + if(dir === config.view()) { + valid = true + break; + } + } + + if (!valid) { + resolve() + cb("--view must be a valid view") + } else { + resolve() + } + } + }) +}) + diff --git a/gulp/tasks/01-custom-html-templates.js b/gulp/tasks/01-custom-html-templates.js index d1ba5d2e7..eb5e73f76 100644 --- a/gulp/tasks/01-custom-html-templates.js +++ b/gulp/tasks/01-custom-html-templates.js @@ -1,54 +1,54 @@ -'use strict'; -const gulp = require('gulp'); -const wrap = require("gulp-wrap"); -const templateCache = require('gulp-angular-templatecache'); -const config = require('../config.js'); -const fs = require('fs'); - -let buildParams = config.buildParams; - -function parseModuleName(){ - let mainJsContent= fs.readFileSync(buildParams.viewJsDir() + '/main.js', 'utf8'); - let moduleString= "angular.module('"; - let index= mainJsContent.indexOf(moduleString) + moduleString.length; - mainJsContent= mainJsContent.slice(index); - index= mainJsContent.indexOf("'"); - let module= mainJsContent.slice(0, index); - return module; -} - - -function prepareTempltesWithBrowserify(){ - let module = parseModuleName(); - return gulp.src(buildParams.viewHtmlDir() + '/templates/**/*.html') - .pipe(templateCache({ - filename:'customTemplates.js', - module: module, - transformUrl: function(url) { - return url.replace(/^\/+/g, ''); - } - })) - .pipe(gulp.dest(buildParams.viewJsDir())); -} - -function prepareTemplates() { - if(config.getBrowserify()){ - return prepareTempltesWithBrowserify(); - } - else{ - return gulp.src([buildParams.viewHtmlDir() + '/templates/**/*.html', buildParams.customNpmHtmlPath()]) - .pipe(templateCache({ - filename:'customTemplates.js', - templateHeader: 'app.run(function($templateCache) {', - templateFooter: '});', - transformUrl: function(url) { - return url.replace(/^\/+/g, ''); - } - })) - .pipe(gulp.dest(buildParams.viewJsDir())); - } -} - -gulp.task('custom-html-templates', gulp.series('select-view', (cb) => { - prepareTemplates().on('end', cb); -})) +'use strict'; +const gulp = require('gulp'); +const wrap = require("gulp-wrap"); +const templateCache = require('gulp-angular-templatecache'); +const config = require('../config.js'); +const fs = require('fs'); + +let buildParams = config.buildParams; + +function parseModuleName(){ + let mainJsContent= fs.readFileSync(buildParams.viewJsDir() + '/main.js', 'utf8'); + let moduleString= "angular.module('"; + let index= mainJsContent.indexOf(moduleString) + moduleString.length; + mainJsContent= mainJsContent.slice(index); + index= mainJsContent.indexOf("'"); + let module= mainJsContent.slice(0, index); + return module; +} + + +function prepareTempltesWithBrowserify(){ + let module = parseModuleName(); + return gulp.src(buildParams.viewHtmlDir() + '/templates/**/*.html') + .pipe(templateCache({ + filename:'customTemplates.js', + module: module, + transformUrl: function(url) { + return url.replace(/^\/+/g, ''); + } + })) + .pipe(gulp.dest(buildParams.viewJsDir())); +} + +function prepareTemplates() { + if(config.getBrowserify()){ + return prepareTempltesWithBrowserify(); + } + else{ + return gulp.src([buildParams.viewHtmlDir() + '/templates/**/*.html', buildParams.customNpmHtmlPath()]) + .pipe(templateCache({ + filename:'customTemplates.js', + templateHeader: 'app.run(function($templateCache) {', + templateFooter: '});', + transformUrl: function(url) { + return url.replace(/^\/+/g, ''); + } + })) + .pipe(gulp.dest(buildParams.viewJsDir())); + } +} + +gulp.task('custom-html-templates', gulp.series('select-view', (cb) => { + prepareTemplates().on('end', cb); +})) diff --git a/gulp/tasks/02-custom-js.js b/gulp/tasks/02-custom-js.js index d242b2eef..f47fc9ff9 100644 --- a/gulp/tasks/02-custom-js.js +++ b/gulp/tasks/02-custom-js.js @@ -1,93 +1,93 @@ -'use strict'; - -const gulp = require('gulp'); -const babel = require('gulp-babel'); -const config = require('../config.js'); -const concat = require("gulp-concat"); -const wrap = require("gulp-wrap"); -const gutil = require('gulp-util'); -const browserify = require("browserify"); -const source = require('vinyl-source-stream'); -const uglify = require('gulp-uglify'); -const buffer = require('vinyl-buffer'); -const sourcemaps = require('gulp-sourcemaps'); - -let buildParams = config.buildParams; - - - - -gulp.task('watch-js', gulp.series('select-view', (cb) => { - gulp.watch([`${buildParams.viewJsDir()}/**/*.js`,'!'+buildParams.customPath()], {interval: 1000, usePolling: true}, gulp.series('custom-js')); - cb(); -})); - - -gulp.task('custom-js', gulp.series('select-view', 'custom-html-templates',(cb) => { - if (config.getBrowserify()) { - buildByBrowserify().on('end', cb); - } - else { - buildByConcatination().on('end', cb); - } -})); - -function getBrowserifyBabelPlugins() { - return [ - "transform-html-import-to-string", ["angularjs-annotate", { "explicitOnly" : true}] - ]; -} - -function getDefaultBabelPlugins() { - return [ - ["transform-define", { - "process.env.NODE_ENV": process.env.NODE_ENV, - }] - ]; -} - -const getBabelConfig = () => { - return ({ - presets: ["es2015"], - plugins: getDefaultBabelPlugins().concat(config.getBrowserify() ? getBrowserifyBabelPlugins() : []), - sourceMaps: config.getBrowserify(), - }); -} - -function buildByConcatination() { - return gulp.src([buildParams.customModulePath(),buildParams.mainPath(),buildParams.customNpmJsPath(),buildParams.customNpmDistPath(),'!'+buildParams.customPath(),'!'+buildParams.customNpmJsModulePath(),'!'+buildParams.customNpmJsCustomPath()],{allowEmpty:true}) - .pipe(concat(buildParams.customFile)) - .pipe(babel(getBabelConfig())) - .on("error", function(err) { - if (err && err.codeFrame) { - gutil.log( - gutil.colors.red("Browserify error: "), - gutil.colors.cyan(err.filename) + ` [${err.loc.line},${err.loc.column}]`, - "\r\n" + err.message + "\r\n" + err.codeFrame); - } - else { - gutil.log(err); - } - this.emit("end"); - }) - .pipe(wrap('(function(){\n"use strict";\n<%= contents %>\n})();')) - .pipe(gulp.dest(buildParams.viewJsDir())); -} - -function buildByBrowserify() { - return browserify({ - debug: true, - entries: buildParams.mainJsPath(), - paths:[ - buildParams.viewJsDir()+'/node_modules' - ] - }) - .transform("babelify", getBabelConfig()) - .bundle() - .pipe(source(buildParams.customFile)) - .pipe(buffer()) - .pipe(sourcemaps.init({loadMaps: true})) - .pipe(process.env.NODE_ENV === 'production' ? uglify() : gutil.noop()) - .pipe(sourcemaps.write('./')) - .pipe(gulp.dest(buildParams.viewJsDir())); -} +'use strict'; + +const gulp = require('gulp'); +const babel = require('gulp-babel'); +const config = require('../config.js'); +const concat = require("gulp-concat"); +const wrap = require("gulp-wrap"); +const gutil = require('gulp-util'); +const browserify = require("browserify"); +const source = require('vinyl-source-stream'); +const uglify = require('gulp-uglify'); +const buffer = require('vinyl-buffer'); +const sourcemaps = require('gulp-sourcemaps'); + +let buildParams = config.buildParams; + + + + +gulp.task('watch-js', gulp.series('select-view', (cb) => { + gulp.watch([`${buildParams.viewJsDir()}/**/*.js`,'!'+buildParams.customPath()], {interval: 1000, usePolling: true}, gulp.series('custom-js')); + cb(); +})); + + +gulp.task('custom-js', gulp.series('select-view', 'custom-html-templates',(cb) => { + if (config.getBrowserify()) { + buildByBrowserify().on('end', cb); + } + else { + buildByConcatination().on('end', cb); + } +})); + +function getBrowserifyBabelPlugins() { + return [ + "transform-html-import-to-string", ["angularjs-annotate", { "explicitOnly" : true}] + ]; +} + +function getDefaultBabelPlugins() { + return [ + ["transform-define", { + "process.env.NODE_ENV": process.env.NODE_ENV, + }] + ]; +} + +const getBabelConfig = () => { + return ({ + presets: ["es2015"], + plugins: getDefaultBabelPlugins().concat(config.getBrowserify() ? getBrowserifyBabelPlugins() : []), + sourceMaps: config.getBrowserify(), + }); +} + +function buildByConcatination() { + return gulp.src([buildParams.customModulePath(),buildParams.mainPath(),buildParams.customNpmJsPath(),buildParams.customNpmDistPath(),'!'+buildParams.customPath(),'!'+buildParams.customNpmJsModulePath(),'!'+buildParams.customNpmJsCustomPath()],{allowEmpty:true}) + .pipe(concat(buildParams.customFile)) + .pipe(babel(getBabelConfig())) + .on("error", function(err) { + if (err && err.codeFrame) { + gutil.log( + gutil.colors.red("Browserify error: "), + gutil.colors.cyan(err.filename) + ` [${err.loc.line},${err.loc.column}]`, + "\r\n" + err.message + "\r\n" + err.codeFrame); + } + else { + gutil.log(err); + } + this.emit("end"); + }) + .pipe(wrap('(function(){\n"use strict";\n<%= contents %>\n})();')) + .pipe(gulp.dest(buildParams.viewJsDir())); +} + +function buildByBrowserify() { + return browserify({ + debug: true, + entries: buildParams.mainJsPath(), + paths:[ + buildParams.viewJsDir()+'/node_modules' + ] + }) + .transform("babelify", getBabelConfig()) + .bundle() + .pipe(source(buildParams.customFile)) + .pipe(buffer()) + .pipe(sourcemaps.init({loadMaps: true})) + .pipe(process.env.NODE_ENV === 'production' ? uglify() : gutil.noop()) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest(buildParams.viewJsDir())); +} diff --git a/gulp/tasks/03-scss.js b/gulp/tasks/03-scss.js index ff87f09de..993b70506 100644 --- a/gulp/tasks/03-scss.js +++ b/gulp/tasks/03-scss.js @@ -1,146 +1,146 @@ -'use strict'; - -let autoprefixer = require('gulp-autoprefixer'); -let config = require('../config').buildParams; -let useScss = require('../config').getUseScss; -let isVe = require('../config').getVe; -let proxy_server = require('../config').PROXY_SERVER -let gulp = require('gulp'); -let cssnano = require('gulp-cssnano'); -let debug = require('gulp-debug'); -let rename = require("gulp-rename"); -let sass = require('gulp-sass'); -let sourcemaps = require('gulp-sourcemaps'); -let plumber = require('gulp-plumber'); -let splitCss = require('../cssSplitter'); -let merge = require('merge-stream'); -let clone = require('gulp-clone'); -let template = require('gulp-template'); -let request = require('request'); -let zlib = require('zlib'); -let tar = require('tar-fs'); -let stylesBaseDir = 'www/styles/partials'; -let templateFile = stylesBaseDir+'/_variables.tmpl.scss'; -let OTBColorsFile = stylesBaseDir+'/../colors.json'; -let scssFile = '_variables.scss'; -var runSequence = require('gulp4-run-sequence'); -let fs = require('fs'); -let del = require('del'); -let lodashMerge = require('lodash/merge'); -let gutil = require('gulp-util'); - -gulp.task('cleanup',()=> del(['www'])); - -gulp.task('extract-scss-files', ()=> { - let proxy_server = require('../config').PROXY_SERVER; - let prefix; - if (isVe()) { - prefix = '/discovery'; - } else { - prefix = '/primo-explore'; - } - let url = proxy_server+prefix+'/lib/scsss.tar.gz'; - console.log(url); - var headers = { - /*'Accept-Encoding': 'gzip'*/ - }; - - return request({url:url, 'headers': headers}) - .pipe(zlib.createGunzip()) // unzip - .pipe(tar.extract('.', {map: (header)=>{ - if (header.name.indexOf('src/main/webapp') > -1){ - header.name = header.name.replace('src/main/webapp', 'www'); - } - return header; - }})); -}); -gulp.task('color-variables',() => { - let colorVariables = JSON.parse(fs.readFileSync(config.viewCssDir() + '/../colors.json', 'utf8')); - let colorVariablesOTB =JSON.parse(fs.readFileSync(OTBColorsFile, 'utf8')); - let colorsMeregd = lodashMerge(colorVariablesOTB, colorVariables); - return gulp.src(templateFile) - .pipe(template(colorsMeregd)) - .pipe(rename(scssFile)) - .pipe(gulp.dest(stylesBaseDir)) - .pipe(gulp.dest(config.customScssDir() + "/partials")); -}); - -gulp.task('compile-scss',() => { - let allCss = gulp.src('www/styles/main.scss') - .pipe(plumber({ - errorHandler: function (err) { - console.log('Error:' + err); - this.emit('end'); - } - })) - // .pipe(sourcemaps.init()) - .pipe(sass()) - .pipe(autoprefixer({ - cascade: false - })); - let colorStream = allCss - .pipe(clone()) - .pipe(rename('app-colors.css')) - //.pipe(cssnano({safe: true})) - .pipe(splitCss({colors:true})) - //.pipe(sourcemaps.write('.')) - .pipe(gulp.dest(config.viewCssDir())); - - return colorStream; -}); - -gulp.task('app-css', (cb) => { - runSequence('extract-scss-files','color-variables', 'compile-scss', 'cleanup', cb); -}); - -/** - * Task to watch custom scss files contained in /scss directory in view package folder - * - * Please note. The logic of this task will only execute if the run task is - * executed with the "useScss" parameter, e.g.: gulp run --view UNIBZ --useScss - */ -gulp.task("watch-custom-scss", gulp.series('select-view', (cb) => { - if (!useScss()) { - cb(); - return; - } - gulp.watch([config.customScssDir() + "/**/*.scss"], {interval: 1000, usePolling: true}, gulp.series('custom-scss')); - cb(); -})); - -/** - * Compiles the custom scss to a css file called custom-scss-compiled.css which - * in turn is then concatenated with all other css files present in the /css folder - * of the view package folder to the custom1.css file that constitutes the entirety - * of the view package css. - * - * Please note. The logic of this task will only execute if the run task is - * executed with the "useScss" parameter, e.g.: gulp run --view UNIBZ --useScss - */ -gulp.task("custom-scss", gulp.series('select-view', (cb) => { - if (!useScss()) { - cb(); - return; - } - - gutil.log("Start Creating custom CSS from custom SCSS"); - - let customScss = gulp.src(config.customScssMainPath(),{allowEmpty:true}) - .pipe(plumber({ - errorHandler: function (err) { - console.log('1111111' + err); - this.emit('end'); - } - })) - // .pipe(sourcemaps.init()) - .pipe(sass()) - .pipe(autoprefixer({ - cascade: false - })) - .pipe(rename("custom-scss-compiled.css")) - .pipe(gulp.dest(config.viewCssDir())); - - gutil.log("End Creating custom CSS from custom SCSS"); - cb(); - return customScss; -})); +'use strict'; + +let autoprefixer = require('gulp-autoprefixer'); +let config = require('../config').buildParams; +let useScss = require('../config').getUseScss; +let isVe = require('../config').getVe; +let proxy_server = require('../config').PROXY_SERVER +let gulp = require('gulp'); +let cssnano = require('gulp-cssnano'); +let debug = require('gulp-debug'); +let rename = require("gulp-rename"); +let sass = require('gulp-sass'); +let sourcemaps = require('gulp-sourcemaps'); +let plumber = require('gulp-plumber'); +let splitCss = require('../cssSplitter'); +let merge = require('merge-stream'); +let clone = require('gulp-clone'); +let template = require('gulp-template'); +let request = require('request'); +let zlib = require('zlib'); +let tar = require('tar-fs'); +let stylesBaseDir = 'www/styles/partials'; +let templateFile = stylesBaseDir+'/_variables.tmpl.scss'; +let OTBColorsFile = stylesBaseDir+'/../colors.json'; +let scssFile = '_variables.scss'; +var runSequence = require('gulp4-run-sequence'); +let fs = require('fs'); +let del = require('del'); +let lodashMerge = require('lodash/merge'); +let gutil = require('gulp-util'); + +gulp.task('cleanup',()=> del(['www'])); + +gulp.task('extract-scss-files', ()=> { + let proxy_server = require('../config').PROXY_SERVER; + let prefix; + if (isVe()) { + prefix = '/discovery'; + } else { + prefix = '/primo-explore'; + } + let url = proxy_server+prefix+'/lib/scsss.tar.gz'; + console.log(url); + var headers = { + /*'Accept-Encoding': 'gzip'*/ + }; + + return request({url:url, 'headers': headers}) + .pipe(zlib.createGunzip()) // unzip + .pipe(tar.extract('.', {map: (header)=>{ + if (header.name.indexOf('src/main/webapp') > -1){ + header.name = header.name.replace('src/main/webapp', 'www'); + } + return header; + }})); +}); +gulp.task('color-variables',() => { + let colorVariables = JSON.parse(fs.readFileSync(config.viewCssDir() + '/../colors.json', 'utf8')); + let colorVariablesOTB =JSON.parse(fs.readFileSync(OTBColorsFile, 'utf8')); + let colorsMeregd = lodashMerge(colorVariablesOTB, colorVariables); + return gulp.src(templateFile) + .pipe(template(colorsMeregd)) + .pipe(rename(scssFile)) + .pipe(gulp.dest(stylesBaseDir)) + .pipe(gulp.dest(config.customScssDir() + "/partials")); +}); + +gulp.task('compile-scss',() => { + let allCss = gulp.src('www/styles/main.scss') + .pipe(plumber({ + errorHandler: function (err) { + console.log('Error:' + err); + this.emit('end'); + } + })) + // .pipe(sourcemaps.init()) + .pipe(sass()) + .pipe(autoprefixer({ + cascade: false + })); + let colorStream = allCss + .pipe(clone()) + .pipe(rename('app-colors.css')) + //.pipe(cssnano({safe: true})) + .pipe(splitCss({colors:true})) + //.pipe(sourcemaps.write('.')) + .pipe(gulp.dest(config.viewCssDir())); + + return colorStream; +}); + +gulp.task('app-css', (cb) => { + runSequence('extract-scss-files','color-variables', 'compile-scss', 'cleanup', cb); +}); + +/** + * Task to watch custom scss files contained in /scss directory in view package folder + * + * Please note. The logic of this task will only execute if the run task is + * executed with the "useScss" parameter, e.g.: gulp run --view UNIBZ --useScss + */ +gulp.task("watch-custom-scss", gulp.series('select-view', (cb) => { + if (!useScss()) { + cb(); + return; + } + gulp.watch([config.customScssDir() + "/**/*.scss"], {interval: 1000, usePolling: true}, gulp.series('custom-scss')); + cb(); +})); + +/** + * Compiles the custom scss to a css file called custom-scss-compiled.css which + * in turn is then concatenated with all other css files present in the /css folder + * of the view package folder to the custom1.css file that constitutes the entirety + * of the view package css. + * + * Please note. The logic of this task will only execute if the run task is + * executed with the "useScss" parameter, e.g.: gulp run --view UNIBZ --useScss + */ +gulp.task("custom-scss", gulp.series('select-view', (cb) => { + if (!useScss()) { + cb(); + return; + } + + gutil.log("Start Creating custom CSS from custom SCSS"); + + let customScss = gulp.src(config.customScssMainPath(),{allowEmpty:true}) + .pipe(plumber({ + errorHandler: function (err) { + console.log('1111111' + err); + this.emit('end'); + } + })) + // .pipe(sourcemaps.init()) + .pipe(sass()) + .pipe(autoprefixer({ + cascade: false + })) + .pipe(rename("custom-scss-compiled.css")) + .pipe(gulp.dest(config.viewCssDir())); + + gutil.log("End Creating custom CSS from custom SCSS"); + cb(); + return customScss; +})); diff --git a/gulp/tasks/04-custom-css.js b/gulp/tasks/04-custom-css.js index 927dae71d..a28c4bef0 100644 --- a/gulp/tasks/04-custom-css.js +++ b/gulp/tasks/04-custom-css.js @@ -1,31 +1,31 @@ -'use strict'; - -let gulp = require('gulp'); -let babel = require('gulp-babel'); -let config = require('../config.js'); -let rename = require("gulp-rename"); -let concat = require("gulp-concat"); -let debug = require('gulp-debug'); -var wrap = require("gulp-wrap"); -var glob = require('glob'); - -let buildParams = config.buildParams; - - - -gulp.task('watch-css', gulp.series('select-view', (cb) => { - gulp.watch([buildParams.customCssMainPath(),buildParams.customNpmCssPath(),'!'+buildParams.customCssPath()], {interval: 1000, usePolling: true}, gulp.series('custom-css')); - cb(); -})); - - - - -gulp.task('custom-css', gulp.series('select-view', () => { - - return gulp.src([buildParams.customCssMainPath(),buildParams.customNpmCssPath(),'!'+buildParams.customCssPath()]) - .pipe(concat(buildParams.customCssFile)) - .pipe(gulp.dest(buildParams.viewCssDir())); - - -})); +'use strict'; + +let gulp = require('gulp'); +let babel = require('gulp-babel'); +let config = require('../config.js'); +let rename = require("gulp-rename"); +let concat = require("gulp-concat"); +let debug = require('gulp-debug'); +var wrap = require("gulp-wrap"); +var glob = require('glob'); + +let buildParams = config.buildParams; + + + +gulp.task('watch-css', gulp.series('select-view', (cb) => { + gulp.watch([buildParams.customCssMainPath(),buildParams.customNpmCssPath(),'!'+buildParams.customCssPath()], {interval: 1000, usePolling: true}, gulp.series('custom-css')); + cb(); +})); + + + + +gulp.task('custom-css', gulp.series('select-view', () => { + + return gulp.src([buildParams.customCssMainPath(),buildParams.customNpmCssPath(),'!'+buildParams.customCssPath()]) + .pipe(concat(buildParams.customCssFile)) + .pipe(gulp.dest(buildParams.viewCssDir())); + + +})); diff --git a/gulp/tasks/05-css-colors.js b/gulp/tasks/05-css-colors.js index 2c8830ae5..dd438cae1 100644 --- a/gulp/tasks/05-css-colors.js +++ b/gulp/tasks/05-css-colors.js @@ -1,115 +1,115 @@ -'use strict'; -var gulp = require('gulp'); -let glob = require('glob'); -let http = require('http'); -let https = require('https'); -let prompt = require('prompt'); -var config = require('../config'); -var extractor = require('css-color-extractor'); -var spawn = require('child_process').spawn; -var exec = require('child_process').exec; -var shell = require("shelljs"); -var fs = require('fs'); - -gulp.task('css-colors', function () { - var proxyServer = config.PROXY_SERVER; - var method = config.PROXY_SERVER.split('://')[0]; - - var cssFileName =''; - let url = proxyServer + "/primo-explore/index.html"; - var requestObject = http; - if(method === 'https') { - requestObject = https; - } - - requestObject.get(url, function(res1) { - let body = ''; - res1.setEncoding('utf8'); - - res1.on("data", function(chunk) { - body = body + chunk; - - }); - - res1.on("end", function(){ - var regEx = new RegExp(' { - - - console.log ("run the following command to get all css color definitions : \r\n"); - console.log("css-color-extractor primo-explore/tmp/app.css --format=css > primo-explore/tmp/colors.css"); - - - }); - - }); - - }).on('error', function(e) { - console.log('error fetching css file'); - }); - - - }); - - }).on('error', function(e) { - console.log('error fetching css file'); - }); - - - /*var cssFile = glob.sync(proxyServer + "/primo-explore/lib/app**.css", {}); - console.log('11111: ' + proxyServer);*/ - - /*console.log("1111: " + css-color-extractor http://il-primo17:1703/primo-explore/lib/app-fdcb4c32c9.css --format=css )*/ - - - - /*var basedir = 'primo-explore/custom/'; - var customFolderExp = basedir+'*!/'; - console.log('Please Choose a package to create:'); - glob(customFolderExp, {}, function (er, files) { - // Note elision, there is no member at 2 so it isn't visited - console.log('\r\n'); - files.forEach(function(element, index, array){ - console.log(index+1 + ': '+ element.replace(basedir,'').replace('/','')); - console.log('\r\n'); - }); - prompt.start(); - var property = { - name: 'package', - message: 'Please Choose the level you want to create the package for' - }; - prompt.get(property, function (err, result) { - - console.log('\r\n'); - var code = result.package; - - if(files[result.package - 1]){ - code = files[result.package - 1].replace(basedir,'').replace('/',''); - } - console.log('Creating package for : ('+code+'.zip)'); - console.log(code); - console.log(' in : /packages'); - console.log('\r\n'); - console.log('............................................................................................................................................'); - return gulp.src('./primo-explore/custom/'+code+'/!**') - .pipe(zip(code+'.zip')) - .pipe(gulp.dest('./packages/')); - }); - - })*/ - +'use strict'; +var gulp = require('gulp'); +let glob = require('glob'); +let http = require('http'); +let https = require('https'); +let prompt = require('prompt'); +var config = require('../config'); +var extractor = require('css-color-extractor'); +var spawn = require('child_process').spawn; +var exec = require('child_process').exec; +var shell = require("shelljs"); +var fs = require('fs'); + +gulp.task('css-colors', function () { + var proxyServer = config.PROXY_SERVER; + var method = config.PROXY_SERVER.split('://')[0]; + + var cssFileName =''; + let url = proxyServer + "/primo-explore/index.html"; + var requestObject = http; + if(method === 'https') { + requestObject = https; + } + + requestObject.get(url, function(res1) { + let body = ''; + res1.setEncoding('utf8'); + + res1.on("data", function(chunk) { + body = body + chunk; + + }); + + res1.on("end", function(){ + var regEx = new RegExp(' { + + + console.log ("run the following command to get all css color definitions : \r\n"); + console.log("css-color-extractor primo-explore/tmp/app.css --format=css > primo-explore/tmp/colors.css"); + + + }); + + }); + + }).on('error', function(e) { + console.log('error fetching css file'); + }); + + + }); + + }).on('error', function(e) { + console.log('error fetching css file'); + }); + + + /*var cssFile = glob.sync(proxyServer + "/primo-explore/lib/app**.css", {}); + console.log('11111: ' + proxyServer);*/ + + /*console.log("1111: " + css-color-extractor http://il-primo17:1703/primo-explore/lib/app-fdcb4c32c9.css --format=css )*/ + + + + /*var basedir = 'primo-explore/custom/'; + var customFolderExp = basedir+'*!/'; + console.log('Please Choose a package to create:'); + glob(customFolderExp, {}, function (er, files) { + // Note elision, there is no member at 2 so it isn't visited + console.log('\r\n'); + files.forEach(function(element, index, array){ + console.log(index+1 + ': '+ element.replace(basedir,'').replace('/','')); + console.log('\r\n'); + }); + prompt.start(); + var property = { + name: 'package', + message: 'Please Choose the level you want to create the package for' + }; + prompt.get(property, function (err, result) { + + console.log('\r\n'); + var code = result.package; + + if(files[result.package - 1]){ + code = files[result.package - 1].replace(basedir,'').replace('/',''); + } + console.log('Creating package for : ('+code+'.zip)'); + console.log(code); + console.log(' in : /packages'); + console.log('\r\n'); + console.log('............................................................................................................................................'); + return gulp.src('./primo-explore/custom/'+code+'/!**') + .pipe(zip(code+'.zip')) + .pipe(gulp.dest('./packages/')); + }); + + })*/ + }); \ No newline at end of file diff --git a/gulp/tasks/06-prepare-addon.js b/gulp/tasks/06-prepare-addon.js index 171812ef5..ab41d0bcc 100644 --- a/gulp/tasks/06-prepare-addon.js +++ b/gulp/tasks/06-prepare-addon.js @@ -1,295 +1,295 @@ -'use strict'; -const gulp = require('gulp'); -const config = require('../config.js'); -const spawn = require('child_process').spawn; -const fs = require('fs'); -const Promise = require('bluebird'); -const prompt = require('prompt'); -const camelCase = require('camel-case'); -const streamToPromise = require('stream-to-promise'); -const colors = require('colors/safe'); -const path = require('path'); - - -let buildParams = config.buildParams; - -gulp.task('prepare-addon', gulp.series('select-view', 'custom-js','custom-scss','custom-css', function() { - let view = config.view(); - let packageJsonPath = buildParams.viewRootDir() + '/package.json'; - let npmId; - let directoryName; - let hookName; - - let runNpmInitIfNeeded = new Promise((resolve, reject) => { - if (!fs.existsSync(packageJsonPath)) { - let childProcess = spawn('npm', ['init'], {cwd: buildParams.viewRootDir(), shell: true, stdio: 'inherit'}); - - childProcess.on('error', err => { - reject(err); - }); - - childProcess.on('exit', (code, signal) => { - if (!code) { - resolve(); - } - }); - } else { - resolve(); - } - }); - - return runNpmInitIfNeeded - .then(findNpmIdInPackageJson, handleError) - .then(makeDirectory, handleError) - .then(copyFiles, handleError) - .then(compileAddon, handleError) - .then(createDescriptorJson, handleError) - .then(announceFinishedProcess, handleError); - - - function findNpmIdInPackageJson() { - return new Promise((resolve, reject) => { - fs.exists(packageJsonPath, exists => { - if (exists) { - fs.readFile(packageJsonPath, (err, data) => { - if (err) { - reject(err); - } - let packageJson = JSON.parse(data.toString()); - npmId = camelCase(packageJson.name); - resolve(); - }); - } - }); - }); - } - - - function makeDirectory() { - return new Promise((resolve, reject) => { - directoryName = './addons/' + npmId; - fs.mkdir(directoryName, err => reject(err)); - resolve(); - }) - } - - - function copyFiles() { - return streamToPromise(gulp.src(['./primo-explore/custom/' + view + '/package*.json', './primo-explore/custom/' + view + '/html/**', './primo-explore/custom/' + view + '/img/**', './primo-explore/custom/' + view + '/css/custom1.css', './primo-explore/custom/' + view + '/js/custom.js'], {base: './primo-explore/custom/' + view}) - .pipe(gulp.dest(directoryName))); - } - - - function compileAddon() { - return new Promise((resolve, reject) => { - let customJsPath = directoryName + '/js/' + buildParams.customFile; - if (fs.existsSync(customJsPath)) { - fs.readFile(customJsPath, (err, data) => { - if (err) { - reject(err); - } - let dataString = data.toString(); - - // remove comments - dataString = dataString.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, ''); - - // group 1 = component name, group 2 = controller name if exists controller - let componentRegex = /\.component[\s]*?\([\s]*?['"](prm.*?After)['"](?:(?:(?!\.component)[\s\S])*?controller[\s]*?:[\s]*?['"](.*)['"])?/g; - - if (dataString.match(componentRegex).length > 1) { - let arr = []; - let match; - while (match = componentRegex.exec(dataString)) { - arr.push(match[1]); - } - reject(new Error('Only one Primo hook allowed, you tried to use several: ' + arr.toString())); - } - - let match = componentRegex.exec(dataString); - - if (match) { - hookName = match[1]; - let controllerName = match[2]; // may be null - - dataString = dataString.replace(new RegExp(controllerName || '', 'g'), npmId + 'Controller'); - dataString = dataString.replace(new RegExp(hookName, 'g'), npmId); - } - - // remove wrapping function - let wrappingFunctionRegex = /\s*?\(\s*?function\s*?\(\s*?\)\s*?{\s*(?:["']use strict["'];\s*)?([\s\S]*)\s*?}\s*?\)\s*?\(\s*?\)\s*?;?/g; - if (match = wrappingFunctionRegex.exec(dataString)) { - dataString = dataString.replace(wrappingFunctionRegex, match[1]); - } - - // remove app declaration - // group 1 = app variable name - let appDeclarationViewOrCentralCustomRegex = /[\s]*(?:var|let)?[\s]*(.*?)[\s]*=[\s]*angular[\s]*\.module\([\s]*['"](?:view|central)Custom['"][\s]*,[\s]*\[['"]angularLoad['"]\]\);/g; - if (match = appDeclarationViewOrCentralCustomRegex.exec(dataString)) { - // remove matched line - dataString = dataString.replace(appDeclarationViewOrCentralCustomRegex, ''); - - // change all the occurrences of the variable to 'app' - let variableName = match[1]; - if (variableName !== 'app') { - let variableUseRegex = new RegExp('([[=(,]\\s*?)' + variableName + '([^\\w])|([^\\w])' + variableName + '(\\s*?[.)|\\]}=;])', 'gm'); - dataString = dataString.replace(variableUseRegex, '$1$3app$2$4'); - } - } - - // remove constant config if exists - // group 1 = config name - let studioConfigDeclerationRegex = /\.(?:constant|value|service|factory)[\s]*?\([\s]*['"](.*?StudioConfig)/g; - if (dataString.match(studioConfigDeclerationRegex)) { - dataString = dataString.replace(studioConfigDeclerationRegex, '$&DevenvTest'); - } - - // group 1 = module name - let moduleRegex = /\.module[\s]*?\([\s]*((?:').*?(?:')|(?:").*?(?:")|.*?)[\s]*?[),]/g; - - // push all modules - while (match = moduleRegex.exec(dataString)) { - dataString = dataString + '\napp.requires.push(' + match[1] + ');'; - } - - // write content to {{npmId}}.js - let wstream = fs.createWriteStream(directoryName + '/js/' + npmId + '.js'); - wstream.write(dataString); - wstream.end(); - - // delete custom.js file - fs.unlink(customJsPath, err1 => { - if (err1) { - reject(err1); - } - }); - - resolve(); - - }); - } else { - resolve(); - } - }); - } - - - function createDescriptorJson() { - return new Promise((resolve, reject) => { - let npmignorePath = directoryName + '/.npmignore'; - let descriptorJsonFileName = 'descriptor.json'; - let descriptorJsonPath = directoryName + '/' + descriptorJsonFileName; - - console.log("Creating '.npmignore' file\n"); - - // create .npmignore file with descriptor.json - let wstream = fs.createWriteStream(npmignorePath); - wstream.write(descriptorJsonFileName + '\n'); - wstream.end(); - - console.log("Creating 'descriptor.json' file\n"); - - // needed values for descriptor.json: face (image), notes (description), who (author), what (title), linkGit, npmid, version, hook - let descriptor = {'face': '', 'notes': '', 'who': '', 'what': '', 'linkGit': '', 'npmid': '', 'version': '', 'hook': hookName}; - - // get known values from package.json - fs.readFile(packageJsonPath, (err, data) => { - if (err) { - reject(err); - } - let packageJson = JSON.parse(data.toString()); - descriptor.notes = packageJson.description; - descriptor.who = packageJson.author.name || packageJson.author; // maybe empty, but is string - if (packageJson.repository) { - descriptor.linkGit = packageJson.repository.url || packageJson.repository; // maybe null - } - descriptor.npmid = packageJson.name; - descriptor.version = packageJson.version; - - // until here have: notes (description), who (author) {maybe}, linkGit {maybe}, npmid, version, hook - // need to ask for: face (image), who (author) {maybe}, what (title), linkGit {maybe} - - // ask for values not exists already - console.log("This utility will walk you through creating a 'descriptor.json' file.\n" + - "It only covers the most common items, and tries to guess sensible defaults."); - prompt.start(); - prompt.colors = false; - prompt.message = ''; - let properties = [ - { - name: 'what', - message: 'Enter title', - required: true, - default: descriptor.npmid - }, { - name: 'face', - message: 'Enter a link to photo of you', - required: true - } - ]; - - if (!descriptor.who) { - properties.push( - { - name: 'who', - message: 'Enter author/s name/s', - required: true - }); - } - - if (!descriptor.linkGit) { - properties.push( - { - name: 'linkGit', - message: 'Enter link to repository', - required: true - }); - } - - prompt.get(properties, (err, result) => { - if (err) { - reject(err); - } - - descriptor.what = result.what; - descriptor.face = result.face; - if (result.who) { - descriptor.who = result.who; - } - if (result.linkGit) { - descriptor.linkGit = result.linkGit; - } - - // create descriptor json with values - wstream = fs.createWriteStream(descriptorJsonPath); - wstream.write(JSON.stringify(descriptor)); - wstream.close(); - - resolve(); - }); - }); - }); - } - - - function announceFinishedProcess() { - console.log('\n'); - process.stdout.write('Finished compiling addon\n'); - console.log(''); - process.stdout.write(colors.green('Addon can be found at ' )); - process.stdout.write(colors.cyan(path.resolve('./addons/' + npmId))); - process.stdout.write(colors.green('.\nIn order to publish to NPM: Navigate to the addon folder. Review the \'package.json\' file. Then run \'npm publish\'.\n')); - process.stdout.write(colors.green('A basic descriptor for your addon was created in the file \'descriptor.json\'. Please review it and edit fields accordingly.\n')); - process.stdout.write(colors.green('When you are ready to publish to Primo-Studio, create a pull request at ')); - process.stdout.write(colors.cyan('https://github.com/primousers/primostudio/tree/submit_here')); - process.stdout.write(colors.green(' appending your descriptor to the \'features.json\' file.\n')); - } - - - function handleError(err) { - // if fails at any time - clean addon folder - if (directoryName) { - fs.unlink(directoryName); - } - console.error(err.message); - } +'use strict'; +const gulp = require('gulp'); +const config = require('../config.js'); +const spawn = require('child_process').spawn; +const fs = require('fs'); +const Promise = require('bluebird'); +const prompt = require('prompt'); +const camelCase = require('camel-case'); +const streamToPromise = require('stream-to-promise'); +const colors = require('colors/safe'); +const path = require('path'); + + +let buildParams = config.buildParams; + +gulp.task('prepare-addon', gulp.series('select-view', 'custom-js','custom-scss','custom-css', function() { + let view = config.view(); + let packageJsonPath = buildParams.viewRootDir() + '/package.json'; + let npmId; + let directoryName; + let hookName; + + let runNpmInitIfNeeded = new Promise((resolve, reject) => { + if (!fs.existsSync(packageJsonPath)) { + let childProcess = spawn('npm', ['init'], {cwd: buildParams.viewRootDir(), shell: true, stdio: 'inherit'}); + + childProcess.on('error', err => { + reject(err); + }); + + childProcess.on('exit', (code, signal) => { + if (!code) { + resolve(); + } + }); + } else { + resolve(); + } + }); + + return runNpmInitIfNeeded + .then(findNpmIdInPackageJson, handleError) + .then(makeDirectory, handleError) + .then(copyFiles, handleError) + .then(compileAddon, handleError) + .then(createDescriptorJson, handleError) + .then(announceFinishedProcess, handleError); + + + function findNpmIdInPackageJson() { + return new Promise((resolve, reject) => { + fs.exists(packageJsonPath, exists => { + if (exists) { + fs.readFile(packageJsonPath, (err, data) => { + if (err) { + reject(err); + } + let packageJson = JSON.parse(data.toString()); + npmId = camelCase(packageJson.name); + resolve(); + }); + } + }); + }); + } + + + function makeDirectory() { + return new Promise((resolve, reject) => { + directoryName = './addons/' + npmId; + fs.mkdir(directoryName, err => reject(err)); + resolve(); + }) + } + + + function copyFiles() { + return streamToPromise(gulp.src(['./primo-explore/custom/' + view + '/package*.json', './primo-explore/custom/' + view + '/html/**', './primo-explore/custom/' + view + '/img/**', './primo-explore/custom/' + view + '/css/custom1.css', './primo-explore/custom/' + view + '/js/custom.js'], {base: './primo-explore/custom/' + view}) + .pipe(gulp.dest(directoryName))); + } + + + function compileAddon() { + return new Promise((resolve, reject) => { + let customJsPath = directoryName + '/js/' + buildParams.customFile; + if (fs.existsSync(customJsPath)) { + fs.readFile(customJsPath, (err, data) => { + if (err) { + reject(err); + } + let dataString = data.toString(); + + // remove comments + dataString = dataString.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, ''); + + // group 1 = component name, group 2 = controller name if exists controller + let componentRegex = /\.component[\s]*?\([\s]*?['"](prm.*?After)['"](?:(?:(?!\.component)[\s\S])*?controller[\s]*?:[\s]*?['"](.*)['"])?/g; + + if (dataString.match(componentRegex).length > 1) { + let arr = []; + let match; + while (match = componentRegex.exec(dataString)) { + arr.push(match[1]); + } + reject(new Error('Only one Primo hook allowed, you tried to use several: ' + arr.toString())); + } + + let match = componentRegex.exec(dataString); + + if (match) { + hookName = match[1]; + let controllerName = match[2]; // may be null + + dataString = dataString.replace(new RegExp(controllerName || '', 'g'), npmId + 'Controller'); + dataString = dataString.replace(new RegExp(hookName, 'g'), npmId); + } + + // remove wrapping function + let wrappingFunctionRegex = /\s*?\(\s*?function\s*?\(\s*?\)\s*?{\s*(?:["']use strict["'];\s*)?([\s\S]*)\s*?}\s*?\)\s*?\(\s*?\)\s*?;?/g; + if (match = wrappingFunctionRegex.exec(dataString)) { + dataString = dataString.replace(wrappingFunctionRegex, match[1]); + } + + // remove app declaration + // group 1 = app variable name + let appDeclarationViewOrCentralCustomRegex = /[\s]*(?:var|let)?[\s]*(.*?)[\s]*=[\s]*angular[\s]*\.module\([\s]*['"](?:view|central)Custom['"][\s]*,[\s]*\[['"]angularLoad['"]\]\);/g; + if (match = appDeclarationViewOrCentralCustomRegex.exec(dataString)) { + // remove matched line + dataString = dataString.replace(appDeclarationViewOrCentralCustomRegex, ''); + + // change all the occurrences of the variable to 'app' + let variableName = match[1]; + if (variableName !== 'app') { + let variableUseRegex = new RegExp('([[=(,]\\s*?)' + variableName + '([^\\w])|([^\\w])' + variableName + '(\\s*?[.)|\\]}=;])', 'gm'); + dataString = dataString.replace(variableUseRegex, '$1$3app$2$4'); + } + } + + // remove constant config if exists + // group 1 = config name + let studioConfigDeclerationRegex = /\.(?:constant|value|service|factory)[\s]*?\([\s]*['"](.*?StudioConfig)/g; + if (dataString.match(studioConfigDeclerationRegex)) { + dataString = dataString.replace(studioConfigDeclerationRegex, '$&DevenvTest'); + } + + // group 1 = module name + let moduleRegex = /\.module[\s]*?\([\s]*((?:').*?(?:')|(?:").*?(?:")|.*?)[\s]*?[),]/g; + + // push all modules + while (match = moduleRegex.exec(dataString)) { + dataString = dataString + '\napp.requires.push(' + match[1] + ');'; + } + + // write content to {{npmId}}.js + let wstream = fs.createWriteStream(directoryName + '/js/' + npmId + '.js'); + wstream.write(dataString); + wstream.end(); + + // delete custom.js file + fs.unlink(customJsPath, err1 => { + if (err1) { + reject(err1); + } + }); + + resolve(); + + }); + } else { + resolve(); + } + }); + } + + + function createDescriptorJson() { + return new Promise((resolve, reject) => { + let npmignorePath = directoryName + '/.npmignore'; + let descriptorJsonFileName = 'descriptor.json'; + let descriptorJsonPath = directoryName + '/' + descriptorJsonFileName; + + console.log("Creating '.npmignore' file\n"); + + // create .npmignore file with descriptor.json + let wstream = fs.createWriteStream(npmignorePath); + wstream.write(descriptorJsonFileName + '\n'); + wstream.end(); + + console.log("Creating 'descriptor.json' file\n"); + + // needed values for descriptor.json: face (image), notes (description), who (author), what (title), linkGit, npmid, version, hook + let descriptor = {'face': '', 'notes': '', 'who': '', 'what': '', 'linkGit': '', 'npmid': '', 'version': '', 'hook': hookName}; + + // get known values from package.json + fs.readFile(packageJsonPath, (err, data) => { + if (err) { + reject(err); + } + let packageJson = JSON.parse(data.toString()); + descriptor.notes = packageJson.description; + descriptor.who = packageJson.author.name || packageJson.author; // maybe empty, but is string + if (packageJson.repository) { + descriptor.linkGit = packageJson.repository.url || packageJson.repository; // maybe null + } + descriptor.npmid = packageJson.name; + descriptor.version = packageJson.version; + + // until here have: notes (description), who (author) {maybe}, linkGit {maybe}, npmid, version, hook + // need to ask for: face (image), who (author) {maybe}, what (title), linkGit {maybe} + + // ask for values not exists already + console.log("This utility will walk you through creating a 'descriptor.json' file.\n" + + "It only covers the most common items, and tries to guess sensible defaults."); + prompt.start(); + prompt.colors = false; + prompt.message = ''; + let properties = [ + { + name: 'what', + message: 'Enter title', + required: true, + default: descriptor.npmid + }, { + name: 'face', + message: 'Enter a link to photo of you', + required: true + } + ]; + + if (!descriptor.who) { + properties.push( + { + name: 'who', + message: 'Enter author/s name/s', + required: true + }); + } + + if (!descriptor.linkGit) { + properties.push( + { + name: 'linkGit', + message: 'Enter link to repository', + required: true + }); + } + + prompt.get(properties, (err, result) => { + if (err) { + reject(err); + } + + descriptor.what = result.what; + descriptor.face = result.face; + if (result.who) { + descriptor.who = result.who; + } + if (result.linkGit) { + descriptor.linkGit = result.linkGit; + } + + // create descriptor json with values + wstream = fs.createWriteStream(descriptorJsonPath); + wstream.write(JSON.stringify(descriptor)); + wstream.close(); + + resolve(); + }); + }); + }); + } + + + function announceFinishedProcess() { + console.log('\n'); + process.stdout.write('Finished compiling addon\n'); + console.log(''); + process.stdout.write(colors.green('Addon can be found at ' )); + process.stdout.write(colors.cyan(path.resolve('./addons/' + npmId))); + process.stdout.write(colors.green('.\nIn order to publish to NPM: Navigate to the addon folder. Review the \'package.json\' file. Then run \'npm publish\'.\n')); + process.stdout.write(colors.green('A basic descriptor for your addon was created in the file \'descriptor.json\'. Please review it and edit fields accordingly.\n')); + process.stdout.write(colors.green('When you are ready to publish to Primo-Studio, create a pull request at ')); + process.stdout.write(colors.cyan('https://github.com/primousers/primostudio/tree/submit_here')); + process.stdout.write(colors.green(' appending your descriptor to the \'features.json\' file.\n')); + } + + + function handleError(err) { + // if fails at any time - clean addon folder + if (directoryName) { + fs.unlink(directoryName); + } + console.error(err.message); + } })); \ No newline at end of file diff --git a/gulp/tasks/07-primo-node-modules.js b/gulp/tasks/07-primo-node-modules.js index 2f1fea420..9448f3362 100644 --- a/gulp/tasks/07-primo-node-modules.js +++ b/gulp/tasks/07-primo-node-modules.js @@ -1,70 +1,70 @@ -"use strict"; - -let config = require("../config.js"); -let del = require("del"); -let execSync = require('child_process').execSync; -let gulp = require("gulp"); -let gutil = require("gulp-util"); -let runSequence = require("gulp4-run-sequence"); - -/** - * Metatask that executes the two atomic tasks in order - * to re-install all primo-explore related node modules - * of the view package - * - * Will only execute the atomic tasks when the run task - * is called with the --reinstallNodeModules parameter - * - * e.g. gulp run --view [ViewName] --reinstallNodeModules - */ -gulp.task("reinstall-primo-node-modules", gulp.series('select-view', function(cb) { - if (config.getReinstallNodeModules()) { - runSequence("delete-primo-node-modules", "install-primo-node-modules", cb); - return; - } - cb(); -})); - -/** - * Deletes all primo-explore related node modules of the view package. - */ -gulp.task("delete-primo-node-modules", function(cb) { - gutil.log("Starting deletion of the view package's primo explore related node modules."); - - del.sync([ - config.buildParams.customNpmModuleRootDir() + "/primo-explore*" - ]); - - gutil.log("Finished deletion of the view package's primo explore related node modules."); - cb(); -}); - -/** - * Reinstalls all primo-explore related node modules of the view package by - * executing the "npm install" command. - * - * This requires that all relevant primo-explore modules need to be referenced - * in the package.json file in the root folder of the view package. - */ -gulp.task("install-primo-node-modules", function(cb) { - gutil.log("Starting re-installation of the view package's node modules using >npm install< command."); - - execSync('npm install', { - cwd: config.buildParams.viewRootDir() - }, function(error, stdout, stderr) { - if (error) { - gutil.log(error); - } - - if (stdout) { - gutil.log(stdout); - } - - if (stderr) { - gutil.log(stderr); - } - }); - - gutil.log("Finished re-installation of the view package's node modules using >npm install< command."); - cb(); -}); +"use strict"; + +let config = require("../config.js"); +let del = require("del"); +let execSync = require('child_process').execSync; +let gulp = require("gulp"); +let gutil = require("gulp-util"); +let runSequence = require("gulp4-run-sequence"); + +/** + * Metatask that executes the two atomic tasks in order + * to re-install all primo-explore related node modules + * of the view package + * + * Will only execute the atomic tasks when the run task + * is called with the --reinstallNodeModules parameter + * + * e.g. gulp run --view [ViewName] --reinstallNodeModules + */ +gulp.task("reinstall-primo-node-modules", gulp.series('select-view', function(cb) { + if (config.getReinstallNodeModules()) { + runSequence("delete-primo-node-modules", "install-primo-node-modules", cb); + return; + } + cb(); +})); + +/** + * Deletes all primo-explore related node modules of the view package. + */ +gulp.task("delete-primo-node-modules", function(cb) { + gutil.log("Starting deletion of the view package's primo explore related node modules."); + + del.sync([ + config.buildParams.customNpmModuleRootDir() + "/primo-explore*" + ]); + + gutil.log("Finished deletion of the view package's primo explore related node modules."); + cb(); +}); + +/** + * Reinstalls all primo-explore related node modules of the view package by + * executing the "npm install" command. + * + * This requires that all relevant primo-explore modules need to be referenced + * in the package.json file in the root folder of the view package. + */ +gulp.task("install-primo-node-modules", function(cb) { + gutil.log("Starting re-installation of the view package's node modules using >npm install< command."); + + execSync('npm install', { + cwd: config.buildParams.viewRootDir() + }, function(error, stdout, stderr) { + if (error) { + gutil.log(error); + } + + if (stdout) { + gutil.log(stdout); + } + + if (stderr) { + gutil.log(stderr); + } + }); + + gutil.log("Finished re-installation of the view package's node modules using >npm install< command."); + cb(); +}); diff --git a/gulp/tasks/08-servers.js b/gulp/tasks/08-servers.js index 3e2574f0e..b30af3be7 100644 --- a/gulp/tasks/08-servers.js +++ b/gulp/tasks/08-servers.js @@ -1,126 +1,126 @@ -'use strict'; - -let gulp = require('gulp'); -let zip = require('gulp-zip'); -let config = require('../config'); -let http = require('http'); -let https = require('https'); -let util = require('util'); -let browserSyncManager = require('../browserSyncManager'); -let primoProxy = require('../primoProxy'); -let glob = require('glob'); -let prompt = require('prompt'); -let runSequence = require('gulp4-run-sequence'); - - - -gulp.task('setup_watchers', gulp.series('select-view', 'watch-js', 'watch-custom-scss', 'watch-css', (cb) => { - gulp.watch(config.buildParams.customPath(),(cb) => { - cb(); - return browserSyncManager.reloadServer(); - }); - gulp.watch(config.buildParams.customCssPath(),(cb) => { - cb(); - return gulp.src(config.buildParams.customCssPath()) - .pipe(browserSyncManager.streamToServer()); - }); - cb(); -})); - - - -gulp.task('connect:primo_explore', gulp.series('select-view', function(cb) { - let appName = 'primo-explore'; - browserSyncManager.startServer({ - label: 'production', - middleware:[ - function(req,res,next) { - let confPath = config.getVe() ? '/primaws/rest/pub/configuration' : '/primo_library/libweb/webservices/rest/v1/configuration'; - let confAsJsPath = '/primo-explore/config_'; - - let fixConfiguration = function(res,res1,isConfByFile){ - - let body = ''; - - res1.setEncoding('utf8'); - - res1.on("data", function(chunk) { - body = body + chunk; - }); - - res1.on("end", function(){ - let vid = config.view() || ''; - let customizationProxy = primoProxy.getCustimazationObject(vid,appName); - - if(isConfByFile){ - res.end(''); - - }else{ - let jsonBody = JSON.parse(body); - let newBodyObject = jsonBody; - - newBodyObject.customization = customizationProxy; - let newBody = JSON.stringify(newBodyObject); - - res.body = newBody; - - /*console.log('newBody: ' +newBody);*/ - res.end(newBody); - } - - - }); - } - - if(req.url.startsWith(confAsJsPath) || req.url.startsWith(confPath)) { - let isConfByFile = false; - if(req.url.startsWith(confAsJsPath)){ - isConfByFile = true; - } - - let url = config.PROXY_SERVER+req.url; - let base = config.PROXY_SERVER.replace('http:\/\/','').replace('https:\/\/',''); - let method = config.PROXY_SERVER.split('://')[0]; - let parts = base.split(':'); - let hostname = parts[0]; - let port = parts[1]; - - - let options = { - hostname: hostname, - port: port, - path: req.url, - method: 'GET', - headers: { - 'X-From-ExL-API-Gateway' : '1' - } - }; - let requestObject = http; - if(method === 'https') { - requestObject = https; - } - let req2 = requestObject.request(options, (res1) => { - fixConfiguration(res, res1,isConfByFile); - }); - req2.on('error', (e) => { - next(); - }); - - req2.write(''); - req2.end(); - - } - else { - next(); - } - - }, - primoProxy.proxy_function()], - port: 8003, - baseDir: appName - }); - cb(); -})); - - -gulp.task('run', gulp.series('select-view', 'connect:primo_explore','reinstall-primo-node-modules','setup_watchers','custom-js','custom-scss','custom-css')); //watch +'use strict'; + +let gulp = require('gulp'); +let zip = require('gulp-zip'); +let config = require('../config'); +let http = require('http'); +let https = require('https'); +let util = require('util'); +let browserSyncManager = require('../browserSyncManager'); +let primoProxy = require('../primoProxy'); +let glob = require('glob'); +let prompt = require('prompt'); +let runSequence = require('gulp4-run-sequence'); + + + +gulp.task('setup_watchers', gulp.series('select-view', 'watch-js', 'watch-custom-scss', 'watch-css', (cb) => { + gulp.watch(config.buildParams.customPath(),(cb) => { + cb(); + return browserSyncManager.reloadServer(); + }); + gulp.watch(config.buildParams.customCssPath(),(cb) => { + cb(); + return gulp.src(config.buildParams.customCssPath()) + .pipe(browserSyncManager.streamToServer()); + }); + cb(); +})); + + + +gulp.task('connect:primo_explore', gulp.series('select-view', function(cb) { + let appName = 'primo-explore'; + browserSyncManager.startServer({ + label: 'production', + middleware:[ + function(req,res,next) { + let confPath = config.getVe() ? '/primaws/rest/pub/configuration' : '/primo_library/libweb/webservices/rest/v1/configuration'; + let confAsJsPath = '/primo-explore/config_'; + + let fixConfiguration = function(res,res1,isConfByFile){ + + let body = ''; + + res1.setEncoding('utf8'); + + res1.on("data", function(chunk) { + body = body + chunk; + }); + + res1.on("end", function(){ + let vid = config.view() || ''; + let customizationProxy = primoProxy.getCustimazationObject(vid,appName); + + if(isConfByFile){ + res.end(''); + + }else{ + let jsonBody = JSON.parse(body); + let newBodyObject = jsonBody; + + newBodyObject.customization = customizationProxy; + let newBody = JSON.stringify(newBodyObject); + + res.body = newBody; + + /*console.log('newBody: ' +newBody);*/ + res.end(newBody); + } + + + }); + } + + if(req.url.startsWith(confAsJsPath) || req.url.startsWith(confPath)) { + let isConfByFile = false; + if(req.url.startsWith(confAsJsPath)){ + isConfByFile = true; + } + + let url = config.PROXY_SERVER+req.url; + let base = config.PROXY_SERVER.replace('http:\/\/','').replace('https:\/\/',''); + let method = config.PROXY_SERVER.split('://')[0]; + let parts = base.split(':'); + let hostname = parts[0]; + let port = parts[1]; + + + let options = { + hostname: hostname, + port: port, + path: req.url, + method: 'GET', + headers: { + 'X-From-ExL-API-Gateway' : '1' + } + }; + let requestObject = http; + if(method === 'https') { + requestObject = https; + } + let req2 = requestObject.request(options, (res1) => { + fixConfiguration(res, res1,isConfByFile); + }); + req2.on('error', (e) => { + next(); + }); + + req2.write(''); + req2.end(); + + } + else { + next(); + } + + }, + primoProxy.proxy_function()], + port: 8003, + baseDir: appName + }); + cb(); +})); + + +gulp.task('run', gulp.series('select-view', 'connect:primo_explore','reinstall-primo-node-modules','setup_watchers','custom-js','custom-scss','custom-css')); //watch diff --git a/gulp/tasks/09-images.js b/gulp/tasks/09-images.js index 33059521f..c8e3ec426 100644 --- a/gulp/tasks/09-images.js +++ b/gulp/tasks/09-images.js @@ -1,17 +1,17 @@ -'use strict'; - -const gulp = require('gulp'); -const flatten = require('gulp-flatten'); -const config = require('../config.js'); - -let buildParams = config.buildParams; - -gulp.task('watch-img', () => { - gulp.watch([buildParams.viewImgDir(), '!'+buildParams.customNpmImgPath()], {interval: 1000, usePolling: true}, gulp.series('custom-img')); -}); - -gulp.task('custom-img', () => { - return gulp.src(buildParams.customNpmImgPath()) - .pipe(flatten()) - .pipe(gulp.dest(buildParams.viewImgDir())); -}); +'use strict'; + +const gulp = require('gulp'); +const flatten = require('gulp-flatten'); +const config = require('../config.js'); + +let buildParams = config.buildParams; + +gulp.task('watch-img', () => { + gulp.watch([buildParams.viewImgDir(), '!'+buildParams.customNpmImgPath()], {interval: 1000, usePolling: true}, gulp.series('custom-img')); +}); + +gulp.task('custom-img', () => { + return gulp.src(buildParams.customNpmImgPath()) + .pipe(flatten()) + .pipe(gulp.dest(buildParams.viewImgDir())); +}); diff --git a/gulp/tasks/10-create-package.js b/gulp/tasks/10-create-package.js index 0771f44f5..5a19e24c5 100644 --- a/gulp/tasks/10-create-package.js +++ b/gulp/tasks/10-create-package.js @@ -1,19 +1,19 @@ -'use strict'; -const gulp = require('gulp'); -const glob = require('glob'); -const prompt = require('prompt'); -const zip = require('gulp-zip'); -const config = require('../config.js'); - -gulp.task('create-package', gulp.series('select-view', 'custom-js','custom-scss','custom-css', function (cb) { - const code = config.view(); - console.log('Creating package for : ('+code+'.zip)'); - console.log(code); - console.log(' in : /packages'); - console.log('\r\n'); - console.log('............................................................................................................................................'); - return gulp.src(['./primo-explore/custom/'+code,'./primo-explore/custom/'+code+'/html/**','./primo-explore/custom/'+code+'/img/**','./primo-explore/custom/'+code+'/css/custom1.css','./primo-explore/custom/'+code+'/js/custom.js'], {base: './primo-explore/custom'}) - .pipe(zip(code+'.zip')) - .pipe(gulp.dest('./packages/')); - cb(); -})); +'use strict'; +const gulp = require('gulp'); +const glob = require('glob'); +const prompt = require('prompt'); +const zip = require('gulp-zip'); +const config = require('../config.js'); + +gulp.task('create-package', gulp.series('select-view', 'custom-js','custom-scss','custom-css', function (cb) { + const code = config.view(); + console.log('Creating package for : ('+code+'.zip)'); + console.log(code); + console.log(' in : /packages'); + console.log('\r\n'); + console.log('............................................................................................................................................'); + return gulp.src(['./primo-explore/custom/'+code,'./primo-explore/custom/'+code+'/html/**','./primo-explore/custom/'+code+'/img/**','./primo-explore/custom/'+code+'/css/custom1.css','./primo-explore/custom/'+code+'/js/custom.js'], {base: './primo-explore/custom'}) + .pipe(zip(code+'.zip')) + .pipe(gulp.dest('./packages/')); + cb(); +})); diff --git a/gulpfile.js b/gulpfile.js index f264be801..fa0433d29 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,19 +1,19 @@ - -const gulp = require('gulp'); -const minimist = require('minimist'); -const requireDir = require('require-dir'); -requireDir('./gulp/tasks', { recurse: true }); -const config = require('./gulp/config'); - - -var options = minimist(process.argv.slice(2)); -config.setView(options.view); -config.setVe(!!options.ve); -if (options.reinstallNodeModules) config.setReinstallNodeModules(options.reinstallNodeModules); -if (options.proxy) config.setProxy(options.proxy); -if (options.useScss) config.setUseScss(options.useScss); -config.setBrowserify(options.browserify); -config.setSaml(options.saml); -config.setCas(options.cas); - + +const gulp = require('gulp'); +const minimist = require('minimist'); +const requireDir = require('require-dir'); +requireDir('./gulp/tasks', { recurse: true }); +const config = require('./gulp/config'); + + +var options = minimist(process.argv.slice(2)); +config.setView(options.view); +config.setVe(!!options.ve); +if (options.reinstallNodeModules) config.setReinstallNodeModules(options.reinstallNodeModules); +if (options.proxy) config.setProxy(options.proxy); +if (options.useScss) config.setUseScss(options.useScss); +config.setBrowserify(options.browserify); +config.setSaml(options.saml); +config.setCas(options.cas); + process.env.NODE_ENV = process.env.NODE_ENV || options.environment || 'production'; \ No newline at end of file diff --git a/images/icon_article.png b/images/icon_article.png index 273256912..5124b26fb 100644 --- a/images/icon_article.png +++ b/images/icon_article.png @@ -1,1875 +1,1875 @@ - - - - - - News, newspaper, the daily news, tv icon | Icon search engine - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -

- Alessandro Rei -

- - -
- Visit website -
- - -
-
-
-
-
- -
-
- news, newspaper, the daily news, tv icon -
-
-
-
- - - - - -
-
-

- Dark Glass - - 811 raster icons -
- - View all icons in icon set - - - - 4 comments - -

- -
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 
- - -
-
-
- -
-
-
- -

Related icons

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
 
- -
-
-
-
- - - - - -
- - + + + + + + News, newspaper, the daily news, tv icon | Icon search engine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +

+ Alessandro Rei +

+ + +
+ Visit website +
+ + +
+
+
+
+
+ +
+
+ news, newspaper, the daily news, tv icon +
+
+
+
+ + + + + +
+
+

+ Dark Glass - + 811 raster icons +
+ + View all icons in icon set + + + + 4 comments + +

+ +
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
 
+ + +
+
+
+ +
+
+
+ +

Related icons

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
 
+ +
+
+
+
+ + + + + +
+ + \ No newline at end of file diff --git a/node_modules/.gitignore b/node_modules/.gitignore index 86d0cb272..44c5ea8fa 100644 --- a/node_modules/.gitignore +++ b/node_modules/.gitignore @@ -1,4 +1,4 @@ -# Ignore everything in this directory -* -# Except this file +# Ignore everything in this directory +* +# Except this file !.gitignore \ No newline at end of file diff --git a/package.json b/package.json index 9c2810b54..3fe734aa3 100644 --- a/package.json +++ b/package.json @@ -1,75 +1,75 @@ -{ - "name": "primo-explore-devenv", - "version": "1.1.0", - "description": "The Exlibris Primo Open Discovery Framework", - "author": "noamamit92", - "devDependencies": { - "babel-core": "6.26.3", - "babel-plugin-angularjs-annotate": "0.8.2", - "babel-plugin-transform-define": "^1.3.1", - "babel-plugin-transform-html-import-to-string": "0.0.1", - "babel-preset-env": "1.7.0", - "babel-preset-es2015": "^6.24.1", - "babel-preset-stage-2": "^6.24.1", - "babelify": "8.0.0", - "bluebird": "3.5.4", - "browser-sync": "2.9.9", - "browserify": "16.2.3", - "camel-case": "^3.0.0", - "colors": "^1.3.3", - "concat-stream": "^2.0.0", - "connect-modrewrite": "0.10.2", - "css": "^2.2.4", - "css-color-extractor": "0.0.5", - "css-color-extractor-cli": "0.0.2", - "del": "4.1.1", - "fs-extra": "7.0.1", - "glob": "7.1.3", - "graceful-fs": "4.1.15", - "gulp": "4.0.2", - "gulp-angular-templatecache": "^2.2.7", - "gulp-autoprefixer": "6.1.0", - "gulp-babel": "7.0.1", - "gulp-clone": "2.0.1", - "gulp-concat": "2.6.1", - "gulp-cssnano": "^2.1.3", - "gulp-debug": "4.0.0", - "gulp-flatten": "^0.4.0", - "gulp-plumber": "1.2.0", - "gulp-rename": "1.4.0", - "gulp-sass": "^5.1.0", - "gulp-sourcemaps": "2.6.5", - "gulp-streamify": "1.0.2", - "gulp-template": "5.0.0", - "gulp-uglify": "3.0.2", - "gulp-util": "3.0.8", - "gulp-wrap": "^0.15.0", - "gulp-zip": "4.2.0", - "gulp4-run-sequence": "^1.0.1", - "http-response-object": "3.0.2", - "listdirs": "3.1.1", - "lodash": "4.17.19", - "merge-stream": "1.0.1", - "minimatch": "3.0.4", - "minimist": "1.2.5", - "prompt": "1.0.0", - "protractor": "5.4.2", - "protractor-image-comparison": "3.1.0", - "request": "^2.88.0", - "require-dir": "1.2.0", - "run-sequence": "^2.2.1", - "shelljs": "0.8.3", - "stream-to-promise": "^2.2.0", - "tar-fs": "2.0.0", - "vinyl-buffer": "1.0.1", - "vinyl-source-stream": "2.0.0" - }, - "engines": { - "node": ">=16.17.0" - }, - "browserslist": [ - "last 2 version", - "> 2%" - ], - "repository": "https://github.com/ExLibrisGroup/primo-explore-devenv" -} +{ + "name": "primo-explore-devenv", + "version": "1.1.0", + "description": "The Exlibris Primo Open Discovery Framework", + "author": "noamamit92", + "devDependencies": { + "babel-core": "6.26.3", + "babel-plugin-angularjs-annotate": "0.8.2", + "babel-plugin-transform-define": "^1.3.1", + "babel-plugin-transform-html-import-to-string": "0.0.1", + "babel-preset-env": "1.7.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-stage-2": "^6.24.1", + "babelify": "8.0.0", + "bluebird": "3.5.4", + "browser-sync": "2.9.9", + "browserify": "16.2.3", + "camel-case": "^3.0.0", + "colors": "^1.3.3", + "concat-stream": "^2.0.0", + "connect-modrewrite": "0.10.2", + "css": "^2.2.4", + "css-color-extractor": "0.0.5", + "css-color-extractor-cli": "0.0.2", + "del": "4.1.1", + "fs-extra": "7.0.1", + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "gulp": "4.0.2", + "gulp-angular-templatecache": "^2.2.7", + "gulp-autoprefixer": "6.1.0", + "gulp-babel": "7.0.1", + "gulp-clone": "2.0.1", + "gulp-concat": "2.6.1", + "gulp-cssnano": "^2.1.3", + "gulp-debug": "4.0.0", + "gulp-flatten": "^0.4.0", + "gulp-plumber": "1.2.0", + "gulp-rename": "1.4.0", + "gulp-sass": "^5.1.0", + "gulp-sourcemaps": "2.6.5", + "gulp-streamify": "1.0.2", + "gulp-template": "5.0.0", + "gulp-uglify": "3.0.2", + "gulp-util": "3.0.8", + "gulp-wrap": "^0.15.0", + "gulp-zip": "4.2.0", + "gulp4-run-sequence": "^1.0.1", + "http-response-object": "3.0.2", + "listdirs": "3.1.1", + "lodash": "4.17.19", + "merge-stream": "1.0.1", + "minimatch": "3.0.4", + "minimist": "1.2.5", + "prompt": "1.0.0", + "protractor": "5.4.2", + "protractor-image-comparison": "3.1.0", + "request": "^2.88.0", + "require-dir": "1.2.0", + "run-sequence": "^2.2.1", + "shelljs": "0.8.5", + "stream-to-promise": "^2.2.0", + "tar-fs": "2.0.0", + "vinyl-buffer": "1.0.1", + "vinyl-source-stream": "2.0.0" + }, + "engines": { + "node": ">=16.17.0" + }, + "browserslist": [ + "last 2 version", + "> 2%" + ], + "repository": "https://github.com/ExLibrisGroup/primo-explore-devenv" +} diff --git a/packages/.gitignore b/packages/.gitignore index 86d0cb272..44c5ea8fa 100644 --- a/packages/.gitignore +++ b/packages/.gitignore @@ -1,4 +1,4 @@ -# Ignore everything in this directory -* -# Except this file +# Ignore everything in this directory +* +# Except this file !.gitignore \ No newline at end of file diff --git a/parse_css.js b/parse_css.js index 455aed00c..e471170df 100644 --- a/parse_css.js +++ b/parse_css.js @@ -1,28 +1,28 @@ -'use strict'; - -let css = require('css'); -let fs = require('fs'); - -let file = './primo-explore/lib/app-edb918fbd4.css'; -let cssContent = fs.readFileSync(file, {encoding: 'utf8'}); -let obj = css.parse(cssContent,{source: file}); - - - - -let colorRules = []; -for(let rule of obj.stylesheet.rules) { - if(!rule.declarations) { - continue; - } - let colorDeclarations = rule.declarations.filter(f => f.property && f.property.includes('color')); - if(!colorDeclarations.length) { - continue; - } - rule.declarations = colorDeclarations; - colorRules.push(rule); -} - -obj.stylesheet.rules = colorRules; - +'use strict'; + +let css = require('css'); +let fs = require('fs'); + +let file = './primo-explore/lib/app-edb918fbd4.css'; +let cssContent = fs.readFileSync(file, {encoding: 'utf8'}); +let obj = css.parse(cssContent,{source: file}); + + + + +let colorRules = []; +for(let rule of obj.stylesheet.rules) { + if(!rule.declarations) { + continue; + } + let colorDeclarations = rule.declarations.filter(f => f.property && f.property.includes('color')); + if(!colorDeclarations.length) { + continue; + } + rule.declarations = colorDeclarations; + colorRules.push(rule); +} + +obj.stylesheet.rules = colorRules; + console.log(css.stringify(obj)); \ No newline at end of file diff --git a/primo-explore/custom/.gitignore b/primo-explore/custom/.gitignore index f863544db..b3ba1e3ae 100644 --- a/primo-explore/custom/.gitignore +++ b/primo-explore/custom/.gitignore @@ -1 +1 @@ -# Add entries to prefixed with '!' to unhide your view files \ No newline at end of file +# Add entries to prefixed with '!' to unhide your view files diff --git a/primo-explore/custom/01MIT_INST-TACOS/colors.json.txt b/primo-explore/custom/01MIT_INST-TACOS/colors.json.txt new file mode 100644 index 000000000..fb0ae3c2e --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/colors.json.txt @@ -0,0 +1 @@ +{"primary":"#333333","secondary":"#0000ff","backgroundColor":"#ffffff","links":"#0000ff","warning":"#FF7700","positive":"#0000ff","negative":"#595959","notice":"#FF7700"} \ No newline at end of file diff --git a/primo-explore/custom/01MIT_INST-TACOS/css/custom1.css b/primo-explore/custom/01MIT_INST-TACOS/css/custom1.css new file mode 100644 index 000000000..9e3e75ef5 --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/css/custom1.css @@ -0,0 +1,3054 @@ +/* Sandbox primary color hook */ + +.md-button { + color: #3a3a3a; +} + +.md-button:hover:not([disabled]), +.md-button:focus:not([disabled]), +.md-button.hovered:not([disabled]), +.md-button.md-focused:not([disabled]), +.md-button._md-focused:not([disabled]) { + color: white; + background-color: #3a3a3a; +} + +.light-on-dark-dialog .md-button { + color: white; +} + +.light-on-dark-dialog .md-button:hover:not([disabled]), +.light-on-dark-dialog .md-button:focus:not([disabled]), +.light-on-dark-dialog .md-button.hovered:not([disabled]), +.light-on-dark-dialog .md-button.md-focused:not([disabled]), +.light-on-dark-dialog .md-button._md-focused:not([disabled]) { + color: #cc006d; + background-color: white; +} + +.light-on-dark-dialog .hoverable-over-dark:not(.disable-hover) .md-button, +.light-on-dark-dialog .md-button.button-over-dark:not(.disable-hover) .md-button, +.light-on-dark-dialog prm-user-area .md-button.user-menu-button:not(.disable-hover) .md-button, +prm-user-area .light-on-dark-dialog .md-button.user-menu-button:not(.disable-hover) .md-button, +.light-on-dark-dialog prm-topbar .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button, +prm-topbar .light-on-dark-dialog .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):hover .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):hover .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):focus .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):focus .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button.md-focused:not(.disable-hover) .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button.md-focused:not(.disable-hover) .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button md-select:not(.disable-hover):focus .md-button, +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button, +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):hover .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):hover .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):focus .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):focus .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item.md-focused:not(.disable-hover) .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item.md-focused:not(.disable-hover) .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item md-select:not(.disable-hover):focus .md-button, +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button, +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):hover .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):hover .md-button, +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):focus .md-button, +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):focus .md-button, +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item .md-button:not(.disable-hover) .md-button, +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button, +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item .md-button:not(.disable-hover) .md-button, +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button, +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item md-input-container:not(.disable-hover) .md-button, +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button, +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item md-input-container:not(.disable-hover) .md-button, +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button { + color: white; +} + +.light-on-dark-dialog .hoverable-over-dark:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog .md-button.button-over-dark:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-user-area .md-button.user-menu-button:not(.disable-hover) .md-button:hover:not([disabled]), +prm-user-area .light-on-dark-dialog .md-button.user-menu-button:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-topbar .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button:hover:not([disabled]), +prm-topbar .light-on-dark-dialog .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):hover .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):hover .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):focus .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):focus .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button.md-focused:not(.disable-hover) .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button.md-focused:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button md-select:not(.disable-hover):focus .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):hover .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):hover .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):focus .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):focus .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item.md-focused:not(.disable-hover) .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item.md-focused:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item md-select:not(.disable-hover):focus .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):hover .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):hover .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):focus .md-button:hover:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):focus .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item .md-button:not(.disable-hover) .md-button:hover:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item .md-button:not(.disable-hover) .md-button:hover:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item md-input-container:not(.disable-hover) .md-button:hover:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item md-input-container:not(.disable-hover) .md-button:hover:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button:hover:not([disabled]), +.light-on-dark-dialog .hoverable-over-dark:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog .md-button.button-over-dark:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-user-area .md-button.user-menu-button:not(.disable-hover) .md-button:focus:not([disabled]), +prm-user-area .light-on-dark-dialog .md-button.user-menu-button:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-topbar .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button:focus:not([disabled]), +prm-topbar .light-on-dark-dialog .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):hover .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):hover .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):focus .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):focus .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button.md-focused:not(.disable-hover) .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button.md-focused:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button md-select:not(.disable-hover):focus .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):hover .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):hover .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):focus .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):focus .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item.md-focused:not(.disable-hover) .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item.md-focused:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item md-select:not(.disable-hover):focus .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):hover .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):hover .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):focus .md-button:focus:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):focus .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item .md-button:not(.disable-hover) .md-button:focus:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item .md-button:not(.disable-hover) .md-button:focus:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item md-input-container:not(.disable-hover) .md-button:focus:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item md-input-container:not(.disable-hover) .md-button:focus:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button:focus:not([disabled]), +.light-on-dark-dialog .hoverable-over-dark:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog .md-button.button-over-dark:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-user-area .md-button.user-menu-button:not(.disable-hover) .md-button.hovered:not([disabled]), +prm-user-area .light-on-dark-dialog .md-button.user-menu-button:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-topbar .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button.hovered:not([disabled]), +prm-topbar .light-on-dark-dialog .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):hover .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):hover .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):focus .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):focus .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button.md-focused:not(.disable-hover) .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button.md-focused:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button md-select:not(.disable-hover):focus .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):hover .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):hover .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):focus .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):focus .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item.md-focused:not(.disable-hover) .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item.md-focused:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item md-select:not(.disable-hover):focus .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):hover .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):hover .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):focus .md-button.hovered:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):focus .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item .md-button:not(.disable-hover) .md-button.hovered:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item .md-button:not(.disable-hover) .md-button.hovered:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item md-input-container:not(.disable-hover) .md-button.hovered:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item md-input-container:not(.disable-hover) .md-button.hovered:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button.hovered:not([disabled]), +.light-on-dark-dialog .hoverable-over-dark:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog .md-button.button-over-dark:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area .md-button.user-menu-button:not(.disable-hover) .md-button.md-focused:not([disabled]), +prm-user-area .light-on-dark-dialog .md-button.user-menu-button:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-topbar .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button.md-focused:not([disabled]), +prm-topbar .light-on-dark-dialog .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):hover .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):hover .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button.md-focused:not(.disable-hover) .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button.md-focused:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button md-select:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):hover .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):hover .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item.md-focused:not(.disable-hover) .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item.md-focused:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item md-select:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):hover .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):hover .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):focus .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item .md-button:not(.disable-hover) .md-button.md-focused:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item .md-button:not(.disable-hover) .md-button.md-focused:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item md-input-container:not(.disable-hover) .md-button.md-focused:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item md-input-container:not(.disable-hover) .md-button.md-focused:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button.md-focused:not([disabled]), +.light-on-dark-dialog .hoverable-over-dark:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog .md-button.button-over-dark:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area .md-button.user-menu-button:not(.disable-hover) .md-button._md-focused:not([disabled]), +prm-user-area .light-on-dark-dialog .md-button.user-menu-button:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-topbar .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button._md-focused:not([disabled]), +prm-topbar .light-on-dark-dialog .md-button:not(.disable-hover):not(.close-btn-favorits-warning-message) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):hover .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):hover .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button.md-focused:not(.disable-hover) .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .md-button.md-focused:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button md-select:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .md-button .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .md-button .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):hover .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):hover .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item.md-focused:not(.disable-hover) .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog .overlay-menu-item.md-focused:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item md-select:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog md-select:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] .overlay-menu-item .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .overlay-menu-item .light-on-dark-dialog .md-input-container-dummy>.md-select-dummy:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):hover .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):hover .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-main-menu[menu-type="full"] md-button:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +prm-main-menu[menu-type="full"] .light-on-dark-dialog md-button:not(.disable-hover):focus .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item .md-button:not(.disable-hover) .md-button._md-focused:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item .md-button:not(.disable-hover) .md-button._md-focused:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog .md-button:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar .md-fab-action-item md-input-container:not(.disable-hover) .md-button._md-focused:not([disabled]), +prm-user-area md-fab-toolbar .md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button._md-focused:not([disabled]), +.light-on-dark-dialog prm-user-area md-fab-toolbar ._md-fab-action-item md-input-container:not(.disable-hover) .md-button._md-focused:not([disabled]), +prm-user-area md-fab-toolbar ._md-fab-action-item .light-on-dark-dialog md-input-container:not(.disable-hover) .md-button._md-focused:not([disabled]) { + color: #cc006d; + background-color: white; +} + +.md-button.md-primary { + color: #0000FF; +} + +.md-button.md-primary:hover:not([disabled]), +.md-button.md-primary:focus:not([disabled]), +.md-button.md-primary.hovered:not([disabled]), +.md-button.md-primary.md-focused:not([disabled]), +.md-button.md-primary._md-focused:not([disabled]) { + color: white; + background-color: #0000FF; +} + +.md-button.md-secondary { + color: #0000FF; +} + +.md-button.md-secondary:hover:not([disabled]), +.md-button.md-secondary:focus:not([disabled]), +.md-button.md-secondary.hovered:not([disabled]), +.md-button.md-secondary.md-focused:not([disabled]), +.md-button.md-secondary._md-focused:not([disabled]) { + color: white; + background-color: #0000FF; +} + +.md-button.button-confirm, +.service-form-static-panel button.button-confirm prm-icon+span, +.service-form-static-panel button.button-confirm prm-icon svg path { + color: #0000FF; +} + +.md-button.button-confirm:hover:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon+span:hover:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg path:hover:not([disabled]), +.md-button.button-confirm:focus:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon+span:focus:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg path:focus:not([disabled]), +.md-button.button-confirm.hovered:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon+span.hovered:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg path.hovered:not([disabled]), +.md-button.button-confirm.md-focused:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon+span.md-focused:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg path.md-focused:not([disabled]), +.md-button.button-confirm._md-focused:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon+span._md-focused:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg path._md-focused:not([disabled]) { + color: white; + background-color: #0000FF; +} + +.light-on-dark-dialog .md-button.button-confirm, +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon+span, +.service-form-static-panel button.button-confirm .light-on-dark-dialog prm-icon+span, +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon svg path, +.service-form-static-panel button.button-confirm prm-icon svg .light-on-dark-dialog path { + color: #33FFFF; +} + +.light-on-dark-dialog .md-button.button-confirm:hover:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon+span:hover:not([disabled]), +.service-form-static-panel button.button-confirm .light-on-dark-dialog prm-icon+span:hover:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon svg path:hover:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg .light-on-dark-dialog path:hover:not([disabled]), +.light-on-dark-dialog .md-button.button-confirm:focus:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon+span:focus:not([disabled]), +.service-form-static-panel button.button-confirm .light-on-dark-dialog prm-icon+span:focus:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon svg path:focus:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg .light-on-dark-dialog path:focus:not([disabled]), +.light-on-dark-dialog .md-button.button-confirm.hovered:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon+span.hovered:not([disabled]), +.service-form-static-panel button.button-confirm .light-on-dark-dialog prm-icon+span.hovered:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon svg path.hovered:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg .light-on-dark-dialog path.hovered:not([disabled]), +.light-on-dark-dialog .md-button.button-confirm.md-focused:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon+span.md-focused:not([disabled]), +.service-form-static-panel button.button-confirm .light-on-dark-dialog prm-icon+span.md-focused:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon svg path.md-focused:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg .light-on-dark-dialog path.md-focused:not([disabled]), +.light-on-dark-dialog .md-button.button-confirm._md-focused:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon+span._md-focused:not([disabled]), +.service-form-static-panel button.button-confirm .light-on-dark-dialog prm-icon+span._md-focused:not([disabled]), +.light-on-dark-dialog .service-form-static-panel button.button-confirm prm-icon svg path._md-focused:not([disabled]), +.service-form-static-panel button.button-confirm prm-icon svg .light-on-dark-dialog path._md-focused:not([disabled]) { + color: #cc006d; + background-color: white; +} + +.md-button.button-notice { + color: #FF7700; +} + +.md-button.button-notice:hover:not([disabled]), +.md-button.button-notice:focus:not([disabled]), +.md-button.button-notice.hovered:not([disabled]), +.md-button.button-notice.md-focused:not([disabled]), +.md-button.button-notice._md-focused:not([disabled]) { + color: white; + background-color: #FF7700; +} + +.md-button.button-prompt { + color: #FFFCC4; +} + +.md-button.button-prompt:hover:not([disabled]), +.md-button.button-prompt:focus:not([disabled]), +.md-button.button-prompt.hovered:not([disabled]), +.md-button.button-prompt.md-focused:not([disabled]), +.md-button.button-prompt._md-focused:not([disabled]) { + color: #cc006d; + background-color: white; +} + +.md-button.button-warn { + color: #8f4300; +} + +.md-button.button-warn:hover:not([disabled]), +.md-button.button-warn:focus:not([disabled]), +.md-button.button-warn.hovered:not([disabled]), +.md-button.button-warn.md-focused:not([disabled]), +.md-button.button-warn._md-focused:not([disabled]) { + color: white; + background-color: #8f4300; +} + +.md-button.button-link, +md-grid-tile .tile-content>.md-button, +.tiles-grid-tile .tile-content>.md-button { + color: #0000FF; + box-shadow: none; +} + +.md-button.button-link:hover:not([disabled]), +md-grid-tile .tile-content>.md-button:hover:not([disabled]), +.tiles-grid-tile .tile-content>.md-button:hover:not([disabled]), +.md-button.button-link:focus:not([disabled]), +md-grid-tile .tile-content>.md-button:focus:not([disabled]), +.tiles-grid-tile .tile-content>.md-button:focus:not([disabled]), +.md-button.button-link.hovered:not([disabled]), +md-grid-tile .tile-content>.md-button.hovered:not([disabled]), +.tiles-grid-tile .tile-content>.md-button.hovered:not([disabled]), +.md-button.button-link.md-focused:not([disabled]), +md-grid-tile .tile-content>.md-button.md-focused:not([disabled]), +.tiles-grid-tile .tile-content>.md-button.md-focused:not([disabled]), +.md-button.button-link._md-focused:not([disabled]), +md-grid-tile .tile-content>.md-button._md-focused:not([disabled]), +.tiles-grid-tile .tile-content>.md-button._md-focused:not([disabled]) { + color: white; + background-color: #0000FF; +} + +.md-button.button-link.link-alt-color, +.section-title prm-icon.md-button.button-link, +.section-title md-grid-tile .tile-content>prm-icon.md-button, +md-grid-tile .section-title .tile-content>prm-icon.md-button, +.section-title .tiles-grid-tile .tile-content>prm-icon.md-button, +.tiles-grid-tile .section-title .tile-content>prm-icon.md-button, +md-grid-tile .tile-content>.md-button.link-alt-color, +.tiles-grid-tile .tile-content>.md-button.link-alt-color { + color: #000d79; +} + +.md-button.button-link.link-alt-color:hover:not([disabled]), +.section-title prm-icon.md-button.button-link:hover:not([disabled]), +.section-title md-grid-tile .tile-content>prm-icon.md-button:hover:not([disabled]), +md-grid-tile .section-title .tile-content>prm-icon.md-button:hover:not([disabled]), +.section-title .tiles-grid-tile .tile-content>prm-icon.md-button:hover:not([disabled]), +.tiles-grid-tile .section-title .tile-content>prm-icon.md-button:hover:not([disabled]), +md-grid-tile .tile-content>.md-button.link-alt-color:hover:not([disabled]), +.tiles-grid-tile .tile-content>.md-button.link-alt-color:hover:not([disabled]), +.md-button.button-link.link-alt-color:focus:not([disabled]), +.section-title prm-icon.md-button.button-link:focus:not([disabled]), +.section-title md-grid-tile .tile-content>prm-icon.md-button:focus:not([disabled]), +md-grid-tile .section-title .tile-content>prm-icon.md-button:focus:not([disabled]), +.section-title .tiles-grid-tile .tile-content>prm-icon.md-button:focus:not([disabled]), +.tiles-grid-tile .section-title .tile-content>prm-icon.md-button:focus:not([disabled]), +md-grid-tile .tile-content>.md-button.link-alt-color:focus:not([disabled]), +.tiles-grid-tile .tile-content>.md-button.link-alt-color:focus:not([disabled]), +.md-button.button-link.link-alt-color.hovered:not([disabled]), +.section-title prm-icon.md-button.button-link.hovered:not([disabled]), +.section-title md-grid-tile .tile-content>prm-icon.md-button.hovered:not([disabled]), +md-grid-tile .section-title .tile-content>prm-icon.md-button.hovered:not([disabled]), +.section-title .tiles-grid-tile .tile-content>prm-icon.md-button.hovered:not([disabled]), +.tiles-grid-tile .section-title .tile-content>prm-icon.md-button.hovered:not([disabled]), +md-grid-tile .tile-content>.md-button.link-alt-color.hovered:not([disabled]), +.tiles-grid-tile .tile-content>.md-button.link-alt-color.hovered:not([disabled]), +.md-button.button-link.link-alt-color.md-focused:not([disabled]), +.section-title prm-icon.md-button.button-link.md-focused:not([disabled]), +.section-title md-grid-tile .tile-content>prm-icon.md-button.md-focused:not([disabled]), +md-grid-tile .section-title .tile-content>prm-icon.md-button.md-focused:not([disabled]), +.section-title .tiles-grid-tile .tile-content>prm-icon.md-button.md-focused:not([disabled]), +.tiles-grid-tile .section-title .tile-content>prm-icon.md-button.md-focused:not([disabled]), +md-grid-tile .tile-content>.md-button.link-alt-color.md-focused:not([disabled]), +.tiles-grid-tile .tile-content>.md-button.link-alt-color.md-focused:not([disabled]), +.md-button.button-link.link-alt-color._md-focused:not([disabled]), +.section-title prm-icon.md-button.button-link._md-focused:not([disabled]), +.section-title md-grid-tile .tile-content>prm-icon.md-button._md-focused:not([disabled]), +md-grid-tile .section-title .tile-content>prm-icon.md-button._md-focused:not([disabled]), +.section-title .tiles-grid-tile .tile-content>prm-icon.md-button._md-focused:not([disabled]), +.tiles-grid-tile .section-title .tile-content>prm-icon.md-button._md-focused:not([disabled]), +md-grid-tile .tile-content>.md-button.link-alt-color._md-focused:not([disabled]), +.tiles-grid-tile .tile-content>.md-button.link-alt-color._md-focused:not([disabled]) { + color: white; + background-color: #cc006d; +} + +.md-button.button-large { + font-size: 1.2em; + padding: .25em .75em; +} + +.md-button.button-large.button-with-icon { + padding-left: .5em; +} + +.md-button.button-large.button-with-icon>prm-icon+span { + padding-right: 0; +} + +.md-button.button-large-xl { + font-size: 1.2em; + padding: .25em 2.75em; +} + +.md-button.button-large-xl.button-with-icon { + padding-left: .5em; +} + +.md-button.button-large-xl.button-with-icon>prm-icon+span { + padding-right: 0; +} + +.md-button.button-zero-radius { + border-radius: 0; +} + +.md-button.button-no-hover:hover { + background-color: transparent; +} + +.md-button.md-icon-button.square-button { + border-radius: 0; +} + +.md-button.md-icon-button.icon-button-large { + height: 50px; + width: 50px; + min-height: 50px; + min-width: 50px; +} + +.md-button.md-icon-button.icon-button-large md-icon { + height: 40px; + width: 40px; + min-height: 40px; + min-width: 40px; +} + +.md-button.md-icon-button.icon-button-large prm-icon { + position: relative; + left: -4px; + top: -3px; +} + +.md-button.button-with-icon:focus prm-icon.dark-bg { + opacity: 1; +} + +.md-button.button-with-icon>prm-icon { + display: inline-block; +} + +.md-button.button-with-icon>prm-icon md-icon { + position: relative; + top: -2px; +} + +.md-button.button-with-icon>prm-icon+span { + display: inline-block; + margin-left: 3px; + padding-right: 0.5em; +} + +[dir=rtl] .md-button.button-with-icon>prm-icon+span { + padding-right: 0; + padding-left: 0.5em; +} + +.md-button.button-large .md-button.button-with-icon>prm-icon+span { + padding-right: 0; +} + +.md-button.button-with-icon>span+prm-icon { + margin-right: 0; +} + +.md-button.button-with-icon>span+prm-icon md-icon { + margin-left: 5px; + margin-right: 0; +} + +.md-button.icon-button-with-text, +prm-action-list>md-nav-bar .md-nav-item .md-button, +.saved-query-list>md-nav-bar .md-nav-item .md-button { + font-size: 10px; + line-height: 14px; + font-weight: 600; + letter-spacing: 0.03em; +} + +.md-button.outline-button { + border: 1px solid; +} + +.md-button.md-raised:not([disabled]) { + box-shadow: 0 2px 8px -4px rgba(0, 0, 0, 0.26); +} + +.md-button[disabled="disabled"] { + color: #ccc !important; + cursor: not-allowed; +} + +.md-button.button-as-link, +.bar prm-authentication .md-button { + text-transform: none; + font-size: 1em; + min-width: 0; + padding: .3em .35em; + line-height: 1em; + min-height: 0; + margin: 0 .25em; + overflow: visible; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + letter-spacing: 0; + color: #0000e6; +} + +.md-button.button-as-link:hover:not([disabled]), +.bar prm-authentication .md-button:hover:not([disabled]), +.md-button.button-as-link:focus:not([disabled]), +.bar prm-authentication .md-button:focus:not([disabled]), +.md-button.button-as-link.hovered:not([disabled]), +.bar prm-authentication .md-button.hovered:not([disabled]), +.md-button.button-as-link.md-focused:not([disabled]), +.bar prm-authentication .md-button.md-focused:not([disabled]), +.md-button.button-as-link._md-focused:not([disabled]), +.bar prm-authentication .md-button._md-focused:not([disabled]) { + color: #cc006d; + background-color: white; +} + +.md-button.button-as-link.link-alt-color, +.bar prm-authentication .md-button.link-alt-color, +.bar prm-authentication .section-title prm-icon.md-button, +.section-title .bar prm-authentication prm-icon.md-button, +.section-title prm-icon.md-button.button-as-link, +prm-gallery-collection .collection-folder .item-actions button, +prm-gallery-collection .collection-folder .item-actions .md-button, +.is-gallery-view prm-gallery-item .collection-element .item-actions button, +.is-gallery-view prm-gallery-item .collection-element .item-actions .md-button, +.is-grid-view prm-gallery-item .collection-element .item-actions button, +.is-grid-view prm-gallery-item .collection-element .item-actions .md-button { + color: #00020c; +} + +.md-button.button-as-link.link-alt-color:hover:not([disabled]), +.bar prm-authentication .md-button.link-alt-color:hover:not([disabled]), +.bar prm-authentication .section-title prm-icon.md-button:hover:not([disabled]), +.section-title .bar prm-authentication prm-icon.md-button:hover:not([disabled]), +.section-title prm-icon.md-button.button-as-link:hover:not([disabled]), +prm-gallery-collection .collection-folder .item-actions button:hover:not([disabled]), +prm-gallery-collection .collection-folder .item-actions .md-button:hover:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions button:hover:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions .md-button:hover:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions button:hover:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions .md-button:hover:not([disabled]), +.md-button.button-as-link.link-alt-color:focus:not([disabled]), +.bar prm-authentication .md-button.link-alt-color:focus:not([disabled]), +.bar prm-authentication .section-title prm-icon.md-button:focus:not([disabled]), +.section-title .bar prm-authentication prm-icon.md-button:focus:not([disabled]), +.section-title prm-icon.md-button.button-as-link:focus:not([disabled]), +prm-gallery-collection .collection-folder .item-actions button:focus:not([disabled]), +prm-gallery-collection .collection-folder .item-actions .md-button:focus:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions button:focus:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions .md-button:focus:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions button:focus:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions .md-button:focus:not([disabled]), +.md-button.button-as-link.link-alt-color.hovered:not([disabled]), +.bar prm-authentication .md-button.link-alt-color.hovered:not([disabled]), +.bar prm-authentication .section-title prm-icon.md-button.hovered:not([disabled]), +.section-title .bar prm-authentication prm-icon.md-button.hovered:not([disabled]), +.section-title prm-icon.md-button.button-as-link.hovered:not([disabled]), +prm-gallery-collection .collection-folder .item-actions button.hovered:not([disabled]), +prm-gallery-collection .collection-folder .item-actions .hovered.md-button:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions button.hovered:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions .hovered.md-button:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions button.hovered:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions .hovered.md-button:not([disabled]), +.md-button.button-as-link.link-alt-color.md-focused:not([disabled]), +.bar prm-authentication .md-button.link-alt-color.md-focused:not([disabled]), +.bar prm-authentication .section-title prm-icon.md-button.md-focused:not([disabled]), +.section-title .bar prm-authentication prm-icon.md-button.md-focused:not([disabled]), +.section-title prm-icon.md-button.button-as-link.md-focused:not([disabled]), +prm-gallery-collection .collection-folder .item-actions button.md-focused:not([disabled]), +prm-gallery-collection .collection-folder .item-actions .md-focused.md-button:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions button.md-focused:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions .md-focused.md-button:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions button.md-focused:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions .md-focused.md-button:not([disabled]), +.md-button.button-as-link.link-alt-color._md-focused:not([disabled]), +.bar prm-authentication .md-button.link-alt-color._md-focused:not([disabled]), +.bar prm-authentication .section-title prm-icon.md-button._md-focused:not([disabled]), +.section-title .bar prm-authentication prm-icon.md-button._md-focused:not([disabled]), +.section-title prm-icon.md-button.button-as-link._md-focused:not([disabled]), +prm-gallery-collection .collection-folder .item-actions button._md-focused:not([disabled]), +prm-gallery-collection .collection-folder .item-actions ._md-focused.md-button:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions button._md-focused:not([disabled]), +.is-gallery-view prm-gallery-item .collection-element .item-actions ._md-focused.md-button:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions button._md-focused:not([disabled]), +.is-grid-view prm-gallery-item .collection-element .item-actions ._md-focused.md-button:not([disabled]) { + color: white; + background-color: #00020c; +} + +.md-button.button-as-link.button-external-link span, +.bar prm-authentication .md-button.button-external-link span { + position: relative; + top: 1px; +} + +.light-on-dark-dialog .md-button.button-as-link, +.light-on-dark-dialog .bar prm-authentication .md-button, +.bar prm-authentication .light-on-dark-dialog .md-button { + color: #33FFFF; +} + +.light-on-dark-dialog .md-button.button-as-link:hover:not([disabled]), +.light-on-dark-dialog .bar prm-authentication .md-button:hover:not([disabled]), +.bar prm-authentication .light-on-dark-dialog .md-button:hover:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link:focus:not([disabled]), +.light-on-dark-dialog .bar prm-authentication .md-button:focus:not([disabled]), +.bar prm-authentication .light-on-dark-dialog .md-button:focus:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link.hovered:not([disabled]), +.light-on-dark-dialog .bar prm-authentication .md-button.hovered:not([disabled]), +.bar prm-authentication .light-on-dark-dialog .md-button.hovered:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link.md-focused:not([disabled]), +.light-on-dark-dialog .bar prm-authentication .md-button.md-focused:not([disabled]), +.bar prm-authentication .light-on-dark-dialog .md-button.md-focused:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link._md-focused:not([disabled]), +.light-on-dark-dialog .bar prm-authentication .md-button._md-focused:not([disabled]), +.bar prm-authentication .light-on-dark-dialog .md-button._md-focused:not([disabled]) { + color: #cc006d; + background-color: white; +} + +.md-button.button-as-link-mobile { + text-transform: none; + font-size: 1em; + min-width: 0; + padding: 0; + line-height: 1em; + min-height: 0; + overflow: visible; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + letter-spacing: 0; + color: #0000FF; +} + +.md-button.button-as-link-mobile:hover:not([disabled]), +.md-button.button-as-link-mobile:focus:not([disabled]), +.md-button.button-as-link-mobile.hovered:not([disabled]), +.md-button.button-as-link-mobile.md-focused:not([disabled]), +.md-button.button-as-link-mobile._md-focused:not([disabled]) { + color: white; + background-color: #0000FF; +} + +.md-button.button-as-link-mobile.link-alt-color, +.section-title prm-icon.md-button.button-as-link-mobile { + color: #00020c; +} + +.md-button.button-as-link-mobile.link-alt-color:hover:not([disabled]), +.section-title prm-icon.md-button.button-as-link-mobile:hover:not([disabled]), +.md-button.button-as-link-mobile.link-alt-color:focus:not([disabled]), +.section-title prm-icon.md-button.button-as-link-mobile:focus:not([disabled]), +.md-button.button-as-link-mobile.link-alt-color.hovered:not([disabled]), +.section-title prm-icon.md-button.button-as-link-mobile.hovered:not([disabled]), +.md-button.button-as-link-mobile.link-alt-color.md-focused:not([disabled]), +.section-title prm-icon.md-button.button-as-link-mobile.md-focused:not([disabled]), +.md-button.button-as-link-mobile.link-alt-color._md-focused:not([disabled]), +.section-title prm-icon.md-button.button-as-link-mobile._md-focused:not([disabled]) { + color: white; + background-color: #00020c; +} + +.md-button.button-as-link-mobile.button-external-link span { + position: relative; + top: 1px; +} + +.light-on-dark-dialog .md-button.button-as-link-mobile { + color: #33FFFF; +} + +.light-on-dark-dialog .md-button.button-as-link-mobile:hover:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link-mobile:focus:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link-mobile.hovered:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link-mobile.md-focused:not([disabled]), +.light-on-dark-dialog .md-button.button-as-link-mobile._md-focused:not([disabled]) { + color: #cc006d; + background-color: white; +} + +.md-button.flex-button { + display: -ms-flexbox; + display: flex; +} + +.md-button.inline-button { + display: inline; +} + +.md-button.inline-button.flex-button { + display: -ms-inline-flexbox; + display: inline-flex; +} + +.md-button.md-mini { + line-height: 40px; + width: 40px; + height: 40px; + min-width: 40px; +} + +.md-button.multi-line-button, +.__sm prm-search-bar .search-switch-buttons .md-button, +.__sm prm-atoz-search-bar .search-switch-buttons .md-button, +.__sm prm-browse-search-bar .search-switch-buttons .md-button, +.__sm prm-tags-search-bar .search-switch-buttons .md-button, +.__sm prm-newspapers-search-bar .search-switch-buttons .md-button { + white-space: normal; + line-height: 1.2em; + padding: .5em; +} + +.md-button.button-full-height { + height: 100%; +} + +.md-button.neutralized-button { + max-width: none; + max-height: none; + text-transform: none; + padding: 0; + margin: 0; + line-height: inherit; + min-height: 0; + min-width: 0; + white-space: normal; + text-align: inherit; + overflow: visible; + font-size: 1em; + border-radius: 0; +} + +.md-button.neutralized-button:hover, +.md-button.neutralized-button:focus { + background-color: #e6e6e6; + color: inherit; +} + +.md-button.arrow-link-button .button-content { + line-height: 1.4em; +} + +.md-button.arrow-link-button:hover, +.md-button.arrow-link-button:focus { + background: transparent; +} + +.md-button.arrow-link-button [link-arrow] { + position: static; +} + +.md-button .md-ripple-container+.md-ripple-container { + display: none; +} + +.md-button.button-with-menu-arrow { + display: -ms-flexbox; + display: flex; +} + +.md-button.button-with-menu-arrow .menu-arrow { + margin-left: 8px; +} + +[dir="rtl"] .md-button.button-with-menu-arrow .menu-arrow { + margin-right: 8px; +} + +.buttons-group .md-button { + box-shadow: 1px 0 0 0 rgba(0, 0, 0, 0.1); +} + +.buttons-group div:first-child .md-button { + box-shadow: 1px 0 0 0 rgba(0, 0, 0, 0.1), -1px 0 0 0 rgba(0, 0, 0, 0.1); +} + +[dir="rtl"] .buttons-group div:first-child .md-button { + box-shadow: 1px 0 0 0 rgba(0, 0, 0, 0.1); +} + +[dir="rtl"] .buttons-group div:last-child .md-button { + box-shadow: 1px 0 0 0 rgba(0, 0, 0, 0.1), -1px 0 0 0 rgba(0, 0, 0, 0.1); +} + +.prm-primary-color, +.request-form md-input-container label, +.request-form md-input-container label:not(.md-no-float):not(._md-container-ignore), +.request-form md-input-container md-select .md-select-value.md-select-placeholder, +.request-form md-input-container .md-input-container-dummy>.md-select-dummy .md-select-value.md-select-placeholder, +.request-form md-input-container md-select ._md-select-value._md-select-placeholder, +.request-form md-input-container .md-input-container-dummy>.md-select-dummy ._md-select-value._md-select-placeholder, +.result-item-actions .more-options-button, +prm-add-query-to-saved-searches .custom-button, +prm-pre-filters md-input-container.is-active, +.md-autocomplete-suggestions .suggestion-scope, +md-tab-content .tab-content-header md-input-container md-select-value .md-text { + color: #cc006d; +} + +.prm-primary-color.prm-hue1, +.request-form md-input-container label.prm-hue1, +.request-form md-input-container label.prm-hue1:not(.md-no-float):not(._md-container-ignore), +.request-form md-input-container md-select .prm-hue1.md-select-value.md-select-placeholder, +.request-form md-input-container .md-input-container-dummy>.md-select-dummy .prm-hue1.md-select-value.md-select-placeholder, +.request-form md-input-container md-select .prm-hue1._md-select-value._md-select-placeholder, +.request-form md-input-container .md-input-container-dummy>.md-select-dummy .prm-hue1._md-select-value._md-select-placeholder, +.result-item-actions .prm-hue1.more-options-button, +prm-add-query-to-saved-searches .prm-hue1.custom-button, +prm-pre-filters md-input-container.prm-hue1.is-active, +.md-autocomplete-suggestions .prm-hue1.suggestion-scope, +md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item.md-active:not([disabled]), +md-tabs md-tabs-wrapper md-tabs-canvas md-pagination-wrapper md-tab-item.md-focused:not([disabled]), +md-tab-content .tab-content-header md-input-container md-select-value .prm-hue1.md-text { + color: #bd0065; +} + +.prm-primary-color.prm-hue2, +.request-form md-input-container label.prm-hue2, +.request-form md-input-container label.prm-hue2:not(.md-no-float):not(._md-container-ignore), +.request-form md-input-container md-select .prm-hue2.md-select-value.md-select-placeholder, +.request-form md-input-container .md-input-container-dummy>.md-select-dummy .prm-hue2.md-select-value.md-select-placeholder, +.request-form md-input-container md-select .prm-hue2._md-select-value._md-select-placeholder, +.request-form md-input-container .md-input-container-dummy>.md-select-dummy .prm-hue2._md-select-value._md-select-placeholder, +.result-item-actions .md-icon-button, +.result-item-actions .prm-hue2.more-options-button, +prm-add-query-to-saved-searches .prm-hue2.custom-button, +prm-pre-filters md-input-container.prm-hue2.is-active, +.md-autocomplete-suggestions .prm-hue2.suggestion-scope, +md-tab-content .tab-content-header md-input-container md-select-value .prm-hue2.md-text { + color: #b3005f; +} + +.prm-primary-bg, +prm-spinner.overlay-cover.light-on-dark:after, +prm-search-bar, +prm-atoz-search-bar, +prm-browse-search-bar, +prm-tags-search-bar, +prm-newspapers-search-bar, +prm-collection-gallery-header .collection-header-inner, +prm-tree-nav prm-spinner .diamond { + color: white; + background-color: #cc006d; +} + +.prm-primary-bg.prm-hue1, +prm-spinner.prm-hue1.overlay-cover.light-on-dark:after, +prm-search-bar.prm-hue1, +prm-atoz-search-bar.prm-hue1, +prm-browse-search-bar.prm-hue1, +prm-tags-search-bar.prm-hue1, +prm-newspapers-search-bar.prm-hue1, +prm-collection-gallery-header .prm-hue1.collection-header-inner, +prm-tree-nav prm-spinner .prm-hue1.diamond, +md-dialog-content md-input-container.dark-on-light:after, +md-input-container:after { + background-color: #bd0065; +} + +.prm-primary-bg.prm-hue2, +prm-spinner.prm-hue2.overlay-cover.light-on-dark:after, +prm-search-bar.prm-hue2, +prm-atoz-search-bar.prm-hue2, +prm-browse-search-bar.prm-hue2, +prm-tags-search-bar.prm-hue2, +prm-newspapers-search-bar.prm-hue2, +prm-collection-gallery-header .prm-hue2.collection-header-inner, +prm-tree-nav prm-spinner .prm-hue2.diamond, +md-backdrop.md-opaque { + background-color: #b3005f; +} + +.prm-primary-bg.prm-hue3, +prm-spinner.prm-hue3.overlay-cover.light-on-dark:after, +prm-topbar .top-nav-bar, +prm-search-bar.prm-hue3, +prm-atoz-search-bar.prm-hue3, +prm-browse-search-bar.prm-hue3, +prm-tags-search-bar.prm-hue3, +prm-newspapers-search-bar.prm-hue3, +prm-collection-gallery-header .prm-hue3.collection-header-inner, +prm-tree-nav prm-spinner .prm-hue3.diamond { + background-color: #a8005a; +} + +.prm-primary-bg.prm-hue3-important, +prm-spinner.prm-hue3-important.overlay-cover.light-on-dark:after, +prm-user-area md-fab-toolbar.md-is-open md-fab-trigger .md-fab-toolbar-background, +prm-user-area md-fab-toolbar.md-is-open md-fab-trigger ._md-fab-toolbar-background, +prm-search-bar.prm-hue3-important, +prm-atoz-search-bar.prm-hue3-important, +prm-browse-search-bar.prm-hue3-important, +prm-tags-search-bar.prm-hue3-important, +prm-newspapers-search-bar.prm-hue3-important, +prm-collection-gallery-header .prm-hue3-important.collection-header-inner, +prm-tree-nav prm-spinner .prm-hue3-important.diamond { + background-color: #a8005a !important; +} + +.prm-primary-bg.prm-hue4, +prm-spinner.prm-hue4.overlay-cover.light-on-dark:after, +prm-search-bar.prm-hue4, +prm-atoz-search-bar.prm-hue4, +prm-browse-search-bar.prm-hue4, +prm-tags-search-bar.prm-hue4, +prm-newspapers-search-bar.prm-hue4, +prm-collection-gallery-header .prm-hue4.collection-header-inner, +prm-tree-nav prm-spinner .prm-hue4.diamond { + background-color: #990052; +} + +.prm-primary-border { + border-color: #cc006d; +} + +.prm-primary-border.prm-hue1 { + border-color: #cc006d; +} + +.prm-primary-border.prm-hue2 { + border-color: #cc006d; +} + +.prm-secondary-color, +prm-search-bookmark-filter .md-button, +prm-topbar .top-nav-bar { + color: #0000FF; +} + +.prm-secondary-color.prm-hue1, +.link-alt-color, +.section-title prm-icon, +prm-add-query-to-saved-searches .custom-button.pin-button, +prm-search-bookmark-filter .prm-hue1.md-button, +prm-topbar .prm-hue1.top-nav-bar, +prm-pre-filters md-input-container.is-active :focus, +prm-recomendation-item .media-on-hover .pin-button { + color: #000d79; +} + +.prm-secondary-color.prm-hue2, +prm-search-bookmark-filter .prm-hue2.md-button, +prm-topbar .prm-hue2.top-nav-bar { + color: #000099; +} + +.prm-secondary-color.prm-hue3, +.result-item-actions .pin-button, +prm-search-bookmark-filter .prm-hue3.md-button, +prm-topbar .prm-hue3.top-nav-bar, +prm-account-overview .institutions-list md-list-item.is-selected .institution-name, +prm-account-overview .institutions-list md-list-item.is-selected prm-icon, +prm-more-like-this .section-title prm-icon { + color: #00020c; +} + +.prm-secondary-color.prm-hue4, +prm-search-bookmark-filter .prm-hue4.md-button, +prm-topbar .prm-hue4.top-nav-bar, +prm-user-area-expandable .md-button.user-button, ++prm-account-overview .main-institution-list .md-button:hover ._md-list-item-inner.is-selected .institution-name, ++prm-account-overview .main-institution-list .md-button:hover .md-list-item-inner.is-selected .institution-name, +prm-account-overview .main-institution-list .md-button:focus ._md-list-item-inner.is-selected .institution-name, +prm-account-overview .main-institution-list .md-button:focus .md-list-item-inner.is-selected .institution-name, ++prm-account-overview .md-list .md-button:hover ._md-list-item-inner.is-selected .institution-name, ++prm-account-overview .md-list .md-button:hover .md-list-item-inner.is-selected .institution-name, +prm-account-overview .md-list .md-button:focus ._md-list-item-inner.is-selected .institution-name, +prm-account-overview .md-list .md-button:focus .md-list-item-inner.is-selected .institution-name, ++prm-account-overview .md-list[class$="-line"] .md-button:hover ._md-list-item-inner.is-selected .institution-name, ++prm-account-overview .md-list[class$="-line"] .md-button:hover .md-list-item-inner.is-selected .institution-name, +prm-account-overview .md-list[class$="-line"] .md-button:focus ._md-list-item-inner.is-selected .institution-name, +prm-account-overview .md-list[class$="-line"] .md-button:focus .md-list-item-inner.is-selected .institution-name { + color: #0015b8; +} + +.prm-secondary-color.prm-hue6, +prm-search-bookmark-filter .prm-hue6.md-button, +prm-topbar .prm-hue6.top-nav-bar, +prm-account-overview .institutions-list md-list-item.is-selected .md-button:hover span, +prm-account-overview .institutions-list md-list-item.is-selected .md-button:hover prm-icon, +prm-account-overview .institutions-list md-list-item.is-selected span.institution-name:focus, +prm-account-overview .institutions-list md-list-item.is-selected span.institution-name:hover, +prm-more-like-this .section-title:hover prm-icon, +prm-more-like-this .section-title:focus prm-icon { + color: #001df5; +} + +.prm-secondary-bg, +md-progress-linear[md-mode=indeterminate].header-progress-bar .md-bar { + background-color: #0000FF; +} + +.prm-secondary-bg.prm-hue1, +.new-result-item .list-item-count, +md-progress-linear[md-mode=indeterminate].header-progress-bar .prm-hue1.md-bar, +.md-input-color-underline, +md-input-container.empty-select-on-init:not(.md-input-focused) md-select md-select-value:after, +md-input-container.empty-select-on-init:not(.md-input-focused) .md-input-container-dummy>.md-select-dummy md-select-value:after { + background-color: #000d79; +} + +.prm-secondary-bg.prm-hue2, +.dark-toolbar prm-pre-filters md-input-container:after, +md-progress-linear[md-mode=indeterminate].header-progress-bar .prm-hue2.md-bar, +md-option.prm-select-checkbox._md-checkbox-enabled[selected] .md-icon, +md-option.prm-select-checkbox._md-checkbox-enabled[selected] ._md-icon { + background-color: #000099; +} + +.prm-secondary-bg.prm-hue3, +md-progress-linear[md-mode=indeterminate].header-progress-bar .prm-hue3.md-bar, +md-checkbox.md-checked.md-focused ._md-container:before, +md-checkbox.md-checked .md-icon, +md-checkbox.md-checked ._md-icon { + background-color: #00020c; +} + +.prm-secondary-bg.prm-hue4, +md-progress-linear[md-mode=indeterminate].header-progress-bar .prm-hue4.md-bar, +md-dialog-content md-input-container:after, +.underline-light-on-dark:after { + background-color: #0015b8; +} + +.prm-secondary-bg.prm-hue5, +md-progress-linear[md-mode=indeterminate].header-progress-bar .prm-hue5.md-bar, +md-radio-button.md-checked .md-on, +md-radio-button.md-checked ._md-on { + background-color: #000042; +} + +.prm-secondary-border { + border-color: #0000FF; +} + +.prm-secondary-border.prm-hue1, +md-select:focus .md-select-value, +.md-input-container-dummy>.md-select-dummy:focus .md-select-value, +.md-input-focused md-select .md-select-value, +.md-input-focused .md-input-container-dummy>.md-select-dummy .md-select-value, +md-select:not([disabled]):focus .md-select-value, +.md-input-focused md-select:not([disabled]) .md-select-value { + border-color: #000d79; +} + +.prm-secondary-border.prm-hue5, +md-radio-button.md-checked .md-off, +md-radio-button.md-checked ._md-off { + border-color: #000042; +} + +.prm-background, +html, +body, +prm-search .ui-blocker, +prm-featured-results .horizontal-content-container .horizontal-content-control, +prm-search-bar .simple-search-wrapper .search-options:after, +prm-atoz-search-bar .simple-search-wrapper .search-options:after, +prm-browse-search-bar .simple-search-wrapper .search-options:after, +prm-tags-search-bar .simple-search-wrapper .search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider, +.prm-view-overlay-inner, +prm-facet.facets-on-iPad-mobile, +.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .md-button:before, +.multiselect-submit .multiselect-submit-inner, +prm-favorites .mobile-toolbar-text, +.__sm prm-favorites .sidebar, +.__xs prm-favorites .sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .pin-button, +prm-full-view-cont .recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon, +prm-databases-categorize .sticking-wrapper, +prm-orgList-categorize .sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider, +md-dialog md-toolbar:not(.md-menu-toolbar), +md-card .card-content-block { + background-color: #e9e9e9; + border-color: #e1e1e1; +} + +.prm-background.prm-hue1, +html.prm-hue1, +body.prm-hue1, +prm-search .prm-hue1.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue1.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue1.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue1.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue1.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue1.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue1.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue1, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue1, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue1, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue1, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue1, +.prm-hue1.prm-view-overlay-inner, +.full-view-inner-container+.full-view-aside:before, +prm-facet.prm-hue1.facets-on-iPad-mobile, +.prm-hue1.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue1.md-button:before, +.multiselect-submit .prm-hue1.multiselect-submit-inner, +prm-favorites .prm-hue1.mobile-toolbar-text, +.__sm prm-favorites .prm-hue1.sidebar, +.__xs prm-favorites .prm-hue1.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue1.pin-button, +prm-full-view-cont .prm-hue1.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue1, +prm-databases-categorize .prm-hue1.sticking-wrapper, +prm-orgList-categorize .prm-hue1.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue1, +md-dialog md-toolbar.prm-hue1:not(.md-menu-toolbar), +.default-tabs[md-border-bottom]>md-tabs-wrapper, +md-card .prm-hue1.card-content-block, +md-card .card-divider, +md-toolbar.default-toolbar, +md-toolbar.md-primoExplore-theme.default-toolbar, +md-toolbar.default-toolbar:not(.md-menu-toolbar) { + background-color: #f7f7f7; + border-color: #d5d5d5; + background-color: gainsboro; +} + +.prm-background.prm-hue2, +html.prm-hue2, +body.prm-hue2, +.line-clamp-1:after, +.line-clamp-2:after, +.line-clamp-3:after, +.line-clamp-4:after, +.line-clamp-5:after, +.prm-horizontal-content .horizontal-content-item md-card>.md-button, +prm-search-result-list .results-header, +prm-search-result-list .results-footer, +prm-search .prm-hue2.ui-blocker, +prm-featured-result-item md-card md-card-title, +prm-featured-results .horizontal-content-container .prm-hue2.horizontal-content-control, +prm-search-result-tool-bar .floated-max-results-message, +.list-item-wrapper, +prm-search-bar .simple-search-wrapper .prm-hue2.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue2.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue2.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue2.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue2.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue2, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue2, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue2, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue2, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue2, +prm-search-bar .advanced-search-tabs, +prm-atoz-search-bar .advanced-search-tabs, +prm-browse-search-bar .advanced-search-tabs, +prm-tags-search-bar .advanced-search-tabs, +prm-newspapers-search-bar .advanced-search-tabs, +prm-search-bar .advanced-search-output md-card, +prm-atoz-search-bar .advanced-search-output md-card, +prm-browse-search-bar .advanced-search-output md-card, +prm-tags-search-bar .advanced-search-output md-card, +prm-newspapers-search-bar .advanced-search-output md-card, +.prm-hue2.prm-view-overlay-inner, +.prm-full-view-dialog, +.full-view-inner-container, +prm-ngrs-results-button md-card, +prm-facet.prm-hue2.facets-on-iPad-mobile, +.prm-hue2.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue2.md-button:before, +.multiselect-submit .prm-hue2.multiselect-submit-inner, +prm-favorites .prm-hue2.mobile-toolbar-text, +.__sm prm-favorites .prm-hue2.sidebar, +.__xs prm-favorites .prm-hue2.sidebar, +.__xs prm-full-view-cont .recommendations-wrapper, +.__sm prm-full-view-cont .recommendations-wrapper, +prm-recomendation-item .media-on-hover .pin-button, +prm-recomendation-item .media-on-hover .pin-button:hover, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue2.pin-button, +.recommendations-title:after, +prm-full-view-cont .prm-hue2.recommendations-title:after, +.__xs prm-full-view-cont .recommendations-title:after, +.__sm prm-full-view-cont .recommendations-title:after, +.recommendations-title prm-icon, +prm-full-view-cont .recommendations-title prm-icon.prm-hue2, +.__xs prm-full-view-cont .recommendations-title prm-icon, +.__sm prm-full-view-cont .recommendations-title prm-icon, +prm-gallery-collection .collection-folder, +prm-gallery-collection .collection-folder .item-meta, +prm-gallery-collection .collection-folder h3 span, +prm-gallery-item .collection-element, +prm-gallery-item .collection-element .resource-type, +prm-gallery-item .collection-element .item-title, +prm-browse-search md-list.prm-list.prm-linkable-list-items md-list-item ._md-list-item-inner, +prm-browse-search md-list.prm-list.prm-linkable-list-items md-list-item .md-list-item-inner, +prm-databases-categorize .prm-hue2.sticking-wrapper, +prm-orgList-categorize .prm-hue2.sticking-wrapper, +prm-tags-results-list md-list.prm-list.prm-linkable-list-items md-list-item ._md-list-item-inner, +prm-tags-results-list md-list.prm-list.prm-linkable-list-items md-list-item .md-list-item-inner, +prm-resource-recommender md-card, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue2, +md-dialog md-toolbar.prm-hue2:not(.md-menu-toolbar), +md-grid-tile, +.tiles-grid-tile, +md-grid-tile md-list prm-spinner.overlay-cover:after, +md-grid-tile .tile-content prm-spinner.overlay-cover:after, +.tiles-grid-tile md-list prm-spinner.overlay-cover:after, +.tiles-grid-tile .tile-content prm-spinner.overlay-cover:after, +md-card.default-card, +prm-featured-result-item md-card, +md-card .prm-hue2.card-content-block, +md-list.prm-list.prm-linkable-list-items md-list-item ._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item .md-list-item-inner { + background-color: #f3f3f3; +} + +.prm-background.prm-hue3, +html.prm-hue3, +body.prm-hue3, +prm-search .prm-hue3.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue3.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue3.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue3.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue3.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue3.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue3.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue3, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue3, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue3, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue3, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue3, +.prm-hue3.prm-view-overlay-inner, +prm-facet.prm-hue3.facets-on-iPad-mobile, +.prm-hue3.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue3.md-button:before, +.multiselect-submit .prm-hue3.multiselect-submit-inner, +prm-favorites .prm-hue3.mobile-toolbar-text, +.__sm prm-favorites .prm-hue3.sidebar, +.__xs prm-favorites .prm-hue3.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue3.pin-button, +prm-full-view-cont .prm-hue3.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue3, +prm-databases-categorize .prm-hue3.sticking-wrapper, +prm-orgList-categorize .prm-hue3.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue3, +md-dialog md-toolbar.prm-hue3:not(.md-menu-toolbar), +md-card .prm-hue3.card-content-block { + background-color: white; +} + +.prm-background.prm-hue4, +html.prm-hue4, +body.prm-hue4, +prm-search .prm-hue4.ui-blocker, +prm-featured-result-item.dummy-item md-card, +prm-featured-results .horizontal-content-container .prm-hue4.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue4.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue4.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue4.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue4.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue4.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue4, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue4, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue4, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue4, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue4, +.prm-hue4.prm-view-overlay-inner, +prm-facet.prm-hue4.facets-on-iPad-mobile, +.prm-hue4.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue4.md-button:before, +.multiselect-submit .prm-hue4.multiselect-submit-inner, +prm-favorites .prm-hue4.mobile-toolbar-text, +.__sm prm-favorites .prm-hue4.sidebar, +.__xs prm-favorites .prm-hue4.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue4.pin-button, +prm-full-view-cont .prm-hue4.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue4, +prm-databases-categorize .prm-hue4.sticking-wrapper, +prm-orgList-categorize .prm-hue4.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue4, +md-dialog md-toolbar.prm-hue4:not(.md-menu-toolbar), +md-card .prm-hue4.card-content-block { + background-color: #f1f1f1; +} + +.prm-background.prm-hue5, +html.prm-hue5, +body.prm-hue5, +.login-dialog .loader-wrapper, +prm-search .prm-hue5.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue5.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue5.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue5.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue5.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue5.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue5.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue5, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue5, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue5, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue5, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue5, +.prm-hue5.prm-view-overlay-inner, +prm-facet.prm-hue5.facets-on-iPad-mobile, +.prm-hue5.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue5.md-button:before, +.multiselect-submit .prm-hue5.multiselect-submit-inner, +prm-favorites .prm-hue5.mobile-toolbar-text, +.__sm prm-favorites .prm-hue5.sidebar, +.__xs prm-favorites .prm-hue5.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue5.pin-button, +prm-full-view-cont .prm-hue5.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue5, +prm-databases-categorize .prm-hue5.sticking-wrapper, +prm-orgList-categorize .prm-hue5.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue5, +md-dialog md-toolbar.prm-hue5:not(.md-menu-toolbar), +md-card .prm-hue5.card-content-block { + background-color: rgba(233, 233, 233, 0.5); +} + +.prm-background.prm-hue6, +html.prm-hue6, +body.prm-hue6, +.bar.filter-bar, +prm-search .prm-hue6.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue6.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue6.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue6.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue6.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue6.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue6.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue6, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue6, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue6, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue6, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue6, +.prm-hue6.prm-view-overlay-inner, +prm-facet.prm-hue6.facets-on-iPad-mobile, +.prm-hue6.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue6.md-button:before, +.multiselect-submit .prm-hue6.multiselect-submit-inner, +prm-favorites .prm-hue6.mobile-toolbar-text, +.__sm prm-favorites .prm-hue6.sidebar, +.__xs prm-favorites .prm-hue6.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue6.pin-button, +prm-full-view-cont .prm-hue6.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue6, +prm-databases-categorize .prm-hue6.sticking-wrapper, +prm-orgList-categorize .prm-hue6.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue6, +md-dialog md-toolbar.prm-hue6:not(.md-menu-toolbar), +md-card .prm-hue6.card-content-block { + background-color: #e6e6e6; +} + +.prm-background.prm-hue7, +html.prm-hue7, +body.prm-hue7, +.links-block .separated-block-item:after, +prm-search .prm-hue7.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue7.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue7.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue7.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue7.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue7.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue7.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue7, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue7, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue7, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue7, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue7, +.prm-hue7.prm-view-overlay-inner, +prm-facet.prm-hue7.facets-on-iPad-mobile, +prm-facet .switch-results md-switch .md-bar, +prm-facet .switch-results md-switch ._md-bar, +.prm-hue7.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue7.md-button:before, +.multiselect-submit .prm-hue7.multiselect-submit-inner, +prm-favorites .prm-hue7.mobile-toolbar-text, +.__sm prm-favorites .prm-hue7.sidebar, +.__xs prm-favorites .prm-hue7.sidebar, +prm-account-overview .institutions-list:after, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue7.pin-button, +prm-full-view-cont .prm-hue7.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue7, +prm-databases-categorize .prm-hue7.sticking-wrapper, +prm-orgList-categorize .prm-hue7.sticking-wrapper, +prm-search-result-list prm-personalize-results-button .md-button md-switch .md-bar, +prm-search-result-list prm-personalize-results-button .md-button md-switch ._md-bar, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue7, +md-dialog md-toolbar.prm-hue7:not(.md-menu-toolbar), +md-card .prm-hue7.card-content-block, +md-switch .md-bar, +prm-personal-settings .switch-options .switch-without-button md-switch .md-bar, +prm-personal-settings .switch-options .switch-without-button md-switch ._md-bar { + background-color: #cfcfcf; +} + +.prm-background.prm-hue8, +html.prm-hue8, +body.prm-hue8, +.service-form-static-panel, +prm-search .prm-hue8.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue8.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue8.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue8.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue8.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue8.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue8.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue8, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue8, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue8, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue8, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue8, +.prm-hue8.prm-view-overlay-inner, +prm-facet.prm-hue8.facets-on-iPad-mobile, +.prm-hue8.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue8.md-button:before, +.multiselect-submit .prm-hue8.multiselect-submit-inner, +prm-favorites .prm-hue8.mobile-toolbar-text, +.__sm prm-favorites .prm-hue8.sidebar, +.__xs prm-favorites .prm-hue8.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue8.pin-button, +prm-full-view-cont .prm-hue8.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue8, +prm-databases-categorize .prm-hue8.sticking-wrapper, +prm-orgList-categorize .prm-hue8.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue8, +md-dialog md-toolbar.prm-hue8:not(.md-menu-toolbar), +md-card .prm-hue8.card-content-block { + background-color: #f8f8f8; +} + +.prm-background.prm-hue9, +html.prm-hue9, +body.prm-hue9, +prm-search .prm-hue9.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue9.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue9.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue9.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue9.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue9.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue9.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue9, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue9, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue9, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue9, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue9, +.prm-hue9.prm-view-overlay-inner, +prm-facet.prm-hue9.facets-on-iPad-mobile, +.prm-hue9.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue9.md-button:before, +.multiselect-submit .prm-hue9.multiselect-submit-inner, +prm-favorites .prm-hue9.mobile-toolbar-text, +.__sm prm-favorites .prm-hue9.sidebar, +.__xs prm-favorites .prm-hue9.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue9.pin-button, +prm-full-view-cont .prm-hue9.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue9, +prm-databases-categorize .prm-hue9.sticking-wrapper, +prm-orgList-categorize .prm-hue9.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue9, +md-dialog md-toolbar.prm-hue9:not(.md-menu-toolbar), +md-card .prm-hue9.card-content-block { + background-color: gainsboro; +} + +.prm-background.prm-hue10, +html.prm-hue10, +body.prm-hue10, +prm-search .prm-hue10.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue10.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue10.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue10.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue10.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue10.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue10.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue10, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue10, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue10, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue10, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue10, +.prm-hue10.prm-view-overlay-inner, +prm-facet.prm-hue10.facets-on-iPad-mobile, +.prm-hue10.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue10.md-button:before, +.multiselect-submit .prm-hue10.multiselect-submit-inner, +prm-favorites .prm-hue10.mobile-toolbar-text, +.__sm prm-favorites .prm-hue10.sidebar, +.__xs prm-favorites .prm-hue10.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue10.pin-button, +prm-full-view-cont .prm-hue10.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue10, +prm-databases-categorize .prm-hue10.sticking-wrapper, +prm-orgList-categorize .prm-hue10.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue10, +md-dialog md-toolbar.prm-hue10:not(.md-menu-toolbar), +md-card .prm-hue10.card-content-block, +md-toolbar .toolbar-divider, +md-toolbar.md-primoExplore-theme .toolbar-divider, +md-toolbar:not(.md-menu-toolbar) .toolbar-divider { + background-color: #cacaca; +} + +.prm-background.prm-hue11, +html.prm-hue11, +body.prm-hue11, +prm-search .prm-hue11.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue11.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue11.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue11.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue11.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue11.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue11.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue11, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue11, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue11, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue11, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue11, +.prm-hue11.prm-view-overlay-inner, +prm-facet.prm-hue11.facets-on-iPad-mobile, +.prm-hue11.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue11.md-button:before, +.multiselect-submit .prm-hue11.multiselect-submit-inner, +prm-favorites .prm-hue11.mobile-toolbar-text, +.__sm prm-favorites .prm-hue11.sidebar, +.__xs prm-favorites .prm-hue11.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue11.pin-button, +prm-full-view-cont .prm-hue11.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue11, +prm-databases-categorize .prm-hue11.sticking-wrapper, +prm-orgList-categorize .prm-hue11.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue11, +md-dialog md-toolbar.prm-hue11:not(.md-menu-toolbar), +md-card .prm-hue11.card-content-block, +md-toolbar.citations-toolbar .toolbar-section, +md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section, +md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section { + background-color: #e4e4e4; +} + +.prm-background.prm-hue13, +html.prm-hue13, +body.prm-hue13, +prm-search .prm-hue13.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue13.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue13.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue13.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue13.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue13.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue13.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue13, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue13, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue13, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue13, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue13, +.prm-hue13.prm-view-overlay-inner, +prm-facet.prm-hue13.facets-on-iPad-mobile, +.prm-hue13.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue13.md-button:before, +.multiselect-submit .prm-hue13.multiselect-submit-inner, +prm-favorites .prm-hue13.mobile-toolbar-text, +.__sm prm-favorites .prm-hue13.sidebar, +.__xs prm-favorites .prm-hue13.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue13.pin-button, +prm-full-view-cont .prm-hue13.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue13, +prm-databases-categorize .prm-hue13.sticking-wrapper, +prm-orgList-categorize .prm-hue13.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue13, +md-dialog md-toolbar.prm-hue13:not(.md-menu-toolbar), +md-card .prm-hue13.card-content-block { + background-color: #eeeeee; +} + +.prm-background.prm-hue14, +html.prm-hue14, +body.prm-hue14, +.prm-horizontal-content .horizontal-content-control, +prm-search .prm-hue14.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue14.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue14.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue14.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue14.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue14.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue14.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue14, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue14, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue14, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue14, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue14, +.prm-hue14.prm-view-overlay-inner, +prm-facet.prm-hue14.facets-on-iPad-mobile, +.prm-hue14.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue14.md-button:before, +.multiselect-submit .prm-hue14.multiselect-submit-inner, +prm-favorites .prm-hue14.mobile-toolbar-text, +.__sm prm-favorites .prm-hue14.sidebar, +.__xs prm-favorites .prm-hue14.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue14.pin-button, +prm-full-view-cont .prm-hue14.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue14, +prm-databases-categorize .prm-hue14.sticking-wrapper, +prm-orgList-categorize .prm-hue14.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue14, +md-dialog md-toolbar.prm-hue14:not(.md-menu-toolbar), +md-card .prm-hue14.card-content-block { + background-color: #838383; +} + +.prm-background.prm-hue15, +html.prm-hue15, +body.prm-hue15, +prm-search .prm-hue15.ui-blocker, +prm-featured-results .horizontal-content-container .prm-hue15.horizontal-content-control, +prm-search-bar .simple-search-wrapper .prm-hue15.search-options:after, +prm-atoz-search-bar .simple-search-wrapper .prm-hue15.search-options:after, +prm-browse-search-bar .simple-search-wrapper .prm-hue15.search-options:after, +prm-tags-search-bar .simple-search-wrapper .prm-hue15.search-options:after, +prm-newspapers-search-bar .simple-search-wrapper .prm-hue15.search-options:after, +prm-search-bar .simple-search-wrapper .search-options md-divider.prm-hue15, +prm-atoz-search-bar .simple-search-wrapper .search-options md-divider.prm-hue15, +prm-browse-search-bar .simple-search-wrapper .search-options md-divider.prm-hue15, +prm-tags-search-bar .simple-search-wrapper .search-options md-divider.prm-hue15, +prm-newspapers-search-bar .simple-search-wrapper .search-options md-divider.prm-hue15, +.prm-hue15.prm-view-overlay-inner, +prm-facet.prm-hue15.facets-on-iPad-mobile, +.prm-hue15.sidebar.facets-on-iPad-mobile, +.available-facets .section-content .md-chips .md-chip .prm-hue15.md-button:before, +.multiselect-submit .prm-hue15.multiselect-submit-inner, +prm-favorites .prm-hue15.mobile-toolbar-text, +.__sm prm-favorites .prm-hue15.sidebar, +.__xs prm-favorites .prm-hue15.sidebar, +prm-full-view-cont prm-recomendation-item .media-on-hover .prm-hue15.pin-button, +prm-full-view-cont .prm-hue15.recommendations-title:after, +prm-full-view-cont .recommendations-title prm-icon.prm-hue15, +prm-databases-categorize .prm-hue15.sticking-wrapper, +prm-orgList-categorize .prm-hue15.sticking-wrapper, +md-virtual-repeat-container#prm-simple-search .md-autocomplete-suggestions md-divider.prm-hue15, +md-dialog md-toolbar.prm-hue15:not(.md-menu-toolbar), +md-card .prm-hue15.card-content-block, +md-toolbar .back-button:hover, +md-toolbar .back-button.md-focused:hover, +md-toolbar.md-primoExplore-theme .back-button:hover, +md-toolbar.md-primoExplore-theme .back-button.md-focused:hover, +md-toolbar:not(.md-menu-toolbar) .back-button:hover, +md-toolbar:not(.md-menu-toolbar) .back-button.md-focused:hover { + background-color: #5f5f5f; +} + +.prm-background-color, +md-grid-tile .message-with-icon md-icon, +.tiles-grid-tile .message-with-icon md-icon { + color: #e9e9e9; +} + +.prm-background-color.prm-hue4, +.service-form-static-panel, +md-grid-tile .message-with-icon md-icon.prm-hue4, +.tiles-grid-tile .message-with-icon md-icon.prm-hue4 { + color: #f1f1f1; +} + +.prm-background-border, +prm-search-result-list .results-header, +.list-item-wrapper, +.action-list-content md-divider, +prm-search-bar .advanced-search-tabs, +prm-atoz-search-bar .advanced-search-tabs, +prm-browse-search-bar .advanced-search-tabs, +prm-tags-search-bar .advanced-search-tabs, +prm-newspapers-search-bar .advanced-search-tabs, +prm-search-bar .advanced-search-output md-card, +prm-atoz-search-bar .advanced-search-output md-card, +prm-browse-search-bar .advanced-search-output md-card, +prm-tags-search-bar .advanced-search-output md-card, +prm-newspapers-search-bar .advanced-search-output md-card, +prm-newspapers-search-bar .search-options md-divider, +md-grid-tile md-list md-list-item, +md-grid-tile .tile-content md-list-item, +.tiles-grid-tile md-list md-list-item, +.tiles-grid-tile .tile-content md-list-item, +md-grid-tile md-list md-divider, +md-grid-tile .tile-content md-divider, +.tiles-grid-tile md-list md-divider, +.tiles-grid-tile .tile-content md-divider { + border-color: #e9e9e9; + border-color: #e1e1e1 !important; +} + +.prm-background-border.prm-hue1, +prm-search-result-list .prm-hue1.results-header, +.prm-hue1.list-item-wrapper, +.action-list-content md-divider.prm-hue1, +prm-search-bar .prm-hue1.advanced-search-tabs, +prm-atoz-search-bar .prm-hue1.advanced-search-tabs, +prm-browse-search-bar .prm-hue1.advanced-search-tabs, +prm-tags-search-bar .prm-hue1.advanced-search-tabs, +prm-newspapers-search-bar .prm-hue1.advanced-search-tabs, +prm-search-bar .advanced-search-output md-card.prm-hue1, +prm-atoz-search-bar .advanced-search-output md-card.prm-hue1, +prm-browse-search-bar .advanced-search-output md-card.prm-hue1, +prm-tags-search-bar .advanced-search-output md-card.prm-hue1, +prm-newspapers-search-bar .advanced-search-output md-card.prm-hue1, +prm-newspapers-search-bar .search-options md-divider.prm-hue1, +md-grid-tile md-list md-list-item.prm-hue1, +md-grid-tile .tile-content md-list-item.prm-hue1, +.tiles-grid-tile md-list md-list-item.prm-hue1, +.tiles-grid-tile .tile-content md-list-item.prm-hue1, +md-grid-tile md-list md-divider.prm-hue1, +md-grid-tile .tile-content md-divider.prm-hue1, +.tiles-grid-tile md-list md-divider.prm-hue1, +.tiles-grid-tile .tile-content md-divider.prm-hue1 { + border-color: #f0f0f0; + border-color: #d5d5d5 !important; +} + +.prm-background-border.prm-hue2, +prm-search-result-list .prm-hue2.results-header, +.prm-hue2.list-item-wrapper, +.action-list-content md-divider.prm-hue2, +prm-search-bar .prm-hue2.advanced-search-tabs, +prm-atoz-search-bar .prm-hue2.advanced-search-tabs, +prm-browse-search-bar .prm-hue2.advanced-search-tabs, +prm-tags-search-bar .prm-hue2.advanced-search-tabs, +prm-newspapers-search-bar .prm-hue2.advanced-search-tabs, +prm-search-bar .advanced-search-output md-card.prm-hue2, +prm-atoz-search-bar .advanced-search-output md-card.prm-hue2, +prm-browse-search-bar .advanced-search-output md-card.prm-hue2, +prm-tags-search-bar .advanced-search-output md-card.prm-hue2, +prm-newspapers-search-bar .advanced-search-output md-card.prm-hue2, +prm-newspapers-search-bar .search-options md-divider.prm-hue2, +md-grid-tile md-list md-list-item.prm-hue2, +md-grid-tile .tile-content md-list-item.prm-hue2, +.tiles-grid-tile md-list md-list-item.prm-hue2, +.tiles-grid-tile .tile-content md-list-item.prm-hue2, +md-grid-tile md-list md-divider.prm-hue2, +md-grid-tile .tile-content md-divider.prm-hue2, +.tiles-grid-tile md-list md-divider.prm-hue2, +.tiles-grid-tile .tile-content md-divider.prm-hue2 { + border-color: #ececec !important; +} + +.prm-background-border.prm-hue3, +.bar.filter-bar, +prm-search-result-list .prm-hue3.results-header, +.prm-hue3.list-item-wrapper, +.action-list-content md-divider.prm-hue3, +prm-search-bar .prm-hue3.advanced-search-tabs, +prm-atoz-search-bar .prm-hue3.advanced-search-tabs, +prm-browse-search-bar .prm-hue3.advanced-search-tabs, +prm-tags-search-bar .prm-hue3.advanced-search-tabs, +prm-newspapers-search-bar .prm-hue3.advanced-search-tabs, +prm-search-bar .advanced-search-output md-card.prm-hue3, +prm-atoz-search-bar .advanced-search-output md-card.prm-hue3, +prm-browse-search-bar .advanced-search-output md-card.prm-hue3, +prm-tags-search-bar .advanced-search-output md-card.prm-hue3, +prm-newspapers-search-bar .advanced-search-output md-card.prm-hue3, +prm-newspapers-search-bar .search-options md-divider.prm-hue3, +md-grid-tile md-list md-list-item.prm-hue3, +md-grid-tile .tile-content md-list-item.prm-hue3, +.tiles-grid-tile md-list md-list-item.prm-hue3, +.tiles-grid-tile .tile-content md-list-item.prm-hue3, +md-grid-tile md-list md-divider.prm-hue3, +md-grid-tile .tile-content md-divider.prm-hue3, +.tiles-grid-tile md-list md-divider.prm-hue3, +.tiles-grid-tile .tile-content md-divider.prm-hue3 { + border-color: #e1e1e1; +} + +.prm-background-border.prm-hue4, +prm-search-result-list .prm-hue4.results-header, +.prm-hue4.list-item-wrapper, +.action-list-content md-divider.prm-hue4, +prm-search-bar .prm-hue4.advanced-search-tabs, +prm-atoz-search-bar .prm-hue4.advanced-search-tabs, +prm-browse-search-bar .prm-hue4.advanced-search-tabs, +prm-tags-search-bar .prm-hue4.advanced-search-tabs, +prm-newspapers-search-bar .prm-hue4.advanced-search-tabs, +prm-search-bar .advanced-search-output md-card.prm-hue4, +prm-atoz-search-bar .advanced-search-output md-card.prm-hue4, +prm-browse-search-bar .advanced-search-output md-card.prm-hue4, +prm-tags-search-bar .advanced-search-output md-card.prm-hue4, +prm-newspapers-search-bar .advanced-search-output md-card.prm-hue4, +prm-newspapers-search-bar .search-options md-divider.prm-hue4, +md-grid-tile md-list md-list-item.prm-hue4, +md-grid-tile .tile-content md-list-item.prm-hue4, +.tiles-grid-tile md-list md-list-item.prm-hue4, +.tiles-grid-tile .tile-content md-list-item.prm-hue4, +md-grid-tile md-list md-divider.prm-hue4, +md-grid-tile .tile-content md-divider.prm-hue4, +.tiles-grid-tile md-list md-divider.prm-hue4, +.tiles-grid-tile .tile-content md-divider.prm-hue4, +md-toolbar.citations-toolbar .toolbar-section, +md-toolbar.md-primoExplore-theme.citations-toolbar .toolbar-section, +md-toolbar:not(.md-menu-toolbar).citations-toolbar .toolbar-section { + border-color: #d7d7d7; +} + +.prm-links, +.md-button.arrow-link-button [link-arrow], +a, +.md-button.arrow-link-button .button-content, +[class*="NFT"]>span, +[class*="check_"]>span, +[class*="_more"]>span, +[class*="_unknown"]>span, +[class*="may_"]>span, +[class*="does_not_exist"]>span, +.worldcat>span, +.getit>span, +.esploro_status\.unknown>span, +[class*="available"]>span, +[class*="FT"]>span, +.not_restricted>span, +.ext_not_restricted>span, +.fulltext_multiple>span, +.fulltext>span, +.fulltext_linktorsrc>span, +.fulltext_newspaper>span, +.fulltext_linktorsrc_newspaper>span, +.fulltext_linktorsrc_topic>span, +.fulltext_topic>span, +.esploro_status\.not_restricted>span, +[class*="unavailable"]>span, +[class*="no_"]>span, +.restricted>span, +.duedate>span, +.esploro_status\.embargoed>span, +.esploro_status\.restricted>span, +.login-dialog md-list md-list-item .md-list-item-text h3, +.login-dialog md-list md-list-item .md-list-item-text .list-item-title, +.login-dialog md-list md-list-item>.md-no-style .md-list-item-text h3, +.login-dialog md-list md-list-item>.md-no-style .md-list-item-text .list-item-title, +.login-dialog .md-list md-list-item .md-list-item-text h3, +.login-dialog .md-list md-list-item .md-list-item-text .list-item-title, +.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text h3, +.login-dialog .md-list md-list-item>.md-no-style .md-list-item-text .list-item-title, +.login-dialog .md-list[class$="-line"] md-list-item .md-list-item-text h3, +.login-dialog .md-list[class$="-line"] md-list-item .md-list-item-text .list-item-title, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text h3, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text .list-item-title, +.login-dialog .collapsable-container md-list md-list-item .md-list-item-inner, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container a.link-to-altmetric-details-tab, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .md-button.arrow-link-button .link-to-altmetric-details-tab.button-content, +.md-button.arrow-link-button prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .link-to-altmetric-details-tab.button-content, +prm-tags-list .md-chips .md-chip .md-chip-content strong, +prm-tags-list .md-chips md-chip .md-chip-content strong, +prm-tags-list md-chips .md-chip .md-chip-content strong, +prm-tags-list md-chips md-chip .md-chip-content strong, +md-tabs.tabs-as-links md-tab-item, +md-tabs.tabs-as-links md-tab-item:not([disabled]), +md-grid-tile .tile-header .header-link .arrow-icon, +.tiles-grid-tile .tile-header .header-link .arrow-icon, +md-grid-tile .tile-header .md-button, +.tiles-grid-tile .tile-header .md-button, +md-input-container.has-fixed-message [ng-message] a, +.separate-list-items md-list-item .item-loader-with-text .md-button, +md-list-item.list-item-as-link { + color: #0000FF; +} + +.prm-links.prm-hue1, +.md-button.arrow-link-button .prm-hue1[link-arrow], +a.prm-hue1, +.md-button.arrow-link-button .prm-hue1.button-content, +[class*="NFT"]>span.prm-hue1, +[class*="check_"]>span.prm-hue1, +[class*="_more"]>span.prm-hue1, +[class*="_unknown"]>span.prm-hue1, +[class*="may_"]>span.prm-hue1, +[class*="does_not_exist"]>span.prm-hue1, +.worldcat>span.prm-hue1, +.getit>span.prm-hue1, +.esploro_status\.unknown>span.prm-hue1, +[class*="available"]>span.prm-hue1, +[class*="FT"]>span.prm-hue1, +.not_restricted>span.prm-hue1, +.ext_not_restricted>span.prm-hue1, +.fulltext_multiple>span.prm-hue1, +.fulltext>span.prm-hue1, +.fulltext_linktorsrc>span.prm-hue1, +.fulltext_newspaper>span.prm-hue1, +.fulltext_linktorsrc_newspaper>span.prm-hue1, +.fulltext_linktorsrc_topic>span.prm-hue1, +.fulltext_topic>span.prm-hue1, +.esploro_status\.not_restricted>span.prm-hue1, +[class*="unavailable"]>span.prm-hue1, +[class*="no_"]>span.prm-hue1, +.restricted>span.prm-hue1, +.duedate>span.prm-hue1, +.esploro_status\.embargoed>span.prm-hue1, +.esploro_status\.restricted>span.prm-hue1, +.login-dialog md-list md-list-item .md-list-item-text h3.prm-hue1, +.login-dialog md-list md-list-item .md-list-item-text .prm-hue1.list-item-title, +.login-dialog .md-list md-list-item .md-list-item-text h3.prm-hue1, +.login-dialog .md-list md-list-item .md-list-item-text .prm-hue1.list-item-title, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text h3.prm-hue1, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text .prm-hue1.list-item-title, +.login-dialog .collapsable-container md-list md-list-item .prm-hue1.md-list-item-inner, +.saved-query-list-2-line .md-list-item-text a, +.saved-query-list-2-line .md-list-item-text .md-button.arrow-link-button .button-content, +.md-button.arrow-link-button .saved-query-list-2-line .md-list-item-text .button-content, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container a.prm-hue1.link-to-altmetric-details-tab, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .md-button.arrow-link-button .prm-hue1.link-to-altmetric-details-tab.button-content, +.md-button.arrow-link-button prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .prm-hue1.link-to-altmetric-details-tab.button-content, +prm-tags-list .md-chips .md-chip .md-chip-content strong.prm-hue1, +prm-tags-list .md-chips md-chip .md-chip-content strong.prm-hue1, +prm-tags-list md-chips .md-chip .md-chip-content strong.prm-hue1, +prm-tags-list md-chips md-chip .md-chip-content strong.prm-hue1, +prm-newspapers-spotlight h3 a, +prm-newspapers-spotlight h3 .md-button.arrow-link-button .button-content, +.md-button.arrow-link-button prm-newspapers-spotlight h3 .button-content, +md-tabs.tabs-as-links md-tab-item.prm-hue1, +md-grid-tile .tile-header .header-link .prm-hue1.arrow-icon, +.tiles-grid-tile .tile-header .header-link .prm-hue1.arrow-icon, +md-grid-tile .tile-header .header-link:hover, +md-grid-tile .tile-header .header-link:focus, +.tiles-grid-tile .tile-header .header-link:hover, +.tiles-grid-tile .tile-header .header-link:focus, +md-grid-tile .tile-header .prm-hue1.md-button, +.tiles-grid-tile .tile-header .prm-hue1.md-button, +md-input-container.has-fixed-message [ng-message] a.prm-hue1, +.separate-list-items md-list-item .item-loader-with-text .prm-hue1.md-button, +md-list-item.prm-hue1.list-item-as-link { + color: #0000e6; +} + +.prm-links.prm-hue4, +.md-button.arrow-link-button .prm-hue4[link-arrow], +a.prm-hue4, +.md-button.arrow-link-button .prm-hue4.button-content, +[class*="NFT"]>span.prm-hue4, +[class*="check_"]>span.prm-hue4, +[class*="_more"]>span.prm-hue4, +[class*="_unknown"]>span.prm-hue4, +[class*="may_"]>span.prm-hue4, +[class*="does_not_exist"]>span.prm-hue4, +.worldcat>span.prm-hue4, +.getit>span.prm-hue4, +.esploro_status\.unknown>span.prm-hue4, +[class*="available"]>span.prm-hue4, +[class*="FT"]>span.prm-hue4, +.not_restricted>span.prm-hue4, +.ext_not_restricted>span.prm-hue4, +.fulltext_multiple>span.prm-hue4, +.fulltext>span.prm-hue4, +.fulltext_linktorsrc>span.prm-hue4, +.fulltext_newspaper>span.prm-hue4, +.fulltext_linktorsrc_newspaper>span.prm-hue4, +.fulltext_linktorsrc_topic>span.prm-hue4, +.fulltext_topic>span.prm-hue4, +.esploro_status\.not_restricted>span.prm-hue4, +[class*="unavailable"]>span.prm-hue4, +[class*="no_"]>span.prm-hue4, +.restricted>span.prm-hue4, +.duedate>span.prm-hue4, +.esploro_status\.embargoed>span.prm-hue4, +.esploro_status\.restricted>span.prm-hue4, +.login-dialog md-list md-list-item .md-list-item-text h3.prm-hue4, +.login-dialog md-list md-list-item .md-list-item-text .prm-hue4.list-item-title, +.login-dialog .md-list md-list-item .md-list-item-text h3.prm-hue4, +.login-dialog .md-list md-list-item .md-list-item-text .prm-hue4.list-item-title, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text h3.prm-hue4, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text .prm-hue4.list-item-title, +.login-dialog .collapsable-container md-list md-list-item .prm-hue4.md-list-item-inner, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container a.prm-hue4.link-to-altmetric-details-tab, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .md-button.arrow-link-button .prm-hue4.link-to-altmetric-details-tab.button-content, +.md-button.arrow-link-button prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .prm-hue4.link-to-altmetric-details-tab.button-content, +prm-tags-list .md-chips .md-chip .md-chip-content strong.prm-hue4, +prm-tags-list .md-chips md-chip .md-chip-content strong.prm-hue4, +prm-tags-list md-chips .md-chip .md-chip-content strong.prm-hue4, +prm-tags-list md-chips md-chip .md-chip-content strong.prm-hue4, +md-tabs.tabs-as-links md-tab-item.prm-hue4, +md-grid-tile .tile-header .header-link .prm-hue4.arrow-icon, +.tiles-grid-tile .tile-header .header-link .prm-hue4.arrow-icon, +md-grid-tile .tile-header .prm-hue4.md-button, +.tiles-grid-tile .tile-header .prm-hue4.md-button, +md-input-container.has-fixed-message [ng-message] a.prm-hue4, +.separate-list-items md-list-item .item-loader-with-text .prm-hue4.md-button, +md-list-item.prm-hue4.list-item-as-link { + color: #0000f5; +} + +.prm-links-important, +.text-link { + color: #0000FF !important; +} + +.prm-links.prm-links-hover, +.md-button.arrow-link-button .prm-links-hover[link-arrow], +a.prm-links-hover, +.md-button.arrow-link-button .prm-links-hover.button-content, +[class*="NFT"]>span.prm-links-hover, +[class*="check_"]>span.prm-links-hover, +[class*="_more"]>span.prm-links-hover, +[class*="_unknown"]>span.prm-links-hover, +[class*="may_"]>span.prm-links-hover, +[class*="does_not_exist"]>span.prm-links-hover, +.worldcat>span.prm-links-hover, +.getit>span.prm-links-hover, +.esploro_status\.unknown>span.prm-links-hover, +[class*="available"]>span.prm-links-hover, +[class*="FT"]>span.prm-links-hover, +.not_restricted>span.prm-links-hover, +.ext_not_restricted>span.prm-links-hover, +.fulltext_multiple>span.prm-links-hover, +.fulltext>span.prm-links-hover, +.fulltext_linktorsrc>span.prm-links-hover, +.fulltext_newspaper>span.prm-links-hover, +.fulltext_linktorsrc_newspaper>span.prm-links-hover, +.fulltext_linktorsrc_topic>span.prm-links-hover, +.fulltext_topic>span.prm-links-hover, +.esploro_status\.not_restricted>span.prm-links-hover, +[class*="unavailable"]>span.prm-links-hover, +[class*="no_"]>span.prm-links-hover, +.restricted>span.prm-links-hover, +.duedate>span.prm-links-hover, +.esploro_status\.embargoed>span.prm-links-hover, +.esploro_status\.restricted>span.prm-links-hover, +.login-dialog md-list md-list-item .md-list-item-text h3.prm-links-hover, +.login-dialog md-list md-list-item .md-list-item-text .prm-links-hover.list-item-title, +.login-dialog .md-list md-list-item .md-list-item-text h3.prm-links-hover, +.login-dialog .md-list md-list-item .md-list-item-text .prm-links-hover.list-item-title, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text h3.prm-links-hover, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text .prm-links-hover.list-item-title, +.login-dialog .collapsable-container md-list md-list-item .prm-links-hover.md-list-item-inner, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container a.prm-links-hover.link-to-altmetric-details-tab, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .md-button.arrow-link-button .prm-links-hover.link-to-altmetric-details-tab.button-content, +.md-button.arrow-link-button prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .prm-links-hover.link-to-altmetric-details-tab.button-content, +prm-tags-list .md-chips .md-chip .md-chip-content strong.prm-links-hover, +prm-tags-list .md-chips md-chip .md-chip-content strong.prm-links-hover, +prm-tags-list md-chips .md-chip .md-chip-content strong.prm-links-hover, +prm-tags-list md-chips md-chip .md-chip-content strong.prm-links-hover, +md-tabs.tabs-as-links md-tab-item.prm-links-hover, +md-grid-tile .tile-header .header-link .prm-links-hover.arrow-icon, +.tiles-grid-tile .tile-header .header-link .prm-links-hover.arrow-icon, +md-grid-tile .tile-header .prm-links-hover.md-button, +.tiles-grid-tile .tile-header .prm-links-hover.md-button, +md-input-container.has-fixed-message [ng-message] a.prm-links-hover, +.separate-list-items md-list-item .item-loader-with-text .prm-links-hover.md-button, +md-list-item.prm-links-hover.list-item-as-link { + color: #000099; +} + +.prm-links.prm-alt-link, +.md-button.arrow-link-button .prm-alt-link[link-arrow], +a.prm-alt-link, +.md-button.arrow-link-button .prm-alt-link.button-content, +[class*="NFT"]>span.prm-alt-link, +[class*="check_"]>span.prm-alt-link, +[class*="_more"]>span.prm-alt-link, +[class*="_unknown"]>span.prm-alt-link, +[class*="may_"]>span.prm-alt-link, +[class*="does_not_exist"]>span.prm-alt-link, +.worldcat>span.prm-alt-link, +.getit>span.prm-alt-link, +.esploro_status\.unknown>span.prm-alt-link, +[class*="available"]>span.prm-alt-link, +[class*="FT"]>span.prm-alt-link, +.not_restricted>span.prm-alt-link, +.ext_not_restricted>span.prm-alt-link, +.fulltext_multiple>span.prm-alt-link, +.fulltext>span.prm-alt-link, +.fulltext_linktorsrc>span.prm-alt-link, +.fulltext_newspaper>span.prm-alt-link, +.fulltext_linktorsrc_newspaper>span.prm-alt-link, +.fulltext_linktorsrc_topic>span.prm-alt-link, +.fulltext_topic>span.prm-alt-link, +.esploro_status\.not_restricted>span.prm-alt-link, +[class*="unavailable"]>span.prm-alt-link, +[class*="no_"]>span.prm-alt-link, +.restricted>span.prm-alt-link, +.duedate>span.prm-alt-link, +.esploro_status\.embargoed>span.prm-alt-link, +.esploro_status\.restricted>span.prm-alt-link, +.login-dialog md-list md-list-item .md-list-item-text h3.prm-alt-link, +.login-dialog md-list md-list-item .md-list-item-text .prm-alt-link.list-item-title, +.login-dialog .md-list md-list-item .md-list-item-text h3.prm-alt-link, +.login-dialog .md-list md-list-item .md-list-item-text .prm-alt-link.list-item-title, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text h3.prm-alt-link, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text .prm-alt-link.list-item-title, +.login-dialog .collapsable-container md-list md-list-item .prm-alt-link.md-list-item-inner, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container a.prm-alt-link.link-to-altmetric-details-tab, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .md-button.arrow-link-button .prm-alt-link.link-to-altmetric-details-tab.button-content, +.md-button.arrow-link-button prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .prm-alt-link.link-to-altmetric-details-tab.button-content, +prm-tags-list .md-chips .md-chip .md-chip-content strong.prm-alt-link, +prm-tags-list .md-chips md-chip .md-chip-content strong.prm-alt-link, +prm-tags-list md-chips .md-chip .md-chip-content strong.prm-alt-link, +prm-tags-list md-chips md-chip .md-chip-content strong.prm-alt-link, +md-tabs.tabs-as-links md-tab-item.prm-alt-link, +md-grid-tile .tile-header .header-link .prm-alt-link.arrow-icon, +.tiles-grid-tile .tile-header .header-link .prm-alt-link.arrow-icon, +md-grid-tile .tile-header .prm-alt-link.md-button, +.tiles-grid-tile .tile-header .prm-alt-link.md-button, +md-input-container.has-fixed-message [ng-message] a.prm-alt-link, +.separate-list-items md-list-item .item-loader-with-text .prm-alt-link.md-button, +md-list-item.prm-alt-link.list-item-as-link { + color: #000d79; +} + +.prm-links.prm-alt-link.prm-hue1, +.md-button.arrow-link-button .prm-alt-link.prm-hue1[link-arrow], +a.prm-alt-link.prm-hue1, +.md-button.arrow-link-button .prm-alt-link.prm-hue1.button-content, +[class*="NFT"]>span.prm-alt-link.prm-hue1, +[class*="check_"]>span.prm-alt-link.prm-hue1, +[class*="_more"]>span.prm-alt-link.prm-hue1, +[class*="_unknown"]>span.prm-alt-link.prm-hue1, +[class*="may_"]>span.prm-alt-link.prm-hue1, +[class*="does_not_exist"]>span.prm-alt-link.prm-hue1, +.worldcat>span.prm-alt-link.prm-hue1, +.getit>span.prm-alt-link.prm-hue1, +.esploro_status\.unknown>span.prm-alt-link.prm-hue1, +[class*="available"]>span.prm-alt-link.prm-hue1, +[class*="FT"]>span.prm-alt-link.prm-hue1, +.not_restricted>span.prm-alt-link.prm-hue1, +.ext_not_restricted>span.prm-alt-link.prm-hue1, +.fulltext_multiple>span.prm-alt-link.prm-hue1, +.fulltext>span.prm-alt-link.prm-hue1, +.fulltext_linktorsrc>span.prm-alt-link.prm-hue1, +.fulltext_newspaper>span.prm-alt-link.prm-hue1, +.fulltext_linktorsrc_newspaper>span.prm-alt-link.prm-hue1, +.fulltext_linktorsrc_topic>span.prm-alt-link.prm-hue1, +.fulltext_topic>span.prm-alt-link.prm-hue1, +.esploro_status\.not_restricted>span.prm-alt-link.prm-hue1, +[class*="unavailable"]>span.prm-alt-link.prm-hue1, +[class*="no_"]>span.prm-alt-link.prm-hue1, +.restricted>span.prm-alt-link.prm-hue1, +.duedate>span.prm-alt-link.prm-hue1, +.esploro_status\.embargoed>span.prm-alt-link.prm-hue1, +.esploro_status\.restricted>span.prm-alt-link.prm-hue1, +.login-dialog md-list md-list-item .md-list-item-text h3.prm-alt-link.prm-hue1, +.login-dialog md-list md-list-item .md-list-item-text .prm-alt-link.prm-hue1.list-item-title, +.login-dialog .md-list md-list-item .md-list-item-text h3.prm-alt-link.prm-hue1, +.login-dialog .md-list md-list-item .md-list-item-text .prm-alt-link.prm-hue1.list-item-title, +.login-dialog .collapsable-container md-list md-list-item .prm-alt-link.prm-hue1.md-list-item-inner, +.saved-query-list-2-line .md-list-item-text a.prm-alt-link, +.saved-query-list-2-line .md-list-item-text .md-button.arrow-link-button .prm-alt-link.button-content, +.md-button.arrow-link-button .saved-query-list-2-line .md-list-item-text .prm-alt-link.button-content, +prm-main-menu[menu-type="full"] md-button .md-headline, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container a.prm-alt-link.prm-hue1.link-to-altmetric-details-tab, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .md-button.arrow-link-button .prm-alt-link.prm-hue1.link-to-altmetric-details-tab.button-content, +.md-button.arrow-link-button prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .prm-alt-link.prm-hue1.link-to-altmetric-details-tab.button-content, +prm-tags-list .md-chips .md-chip .md-chip-content strong.prm-alt-link.prm-hue1, +prm-tags-list .md-chips md-chip .md-chip-content strong.prm-alt-link.prm-hue1, +prm-tags-list md-chips .md-chip .md-chip-content strong.prm-alt-link.prm-hue1, +prm-tags-list md-chips md-chip .md-chip-content strong.prm-alt-link.prm-hue1, +prm-newspapers-spotlight h3 a.prm-alt-link, +prm-newspapers-spotlight h3 .md-button.arrow-link-button .prm-alt-link.button-content, +.md-button.arrow-link-button prm-newspapers-spotlight h3 .prm-alt-link.button-content, +md-tabs.tabs-as-links md-tab-item.prm-alt-link.prm-hue1, +md-grid-tile .tile-header .header-link .prm-alt-link.prm-hue1.arrow-icon, +.tiles-grid-tile .tile-header .header-link .prm-alt-link.prm-hue1.arrow-icon, +md-grid-tile .tile-header .prm-alt-link.header-link:hover, +md-grid-tile .tile-header .prm-alt-link.header-link:focus, +.tiles-grid-tile .tile-header .prm-alt-link.header-link:hover, +.tiles-grid-tile .tile-header .prm-alt-link.header-link:focus, +md-grid-tile .tile-header .prm-alt-link.prm-hue1.md-button, +.tiles-grid-tile .tile-header .prm-alt-link.prm-hue1.md-button, +md-input-container.has-fixed-message [ng-message] a.prm-alt-link.prm-hue1, +.separate-list-items md-list-item .item-loader-with-text .prm-alt-link.prm-hue1.md-button, +md-list-item.prm-alt-link.prm-hue1.list-item-as-link { + color: #33FFFF; +} + +.prm-links.prm-hue-2, +.md-button.arrow-link-button .prm-hue-2[link-arrow], +a.prm-hue-2, +.md-button.arrow-link-button .prm-hue-2.button-content, +[class*="NFT"]>span.prm-hue-2, +[class*="check_"]>span.prm-hue-2, +[class*="_more"]>span.prm-hue-2, +[class*="_unknown"]>span.prm-hue-2, +[class*="may_"]>span.prm-hue-2, +[class*="does_not_exist"]>span.prm-hue-2, +.worldcat>span.prm-hue-2, +.getit>span.prm-hue-2, +.esploro_status\.unknown>span.prm-hue-2, +[class*="available"]>span.prm-hue-2, +[class*="FT"]>span.prm-hue-2, +.not_restricted>span.prm-hue-2, +.ext_not_restricted>span.prm-hue-2, +.fulltext_multiple>span.prm-hue-2, +.fulltext>span.prm-hue-2, +.fulltext_linktorsrc>span.prm-hue-2, +.fulltext_newspaper>span.prm-hue-2, +.fulltext_linktorsrc_newspaper>span.prm-hue-2, +.fulltext_linktorsrc_topic>span.prm-hue-2, +.fulltext_topic>span.prm-hue-2, +.esploro_status\.not_restricted>span.prm-hue-2, +[class*="unavailable"]>span.prm-hue-2, +[class*="no_"]>span.prm-hue-2, +.restricted>span.prm-hue-2, +.duedate>span.prm-hue-2, +.esploro_status\.embargoed>span.prm-hue-2, +.esploro_status\.restricted>span.prm-hue-2, +.login-dialog md-list md-list-item .md-list-item-text h3.prm-hue-2, +.login-dialog md-list md-list-item .md-list-item-text .prm-hue-2.list-item-title, +.login-dialog .md-list md-list-item .md-list-item-text h3.prm-hue-2, +.login-dialog .md-list md-list-item .md-list-item-text .prm-hue-2.list-item-title, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text h3.prm-hue-2, +.login-dialog .md-list[class$="-line"] md-list-item>.md-no-style .md-list-item-text .prm-hue-2.list-item-title, +.login-dialog .collapsable-container md-list md-list-item .prm-hue-2.md-list-item-inner, +prm-user-area .user-menu-button .user-name, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container a.prm-hue-2.link-to-altmetric-details-tab, +prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .md-button.arrow-link-button .prm-hue-2.link-to-altmetric-details-tab.button-content, +.md-button.arrow-link-button prm-usage-metrics div[id^=_altmetric_popover_el].altmetric-embed div#_altmetric_container.altmetric_container .prm-hue-2.link-to-altmetric-details-tab.button-content, +prm-tags-list .md-chips .md-chip .md-chip-content strong.prm-hue-2, +prm-tags-list .md-chips md-chip .md-chip-content strong.prm-hue-2, +prm-tags-list md-chips .md-chip .md-chip-content strong.prm-hue-2, +prm-tags-list md-chips md-chip .md-chip-content strong.prm-hue-2, +md-tabs.tabs-as-links md-tab-item.prm-hue-2, +md-grid-tile .tile-header .header-link .prm-hue-2.arrow-icon, +.tiles-grid-tile .tile-header .header-link .prm-hue-2.arrow-icon, +md-grid-tile .tile-header .prm-hue-2.md-button, +.tiles-grid-tile .tile-header .prm-hue-2.md-button, +md-input-container.has-fixed-message [ng-message] a.prm-hue-2, +.separate-list-items md-list-item .item-loader-with-text .prm-hue-2.md-button, +md-list-item.prm-hue-2.list-item-as-link { + color: #33FFFF; +} + +.prm-links-bg { + color: #0000FF; +} + +.prm-links-bg:hover:not([disabled]), +.prm-links-bg:focus:not([disabled]), +.prm-links-bg.hovered:not([disabled]), +.prm-links-bg.md-focused:not([disabled]), +.prm-links-bg._md-focused:not([disabled]) { + color: white; + background-color: #0000FF; +} + +.prm-links-bg.prm-hue-1 { + background-color: rgba(0, 0, 255, 0.1); +} + +.prm-links-background.prm-hue-1 { + background-color: rgba(0, 0, 255, 0.1); +} + +.prm-links-background.prm-hue-2 { + background-color: rgba(0, 0, 255, 0); +} + +.prm-links-background.prm-hue-3, +md-tabs md-ink-bar { + background-color: #0000cc; +} + +.prm-links-hover.prm-hue-1 { + color: #000099; +} + +.prm-links-hover.prm-hue-2 { + color: rgba(0, 0, 153, 0.5); +} + +.prm-links-hover.prm-hue-3 { + color: rgba(0, 0, 255, 0); +} + +.prm-text, +body, +a.a-tag-as-wrapper, +.md-button.arrow-link-button .a-tag-as-wrapper.button-content, +a.a-tag-as-wrapper:hover, +.recommendations-title:hover>span>span.a-tag-as-wrapper, +.recommendations-title.hover>span>span.a-tag-as-wrapper, +prm-tags-list .md-chips .md-chip .md-chip-content:hover strong.a-tag-as-wrapper, +prm-tags-list .md-chips md-chip .md-chip-content:hover strong.a-tag-as-wrapper, +prm-tags-list md-chips .md-chip .md-chip-content:hover strong.a-tag-as-wrapper, +prm-tags-list md-chips md-chip .md-chip-content:hover strong.a-tag-as-wrapper, +a.a-tag-as-wrapper:focus, +.hack-a-tag-unclickable a, +.hack-a-tag-unclickable .md-button.arrow-link-button .button-content, +.md-button.arrow-link-button .hack-a-tag-unclickable .button-content, +prm-search-result-tool-bar .md-toolbar-tools, +.prm-user-menu-content .user-menu-header, +prm-search-bar, +prm-atoz-search-bar, +prm-browse-search-bar, +prm-tags-search-bar, +prm-newspapers-search-bar, +prm-virtual-browse-item md-card md-card-title, +prm-virtual-browse-item md-card md-card-content, +prm-more-like-this-item md-card md-card-title, +prm-more-like-this-item md-card md-card-content, +md-input-container.static-select.md-input-has-value label, +md-input-container.static-select.md-input-has-value label:not(.md-no-float), +.presentable-disabled-inputs md-input-container label, +md-tooltip.bright-tooltip, +md-toolbar.transparent-toolbar, +md-toolbar.md-primoExplore-theme.transparent-toolbar, +md-toolbar.transparent-toolbar:not(.md-menu-toolbar), +md-toolbar.default-toolbar, +md-toolbar.md-primoExplore-theme.default-toolbar, +md-toolbar.default-toolbar:not(.md-menu-toolbar) { + color: #3a3a3a; +} + +.prm-text.prm-hue1, +body.prm-hue1, +a.prm-hue1.a-tag-as-wrapper, +.md-button.arrow-link-button .prm-hue1.a-tag-as-wrapper.button-content, +.recommendations-title:hover>span>span.prm-hue1.a-tag-as-wrapper, +.recommendations-title.hover>span>span.prm-hue1.a-tag-as-wrapper, +prm-tags-list .md-chips .md-chip .md-chip-content:hover strong.prm-hue1.a-tag-as-wrapper, +prm-tags-list .md-chips md-chip .md-chip-content:hover strong.prm-hue1.a-tag-as-wrapper, +prm-tags-list md-chips .md-chip .md-chip-content:hover strong.prm-hue1.a-tag-as-wrapper, +prm-tags-list md-chips md-chip .md-chip-content:hover strong.prm-hue1.a-tag-as-wrapper, +.hack-a-tag-unclickable a.prm-hue1, +.hack-a-tag-unclickable .md-button.arrow-link-button .prm-hue1.button-content, +.md-button.arrow-link-button .hack-a-tag-unclickable .prm-hue1.button-content, +prm-search-result-tool-bar .prm-hue1.md-toolbar-tools, +.prm-user-menu-content .prm-hue1.user-menu-header, +prm-search-bar.prm-hue1, +prm-atoz-search-bar.prm-hue1, +prm-browse-search-bar.prm-hue1, +prm-tags-search-bar.prm-hue1, +prm-newspapers-search-bar.prm-hue1, +prm-virtual-browse-item md-card md-card-title.prm-hue1, +prm-virtual-browse-item md-card md-card-content.prm-hue1, +prm-more-like-this-item md-card md-card-title.prm-hue1, +prm-more-like-this-item md-card md-card-content.prm-hue1, +md-input-container.static-select.md-input-has-value label.prm-hue1, +.presentable-disabled-inputs md-input-container label.prm-hue1, +md-tooltip.prm-hue1.bright-tooltip, +md-toolbar.prm-hue1.transparent-toolbar, +md-toolbar.prm-hue1.default-toolbar { + color: #878787; +} + +.prm-text.prm-hue2, +body.prm-hue2, +a.prm-hue2.a-tag-as-wrapper, +.md-button.arrow-link-button .prm-hue2.a-tag-as-wrapper.button-content, +.recommendations-title:hover>span>span.prm-hue2.a-tag-as-wrapper, +.recommendations-title.hover>span>span.prm-hue2.a-tag-as-wrapper, +prm-tags-list .md-chips .md-chip .md-chip-content:hover strong.prm-hue2.a-tag-as-wrapper, +prm-tags-list .md-chips md-chip .md-chip-content:hover strong.prm-hue2.a-tag-as-wrapper, +prm-tags-list md-chips .md-chip .md-chip-content:hover strong.prm-hue2.a-tag-as-wrapper, +prm-tags-list md-chips md-chip .md-chip-content:hover strong.prm-hue2.a-tag-as-wrapper, +.hack-a-tag-unclickable a.prm-hue2, +.hack-a-tag-unclickable .md-button.arrow-link-button .prm-hue2.button-content, +.md-button.arrow-link-button .hack-a-tag-unclickable .prm-hue2.button-content, +prm-search-result-tool-bar .prm-hue2.md-toolbar-tools, +.prm-user-menu-content .prm-hue2.user-menu-header, +prm-search-bar.prm-hue2, +prm-atoz-search-bar.prm-hue2, +prm-browse-search-bar.prm-hue2, +prm-tags-search-bar.prm-hue2, +prm-newspapers-search-bar.prm-hue2, +prm-virtual-browse-item md-card md-card-title.prm-hue2, +prm-virtual-browse-item md-card md-card-content.prm-hue2, +prm-more-like-this-item md-card md-card-title.prm-hue2, +prm-more-like-this-item md-card md-card-content.prm-hue2, +md-input-container label, +md-input-container label:not(.md-no-float), +md-input-container.static-select.md-input-has-value label.prm-hue2, +.presentable-disabled-inputs md-input-container label.prm-hue2, +md-tooltip.prm-hue2.bright-tooltip, +md-toolbar.prm-hue2.transparent-toolbar, +md-toolbar.prm-hue2.default-toolbar { + color: #3a3a3a; +} + +.prm-text.prm-hue3, +body.prm-hue3, +.darker-text, +a.prm-hue3.a-tag-as-wrapper, +.md-button.arrow-link-button .prm-hue3.a-tag-as-wrapper.button-content, +.recommendations-title:hover>span>span.prm-hue3.a-tag-as-wrapper, +.recommendations-title.hover>span>span.prm-hue3.a-tag-as-wrapper, +prm-tags-list .md-chips .md-chip .md-chip-content:hover strong.prm-hue3.a-tag-as-wrapper, +prm-tags-list .md-chips md-chip .md-chip-content:hover strong.prm-hue3.a-tag-as-wrapper, +prm-tags-list md-chips .md-chip .md-chip-content:hover strong.prm-hue3.a-tag-as-wrapper, +prm-tags-list md-chips md-chip .md-chip-content:hover strong.prm-hue3.a-tag-as-wrapper, +.hack-a-tag-unclickable a.prm-hue3, +.hack-a-tag-unclickable .md-button.arrow-link-button .prm-hue3.button-content, +.md-button.arrow-link-button .hack-a-tag-unclickable .prm-hue3.button-content, +prm-search-result-tool-bar .prm-hue3.md-toolbar-tools, +.prm-user-menu-content .prm-hue3.user-menu-header, +prm-search-bar.prm-hue3, +prm-atoz-search-bar.prm-hue3, +prm-browse-search-bar.prm-hue3, +prm-tags-search-bar.prm-hue3, +prm-newspapers-search-bar.prm-hue3, +prm-virtual-browse-item md-card md-card-title.prm-hue3, +prm-virtual-browse-item md-card md-card-content.prm-hue3, +prm-more-like-this-item md-card md-card-title.prm-hue3, +prm-more-like-this-item md-card md-card-content.prm-hue3, +md-input-container.static-select.md-input-has-value label.prm-hue3, +.presentable-disabled-inputs md-input-container label.prm-hue3, +md-tooltip.prm-hue3.bright-tooltip, +md-toolbar.prm-hue3.transparent-toolbar, +md-toolbar.prm-hue3.default-toolbar { + color: #212121; +} + +.prm-text.prm-hue4, +body.prm-hue4, +.weak-text, +.numbered-list .item:before, +prm-reference-entry-item .reference-entry-type, +prm-snippet prm-icon, +.prm-recommendations-fullview .resource-count, +a.prm-hue4.a-tag-as-wrapper, +.md-button.arrow-link-button .prm-hue4.a-tag-as-wrapper.button-content, +.recommendations-title:hover>span>span.prm-hue4.a-tag-as-wrapper, +.recommendations-title.hover>span>span.prm-hue4.a-tag-as-wrapper, +prm-tags-list .md-chips .md-chip .md-chip-content:hover strong.prm-hue4.a-tag-as-wrapper, +prm-tags-list .md-chips md-chip .md-chip-content:hover strong.prm-hue4.a-tag-as-wrapper, +prm-tags-list md-chips .md-chip .md-chip-content:hover strong.prm-hue4.a-tag-as-wrapper, +prm-tags-list md-chips md-chip .md-chip-content:hover strong.prm-hue4.a-tag-as-wrapper, +.hack-a-tag-unclickable a.prm-hue4, +.hack-a-tag-unclickable .md-button.arrow-link-button .prm-hue4.button-content, +.md-button.arrow-link-button .hack-a-tag-unclickable .prm-hue4.button-content, +prm-search-result-tool-bar .prm-hue4.md-toolbar-tools, +.prm-user-menu-content .prm-hue4.user-menu-header, +prm-search-bar.prm-hue4, +prm-atoz-search-bar.prm-hue4, +prm-browse-search-bar.prm-hue4, +prm-tags-search-bar.prm-hue4, +prm-newspapers-search-bar.prm-hue4, +prm-virtual-browse-item md-card md-card-title.prm-hue4, +prm-virtual-browse-item md-card md-card-content.prm-hue4, +prm-more-like-this-item md-card md-card-title.prm-hue4, +prm-more-like-this-item md-card md-card-content.prm-hue4, +md-input-container.static-select.md-input-has-value label.prm-hue4, +.presentable-disabled-inputs md-input-container label.prm-hue4, +md-tooltip.prm-hue4.bright-tooltip, +md-toolbar.prm-hue4.transparent-toolbar, +md-toolbar.prm-hue4.default-toolbar { + color: #545454; +} + +.prm-warn, +md-input-container.md-required:before, +md-input-container.md-input-invalid:before, +.required-starlet, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked .md-container, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked ._md-container, +.md-chip-remove-container button:hover md-icon, +.md-chip-remove-container button:focus md-icon, +prm-tags-list .md-chips.md-removable .md-chip .md-chip-remove md-icon, +prm-tags-list .md-chips.md-removable md-chip .md-chip-remove md-icon, +prm-tags-list md-chips.md-removable .md-chip .md-chip-remove md-icon, +prm-tags-list md-chips.md-removable md-chip .md-chip-remove md-icon, +md-input-container.md-input-invalid, +.md-chips .md-chip.toggleable-chip .md-chip-remove-container prm-icon.close-button { + color: #FF7700; +} + +.prm-warn-bg, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked .md-icon, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked ._md-icon, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked.md-focused ._md-container:before { + background-color: #FF7700; +} + +.prm-warn-bg.prm-hue1, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked .prm-hue1.md-icon, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked .prm-hue1._md-icon, +.multiselect-facet-group .md-chip.facet-excluded md-checkbox.md-checked.md-focused .prm-hue1._md-container:before, +md-input-container.md-input-invalid:after { + background-color: #994700; +} + +.prm-alert, +.bar.alert-bar, +.classic-input .search-scope { + color: black; +} + +.prm-alert-bg, +.bar.alert-bar, +.classic-input .search-scope { + background-color: #F7EDA3; +} + +.prm-alert-border, +.bar.alert-bar, +.classic-input .search-scope { + border-color: #ede49e; +} + +.prm-highlight, +prm-breadcrumbs .md-chip.persistent-facet { + background-color: #FFFCC4; +} + +.prm-highlight.prm-hue1, +.list-item-wrapper .item-bookmarked, +.list-item-wrapper .item-bookmarked:hover, +prm-breadcrumbs .prm-hue1.md-chip.persistent-facet { + background-color: #FFFCC4; +} + +.prm-notice, +.status-maybe, +[class*="NFT"], +[class*="check_"], +[class*="_more"], +[class*="_unknown"], +[class*="may_"], +[class*="does_not_exist"], +.worldcat, +.getit, +.esploro_status\.unknown, +prm-search-result-frbr-line a>prm-icon:first-child, +prm-search-result-frbr-line .md-button.arrow-link-button .button-content>prm-icon:first-child, +.md-button.arrow-link-button prm-search-result-frbr-line .button-content>prm-icon:first-child { + color: #FF7700; +} + +.prm-positive, +.status-available, +[class*="available"], +[class*="FT"], +.not_restricted, +.ext_not_restricted, +.fulltext_multiple, +.fulltext, +.fulltext_linktorsrc, +.fulltext_newspaper, +.fulltext_linktorsrc_newspaper, +.fulltext_linktorsrc_topic, +.fulltext_topic, +.esploro_status\.not_restricted { + color: #0000FF; +} + +.prm-positive.prm-hue1, +.md-button.button-confirm, +.service-form-static-panel button.button-confirm prm-icon+span, +.service-form-static-panel button.button-confirm prm-icon svg path, +.prm-hue1.status-available, +.prm-hue1[class*="available"], +.prm-hue1[class*="FT"], +.prm-hue1.not_restricted, +.prm-hue1.ext_not_restricted, +.prm-hue1.fulltext_multiple, +.prm-hue1.fulltext, +.prm-hue1.fulltext_linktorsrc, +.prm-hue1.fulltext_newspaper, +.prm-hue1.fulltext_linktorsrc_newspaper, +.prm-hue1.fulltext_linktorsrc_topic, +.prm-hue1.fulltext_topic, +.prm-hue1.esploro_status\.not_restricted { + color: #0000f5; +} + +.prm-positive-bg, +.multiselect-submit .multiselect-submit-inner .md-button.md-primary { + background-color: #0000FF; +} + +.prm-negative { + color: #595959; +} + +.prm-negative.prm-hue1, +.status-unavailable, +[class*="unavailable"], +[class*="no_"], +.restricted, +.duedate, +.esploro_status\.embargoed, +.esploro_status\.restricted { + color: #433c3c; +} + +.prm-citation-color, +prm-chapters-and-reviews .item-type { + color: tomato; +} + +.prm-citation-color.prm-hue2, +prm-citation-trails-item .item-type, +prm-chapters-and-reviews .prm-hue2.item-type { + color: #e02200; +} + +.prm-citation-color.prm-hue3, +prm-chapters-and-reviews .prm-hue3.item-type { + color: #d62100; +} + +.prm-citation-color.citation-hover, +prm-citation-trails-indication .md-button.md-icon-button:hover, +prm-citation-trails-indication .md-button.button-with-icon:hover, +prm-chapters-and-reviews .citation-hover.item-type { + color: #7a1300; +} + +.prm-warning-color { + color: #FF7700; +} + +.prm-warning-color.prm-hue1, +prm-advanced-search .warning-message, +prm-personal-settings .switch-warning-message { + color: #994700; +} + +.prm-warning-color.prm-hue2, +prm-tags-list ._md-chip-remove md-icon { + color: #8f4300; +} + +.prm-citation-title, +prm-citation-trails-item.active-item .item-title, +prm-chapters-and-reviews .item-title, +prm-opac .related-title .related-title-name, +prm-gallery-collection .collection-folder .collection-overlay, +prm-gallery-item .collection-element .item-title, +prm-browse-search md-list.prm-list.prm-linkable-list-items md-list-item .item-title, +prm-tags-results-list md-list.prm-list.prm-linkable-list-items md-list-item .item-title, +md-list.prm-list.prm-linkable-list-items md-list-item .item-title { + color: #44707b; +} + +.prm-hover-list-element-bg, +prm-brief-result-container .list-item-primary-content:before, +prm-browse-search md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:hover+.md-list-item-inner, +prm-browse-search md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:hover+._md-list-item-inner, +prm-browse-search md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:focus+.md-list-item-inner, +prm-browse-search md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:focus+._md-list-item-inner, +prm-tags-results-list md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:hover+.md-list-item-inner, +prm-tags-results-list md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:hover+._md-list-item-inner, +prm-tags-results-list md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:focus+.md-list-item-inner, +prm-tags-results-list md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:focus+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:hover+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items .md-button.arrow-link-button md-list-item>.md-button>.button-content:hover+.md-list-item-inner, +.md-button.arrow-link-button md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>.button-content:hover+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item.recommendations-title:hover>span.md-button>span+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item.recommendations-title.hover>span.md-button>span+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list .md-chips .md-chip .md-chip-content:hover md-list-item>.md-button>strong+.md-list-item-inner, +prm-tags-list .md-chips .md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list .md-chips md-chip .md-chip-content:hover md-list-item>.md-button>strong+.md-list-item-inner, +prm-tags-list .md-chips md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list md-chips .md-chip .md-chip-content:hover md-list-item>.md-button>strong+.md-list-item-inner, +prm-tags-list md-chips .md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list md-chips md-chip .md-chip-content:hover md-list-item>.md-button>strong+.md-list-item-inner, +prm-tags-list md-chips md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:hover+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items .md-button.arrow-link-button md-list-item>.md-button>.button-content:hover+._md-list-item-inner, +.md-button.arrow-link-button md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>.button-content:hover+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item.recommendations-title:hover>span.md-button>span+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item.recommendations-title.hover>span.md-button>span+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list .md-chips .md-chip .md-chip-content:hover md-list-item>.md-button>strong+._md-list-item-inner, +prm-tags-list .md-chips .md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list .md-chips md-chip .md-chip-content:hover md-list-item>.md-button>strong+._md-list-item-inner, +prm-tags-list .md-chips md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list md-chips .md-chip .md-chip-content:hover md-list-item>.md-button>strong+._md-list-item-inner, +prm-tags-list md-chips .md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items prm-tags-list md-chips md-chip .md-chip-content:hover md-list-item>.md-button>strong+._md-list-item-inner, +prm-tags-list md-chips md-chip .md-chip-content:hover md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>strong+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:focus+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items .md-button.arrow-link-button md-list-item>.md-button>.button-content:focus+.md-list-item-inner, +.md-button.arrow-link-button md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>.button-content:focus+.md-list-item-inner, +md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>a:focus+._md-list-item-inner, +md-list.prm-list.prm-linkable-list-items .md-button.arrow-link-button md-list-item>.md-button>.button-content:focus+._md-list-item-inner, +.md-button.arrow-link-button md-list.prm-list.prm-linkable-list-items md-list-item>.md-button>.button-content:focus+._md-list-item-inner { + background-color: white; +} + +.prm-peer-reviewed, +.prm-course { + color: #8359d4; +} + +.prm-open-access { + color: #f68212; +} + +.prm-personalization, +prm-search-result-list prm-personalize-results-button .md-button md-switch.md-checked .md-label, +prm-search-result-list prm-personalize-results-button .md-button md-switch.md-checked ._md-label, +prm-search-result-list prm-personalize-results-button .md-button md-switch._md-checked .md-label, +prm-search-result-list prm-personalize-results-button .md-button md-switch._md-checked ._md-label, +.sidebar .personalization-section .section-title-header, +.sidebar .personalization-section .sidebar-list, +.sidebar .personalization-section md-checkbox { + color: #7d1538; +} + +.prm-personalization-bg, +prm-search-result-list prm-personalize-results-button .md-button md-switch.md-checked .md-bar, +prm-search-result-list prm-personalize-results-button .md-button md-switch.md-checked ._md-bar, +prm-search-result-list prm-personalize-results-button .md-button md-switch._md-checked .md-bar, +prm-search-result-list prm-personalize-results-button .md-button md-switch._md-checked ._md-bar, +prm-search-result-list prm-personalize-results-button .md-button md-switch.md-checked .md-thumb, +prm-search-result-list prm-personalize-results-button .md-button md-switch.md-checked ._md-thumb, +prm-search-result-list prm-personalize-results-button .md-button md-switch._md-checked .md-thumb, +prm-search-result-list prm-personalize-results-button .md-button md-switch._md-checked ._md-thumb, +.sidebar .personalization-section md-checkbox.md-checked .md-icon, +.sidebar .personalization-section .sidebar-list li:before, +.sidebar .personalization-section ul li:before { + background-color: #7d1538; +} + +.prm-organization, +prm-facet prm-organization-or-facet-toggle .md-button md-switch .md-label, +prm-facet prm-organization-or-facet-toggle .md-button md-switch ._md-label { + color: #cc006d; +} + +.prm-organization-bg, +prm-facet prm-organization-or-facet-toggle .md-button md-switch .md-bar, +prm-facet prm-organization-or-facet-toggle .md-button md-switch ._md-bar, +prm-facet prm-organization-or-facet-toggle .md-button md-switch .md-thumb, +prm-facet prm-organization-or-facet-toggle .md-button md-switch ._md-thumb { + background-color: #cc006d; +} + +.prm-dark { + color: #3a3a3a; +} + +.prm-dark.prm-hue1 { + color: black; +} + +/* Sandbox primary color hook end*/ + +/* alert colors which don't get changed by primo studio customizations */ +.prm-alert-bg, +.bar.alert-bar, +.classic-input .search-scope { + background-color: #FFC800; +} + +.prm-alert-border, +.bar.alert-bar, +.classic-input .search-scope { + border-color: #FFC800; +} + +/*-------- DETAILED RESULTS ---------------*/ + +/* Hides left toolbar */ +div.services-index-under { + display: none; +} + +/*-------- TOP NAV BAR -------------------------*/ + +/* Ask Us Button */ +#ask-us-mit a { + color: #dedede; + display: flex; + fill: #dedede; + flex-direction: column; + align-items: center; + font-size: 14px; + border-radius: 50%; + padding: .5em; + transition: box-shadow .4s cubic-bezier(.25, .8, .25, 1), background-color .4s cubic-bezier(.25, .8, .25, 1); +} + +#ask-us-mit a:hover { + color: #53738c; + fill: #53738c; + background: white; +} + +div#ask-us-mit { + margin: .5em; +} + +/*----- add title after logo -----*/ + +div#title-mit { + padding: 25px; +} + +div#title-mit a { + color: hsla(0, 0%, 100%, .85); + font-size: 1.5em; + font-weight: 600; +} + +prm-topbar prm-logo { + display: flex; + align-items: center; + max-width: initial; +} + +.top-nav-bar.layout-row { + flex-wrap: wrap; +} + +.top-nav-bar.layout-row>.flex-50 { + flex-basis: auto; +} + +/*----- resize right margin to see 3 dots in mobile view -----*/ + +prm-search-bookmark-filter { + height: 100%; + margin-right: -.1em; +} + +/*-------- LOGIN PAGE ---------------*/ +/* Fixes color contrast issue */ +prm-stand-alone-login>div.layout-fill { + background-color: #333; +} + +/* Show Main Menu links on Services Page */ +prm-topbar .isDeposit, +prm-topbar .isServicePage, +prm-topbar .isSummonOverAlma { + display: inline; +} + +/* Hide OTB no results tile because we make our own in AngularJS */ +prm-no-search-result>md-card { + display: none; +} + +/* libchat styling */ +.lcs_slide_out header { + transform: rotate(0deg) !important; +} + +.lcs_slide_out header a { + font-weight: 600; + font-family: sans-serif; + text-decoration: none; + border-left: 1px solid black !important; + border-bottom: 1px solid black !important; + border-top: 1px solid black !important; + border-right: 0px !important; + box-shadow: none !important; + transform: translateX(-100%); + left: auto !important; +} + +div.lcs_slide_out { + border: 0px; +} + +.lcs_slide_out iframe { + border: 1px solid black !important +} + + +.lcs_slide_out-r { + top: unset !important; + bottom: 0 !important; +} + +.lcs_slide_out-r.open { + top: unset !important; + bottom: 0px !important; +} + +@media all and (max-width: 599px) { + div.lcs_slide_out { + display: none; + } +} + +/*------- Favorites Warning Message for Guests ------- */ +prm-favorites-warning-message .favorites-guest-warning-triangle { + left: 75px; + border-bottom: 10px solid #FFC800; +} + +prm-favorites-warning-message .favorites-guest-warning { + border: 2px solid #FFC800; +} + +prm-favorites-warning-message .mobile-favorites-warning-message { + background-color: #FFC800; +} + +prm-favorites-warning-message md-toast { + background-color: #FFC800; +} + +/*-------- Apply filter button ------------ */ +.multiselect-submit .multiselect-submit-inner .md-button.md-primary { + color: #FFFFFF; + padding-left: 0.75em; + padding-right: 0.75em; +} + +/*---------Results list numbers --------------*/ +.list-item-count { + color: #000; +} + +/*---------full width alert (prmSearchBarAfter)-----------------------*/ +/* vw doesn't account for scroll bars, so the margin calculations below +are too big by the width of the vertical scroll bar, resulting in a horizontal +scroll bar. we set the parent element's (prm-search-bar) overflow-x property +to hidden to prevent the scroll bar from displaying. +*/ +prm-search-bar, prm-atoz-search-bar, prm-browse-search-bar { + overflow:hidden; +} + +.full-width-alert { + background-color: #333; + color: #fff; + text-align: center; + font-size: 1.5rem; + padding: 1rem; + margin-top: 1rem; + margin-right: calc(50% - 50vw); + margin-left: calc(50% - 50vw); + border-top: 1px solid grey; +} + +.full-width-alert a { + color: #00C8FF + } + +.full-width-alert a:hover { + color: #00C800 + } + +.full-width-alert a:active { + color: #FF00FF + } + + +@media (max-width: 599px) { + .full-width-alert { + display:none; + } +} + +@media (min-width: 600px) and (max-width:1019px) { + .full-width-alert { + margin-bottom:-1rem; + } + } + +@media (min-width: 1020px){ + .full-width-alert { + margin-bottom:-1.5rem; + } +} \ No newline at end of file diff --git a/primo-explore/custom/01MIT_INST-TACOS/features.json.txt b/primo-explore/custom/01MIT_INST-TACOS/features.json.txt new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/features.json.txt @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/primo-explore/custom/01MIT_INST-TACOS/html/README.md b/primo-explore/custom/01MIT_INST-TACOS/html/README.md new file mode 100644 index 000000000..09c9a4fc5 --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/html/README.md @@ -0,0 +1,14 @@ +# The Primo New UI Customization Workflow Development Environment + + +##html documentation + + - In this folder you will find static html files in their OTB state + - You can edit the html to comply with your library requirements + - Note that you can use Angular Material directives in your html: + > https://material.angularjs.org/latest/ + + + + + diff --git a/primo-explore/custom/01MIT_INST-TACOS/html/email/email_en.tmpl.html b/primo-explore/custom/01MIT_INST-TACOS/html/email/email_en.tmpl.html new file mode 100644 index 000000000..3d11de256 --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/html/email/email_en.tmpl.html @@ -0,0 +1,109 @@ + + + + + + + +
+ +
+ + + + + + + + + + + +
+
+
+ +
+ + + + +
+ {{$ctrl.parentCtrl.note}} +
+ + + + +
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + +
+

+
diff --git a/primo-explore/custom/01MIT_INST-TACOS/html/homepage/README.md b/primo-explore/custom/01MIT_INST-TACOS/html/homepage/README.md new file mode 100644 index 000000000..09c9a4fc5 --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/html/homepage/README.md @@ -0,0 +1,14 @@ +# The Primo New UI Customization Workflow Development Environment + + +##html documentation + + - In this folder you will find static html files in their OTB state + - You can edit the html to comply with your library requirements + - Note that you can use Angular Material directives in your html: + > https://material.angularjs.org/latest/ + + + + + diff --git a/primo-explore/custom/01MIT_INST-TACOS/html/homepage/homepage_en.html b/primo-explore/custom/01MIT_INST-TACOS/html/homepage/homepage_en.html new file mode 100644 index 000000000..f9ed8cb74 --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/html/homepage/homepage_en.html @@ -0,0 +1,75 @@ + + + + +
+ + + + What am I searching? + + + +

+ Search Our Collections provides one search for books and e-books, journals and articles, databases, media and more, available in the library and online. Learn more about Search Our Collections.

+ +

If you want to limit your search to materials available in the library, choose “Library catalog only” from the "All" drop-down menu in the search box.

+

+ +
+
+ + + + + Other specialized search tools + + + +
    + +
  • A-Z Databases: Browse or search for databases
  • +
  • Archnet: Architecture, design, and conservation issues related to the Muslim world.
  • +
  • ArchivesSpace: Archives and manuscripts in our Distinctive Collections.
  • +
  • DSpace@MIT: MIT theses, articles and other research materials.
  • +
  • Dome: MIT Libraries’ digital collections – images, media, maps, and more.
  • +
  • GeoWeb: GIS/spatial data available at MIT.
  • +
  • Subject guides: Created by our librarians for targeted research by subject.
  • +
+ +
+
+
+
+ + + + Not available at MIT? + + + + + + + + + + + Need help? + + + +

+ Ask us. Live chat is available M-F, 10am-5pm (excluding holidays), or you can email us any time.

+ +

Not sure where to start? Request a research consultation with one of our expert librarians. +

+ +
+
+
+
\ No newline at end of file diff --git a/primo-explore/custom/01MIT_INST-TACOS/img/README.md b/primo-explore/custom/01MIT_INST-TACOS/img/README.md new file mode 100644 index 000000000..a5e7006b1 --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/img/README.md @@ -0,0 +1,20 @@ +# The Primo New UI Customization Workflow Development Environment + + +##images documentation + + - Primo allows the customization of the following images; + 1. Library Logo - just place a file named `library-logo.png` in this location + 2. Library favicon - just place a file named `favicon.ico` in this location + 3. Default Resource Types - just place a files following this convention : + `icon_.png` + + For Example: + `icon_book.png` + + + + + + + diff --git a/primo-explore/custom/01MIT_INST-TACOS/img/custom-ui.svg b/primo-explore/custom/01MIT_INST-TACOS/img/custom-ui.svg new file mode 100644 index 000000000..df3f4dad1 --- /dev/null +++ b/primo-explore/custom/01MIT_INST-TACOS/img/custom-ui.svg @@ -0,0 +1,2 @@ + + diff --git a/primo-explore/custom/01MIT_INST-TACOS/img/favicon.ico b/primo-explore/custom/01MIT_INST-TACOS/img/favicon.ico new file mode 100644 index 000000000..8b4632771 Binary files /dev/null and b/primo-explore/custom/01MIT_INST-TACOS/img/favicon.ico differ diff --git a/tests/manual/TESTBROWSERIFY/README.md b/tests/manual/TESTBROWSERIFY/README.md index 865ec76b3..b22061969 100644 --- a/tests/manual/TESTBROWSERIFY/README.md +++ b/tests/manual/TESTBROWSERIFY/README.md @@ -1,48 +1,48 @@ - -# The Primo New UI Customization Workflow Development Environment - - -## Package documentation - -The development package allows you to configure : - -- css - -- images - -- html - -- JavaScript - -- The root directory of the package should be named either by the `viewCode` or `CENTRAL_PACKAGE` in case of a consortia level package -- Whether you develop a consortia level package or a view level package the process remains the same -- Once deployed the hierarchy is as follows: - 1. For css - use the cascading ability of css and load the consortia level (CENTRAL_PACKAGE) css first and the view level css afterwards - 2. For images and html - the system checks for every file if it exists in each level - and prefers the view level file if exists - 3. For JavaScript - the two package types define 2 different Angular modules: - - ```var app = angular.module('viewCustom', ['angularLoad']);``` - - ```var app = angular.module('centralCustom', ['angularLoad']);``` - - and loads both of the modules, - -- For each configuration type there is a specified folder in the custom package folder (that can be downloaded form your Primo Back Office) -- In each folder you will find a specific README.md file with recipes/examples. - - [CSS](/VIEW_CODE/css/README.md "css documentation") - - [HTML](/VIEW_CODE/html/README.md "html documentation") - - [Images](/VIEW_CODE/img/README.md "images documentation") - - [JavaScript](/VIEW_CODE/js/README.md "javascript documentation") - -- For `colors.json.txt` instructions - please see [CSS](/VIEW_CODE/css/README.md "css documentation") documentation - - - - - - - - - + +# The Primo New UI Customization Workflow Development Environment + + +## Package documentation + +The development package allows you to configure : + +- css + +- images + +- html + +- JavaScript + +- The root directory of the package should be named either by the `viewCode` or `CENTRAL_PACKAGE` in case of a consortia level package +- Whether you develop a consortia level package or a view level package the process remains the same +- Once deployed the hierarchy is as follows: + 1. For css - use the cascading ability of css and load the consortia level (CENTRAL_PACKAGE) css first and the view level css afterwards + 2. For images and html - the system checks for every file if it exists in each level - and prefers the view level file if exists + 3. For JavaScript - the two package types define 2 different Angular modules: + - ```var app = angular.module('viewCustom', ['angularLoad']);``` + - ```var app = angular.module('centralCustom', ['angularLoad']);``` + + and loads both of the modules, + +- For each configuration type there is a specified folder in the custom package folder (that can be downloaded form your Primo Back Office) +- In each folder you will find a specific README.md file with recipes/examples. + + [CSS](/VIEW_CODE/css/README.md "css documentation") + + [HTML](/VIEW_CODE/html/README.md "html documentation") + + [Images](/VIEW_CODE/img/README.md "images documentation") + + [JavaScript](/VIEW_CODE/js/README.md "javascript documentation") + +- For `colors.json.txt` instructions - please see [CSS](/VIEW_CODE/css/README.md "css documentation") documentation + + + + + + + + + diff --git a/tests/manual/TESTBROWSERIFY/colors.json b/tests/manual/TESTBROWSERIFY/colors.json index 963f80de6..517158ab6 100644 --- a/tests/manual/TESTBROWSERIFY/colors.json +++ b/tests/manual/TESTBROWSERIFY/colors.json @@ -1,15 +1,15 @@ -{ - "primary": "red", - "secondary" : "green", - "backgroundColor" : "yellow", - "links": "#3D6E94", - "warning": "tomato", - "positive": "#0f7d00", - "negative": "gray", - "notice": "#B84D00", - "linkTitle": "#33FFFF", - "citation": "tomato", - "citationTitles": "rgb(68, 112, 123)", - "personalization": "#7d1538" -} - +{ + "primary": "red", + "secondary" : "green", + "backgroundColor" : "yellow", + "links": "#3D6E94", + "warning": "tomato", + "positive": "#0f7d00", + "negative": "gray", + "notice": "#B84D00", + "linkTitle": "#33FFFF", + "citation": "tomato", + "citationTitles": "rgb(68, 112, 123)", + "personalization": "#7d1538" +} + diff --git a/tests/manual/TESTBROWSERIFY/css/README.md b/tests/manual/TESTBROWSERIFY/css/README.md index 5df326507..70c5e9696 100644 --- a/tests/manual/TESTBROWSERIFY/css/README.md +++ b/tests/manual/TESTBROWSERIFY/css/README.md @@ -1,168 +1,168 @@ -# The Primo New UI Customization Workflow Development Environment - - -## css documentation - -- Primo uses Angular Directives massively in this project - -- To learn more about directives see: -> https://docs.angularjs.org/guide/directive - -- Primo uses external directives from the Angular-material framework : -> https://material.angularjs.org/latest/ - -- Those directives are tagged by a prefix : "md-" - -- Primo also creates its own directives which are tagged by the "prm-" prefix. - - -Example: -``` -
- - - - - - - - - -
-``` - - -- You can see in the example how we use : - -1. An HTML5 tag - header -2. A Primo directive : prm-topbar , prm-search-bar. -3. An external material design directive : md-progress-bar : -> https://material.angularjs.org/latest/api/directive/mdProgressLinear - - - -- When defining css rules it is important to understand the css cascading/specifity logic: - -> http://www.w3.org/TR/css3-cascade/ - -> https://specificity.keegan.st/ - - - - -- When you start working on customizing your css be aware of the ability to define css selectors based on the directive name, which is actually equivalent -to an html tag - this will enable you changing the design of a component cross-system without relying on id's/classes - -- For the example above we can define selectors: - -``` -prm-topbar input {....} -prm-topbar.md-primoExplore-theme input {....} -``` -- Primo is using a theme inside angular-material to define a palette of colors see: -> https://material.angularjs.org/latest/Theming/01_introduction - - -- This means that you will often encounter a class "md-primoExplore-theme" attached to elements. - - - -## Recipes/Examples: - - -# css Recipe 1 - Color Scheme (Starting from August 2016 Release) - -- Open the `colors.json.txt` file in the root of your view folder -- You will see a json object with our default color scheme: - - ``` - { - "primary": "#53738C", - "secondary" : "#A9CDD6", - "backgroundColor" : "white", - "links": "#5C92BD", - "warning": "tomato", - "positive": "#0f7d00", - "negative": "gray", - "notice": "#e08303" - } - ``` - -- Since November 2016 release - we are giving you the ability to easily customize the majority of the following -colors - primary, secondary, backgroundColor, links, warning, positive, negative, notice - just change the definition and save the file. - -The colors are mapped to different elements in the user interface: - -![Color Changes image](../../help_files/colors3.png "Color Changes") - -- Open a new command line window - -- cd to the project base directory (C:\**\**\primo-explore-devenv) -- Run `gulp app-css --view ` for example: - `gulp app-css --view Auto1` -- for Primo Ve customers add the --ve flag at the end of the command for example: - `gulp app-css --view Auto1 --ve` -- A new file will be created on your package css directory named: `app-colors.css` -- This file will contain all of the primo-explore theme color definitions. - We will continue to add more color definitions to extend this ability -- Refresh your browser to see the changes take affect -- For example, for the following `colors.json.txt` file: - -``` -{ - "primary": "#512DA8", - "secondary" : "#D1C4E9", - "backgroundColor" : "#BDBDBD", - "links": "#009688", - "warning": "#FF5722" -} - - -``` - -You will get: - - ![Color Changes image](../../help_files/colors1.png "Color Changes") - - ![Color Changes image](../../help_files/colors2.png "Color Changes") - -# css Recipe 2 - Moving the Facets to the Left - - -- Select the parent container containing the search result and the facets -- Copy the selector definition using your browsers' dev tools -- Define the container as - -``` -display:flex; -flex-flow:row-reverse; -``` - - -- complete css definition: -``` -prm-search > md-content.md-primoExplore-theme .main, prm-search > md-content.md-primoExplore-theme.main { - display: -webkit-flex; !* Safari *! - -webkit-flex-flow: row-reverse wrap; !* Safari 6.1+ *! - display: flex; - flex-flow: row-reverse wrap; - -} -.screen-gt-sm .sidebar{ - webkit-flex: 0 0 15%; - flex: 0 0 15%; -} -``` -- Save and refresh your browser - -- The result: - - - ![Facets image](../../help_files/facets.png "Factes Changes") - - - - - - - +# The Primo New UI Customization Workflow Development Environment + + +## css documentation + +- Primo uses Angular Directives massively in this project + +- To learn more about directives see: +> https://docs.angularjs.org/guide/directive + +- Primo uses external directives from the Angular-material framework : +> https://material.angularjs.org/latest/ + +- Those directives are tagged by a prefix : "md-" + +- Primo also creates its own directives which are tagged by the "prm-" prefix. + + +Example: +``` +
+ + + + + + + + + +
+``` + + +- You can see in the example how we use : + +1. An HTML5 tag - header +2. A Primo directive : prm-topbar , prm-search-bar. +3. An external material design directive : md-progress-bar : +> https://material.angularjs.org/latest/api/directive/mdProgressLinear + + + +- When defining css rules it is important to understand the css cascading/specifity logic: + +> http://www.w3.org/TR/css3-cascade/ + +> https://specificity.keegan.st/ + + + + +- When you start working on customizing your css be aware of the ability to define css selectors based on the directive name, which is actually equivalent +to an html tag - this will enable you changing the design of a component cross-system without relying on id's/classes + +- For the example above we can define selectors: + +``` +prm-topbar input {....} +prm-topbar.md-primoExplore-theme input {....} +``` +- Primo is using a theme inside angular-material to define a palette of colors see: +> https://material.angularjs.org/latest/Theming/01_introduction + + +- This means that you will often encounter a class "md-primoExplore-theme" attached to elements. + + + +## Recipes/Examples: + + +# css Recipe 1 - Color Scheme (Starting from August 2016 Release) + +- Open the `colors.json.txt` file in the root of your view folder +- You will see a json object with our default color scheme: + + ``` + { + "primary": "#53738C", + "secondary" : "#A9CDD6", + "backgroundColor" : "white", + "links": "#5C92BD", + "warning": "tomato", + "positive": "#0f7d00", + "negative": "gray", + "notice": "#e08303" + } + ``` + +- Since November 2016 release - we are giving you the ability to easily customize the majority of the following +colors - primary, secondary, backgroundColor, links, warning, positive, negative, notice - just change the definition and save the file. + +The colors are mapped to different elements in the user interface: + +![Color Changes image](../../help_files/colors3.png "Color Changes") + +- Open a new command line window + +- cd to the project base directory (C:\**\**\primo-explore-devenv) +- Run `gulp app-css --view ` for example: + `gulp app-css --view Auto1` +- for Primo Ve customers add the --ve flag at the end of the command for example: + `gulp app-css --view Auto1 --ve` +- A new file will be created on your package css directory named: `app-colors.css` +- This file will contain all of the primo-explore theme color definitions. + We will continue to add more color definitions to extend this ability +- Refresh your browser to see the changes take affect +- For example, for the following `colors.json.txt` file: + +``` +{ + "primary": "#512DA8", + "secondary" : "#D1C4E9", + "backgroundColor" : "#BDBDBD", + "links": "#009688", + "warning": "#FF5722" +} + + +``` + +You will get: + + ![Color Changes image](../../help_files/colors1.png "Color Changes") + + ![Color Changes image](../../help_files/colors2.png "Color Changes") + +# css Recipe 2 - Moving the Facets to the Left + + +- Select the parent container containing the search result and the facets +- Copy the selector definition using your browsers' dev tools +- Define the container as + +``` +display:flex; +flex-flow:row-reverse; +``` + + +- complete css definition: +``` +prm-search > md-content.md-primoExplore-theme .main, prm-search > md-content.md-primoExplore-theme.main { + display: -webkit-flex; !* Safari *! + -webkit-flex-flow: row-reverse wrap; !* Safari 6.1+ *! + display: flex; + flex-flow: row-reverse wrap; + +} +.screen-gt-sm .sidebar{ + webkit-flex: 0 0 15%; + flex: 0 0 15%; +} +``` +- Save and refresh your browser + +- The result: + + + ![Facets image](../../help_files/facets.png "Factes Changes") + + + + + + + diff --git a/tests/manual/TESTBROWSERIFY/html/README.md b/tests/manual/TESTBROWSERIFY/html/README.md index 3f8d98b15..e2800ec36 100644 --- a/tests/manual/TESTBROWSERIFY/html/README.md +++ b/tests/manual/TESTBROWSERIFY/html/README.md @@ -1,152 +1,152 @@ -# The Primo New UI Customization Workflow Development Environment - - -## html documentation - - - In this folder you will find static html files in their OTB state - - The files are separated into directories (starting from the November 2016 Release) - - You can edit the html to comply with your library requirements - - To support multiple languages in your interface just add a suffix with the language code to your file-name, - For example: - - 1. homepage_fe_FR.html (in the August 2016 Release use home_fe_FR.html) - 2. help_de_DE.html(Available in the November 2016 Release) - - - This is how your directory structure should look like: - - ![August 2016 Release structure image](../../help_files/htmlStructureAug.png "August 2016 Release structure") - - - - Note that you can use Angular Material directives in your html: - > https://material.angularjs.org/latest/ - - -## Email templates - Starting from 2020 Primo supports a new html template to customize email messages sent to patrons'. - - To customize this template create a file named email_fr_FR.html (based on your language suffix) and upload it using the html directory in your customization package. - - In this html file you can design your own email template using html. - - Since Primo supports the email action on multiple records you should add the following attribute to the html element represnting a record: - - ```ng-if="$ctrl.parentCtrl.fullViewLoaded" ng-repeat="item in $ctrl.parentCtrl.delayedItems"``` - - for example: - - For an email template layout as below the attribute should be added to the records container: - - ``` -
- - -
- - - - - - ... - -
-
-
- ``` - - When editing the template you can: - - 1. Use regular html (use best practices for email templating: https://mailchimp.com/help/about-html-email/) to design the layout of your email based on your preferences. - - 2. You can take advantage of some of our OTB directives in your templates: -``` - - - - - - - - - ``` - 3. You can reference the sent item(pnx/record) using angular syntax to present the relevant data: - - use the curly brackets to access the pnx diectly - for example: -``` - {{item.pnx.display.title}} -``` - or loop over values using the ng-repeat directive to add multiple fields: - -```
-
Additional Information From the Record:
- OCLCID: -
{{oclcid}}
-``` -``` ``` - - - - - - -**Notice :** Any link in your template will be removed - for security reasons, we will not allow links other than the link to the record to avoid email exploits. - -To add the link to the full record you can either: - 1. Use the - - ``` - - - ``` -directive in your template - This includes the link to the record - -2. Use the following code snippet in your template: - - ``` - - {{item.pnx.display.title[0]}} - - ``` - -To use your library logo (not the OTB ) you can use your own html, with an img element that has a class attribute of *logo-image* immediatly following the opening tag, for example: - - ``` - - - - - - -
- -
-``` - - - ## Examples - - Full examples of email templates can be found in the help files folder folder: - - 1. [The Out of the Box template for emails](../../help_files/email_en_US.html) email_en_US.html - - 2. [A template based on the OTB - brief + custom fields + availability](../../help_files/email_en_US-brief+additionalField+availability.html) - will produce the following email: - - ![example brief](../../help_files/example-bried-and-subject.png "example brief") - - 3. [A template based on an open source email template with no Primo directives - just use of the ```{{item.pnx.display.title}}```](../../help_files/email_en_US_Details.html) - will produce the following email: - - ![example external](../../help_files/example-external.png "example external") - - - - +# The Primo New UI Customization Workflow Development Environment + + +## html documentation + + - In this folder you will find static html files in their OTB state + - The files are separated into directories (starting from the November 2016 Release) + - You can edit the html to comply with your library requirements + - To support multiple languages in your interface just add a suffix with the language code to your file-name, + For example: + + 1. homepage_fe_FR.html (in the August 2016 Release use home_fe_FR.html) + 2. help_de_DE.html(Available in the November 2016 Release) + + - This is how your directory structure should look like: + + ![August 2016 Release structure image](../../help_files/htmlStructureAug.png "August 2016 Release structure") + + + - Note that you can use Angular Material directives in your html: + > https://material.angularjs.org/latest/ + + +## Email templates + Starting from 2020 Primo supports a new html template to customize email messages sent to patrons'. + + To customize this template create a file named email_fr_FR.html (based on your language suffix) and upload it using the html directory in your customization package. + + In this html file you can design your own email template using html. + + Since Primo supports the email action on multiple records you should add the following attribute to the html element represnting a record: + + ```ng-if="$ctrl.parentCtrl.fullViewLoaded" ng-repeat="item in $ctrl.parentCtrl.delayedItems"``` + + for example: + + For an email template layout as below the attribute should be added to the records container: + + ``` +
+ + +
+ + + + + + ... + +
+
+
+ ``` + + When editing the template you can: + + 1. Use regular html (use best practices for email templating: https://mailchimp.com/help/about-html-email/) to design the layout of your email based on your preferences. + + 2. You can take advantage of some of our OTB directives in your templates: +``` + + + + + + + + + ``` + 3. You can reference the sent item(pnx/record) using angular syntax to present the relevant data: + + use the curly brackets to access the pnx diectly - for example: +``` + {{item.pnx.display.title}} +``` + or loop over values using the ng-repeat directive to add multiple fields: + +```
+
Additional Information From the Record:
+ OCLCID: +
{{oclcid}}
+``` +``` ``` + + + + + + +**Notice :** Any link in your template will be removed - for security reasons, we will not allow links other than the link to the record to avoid email exploits. + +To add the link to the full record you can either: + 1. Use the + + ``` + + + ``` +directive in your template - This includes the link to the record + +2. Use the following code snippet in your template: + + ``` + + {{item.pnx.display.title[0]}} + + ``` + +To use your library logo (not the OTB ) you can use your own html, with an img element that has a class attribute of *logo-image* immediatly following the opening tag, for example: + + ``` + + + + + + +
+ +
+``` + + + ## Examples + + Full examples of email templates can be found in the help files folder folder: + + 1. [The Out of the Box template for emails](../../help_files/email_en_US.html) email_en_US.html + + 2. [A template based on the OTB - brief + custom fields + availability](../../help_files/email_en_US-brief+additionalField+availability.html) + will produce the following email: + + ![example brief](../../help_files/example-bried-and-subject.png "example brief") + + 3. [A template based on an open source email template with no Primo directives - just use of the ```{{item.pnx.display.title}}```](../../help_files/email_en_US_Details.html) + will produce the following email: + + ![example external](../../help_files/example-external.png "example external") + + + + diff --git a/tests/manual/TESTBROWSERIFY/html/home_en_US.html b/tests/manual/TESTBROWSERIFY/html/home_en_US.html index 96b69aa8e..09f950a2c 100644 --- a/tests/manual/TESTBROWSERIFY/html/home_en_US.html +++ b/tests/manual/TESTBROWSERIFY/html/home_en_US.html @@ -1 +1 @@ -Customized +Customized diff --git a/tests/manual/TESTBROWSERIFY/img/README.md b/tests/manual/TESTBROWSERIFY/img/README.md index eb4c0bb82..bb1ffb13e 100644 --- a/tests/manual/TESTBROWSERIFY/img/README.md +++ b/tests/manual/TESTBROWSERIFY/img/README.md @@ -1,20 +1,20 @@ -# The Primo New UI Customization Workflow Development Environment - - -## images documentation - - - Primo allows the customization of the following images; - 1. Library Logo - just place a file named `library-logo.png` in this location - 2. Library favicon - just place a file named `favicon.ico` in this location - 3. Default Resource Types - just place a files following this convention : - `icon_.png` - - For Example: - `icon_book.png` - - - - - - - +# The Primo New UI Customization Workflow Development Environment + + +## images documentation + + - Primo allows the customization of the following images; + 1. Library Logo - just place a file named `library-logo.png` in this location + 2. Library favicon - just place a file named `favicon.ico` in this location + 3. Default Resource Types - just place a files following this convention : + `icon_.png` + + For Example: + `icon_book.png` + + + + + + + diff --git a/tests/manual/TESTBROWSERIFY/js/README.md b/tests/manual/TESTBROWSERIFY/js/README.md index cfc360d7a..741a4c368 100644 --- a/tests/manual/TESTBROWSERIFY/js/README.md +++ b/tests/manual/TESTBROWSERIFY/js/README.md @@ -1,275 +1,275 @@ -# The Primo New UI Customization Workflow Development Environment - - -## JavaScript documentation - -- When you want to add functionality to your Primo installation you will be using Angular Directives. - -- To learn more about directives see: -> https://docs.angularjs.org/guide/directive - -- Primo uses external directives from the Angular-material framework: -> https://material.angularjs.org/latest/ - -- Those directives are tagged by a prefix : "md-" - -- Primo also creates its own directives which are tagged by the "prm-" prefix. - - -Example: -``` -
- - - - - - - - - -
-``` - - -- You can see in the example how we use : - -1. An HTML5 tag - header -2. A Primo directive : prm-topbar , prm-search-bar. -3. An external material design directive : md-progress-bar : -> https://material.angularjs.org/latest/api/directive/mdProgressLinear - - - -## Concept - -- When You want to add your own JavaScript functionality - you will need to plug-in to placeholder Directives we added to the system, by creating your own placeholder Directive. -- Those directives are added as the last child element for every Primo directive (defined by the `prm-` prefix) -- The placeholder directives are injected (as input) with the Controller of their parent, thus have access to the data model of the parent directive -- Use the examples below as starting points for your JavaScript plug-in directives -- Learn about Angular Directives to better understand the different abilities this workflow offers -> https://docs.angularjs.org/guide/directive - - - -## Recipes/Examples: - -# Note: - -The examples below use the back tic '`' for templates - which will work using babel (Documentation on how to do so will be shared) -This causes the examples to fail on IE11 browsers. - -To solve this you can replace the '`' with regular apostrophe ("'") and use a single line template (less readable but works just as well). - - - - -# JavaScript Recipe 1 - a Static `hello world` html Message - - -- Use the `showDirectives` (located in the root directory of this package is the showDirectives.txt file -, just add the content of the file as a bookmark to your browser) scriplet to identify the `prmSearchBarAfter` directive which you will plugin to - - -![Show Directives image](../../help_files/showDirectives.png "Show Directives Changes") - -- Edit the primo-explore/custom/js/custom.js file and add a component declaration for `myInstitutionComponent` and a component declaration -for the `prmSearchBarAfter` directive - - ``` - app.component('myInstitutionComponent', { - - - }); - - app.component('prmSearchBarAfter', { - - - }); - ``` -- Add the template property with your static message - - ``` - app.component('myInstitutionComponent', { - template: `Hello World` - }); - ``` -- Add the template property with your component template (myInstitutionComponent) - - ``` - app.component('prmSearchBarAfter', { - bindings: {parentCtrl: `<`}, - template: `` - }); - ``` - - -- Save and refresh your browser - -![Hello World image](../../help_files/js1.png "Hello World Changes") - -# JavaScript Recipe 2 - a Dynamic Directive -- Use the `showDirectives` scriplet to identify the `prmSearchBarAfter` directive which you will plugin to -- Run the following command in your browsers' console tab: -``` - angular.reloadWithDebugInfo() -``` -- Focus on the `prmSearchBarAfter` directive - -![Focus image](../../help_files/js2.png "Focus") - -- Run the following command in your browsers' console tab: -``` - angular.element($0).scope().$ctrl (angular.element($0).scope().ctrl in version earlier than February 2017) -``` - -- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible - -![properties image](../../help_files/js3.png "properties") - - -- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmSearchBarAfter` directive, and a component declaration for the `myInstitutionComponent` - -- Add a binding definition the input parentCtrl for both components -``` - bindings: {parentCtrl: '<'}, -``` -- Add a controller definition for the `myInstitutionComponent` component: -``` - controller: 'MyInstitutionComponentController', -``` -- Define a controller with 2 getter methods to return the query and selected scope -``` -app.controller('MyInstitutionComponentController', [function () { - var vm = this; - - - vm.getSelectdScope = getSelectdScope; - vm.getQuery = getQuery; - - - function getSelectdScope() { - return vm.parentCtrl.scopeField; - } - - function getQuery() { - return vm.parentCtrl.mainSearchField; - } - }]); - -``` -- Edit the `prmSearchBarAfter` directive template to reference the `myInstitutionComponent` -``` -template: `` -``` -- Edit the `myInstitutionComponent` directive template to reference the getter methods -``` -template: `
- - - - This is a demo presenting the ability to display query - information below the search box - Query: {{$ctrl.getQuery()}} - Scope: {{$ctrl.getSelectdScope()}} - - -
-
-
- - Action 1 - Action 2 - -
-
` - - ``` -- Save and refresh your browser - -![dynamic example image](../../help_files/js4.png "dynamic example") - -# JavaScript Recipe 3 - Adding the Altmetrics Widget -- Use the `showDirectives` scriplet to identify the `prmFullViewAfter` directive which you will plugin to - -![Altmetrics example image](../../help_files/js5.png "Altmetrics example") - -- Run the following command in your browsers' console tab: -`angular.reloadWithDebugInfo()` -- Focus on the `prmFullViewAfter` directive -- Run the following command in your browsers' console tab: -`angular.element($0).scope().ctrl` - -- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible - -![Altmetrics example 2 image](../../help_files/js6.png "Altmetrics 2 example") - -- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmFullViewAfter` directive, and a component declaration for the `myInstitutionComponent` - -- Add a binding definition the input parentCtrl for both components -``` - bindings: {parentCtrl: '<'}, -``` -- Add a controller definition for the `myInstitutionComponent` component: -``` - controller: 'MyInstitutionComponentController', -``` -- Define a controller that populates the doi and loads the Altmetrics js file -``` -app.controller('MyInstitutionComponentController', ['angularLoad', function (angularLoad) { - var vm = this; - vm.doi = vm.parentCtrl.item.pnx.addata.doi[0] || ''; - - vm.$onInit = function () { - angularLoad.loadScript('https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js?' + Date.now()).then(function () { - - }); - }; - }]); -``` -- Edit the `prmFullViewAfter` directive template to reference the `myInstitutionComponent` -``` -template: `` -``` -- Edit the `myInstitutionComponent` directive template to add the Altmetrics div and bind the data-doi attribute to the controller -``` -app.component('myInstitutionComponent', { - bindings: {parentCtrl: '<'}, - controller: 'MyInstitutionComponentController', - template: `
-
-
-

- Social Popularity Statistics (AltMetrics) : -

- - -
-
-
-
-
-
-
-
-
-
-
-
-
` - }); - ``` - -- Edit the custom1.css file and add the following definitions: - - ``` - .full-view-section.loc-altemtrics{ - background-color: #f3f3f3; - margin-top:0px; - padding-left: 3em; - } - ``` - -- Save and refresh your browser - -![Altmetrics example 3 image](../../help_files/js7.png "Altmetrics 3 example") +# The Primo New UI Customization Workflow Development Environment + + +## JavaScript documentation + +- When you want to add functionality to your Primo installation you will be using Angular Directives. + +- To learn more about directives see: +> https://docs.angularjs.org/guide/directive + +- Primo uses external directives from the Angular-material framework: +> https://material.angularjs.org/latest/ + +- Those directives are tagged by a prefix : "md-" + +- Primo also creates its own directives which are tagged by the "prm-" prefix. + + +Example: +``` +
+ + + + + + + + + +
+``` + + +- You can see in the example how we use : + +1. An HTML5 tag - header +2. A Primo directive : prm-topbar , prm-search-bar. +3. An external material design directive : md-progress-bar : +> https://material.angularjs.org/latest/api/directive/mdProgressLinear + + + +## Concept + +- When You want to add your own JavaScript functionality - you will need to plug-in to placeholder Directives we added to the system, by creating your own placeholder Directive. +- Those directives are added as the last child element for every Primo directive (defined by the `prm-` prefix) +- The placeholder directives are injected (as input) with the Controller of their parent, thus have access to the data model of the parent directive +- Use the examples below as starting points for your JavaScript plug-in directives +- Learn about Angular Directives to better understand the different abilities this workflow offers +> https://docs.angularjs.org/guide/directive + + + +## Recipes/Examples: + +# Note: + +The examples below use the back tic '`' for templates - which will work using babel (Documentation on how to do so will be shared) +This causes the examples to fail on IE11 browsers. + +To solve this you can replace the '`' with regular apostrophe ("'") and use a single line template (less readable but works just as well). + + + + +# JavaScript Recipe 1 - a Static `hello world` html Message + + +- Use the `showDirectives` (located in the root directory of this package is the showDirectives.txt file +, just add the content of the file as a bookmark to your browser) scriplet to identify the `prmSearchBarAfter` directive which you will plugin to + + +![Show Directives image](../../help_files/showDirectives.png "Show Directives Changes") + +- Edit the primo-explore/custom/js/custom.js file and add a component declaration for `myInstitutionComponent` and a component declaration +for the `prmSearchBarAfter` directive + + ``` + app.component('myInstitutionComponent', { + + + }); + + app.component('prmSearchBarAfter', { + + + }); + ``` +- Add the template property with your static message + + ``` + app.component('myInstitutionComponent', { + template: `Hello World` + }); + ``` +- Add the template property with your component template (myInstitutionComponent) + + ``` + app.component('prmSearchBarAfter', { + bindings: {parentCtrl: `<`}, + template: `` + }); + ``` + + +- Save and refresh your browser + +![Hello World image](../../help_files/js1.png "Hello World Changes") + +# JavaScript Recipe 2 - a Dynamic Directive +- Use the `showDirectives` scriplet to identify the `prmSearchBarAfter` directive which you will plugin to +- Run the following command in your browsers' console tab: +``` + angular.reloadWithDebugInfo() +``` +- Focus on the `prmSearchBarAfter` directive + +![Focus image](../../help_files/js2.png "Focus") + +- Run the following command in your browsers' console tab: +``` + angular.element($0).scope().$ctrl (angular.element($0).scope().ctrl in version earlier than February 2017) +``` + +- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible + +![properties image](../../help_files/js3.png "properties") + + +- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmSearchBarAfter` directive, and a component declaration for the `myInstitutionComponent` + +- Add a binding definition the input parentCtrl for both components +``` + bindings: {parentCtrl: '<'}, +``` +- Add a controller definition for the `myInstitutionComponent` component: +``` + controller: 'MyInstitutionComponentController', +``` +- Define a controller with 2 getter methods to return the query and selected scope +``` +app.controller('MyInstitutionComponentController', [function () { + var vm = this; + + + vm.getSelectdScope = getSelectdScope; + vm.getQuery = getQuery; + + + function getSelectdScope() { + return vm.parentCtrl.scopeField; + } + + function getQuery() { + return vm.parentCtrl.mainSearchField; + } + }]); + +``` +- Edit the `prmSearchBarAfter` directive template to reference the `myInstitutionComponent` +``` +template: `` +``` +- Edit the `myInstitutionComponent` directive template to reference the getter methods +``` +template: `
+ + + + This is a demo presenting the ability to display query + information below the search box + Query: {{$ctrl.getQuery()}} + Scope: {{$ctrl.getSelectdScope()}} + + +
+
+
+ + Action 1 + Action 2 + +
+
` + + ``` +- Save and refresh your browser + +![dynamic example image](../../help_files/js4.png "dynamic example") + +# JavaScript Recipe 3 - Adding the Altmetrics Widget +- Use the `showDirectives` scriplet to identify the `prmFullViewAfter` directive which you will plugin to + +![Altmetrics example image](../../help_files/js5.png "Altmetrics example") + +- Run the following command in your browsers' console tab: +`angular.reloadWithDebugInfo()` +- Focus on the `prmFullViewAfter` directive +- Run the following command in your browsers' console tab: +`angular.element($0).scope().ctrl` + +- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible + +![Altmetrics example 2 image](../../help_files/js6.png "Altmetrics 2 example") + +- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmFullViewAfter` directive, and a component declaration for the `myInstitutionComponent` + +- Add a binding definition the input parentCtrl for both components +``` + bindings: {parentCtrl: '<'}, +``` +- Add a controller definition for the `myInstitutionComponent` component: +``` + controller: 'MyInstitutionComponentController', +``` +- Define a controller that populates the doi and loads the Altmetrics js file +``` +app.controller('MyInstitutionComponentController', ['angularLoad', function (angularLoad) { + var vm = this; + vm.doi = vm.parentCtrl.item.pnx.addata.doi[0] || ''; + + vm.$onInit = function () { + angularLoad.loadScript('https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js?' + Date.now()).then(function () { + + }); + }; + }]); +``` +- Edit the `prmFullViewAfter` directive template to reference the `myInstitutionComponent` +``` +template: `` +``` +- Edit the `myInstitutionComponent` directive template to add the Altmetrics div and bind the data-doi attribute to the controller +``` +app.component('myInstitutionComponent', { + bindings: {parentCtrl: '<'}, + controller: 'MyInstitutionComponentController', + template: `
+
+
+

+ Social Popularity Statistics (AltMetrics) : +

+ + +
+
+
+
+
+
+
+
+
+
+
+
+
` + }); + ``` + +- Edit the custom1.css file and add the following definitions: + + ``` + .full-view-section.loc-altemtrics{ + background-color: #f3f3f3; + margin-top:0px; + padding-left: 3em; + } + ``` + +- Save and refresh your browser + +![Altmetrics example 3 image](../../help_files/js7.png "Altmetrics 3 example") diff --git a/tests/manual/TESTBROWSERIFY/js/custom.js b/tests/manual/TESTBROWSERIFY/js/custom.js index 4899da6e6..190dbd952 100644 --- a/tests/manual/TESTBROWSERIFY/js/custom.js +++ b/tests/manual/TESTBROWSERIFY/js/custom.js @@ -1,2 +1,2 @@ -!function a(i,c,d){function u(t,e){if(!c[t]){if(!i[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var o=c[t]={exports:{}};i[t][0].call(o.exports,function(e){return u(i[t][1][e]||e)},o,o.exports,a,i,c,d)}return c[t].exports}for(var l="function"==typeof require&&require,e=0;e"})},{"./test.module.js":2}],2:[function(e,t,r){"use strict";angular.module("testModule",[]).factory("testModuleService",[function(){var e={manipulate:function(e){return e.split("").reverse().join("")}};return e}]).controller("testModuleController",["testModuleService",function(e){var t=this;t.getSelectdScope=function(){return e.manipulate(t.prmSearchBar.scopeField)},t.getQuery=function(){return t.prmSearchBar.mainSearchField}}]).component("testComponent",{require:{prmSearchBar:"^prmSearchBar"},controller:"testModuleController",template:'
\n \n \n \n This is a demo presenting the ability to display query\n information below the search box\n Query: {{$ctrl.getQuery()}}\n Scope: {{$ctrl.getSelectdScope()}}\n \n \n
\n
\n
\n \n Action 1\n Action 2\n \n
\n
'})},{}]},{},[1]); -//# sourceMappingURL=custom.js.map +!function a(i,c,d){function u(t,e){if(!c[t]){if(!i[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var o=c[t]={exports:{}};i[t][0].call(o.exports,function(e){return u(i[t][1][e]||e)},o,o.exports,a,i,c,d)}return c[t].exports}for(var l="function"==typeof require&&require,e=0;e"})},{"./test.module.js":2}],2:[function(e,t,r){"use strict";angular.module("testModule",[]).factory("testModuleService",[function(){var e={manipulate:function(e){return e.split("").reverse().join("")}};return e}]).controller("testModuleController",["testModuleService",function(e){var t=this;t.getSelectdScope=function(){return e.manipulate(t.prmSearchBar.scopeField)},t.getQuery=function(){return t.prmSearchBar.mainSearchField}}]).component("testComponent",{require:{prmSearchBar:"^prmSearchBar"},controller:"testModuleController",template:'
\n \n \n \n This is a demo presenting the ability to display query\n information below the search box\n Query: {{$ctrl.getQuery()}}\n Scope: {{$ctrl.getSelectdScope()}}\n \n \n
\n
\n
\n \n Action 1\n Action 2\n \n
\n
'})},{}]},{},[1]); +//# sourceMappingURL=custom.js.map diff --git a/tests/manual/TESTBROWSERIFY/js/main.js b/tests/manual/TESTBROWSERIFY/js/main.js index b4db15302..a6462a6e8 100644 --- a/tests/manual/TESTBROWSERIFY/js/main.js +++ b/tests/manual/TESTBROWSERIFY/js/main.js @@ -1,8 +1,8 @@ -require('./test.module.js'); -//module.exports = 'testModule'; -angular - .module("viewCustom", ["testModule"]) - .component("prmSearchBarAfter", { - template: - '' - }); +require('./test.module.js'); +//module.exports = 'testModule'; +angular + .module("viewCustom", ["testModule"]) + .component("prmSearchBarAfter", { + template: + '' + }); diff --git a/tests/manual/TESTBROWSERIFY/js/test.module.js b/tests/manual/TESTBROWSERIFY/js/test.module.js index 7e0867cfa..7478788e2 100644 --- a/tests/manual/TESTBROWSERIFY/js/test.module.js +++ b/tests/manual/TESTBROWSERIFY/js/test.module.js @@ -1,50 +1,50 @@ - angular - .module('testModule', []) - .factory('testModuleService', [ - function () { - var svc = {}; - svc.manipulate = function (str) { - return str.split("").reverse().join(""); - }; - return svc; - }, - ]) - .controller('testModuleController', [ - 'testModuleService', - function (testModuleService) { - var vm = this; - vm.getSelectdScope = function() { - return testModuleService.manipulate(vm.prmSearchBar.scopeField); - } - - vm.getQuery = function() { - return vm.prmSearchBar.mainSearchField; - } - }, - ]) - .component('testComponent', { - require: { - prmSearchBar: '^prmSearchBar', - }, - controller: 'testModuleController', - template: - `
- - - - This is a demo presenting the ability to display query - information below the search box - Query: {{$ctrl.getQuery()}} - Scope: {{$ctrl.getSelectdScope()}} - - -
-
-
- - Action 1 - Action 2 - -
-
`, - }); + angular + .module('testModule', []) + .factory('testModuleService', [ + function () { + var svc = {}; + svc.manipulate = function (str) { + return str.split("").reverse().join(""); + }; + return svc; + }, + ]) + .controller('testModuleController', [ + 'testModuleService', + function (testModuleService) { + var vm = this; + vm.getSelectdScope = function() { + return testModuleService.manipulate(vm.prmSearchBar.scopeField); + } + + vm.getQuery = function() { + return vm.prmSearchBar.mainSearchField; + } + }, + ]) + .component('testComponent', { + require: { + prmSearchBar: '^prmSearchBar', + }, + controller: 'testModuleController', + template: + `
+ + + + This is a demo presenting the ability to display query + information below the search box + Query: {{$ctrl.getQuery()}} + Scope: {{$ctrl.getSelectdScope()}} + + +
+
+
+ + Action 1 + Action 2 + +
+
`, + }); diff --git a/tests/manual/TESTBROWSERIFY/js/test.service.js b/tests/manual/TESTBROWSERIFY/js/test.service.js index 3579f665b..eb72386a3 100644 --- a/tests/manual/TESTBROWSERIFY/js/test.service.js +++ b/tests/manual/TESTBROWSERIFY/js/test.service.js @@ -1,11 +1,11 @@ -app.service('TestService', [function () { - let vm = this; - - - vm.manipulate = manipulate; - - - function manipulate(str){ - return str.split("").reverse().join(""); - } -}]); +app.service('TestService', [function () { + let vm = this; + + + vm.manipulate = manipulate; + + + function manipulate(str){ + return str.split("").reverse().join(""); + } +}]); diff --git a/tests/manual/TESTBROWSERIFY/scss/partials/_variables.scss b/tests/manual/TESTBROWSERIFY/scss/partials/_variables.scss index c70d2883c..0ef29b3a9 100644 --- a/tests/manual/TESTBROWSERIFY/scss/partials/_variables.scss +++ b/tests/manual/TESTBROWSERIFY/scss/partials/_variables.scss @@ -1,225 +1,225 @@ -//// VARIABLES -// The complex color calculation were created with http://razorjam.github.io/sasscolourfunctioncalculator/ - -// Fonts family -$serif: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif; - -// Font weights -$light: 300; -$normal: 400; -$bold: 600; -$heavy: 900; - -// Font size -$defaultFontSize: 15px; - -// Shapes -$radius: 3px; - -// Padding -$paddingBase: 1em; -$paddingExtra: 1.5em; -$paddingMedium: 1.3em; -$paddingLarge: 1em; -$paddingSmall: .5em; -$paddingTiny: .25em; - -// colors - -$muteOrange: red; - - - -$almostBlack: #777; - - - -$titles: rgb(68, 112, 123); -$frbr: #ed9100; -$pink: rgb(255, 171, 200); - -$dark: #3a3a3a; -$darker: darken(saturate(adjust-hue($dark, 0.0000), 0.0000), 6.6667); - -// lighter background color - - -$highlightYellow: #FFFCC4; //stronger -$highlight: darken(desaturate(adjust-hue($highlightYellow, -4.0920), 16.0000), 8.0392); -$highlightText: #ffe564; -$success: #3EA03E; -//$green: #3EA03E; // redundancy of 'success' -$green: #198A19; -//$orange: #CE8015; //#E0962E; -$muteOrange: #C59655; -$yellow: #F1C16F; -$overlayDarkDG: rgba(68, 68, 68, 0.6); - -// $availabiltyDetails: desaturate(lighten($midGrey,5%), 5%); -//$maybe: $orange; - -$alert: #F7EDA3; -$alert-hue1: darken(desaturate(adjust-hue($alert, 0.3074), 15.3043), 2.9412); - - -$disabled: #aaa; -$courseColor: #55909B; - -$primary: red; -$primary-hue1: darken($primary, 3%); -$primary-hue2: darken($primary, 5%); -$primary-hue3: darken($primary-hue2, 2%); -$primary-hue4: darken($primary, 10%); -$primary-hue5: darker($primary, -5%); - -$secondary: green; -$secondary-hue1: darken(saturate(adjust-hue($secondary, -6.5946), 9.1452), 26.2745); -$secondary-hue2: darken($secondary, 20%); -$secondary-hue3:darken(saturate(adjust-hue($secondary, -12), 30.28), 47.65); // "show more" buttons in facets -$secondary-hue4: darken(saturate(adjust-hue($secondary, -7), 64.57), 13.92); - - -$backgroundColor: yellow; - -$positive: #0f7d00; - -$negative: gray; - -$background: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 8.6275); //redundancy of almostwhite - -$background-hue1: darken($backgroundColor, 3%); // darker 1 (i.e: background for locations filter bar) -// $background-hue2: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 3.9216); // lighter 1 (i.e: background for full view dialog) -$background-hue2: lighten($background, 4%); -$background-hue3: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.8824); // lighter 2 (i.e: background for actions forms) - -$background-hue4: lighten($background, 3%); -$background-hue5: transparentize($background, .5); -$background-hue6: darken($background, 1%); -$background-hue7: darken($background, 10%); -$background-hue8: lighten($background, 6%); -$background-hue9: darken($background, 5%); -$background-hue10: darken($background, 12%); -$background-hue11: darken($background, 2%); -$background-hue12: darken($background, 7%); -$background-hue13: lighten($background, 2%); - -$white: white; - -$almostWhite: lighten(saturate(adjust-hue($background, 60.0000), 20.0000), 0.7843); -$bg: $background; -$nearlyWhite: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.4902); // stronger -$blueGrey: #ccc; -$midGrey: #53738C; //darken(saturate(adjust-hue($blueGrey, 206.3158), 25.5605), 36.2745); -$actionsBackground: lighten($background, 6%); -$autoCompleteBg: $backgroundColor; -$sectionHighlight: darken(desaturate($background, 0), 5%); -$snippets:#999; -$lightenGrey: #6d6d6d; - -$links: #3D6E94; - -$links-background-hue1: transparentize($links, 1); - -$links: $links; -$links-hue-1: darken(saturate($links, 5%), 5%); -$links-hue-5: darken(saturate($links, 20%), 20%); -$linksHover: darken(saturate($links, 20%), 20%); -$linksHover-hue-2: transparentize($linksHover, .5); -$linkAlt: $secondary-hue1; -$md-primary: $links; - -$linkTitle: #33FFFF; - -$collectionDisLinks: #0075b0; - -$red: tomato; -// warning -$warning: $red; -$warn: $red; -$warningBorder: inset 0 0 0 3px $warning; - - -$text: $dark; -$text-hue1: lighten($text, 30%); -$text-hue2: $text; -$text-hue3: darken($text, 10%); - -$notice: #B84D00; - -$highlight: $highlightYellow; -$highlight-hue1: #FFFCC4; - -$modalBackdrop: rgb(68,68,68); -$moreLink: #45aab4; - -$selectedItem: saturate(lighten($midGrey, 53%), 40%); - -$citationTitle: rgb(68, 112, 123); -// $citationTitle: $titles; - -// chips -$chipTouchHeight: 28px; -$chipDesktopHeight: 22px; - -// Responsive -$responsiveMaxWidth: 960px !important; - -// Default bars height -$defaultBarHeight: 60px; - -// height of buttons in brief results -$briefButtonHeight: 38px; - -// citations -$citation: tomato; -$citationColor: $citation; -$citation-hue1: darken($citation, 40%); - -// personalization -$personalization: #7d1538; - -// Peer Reviewed -$peer-reviewed-color :#8359d4; - -// Open Access -$open-access-color: #f68212; - -// Angular Material -//----------------- - -// Progress bar -$progressBarHeight: 15px; - -// buttons -$defaultMdButtonHover: rgba(158,158,158,0.2); - - -//// Angular Material overrides -// Angular Material transition easing curves -//----------------------- - -$swift-ease-out-duration: 0.4s !default; -$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default; -$swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default; - -$swift-ease-in-duration: 0.3s !default; -$swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default; -$swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !default; - -$swift-ease-in-out-duration: 0.5s !default; -$swift-ease-in-out-timing-function: cubic-bezier(0.35, 0, 0.25, 1) !default; -$swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default; - -// Angular Material layouts -// ------------------------------ - -$baseline-grid: 8px !default; -$layout-gutter-width: ($baseline-grid * 2) !default; - -// Angular Material breakpoints -// ------------------------------ - -// $layout-breakpoint-xs: 600px !default; -// $layout-breakpoint-sm: 960px !default; -// $layout-breakpoint-md: 1280px !default; -// $layout-breakpoint-lg: 1920px !default; +//// VARIABLES +// The complex color calculation were created with http://razorjam.github.io/sasscolourfunctioncalculator/ + +// Fonts family +$serif: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif; + +// Font weights +$light: 300; +$normal: 400; +$bold: 600; +$heavy: 900; + +// Font size +$defaultFontSize: 15px; + +// Shapes +$radius: 3px; + +// Padding +$paddingBase: 1em; +$paddingExtra: 1.5em; +$paddingMedium: 1.3em; +$paddingLarge: 1em; +$paddingSmall: .5em; +$paddingTiny: .25em; + +// colors + +$muteOrange: red; + + + +$almostBlack: #777; + + + +$titles: rgb(68, 112, 123); +$frbr: #ed9100; +$pink: rgb(255, 171, 200); + +$dark: #3a3a3a; +$darker: darken(saturate(adjust-hue($dark, 0.0000), 0.0000), 6.6667); + +// lighter background color + + +$highlightYellow: #FFFCC4; //stronger +$highlight: darken(desaturate(adjust-hue($highlightYellow, -4.0920), 16.0000), 8.0392); +$highlightText: #ffe564; +$success: #3EA03E; +//$green: #3EA03E; // redundancy of 'success' +$green: #198A19; +//$orange: #CE8015; //#E0962E; +$muteOrange: #C59655; +$yellow: #F1C16F; +$overlayDarkDG: rgba(68, 68, 68, 0.6); + +// $availabiltyDetails: desaturate(lighten($midGrey,5%), 5%); +//$maybe: $orange; + +$alert: #F7EDA3; +$alert-hue1: darken(desaturate(adjust-hue($alert, 0.3074), 15.3043), 2.9412); + + +$disabled: #aaa; +$courseColor: #55909B; + +$primary: red; +$primary-hue1: darken($primary, 3%); +$primary-hue2: darken($primary, 5%); +$primary-hue3: darken($primary-hue2, 2%); +$primary-hue4: darken($primary, 10%); +$primary-hue5: darker($primary, -5%); + +$secondary: green; +$secondary-hue1: darken(saturate(adjust-hue($secondary, -6.5946), 9.1452), 26.2745); +$secondary-hue2: darken($secondary, 20%); +$secondary-hue3:darken(saturate(adjust-hue($secondary, -12), 30.28), 47.65); // "show more" buttons in facets +$secondary-hue4: darken(saturate(adjust-hue($secondary, -7), 64.57), 13.92); + + +$backgroundColor: yellow; + +$positive: #0f7d00; + +$negative: gray; + +$background: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 8.6275); //redundancy of almostwhite + +$background-hue1: darken($backgroundColor, 3%); // darker 1 (i.e: background for locations filter bar) +// $background-hue2: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 3.9216); // lighter 1 (i.e: background for full view dialog) +$background-hue2: lighten($background, 4%); +$background-hue3: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.8824); // lighter 2 (i.e: background for actions forms) + +$background-hue4: lighten($background, 3%); +$background-hue5: transparentize($background, .5); +$background-hue6: darken($background, 1%); +$background-hue7: darken($background, 10%); +$background-hue8: lighten($background, 6%); +$background-hue9: darken($background, 5%); +$background-hue10: darken($background, 12%); +$background-hue11: darken($background, 2%); +$background-hue12: darken($background, 7%); +$background-hue13: lighten($background, 2%); + +$white: white; + +$almostWhite: lighten(saturate(adjust-hue($background, 60.0000), 20.0000), 0.7843); +$bg: $background; +$nearlyWhite: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.4902); // stronger +$blueGrey: #ccc; +$midGrey: #53738C; //darken(saturate(adjust-hue($blueGrey, 206.3158), 25.5605), 36.2745); +$actionsBackground: lighten($background, 6%); +$autoCompleteBg: $backgroundColor; +$sectionHighlight: darken(desaturate($background, 0), 5%); +$snippets:#999; +$lightenGrey: #6d6d6d; + +$links: #3D6E94; + +$links-background-hue1: transparentize($links, 1); + +$links: $links; +$links-hue-1: darken(saturate($links, 5%), 5%); +$links-hue-5: darken(saturate($links, 20%), 20%); +$linksHover: darken(saturate($links, 20%), 20%); +$linksHover-hue-2: transparentize($linksHover, .5); +$linkAlt: $secondary-hue1; +$md-primary: $links; + +$linkTitle: #33FFFF; + +$collectionDisLinks: #0075b0; + +$red: tomato; +// warning +$warning: $red; +$warn: $red; +$warningBorder: inset 0 0 0 3px $warning; + + +$text: $dark; +$text-hue1: lighten($text, 30%); +$text-hue2: $text; +$text-hue3: darken($text, 10%); + +$notice: #B84D00; + +$highlight: $highlightYellow; +$highlight-hue1: #FFFCC4; + +$modalBackdrop: rgb(68,68,68); +$moreLink: #45aab4; + +$selectedItem: saturate(lighten($midGrey, 53%), 40%); + +$citationTitle: rgb(68, 112, 123); +// $citationTitle: $titles; + +// chips +$chipTouchHeight: 28px; +$chipDesktopHeight: 22px; + +// Responsive +$responsiveMaxWidth: 960px !important; + +// Default bars height +$defaultBarHeight: 60px; + +// height of buttons in brief results +$briefButtonHeight: 38px; + +// citations +$citation: tomato; +$citationColor: $citation; +$citation-hue1: darken($citation, 40%); + +// personalization +$personalization: #7d1538; + +// Peer Reviewed +$peer-reviewed-color :#8359d4; + +// Open Access +$open-access-color: #f68212; + +// Angular Material +//----------------- + +// Progress bar +$progressBarHeight: 15px; + +// buttons +$defaultMdButtonHover: rgba(158,158,158,0.2); + + +//// Angular Material overrides +// Angular Material transition easing curves +//----------------------- + +$swift-ease-out-duration: 0.4s !default; +$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default; +$swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default; + +$swift-ease-in-duration: 0.3s !default; +$swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default; +$swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !default; + +$swift-ease-in-out-duration: 0.5s !default; +$swift-ease-in-out-timing-function: cubic-bezier(0.35, 0, 0.25, 1) !default; +$swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default; + +// Angular Material layouts +// ------------------------------ + +$baseline-grid: 8px !default; +$layout-gutter-width: ($baseline-grid * 2) !default; + +// Angular Material breakpoints +// ------------------------------ + +// $layout-breakpoint-xs: 600px !default; +// $layout-breakpoint-sm: 960px !default; +// $layout-breakpoint-md: 1280px !default; +// $layout-breakpoint-lg: 1920px !default; diff --git a/tests/manual/TESTBROWSERIFY/showDirectives.txt b/tests/manual/TESTBROWSERIFY/showDirectives.txt index 4940b4e09..3d64e5e4b 100644 --- a/tests/manual/TESTBROWSERIFY/showDirectives.txt +++ b/tests/manual/TESTBROWSERIFY/showDirectives.txt @@ -1 +1 @@ -javascript:(function(){var script=document.createElement("SCRIPT");script.src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';script.type='text/javascript';document.getElementsByTagName("head")[0].appendChild(script);var checkReady=function(callback){if(window.jQuery){callback(jQuery)}else{window.setTimeout(function(){checkReady(callback)},100)}};checkReady(function($){$('primo-explore').find('[parent-ctrl="$ctrl"]').each(function(){$(this).append('Hover for id')})})})(); +javascript:(function(){var script=document.createElement("SCRIPT");script.src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';script.type='text/javascript';document.getElementsByTagName("head")[0].appendChild(script);var checkReady=function(callback){if(window.jQuery){callback(jQuery)}else{window.setTimeout(function(){checkReady(callback)},100)}};checkReady(function($){$('primo-explore').find('[parent-ctrl="$ctrl"]').each(function(){$(this).append('Hover for id')})})})(); diff --git a/tests/manual/TESTCONCAT/README.md b/tests/manual/TESTCONCAT/README.md index 865ec76b3..b22061969 100644 --- a/tests/manual/TESTCONCAT/README.md +++ b/tests/manual/TESTCONCAT/README.md @@ -1,48 +1,48 @@ - -# The Primo New UI Customization Workflow Development Environment - - -## Package documentation - -The development package allows you to configure : - -- css - -- images - -- html - -- JavaScript - -- The root directory of the package should be named either by the `viewCode` or `CENTRAL_PACKAGE` in case of a consortia level package -- Whether you develop a consortia level package or a view level package the process remains the same -- Once deployed the hierarchy is as follows: - 1. For css - use the cascading ability of css and load the consortia level (CENTRAL_PACKAGE) css first and the view level css afterwards - 2. For images and html - the system checks for every file if it exists in each level - and prefers the view level file if exists - 3. For JavaScript - the two package types define 2 different Angular modules: - - ```var app = angular.module('viewCustom', ['angularLoad']);``` - - ```var app = angular.module('centralCustom', ['angularLoad']);``` - - and loads both of the modules, - -- For each configuration type there is a specified folder in the custom package folder (that can be downloaded form your Primo Back Office) -- In each folder you will find a specific README.md file with recipes/examples. - - [CSS](/VIEW_CODE/css/README.md "css documentation") - - [HTML](/VIEW_CODE/html/README.md "html documentation") - - [Images](/VIEW_CODE/img/README.md "images documentation") - - [JavaScript](/VIEW_CODE/js/README.md "javascript documentation") - -- For `colors.json.txt` instructions - please see [CSS](/VIEW_CODE/css/README.md "css documentation") documentation - - - - - - - - - + +# The Primo New UI Customization Workflow Development Environment + + +## Package documentation + +The development package allows you to configure : + +- css + +- images + +- html + +- JavaScript + +- The root directory of the package should be named either by the `viewCode` or `CENTRAL_PACKAGE` in case of a consortia level package +- Whether you develop a consortia level package or a view level package the process remains the same +- Once deployed the hierarchy is as follows: + 1. For css - use the cascading ability of css and load the consortia level (CENTRAL_PACKAGE) css first and the view level css afterwards + 2. For images and html - the system checks for every file if it exists in each level - and prefers the view level file if exists + 3. For JavaScript - the two package types define 2 different Angular modules: + - ```var app = angular.module('viewCustom', ['angularLoad']);``` + - ```var app = angular.module('centralCustom', ['angularLoad']);``` + + and loads both of the modules, + +- For each configuration type there is a specified folder in the custom package folder (that can be downloaded form your Primo Back Office) +- In each folder you will find a specific README.md file with recipes/examples. + + [CSS](/VIEW_CODE/css/README.md "css documentation") + + [HTML](/VIEW_CODE/html/README.md "html documentation") + + [Images](/VIEW_CODE/img/README.md "images documentation") + + [JavaScript](/VIEW_CODE/js/README.md "javascript documentation") + +- For `colors.json.txt` instructions - please see [CSS](/VIEW_CODE/css/README.md "css documentation") documentation + + + + + + + + + diff --git a/tests/manual/TESTCONCAT/colors.json b/tests/manual/TESTCONCAT/colors.json index 963f80de6..517158ab6 100644 --- a/tests/manual/TESTCONCAT/colors.json +++ b/tests/manual/TESTCONCAT/colors.json @@ -1,15 +1,15 @@ -{ - "primary": "red", - "secondary" : "green", - "backgroundColor" : "yellow", - "links": "#3D6E94", - "warning": "tomato", - "positive": "#0f7d00", - "negative": "gray", - "notice": "#B84D00", - "linkTitle": "#33FFFF", - "citation": "tomato", - "citationTitles": "rgb(68, 112, 123)", - "personalization": "#7d1538" -} - +{ + "primary": "red", + "secondary" : "green", + "backgroundColor" : "yellow", + "links": "#3D6E94", + "warning": "tomato", + "positive": "#0f7d00", + "negative": "gray", + "notice": "#B84D00", + "linkTitle": "#33FFFF", + "citation": "tomato", + "citationTitles": "rgb(68, 112, 123)", + "personalization": "#7d1538" +} + diff --git a/tests/manual/TESTCONCAT/css/README.md b/tests/manual/TESTCONCAT/css/README.md index 5df326507..70c5e9696 100644 --- a/tests/manual/TESTCONCAT/css/README.md +++ b/tests/manual/TESTCONCAT/css/README.md @@ -1,168 +1,168 @@ -# The Primo New UI Customization Workflow Development Environment - - -## css documentation - -- Primo uses Angular Directives massively in this project - -- To learn more about directives see: -> https://docs.angularjs.org/guide/directive - -- Primo uses external directives from the Angular-material framework : -> https://material.angularjs.org/latest/ - -- Those directives are tagged by a prefix : "md-" - -- Primo also creates its own directives which are tagged by the "prm-" prefix. - - -Example: -``` -
- - - - - - - - - -
-``` - - -- You can see in the example how we use : - -1. An HTML5 tag - header -2. A Primo directive : prm-topbar , prm-search-bar. -3. An external material design directive : md-progress-bar : -> https://material.angularjs.org/latest/api/directive/mdProgressLinear - - - -- When defining css rules it is important to understand the css cascading/specifity logic: - -> http://www.w3.org/TR/css3-cascade/ - -> https://specificity.keegan.st/ - - - - -- When you start working on customizing your css be aware of the ability to define css selectors based on the directive name, which is actually equivalent -to an html tag - this will enable you changing the design of a component cross-system without relying on id's/classes - -- For the example above we can define selectors: - -``` -prm-topbar input {....} -prm-topbar.md-primoExplore-theme input {....} -``` -- Primo is using a theme inside angular-material to define a palette of colors see: -> https://material.angularjs.org/latest/Theming/01_introduction - - -- This means that you will often encounter a class "md-primoExplore-theme" attached to elements. - - - -## Recipes/Examples: - - -# css Recipe 1 - Color Scheme (Starting from August 2016 Release) - -- Open the `colors.json.txt` file in the root of your view folder -- You will see a json object with our default color scheme: - - ``` - { - "primary": "#53738C", - "secondary" : "#A9CDD6", - "backgroundColor" : "white", - "links": "#5C92BD", - "warning": "tomato", - "positive": "#0f7d00", - "negative": "gray", - "notice": "#e08303" - } - ``` - -- Since November 2016 release - we are giving you the ability to easily customize the majority of the following -colors - primary, secondary, backgroundColor, links, warning, positive, negative, notice - just change the definition and save the file. - -The colors are mapped to different elements in the user interface: - -![Color Changes image](../../help_files/colors3.png "Color Changes") - -- Open a new command line window - -- cd to the project base directory (C:\**\**\primo-explore-devenv) -- Run `gulp app-css --view ` for example: - `gulp app-css --view Auto1` -- for Primo Ve customers add the --ve flag at the end of the command for example: - `gulp app-css --view Auto1 --ve` -- A new file will be created on your package css directory named: `app-colors.css` -- This file will contain all of the primo-explore theme color definitions. - We will continue to add more color definitions to extend this ability -- Refresh your browser to see the changes take affect -- For example, for the following `colors.json.txt` file: - -``` -{ - "primary": "#512DA8", - "secondary" : "#D1C4E9", - "backgroundColor" : "#BDBDBD", - "links": "#009688", - "warning": "#FF5722" -} - - -``` - -You will get: - - ![Color Changes image](../../help_files/colors1.png "Color Changes") - - ![Color Changes image](../../help_files/colors2.png "Color Changes") - -# css Recipe 2 - Moving the Facets to the Left - - -- Select the parent container containing the search result and the facets -- Copy the selector definition using your browsers' dev tools -- Define the container as - -``` -display:flex; -flex-flow:row-reverse; -``` - - -- complete css definition: -``` -prm-search > md-content.md-primoExplore-theme .main, prm-search > md-content.md-primoExplore-theme.main { - display: -webkit-flex; !* Safari *! - -webkit-flex-flow: row-reverse wrap; !* Safari 6.1+ *! - display: flex; - flex-flow: row-reverse wrap; - -} -.screen-gt-sm .sidebar{ - webkit-flex: 0 0 15%; - flex: 0 0 15%; -} -``` -- Save and refresh your browser - -- The result: - - - ![Facets image](../../help_files/facets.png "Factes Changes") - - - - - - - +# The Primo New UI Customization Workflow Development Environment + + +## css documentation + +- Primo uses Angular Directives massively in this project + +- To learn more about directives see: +> https://docs.angularjs.org/guide/directive + +- Primo uses external directives from the Angular-material framework : +> https://material.angularjs.org/latest/ + +- Those directives are tagged by a prefix : "md-" + +- Primo also creates its own directives which are tagged by the "prm-" prefix. + + +Example: +``` +
+ + + + + + + + + +
+``` + + +- You can see in the example how we use : + +1. An HTML5 tag - header +2. A Primo directive : prm-topbar , prm-search-bar. +3. An external material design directive : md-progress-bar : +> https://material.angularjs.org/latest/api/directive/mdProgressLinear + + + +- When defining css rules it is important to understand the css cascading/specifity logic: + +> http://www.w3.org/TR/css3-cascade/ + +> https://specificity.keegan.st/ + + + + +- When you start working on customizing your css be aware of the ability to define css selectors based on the directive name, which is actually equivalent +to an html tag - this will enable you changing the design of a component cross-system without relying on id's/classes + +- For the example above we can define selectors: + +``` +prm-topbar input {....} +prm-topbar.md-primoExplore-theme input {....} +``` +- Primo is using a theme inside angular-material to define a palette of colors see: +> https://material.angularjs.org/latest/Theming/01_introduction + + +- This means that you will often encounter a class "md-primoExplore-theme" attached to elements. + + + +## Recipes/Examples: + + +# css Recipe 1 - Color Scheme (Starting from August 2016 Release) + +- Open the `colors.json.txt` file in the root of your view folder +- You will see a json object with our default color scheme: + + ``` + { + "primary": "#53738C", + "secondary" : "#A9CDD6", + "backgroundColor" : "white", + "links": "#5C92BD", + "warning": "tomato", + "positive": "#0f7d00", + "negative": "gray", + "notice": "#e08303" + } + ``` + +- Since November 2016 release - we are giving you the ability to easily customize the majority of the following +colors - primary, secondary, backgroundColor, links, warning, positive, negative, notice - just change the definition and save the file. + +The colors are mapped to different elements in the user interface: + +![Color Changes image](../../help_files/colors3.png "Color Changes") + +- Open a new command line window + +- cd to the project base directory (C:\**\**\primo-explore-devenv) +- Run `gulp app-css --view ` for example: + `gulp app-css --view Auto1` +- for Primo Ve customers add the --ve flag at the end of the command for example: + `gulp app-css --view Auto1 --ve` +- A new file will be created on your package css directory named: `app-colors.css` +- This file will contain all of the primo-explore theme color definitions. + We will continue to add more color definitions to extend this ability +- Refresh your browser to see the changes take affect +- For example, for the following `colors.json.txt` file: + +``` +{ + "primary": "#512DA8", + "secondary" : "#D1C4E9", + "backgroundColor" : "#BDBDBD", + "links": "#009688", + "warning": "#FF5722" +} + + +``` + +You will get: + + ![Color Changes image](../../help_files/colors1.png "Color Changes") + + ![Color Changes image](../../help_files/colors2.png "Color Changes") + +# css Recipe 2 - Moving the Facets to the Left + + +- Select the parent container containing the search result and the facets +- Copy the selector definition using your browsers' dev tools +- Define the container as + +``` +display:flex; +flex-flow:row-reverse; +``` + + +- complete css definition: +``` +prm-search > md-content.md-primoExplore-theme .main, prm-search > md-content.md-primoExplore-theme.main { + display: -webkit-flex; !* Safari *! + -webkit-flex-flow: row-reverse wrap; !* Safari 6.1+ *! + display: flex; + flex-flow: row-reverse wrap; + +} +.screen-gt-sm .sidebar{ + webkit-flex: 0 0 15%; + flex: 0 0 15%; +} +``` +- Save and refresh your browser + +- The result: + + + ![Facets image](../../help_files/facets.png "Factes Changes") + + + + + + + diff --git a/tests/manual/TESTCONCAT/html/README.md b/tests/manual/TESTCONCAT/html/README.md index 3f8d98b15..e2800ec36 100644 --- a/tests/manual/TESTCONCAT/html/README.md +++ b/tests/manual/TESTCONCAT/html/README.md @@ -1,152 +1,152 @@ -# The Primo New UI Customization Workflow Development Environment - - -## html documentation - - - In this folder you will find static html files in their OTB state - - The files are separated into directories (starting from the November 2016 Release) - - You can edit the html to comply with your library requirements - - To support multiple languages in your interface just add a suffix with the language code to your file-name, - For example: - - 1. homepage_fe_FR.html (in the August 2016 Release use home_fe_FR.html) - 2. help_de_DE.html(Available in the November 2016 Release) - - - This is how your directory structure should look like: - - ![August 2016 Release structure image](../../help_files/htmlStructureAug.png "August 2016 Release structure") - - - - Note that you can use Angular Material directives in your html: - > https://material.angularjs.org/latest/ - - -## Email templates - Starting from 2020 Primo supports a new html template to customize email messages sent to patrons'. - - To customize this template create a file named email_fr_FR.html (based on your language suffix) and upload it using the html directory in your customization package. - - In this html file you can design your own email template using html. - - Since Primo supports the email action on multiple records you should add the following attribute to the html element represnting a record: - - ```ng-if="$ctrl.parentCtrl.fullViewLoaded" ng-repeat="item in $ctrl.parentCtrl.delayedItems"``` - - for example: - - For an email template layout as below the attribute should be added to the records container: - - ``` -
- - -
- - - - - - ... - -
-
-
- ``` - - When editing the template you can: - - 1. Use regular html (use best practices for email templating: https://mailchimp.com/help/about-html-email/) to design the layout of your email based on your preferences. - - 2. You can take advantage of some of our OTB directives in your templates: -``` - - - - - - - - - ``` - 3. You can reference the sent item(pnx/record) using angular syntax to present the relevant data: - - use the curly brackets to access the pnx diectly - for example: -``` - {{item.pnx.display.title}} -``` - or loop over values using the ng-repeat directive to add multiple fields: - -```
-
Additional Information From the Record:
- OCLCID: -
{{oclcid}}
-``` -``` ``` - - - - - - -**Notice :** Any link in your template will be removed - for security reasons, we will not allow links other than the link to the record to avoid email exploits. - -To add the link to the full record you can either: - 1. Use the - - ``` - - - ``` -directive in your template - This includes the link to the record - -2. Use the following code snippet in your template: - - ``` - - {{item.pnx.display.title[0]}} - - ``` - -To use your library logo (not the OTB ) you can use your own html, with an img element that has a class attribute of *logo-image* immediatly following the opening tag, for example: - - ``` - - - - - - -
- -
-``` - - - ## Examples - - Full examples of email templates can be found in the help files folder folder: - - 1. [The Out of the Box template for emails](../../help_files/email_en_US.html) email_en_US.html - - 2. [A template based on the OTB - brief + custom fields + availability](../../help_files/email_en_US-brief+additionalField+availability.html) - will produce the following email: - - ![example brief](../../help_files/example-bried-and-subject.png "example brief") - - 3. [A template based on an open source email template with no Primo directives - just use of the ```{{item.pnx.display.title}}```](../../help_files/email_en_US_Details.html) - will produce the following email: - - ![example external](../../help_files/example-external.png "example external") - - - - +# The Primo New UI Customization Workflow Development Environment + + +## html documentation + + - In this folder you will find static html files in their OTB state + - The files are separated into directories (starting from the November 2016 Release) + - You can edit the html to comply with your library requirements + - To support multiple languages in your interface just add a suffix with the language code to your file-name, + For example: + + 1. homepage_fe_FR.html (in the August 2016 Release use home_fe_FR.html) + 2. help_de_DE.html(Available in the November 2016 Release) + + - This is how your directory structure should look like: + + ![August 2016 Release structure image](../../help_files/htmlStructureAug.png "August 2016 Release structure") + + + - Note that you can use Angular Material directives in your html: + > https://material.angularjs.org/latest/ + + +## Email templates + Starting from 2020 Primo supports a new html template to customize email messages sent to patrons'. + + To customize this template create a file named email_fr_FR.html (based on your language suffix) and upload it using the html directory in your customization package. + + In this html file you can design your own email template using html. + + Since Primo supports the email action on multiple records you should add the following attribute to the html element represnting a record: + + ```ng-if="$ctrl.parentCtrl.fullViewLoaded" ng-repeat="item in $ctrl.parentCtrl.delayedItems"``` + + for example: + + For an email template layout as below the attribute should be added to the records container: + + ``` +
+ + +
+ + + + + + ... + +
+
+
+ ``` + + When editing the template you can: + + 1. Use regular html (use best practices for email templating: https://mailchimp.com/help/about-html-email/) to design the layout of your email based on your preferences. + + 2. You can take advantage of some of our OTB directives in your templates: +``` + + + + + + + + + ``` + 3. You can reference the sent item(pnx/record) using angular syntax to present the relevant data: + + use the curly brackets to access the pnx diectly - for example: +``` + {{item.pnx.display.title}} +``` + or loop over values using the ng-repeat directive to add multiple fields: + +```
+
Additional Information From the Record:
+ OCLCID: +
{{oclcid}}
+``` +``` ``` + + + + + + +**Notice :** Any link in your template will be removed - for security reasons, we will not allow links other than the link to the record to avoid email exploits. + +To add the link to the full record you can either: + 1. Use the + + ``` + + + ``` +directive in your template - This includes the link to the record + +2. Use the following code snippet in your template: + + ``` + + {{item.pnx.display.title[0]}} + + ``` + +To use your library logo (not the OTB ) you can use your own html, with an img element that has a class attribute of *logo-image* immediatly following the opening tag, for example: + + ``` + + + + + + +
+ +
+``` + + + ## Examples + + Full examples of email templates can be found in the help files folder folder: + + 1. [The Out of the Box template for emails](../../help_files/email_en_US.html) email_en_US.html + + 2. [A template based on the OTB - brief + custom fields + availability](../../help_files/email_en_US-brief+additionalField+availability.html) + will produce the following email: + + ![example brief](../../help_files/example-bried-and-subject.png "example brief") + + 3. [A template based on an open source email template with no Primo directives - just use of the ```{{item.pnx.display.title}}```](../../help_files/email_en_US_Details.html) + will produce the following email: + + ![example external](../../help_files/example-external.png "example external") + + + + diff --git a/tests/manual/TESTCONCAT/html/home_en_US.html b/tests/manual/TESTCONCAT/html/home_en_US.html index 96b69aa8e..09f950a2c 100644 --- a/tests/manual/TESTCONCAT/html/home_en_US.html +++ b/tests/manual/TESTCONCAT/html/home_en_US.html @@ -1 +1 @@ -Customized +Customized diff --git a/tests/manual/TESTCONCAT/img/README.md b/tests/manual/TESTCONCAT/img/README.md index eb4c0bb82..bb1ffb13e 100644 --- a/tests/manual/TESTCONCAT/img/README.md +++ b/tests/manual/TESTCONCAT/img/README.md @@ -1,20 +1,20 @@ -# The Primo New UI Customization Workflow Development Environment - - -## images documentation - - - Primo allows the customization of the following images; - 1. Library Logo - just place a file named `library-logo.png` in this location - 2. Library favicon - just place a file named `favicon.ico` in this location - 3. Default Resource Types - just place a files following this convention : - `icon_.png` - - For Example: - `icon_book.png` - - - - - - - +# The Primo New UI Customization Workflow Development Environment + + +## images documentation + + - Primo allows the customization of the following images; + 1. Library Logo - just place a file named `library-logo.png` in this location + 2. Library favicon - just place a file named `favicon.ico` in this location + 3. Default Resource Types - just place a files following this convention : + `icon_.png` + + For Example: + `icon_book.png` + + + + + + + diff --git a/tests/manual/TESTCONCAT/js/README.md b/tests/manual/TESTCONCAT/js/README.md index cfc360d7a..741a4c368 100644 --- a/tests/manual/TESTCONCAT/js/README.md +++ b/tests/manual/TESTCONCAT/js/README.md @@ -1,275 +1,275 @@ -# The Primo New UI Customization Workflow Development Environment - - -## JavaScript documentation - -- When you want to add functionality to your Primo installation you will be using Angular Directives. - -- To learn more about directives see: -> https://docs.angularjs.org/guide/directive - -- Primo uses external directives from the Angular-material framework: -> https://material.angularjs.org/latest/ - -- Those directives are tagged by a prefix : "md-" - -- Primo also creates its own directives which are tagged by the "prm-" prefix. - - -Example: -``` -
- - - - - - - - - -
-``` - - -- You can see in the example how we use : - -1. An HTML5 tag - header -2. A Primo directive : prm-topbar , prm-search-bar. -3. An external material design directive : md-progress-bar : -> https://material.angularjs.org/latest/api/directive/mdProgressLinear - - - -## Concept - -- When You want to add your own JavaScript functionality - you will need to plug-in to placeholder Directives we added to the system, by creating your own placeholder Directive. -- Those directives are added as the last child element for every Primo directive (defined by the `prm-` prefix) -- The placeholder directives are injected (as input) with the Controller of their parent, thus have access to the data model of the parent directive -- Use the examples below as starting points for your JavaScript plug-in directives -- Learn about Angular Directives to better understand the different abilities this workflow offers -> https://docs.angularjs.org/guide/directive - - - -## Recipes/Examples: - -# Note: - -The examples below use the back tic '`' for templates - which will work using babel (Documentation on how to do so will be shared) -This causes the examples to fail on IE11 browsers. - -To solve this you can replace the '`' with regular apostrophe ("'") and use a single line template (less readable but works just as well). - - - - -# JavaScript Recipe 1 - a Static `hello world` html Message - - -- Use the `showDirectives` (located in the root directory of this package is the showDirectives.txt file -, just add the content of the file as a bookmark to your browser) scriplet to identify the `prmSearchBarAfter` directive which you will plugin to - - -![Show Directives image](../../help_files/showDirectives.png "Show Directives Changes") - -- Edit the primo-explore/custom/js/custom.js file and add a component declaration for `myInstitutionComponent` and a component declaration -for the `prmSearchBarAfter` directive - - ``` - app.component('myInstitutionComponent', { - - - }); - - app.component('prmSearchBarAfter', { - - - }); - ``` -- Add the template property with your static message - - ``` - app.component('myInstitutionComponent', { - template: `Hello World` - }); - ``` -- Add the template property with your component template (myInstitutionComponent) - - ``` - app.component('prmSearchBarAfter', { - bindings: {parentCtrl: `<`}, - template: `` - }); - ``` - - -- Save and refresh your browser - -![Hello World image](../../help_files/js1.png "Hello World Changes") - -# JavaScript Recipe 2 - a Dynamic Directive -- Use the `showDirectives` scriplet to identify the `prmSearchBarAfter` directive which you will plugin to -- Run the following command in your browsers' console tab: -``` - angular.reloadWithDebugInfo() -``` -- Focus on the `prmSearchBarAfter` directive - -![Focus image](../../help_files/js2.png "Focus") - -- Run the following command in your browsers' console tab: -``` - angular.element($0).scope().$ctrl (angular.element($0).scope().ctrl in version earlier than February 2017) -``` - -- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible - -![properties image](../../help_files/js3.png "properties") - - -- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmSearchBarAfter` directive, and a component declaration for the `myInstitutionComponent` - -- Add a binding definition the input parentCtrl for both components -``` - bindings: {parentCtrl: '<'}, -``` -- Add a controller definition for the `myInstitutionComponent` component: -``` - controller: 'MyInstitutionComponentController', -``` -- Define a controller with 2 getter methods to return the query and selected scope -``` -app.controller('MyInstitutionComponentController', [function () { - var vm = this; - - - vm.getSelectdScope = getSelectdScope; - vm.getQuery = getQuery; - - - function getSelectdScope() { - return vm.parentCtrl.scopeField; - } - - function getQuery() { - return vm.parentCtrl.mainSearchField; - } - }]); - -``` -- Edit the `prmSearchBarAfter` directive template to reference the `myInstitutionComponent` -``` -template: `` -``` -- Edit the `myInstitutionComponent` directive template to reference the getter methods -``` -template: `
- - - - This is a demo presenting the ability to display query - information below the search box - Query: {{$ctrl.getQuery()}} - Scope: {{$ctrl.getSelectdScope()}} - - -
-
-
- - Action 1 - Action 2 - -
-
` - - ``` -- Save and refresh your browser - -![dynamic example image](../../help_files/js4.png "dynamic example") - -# JavaScript Recipe 3 - Adding the Altmetrics Widget -- Use the `showDirectives` scriplet to identify the `prmFullViewAfter` directive which you will plugin to - -![Altmetrics example image](../../help_files/js5.png "Altmetrics example") - -- Run the following command in your browsers' console tab: -`angular.reloadWithDebugInfo()` -- Focus on the `prmFullViewAfter` directive -- Run the following command in your browsers' console tab: -`angular.element($0).scope().ctrl` - -- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible - -![Altmetrics example 2 image](../../help_files/js6.png "Altmetrics 2 example") - -- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmFullViewAfter` directive, and a component declaration for the `myInstitutionComponent` - -- Add a binding definition the input parentCtrl for both components -``` - bindings: {parentCtrl: '<'}, -``` -- Add a controller definition for the `myInstitutionComponent` component: -``` - controller: 'MyInstitutionComponentController', -``` -- Define a controller that populates the doi and loads the Altmetrics js file -``` -app.controller('MyInstitutionComponentController', ['angularLoad', function (angularLoad) { - var vm = this; - vm.doi = vm.parentCtrl.item.pnx.addata.doi[0] || ''; - - vm.$onInit = function () { - angularLoad.loadScript('https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js?' + Date.now()).then(function () { - - }); - }; - }]); -``` -- Edit the `prmFullViewAfter` directive template to reference the `myInstitutionComponent` -``` -template: `` -``` -- Edit the `myInstitutionComponent` directive template to add the Altmetrics div and bind the data-doi attribute to the controller -``` -app.component('myInstitutionComponent', { - bindings: {parentCtrl: '<'}, - controller: 'MyInstitutionComponentController', - template: `
-
-
-

- Social Popularity Statistics (AltMetrics) : -

- - -
-
-
-
-
-
-
-
-
-
-
-
-
` - }); - ``` - -- Edit the custom1.css file and add the following definitions: - - ``` - .full-view-section.loc-altemtrics{ - background-color: #f3f3f3; - margin-top:0px; - padding-left: 3em; - } - ``` - -- Save and refresh your browser - -![Altmetrics example 3 image](../../help_files/js7.png "Altmetrics 3 example") +# The Primo New UI Customization Workflow Development Environment + + +## JavaScript documentation + +- When you want to add functionality to your Primo installation you will be using Angular Directives. + +- To learn more about directives see: +> https://docs.angularjs.org/guide/directive + +- Primo uses external directives from the Angular-material framework: +> https://material.angularjs.org/latest/ + +- Those directives are tagged by a prefix : "md-" + +- Primo also creates its own directives which are tagged by the "prm-" prefix. + + +Example: +``` +
+ + + + + + + + + +
+``` + + +- You can see in the example how we use : + +1. An HTML5 tag - header +2. A Primo directive : prm-topbar , prm-search-bar. +3. An external material design directive : md-progress-bar : +> https://material.angularjs.org/latest/api/directive/mdProgressLinear + + + +## Concept + +- When You want to add your own JavaScript functionality - you will need to plug-in to placeholder Directives we added to the system, by creating your own placeholder Directive. +- Those directives are added as the last child element for every Primo directive (defined by the `prm-` prefix) +- The placeholder directives are injected (as input) with the Controller of their parent, thus have access to the data model of the parent directive +- Use the examples below as starting points for your JavaScript plug-in directives +- Learn about Angular Directives to better understand the different abilities this workflow offers +> https://docs.angularjs.org/guide/directive + + + +## Recipes/Examples: + +# Note: + +The examples below use the back tic '`' for templates - which will work using babel (Documentation on how to do so will be shared) +This causes the examples to fail on IE11 browsers. + +To solve this you can replace the '`' with regular apostrophe ("'") and use a single line template (less readable but works just as well). + + + + +# JavaScript Recipe 1 - a Static `hello world` html Message + + +- Use the `showDirectives` (located in the root directory of this package is the showDirectives.txt file +, just add the content of the file as a bookmark to your browser) scriplet to identify the `prmSearchBarAfter` directive which you will plugin to + + +![Show Directives image](../../help_files/showDirectives.png "Show Directives Changes") + +- Edit the primo-explore/custom/js/custom.js file and add a component declaration for `myInstitutionComponent` and a component declaration +for the `prmSearchBarAfter` directive + + ``` + app.component('myInstitutionComponent', { + + + }); + + app.component('prmSearchBarAfter', { + + + }); + ``` +- Add the template property with your static message + + ``` + app.component('myInstitutionComponent', { + template: `Hello World` + }); + ``` +- Add the template property with your component template (myInstitutionComponent) + + ``` + app.component('prmSearchBarAfter', { + bindings: {parentCtrl: `<`}, + template: `` + }); + ``` + + +- Save and refresh your browser + +![Hello World image](../../help_files/js1.png "Hello World Changes") + +# JavaScript Recipe 2 - a Dynamic Directive +- Use the `showDirectives` scriplet to identify the `prmSearchBarAfter` directive which you will plugin to +- Run the following command in your browsers' console tab: +``` + angular.reloadWithDebugInfo() +``` +- Focus on the `prmSearchBarAfter` directive + +![Focus image](../../help_files/js2.png "Focus") + +- Run the following command in your browsers' console tab: +``` + angular.element($0).scope().$ctrl (angular.element($0).scope().ctrl in version earlier than February 2017) +``` + +- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible + +![properties image](../../help_files/js3.png "properties") + + +- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmSearchBarAfter` directive, and a component declaration for the `myInstitutionComponent` + +- Add a binding definition the input parentCtrl for both components +``` + bindings: {parentCtrl: '<'}, +``` +- Add a controller definition for the `myInstitutionComponent` component: +``` + controller: 'MyInstitutionComponentController', +``` +- Define a controller with 2 getter methods to return the query and selected scope +``` +app.controller('MyInstitutionComponentController', [function () { + var vm = this; + + + vm.getSelectdScope = getSelectdScope; + vm.getQuery = getQuery; + + + function getSelectdScope() { + return vm.parentCtrl.scopeField; + } + + function getQuery() { + return vm.parentCtrl.mainSearchField; + } + }]); + +``` +- Edit the `prmSearchBarAfter` directive template to reference the `myInstitutionComponent` +``` +template: `` +``` +- Edit the `myInstitutionComponent` directive template to reference the getter methods +``` +template: `
+ + + + This is a demo presenting the ability to display query + information below the search box + Query: {{$ctrl.getQuery()}} + Scope: {{$ctrl.getSelectdScope()}} + + +
+
+
+ + Action 1 + Action 2 + +
+
` + + ``` +- Save and refresh your browser + +![dynamic example image](../../help_files/js4.png "dynamic example") + +# JavaScript Recipe 3 - Adding the Altmetrics Widget +- Use the `showDirectives` scriplet to identify the `prmFullViewAfter` directive which you will plugin to + +![Altmetrics example image](../../help_files/js5.png "Altmetrics example") + +- Run the following command in your browsers' console tab: +`angular.reloadWithDebugInfo()` +- Focus on the `prmFullViewAfter` directive +- Run the following command in your browsers' console tab: +`angular.element($0).scope().ctrl` + +- Review the properties of the directive to decide which data elements can be used, avoid methods/functions as they wont be backwards compatible + +![Altmetrics example 2 image](../../help_files/js6.png "Altmetrics 2 example") + +- Edit primo-explore/custom/js/custom.js file and add: a component declaration for the `prmFullViewAfter` directive, and a component declaration for the `myInstitutionComponent` + +- Add a binding definition the input parentCtrl for both components +``` + bindings: {parentCtrl: '<'}, +``` +- Add a controller definition for the `myInstitutionComponent` component: +``` + controller: 'MyInstitutionComponentController', +``` +- Define a controller that populates the doi and loads the Altmetrics js file +``` +app.controller('MyInstitutionComponentController', ['angularLoad', function (angularLoad) { + var vm = this; + vm.doi = vm.parentCtrl.item.pnx.addata.doi[0] || ''; + + vm.$onInit = function () { + angularLoad.loadScript('https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js?' + Date.now()).then(function () { + + }); + }; + }]); +``` +- Edit the `prmFullViewAfter` directive template to reference the `myInstitutionComponent` +``` +template: `` +``` +- Edit the `myInstitutionComponent` directive template to add the Altmetrics div and bind the data-doi attribute to the controller +``` +app.component('myInstitutionComponent', { + bindings: {parentCtrl: '<'}, + controller: 'MyInstitutionComponentController', + template: `
+
+
+

+ Social Popularity Statistics (AltMetrics) : +

+ + +
+
+
+
+
+
+
+
+
+
+
+
+
` + }); + ``` + +- Edit the custom1.css file and add the following definitions: + + ``` + .full-view-section.loc-altemtrics{ + background-color: #f3f3f3; + margin-top:0px; + padding-left: 3em; + } + ``` + +- Save and refresh your browser + +![Altmetrics example 3 image](../../help_files/js7.png "Altmetrics 3 example") diff --git a/tests/manual/TESTCONCAT/js/custom.js b/tests/manual/TESTCONCAT/js/custom.js index b1c2ca3d6..38cdb460d 100644 --- a/tests/manual/TESTCONCAT/js/custom.js +++ b/tests/manual/TESTCONCAT/js/custom.js @@ -1,42 +1,42 @@ -(function(){ -"use strict"; -'use strict'; - -var app = angular.module('viewCustom', ['angularLoad']); - -app.service('TestService', [function () { - var vm = this; - - vm.manipulate = manipulate; - - function manipulate(str) { - return str.split("").reverse().join(""); - } -}]); - -app.component('myInstitutionComponent', { - bindings: { parentCtrl: '<' }, - controller: 'MyInstitutionComponentController', - template: '
\n \n \n \n This is a demo presenting the ability to display query\n information below the search box\n Query: {{$ctrl.getQuery()}}\n Scope: {{$ctrl.getSelectdScope()}}\n \n \n
\n
\n
\n \n Action 1\n Action 2\n \n
\n
\n ' -}); - -app.component('prmSearchBarAfter', { - bindings: { parentCtrl: '<' }, - template: '' -}); - -app.controller('MyInstitutionComponentController', ['TestService', function (testService) { - var vm = this; - - vm.getSelectdScope = getSelectdScope; - vm.getQuery = getQuery; - - function getSelectdScope() { - return testService.manipulate(vm.parentCtrl.scopeField); - } - - function getQuery() { - return vm.parentCtrl.mainSearchField; - } -}]); +(function(){ +"use strict"; +'use strict'; + +var app = angular.module('viewCustom', ['angularLoad']); + +app.service('TestService', [function () { + var vm = this; + + vm.manipulate = manipulate; + + function manipulate(str) { + return str.split("").reverse().join(""); + } +}]); + +app.component('myInstitutionComponent', { + bindings: { parentCtrl: '<' }, + controller: 'MyInstitutionComponentController', + template: '
\n \n \n \n This is a demo presenting the ability to display query\n information below the search box\n Query: {{$ctrl.getQuery()}}\n Scope: {{$ctrl.getSelectdScope()}}\n \n \n
\n
\n
\n \n Action 1\n Action 2\n \n
\n
\n ' +}); + +app.component('prmSearchBarAfter', { + bindings: { parentCtrl: '<' }, + template: '' +}); + +app.controller('MyInstitutionComponentController', ['TestService', function (testService) { + var vm = this; + + vm.getSelectdScope = getSelectdScope; + vm.getQuery = getQuery; + + function getSelectdScope() { + return testService.manipulate(vm.parentCtrl.scopeField); + } + + function getQuery() { + return vm.parentCtrl.mainSearchField; + } +}]); })(); \ No newline at end of file diff --git a/tests/manual/TESTCONCAT/js/custom.module.js b/tests/manual/TESTCONCAT/js/custom.module.js index 80a8a536b..9aee9a710 100644 --- a/tests/manual/TESTCONCAT/js/custom.module.js +++ b/tests/manual/TESTCONCAT/js/custom.module.js @@ -1 +1 @@ -var app = angular.module('viewCustom', ['angularLoad']); +var app = angular.module('viewCustom', ['angularLoad']); diff --git a/tests/manual/TESTCONCAT/js/test.service.js b/tests/manual/TESTCONCAT/js/test.service.js index 3579f665b..eb72386a3 100644 --- a/tests/manual/TESTCONCAT/js/test.service.js +++ b/tests/manual/TESTCONCAT/js/test.service.js @@ -1,11 +1,11 @@ -app.service('TestService', [function () { - let vm = this; - - - vm.manipulate = manipulate; - - - function manipulate(str){ - return str.split("").reverse().join(""); - } -}]); +app.service('TestService', [function () { + let vm = this; + + + vm.manipulate = manipulate; + + + function manipulate(str){ + return str.split("").reverse().join(""); + } +}]); diff --git a/tests/manual/TESTCONCAT/js/testjs.js b/tests/manual/TESTCONCAT/js/testjs.js index 04a5c6e30..d11122fcf 100644 --- a/tests/manual/TESTCONCAT/js/testjs.js +++ b/tests/manual/TESTCONCAT/js/testjs.js @@ -1,50 +1,50 @@ -app.component('myInstitutionComponent', { - bindings: {parentCtrl: '<'}, - controller: 'MyInstitutionComponentController', - template: `
- - - - This is a demo presenting the ability to display query - information below the search box - Query: {{$ctrl.getQuery()}} - Scope: {{$ctrl.getSelectdScope()}} - - -
-
-
- - Action 1 - Action 2 - -
-
- ` -}); - - - - - -app.component('prmSearchBarAfter', { - bindings: {parentCtrl: `<`}, - template: `` -}); - -app.controller('MyInstitutionComponentController', ['TestService', function (testService) { - var vm = this; - - - vm.getSelectdScope = getSelectdScope; - vm.getQuery = getQuery; - - - function getSelectdScope() { - return testService.manipulate(vm.parentCtrl.scopeField); - } - - function getQuery() { - return vm.parentCtrl.mainSearchField; - } -}]); +app.component('myInstitutionComponent', { + bindings: {parentCtrl: '<'}, + controller: 'MyInstitutionComponentController', + template: `
+ + + + This is a demo presenting the ability to display query + information below the search box + Query: {{$ctrl.getQuery()}} + Scope: {{$ctrl.getSelectdScope()}} + + +
+
+
+ + Action 1 + Action 2 + +
+
+ ` +}); + + + + + +app.component('prmSearchBarAfter', { + bindings: {parentCtrl: `<`}, + template: `` +}); + +app.controller('MyInstitutionComponentController', ['TestService', function (testService) { + var vm = this; + + + vm.getSelectdScope = getSelectdScope; + vm.getQuery = getQuery; + + + function getSelectdScope() { + return testService.manipulate(vm.parentCtrl.scopeField); + } + + function getQuery() { + return vm.parentCtrl.mainSearchField; + } +}]); diff --git a/tests/manual/TESTCONCAT/scss/partials/_variables.scss b/tests/manual/TESTCONCAT/scss/partials/_variables.scss index c70d2883c..0ef29b3a9 100644 --- a/tests/manual/TESTCONCAT/scss/partials/_variables.scss +++ b/tests/manual/TESTCONCAT/scss/partials/_variables.scss @@ -1,225 +1,225 @@ -//// VARIABLES -// The complex color calculation were created with http://razorjam.github.io/sasscolourfunctioncalculator/ - -// Fonts family -$serif: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif; - -// Font weights -$light: 300; -$normal: 400; -$bold: 600; -$heavy: 900; - -// Font size -$defaultFontSize: 15px; - -// Shapes -$radius: 3px; - -// Padding -$paddingBase: 1em; -$paddingExtra: 1.5em; -$paddingMedium: 1.3em; -$paddingLarge: 1em; -$paddingSmall: .5em; -$paddingTiny: .25em; - -// colors - -$muteOrange: red; - - - -$almostBlack: #777; - - - -$titles: rgb(68, 112, 123); -$frbr: #ed9100; -$pink: rgb(255, 171, 200); - -$dark: #3a3a3a; -$darker: darken(saturate(adjust-hue($dark, 0.0000), 0.0000), 6.6667); - -// lighter background color - - -$highlightYellow: #FFFCC4; //stronger -$highlight: darken(desaturate(adjust-hue($highlightYellow, -4.0920), 16.0000), 8.0392); -$highlightText: #ffe564; -$success: #3EA03E; -//$green: #3EA03E; // redundancy of 'success' -$green: #198A19; -//$orange: #CE8015; //#E0962E; -$muteOrange: #C59655; -$yellow: #F1C16F; -$overlayDarkDG: rgba(68, 68, 68, 0.6); - -// $availabiltyDetails: desaturate(lighten($midGrey,5%), 5%); -//$maybe: $orange; - -$alert: #F7EDA3; -$alert-hue1: darken(desaturate(adjust-hue($alert, 0.3074), 15.3043), 2.9412); - - -$disabled: #aaa; -$courseColor: #55909B; - -$primary: red; -$primary-hue1: darken($primary, 3%); -$primary-hue2: darken($primary, 5%); -$primary-hue3: darken($primary-hue2, 2%); -$primary-hue4: darken($primary, 10%); -$primary-hue5: darker($primary, -5%); - -$secondary: green; -$secondary-hue1: darken(saturate(adjust-hue($secondary, -6.5946), 9.1452), 26.2745); -$secondary-hue2: darken($secondary, 20%); -$secondary-hue3:darken(saturate(adjust-hue($secondary, -12), 30.28), 47.65); // "show more" buttons in facets -$secondary-hue4: darken(saturate(adjust-hue($secondary, -7), 64.57), 13.92); - - -$backgroundColor: yellow; - -$positive: #0f7d00; - -$negative: gray; - -$background: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 8.6275); //redundancy of almostwhite - -$background-hue1: darken($backgroundColor, 3%); // darker 1 (i.e: background for locations filter bar) -// $background-hue2: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 3.9216); // lighter 1 (i.e: background for full view dialog) -$background-hue2: lighten($background, 4%); -$background-hue3: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.8824); // lighter 2 (i.e: background for actions forms) - -$background-hue4: lighten($background, 3%); -$background-hue5: transparentize($background, .5); -$background-hue6: darken($background, 1%); -$background-hue7: darken($background, 10%); -$background-hue8: lighten($background, 6%); -$background-hue9: darken($background, 5%); -$background-hue10: darken($background, 12%); -$background-hue11: darken($background, 2%); -$background-hue12: darken($background, 7%); -$background-hue13: lighten($background, 2%); - -$white: white; - -$almostWhite: lighten(saturate(adjust-hue($background, 60.0000), 20.0000), 0.7843); -$bg: $background; -$nearlyWhite: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.4902); // stronger -$blueGrey: #ccc; -$midGrey: #53738C; //darken(saturate(adjust-hue($blueGrey, 206.3158), 25.5605), 36.2745); -$actionsBackground: lighten($background, 6%); -$autoCompleteBg: $backgroundColor; -$sectionHighlight: darken(desaturate($background, 0), 5%); -$snippets:#999; -$lightenGrey: #6d6d6d; - -$links: #3D6E94; - -$links-background-hue1: transparentize($links, 1); - -$links: $links; -$links-hue-1: darken(saturate($links, 5%), 5%); -$links-hue-5: darken(saturate($links, 20%), 20%); -$linksHover: darken(saturate($links, 20%), 20%); -$linksHover-hue-2: transparentize($linksHover, .5); -$linkAlt: $secondary-hue1; -$md-primary: $links; - -$linkTitle: #33FFFF; - -$collectionDisLinks: #0075b0; - -$red: tomato; -// warning -$warning: $red; -$warn: $red; -$warningBorder: inset 0 0 0 3px $warning; - - -$text: $dark; -$text-hue1: lighten($text, 30%); -$text-hue2: $text; -$text-hue3: darken($text, 10%); - -$notice: #B84D00; - -$highlight: $highlightYellow; -$highlight-hue1: #FFFCC4; - -$modalBackdrop: rgb(68,68,68); -$moreLink: #45aab4; - -$selectedItem: saturate(lighten($midGrey, 53%), 40%); - -$citationTitle: rgb(68, 112, 123); -// $citationTitle: $titles; - -// chips -$chipTouchHeight: 28px; -$chipDesktopHeight: 22px; - -// Responsive -$responsiveMaxWidth: 960px !important; - -// Default bars height -$defaultBarHeight: 60px; - -// height of buttons in brief results -$briefButtonHeight: 38px; - -// citations -$citation: tomato; -$citationColor: $citation; -$citation-hue1: darken($citation, 40%); - -// personalization -$personalization: #7d1538; - -// Peer Reviewed -$peer-reviewed-color :#8359d4; - -// Open Access -$open-access-color: #f68212; - -// Angular Material -//----------------- - -// Progress bar -$progressBarHeight: 15px; - -// buttons -$defaultMdButtonHover: rgba(158,158,158,0.2); - - -//// Angular Material overrides -// Angular Material transition easing curves -//----------------------- - -$swift-ease-out-duration: 0.4s !default; -$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default; -$swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default; - -$swift-ease-in-duration: 0.3s !default; -$swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default; -$swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !default; - -$swift-ease-in-out-duration: 0.5s !default; -$swift-ease-in-out-timing-function: cubic-bezier(0.35, 0, 0.25, 1) !default; -$swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default; - -// Angular Material layouts -// ------------------------------ - -$baseline-grid: 8px !default; -$layout-gutter-width: ($baseline-grid * 2) !default; - -// Angular Material breakpoints -// ------------------------------ - -// $layout-breakpoint-xs: 600px !default; -// $layout-breakpoint-sm: 960px !default; -// $layout-breakpoint-md: 1280px !default; -// $layout-breakpoint-lg: 1920px !default; +//// VARIABLES +// The complex color calculation were created with http://razorjam.github.io/sasscolourfunctioncalculator/ + +// Fonts family +$serif: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif; + +// Font weights +$light: 300; +$normal: 400; +$bold: 600; +$heavy: 900; + +// Font size +$defaultFontSize: 15px; + +// Shapes +$radius: 3px; + +// Padding +$paddingBase: 1em; +$paddingExtra: 1.5em; +$paddingMedium: 1.3em; +$paddingLarge: 1em; +$paddingSmall: .5em; +$paddingTiny: .25em; + +// colors + +$muteOrange: red; + + + +$almostBlack: #777; + + + +$titles: rgb(68, 112, 123); +$frbr: #ed9100; +$pink: rgb(255, 171, 200); + +$dark: #3a3a3a; +$darker: darken(saturate(adjust-hue($dark, 0.0000), 0.0000), 6.6667); + +// lighter background color + + +$highlightYellow: #FFFCC4; //stronger +$highlight: darken(desaturate(adjust-hue($highlightYellow, -4.0920), 16.0000), 8.0392); +$highlightText: #ffe564; +$success: #3EA03E; +//$green: #3EA03E; // redundancy of 'success' +$green: #198A19; +//$orange: #CE8015; //#E0962E; +$muteOrange: #C59655; +$yellow: #F1C16F; +$overlayDarkDG: rgba(68, 68, 68, 0.6); + +// $availabiltyDetails: desaturate(lighten($midGrey,5%), 5%); +//$maybe: $orange; + +$alert: #F7EDA3; +$alert-hue1: darken(desaturate(adjust-hue($alert, 0.3074), 15.3043), 2.9412); + + +$disabled: #aaa; +$courseColor: #55909B; + +$primary: red; +$primary-hue1: darken($primary, 3%); +$primary-hue2: darken($primary, 5%); +$primary-hue3: darken($primary-hue2, 2%); +$primary-hue4: darken($primary, 10%); +$primary-hue5: darker($primary, -5%); + +$secondary: green; +$secondary-hue1: darken(saturate(adjust-hue($secondary, -6.5946), 9.1452), 26.2745); +$secondary-hue2: darken($secondary, 20%); +$secondary-hue3:darken(saturate(adjust-hue($secondary, -12), 30.28), 47.65); // "show more" buttons in facets +$secondary-hue4: darken(saturate(adjust-hue($secondary, -7), 64.57), 13.92); + + +$backgroundColor: yellow; + +$positive: #0f7d00; + +$negative: gray; + +$background: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 8.6275); //redundancy of almostwhite + +$background-hue1: darken($backgroundColor, 3%); // darker 1 (i.e: background for locations filter bar) +// $background-hue2: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 3.9216); // lighter 1 (i.e: background for full view dialog) +$background-hue2: lighten($background, 4%); +$background-hue3: lighten(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.8824); // lighter 2 (i.e: background for actions forms) + +$background-hue4: lighten($background, 3%); +$background-hue5: transparentize($background, .5); +$background-hue6: darken($background, 1%); +$background-hue7: darken($background, 10%); +$background-hue8: lighten($background, 6%); +$background-hue9: darken($background, 5%); +$background-hue10: darken($background, 12%); +$background-hue11: darken($background, 2%); +$background-hue12: darken($background, 7%); +$background-hue13: lighten($background, 2%); + +$white: white; + +$almostWhite: lighten(saturate(adjust-hue($background, 60.0000), 20.0000), 0.7843); +$bg: $background; +$nearlyWhite: darken(saturate(adjust-hue($backgroundColor, 0.0000), 0.0000), 5.4902); // stronger +$blueGrey: #ccc; +$midGrey: #53738C; //darken(saturate(adjust-hue($blueGrey, 206.3158), 25.5605), 36.2745); +$actionsBackground: lighten($background, 6%); +$autoCompleteBg: $backgroundColor; +$sectionHighlight: darken(desaturate($background, 0), 5%); +$snippets:#999; +$lightenGrey: #6d6d6d; + +$links: #3D6E94; + +$links-background-hue1: transparentize($links, 1); + +$links: $links; +$links-hue-1: darken(saturate($links, 5%), 5%); +$links-hue-5: darken(saturate($links, 20%), 20%); +$linksHover: darken(saturate($links, 20%), 20%); +$linksHover-hue-2: transparentize($linksHover, .5); +$linkAlt: $secondary-hue1; +$md-primary: $links; + +$linkTitle: #33FFFF; + +$collectionDisLinks: #0075b0; + +$red: tomato; +// warning +$warning: $red; +$warn: $red; +$warningBorder: inset 0 0 0 3px $warning; + + +$text: $dark; +$text-hue1: lighten($text, 30%); +$text-hue2: $text; +$text-hue3: darken($text, 10%); + +$notice: #B84D00; + +$highlight: $highlightYellow; +$highlight-hue1: #FFFCC4; + +$modalBackdrop: rgb(68,68,68); +$moreLink: #45aab4; + +$selectedItem: saturate(lighten($midGrey, 53%), 40%); + +$citationTitle: rgb(68, 112, 123); +// $citationTitle: $titles; + +// chips +$chipTouchHeight: 28px; +$chipDesktopHeight: 22px; + +// Responsive +$responsiveMaxWidth: 960px !important; + +// Default bars height +$defaultBarHeight: 60px; + +// height of buttons in brief results +$briefButtonHeight: 38px; + +// citations +$citation: tomato; +$citationColor: $citation; +$citation-hue1: darken($citation, 40%); + +// personalization +$personalization: #7d1538; + +// Peer Reviewed +$peer-reviewed-color :#8359d4; + +// Open Access +$open-access-color: #f68212; + +// Angular Material +//----------------- + +// Progress bar +$progressBarHeight: 15px; + +// buttons +$defaultMdButtonHover: rgba(158,158,158,0.2); + + +//// Angular Material overrides +// Angular Material transition easing curves +//----------------------- + +$swift-ease-out-duration: 0.4s !default; +$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default; +$swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default; + +$swift-ease-in-duration: 0.3s !default; +$swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default; +$swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !default; + +$swift-ease-in-out-duration: 0.5s !default; +$swift-ease-in-out-timing-function: cubic-bezier(0.35, 0, 0.25, 1) !default; +$swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default; + +// Angular Material layouts +// ------------------------------ + +$baseline-grid: 8px !default; +$layout-gutter-width: ($baseline-grid * 2) !default; + +// Angular Material breakpoints +// ------------------------------ + +// $layout-breakpoint-xs: 600px !default; +// $layout-breakpoint-sm: 960px !default; +// $layout-breakpoint-md: 1280px !default; +// $layout-breakpoint-lg: 1920px !default; diff --git a/tests/manual/TESTCONCAT/showDirectives.txt b/tests/manual/TESTCONCAT/showDirectives.txt index 4940b4e09..3d64e5e4b 100644 --- a/tests/manual/TESTCONCAT/showDirectives.txt +++ b/tests/manual/TESTCONCAT/showDirectives.txt @@ -1 +1 @@ -javascript:(function(){var script=document.createElement("SCRIPT");script.src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';script.type='text/javascript';document.getElementsByTagName("head")[0].appendChild(script);var checkReady=function(callback){if(window.jQuery){callback(jQuery)}else{window.setTimeout(function(){checkReady(callback)},100)}};checkReady(function($){$('primo-explore').find('[parent-ctrl="$ctrl"]').each(function(){$(this).append('Hover for id')})})})(); +javascript:(function(){var script=document.createElement("SCRIPT");script.src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';script.type='text/javascript';document.getElementsByTagName("head")[0].appendChild(script);var checkReady=function(callback){if(window.jQuery){callback(jQuery)}else{window.setTimeout(function(){checkReady(callback)},100)}};checkReady(function($){$('primo-explore').find('[parent-ctrl="$ctrl"]').each(function(){$(this).append('Hover for id')})})})(); diff --git a/tests/manual/test-plan.md b/tests/manual/test-plan.md index 0f3b69f15..2f6d6fb03 100644 --- a/tests/manual/test-plan.md +++ b/tests/manual/test-plan.md @@ -1,51 +1,51 @@ - - - -1. copy default package from: - https://github.com/ExLibrisGroup/primo-explore-package - - 1.1 Installation - 1.2 test concat: - - gulp run --view TESTCONCAT - gulp run --view TESTCONCAT --ve - - 1.2.1 test colors.json - - 1.2.2 test css - - 1.2.3 test images - - 1.2.4 test html - - 1.2.5 test javascript component - - 1.2.6 test create-package - - 1.2.7 uplocag to BO and test deployment - - 1.3 test browserify: - - gulp run --view TESTBROWSERIFY --browserify - - gulp run --view TESTBROWSERIFY --browserify --proxy https://***:443 --ve - - 1.3.1 test colors.json - - 1.3.2 test scss - - 1.3.3 test images - - 1.3.4 test html - - 1.3.5 test javascript component in ts - - 1.3.6 test create-package - - 1.3.7 uplocag to BO and test deployment - - - - -REPEAT WITH --VE - + + + +1. copy default package from: + https://github.com/ExLibrisGroup/primo-explore-package + + 1.1 Installation + 1.2 test concat: + + gulp run --view TESTCONCAT + gulp run --view TESTCONCAT --ve + + 1.2.1 test colors.json + + 1.2.2 test css + + 1.2.3 test images + + 1.2.4 test html + + 1.2.5 test javascript component + + 1.2.6 test create-package + + 1.2.7 uplocag to BO and test deployment + + 1.3 test browserify: + + gulp run --view TESTBROWSERIFY --browserify + + gulp run --view TESTBROWSERIFY --browserify --proxy https://***:443 --ve + + 1.3.1 test colors.json + + 1.3.2 test scss + + 1.3.3 test images + + 1.3.4 test html + + 1.3.5 test javascript component in ts + + 1.3.6 test create-package + + 1.3.7 uplocag to BO and test deployment + + + + +REPEAT WITH --VE +