publik-base-theme/static/lille/_custom.scss

883 lines
16 KiB
SCSS

@import 'data_uris';
$header-height: 180px;
$mobile-header-height: 80px;
$logo-width: 390px;
$form-picto-keywords: adresse, aquabike, archives, asso, attestation, bibliotheque, calendrier, cantine, certificat, chantier, cni, copie, deces, dfu, ecole, espacefamille, grue, habitant, infos, inscription, justice, livret, logement, loisir, marche, mariage, naissance, nature, nom, notaire, pacs, paiement, parking, police, rectification, reference, reglement, repertoire, salle, signalement, signature, subvention, territoire, tournage, urbanisme, vote, zoo, emploi, famille, participez, pba;
%title {
@extend %title;
text-align: left;
&::after {
content: "";
height: 3px;
width: 45px;
margin-top: 10px;
background: $primary-color;
display: block;
}
}
.site-header {
z-index: 200;
background: white;
}
.site-nav {
z-index: 250;
pointer-events: none;
button, ul {
pointer-events: all;
}
}
#header {
height: $header-height;
@media screen and ($max-mobile-viewport) {
height: $mobile-header-height;
}
#top a {
display: block;
position: absolute;
right: 0;
top: 0;
padding-top: 1rem;
height: $header-height;
width: $logo-width;
text-align: center;
background: $primary-color url('/assets/header:logo') bottom 1rem left 50% no-repeat;
background-size: 150px;
color: white;
&::after {
z-index: 1000;
position: absolute;
content: "";
background: transparent;
width: 0px;
height: 0px;
right: 60px;
bottom: -60px;
border: 30px solid $primary-color;
border-color: $primary-color $primary-color transparent transparent;
}
@media screen and ($max-mobile-viewport) {
padding-top: 0.5rem;
background-size: 80px;
background-position: bottom 0.5rem left 50%;
font-size: 0.8rem;
height: $mobile-header-height;
width: 50vw;
&::after {
right: 24px;
bottom: -24px;
border-width: 12px;
}
}
}
}
#toplinks {
// reset
padding: 0;
border: none;
right: auto;
border-radius: none;
box-shadow: none;
background: url($data_uri_comptepersonnel) 0 5px no-repeat;
background-size: 27px 33px;
font-size: 0.9rem;
position: absolute;
top: 45px;
left: 120px;
text-transform: uppercase;
font-weight: bold;
min-height: 50px;
padding-left: 40px;
a {
color: $user-info-color;
}
.sep, .registration, .logout {
display: none;
}
@media screen and ($max-mobile-viewport) {
padding-top: 5px;
top: 20px;
left: 80px;
font-size: 0.7rem;
}
@media screen and (max-width: 360px) {
left: 60px;
}
}
.gru-nav-wrapper {
margin-top: -50px;
}
div.gru-nav {
.gru-nav-button .icon-bar {
border-radius: 10px 0 0 10px;
}
&.toggled .gru-nav-button .icon-bar {
border-radius: 10px;
}
}
div.gru-nav .gru-nav-button {
top: -90px;
@media screen and ($max-mobile-viewport) {
top: -15px;
}
@media screen and (max-width: 360px) {
left: -10px;
}
+ ul {
margin-bottom: 0;
position: absolute;
width: $width;
@media screen and ($max-mobile-viewport) {
width: 100%;
}
border-top: 0;
z-index: 1000;
}
}
#pwa-navigation {
ul li {
a {
padding-top: 35px;
span {
text-transform: uppercase;
font-weight: bold;
line-height: 110%;
}
}
}
}
@media screen and ($min-desktop-viewport) {
#pwa-navigation {
display: block;
max-width: $width;
margin: auto;
position: relative;
height: auto;
> div {
width: $width - $logo-width;
background: $nav-mobile-bottom-bar-background;
position: absolute;
left: 0;
top: #{0px - $nav-mobile-bottom-bar-height};
}
ul li {
max-width: 170px;
margin: 0;
a {
padding-left: 15px;
padding-right: 15px;
background-position: 15px 50%;
padding-top: 15px;
span {
line-height: 120%;
text-align: left;
padding-left: 35px;
font-size: 0.75rem;
height: 40px;
}
span.badge {
padding: 0;
height: 20px;
width: 20px;
text-align: center;
left: 30px;
}
}
}
}
.has-pwa-navigation footer {
margin-bottom: 0;
}
}
#content-top {
> div.cell {
margin-left: 0;
margin-right: 0;
}
width: 100%;
margin-top: -1px;
@media screen and ($max-mobile-viewport) {
div.carrousel-content {
height: 260px;
}
}
div.carrousel-nav {
top: 120px;
left: 55px;
text-align: left;
label {
box-sizing: content-box;
}
@media screen and ($max-mobile-viewport) {
top: 60px;
left: 20px;
label {
border-width: 2px;
width: 5px;
height: 5px;
margin: 0 2px;
}
}
}
div.carrousel-content input + div div.carrousel-item div.carrousel-item-content {
position: absolute;
bottom: auto;
top: 180px;
left: 60px;
max-width: 50%;
line-height: 120%;
strong {
font-size: 2rem;
line-height: 130%;
text-transform: uppercase;
}
@media screen and ($max-mobile-viewport) {
top: 90px;
left: 22px;
max-width: 80%;
strong {
font-size: 1.2rem;
}
}
}
div.trackingcodeinputcell {
border-radius: 10px;
position: relative;
margin: -40px 50px 0 50px;
background: white url($data_uri_codebarre) 50px 25px no-repeat;
background-size: 60px 60px;
@media screen and ($max-mobile-viewport) {
margin: -40px 10px 0 10px;
background-position: 10px 10px;
}
form {
width: 30%;
margin-left: 140px;
float: left;
padding-top: 15px;
position: relative;
@media screen and ($max-mobile-viewport) {
width: auto;
float: none;
margin-left: 90px;
}
h2 {
padding: 0;
color: $primary-color;
font-weight: bold;
text-transform: uppercase;
margin: 0;
font-size: 1.2rem;
@media screen and ($max-mobile-viewport) {
padding-top: 5px;
}
}
input {
width: 12rem;
border-width: 0 0 1px 0;
border-radius: 0;
padding: 0 0 0.7ex 0.7em;
margin-right: 9px;
background: white;
@media screen and ($max-mobile-viewport) {
width: 9rem;
}
}
button {
border-radius: 5px;
position: absolute;
border: 0;
top: 25px;
right: 5px;
width: 60px;
text-align: center;
margin: 0;
background: #1a1a1a;
color: white;
font-size: 1.75rem;
&::after {
content: "\f054"; // chevron-right
font-family: FontAwesome;
position: relative;
top: 5px;
}
@media screen and ($max-mobile-viewport) {
top: 15px;
font-size: 1.25rem;
height: 50px;
width: 50px;
&::after {
top: 3px;
}
}
}
}
p {
width: 50%;
float: right;
margin-right: 50px;
font-size: 0.9rem;
padding-top: 10px;
@media screen and ($max-mobile-viewport) {
width: auto;
float: none;
margin: 0 1rem;
font-size: 80%;
}
}
br {
clear: both;
}
}
div.textcell {
h2 {
text-transform: uppercase;
margin-bottom: 0;
letter-spacing: 4px;
font-size: 1.3rem;
font-weight: 900;
}
h3 {
text-transform: uppercase;
margin-bottom: 0;
margin-top: 0;
font-size: 0.8rem;
letter-spacing: 4px;
}
padding-bottom: 30px;
background: url(/static/lille/img/fleches-bas.png) bottom center no-repeat;
margin-bottom: 20px;
}
}
#columns-wrapper {
margin-top: 1rem;
}
.page-template-homepage {
#columns-wrapper {
margin-top: 0rem;
min-height: 80vh;
@media screen and ($max-mobile-viewport) {
padding: 0;
min-height: auto;
}
}
.column {
float: left;
width: 33%;
@media screen and ($max-mobile-viewport) {
float: none;
width: 100%;
.cell {
margin-right: 0;
margin-left: 0;
}
}
}
}
#footer {
div.menucell {
margin-top: -2rem;
background: $primary-color;
a {
color: white;
padding: 1rem;
text-transform: uppercase;
font-size: 0.7rem;
&:hover {
text-decoration: underline;
}
}
}
}
div#content div.wcsformsofcategorycell {
position: relative;
margin-bottom: 25px;
@media screen and ($max-mobile-viewport) {
margin: 0px;
border-bottom: 3px solid white;
}
h2 {
position: relative;
z-index: 10;
background: transparent;
color: white;
font-weight: bold;
text-transform: uppercase;
padding-top: 40px;
height: 130px;
&::after {
content: "";
height: 3px;
width: 45px;
left: 1rem;
margin-top: 10px;
background: white;
display: block;
}
}
&.foldable {
h2::before {
// folding moved to ::before as ::after is used for
// underline dash.
font-family: FontAwesome;
content: "\f106"; // angle-up
font-size: 1.5rem;
position: absolute;
right: 1em;
cursor: pointer;
}
&.folded h2::before {
content: "\f107"; // angle-down
}
}
&.folded picture,
picture {
display: block;
position: absolute;
top: 0;
width: 100%;
height: 130px;
overflow: hidden;
img {
padding: 0;
}
}
div.intro, div.description {
display: none;
}
ul > li {
a {
background-position: 10px 50%;
background-repeat: no-repeat;
background-size: 48px 48px;
}
@each $form-picto-keyword in $form-picto-keywords {
&.keyword-#{$form-picto-keyword} a {
background-image: url(/assets/picto:#{$form-picto-keyword});
}
}
}
ul > li a {
padding-left: 70px;
text-transform: uppercase;
color: #454545;
font-size: 0.7rem;
font-weight: bold;
}
ul > .add-more-items a {
padding-left: 0;
}
background: transparent;
border: none;
& > div > div {
position: relative;
margin: -10px 1rem 0 1rem;
li {
border-radius: 10px;
background: white;
margin-bottom: 10px;
a {
border-radius: 10px;
border: none;
}
}
}
}
div#page div#main-content-wrapper {
padding-bottom: 50px;
}
footer {
position: relative;
z-index: 100;
}
.page-template-homepage div.cell#filtre-profil {
border: none;
background: transparent;
@media screen and ($max-mobile-viewport) {
margin: 1rem;
}
label {
display: block;
font-weight: bold;
font-size: 80%;
}
select {
border-color: $primary-color;
width: 100%;
border-radius: 5px;
background-color: inherit;
color: #666;
font-style: italic;
background-image: url($data_uri_arrow-down-colour);
font-weight: bold;
&.selected {
color: $primary-color;
text-transform: uppercase;
font-style: normal;
}
}
}
div#title-section {
h1 {
margin-bottom: 1rem;
text-transform: uppercase;
@media screen and ($max-mobile-viewport) {
font-size: 1.4rem;
}
&::after {
content: "";
height: 3px;
width: 55px;
margin-top: 10px;
background: $primary-color;
display: block;
}
}
}
div#rub_service div#tracking-code {
background: url($data_uri_codebarre) 0px 0px no-repeat;
background-size: 40px 40px;
h3, a {
background: transparent;
display: inline-block;
font-size: $font-size;
border: none;
text-transform: uppercase;
padding-top: 5px;
}
h3 {
padding-left: 50px;
padding-right: 10px;
&::after {
content: none;
}
}
}
#steps {
ol {
margin: 0;
padding: 0;
list-style: none;
position: relative;
overflow: hidden;
text-align: left;
display: flex;
li {
position: relative;
&.step-before {
flex: 0;
}
white-space: nowrap;
border-radius: 0;
border: none;
padding: 0;
height: 48px;
background: $steps-background;
&.step-after {
background: darken($steps-background, 10%);
}
flex: 1;
text-align: left;
.marker {
text-align: center;
display: inline-block;
padding: 0;
width: 48px;
height: 48px;
line-height: 48px;
color: white;
border: none;
background: transparent;
z-index: 100;
position: relative;
font-weight: bold;
font-size: 1.2rem;
border-right: 2px solid white;
border-radius: none;
&::after {
content: "";
width: 0px;
height: 0px;
display: block;
background: transparent;
position: absolute;
right: -20px;
top: 14px;
border: 10px solid white;
border-color: transparent transparent transparent white;
}
}
.total {
display: none;
}
&.current {
padding-left: 10px;
background: $steps-background;
.marker {
background: white;
color: black;
}
.label {
font-weight: normal;
}
}
.label {
text-transform: uppercase;
font-weight: normal;
padding-top: 10px;
display: inline-block;
font-weight: normal;
color: white;
padding-left: 20px;
padding-right: 1rem;
}
}
&::before {
content: '';
display: block;
position: absolute;
top: 26px;
width: 100%;
height: 3px;
background: #4d4d55;
}
}
&.steps-10, &.steps-11, &.steps-12, &.steps-13, &.steps-14, &.steps-15,
&.steps-16, &.steps-17, &.steps-18, &.steps-19, &.steps-20, &.steps-21 {
ol {
li {
.label {
display: none;
}
&.current {
.label {
display: inline-block;
}
}
}
}
}
@media screen and ($max-mobile-viewport) {
margin: 0 -1ex;
width: auto;
ol {
.step-before, .step-after {
display: none;
}
.current {
.marker {
border-radius: 0;
background: transparent;
color: white;
width: auto;
min-width: 2rem;
}
.total {
padding-left: 16px;
display: inline-block;
color: black;
font-size: 1.2rem;
}
.label {
font-size: 1.2rem;
}
}
}
}
}
input, input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], input[type="number"], input[type="search"], input[type="file"], input[type="date"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], textarea, select {
padding-top: 1.2ex;
padding-bottom: 1.2ex;
}
form.quixote div.buttons div.previous-button {
float: left;
}
form.quixote div.buttons div.cancel-button {
float: right;
margin-right: 0;
button {
border: 2px solid #b4b4b4;
background: transparent;
color: #b4b4b4;
box-shadow: none;
}
}
#messages li,
div.warningnotice,
div.errornotice {
&::before {
color: $primary-color;
}
}
#messages li.success,
#messages li.info,
div.infonotice,
div.successnotice {
&::before {
color: #464646;
}
}
ul#evolutions,
div.gru-content #disclose-dataview,
div#receipt-intro {
margin: 1em 0;
}
div#rub_service div.dataview, div#rub_service dl#evolutions, div#rub_service form {
padding: 0;
}
div#rub_service div.dataview {
margin-top: 1rem;
font-size: 90%;
}
.form-content--title,
div#rub_service h2 {
padding-left: 0;
}
div.gru-content div#rub_service h3,
div#rub_service h3 {
@extend %title;
padding-left: 0;
text-transform: uppercase;
}
div.datetimepicker {
font-size: 0.8rem;
}
form.quixote {
div.error {
padding-left: 0;
background-image: none;
font-weight: normal;
&::before {
content: "\f06a";
font-family: FontAwesome;
padding-right: 1ex;
}
}
}
div.textcell h1 {
@extend %title;
font-size: 2rem;
padding-left: 0;
}
body.authentic-page {
$neutral-color: #5a5a5a;
header {
background: transparent;
}
#nav button {
background: transparent;
display: none;
}
div.gru-nav .gru-nav-button + ul li.selected > a, div.gru-nav .gru-nav-button + ul li:hover > a {
background: #464646;
}
#header #top a {
pointer-events: none;
background: #464646;
padding-top: 60px;
&::after {
border-color: #464646 #464646 transparent transparent;
}
}
#lille-user-info {
display: none;
}
#pwa-navigation {
& > div {
background: #464646;
margin-top: 55px;
height: 5px;
}
@media screen and ($max-mobile-viewport) {
display: none;
}
}
#pwa-navigation ul {
visibility: hidden;
}
.gru-content {
button {
border-color: $neutral-color;
background: $neutral-color;
&:hover {
background: $neutral-color;
}
}
a {
color: $neutral-color;
border-bottom: 1px dotted $neutral-color;
}
div#account-management ul > li > a {
color: $neutral-color;
}
div.a2-block h2, div.block h2 {
&::after {
background: $neutral-color;
}
}
}
#footer div.menucell {
background: #464646;
}
}
footer {
.grid-footer-1-5 {
width: calc(20% - 1rem);
padding-right: 0;
padding-left: 1rem;
text-align: center;
img {
max-width: 90%;
}
@media screen and ($max-mobile-viewport) {
width: 50%;
}
@media screen and (max-width: $very-small-limit) {
width: 100%;
padding-left: 0;
}
}
}