/*****************************************/
/*** The theme changes proportionally. ***/
/*****************************************/
:root {
  /* Bootstrap Fonts */
  --bs-font-size-base: 14px;
}
body {
  padding-bottom: 10px;
  padding-top: 60px;/* now is redefine in JS to fit any title length */
  font-size: var(--bs-font-size-base);
  line-height: 20px;
  color: black !important;
}
.script-container{
  height:1px;
  width:1px;
  overflow:hidden;
}
.navbar-default .navbar-nav > li > a:hover {
  text-decoration: underline;
}
.navbar-action-link{
  padding-right:1em; /* really close to window without */
}
/* specific for survey listing */
@media (min-width: 761px) {
  .surveys-list .btn-group {
    width: 50%;
  }
  .language_change_container{
    height: 90vh;
  }
}
.space-col {
  margin-top: .75rem;
  margin-bottom: .75rem;
}
.group-outer-container{
  display: flex;
}
.group-container{
  width:100%;
  /*border-bottom: 1px solid var(--bs-gray-200);*/

}
.group-title-container {
  padding: 1em;
  background:transparent;
}
.top-container {
  width: 100%;
  padding: 0;
  border-bottom: none;
  color: inherit;
}
.top-container .top-content{
  padding-top:1em;
  padding-bottom:1em;
  margin-bottom:2em;
}
.group-description.row {
  margin-right: 15px;
  margin-left: 15px;
}
.top-content .form-change-lang{float:right}
.dir-rtl .top-content .form-change-lang{float:left}
.no-js .top-content .form-change-lang{display:none}
.top-container .top-content:empty{display:none}
.group-description:empty{display:none}
.group-title:empty{display:none}
.top-container .progress {
  height: 21px;
  margin-bottom: 0;
}
.group-container .group-description.well {
  padding: 1rem;
  background-color: transparent;
  border-style: none;
  box-shadow: none;
}
.group-container .group-description p {
    background-color: var(--bs-list-group-bg);
    padding: 0 1rem 1rem;
}
.top-container .progress {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) inset; /* flatly remove box-shadow : readd one */
}
.progress .progress-bar {
    line-height: 2em;
    font-weight: 600;
}
.top-container .form-change-lang {text-align:center}
/**
 * Navigator
 */
#navigator-container {
  padding-bottom: 1em;
  margin-left: 0;
  margin-right: 0;
}
#navigator-container > hr
{
  margin-top: 0px;
  margin-bottom: 0px;
}
/**
 * Question part
 */
/** Question Design **/
.question-container {
  margin-bottom: 1rem;
}
.question-container-printanswers {
  margin-top: 2em ;
  margin-bottom: 2em ;
  padding-bottom: 2em ;
}
.question-container.row {
  margin-right: 1rem;
  margin-left: 1rem;
}

.question-title-container {
  font-size: 16px;
  padding-top: 1rem;
  padding-bottom:0.25em;
}
.question-title-container strong,
.question-title-container b {
    font-weight: 700;
}
.question-number,.question-code{float:left;margin:0 0.3em}
.question-number:empty,.question-code:empty{display:none}
.question-valid-container {
  position: relative;
}
.ls-question-help,
.ls-questionhelp{
  margin-bottom:5px;
}
.question-valid-container .text-danger{
  font-weight: bold;
}
.question-valid-container .text-info{
  font-weight: bold;
}
.answer-container, .question-help-container {
  border-color: var(--pkn-question-border);
}
.answer-container {
  border-width: 0px 1px 0px 1px;
  border-style: solid;
  padding-top: 0;
  padding-bottom:0;
}
.ls-answers{
  padding-top: 0;
  padding-bottom:0;
  margin-bottom: 0;
}
.ls-answers > .ls-input-group-extra {
    padding-top: 0;
}
.question-help-container {
}
/* little icon near the question-help */
.ls-questionhelp{position: relative;}
.dir-ltr .ls-questionhelp{margin-left:1.2em;}
.dir-rtl .ls-questionhelp{margin-right:1.2em;}
.ls-questionhelp:before{content:"\f059"}
.ls-questionhelp:before {
  display: block;
  position:absolute;
  font-family: FontAwesome;
  font-size: inherit;
  line-height: inherit;
  height:100%;
}
/* If you want to center the icon */
/*
.ls-questionhelp:before {
    top:50%;
    margin-top:-0.7em;
}
*/
.dir-ltr .ls-questionhelp:before {
  left:-1.1em;
}
.dir-rtl .ls-questionhelp:before {
  right:-1.1em;
}
/**
 * Unsure part
 */
