207 lines
5.0 KiB
CSS
207 lines
5.0 KiB
CSS
/** ============ Slider ============ */
|
|
|
|
/**
|
|
* Native input range styling inspired by:
|
|
* https://css-tricks.com/value-bubbles-for-range-inputs/
|
|
* https://codepen.io/ShadowShahriar/pen/zYPPYrQ
|
|
*/
|
|
|
|
.srv-slider-container {
|
|
--thumb-size: 20px;
|
|
/*--primary: #19b394;*/
|
|
--slider-background: #f5f5f5;
|
|
--slider-background-disabled: #e5e5e5;
|
|
--slider-thumb-disabled: #a5a5a5;
|
|
--slider-display-background: black;
|
|
--slider-border: #d4d4d4;
|
|
--survey-question-margin: 0.55em;
|
|
box-sizing: border-box;
|
|
position: relative;
|
|
margin: 50px 10px 10px 10px;
|
|
}
|
|
|
|
.srv-slider-container * {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.srv-slider-container .srv-slider {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
width: 100%;
|
|
height: calc(var(--thumb-size) - 10px);
|
|
background: var(--slider-background);
|
|
border: 0.07em solid var(--slider-border);
|
|
border-radius: 10px;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.srv-slider-container .srv-slider::-webkit-slider-thumb {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
width: var(--thumb-size);
|
|
height: var(--thumb-size);
|
|
border-radius: 50%;
|
|
background: var(--primary, #19b394);
|
|
}
|
|
|
|
.srv-slider-container .srv-slider::-moz-range-thumb {
|
|
width: var(--thumb-size);
|
|
height: var(--thumb-size);
|
|
border-radius: 50%;
|
|
background: var(--primary, #19b394);
|
|
}
|
|
|
|
.srv-slider-container .srv-slider-display {
|
|
position: absolute;
|
|
background: var(--slider-display-background);
|
|
color: white;
|
|
border-radius: 3px;
|
|
padding: 5px;
|
|
top: -40px;
|
|
transform: translate(-50%, 0);
|
|
}
|
|
|
|
.srv-slider-container .srv-slider-title {
|
|
margin: 0 0 0 0;
|
|
}
|
|
|
|
.srv-slider-container .srv-slider-display::after {
|
|
content: "";
|
|
position: absolute;
|
|
width: 0;
|
|
height: 0;
|
|
border-top: 10px solid var(--slider-display-background);
|
|
border-left: 5px solid transparent;
|
|
border-right: 5px solid transparent;
|
|
top: 100%;
|
|
left: 50%;
|
|
margin-left: -5px;
|
|
margin-top: -2px;
|
|
}
|
|
|
|
.srv-slider-container.srv-slider-bar .srv-slider {
|
|
height: var(--thumb-size);
|
|
border-radius: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.srv-slider-container.srv-slider-bar .srv-slider::-webkit-slider-thumb {
|
|
border: none;
|
|
border-radius: 0;
|
|
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--primary);
|
|
}
|
|
|
|
.srv-slider-container.srv-slider-bar .srv-slider::-moz-range-thumb {
|
|
border: none;
|
|
border-radius: 0;
|
|
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--primary);
|
|
}
|
|
|
|
.srv-slider-container .srv-slider[disabled] {
|
|
background: var(--slider-background-disabled);
|
|
}
|
|
|
|
.srv-slider-container .srv-slider[disabled]::-webkit-slider-thumb {
|
|
background: var(--slider-thumb-disabled);
|
|
}
|
|
|
|
.srv-slider-container .srv-slider[disabled]::-moz-range-thumb {
|
|
background: var(--slider-thumb-disabled);
|
|
}
|
|
|
|
.srv-slider-container.srv-slider-bar .srv-slider[disabled]::-webkit-slider-thumb {
|
|
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--slider-thumb-disabled);
|
|
}
|
|
|
|
.srv-slider-container.srv-slider-bar .srv-slider[disabled]::-moz-range-thumb {
|
|
box-shadow: calc(-100vmax - var(--thumb-size)) 0 0 100vmax var(--slider-thumb-disabled);
|
|
}
|
|
|
|
|
|
/** ============ MaxDiffMatrix ============ */
|
|
/*Overriding SurveyJS's theme styles*/
|
|
.matrix-maxdiff .sv-matrix__cell:first-child,
|
|
.matrix-maxdiff .sd-matrix__cell:first-child {
|
|
text-align: center;
|
|
}
|
|
|
|
/** ============ MatrixBipolar ============ */
|
|
.matrix-bipolar tbody td:first-child {
|
|
text-align: right;
|
|
}
|
|
|
|
.matrix-bipolar tbody td:last-child {
|
|
text-align: left;
|
|
}
|
|
|
|
|
|
/** ============ SliderStar ============ */
|
|
.star-slider-container {
|
|
--default-background: #d4d4d4;
|
|
--selected-background: rgb(249, 195, 0);
|
|
margin: 0 0 8px 0;
|
|
}
|
|
|
|
.star-slider-container .star-slider-inputs {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
}
|
|
|
|
.star-slider-container .stars-container {
|
|
display: flex;
|
|
}
|
|
|
|
.star-slider-container .star-slider-inputs .star-slider-star-input {
|
|
color: var(--default-background);
|
|
font-size: 40px;
|
|
line-height: 40px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.star-slider-container .star-slider-inputs .slider-star-text-input {
|
|
margin: 0 0 0 18px;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.star-slider-container .star-slider-inputs .star-slider-star-input.active {
|
|
color: var(--selected-background);
|
|
}
|
|
|
|
.star-slider-container .stars-container:hover .star-slider-star-input {
|
|
color: var(--selected-background);
|
|
}
|
|
|
|
.star-slider-container .stars-container .star-slider-star-input:hover ~ .star-slider-star-input {
|
|
color: var(--default-background);
|
|
}
|
|
|
|
|
|
/** ============ Multiple Select ============ */
|
|
|
|
.srv-select-multiple {
|
|
border: 1px solid #9e9e9e;
|
|
border-radius: 4px;
|
|
box-sizing: border-box;
|
|
background: var(--background);
|
|
box-shadow: none;
|
|
font-size: calc(2 * var(--base-unit, 8px));
|
|
}
|
|
|
|
.srv-select-multiple option {
|
|
padding: calc(1.5 * var(--base-unit, 8px)) calc(2 * var(--base-unit, 8px));
|
|
}
|
|
|
|
.srv-select-multiple:focus {
|
|
outline: 1px solid var(--primary);
|
|
border-color: var(--primary);
|
|
}
|
|
|
|
/** Change of selection color while focused still refuses to change.
|
|
* Leaving it here for future. */
|
|
.srv-select-multiple:focus option:checked,
|
|
.srv-select-multiple option:checked {
|
|
background: var(--primary);
|
|
background-color: var(--primary);
|
|
color: var(--primary-foreground);
|
|
} |