/* Approved list layout. Form fields, values and validation stay native. */
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 650;font-display:swap;src:url('/forms/upload/themes/survey/spbu_research/fonts/golostext-cyrillic-400-650.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 650;font-display:swap;src:url('/forms/upload/themes/survey/spbu_research/fonts/golostext-latin-400-650.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Literata;font-style:normal;font-weight:400 600;font-display:swap;src:url('/forms/upload/themes/survey/spbu_research/fonts/literata-cyrillic-400-600.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Literata;font-style:normal;font-weight:400 600;font-display:swap;src:url('/forms/upload/themes/survey/spbu_research/fonts/literata-latin-400-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{font-family:'Golos Text',system-ui,sans-serif!important;background:#f6f8fb!important;font-optical-sizing:auto}
main.outerframe{max-width:800px;margin:28px auto 40px;padding:30px 48px 34px;background:white;border-radius:18px}
main.outerframe #main-row,main.outerframe #main-col{margin:0;padding:0;width:100%;max-width:none}
.group-outer-container,.group-container,.survey-form-container{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.research-page-heading{font:400 30px/1.35 Literata,Georgia,serif;color:var(--research-blue);letter-spacing:-.025em;margin:14px 0 30px}
.survey-name{font:400 30px/1.35 Literata,Georgia,serif!important;letter-spacing:-.025em;color:var(--research-blue);text-align:left!important}
.research-institution{font-size:13px;color:#58697f;margin:0 0 14px}
.research-site-nav{margin:-10px 0 8px}.research-site-nav a{font-size:13px;font-weight:400;padding-left:0}
.top-container{max-width:800px;margin:20px auto 0!important;padding:0 48px!important}
.top-container .top-content{padding:0!important}
.top-container .progress{height:4px!important;background:#e5ebf3;border:0;border-radius:4px;box-shadow:none}
.top-container .progress-bar{min-width:0!important;font-size:0;box-shadow:none}
main.outerframe .question-container{padding:0 0 32px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;width:100%;min-width:0}
main.outerframe .question-container + .question-container{border-top:1px solid #e5eaf0!important;padding-top:32px!important}
.question-container > .col-12{padding-left:0;padding-right:0}
.question-title-container{font-size:19px!important;line-height:1.5;font-weight:550;letter-spacing:-.01em;padding-top:0!important;padding-bottom:0!important;margin:0 0 10px!important}
.question-text,.ls-label-question{font:inherit}.question-text p{margin:0 0 8px}.question-text p:last-child{margin-bottom:0}
.boilerplate .question-title-container{font-size:16px!important;font-weight:400;line-height:1.7;letter-spacing:normal}
.research-question-meta{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:normal;color:#607087}
.research-question-meta .asterisk{float:none!important;display:block!important;margin:0!important;padding:0!important}
.research-question-meta .asterisk sup{display:none}
.research-question-meta .asterisk span{color:#934747!important;font-size:12px!important;font-weight:500}
.question-valid-container,.question-help-container{font-size:14px;line-height:1.45;font-weight:400;margin:0 0 16px!important;padding-top:0!important;padding-bottom:0!important}
.question-valid-container .ls-questionhelp,.question-valid-container .ls-em-success{font-size:14px!important;line-height:1.45;font-weight:400!important;color:#58697f!important;margin:0;padding:0}
.question-valid-container .ls-em-success::before{display:none!important}
.question-valid-container .ls-questionhelp::before{display:none!important}
.question-container,.answers-list input{scroll-margin-top:96px}
.answer-container{padding-top:0!important;padding-bottom:0!important}
.answers-list{margin:0!important;padding:0!important}
.answers-list .radio-item,.answers-list .checkbox-item{position:relative;display:block;margin:0 0 4px!important;padding:0!important;min-height:52px;width:100%;border:0;float:none}
.answers-list .radio-item > label,.answers-list .checkbox-item label{position:relative;display:block;width:100%;box-sizing:border-box;min-height:52px;margin:0!important;padding:14px 14px 14px 47px!important;border:0;border-radius:9px;font:400 16px/24px 'Golos Text',system-ui,sans-serif;color:var(--research-ink);cursor:pointer;transition:background .15s}
.answers-list .radio-item > input[type=radio],.answers-list .checkbox-item input[type=checkbox]{position:absolute;left:14px;top:16px;width:20px;height:20px;z-index:1;opacity:0;margin:0}
.answers-list .radio-item > label::before,.answers-list .checkbox-item label::before{left:14px!important;top:16px!important;width:20px!important;height:20px!important;margin:0!important;border:1.5px solid #7a8ca3;background:white;box-shadow:none}
.answers-list .radio-item > label::after{left:19px!important;top:21px!important;width:10px!important;height:10px!important;margin:0!important}
.answers-list .checkbox-item label::after{left:14px!important;top:16px!important;width:20px;height:20px;margin:0!important;padding:0!important;text-align:center;line-height:20px}
.answers-list .radio-item > input:checked + label,.answers-list .checkbox-item input:checked + label{background:#eaf1f9;color:var(--research-blue)}
.answers-list .radio-item > input:checked + label::before{border-color:var(--research-blue)}
.answers-list input:focus-visible + label{outline:2px solid #397dc6!important;outline-offset:2px}
.answers-list input[type=radio]:focus-visible,.answers-list input[type=checkbox]:focus-visible{outline:none!important}
@media(hover:hover){.answers-list .radio-item > label:hover,.answers-list .checkbox-item label:hover{background:#f5f7fa}.answers-list input:checked + label:hover{background:#eaf1f9}}
.question-container .form-control,.question-container select,.question-container textarea{font-family:'Golos Text',system-ui,sans-serif}
.question-container .table{font-family:'Golos Text',system-ui,sans-serif;font-size:16px}.question-container th{font-weight:500}
#navigator-container{margin:20px 0 0!important;padding:0!important}.btn{font-family:'Golos Text',system-ui,sans-serif;font-size:15px;font-weight:550;min-height:48px;padding:12px 20px}
header.navbar .navbar-brand:has(.research-brand-cat)::before{display:none}
header.navbar .navbar-brand{padding:8px 0;gap:12px;max-width:100%;font-size:16px;line-height:1.4}
.research-brand-cat{display:block;flex:0 0 52px;width:52px;height:46px;overflow:hidden;border-radius:8px}
.research-brand-cat svg{display:block;width:100%;height:100%;overflow:hidden}
.research-has-scale-guide .research-site-nav{margin-bottom:2px}
.research-has-scale-guide .research-institution{margin-bottom:8px}
.research-has-scale-guide .research-page-heading{font-size:27px;line-height:1.35;margin:10px 0 22px}
.research-scale-instruction{font-size:16px;line-height:1.65;margin:0 0 18px!important}
.research-scale-guide{background:#f3f6fa;border-radius:12px;padding:20px 22px;color:var(--research-ink)}
.research-scale-title{font:550 14px/1.4 'Golos Text',system-ui,sans-serif;letter-spacing:0;margin:0 0 18px;color:var(--research-blue)}
.research-scale-guide dl{display:grid;gap:16px;margin:0}
.research-scale-guide dl > div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:baseline}
.research-scale-guide dt{font-size:15px;line-height:1.55;font-weight:550;color:var(--research-blue)}
.research-scale-guide dd{font-size:15px;line-height:1.55;font-weight:400;color:#4b5d73;margin:0}
@media(max-width:600px){.research-has-scale-guide .research-page-heading{font-size:23px!important;margin-bottom:20px}.research-scale-guide{padding:18px 16px;border-radius:10px}.research-scale-guide dl{gap:18px}.research-scale-guide dl > div{grid-template-columns:minmax(0,1fr);gap:4px}.research-scale-title{margin-bottom:16px}.research-scale-instruction{font-size:16px}}
@media(max-width:600px){main.outerframe{width:calc(100% - 20px);margin:18px auto 24px;padding:24px 20px 28px;border-radius:13px}.top-container{padding:0 30px!important;margin-top:16px!important}.research-page-heading,.survey-name{font-size:25px!important;line-height:1.35!important}.research-page-heading{margin:12px 0 26px}.question-title-container{font-size:18px!important;line-height:1.5}.boilerplate .question-title-container{font-size:16px!important}main.outerframe .question-container{padding-bottom:28px!important}main.outerframe .question-container + .question-container{padding-top:28px!important}header.navbar .navbar-brand{font-size:14px}.research-brand-cat{flex-basis:44px;width:44px;height:40px}.question-container .research-matrix tbody tr{border-color:#e5eaf0}.question-container .research-matrix td label{font-size:16px}}

/* Multiple-choice answers have an extra Bootstrap row/column wrapper. */
.answers-list .checkbox-item > .row{margin:0}
.answers-list .checkbox-item > .row > .col-auto{position:relative;flex:0 0 100%;width:100%;max-width:100%;padding:0}
.answers-list .checkbox-item input[type=checkbox]{top:50%;transform:translateY(-50%)}
.answers-list .checkbox-item label::before{content:""!important;position:absolute;display:block;border-radius:4px;top:50%!important;transform:translateY(-50%)}
.answers-list .checkbox-item label::after{content:""!important;position:absolute;display:none;left:21px!important;top:50%!important;width:6px!important;height:11px!important;border:solid white;border-width:0 2px 2px 0;transform:translateY(-50%) rotate(45deg);background:transparent!important}
.answers-list .checkbox-item input:checked + label::before{background:var(--research-blue);border-color:var(--research-blue)}
.answers-list .checkbox-item input:checked + label::after{display:block}
.research-scale-guide--numbered dl > div{grid-template-columns:28px minmax(0,1fr);gap:12px}
