.zf-green {
    color: #68b604;
}

.mtop10{margin-top: 10px;}
.mtop20{margin-top: 20px;}
.mtop50{margin-top: 50px;}

.btn-success {
  background-color: #57a900;
  background-image: -moz-linear-gradient(top, #70d900, #57a900);
  background-image: -ms-linear-gradient(top, #70d900, #57a900);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#70d900), to(#57a900));
  background-image: -webkit-linear-gradient(top, #70d900, #57a900);
  background-image: -o-linear-gradient(top, #70d900, #57a900);
  background-image: linear-gradient(top, #70d900, #57a900);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#70d900', endColorstr='#57a900', GradientType=0);
}

.width30{width: 30%;}
.width70{width: 70%;}

.white-background{background-color: white;}

.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
  background-color: #57a900;
}

.btn-success:active, .btn-success.active {
  background-color: #57a900;
}

div.container a.brand {
    background: url("../img/zf2-logo.png") no-repeat scroll 0 10px transparent;
    margin-left: 0;
    padding: 8px 20px 12px 40px;
}
.page-wrapper{
    background-color:  white;
    overflow:hidden;
    box-shadow: 0px 0px 10px 0px #999;

    margin-top:  225px;
}
.container{
  min-width:1000px;

}

table .input-group-addon, .input-group-btn{
    width: auto;
}

.legal-cost-remove{
    margin-left: 10px;
    margin-right: 0px;
}


.direct{
    background-color: #F7B081;
}

.direct input.form-control{
    background-color: #FBCCAB;
}

.direct .input-group-addon{
    background-color: #FBCCAB;
}
th.direct,
td.direct{
    background-color: #FBCCAB;
}

.wet {
    background-color: #B6A3CF;
}

.wet input.form-control{
    background-color: #CEC2E1;
}

.wet .input-group-addon{
    background-color: #CEC2E1;
}
th.wet,
td.wet{
  background-color: #CEC2E1;
}

button.btn.disabled{
  pointer-events: all;
  cursor: pointer;
}

body{
  background-color:  #DCDCDC;
  font-family: "Segoe UI Regular", "Arial";
  font-style: normal;
  font-weight: 500;
}

/* Sizes */
body, .form-control, .btn{
  font-size: 12px;
}

/** FEEDBACK **/
.feedback{
  cursor: pointer;
  border-bottom-left-radius: 32px;
  border-top-left-radius: 32px;
  color: #DFEEF8;
  right: 0;
  position: fixed;
  paddinG: 10px;
  background-color: #7BA5D7;
  z-index: 1000;
}

.feedback-icon{
  display: block;
  width: 24px;
  margin: 0 auto;
  font-size: 24px;
}

.feedback-text{
  font-size: 20px;
}

.feedbackModal .required{
  color: red;
}

/** YOUTUBE **/
.youtubeTutorial{
  cursor: pointer;
  border-bottom-left-radius: 32px;
  border-top-left-radius: 32px;
  right: 0;
  position: fixed;
  padding: 10px;
  background-color: #7BA5D7;
  z-index: 1000;
}

.youtubeTutorial a,
.youtubeTutorial a:hover,
.youtubeTutorial a:focus,
.youtubeTutorial a:visited{
  color: #DFEEF8;
  text-decoration: none;
}

.youtube-icon{
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto 10px auto;
  font-size: 48px;
}

.youtube-text{
  font-size: 20px;
}

.feedbackModal .required{
  color: red;
}

.btn-process-cost{
  font-size: 11px;
  width: 100%;
  word-wrap: break-word;
  white-space: normal;
  cursor:pointer;
}

.noscroll { overflow: hidden; }

.fixedHeaderHidden{
  height: 0px;
  overflow: hidden;
}

.fixedHeader{
    position: fixed;
    background-color: #fffaf0;
    top: 53px;
    left: 0;
    right: 0;
    z-index: 5;
    padding-top: 20px;
    transition: top 0.6s ease-in-out;
    height: 260px;
    display: block;
    border-bottom: 3px solid #e7e7e7;
}

.fixedHeader .form-group{
  margin-bottom: 5px;
}

.fixedHeader legend{
  margin-bottom: 10px;
}

.overlay-switch{
  font-size: 50px;
  position: absolute;
  top: 20px;
  right: 50%;
  cursor: pointer;
}

.navbar-nav>li>label{
  padding-top: 12px;
  padding-bottom: 15px;
  vertical-align: middle;
}

@media(max-width: 1024px){
  .fixedHeader, .overlay-switch{
    display: none;
  }
}

/*

    MEGGLE-PHARMA design 
 */

/*
    GENERAL
 */

.wet-half{
  border-right:3px solid white;
}
.direct-half{
  border-left:3px solid white;
}
small{
  color:#888;
}
input[disabled]{
  -webkit-opacity:1;
}
.modebar{
  display:none !important;
}

/* shortens long words with "..." */
.text-truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/*
    Navigation

 */
.meggle-logo{
  width:110px;
  top:15pt;
  left:-20px;
  position:relative;
  margin:auto;
}

.navhead{
  background-color:#D2D2D2;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:50;
  padding:4pt 2pt 0pt 2pt;
}

.navhead2{
  background-color:#D2D2D2;
  position:fixed;
  top:125px;
  left:0;
  width:100%;
  z-index:50;
  padding:4pt 2pt 0pt 2pt;
}

.navhead .static-text{
  /*text-decoration:underline;*/
}
.headerPlaceholder{
  margin-top:100px;
}
.navi-icons{
  font-size:20pt;
  margin-top:20px;
}
.navi-icons .glyphicon{
  cursor:pointer;
}
.step{
  height:90pt;
  width:90pt;
  border-radius:50%;
  background-color:white;
  display:inline-block;
  color:#286BB2;
  font-weight:bold;
  position:relative;
  overflow:hidden;
  background-color:#ACCBEB;
  font-size:  14px;
  word-break: break-all;
  word-wrap:  break-word;
  padding:10pt;
  padding-top:  30px;
}
.step:hover{
  color:black;
}
.centerit{

  text-align:center;
}
.step.active{
  color:black;
  border:5px solid red;
  font-size:  14px;
}
.step .heading{
  position:absolute;
  bottom:0px;
  left:0px;
  display: inline-block;
  width:100%;
  background-color:#D9EAF9;
  padding:4pt 0pt 6pt;
  font-size:  14px;
}
.step .text{
  display: inline-block;
  padding:2pt;
}

/*
    STEP 1
 */
.h2{
  display:block;
  text-align:center;
  background-color: #929292;
  color: white;
  line-height:20pt;
  font-size:18pt;
  padding:2pt;
  font-weight:bold;
}
.h3{
  text-align:center;
  background-color: #6F9DD4;
  color: white;
  line-height:15pt;
  font-size:13pt;
  padding:6pt;
  font-style: italic;

}

.form-control{
    border: 2px solid #2A7CC0;
    border-radius: 12px 12px 12px 12px;
    padding:2pt 2pt 2pt 5pt;
}
.form-control:focus{
  border: 2px solid #6F9DD4;
}
.input-group-addon{
    border: 2px solid #0061AD;
    border-radius: 12px 12px 12px 12px;
    background-color:transparent;
    padding:3pt 3pt;
}

.feedbackModal .form-control {
  padding: 6px 12px;
  border: 1px solid #cccccc;
  border-radius: 4px;
}

.feedbackModal .form-control:focus {
  border-color: #66afe9;
}

.btn{
  border-radius: 12pt;
  padding:5pt 8pt;
  line-height:12pt;
}
.btn-primary{
  background-color: #0061AD;
  box-shadow: none;
  background-image:none;
  
}

.table-responsive table{
  margin-top:5pt;
  color: black;
}
.list-group{
  border: 2px solid #0061AD;
  border-radius: 12px;

}
.list-group-item{
  border:unset;
  background-color:unset;
  padding:3pt;
}
.list-group-item:first-child{
  border-bottom:1px solid #0061ad;
}

.progress-box{
  margin: unset;
  margin-top:8pt;
}
/* Slider button */
.progress-bar-slider .inner:after {
    content: " ";
    width: 14pt;
    height: 14pt;
    background-color: #2A7CC0;
    position: absolute;
    right: -3pt;
    top: -3pt;
    border: 1pt solid #bbb;
    border-radius: 14pt;
    box-shadow: 0pt 0pt 2pt white;
    margin: 0pt;
}

/*
        STEP 2
 */
.step2 .wet-half,
.step2 .direct-half{
  width:50%;
}
.step2 .wet-half{
  padding-right:0;
}
.step2 .direct-half{
  padding-left:0;
}

.summary{
  margin-top:10pt;
}
tr.disabled .wet,
tr.disabled .direct{
  background-color:#eee;
  color:#333;
}
.double-stroke-border-top{
  border-top:3px double #ddd !important;
}
.double-stroke-border-top-black{
  border-top:3px double #000 !important;
}
.no-top-left-border{
  border-top:none !important;
  border-left:none !important;
  border-right:none !important;
}
.no-border{
  border:none !important;
}
.table-bordered{
  border:none;
}

.summary .h4{
  border: 1px solid #0061AD;
  display:inline-block;
  
  font-weight:bold;
  font-size:10pt;
  font-style:italic;
  height:100%;
  width:100%;
  padding:4pt;

}

.summary .header,
.processcost .header{
  display:block;
  line-height:14pt;
  font-size:12pt;
  padding:2pt;
  font-weight:bold;
  color:white;
  margin:4pt 0pt 0pt;
}
.processcost .header{
  border:none;
}

.wetHeader{
  background-color: #8967AA;
}
.directHeader{
  background-color:#EE722F;
}
.summary .header.wet,
.processcost .wet .header,
.step4 .wet.header{
  background-color:#8967AA;
}
.summary .header.direct,
.processcost .direct .header,
.step4 .direct.header{
  background-color:#EE722F;
}
.mgtablet{
  min-width:77px;
}
.totalweight{
  min-width:107px;
}
.totalprice{
  min-width:90px;
}

.sumTotalWeight, .sumTotalPrice{
  min-height: 50px;
  max-height: 50px;
  overflow: hidden;
  text-overflow: ellipsis;;
}

.wet-half table tr th,
.direct-half table tr th{
  vertical-align: top !important;
}

  /*
      SUMMARY
   */
.summary .group{
  display:block;
  font-size:10pt;
}
.summary .group .calculated{
  width:70%;
  display:inline-block;
  
  margin-bottom:0pt;
}
.summary .group .entity{
  display:inline-block;
  text-align:center;
  font-weight:bold;
  border-left:1px solid white;
  padding:2pt;
}
.table-heading div{
  height:28pt;
  line-height:30pt;
}
hr {
  margin-top: 5pt;
  margin-bottom: 5pt;
  border: 0;
  border-top: 1px solid #eee;
}

/*
    STEP 3
 */
.processcost{
  padding-left:15px;
  padding-right:15px;
  margin-top:10pt;
}
.processcost .wet-half:before{
  width:20pt;
  background-color:red;
  height:100pt;
  z-index:6;
  position:absolute;
}

.processcost .spreader{
  position:relative;
}

.process-step{
  height:60pt;
  position:relative;
}
.process-step:before{
  content: ' ';
  width: 3pt;
  background-color: red;
  position: absolute;
  height: 60pt;
  left: 20pt;
  top: 4pt;
}
.process-step:last-child:before{
  height:0pt;
}
.process-step:after{
  content: ' ';
}
.process-step .delete-mockup,
.process-step .add-mockup{
  position:absolute;
  z-index:10;
  background-color:white;
  text-align:center;
  cursor:pointer;
}
.process-step .add-mockup{
  bottom:0px;
  left:7px;
  width:24px;
  height:24px;
  border-radius: 12px;
  font-size:15px;
  line-height: 24px;
  background-color:green;
  color:white;
  padding-left:1px;

}
.process-step .delete-mockup{
  top:-2px;
  right: 8px;
  background-color:red;
  color:white;
  
  width:14px;
  height:14px;
  border-radius: 7px;
  font-size:10px;
  line-height: 15px;

}

.process-step .header{
  text-align:left;
  position:relative;
  padding-left:  5px;
  z-index:1;
}
.process-step .ellipsis {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.overview{
  width:85%;
  height:20pt;
  margin:auto;
  background-color: #CDC3C0;
  border: 1px solid #0061ad;
}
.overview div{
  height:100%;
  display:inline-block;
  border: 1px solid #0061ad;
  margin: 0;
  padding:2pt;
  border-collapse: collapse;
}
/*
    input-panel
 */
.directPanel,
.wetPanel{
  position:absolute;
  width:100%;
  padding-right:30px;
  margin-top:4pt;
  z-index:2;
}
.directPanel input[disabled],
.directPanel input[disabled] + div.input-group-addon,
.wetPanel input[disabled],
.wetPanel input[disabled]+ div.input-group-addon{
  background-image: linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);
  background-repeat: repeat-x;
}
.inputPanel .panel-heading{
  cursor:pointer;
}
.inputPanel .panel-heading .stepname{
  display:inline-block;
  width:90%;
  text-align:center;
}
.btn-process-cost .renamefield{
  display:inline-block;
  width:85%;
  color:  black;
}
.btn-process-cost .accept{
  width:11%;
  text-align:center;
}


.inputPanel .panel-body{
  transition: 0.2s all ease;
  padding: 0px 15px;
  max-height:0pt;
  overflow:hidden;
}
.inputPanel.open .panel-body{
  padding: 15px 15px;
  max-height:1000pt;
}

.inputPanel .footer-button{
  width:100%;
  margin-bottom:5pt;
}

.directPanel .col-sm-12,
.wetPanel .col-sm-12{
  margin-top:10pt;
}


/*
        Visualisation
 */

/*
      SLIDE IN
 */
.slide-in{
  transition:all 0.2s ease, top 0.05s linear;
  position:absolute;
  top:64px;
  z-index:15;
  width:27px;
  min-height:200px;
  overflow:hidden;
  height:650px;
  background-color:transparent;
}
.slide-in.open{
  width:50%;
}

.slide-in .graphs{
  transition:all 0.2s ease;
  width:0px;
  min-height:200px;
  overflow:hidden;
  padding:0pt;
  background-color:white;
  height:100%;
}
.slide-in.open .graphs{
  width:calc(100% - 10px);
}
.slide-in .toggle-area{
  height:200px;
  width:27px;
  position:absolute;
  cursor:pointer;
  background-color:white;
  user-select: none;
  -webkit-user-select: none;
}
.slide-in .toggle-area .text{
  -moz-transform: translateX(-50%) translateY(-50%) rotate(90deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
  transform:  translateX(-50%) translateY(-50%) rotate(90deg);
  top: 50%;
  left:50%;
  position: absolute;
  font-size:15px;
  width:300px;
  text-align:center;
}

.js-plotly-plot .plotly,
.js-plotly-plot .plotly div{
  margin:auto !important;
}

/*
      slide-in WET
 */
.slide-in.wet{
  left:-2px;
}
.slide-in.wet.open{
}
.slide-in.wet .graphs{
  float:left;
  border:2px solid #0061AD;
  padding-top:10pt;
  padding-right:0pt;
  padding-bottom:10pt;
  padding-left:10pt;
}
.slide-in.wet .toggle-area{
  float:right;
  right:0px;
  border:2px solid #0061AD;
  border-radius: 0pt 15pt 15pt 0pt;
}
/*
      slide-in DIRECT
 */
.slide-in.direct{
  right:0px;
}
.slide-in.direct .graphs{
  float:right;
  padding-top:10pt;
  padding-right:10pt;
  padding-bottom:10pt;
  padding-left:0pt;
}
.slide-in.direct.open .graphs{
  border:2px solid #0061AD;
  width:calc(100% - 12px);
}
.slide-in.direct .toggle-area{
  float:left;
  left:2px;
  border: 2px solid #0061ad;
  border-radius: 15pt 0pt 0pt 15pt;
}


.visualisation{
  transition:all 1s;
  border: 2px solid #0061ad;
  border-radius: 15pt 15pt 15pt 15pt;
  overflow:hidden;

}
.visulisation.open{
  border-radius: 30pt 30pt 0pt 0pt;
}
/* Graph div*/
.visualisation .graphs{
  transition: all 1s ease;
  max-height:0pt;
  opacity: 0;
}
.visualisation.open .graphs{
  max-height:1000pt;
  opacity: 1;
}
.visualisation .graph{
  margin-top:15pt;
  height:340pt;
}
/* toggle-button above*/
.visualisation .toggle-area{
  transition: all 1s ease;
  text-align:center;
  height:30pt;
  font-size:20pt;
  cursor:pointer;
  border-bottom:0px solid #0061ad;
}
.visualisation.open .toggle-area{
  border-bottom:1px solid #0061ad;
}

/*
          STEP 4
*/

.step4{
   padding-left:15px;
   padding-right:15px;
}
.step4 .h4{
  margin-top:15px;
}
.step4 .graph{
  padding-left:30px;
}
.step4 .wet,
.step4 .wet.heading{
   border-right:3px solid white;
}

.step4 .direct,
.step4 .direct.heading{
   border-left:3px solid white;
}
.step4 .heading{
  border-right:none;
  line-height: 14pt;
  font-size: 12pt;
  font-weight: bold;
  color: white;
  margin: 6pt 0;
  padding:8pt 5pt;
}
.step4 .heading.wet{
  background-color: #9E84BC;
}
.step4 .heading.direct{
  background-color: #EE722F;
}
.step4 .costs-total{
  margin-bottom:20pt;
}
.step4 .equalize-tables{
  height:160px;
}
.step4 .toggleableGraph{
  max-height:143px;
  overflow:hidden;
  margin-bottom:40px;
  transition: .4s all;
}
.step4 .toggleableGraph.open {
  max-height:500px;

}
.step4 .toggle-open-button{
  position:absolute;
  top:60px;
  left:100px;
}

.step4 .costList {
  list-style:none;
}
.step4 .comparison{
  background-color: #EE722F;
  height:170px;
  padding-top: 1px;
  color: white;
} 
.step4 .comparison .heading{
  margin: 10px;
  background-color: white;
  color:darkgrey;
  border: 2px solid black;
}
.step4 .comparison .glyphicon,
.step4 .comparison .fa{
  left:25px;
  position:relative;
}
.step4 .comparisonPlaceholder{
  height:170px;
}



/**
 * Modal
 */

.modal-wrapper{
  padding:0 20px 20px;
  text-align:center;
}

.header-label{
  word-wrap:  break-word;
}

.information-overlay{
  position:  fixed;
  top:  0;
  margin:  0 auto;
  z-index:  50;
}

.text-logo{
  background-color: #286BB2;
  width:  48%;
  font-size: 34px;
  border-radius: 50px;
  padding:  5px;
  padding-left:  20px;
  color:  white;
  font-weight: bold;
  position:  absolute;
}

.optimize-text{
  display:  inline-block;
  padding:  10px;
  font-size: 22px;
  border-radius: 50px;
  background-color:  white;
  color: #286BB2;
  font-weight:  normal;
  text-transform: uppercase;
  float:  right;
}

.information-block-overlay{
  background-color: #7BA5D7;
  color:  white;
  width:  93%;

  float:  right;
  border-top-right-radius: 50px;
  border-bottom-left-radius: 50px;
  margin-top:  35px;
  padding: 10px;
  padding-top:  30px;
}

.information-block{
  width:  28%;
  float:  left;
}
.information-block .control-label{
  width:  110px;
}
.action-icons{
  width:  15%;
  float:  left;
  margin-left:  3%;
  margin-top: 15px;
}
.current-state-bubbles{
  width:  54%;
  float:  left;
  margin-top:  -20px;
}

.information-text{
  height:  34px;
  line-height: 34px;
}

.information-text input,
.information-text .input-group-addon{
  color:#286BB2;
}

.information-text input.form-control[disabled]{
  background-color:  white;
}

.information-text .input-group-addon{
  background-color:  white;
  padding: 0px 10px;
}

.action-icons i{
  font-size:  26px;
  cursor:  pointer;
  margin:  5px 9px;
  color: #DFEEF8;
}

.current-state-bubbles .bubble{
  width:  24%;
  margin-left: 1%;
  float:  left;
}

.data-protection label{
  line-height: 22px;
}

.select2-container * {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

#select2-drop {
  border-top: 1px solid #aaa;
  border-radius: 10px;
  padding-top: 7px;
  margin-top: 5px
}

#select2-drop input {
  border-radius: 10px;
}

.select2-container .select2-choice div b::after {
  font-family: 'FontAwesome';
  content: "\f078";
  font-weight: 200;
}

.select2-container a{
  outline: none !important;
}



@media (min-device-width: 1025px) {
  /* not strictly necessary, just an experiment for
     this specific example and couldn't be necessary
     at all on some browser */
  .noscroll {
    padding-right: 15px;
  }
}

@media(max-width: 992px){
  .information-overlay{
    width: 1000px;
  }
  .information-block-overlay{
    width: 93%;
    margin-left: 2%;
    float: left;
  }
  .text-logo{
    width: 46%;
    font-size: 24px;
    padding: 5px;
    padding-left: 2%;
  }
  .optimize-text{
    font-size: 18px;
    padding: 5px;
  }
  .step{
    height: 80pt;
    width: 80pt;
    font-size: 11px;
    padding-top: 20px;
  }
  .step .heading{
    padding: 4pt 0pt 12pt;
    font-size: 12px;
  }
}
@media(min-width: 992px){
  .feedback{
    top: 210px;
  }

  .youtubeTutorial{
    top: 300px;
  }

  .information-overlay{
    width: 1000px;
  }
  .information-block-overlay{
    margin-left: 0%;
    float: right;
  }
  .text-logo{
    width: 46%;
    font-size: 24px;
    padding: 5px;
    padding-left: 2%;
  }
  .optimize-text{
    font-size: 18px;
    padding: 5px;
  }
  .step{
    height: 80pt;
    width: 80pt;
    font-size: 11px;
    padding-top: 20px;
  }
  .step .heading{
    padding: 4pt 0pt 12pt;
    font-size: 12px;
  }
}

@media(min-width: 1200px){
  .information-overlay{
    width: 1170px;
  }
  .text-logo{
    width: 48%;
    font-size: 34px;
    padding: 5px;
    padding-left: 1.5%;
  }
  .optimize-text{
    padding:  10px;
    font-size: 22px;
  }
  .step{
    height: 90pt;
    width: 90pt;
    font-size: 14px;
    padding-top: 30px;
  }
}

@media(min-width: 1400px){
  .feedback{
    top: 35px;
  }
  .youtubeTutorial{
    top: 155px;
  }
}
