/******************
    User custom CSS
    ---------------

    In this file you can add your own custom CSS
    It will be loaded last, so you can override any other property.
    Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/

/* General Layout */
body {
  font-family: "Noto Sans", sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  background-color: #fff;
  margin: 0 !important;
  padding: 0 !important;
}
#outerwrapper {
  margin-top: 10px;
  margin-bottom: 10px;
  float: none;
  clear: both;
  background-color: #FFF;
}
#outerwrapper #outerwrapper,
#outerwrapper #outerwrapper .container {
  padding: 0;
  width: auto;
}
#outerframeContainer {
  padding: 0;
  width: auto;
  clear: both;
}
#dynamicReloadContainer {
	padding: 0;
}
@media only screen and (max-width: 768px) {
  #outerwrapper {
    margin-top: 0;
    margin-bottom: 0;
  }  
}
@media (min-width: 768px) {
  .container {
    width: 98%;
    max-width: 1200px;
  }
}

hr {
  margin: 10px 0;
}
a,
a:link {
  color: #037bc1;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #004b78;
  text-decoration: underline;
}
img {
    max-width: 100%;
}

/* Navbar */
.header-wrapper {
  margin-bottom: 15px;
}
.headerdivider {
  height: 4px;
  width: 100%;
  background-color: #04629a;
  float: none;
  clear: both;
}
.navbar-toggle {
	float: none;
  margin-right: 0;
}
.navbar-collapse {
	padding: 0;
}
.navbar {
	min-height: 0;
	margin: 0;
	text-align: center;
}
.navbar-header {
  float: none !important;
  padding: 15px 0;
}
.navbar-brand {
  padding: 15px 0;
  min-height: initial;
}
h1.surveyname {
  font-family: 'Oswald', sans-serif;
  text-align: left;
  font-weight: 700;
  height: auto;
  line-height: 130%;
  font-size: 24px;
  margin: 0;
}
.navbar-nav {
	float: none;
}
.navbar-default {
	background-color: transparent;
	border: none;
}
.navbar-action-link {
	padding: 0;
}
.navbar-collapse.in {
	overflow-y: visible;
}
.navbar-item-left {
	text-align: left;
	padding-left: 0;
}
.navbar-item-middle {
	text-align: center;
}
.navbar-item-right {
	text-align: right;
	padding-right: 0;
}
.navbar-logo-left {
  padding-left: 0;
}
.navbar-logo-middle {
  padding-right: 0;
  text-align: center;
}
.navbar-logo-right {
  padding-right: 0;
  text-align: right;
}
.logo-bar {
  margin-top: 0;
  padding: 15px 0;
}
.navbar-banner {
  text-align: center;
}
img.logo-left {
  width: 210px;
  height: auto;
}

@media only screen and (max-width: 768px) {
	.navbar-collapse {
		padding: 0 15px;
	}
  .navbar-logo-left {
    padding: 0;
    text-align: center;
  }
  .navbar-logo-middle {
    text-align: center;
    padding: 0;
    margin-top: 15px;
  }
  .navbar-logo-right {
    text-align: center;
    padding: 0;
    margin-top: 15px;
  }
  .navbar-item-left {
    text-align: center;
    margin: 6px 0;
    padding: 0;
  }
  .navbar-item-middle {
    text-align: center;
    margin: 6px 0;
    padding: 0;
  }
  .navbar-item-right {
    text-align: center;
    margin: 6px 0;
    padding: 0;
  }
    .navbar-banner {
    padding: 0;
    }
}

/* Language Changer */
.language-wrapper {
  margin: 15px 0;
  text-align: right;
}
.languagechanger {
    margin: 0;
    display: block;
}
a.languagechanger,
a:link.languagechanger {
    color: #9d9d9d;
    text-decoration: none;
    text-align: left;
}
a:hover.languagechanger,
a:focus.languagechanger {
    color: #9d9d9d;
    text-decoration: none;
}
#langs-container {
    height: auto;
}
.form-change-lang {
    text-align: center;
}
ul#langs-container {
    /*margin-left: 42%;*/
    overflow: initial !important;
}
.language-top {
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .language-top {
    padding: 15px 0;
  }  
}

/* Progress bar */
.progress-wrapper {
  padding: 15px 0;
}
.progress {
  background-color: #f2f2f2;
  margin-bottom: 0;
}
.progress-bar {
  background-color: #8cc841;
}