#main-col {
  margin-top: 1em;
}
.col-centered{
  float: none;
  margin: 0 auto;
}
.radio-list li
{
  display: block;
  clear: both;
  margin-right: 3rem;
}
.question-item .answer-item {
    padding-top: 0;
}
li.checkbox-item, li.radio-text-item, li.checkbox-text-item {
    margin-bottom: 0;
}
.question-item .other-label
{
  margin: 0px;
  padding: 0px;
}
/**
 * For em-type
 */
.hide-tip
{
  display: none;
}
/**
 * Surveys list
 */
.surveys-list {
  margin-top: 1em;
  list-style: none;
}
.surveys-list li {
  padding: 0.5em;
}
.surveys-list li a {
  margin-left: 0.5em;
}
#surveys-list-jumbotron {
  text-align: center;
}
#surveys-list-jumbotron img.site-surveylist-logo {
  max-width: 35%;
  display: block;
  margin: 15px auto;
}
/*#outerframeContainer {
    height: 100%;
}*/
#surveyListFooter {
  width: 100%;
  text-align: center;
  margin-bottom: 0;
  padding-bottom: 80px;
  padding-top: 10px;
  margin-top: 10px;
  bottom: 0px;
  height: 60px;
}
@media (max-width: 768px){
  #surveyListFooter {
    padding-bottom: 40px;
    padding-top: 5px;
    margin-top: 5px;
    height: 40px;
  }
  .ls-answers .answer-item {
    padding-bottom: 0.5em;
  }
}
/**
 * Specific question part
 */
.radio-item label,.checkbox-item label {
  cursor: pointer;
}
.radio-item [type='radio'],.checkbox-item [type='checkbox'] { /* Why we must positionning at same place */
  cursor: pointer;
}
.js td.radio-item,.js td.checkbox-item{
  cursor: pointer;
}
.slider-item {
  min-height: 50px;
}
.slider-container {
  min-height: 15px;
}
/* Show more the heading in table */
.ls-answers .ls-heading th{font-weight:700}
/* Max width for some answer part */
@media (min-width: 768px) {
  .yesno-button,.gender-button {
    width: 50%;
  }
  .yesno-button,.gender-button {
    float: left;
  }
  .dir-rtl .yesno-button,.dir-rtl .gender-button {
    float: right;
  }
  .ls-answers.answers-list.checkbox-text-list.form-horizontal .checkbox-text-item .checkbox-item.answer-item .control-label.checkbox-label {
    text-align: left;
  }
}
/* table color */
.ls-even{
  background-color: var(--pkn-table-even-color);
}
/* dynamic group (multiple-numeric) .form-control-static same padding and border width than form-control for better alignment */
.ls-group-dynamic .form-control-static{border: 2px solid transparent;padding-left:15px;padding-right:15px;}
/* array by column hover column */
.table-col-hover col:hover, /* This, maybe, work in CSS4 :) */
.table-col-hover col.hover /* Actual solution : js only*/
{
  background-color: var(--pkn-table-hover-color);
}
@media
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {
  .ls-answers > tbody > tr.ls-even:hover {
    background-color:var(--pkn-table-even-color);
  }
}
/**
 * Gender buttons
 */
