/** ============ 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);
}
