publik-base-theme/static/thonon-agglomeration-online/_custom.scss

706 lines
10 KiB
SCSS

.color-cyan {
color: $cyan;
}
.color-primary {
color: $primary-color;
}
.list-nude {
margin: 0;
padding: 0;
list-style-type: none;
}
.download-link {
&::after {
content: "\00A0\f019";
font-family: FontAwesome, sans-serif;
}
}
%title {
display: flex;
margin-bottom: 1em;
padding-bottom: 0;
&::before {
content: "";
order: 1;
height: 1px;
flex: 1 0 0;
align-self: center;
background-color: currentColor;
margin-left: .66em;
}
}
%button {
text-transform: uppercase;
font-size: $fz-small;
font-weight: 500;
padding: 1em;
}
.button-right-arrow {
@extend %button;
display: inline-flex;
align-items: center;
padding: 0;
padding-left: 15px;
overflow: hidden;
&::after {
content: "";
color: white;
background-color: $primary-color;
padding: 10px;
font-weight: bold;
margin-left: 1em;
}
}
.button-left-arrow {
@extend .button-right-arrow;
padding-left: 0;
padding-right: 1em;
&::after {
content: "";
order: -1;
margin-left: 0;
margin-right: 1em;
}
}
label {
font-weight: 600;
}
//
// HEADER
//
#top {
display: flex;
flex-wrap: wrap;
align-items: center;
@media ($max-mobile-viewport) {
height: 75px;
}
@media ($min-desktop-viewport) {
padding-bottom: 20px;
}
}
#logo.has-logo{
padding-left: 0;
a {
min-width: 0;
width: 100px;
height: 50px;
@media ($min-desktop-viewport) {
width: 180px;
height: 85px;
margin-right: 20px;
}
}
@media ($max-mobile-viewport) {
flex-grow: 1;
}
}
.theme-header--baseline {
font-size: $fz-small;
text-transform: uppercase;
}
//
// TOPLINKS
//
#toplinks {
position: static;
border: none;
box-shadow: none;
border-radius: 0;
padding: 0;
@media ($max-mobile-viewport) {
padding-right: $mobile-header-height;
}
span {
display: inline-block;
}
a {
text-transform: uppercase;
display: inline-block;
&.login-link, &.logout {
background-color: $gray-dark;
color: white;
padding: .66em 1em;
&:hover {
background-color: $primary-color;
text-decoration: none;
}
}
&.registration {
display: none;
}
&.account-link {
color: $gray-medium;
font-weight: 500;
}
}
@media ($max-mobile-viewport) {
a {
display: block;
font-size: $fz-small;
}
}
@media ($min-desktop-viewport) {
flex: 1 0 100%;
order: -1;
text-align: right;
}
}
//
// NAV
//
.site-nav {
@media ($min-desktop-viewport) {
flex-grow: 1;
text-align: right;
align-self: flex-end;
}
}
div.gru-nav .gru-nav-button + ul {
margin: 0;
> li {
a {
font-weight: 500;
> span {
position: relative;
}
}
> a {
background: no-repeat white;
@media ($max-mobile-viewport) {
background-size: 2.1em;
background-position: left 0.66em center ;
border-radius: 1em !important;
border-bottom: none;
margin-bottom: 10px;
padding-left: 3.5em;
+ ul {
display: none;
}
}
@media ($min-desktop-viewport) {
background-position: bottom 2.2em center ;
padding-bottom: 0;
padding-top: 4em;
}
}
}
}
// submenu
div.gru-nav > ul ul {
padding: .33em;
a:hover {
border-color: transparent;
color: $nav-color;
}
}
// badge
div.gru-nav span.badge,
div.menucell span.badge {
$size: 1.5em;
&::before, &::after {
content: none;
}
display: inline-block;
width: $size;
height: $size;
line-height: $size;
border-radius: 50%;
text-align: center;
background-color: #E10000;
color: white;
font-weight: bold;
}
div.gru-nav span.badge {
position: absolute;
right: calc(100% + .5em);
bottom: 50%;
@media ($min-desktop-viewport) {
right: auto;
bottom: calc( 100% + 2em);
left: calc(50%);
}
}
// right-to-left adaptation
@media ($max-mobile-viewport) {
@if $responsive-menu == left-to-right {
body {
border-left: none;
}
div.gru-nav .gru-nav-button {
border: 20px solid;
left: auto;
right: 0;
top: 0;
+ ul {
transform: translateX(100%);
left: auto;
right: 0;
width: auto;
padding-left: 1em;
padding-right: 1em;
}
}
}
}
//
// MAIN
//
main {
padding-top: $columns-gutter;
}
.gru-content {
padding-left: 0.7em;
padding-right: 0.7em;
flex-wrap: wrap;
}
#columns-wrapper {
flex-basis: 0;
}
.content-top {
flex: 0 0 100%;
div.cell {
margin-left: 0;
margin-right: 0;
}
@media ($max-mobile-viewport) {
padding: 0 0.7em;
}
}
//
// CELLS
//
// cell--body
.column div.a2-block,
.gru-content div.cell,
.block {
margin-bottom: $columns-gutter;
& h2 ~ div,
.cell--body,
&.menu-cell {
background-color: white;
border-radius: $cell-border-radius;
overflow: hidden;
}
}
// cell pagination
.cell-items-pagination {
background: none !important;
}
// Custom search form
div.search-cell {
> div {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
.combo-search-form {
flex: 1 0 100%;
min-width: calc(100% - #{$sidebar-width} - #{$grid-gutter});
@media ($min-desktop-viewport) {
flex-basis: 0;
}
}
.combo-search-keywords {
flex: 1 1 $sidebar-width;
text-align: right;
@media (max-width: $very-small-limit) {
display: none;
}
}
.combo-search-results {
flex: 1 0 100%;
}
}
.combo-search-form {
background-color: white;
padding: 0;
border: 1px solid $gray;
border-radius: 10em;
overflow: hidden;
margin-bottom: 0.66em;
input, input:focus {
margin-right: 0;
border: none !important;
}
button {
border-radius: 50%;
order: -1;
background-color: $font-color;
color: white;
position: relative;
padding: 5px;
font-size: $fz-2;
width: 3em;
height: 3em;
&:hover {
background-color: $primary-color;
color: white;
}
}
}
.combo-search-keywords--button {
text-transform: none;
margin: 0 0 .66em .66em;
padding: .66em 1em;
}
}
.combo-search--button {
&::before {
content: "\f002";
font-family: FontAwesome;
}
&-label {
display: none;
}
}
// Custom link cell
.btn-with-icon {
&--link {
@extend %button;
text-transform: none;
padding: 0;
overflow: hidden;
display: flex;
align-items: center;
text-align: left;
margin-right: 0;
margin-bottom: 0.5rem;
font-size: 1rem;
font-weight: normal;
&:hover {
background-color: $font-color;
}
}
&--icon {
background-color: white;
background-origin: content-box;
background-size: contain;
background-position: center;
background-repeat: no-repeat;
display: inline-block;
flex-basis: 3.2em;
border: .5em solid transparent;
border-left-width: 1em;
align-self: stretch;
}
&--label {
padding: .8em;
display: inline-block;
line-height: 1.2em;
}
}
.big-btn-with-icon {
.btn-with-icon {
&--link {
font-size: $fz-2;
&:hover {
background-color: $primary-color;
}
}
}
}
// custom .menu-cell
div.menu-cell ul {
padding-top: 1rem;
padding-bottom: 1rem;
& > li {
border-bottom: none !important;
}
& > li > a {
color: $font-color;
padding-top: .5rem;
padding-bottom: .5rem;
&::before {
content: ">";
color: $gray;
font-weight: bold;
margin-right: .33em;
}
&:hover {
color: $primary-color;
background-color: transparent;
}
}
}
//
// JSON CELLS (TILES)
//
// all tiles
.tiles--list {
@extend .list-nude;
}
.tiles--item {
margin-bottom: 0.5rem;
}
.tiles--btn {
text-align: right;
> a:last-child {
margin-right: 0;
}
}
.tile {
color: inherit;
text-decoration: none;
display: block;
position: relative;
line-height: 1.4;
&:hover {
text-decoration: none;
.tile--title {
color: $primary-color;
}
}
}
.tile--picture {
background-color: white;
display: block;
position: relative;
height: auto;
}
.tile--img {
position: absolute;
inset: 0 0 0 0;
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.tile--body {
background-color: white;
padding: 2rem;
& > * {
margin-top: 0;
&:last-child {
margin-bottom: 0;
}
}
}
.actu--date,
.tile--date {
color: $gray-medium;
margin-bottom: 0.2rem;
}
.tile--title {
font-size: $fz-2;
text-transform: uppercase;
font-weight: 600;
line-height: 1.3;
}
// Actus tiles
.tile-actu {
@media ($min-desktop-viewport) {
display: flex;
> * {
flex-basis: 50%;
flex-grow: 1
}
}
.tile--picture {
padding-top: 54%;
@media ($min-desktop-viewport) {
padding-top: 27%;
}
}
}
// tile actu small
.tile-actu-small {
.tile--title {
@media (min-width: $very-small-limit + 0.01) {
min-height: 1.3em * 4;
}
}
.tile--picture {
padding-top: 64%;
@media ($min-desktop-viewport) {
padding-top: 32%;
}
}
}
// tile actu mini
.actus-mini--list {
display: flex;
flex-wrap: wrap;
gap: 2px;
margin-bottom: 0.5rem;
}
.actus-mini--item {
min-width: 12rem;
flex: 1 0 0;
background-color: white;
margin-bottom: 0;
}
.tile-actu-mini {
display: block;
}
// People tiles
.peoples--list {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}
.peoples--item {
background-color: white;
flex: 1 1 20%;
max-width: 15rem;
min-width: 9rem;
@media (max-width: $very-small-limit) {
flex-basis: 40%;
}
}
.tile-people {
.tile--body {
padding: .33em;
}
.tile--title {
font-size: 1rem;
margin-bottom: 0;
}
.tile--subtitle {
color: $gray-medium;
text-transform: uppercase;
font-weight: normal;
}
.tile--picture {
padding-top: 13rem;
}
.tile--badge {
position: absolute;
top: 0;
left: 0;
font-size: fz-small;
text-transform: uppercase;
margin: 0;
background-color: hsla(0, 0%, 100%, 0.8);
padding: .33em;
color: $gray-dark;
}
}
// actus
.actu--title {
@extend %title;
&::before {
content: none;
}
}
.actu--insert-title,
.actu--footer-title {
font-size: $fz-2 !important;
margin-bottom: 0.2em !important;
&::before {
content: none !important;
}
}
.actu--picture {
background-color: white;
display: block;
}
.actu--legend {
color: $gray-medium;
font-size: $fz-small;
padding: 1em;
}
.actu--body,
.actu-footer {
line-height: 1.4;
}
.actu--insert {
border-left: .33em solid $primary-color;
padding: .66em;
background-color: hsla(0, 0%, 0%, 0.05);
}
.actu--footer {
ul {
@extend .list-nude;
margin-bottom: 1em;
}
li {
margin-bottom: 0.33em;
&::before {
content: ">";
color: $gray;
font-weight: bold;
margin-right: .33em;
}
}
}
//
// FORMS
//
div.buttons .submit-button button,
.gru-content form:not(.combo-search-form) button.submit-button, {
@extend .button-right-arrow;
}
div.gru-content button.previous-button,
div.buttons .previous-button button {
@extend .button-left-arrow;
}
//
// WCS
//
div.widget div.title {
margin-bottom: .25em;
}
//
// FOOTER
//
#footer .pk-button {
color: $link-color;
border: 2px solid $link-color;
&:hover {
color: white;
}
&:focus {
box-shadow: 0 0 3px 3px white;
}
}