// --------------------------------------------------------- // -- VOTE CHOICE COMPONENT // --------------------------------------------------------- // -- IMPORTS // ---------------------------- @import "../../assets/scss/variables"; // -- VARIABLES // ---------------------------- $box-padding : 2rem; $box-border-width : .6rem; $btn-size : 5rem; $btn-margin-x : 1rem; $btn-margin-y : 1.5rem; $btn-wrap-size : calc(2 * #{$btn-size} + 4 * #{$btn-margin-x}); $breakpoint-responsive : 640px; // à définir // -- GLOBAL // ---------------------------- .choicebox { position: relative; min-width: 32rem; padding: $box-padding $box-padding $box-padding calc(#{$box-padding} - #{$box-border-width}); border-left: $box-border-width solid transparent; background-color: $white; box-shadow: 0 0 .6rem 0 rgba($black, .2); &--active { padding-left: $box-padding; border-left-color: $primary_color; } @media (min-width: $breakpoint-responsive) { display: flex; align-items: center; justify-content: space-between; } } // -- DATE // ---------------------------- .choicebox__time { margin-bottom: 3rem; padding-right: $btn-wrap-size; font-size: 1.8rem; @media (min-width: $breakpoint-responsive) { margin-bottom: 0; padding-right: 0; } } .choicebox__date { margin-bottom: .5rem; white-space: nowrap; text-transform: capitalize; @media (min-width: $breakpoint-responsive) { margin-bottom: 0; } } .choicebox__day { font-size: 2.4rem; font-weight: bold; } // -- VOTE BTNS // ---------------------------- .choicebox__actions { position: absolute; z-index: 1; display: flex; max-width: $btn-wrap-size; top: 50%; right: $box-padding; flex-flow: row-reverse wrap; transform: translateY(-50%); @media (min-width: $breakpoint-responsive) { position: static; max-width: none; flex-flow: row nowrap; transform: none; } } .choicebox__btn { display: flex; width: $btn-size; height: $btn-size; align-items: center; justify-content: center; margin: $btn-margin-y $btn-margin-x; border: .1rem solid $primary_color; border-radius: 50%; @media (min-width: $breakpoint-responsive) { margin-top: 0; margin-bottom: 0; } &:focus, &:hover, &:active { border-color: #ccc9c9; background-color: #f7f7f7; } &--maybe { position: relative; top: calc( (#{$btn-size} + 2 * #{$btn-margin-y}) / 2 ); @media (min-width: $breakpoint-responsive) { top: auto; left: auto; } } &--active { border-width: .3rem; border-color: #bf83c2; } } // -- VOTE COUNT // ---------------------------- .choicebox__count { position: relative; padding-right: $btn-wrap-size; @media (min-width: $breakpoint-responsive) { text-align: right; padding-right: 0; } } .choicebox__votes { border: 0; padding: 0; line-height: normal; @media (min-width: $breakpoint-responsive) { padding: 1.5rem; &:focus, &:hover, &:active { & .choicebox__tooltip { display: flex; } } } } .choicebox__vote { display: inline-block; vertical-align: middle; & + .choicebox__vote { margin-left: 1.5rem; } } .choicebox__countxt { display: none; margin-top: .5rem; .choicebox--active & { display: block; @media (min-width: $breakpoint-responsive) { display: none; } } } // -- TOOLTIP // ---------------------------- .choicebox__tooltip { display: none; @media (min-width: $breakpoint-responsive) { position: absolute; min-width: 18rem; font-weight: normal; top: 5rem; left: 50%; z-index: 1; padding: 2rem; border: .1rem solid rgba($black, .1); background-color: $white; text-align: left; transform: translateX(-50%); &::after, &::before { position: absolute; width: 0; height: 0; bottom: 100%; left: 50%; content: " "; pointer-events: none; border: solid transparent; } &::after { margin-left: -1.5rem; border-width: 1.5rem; border-color: rgba($white, 0); border-bottom-color: #fff; } &::before { margin-left: -1.6rem; border-width: 1.6rem; border-color: rgba($black, 0); border-bottom-color: rgba($black, .1); } ul { margin: 0; padding: 0; list-style: none; } } } .choicebox__tooltiplist { & + .choicebox__tooltiplist { padding-left: 3rem; } ul { max-height: 15rem; overflow: scroll; } } .choicebox__tooltipttl { @media (min-width: $breakpoint-responsive) { margin-bottom: 1rem; font-size: 1.6rem; font-weight: bold; white-space: nowrap; img { margin-right: .5rem; vertical-align: sub; } & ~ .choicebox__tooltipttl { margin-top: 3rem; } } }