.box-title	{ margin-bottom: 20px; font-size: 20px; line-height: 24px; font-weight: 700; text-transform: uppercase; color: #97a2a7;}
.border-before	{ position: relative; }
.type-survey::before,
.type-survey::after,
.border-before::before	{ content: ''; position: absolute; top: -3px; left: 0; display: block; width: 100%; height: 3px; border-top: 2px dotted #95aab3; height: 0; top: 0;  }
.type-survey::after { bottom: 0; top: auto; }

.survey .q > p:first-child { margin: 32px auto 16px !important; font-size: 20px; line-height: 30px; font-weight: 700; }

.type-survey	{ position: relative; max-width: 768px; margin: 30px 0; padding: 20px 0; }
.modal-survey	{ margin: 50px auto !important; }
.modal-survey .box-title { padding: 0; }
.survey .name,
.survey .q p:last-child	{ margin-bottom: 16px; }
.survey .questions	{ margin: 0 40px; }
.survey .question-wrap	{ padding: 8px 0 32px; }
.survey:not(.show-votes):not(.quiz):not(.cant-vote) .question-wrap.required .q::before { content: '*'; float: left; margin: 5px 5px 0 0; font-size: 25px; color: #97a2a7; }
.survey .question-wrap:first-child::before { display: none; }

.survey .answers	{ margin: 0; padding-top: 5px; }
.survey .answers input	{ margin: 0; cursor: pointer; }
.survey .answers label	{ padding-left: 0; font-weight: normal; cursor: auto; }
.survey:not(.show-votes) .answers label { cursor: pointer; }
.survey .answers:not(.type-r) input { position: relative; margin: 7px 16px 0 0; }
.survey .answer-wrap:not(:last-child) { margin-bottom: 12px; }
.survey .answer-wrap:hover { color: #000; }
.survey .help		{ font-size: 14px; color: #97a2a7; }

.survey .type-r		{ display: flex; }
.survey .type-r label	{ width: 100%; }
.survey .type-r:not(.vertical) label { text-align: center; }
.survey .type-r	input	{ visibility: hidden; }
.survey .r-part		{ height: 8px; background-color: #e4e4e4; }
.survey .type-r .answer-wrap:first-child .r-part { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.survey .type-r .answer-wrap:last-child .r-part { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.survey .r-part div	{ position: relative; top: -4px; left: calc(50% - 8px); width: 16px; height: 16px;
				background-color: #e4e4e4; border: 1px solid #fff; border-radius: 8px; }
.survey:not(.show-votes) .r-part div { cursor: pointer; }
.survey:not(.show-votes) .type-r label.hover .r-part div,
.survey:not(.show-votes) .type-r label:hover .r-part div { background-color: #444; border-color: #444; }
.survey .type-r .votes,
.survey .type-r .answer-wrap { display: flex; flex-direction: column; width: 55px; }
.survey.show-votes .type-r .answer-wrap { flex-direction: column-reverse; justify-content: flex-end; align-items: center; }
.survey .type-r:not(.vertical) label		{ height: auto !important; }
.survey .type-r:not(.vertical) label .r-lbl	{ padding: 12px 4px 0; }
.survey .type-r.vertical label .r-lbl		{ position: relative; top: 5px; left: 35px; margin: 0; white-space: nowrap;
							transform: rotate(45deg); transform-origin: top left; }

.survey .votes				{ font-size: 13px; line-height: 24px; }
.survey .votes span:not(.percent)	{ display: inline-block; height: 8px; line-height: 0px; border-radius: 4px; }
.survey .votes > span:not(.percent)	{ margin: 8px 16px 8px 0; width: 190px; background-color: #e4e4e4; }
.survey .votes span span		{ background-color: #a949a8; }
.survey .type-r .votes			{ flex-direction: column-reverse; align-items: center; margin-bottom: 8px; }
.survey .type-r .votes span:not(.percent) { width: 8px; }
.survey .type-r .votes > span:not(.percent)	{ width: 8px; margin: 8px 8px 0 8px; height: 80px; position: relative; }
.survey .type-r .votes span span		{ position: absolute; bottom: 0; }
.survey .vertical .votes .percent	{ width: auto; max-width: none; }

.survey .vote-submit { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.survey .cc { display: flex; margin-bottom: 32px; width: 100%; flex-wrap: wrap; }
.survey .cc input { display: block; width: 130px; }
.survey .cc img { margin-left: 16px; width: 170px; flex: 0 0 auto; }
.survey:not(.show-votes) .votes,
.survey.show-votes input,
.survey.show-votes .help,
.survey.show-votes .cc,
.survey.show-votes .vote-submit a,
.survey.show-votes .vote-submit button { display: none; }

.survey-error,
.answer-wrong label	{ color: #e82020; font-weight: 700 !important; }
.survey-ok,
.answer-good label	{ color: #4aab16; font-weight: 700 !important; }
.quiz .congrats		{ display: inline-block; margin-bottom: 16px; font-size: 22px; font-weight: 700; }