/* Welcome Page */
.text-info {
  color: #04629a;
}
.survey-welcome {
  margin-top: 15px;
}
.question-count-text {
  margin-top: 15px;
}
@media only screen and (max-width: 768px) {
  .progress-wrapper {
    padding: 0;
  }  
}

/* Privacy */
.privacy {
  margin-top: 15px;
  padding: 15px 0;
  margin: 15px 1px;
  border: 1px solid #04629a;
  background-color: transparent;
}
p.ls-privacy-body {
  margin: 15px 0 0 0;
  font-style: italic;
}

/* Privacy policy */
.panel {
  -webkit-box-shadow: none;
  box-shadow: none;
  margin: 0;
  background-color: transparent;
}
.panel-primary {
    border-color: transparent;
}
.panel-primary > .panel-heading {
    color: #000;
    background-color: transparent;
    border-color: transparent;
    padding: 15px 0;
}
.panel-body {
    padding: 5px 0;
}
.panel-footer {
    padding: 10px 0;
    background-color: transparent;
    border-top: transparent;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}
input#datasecurity_accepted {
  vertical-align: top;
}
.limit-text-window {
    /* 2021-04-20 Marcel Minke: Removed to show privacy message at welcome page correctly
    display: none;
    */
    margin-left: 15px;
}

/* Group layout */
.group-outer-container {
	display: block;
}
.group-title {
  text-align: center;
  font-weight: normal;
  font-size: 140%;
  margin-top: 0;
  margin-bottom: 15px;
}
.group-description {
  margin-top: 0;
  text-align: left;
}

/* Question layout */
.question-number, .question-code {
	float: none;
	margin: 0;
}
.question-container {
    background-color: #fff;
    margin-bottom: 30px;
    margin-top: 15px;
    padding-bottom: 15px;
    border: 1px solid #c8c8c8 !important;
}

.question-text {
    font-size: 120%;
}

.input-error.question-container {
    border: 1px solid #a94442;
}
.question-title-container {
    padding: 8px 15px;
    background-color: #eef4f8;
    color: #04629a;
    margin-bottom: 15px;
}

.question-valid-container {
  padding-left: 0;
  padding-right: 0;
  font-size: 90%;
  margin-top: 5px;
}
.question-number,
.question-code {
  font-weight: normal;
}
.ls-answers tbody .answertext {
  text-align: left;
}
tr.ls-odd,
.array-flexible-column tr.answers-list:nth-child(even) {
  background-color: #f0f0f0;
}
.table-hover > tbody > tr:hover,
tr.answers-list:hover,
.array-flexible-column tr.answers-list:hover {
    background-color: #ddd;
}
.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
  border: 0;
  padding: 4px 8px;
}
.table-bordered {
  border: 0;
}
.asterisk {
  margin-right: 5px;
  font-size: 90% !important;
  vertical-align: top;
}
.asterisk small {
  font-size: 90% !important;
  vertical-align: top;  
}
.save-form .asterisk,
.save-survey-form .asterisk {
  float: none !important;
}
.input-error .asterisk {
  font-size: 90% !important;
  margin-top: 0;  
}
.question-help-container {
  font-size: 90%;
  margin-top: 10px;
  color: #04629a;
}
.numeric-multi input.numeric,
.multiple-short-txt input.form-control,
.multiple-short-txt textarea.form-control {
  margin-bottom: 15px;
}
.ls-input-group-extra {
  vertical-align: top;
  padding: 1rem 1.2rem;
}
.array-flexible-row .ls-answers .answertextright {
  text-align: right;
}

