1319 lines
29 KiB
SCSS

// @import './node_modules/@mdi/font/scss/materialdesignicons.scss';
@import "./base.scss";
@import "./colors.scss";
@import "./common.scss";
@import "./layout.scss";
@import "./fonts/snap_it/snap_it.css";
@import "./fonts/avara/avara.css";
@import "./fonts/public-sans/public-sans.css";
body{
background-color: $back;
font-family: 'public_sans';
font-weight: 300;
font-size: 16px;
}
// #app{
// min-width: 1280px;
// min-height: 800px;
// }
#app>header#header{
// background-color: $front;
pointer-events: none;
display: flex;
flex-direction: row;
align-items: baseline;
.row{
display: flex;
flex-direction: row;
pointer-events: none;
margin: 0;
padding: 0;
>*{
margin-right: 1em;
pointer-events: all;
}
// &.top{
// }
}
div.row.title{
padding: 0 0 0 1em;
h1{
font-family: "avara";
margin: 0 1em 0 0;
a{
margin: 0;
span.title{
font-size: 2em;
}
}
}
}
.row.top{
>*{
label,a{
padding: 0;
span{
display:none;
}
}
}
}
}
div.loading{
text-align: center;
font-size: 1.134em;
&::after{
background: url(../assets/Ellipsis-5s-100px.svg);
background-clip: content-box;
background-size: contain;
background-position: center;
background-repeat: no-repeat;
display: inline-block;
vertical-align: middle;
width: 40px; height: 30px;
// border: #01ffe2;
content: " ";
}
}
#main-content{
#map-backgrounds{
.map-bg-canvas{
mix-blend-mode: multiply;
// filter: contrast(170%);
&.gradient{
// filter: blur(10px);
}
&.trame{
// display:none;
}
}
}
#map-concernements{
div.loading{
position: absolute;
top:50%;
left:50%;
z-index: 200;
transform: translateX(-50%) translateY(-50%);
width: 150px;
display: block;
&::after{
width: 150px;
}
}
}
#map-nav{
pointer-events: none;
ul{
display: flex;
flex-flow: row;
// gap: 1em;
pointer-events: none;
li{
list-style: none;
pointer-events: all;
margin-right: 1em;
a{
@include btn();
display: block;
// line-height: 2.1;
line-height: 1.7;
&.active{
// color: red;
span.icon{
background-color: rgba(255, 255, 255, 0.6);
}
}
&.disabled{
pointer-events: none;
opacity: 0.4;
cursor: default;
}
@media screen and (max-width: 1500px) {
display: flex;
flex-direction: column;
align-items: center;
}
}
}
}
@media screen and (max-width: 1500px) {
ul{
gap: 0.5em;
li{
margin:0;
a{
span.label{
display: none;
}
span.icon {
width:2em;
height:2em;
border-radius: 1em;
}
}
}
}
}
@media screen and (max-width: 880px) {
ul{
flex-flow: column;
width:fit-content;
margin: 0;
li{
a{
span.icon{}
}
}
}
}
}
$cartouch_width_full : 450px;
$cartouch_width_medium: 350px;
$cartouch_width_small: 250px;
@mixin font_questions{
font-size: 1em;
font-weight: 500;
line-height: 1.4;
@media screen and (max-width: 1500px) {
font-size: 0.882em;
}
@media screen and (max-width: 880px) {
font-size: 0.756em;
}
}
@mixin font_reponses{
@include font_questions();
font-weight: 100;
// font-weight: 100;
// font-size: 0.882em;
// line-height: 1.4;
// @media screen and (max-width: 1500px) {
// font-size: 0.756em;
// }
// @media screen and (max-width: 880px) {
// font-size: 0.693em;
// }
}
#content{
display: flex;
gap: 0.5rem;
@mixin main-cartouche{
background-color: rgba(255, 255, 255, 1);
box-sizing: border-box;
width:$cartouch_width_full;
height: 100%;
padding: 2rem 2rem 1rem;
overflow-y: auto;
overflow-x: hidden;
//
display: flex;
flex-direction: column;
@media screen and (max-width: 1500px) {
width: $cartouch_width_medium;
padding: 1rem 1rem 0.5rem;
}
@media screen and (max-width: 880px) {
width: $cartouch_width_small;
padding: 0.5rem 0.5rem 0.5rem;
}
}
section.static{
@include main-cartouche();
h2{
font-weight: 400;
font-size: 1.323em;
padding: 1em 0;
}
p:not(:last-of-type){
margin-bottom: 1em;
}
img{
width: 100%;
}
iframe{
width: 100%;
aspect-ratio: 4 / 3;
}
}
section.concernement{
@include main-cartouche();
justify-content: flex-end;
// layout
>header{
flex: 0 0 auto;
padding: 0 0 1em 0;
}
>main{
flex: 1 1 auto;
}
>footer{
flex: 0 0 auto;
padding: 0.5em 0 0;
margin: 1.5em 0 0;
border-top: #01ffe2 solid 0.5px;
}
>header{
flex: 0 0 auto;
}
// contents
$gradpad: 20px;
>header{
display: flex;
// height: 8rem;
flex-direction: column;
justify-content: flex-end;
// gradiaent over scroll
position: relative;
&:before{
content: ' ';
display: block;
position:absolute;
width: 100%; height:$gradpad;
z-index: 500;
bottom: 0; left: 0; margin-bottom: - $gradpad;
// background-color: #01ffe2;
background: linear-gradient(rgba(255,255,255,1), rgba(255,255,255,0));
}
div.entite{
// min-height: 10em;
// display: flex;
// flex-direction: column;
// justify-content: flex-end;
padding-bottom: 0.5em;
label, h3{
// height: 70px;
box-sizing: border-box;
// padding: 0 0 1em 0;
// flex-grow: auto;
}
h3{
font-weight: 400;
font-size: 1.323em;
position: relative;
overflow: visible;
&::before{
content:"\2022";
color: #01ffe2;
position:absolute;
left:-0.45em;
font-weight: bold;
}
}
// span.menacemaintient{
// display: block;
// font-weight: 100;
// font-size: 0.882em;
// padding: 1em 0;
// }
}
div.concernement-cartouche-icons{
h2{
font-weight: 400;
font-size: 1.512em;
// &.faded{
// font-weight: 100;
// }
padding-bottom: 0.5em;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 20;
max-height: 20em;
transition: -webkit-line-clamp 0.5s ease-in-out, max-height 0.5s ease-in-out;
&.ellipsed{
max-height: 2em;
-webkit-line-clamp: 2;
}
}
// nav.icons{
// ul{
// display: flex;
// flex-direction: row;
// li{
// margin: 0.4em 0.6em 0 0;
// >svg{
// display: inline-block;
// $d: 35px;
// width:$d; height:$d;
// border-radius: $d * 0.5;
// background-color: #fff;
// padding: 2px;
// box-sizing: border-box;
// color: #333;
// // font-size: 2em;
// }
// }
// }
// }
}
label{
display: block;
height:auto;
transition: max-height 0.5s ease-in-out,padding 0.5s ease-in-out;
max-height: 100px;
overflow: hidden;
&.hidden{
max-height: 0;
padding-bottom: 0;
}
}
}
>main{
overflow-y: auto;
padding-top: $gradpad;
>section:not(:last-of-type),
.multiple >section:not(:last-of-type){
padding-bottom: 2em;
}
figure{
margin:0.5em 0;
img{
max-width: 100%;
}
}
section.entite{
>section{
padding-bottom: 2em;
}
// >section.image{
figure{
// border: #333 1px solid;
position: relative;
img{
max-width: 100%;
}
figcaption{
position: absolute;
left: 0;
bottom: 0;
width: 100%;
@include font_reponses();
background-color: rgba(0,0,0,0.8);
// opacity: 0.8;
color: #fff;
padding: 0.3em;
opacity: 0;
transition: all 0.2s ease-in-out;
}
&:hover figcaption{
opacity: 1;
}
}
// }
.sources{
// padding-top: 1em;
.source{
padding-top: 0.5em;
>section{
padding-bottom: 0.5em;
}
// div.date{
// display: block;
// font-weight: 100;
// font-size: 0.882em;
// padding: 0 0 0.5em 0;
// }
>section.description{
>div{
// @include font_reponses();
font-size: inherit;
// padding-bottom: 1em;
}
}
section.audio{
padding:1em 0;
label{
padding: 0;
}
div.plyr__controls{
padding:0;
}
}
section.liens{
padding:1em 0;
a{
text-decoration: underline;
@include font_reponses();
}
}
section.documents{
padding:1em 0;
a{
text-decoration: underline;
@include font_reponses();
}
}
}
&.add{
div.add-source-btn{
border: #eee 2px solid;
background-color: #eee;
border-radius: 5px;
margin: 1em 0 0;
font-size: 1em;
width: 100%;
height: 100px;
line-height:100px;
text-align: center;
transition: all 0.2s ease-in-out;
position: relative;
>svg{
display: inline-block;
vertical-align: middle;
width:50px; height:50px;
color: #333;
}
cursor: pointer;
box-sizing: border-box;
&:hover{
border: #01ffe2 2px solid;
}
}
}
}
}
// PUISSANCE D'AGIR
ul.besoins{
li.besoin{
position: relative;
label.mdi:before{
font-size: 0.8em;
padding-right: 0.2em;
}
svg.open-btn{
position: absolute;
right:0; top:0;
cursor: pointer;
}
>header{
padding: 0 0 0 0;
cursor: pointer;
>label{
padding:0.3em 0 0.5em 0;
svg{
width:0.7em; height:0.7em;
}
&.hover{
svg{
color:#01ffe2;
}
}
}
h4.besoin-description{
font-weight: 400;
font-size: 1.2em;
// padding: 0.5em 0;
}
}
ul.reponses{
overflow: hidden;
max-height: 1px;
transition: all 0.7s ease-in-out;
li.reponse{
padding:0.5em 0 0;
&:last-of-type{
padding: 0.5em 0 1em;
}
>label{
padding:0 0 0.5em 0;
svg{
width:0.7em;height:0.7em;
}
&.hover{
svg{
color:#01ffe2;
}
}
}
section{
&:not(:last-of-type){
padding: 0 0 0.5em 0;
}
label{ padding:0; }
p{margin:0;}
}
}
}
a.contribute-link{
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items:flex-end;
font-weight: 100;
font-size: 0.882em;
margin-top: 0.5em;
svg{
width:1em; height:1em; margin-right: 0.5em;
}
}
&.opened{
ul.reponses{
max-height: 1000px;
}
}
padding-bottom: 0.5em;
border-bottom: #aaa 1px solid;
margin-bottom: 1em;
}
}
// CERCLE POLITIQUE
section.content-doleances{
>main{
padding: 1em 0;
h5{
margin: 0 0 0.5em 0;
}
}
label{
margin:0;
padding:0 0 0.5em 0;
}
p{
margin:0;
padding:0 0 0.5em 0;
}
ul{
// padding:0 0 0 1em;
}
// .v-select{
// input.vs__search{
// display: none;
// }
// div.vs__dropdown-toggle{
// border-radius: 0;
// border: none;
// }
// div.vs__selected-options{
// padding: 0;
// span.vs__selected{
// padding: 0;
// margin: 0;
// font-weight: 400;
// font-size: 1.323em;
// color:inherit;
// line-height: 1.15;
// }
// }
// ul.vs__dropdown-menu{
// border-radius: 0;
// border: none;
// li.vs__dropdown-option{
// white-space:normal;
// padding:1em 1em 0 1em;
// &:last-of-type{
// padding:1em;
// }
// color: #aaa;
// transition: color 0.2s ease-in-out;
// &.vs__dropdown-option--highlight{
// color:#000;
// background-color: #fff;
// }
// }
// }
// }
}
}
>footer{
section.infos{
position: relative;
svg.open-btn{
position: absolute;
right:0;
top: 0;
cursor: pointer;
}
div.wrapper{
overflow-y: hidden;
max-height: 0.1px;
transition: all 0.5s ease-in-out;
&.opened{
max-height: 200px;
}
}
div.info{
font-size: 0.882em;
font-weight: 100;
// white-space:nowrap;
&.author{
cursor: pointer;
}
>span.label{
font-weight: 100;
}
p{
// display: inline-block;
font-size: inherit;
font-weight: inherit;
}
}
}
section.sliders{
padding: 1em 0 0.5em;
section.historique,
section.details{
>label{
padding:0;
}
}
.vue-slider-process{
background-color: #01ffe2;
height: 2px!important;
top:calc(50% - 1px)!important;
}
}
}
h3{
font-weight: 400;
font-size: 1.2em;
}
h4{
font-weight: 400;
font-size: 1.2em;
}
h5{
font-weight: 400;
font-size: 1.1em;
}
section>div, p{
// font-size: 1em;
// font-weight: 300;
// line-height: 1.40;
@include font_reponses();
}
label,
span.date{
@include font_questions();
display: block;
padding: 0 0 1em 0;
}
ul, li{
padding:0; margin:0;
list-style: none;
}
p{
white-space: pre-line;
}
}
section.search{
@include main-cartouche();
header{
flex: 0 0 auto;
padding: 1em 0;
h2{
font-weight: 400;
font-size: 1.323em;
padding: 0 0 0.5em;
}
form{
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
&>*{
flex: 0 1 auto;
}
.content-type-checkboxes{
padding:1em 0;
display: flex;
flex-direction: row;
label{
padding: 0 1em 0 0.2em;
}
}
}
}
main{
flex: 1 1 auto;
overflow-y: auto;
section.results{
ul{
margin:0;
padding:0;
li{
margin:0;
padding:0 0 1em 0;
list-style: none;
h1{
// font-weight: 400;
// font-size: 1.323em;
font-size: 1em;
font-weight: 300;
// line-height: 1.4;
//
margin: 0;
cursor: pointer;
}
h2 {
font-size: 0.882em;
font-weight: 100;
margin: 0;
padding: 0;
cursor: pointer;
}
}
}
}
}
footer{
flex: 0 0 auto;
}
}
&.recit-opened {
padding-bottom: 3rem;
}
p{
a{
text-decoration: underline;
}
}
nav.doleance-switch{
position: fixed;
pointer-events: none;
overflow: hidden;
top: 0; left: 0;
width: calc(100vw - $cartouch_width_full - 0.5rem);
height: 100vh;
div{
pointer-events: all;
$height:60vh;
position: absolute;
top: calc((100vh - $height) * 0.51);
cursor: pointer;
width:605px;
height: $height;
background-image: url(../assets/cercle_politique.png);
background-size: cover;
visibility: hidden;
&.visible{
visibility: visible;
}
&:hover:not(.animeleft):not(.animeright){
background-image: url(../assets/cercle_politique-hover.png);
}
&.prev{
left: calc(-605px + 150px);
background-position: right;
}
&.next{
right:calc(-605px + 150px);
}
transition: opacity 1s ease-in-out;
transform: translateX(0);
&.animeleft,
&.animeright{
// animation-duration: 1.5s;
$duration: 0.9s;
$delay: 0.4s;
transition: opacity $duration ease-in-out $delay,transform $duration ease-in-out $delay;
opacity: 0;
}
&.animeleft{
// animation-name: animeleft;
transform: translateX(calc(-100vw / 2));
}
&.animeright{
// animation-name: animeright;
transform: translateX(calc(100vw / 2));
}
// @keyframes animeleft {
// from {
// transform: translateX(0);
// opacity: 1;
// }
// to {
// transform: translateX(calc(-100vw / 2));
// opacity: 0;
// }
// }
// @keyframes animeright {
// from {
// transform: translateX(0);
// opacity: 1;
// }
// to {
// transform: translateX(calc(100vw / 2));
// opacity: 0;
// }
// }
}
}
}
#recit-player{
--plyr-color-main: #01ffe2;
--plyr-control-icon-size: 14px;
--plyr-audio-controls-background: rgba(255,255,255,0.4);
--plyr-control-spacing: 4px;
--plyr-range-track-height: 2px;
// --plyr-control-radius: 10px;
>div.plyr{
width:450px;
>div.plyr__controls{
border-radius: 3px;
// border: #fff 1px solid;
}
@media screen and (max-width: 1500px) {
width: $cartouch_width_medium
}
@media screen and (max-width: 880px) {
width: $cartouch_width_small;
}
}
&:not(.visible){
display: none;
}
}
#map-popup{
position: absolute;
z-index: 10;
pointer-events: none;
// outline: 1px solid red;
// top:0;
// left: 0;
.popup-content-wrapper{
// display: flex;
// flex-direction: row;
// align-items:center;
position: relative;
.concernement-map-popup{
background-color: white;
padding: 0.5em;
border-radius: 3px;
max-width: 30em;
div.info.author{
font-size: 0.882em;
font-weight: 100;
// white-space:nowrap;
}
ul.icons{
display: flex;
flex-direction: row;
padding: 0.5em 0 0;
margin: 0;
li{
list-style:none;
padding:0;
margin:0 1em 0 0;
}
}
}
.concernement-map-popup-recit{
padding-left: 0.8em;
position: absolute;
top:3px;
left:100%;
>svg{
display: inline-block;
$d: 55px;
width:$d; height:$d;
border-radius: $d * 0.5;
background-color: #fff;
padding: 10px;
box-sizing: border-box;
color: #333;
// font-size: 2em;
}
}
.entite-map-popup,
.entite-proximite-reference-map-popup,
.besoin-map-popup,
.reponse-map-popup{
background-color: white;
padding: 0.5em;
border-radius: 3px;
max-width: 30em;
>div{
margin-bottom: 0.5em;
label{
display: block;
font-weight: 100;
font-size: 0.882em;
}
}
}
.entite-map-popup{
span.point{
font-weight: 900;
color: #01ffe2;
}
}
.entite-proximite-reference-map-popup{
span.point{
font-weight: 900;
}
h1.ref-entite span.point{
color: #01ffe2;
}
div.conjunction,h2{
font-size: 0.756em;
font-weight: 400;
margin: 0.5em
}
}
h1, h2, span, div{
font-size: 1em;
font-weight: 400;
}
// h1{
// padding-bottom: 0.5em;
// }
}
&:before{
content: "";
display: block;
height: 0;
width: 2.9em;
border-top: 1px solid #01ffe2;
position: absolute;
}
&[pos="top-right"]{
padding: 0 0 2em 2em;
&:before{
bottom: 0;
left: 0;
transform-origin: 0 0;
transform: rotate(-45deg);
}
}
&[pos="bottom-right"]{
padding: 2em 0 0 2em;
&:before{
top: 0;
left: 0;
transform-origin: 0 0;
transform: rotate(45deg);
}
}
&[pos="top-left"]{
padding: 0 2em 2em 0;
&:before{
bottom: 0;
right: 0;
transform-origin: right bottom;
transform: rotate(45deg);
}
.popup-content-wrapper{
flex-direction:row-reverse;
.concernement-map-popup-recit{
padding-right: 0.8em;
}
}
}
&[pos="bottom-left"]{
padding: 2em 2em 0 0;
&:before{
top: 0;
right: 0;
transform-origin: right top;
transform: rotate(-45deg);
}
.popup-content-wrapper{
flex-direction:row-reverse;
.concernement-map-popup-recit{
padding-right: 0.8em;
}
}
}
}
}
*[contenteditable="true"] {
background: #eee;
border: #eee 2px solid;
border-radius: 5px;
$p:0.3em;
padding:$p;
margin:0 0 0 -$p;
box-sizing: border-box;
transition: all 0.2s ease-in-out;
&:focus{
outline: none;
border: #01ffe2 2px solid;
}
}
figcaption[contenteditable="true"]{
border: rgba(0,0,0,0.8) 2px solid;
}
@mixin editable-box{
background: #eee;
border: #eee 2px solid;
border-radius: 5px;
padding: 0.3em!important;
margin: 1em 0 0;
}
.editable{
font-size: 0.756em;
@include editable-box();
&>*{
display: inline-block!important;
padding: 0!important;
cursor: pointer;
}
}
div.editable-image,
div.editable-video,
div.editable-audios,
ul.editable-files{
&.can_update{
background: #eee;
}
max-width: 100%;
div.file-btn{
border: #eee 2px solid;
background-color: #eee;
border-radius: 5px;
margin: 1em 0 0;
font-size: 1em;
width: 100%;
height: 50px;
line-height:40px;
text-align: center;
transition: all 0.2s ease-in-out;
position: relative;
>svg{
display: inline-block;
vertical-align: middle;
$wh: 30px;
width:$wh;
height:$wh;
color: #333;
}
cursor: pointer;
box-sizing: border-box;
&:hover{
border: #01ffe2 2px solid;
}
}
div.video-btn{
cursor: pointer;
}
div.editable-wrapper{
padding:0.3em 0.5em;
margin:0.5em 0;
}
div.delete-btn{
cursor: pointer;
}
input[type="file"]{
display: none;
}
&.can-update{
.plyr--audio{
.plyr__controls{
background-color: transparent;
}
}
}
}
li.link-editable{
// background-color: #eee;
// border: #eee 2px solid;
display: flex;
flex-direction: row;
vertical-align: middle;
margin: 0.5em 0!important;
gap: 0.5em;
>input{
background-color: #eee;
border: #eee 2px solid;
overflow: hidden;
text-wrap:nowrap;
width: 40%;
&:focus{
outline: none;
border: #01ffe2 2px solid;
}
&.title{
flex: 0 0 auto;
}
&.url{
flex: 1 0 auto;
}
}
div.delete-btn{
flex: 0 0 auto;
}
}
ul.editable-files{
background-color: transparent;
li.file-editable{
// background-color: #eee;
// border: #eee 2px solid;
display: flex;
flex-direction: row;
vertical-align: middle;
margin: 0.5em 0!important;
gap: 0.5em;
>input{
background-color: #eee;
border: #eee 2px solid;
overflow: hidden;
text-wrap:nowrap;
width: 40%;
flex: 0 1 auto;
font-size: 0.756em;
&:focus{
outline: none;
border: #01ffe2 2px solid;
}
}
>div.filename{
width:40%;
flex: 1 0 auto;
font-size: 0.756em;
}
>div.delete-btn{
flex: 0 0 auto;
}
}
}
section.editable-proximites{
@include editable-box();
margin-top: 1em;
label{
padding: 0!important;
}
em{
font-weight: 500;
}
div.wrapper{
ul{
li{
display: flex;
flex-direction: row;
align-items: center;
em{
flex:1 0 auto;
font-weight: 300;
}
svg.delete{
flex: 0 0 auto;
width:1.3em;
cursor: pointer;
transition: all 0.3s ease-in-out;
&:hover{
color: #aaa;
}
}
}
}
&>div.vue-simple-suggest{
}
}
}
.delete-btn{
text-align: center;
background-color: #eee;
border: #eee 2px solid;
&:hover{
border: #01ffe2 2px solid;
}
}
@mixin add-btn{
border: #eee 2px solid;
background-color: #eee;
border-radius: 5px;
margin: 1em 0 0;
font-size: 1em;
width: 100%;
height: 100px;
line-height:100px;
text-align: center;
transition: all 0.2s ease-in-out;
position: relative;
>svg{
display: inline-block;
vertical-align: middle;
width:50px; height:50px;
color: #333;
}
cursor: pointer;
box-sizing: border-box;
&:hover{
border: #01ffe2 2px solid;
}
}
div.add-entite-btn{
@include add-btn();
}
div.add-besoin-btn{
@include add-btn();
}
div.add-ressource-btn{
@include add-btn();
}