/* General */
.button-item .ls-icon {
  display: block;
}
.button-item .ls-icon {
  font-size: 1.4em;
}
html body .navbar.navbar-default.navbar-fixed-top {
  z-index: 2000;
}
.file-upload-modal,.modal{
  z-index: 2001;
}
/* Title of survey can be big, allow multiline, but leave the minimum */
.navbar-brand {
  height: auto;
  min-height:60px;
}
/**********************************
Responsive navbar-brand image CSS
- Remove navbar-brand padding for firefox bug workaround
- add 100% height and width auto ... similar to how bootstrap img-responsive class works
***********************************/
.logo-container {
  padding: 0px;
  float: left;
  font-size: 18px;
  line-height: 20px;
}
.logo-container>img {
  max-height: 90px;
  padding: 15px;
  width: auto;
}
.brand-logo  .top-container .top-content{
  padding-top: 2em;
}
/* Wrap text in e.g. gender button "No answer */
.wrap-normal {
  white-space: normal;
}
/* Center modal vertically, used by file-upload modal */
.modal {
  text-align: center;
  padding: 0!important;
}
.modal:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px;
}
.modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}
#yii-flash-message {
  margin-top: 3em;
}
.prefix-text-right {
  text-align: right;
}
.align-middle {
  vertical-align: middle !important;
}
/* Used for date-picker icon within input */
.form-control-feedback {
  right: 1em;
  left: auto;
}
body .navbar-default .navbar-brand:hover {
}
/* Only use <label> to get vertical align easy. Don't want boldness. */
.no-label {
  font-weight: normal;
}
table > tbody > tr > td.ddprefix {
  padding-right: 1em;
  vertical-align: middle;
}
/**
 * On big screen only, iPad and up
 */
@media only screen and (min-width: 761px) {
  .table-dual-scale .separator {
    width: 6%;
  }
  table > tbody > tr > td.ddsuffix {
    padding-left: 1em;
    vertical-align: middle;
  }
}
/**
 * No more tables
 * OBS: Media specific CSS must be last in this file.
 * iPad has width 768px (according to Chrome dev tool)
 * Google Nexus 10 has width 800px.
 * (Both in portrait mode.)
 * We don't have to collapse tables on pads.
 */
@media only screen and (max-width: 760px), (min-device-width: 768px) and (max-device-width: 1024px)  {
  table.ls-answers tbody {
    padding: 0 1em 0 1em;
  }
  table.ls-answers tr {
    border: 0 none;
    padding: 1em;
  }
  table.ls-answers tr th {
    font-size: 1.1em;
    text-align: center;
    color: var(--pkn-table-th-answers-color);
  }

   Add some margin for multiple short text
  .form-group.row {
    margin-bottom: 15px;
  }
  table.ls-answers tbody {
    padding: 0;
  }
  table.ls-answers tr {
    border: 1px solid var(--bs-hr-color);
    padding: 0;
    margin-bottom:1em;
  }
  /*Line header color is h4 color*/
  table.ls-answers tr th {
    font-size: 1.1em;
    text-align: left;
    color: var(--pkn-table-th-answers-color);
  }
  .array-by-columns .answertext {
    padding: 8px;
    padding-left: 0;
    text-align: left;
    font-weight: bold;
  }
  .array-by-columns .radio-item {
    padding-bottom: 8px;
  }
  table.ls-answers td {
    /* Behave  like a "row" */
    min-height: 2em;
    border: none;
    position: relative;
    /*padding-left: 95%;*/
    padding-bottom: 1em;
    white-space: normal;
    text-align:left ;
  }
  /* Hide the first column in array-by-column */
  .array-by-columns-table tr > *:nth-child(1) {
    display: none;
  }
  /* Need some more space on phone */
  .array-multi-flexi .answertext {
    padding-bottom: 0.5em;
  }
  .array-multi-flexi .answer-item label {
    padding-bottom: 0.5em;
  }
  /* On phone, left and right slider text is above and below slider */
  .slider-left-span {
    text-align: left;
  }
  /* As above, collapse prefix/suffix to above/below input */
  .prefix-text-right {
    text-align: left;
  }
  /* Used for date-picker icon within input */
  .form-control-feedback {
    right: 0.5em;
  }
  .col-xs-12.question-container {
    padding-right: 0;
    padding-left: 0;
  }
}