/* Navigator */
#navigator-container {
  margin-bottom: 15px;
  padding-bottom: 0;
  margin-top: 30px;
}
.btn {
  border-radius: 0;
  font-size: 110%;
  border-radius: 4px;
}
a.btn-primary {
  color: #fff;
}
.btn-primary {
  color: #ffffff;
  background-color: #04629a;
  border-color: #04629a;
}
.btn-primary:hover {
  color: #ffffff;
  background-color: #004b78;
  border-color: #004b78; 
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #ffffff;
  background-color: #004b78;
  border-color: #004b78;
}
.input-group-addon.btn-primary {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.btn-default {
    border-color: #adadad;
}


/* Radios and checkboxes */

/* radio buttons */
.radio-item label::before {
  border: 1px solid #aaa;
  background-color: #FFF;
}
.radio-item label::after {
  background-color: #04629a;
}
/* checkboxes */
.checkbox-item label::before {
  border: 1px solid #aaa;
  background-color: #FFF;
}
.checkbox-item label::after {
  color: #04629a;
  background-color: transparent;
  width: 17px;
  height: 17px;
  left: -1px;
  top: 0px;
  font-size: 12px;
}


/* Ranking question */
.sortable-choice {
  padding: 5px;
}
.sortable-choice .ls-choice.sortable-item {
  background-color: #eee;
  border: 1px solid #ddd;
  margin-bottom: 5px;
}
.sortable-rank {
  padding: 5px;
}
.sortable-rank .ls-choice.sortable-item {
  background-color: #8cc841;
  border: 1px solid #6c9d31;
  margin-bottom: 5px;
  color: #fff;
}

/* Boilerplate question */
/* 2019-04-04 No paddings for boilerplate */
.boilerplate {
    padding-bottom: 0;
}
.boilerplate.question-container {
   /* border: none !important; */
}
.boilerplate .question-title-container {
    margin-bottom: 0;
}

/* Gender question */
/* Yes/no question */
/* Bootstrap buttons layout */
.gender-button .btn-primary,
.yes-no .btn-primary,
.bootstrap-buttons-div .button-item {
  color: #333;
  background-color: #eee;
  border: 2px solid #FFF;
  border-radius: 6px;
}
.gender-button .btn-primary:active,
.gender-button .btn-primary.active:hover,
.gender-button .btn-primary:focus,
.gender-button .btn-primary.active,
.gender-button .btn-primary.active:focus,
.yes-no .btn-primary:focus,
.yes-no .btn-primary.active,
.yes-no .btn-primary.active:hover,
.yes-no .btn-primary.active:focus,
.bootstrap-buttons-div .button-item:focus,
.bootstrap-buttons-div .button-item.active,
.bootstrap-buttons-div .button-item:focus {
  color: #FFF;
  background-color: #8cc841;
  border: 2px solid #fff;
  opacity: 1;
  filter: alpha(opacity=1);
  background-image: none;
  transition: 0.125s ease-in-out;
}
.gender-button .btn-primary:hover,
.yes-no .btn-primary:hover,
.bootstrap-buttons-div .button-item:hover {
  color: #FFF;
  background-color: #8cc841;
  border: 2px solid #fff;
  opacity: 0.75;
  filter: alpha(opacity=75);
  background-image: none;
  transition: 0.125s ease-in-out; 
}

/* Bootstrap buttons layout */
/* 2019-04-05 Marcel: New CSS for bootstrap button layout */
.bootstrap-buttons-div
{
	padding: 0 5px;
}
.bootstrap-buttons-div .button-item {
    word-break: break-all;	/* remove this to not break words (wastes quite some space) */
    white-space: normal;
    padding: 0.5em 0.5em;
}

/* 5pt choice */
.choice-5-pt-radio li.radio-item {
  margin-right: 15px;
}

/* Slider question */
.slider-handle {
    background-color: #8cc841;
    background-image: -webkit-linear-gradient(top, #8cc841 0%, #6c9d31 100%);
    background-image: -o-linear-gradient(top, #8cc841 0%, #6c9d31 100%);
    background-image: linear-gradient(to bottom, #8cc841 0%, #6c9d31 100%);
}
.tooltip-inner {
  background-color: #333;
  text-align: left!important;
}
/* 2023-06-01 Marcel: More specific CSS for slider tooltips */
.numeric-multi .answer-item .slider-container .tooltip .tooltip-inner
{
    min-width: 1em;
}
.tooltip.top .tooltip-arrow {
     border-top-color: #333;
}
.slider-selection {
    background-image: -webkit-linear-gradient(top, #eee 0%, #ccc 100%);
    background-image: -o-linear-gradient(top, #eee 0%, #ccc 100%);
    background-image: linear-gradient(to bottom, #eee 0%, #ccc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eee', endColorstr='#ccc', GradientType=0);
}

.numeric-multi .ls-group-remaining .suffix-text.suffix {
    display: inline;
    margin-left: -15px;
}


/* Text questions */

/* Highlight text fields with main template color */
.form-control:focus {
    border-color: #000;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0,0,0, .6) !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0,0,0, .6) !important;
}

/* Print Page */
.url-wrapper-survey-print {
  margin: 15px 0;
}
.question-container-printanswers {
  border-bottom: 1px solid #ccc;
}

/* Footer */
footer .copyright {
	text-align: center;
  margin: 20px 0;
  font-size: 90%;
}

div.yes-no .btn-group label,
.gender .btn-group label {
    padding-top: 10px;
}

.completed-wrapper {
  margin-bottom: 45px;
  min-height: 200px;
 }

 /* Datepicker */

 .datepicker .active,
 .datepicker .today {
  background-color: #333 !important;
  background: #333 !important;
  color: #FFF !important;
 }

/* Index */
.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
  background-color: #04629a;
  color: #FFF;
}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  background-color: #eee;
}

.dropdown-menu > li > a {
  background-color: #fff;
  color: #000;
}
.index-top-right {
  text-align: right;
  padding: 0;
}
.index-top-right .dropdown-menu {
  right: 0;
  left: auto;
}
.index-top-right > li {
  list-style: none;
}
@media only screen and (max-width: 768px) {
  .index-top-right {
    padding: 15px 0;
  }  
}

/* Startpage */
.survey-list-heading,
.survey-list,
.survey-contact {
  text-align: center;
}
#surveys-list-container {
  background-color: #fff;
  padding: 45px 0;
}

/* Fix array alignment */
td.answer-item.radio-item {
    vertical-align: middle;
}

/* 2018-12-02 Marcel: Fix captcha width */
.captcha-image
{
    width: auto;
}

/* 2019-02-10 Marcel: Additional language changer adjustments */
#main-col form div.form-change-lang.form-inline
{
    display: none;
}


/* 2019-02-11 Marcel: Hide progress bar from certain screens */
.printanswers .header-wrapper .progress-wrapper,
.listsurveys .header-wrapper .progress-wrapper
{
    display: none;
}

/* 2019-03-11 Marcel: adjust margin to not show scroll bar at list survey page */
.listsurveys
{
    margin-right: 15px;
    margin-left: 15px;
}

/* 2019-02-11 Marcel: Remove background color from print version (PDF) */
body.printlayout
{
    background-color: #fff;
    padding: 10px !important;
}



/* START 2019-03-13 Marcel: Adjusted styles for "List surveys" screen */
.listsurveys
{
	border-bottom: 1px solid #000;
}

.listsurveys .header-wrapper
{
	margin-bottom: 0px;
}

.listsurveys .header-wrapper .navbar-brand
{
	display: none;
}

#surveys-list-container 
{
    padding: 0 0 45px 0;
    margin-top: 0px;
}

#surveyListFooter
{
	margin: 0px;
	padding: 0px;
	height: 0px;
}

.surveys-list .btn-group {
    margin: 0 auto;
    float: none;
}

.survey-contact.col-xs-12 {
    padding-top: 20px;
}
/* END 2019-03-13 Marcel: Adjusted styles for "List surveys" screen */




/* 2019-04-04 Marcel: Improved display for split up array questions */
@media only screen and (max-width: 760px), (max-device-width: 1024px) and (min-device-width: 768px)
{
    .table-hover > tbody > tr:hover, 
    tr.answers-list:hover, 
    .array-flexible-column tr.answers-list:hover {
        background-color: initial; 
        color: initial;
    }   
    tr.ls-odd, .array-flexible-column tr.answers-list:nth-child(even) {
        background-color: #f0f0f0;
    }
    
    table.ls-answers > tbody > tr:nth-child(even):hover {
        background-color: #f0f0f0;
    }
    
    table.ls-answers > tbody > tr:nth-child(odd):hover {
    	background-color: #fff;
	}


    
    table.ls-answers > tbody > tr td.answer-item.radio-item,
    table.ls-answers > tbody > tr td.answer-item.checkbox-item {
        border-bottom: 1px solid #ddd;
        padding-left: 30px;
        padding-top: 10px;
        padding-bottom: 0px;
    }
    
    td.answer-item.radio-item.answer_cell_ noanswer-item,
    td.answer-item.checkbox-item.answer_cell_ noanswer-item {
        border-bottom: 0px;
    }
    .array-flexible-row .ls-answers .answertextright {
        text-align: left;
    }
    
    table.ls-answers > tbody > tr.ls-heading-repeat
    {
        display: none;
    }
    
    table.ls-answers > tbody > tr th.answertext,
    table.ls-answers > tbody > tr th.answertextright {
        font-size: 120%;
    }
    
    
    
    table.ls-answers > tbody > tr td.radio-item:hover, 
    table.ls-answers > tbody > tr td.checkbox-item:hover {
	    color: #000;
	    background-color: #ddd;
	}
    
}

/* 2019-05-03 Marcel: Left align item text at multiplce choice with comment */
.multiple-opt-comments .checkbox-text-item .answer-item .checkbox-label
{
    text-align: left;
}


/* 2019-05-09 Marcel: Styles for Bootstrap tooltips */
span.tooltip
{
    cursor: pointer;
    text-decoration: underline;
    font-weight: bold;
    opacity: 1;
    font-size: inherit;
    position: initial;
    display: inline;
}


/* Add class "tooltipquestion" at the "Display" section of your question! */
.tooltipquestion li.radio-item label, 
.tooltipquestion li.checkbox-item label {
    width: 100%;
}

.answer-item .tooltip .tooltip-inner,
/* 2022-02-24 Marcel: Apply to array and other questions as well */
th.answertext .tooltip .tooltip-inner,
th.answer-text .tooltip .tooltip-inner,
.ls-answers tr.ls-heading th .tooltip .tooltip-inner,
.checkbox-item .tooltip .tooltip-inner
{
    /* 2022-02-24 Marcel: Define a min width because some question like multi choice use limited total width */
    min-width: 400px;
    /* 20230601 400px ois really to big, set at 1em */
    /*min-width: 1em;*/
    max-width: 75%;
    margin: auto;
}
/* Make sure sliders with tooltips still use same defaults */
.answer-item .slider .tooltip .tooltip-inner {
    max-width: initial;
}

/* Align modal on top */
.modal::before {
    height: auto;
    vertical-align: top;
}

/* Hide tip */
.ls-em-tip {
  display: block;
}
.ls-em-error {
  display: block;
}

/* Expand other text field */
@media only screen and (min-width: 768px) {
  .other-text-item {
    width: 50%;
  }
  .other-text-item .form-control {
    width: 100%;
  }
  .multiple-opt-comments .other-text-item .other-text {
    width: 200px;
  }
}
@media only screen and (max-width: 768px) {
  .multiple-opt-comments .other-text-item .other-text {
    margin-bottom: 15px;
  }
}

.popover{z-index:1650;}
.jexcel > thead > tr > td{z-index:999}
.jexcel.table > thead > tr > th, .jexcel.table > tbody > tr > th, .jexcel.table > tfoot > tr > th, .jexcel.table > thead > tr > td, .jexcel.table > tbody > tr > td, .jexcel.table > tfoot > tr > td {
    border-top:1px solid transparent;
    border-left:1px solid transparent;
    border-right:1px solid #ccc;
    border-bottom:1px solid #ccc;
}

#outerframeContainer {
    hyphens: none;
    word-wrap: none;
}

/* 2021-06-23: Add visual separator for dual scale questions */
 @media only screen and (min-width: 768px) {
	.array-flexible-dual-scale col.col-answers,
	.array-flexible-dual-scale col.separator,
	.array-flexible-duel-scale col.col-answers,
	.array-flexible-duel-scale col.separator {
		width: auto !important;
	}
	
	.array-flexible-dual-scale .header_separator,
	.array-flexible-dual-scale .dual_scale_separator,
	.array-flexible-duel-scale .header_separator,
	.array-flexible-duel-scale .dual_scale_separator {
		width: 4px !important;
		padding: 0 !important;
		background-color: grey;
		border-color: grey;
	}
}
td.hideEmptyColumn-hiddencolumn,th.hideEmptyColumn-hiddencolumn{
    overflow:hidden !important;
    border-spacing:0 !important;
    padding:0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
}
td.hideEmptyColumn-hiddencolumn *,th.hideEmptyColumn-hiddencolumn * {
    display:none;
}
.no-js .answer-item .set-inner{padding-left:3em}
.dir-ltr .answer-set-inner{margin-left:3em}
.dir-rtl .answer-set-inner{margin-right:3em}
.no-js .answer-item .set-inner-inner{padding-left:6em}
.dir-ltr .answer-set-inner-inner{margin-left:6em}
.dir-rtl .answer-set-inner-inner{margin-right:6em}


