/** * @file resources/less/forms.less * * Copyright (c) 2014-2020 Simon Fraser University * Copyright (c) 2003-2020 John Willinsky * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING. * * @brief Stylesheet for forms components (buttons, labels, etc.) * */ /* General elements */ form { font-family: @font-family-secondary; font-size: smaller; } fieldset { margin-bottom: 2.5rem; > fieldset legend { font-size: 1rem; } } legend { font-weight: 600; } select { -webkit-appearance: none; background-position: right 50%; background-repeat: no-repeat; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=); } option { padding: 1.15em 0.25em 1.15em 0; } button { &:extend(.btn); &:extend(.btn-secondary); } input { &:extend(.form-control); &::placeholder{ font-size: smaller; color: fade(@contrast-colour, 75%); } } .label { margin-top: 20px; margin-bottom: 15px; font-size: larger; } /** Custom Bootstrap form overrides **/ .form-group { margin-bottom: 2.5em; &:last-of-type { margin-bottom: 0; } } .form-row { margin-left: 0; margin-right: 0; select, input { &:not(:last-child) { border-right: 0; } } } .form-control { display: block; height: auto; padding: 0.75em; margin-bottom: 0.5em; background-color: transparent; border-radius: 0; border: 0; border: 1px solid @contrast-colour; color: @contrast-colour; &:focus, &:active, &:hover { box-shadow: unset; background-color: transparent; border-color: @secondary-colour; } } .custom-radio .custom-control-input:checked~.custom-control-label::before, .custom-checkbox .custom-control-input:checked~.custom-control-label::before, .custom-control-input:checked~.custom-control-label::before{ background-color: @contrast-colour; } .custom-control-input:active~.custom-control-label::before { background-color: fade(@contrast-colour, 50%); } .custom-control-input:focus~.custom-control-label::before { box-shadow: 0 0 0 1px @contrast-colour, 0 0 0 0.2rem @contrast-colour; } .custom-checkbox .custom-control-label::before { border-radius: 0; } // Tagit-style inputs .ui-widget { font-family: @font-family-secondary; &.ui-widget-content { &:extend(.form-control); } } .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border-radius: 0; border-color: @contrast-colour; background-color: @contrast-colour; color: @primary-colour; } .ui-icon, .ui-widget-content .ui-icon, .ui-widget-header .ui-icon { background-image: url("/@{themeUrl}/resources/images/ui-icons_444444_256x240.png"); } // Button-like dropdown menu .dropdown-menu { padding: 0; border-radius: 0; border: 0; background-color: contrast(@contrast-colour); .dropdown-item { padding: 0; font-family: @font-family-secondary; a { display: block; padding: 1rem 2rem; text-decoration: none; color: @contrast-colour; &.active, &:active, &:hover, &:focus { background-color: @contrast-colour; color: contrast(@contrast-colour); } } &:last-child { margin-bottom: 0; } } } // Buttons .btn { cursor: pointer; border-radius: 0; font-family: @font-family-secondary; border: 1px solid transparent; background-color: transparent; text-decoration: none; } .btn-primary { background-color: @contrast-colour; border: 1px solid @contrast-colour; font-weight: 400; color: @primary-colour; text-decoration: none; } .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle { background-color: transparent; border: 1px solid @contrast-colour; color: @contrast-colour; } .btn-secondary { background-color: transparent; border: 1px solid @contrast-colour; color: @contrast-colour; &:hover, &:active, &:focus { background-color: @contrast-colour; border-color: @contrast-colour; color: @primary-colour; } } /* Custom autofill styles */ input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus { border-color: @secondary-contrast-colour; transition: background-color 5000s ease-in-out 0s; -webkit-box-shadow: 0 0 0px 1000px @secondary-contrast-colour inset; -webkit-text-fill-color: @primary-colour; }