/** On small phones, leave some more space */
@media only screen and (max-width: 400px) {
  .array-by-columns-div .radio-list {
    border: 1px solid var(--bs-hr-color);
    padding: 1em;
    margin: 1em;
  }
  /*
  .col-sm-12.answer {
      padding-left: 0;
      padding-right: 0;
  }
  */
  .no-more-tables tbody {
    padding-left: 0;
    padding-right: 0;
  }
  /* For yes-no question, shrink the buttons a bit on phone screens */
  .btn-lg, .btn-group-lg label {
    padding: 10px 15px;
  }
  .slider.slider-horizontal {
    /* Slider can be full width on phones */
    width: 100%;
  }
  /* Center label under radio button on phones */
  .five-point-choice label {
    margin-left: 5px;
  }
  /* Make file-upload pop-up shorter on phones */
  .file-upload-modal-body {
    padding: 0;
    height: 300px;
  }
  /* Modal should be in front of navbar, so the close icon is visible */
  .modal {
    z-index: 3000;
  }
  /* Less margin on phones */
  .slider.slider-horizontal {
    margin-bottom: 0.4em;
  }
}
/**
 * Display adjust, question type by question type
 */
.table > tbody > tr > th
{
  vertical-align: middle;
}
.othertext-label-checkox-container {
  padding-top: 5px;
  margin-right: 5px;
}
.geoname_search {
  margin-bottom: 10px;
}
/* Give help text some space */
.questionhelp {
  padding-bottom:0.5em;
}
/* Arrow */
/* Will confuse survey takers?
.questionvalidcontainer:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-width: 0.9em;
    margin-left: -0.9em;
}
*/
/* Asterix */
.asterisk sup {
    display: none !important;
}
.input-error .asterisk {
  font-size: 1.2em;
  margin-top:-0.2em;
}
#surveys-list-container
{
  margin-top: 50px;
}
/* text overflows, ellipsis and hyphens */
.navbar-brand {
  overflow: hidden;
  text-overflow: ellipsis;
}
#outerframeContainer {
  min-height: 100%;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
}
.xdebug-var-dump {
  z-index: 10000;
  position: relative;
  top: 10px;
}
div.yes-no .btn-group label {
  white-space:normal;
}
.pkn_orlen_v2 #welcome-container {
  margin: 0;
}
.pkn_orlen_v2 #welcome-container,
.pkn_orlen_v2 .completed-wrapper {
  overflow: hidden;
}
.pkn_orlen_v2 #welcome-container img,
.pkn_orlen_v2 .completed-wrapper img,
.pkn_orlen_v2 .privacy .privacy-block .limit-text-window img,
.pkn_orlen_v2 .privacy .policynotice .panel-body img {
  width: 100%;
  height: auto;
}
.pkn_orlen_v2 .privacy .privacy-block .limit-text-window {
  overflow-x: hidden;
}
.pkn_orlen_v2 .privacy {
    background-color: #fff;
    /*border: 1px solid #e6e6e6;*/
    /*box-shadow: 0 1px 2px rgb(0 0 0 / 20%);*/
    margin: 0 0 1.5rem 0;
}
.privacy-header{
  font-weight: bold;
  font-style: italic;
}
/*** Divider for Bootstrap ***/
.horizontal-divider.top{
  border-top: 3px solid var(--bs-divider-color);
}
.horizontal-divider.bottom{
  border-bottom: 3px solid var(--bs-divider-color);
}
.vertical-divider.left {
  border-left: 3px solid var(--bs-divider-color);
}
.vertical-divider.right {
  border-right: 3px solid var(--bs-divider-color);
}
@media (max-width: 800px){
  .vertical-divider.left {
    border: none;
  }
  .vertical-divider.right {
    border: none;
  }
}
@media only screen and (max-device-width: 760px){
  h1, .h3{
    font-size:18px;
  }
  .h4{
    font-size:16px;
  }
  .question-container{
    margin-bottom:1em;
  }
  .question-title-container{
    padding-top:5px;
    padding-bottom: 5px;
  }
  .answer-container{
    /*  padding-top:0.5em;
        padding-bottom:0.5em;*/
  }
  .ls-question-help,
  .ls-questionhelp{
    font-size:14px;
  }
  .table-bordered{
    border:none;
  }
  .ls-answers tbody:last-child tr:last-child{
    margin-bottom:0;
  }
  .ls-answers{
    padding-top:0;
    padding-bottom:0;
  }
  .ls-answers > tbody > tr > td.radio-item ,
  .ls-answers > tbody > tr > td.checkbox-item{
    min-height:44px; /*minimal height for touching with finger */
    padding-top:10px;
    padding-left:28px;
  }
  .ls-answers.table > tbody + tbody {
    border-top: none; /*overriding Bootstrap */
  }
  .help-block:last-child{
    margin-bottom:0;
  }
  .ls-questionhelp,
  .help-block{
    font-size:90%;
  }
}
p.return-to-survey{
  clear:left;
}
/* Make sure question index menu is not too long. */
#index-menu ul.dropdown-menu {
  max-height: 50vh;
  overflow-y: scroll;
}
.text-break-pre {
  white-space: pre-line;
}
.child-row-spacing>.row{
  padding-bottom: 8px;
}
.child-row-border-bottom>.row:last-child{
  padding-bottom: 0;
}
.superset {
  font-size: 50%;
  vertical-align: top;
}
/* Remove question container*/
#navbar {
  background: none; border: none;
}
.question-title-container, .question-valid-container{
  background: none; border: none;
}
.answer-container, .question-container{
  border: none;
}
.navbar-default .navbar-brand, .navbar-default  {
  border: none;
}
.alert {
  background-color: none;
}
.question-item {
  border: none;
}
body .checkbox-item label::after {
  background-color: transparent;
}
/* aligns navigator buttons with question borders */
#navigator-container > div {
  padding: 0px;
}
.btn:focus, .btn:hover {
  color: var(--bs-panel-color);
}
/* Remove borders when checkbox is checked */
.checkbox-item input[type="checkbox"]:checked + label::before{
  border: none;
  background-color: transparent;
  outline: none;
}
.radio-item input[type="radio"]:focus + label::before, input[type="radio"]:focus, input[type="checkbox"]:focus, .btn-primary:focus, .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus{
  outline: none;
}
.limit-text-window {
  max-height: 40rem;
  max-height: 33vh;
  padding: 15px 5px;
  overflow: auto;
  border-top: 1px solid var(--bs-hr-color);
  border-bottom: 1px solid var(--bs-hr-color);
  border-left: none;
  border-right: none;
  outline: none;
}
/* Define the color for Awesome Bootsrap Checkboxes ; based on bg-primary background-color*/
label::after { background-color: var(--pkn-checkbox-bgcolor) }
.text-primary {
  color: var(--bs-text-color);
}
.strikeout {
  text-decoration: line-through !important;
}
/* statics page */
.public-stats table img {
  width: 100%;
  height: auto;
}
/* dropdown menu */
.dropdown-menu {
  padding: 0;
  margin: 0;
  border-radius: unset;
}
.dropdown-header {
  padding: 5px 20px;
  margin-top: 5px;
}
.dropdown-menu > li > a {
  padding: 5px 20px;
}
.pkn_orlen_v2 .dropdown-menu .index-item.index-item-current > a:before {
  content: "»";
  margin-left: -14px;
}
.pkn_orlen_v2 .checkbox-item label::before {
  width: 17px;
  height: 17px;
}
.pkn_orlen_v2 .checkbox-item label::after {
  width: 17px;
  height: 17px;
  padding-left: 2px !important;
  padding-top: 0px;
}
.pkn_orlen_v2 td.checkbox-item label::after {
  padding-left: 0 !important;
  border-radius: 0 !important
}
.pkn_orlen_v2 .answer-container .btn-primary label,
.pkn_orlen_v2 .answer-container .btn-primary label {
  margin-top: 5px;
  margin-bottom: 5px;
}
/* Position contact - frontent home page */
.pkn_orlen_v2 #surveys-list-container {
  position: relative;
}
.pkn_orlen_v2 .survey-contact {
  position: absolute;
  bottom: 0;
  text-align: right;
}