/* Main CSS file
============================================ */

/* Beta label for initial release */
#site-section .site-section-banner .headline.headline-white::after {
  content: "Beta";
  font-size: 14px;
  text-transform: uppercase;
  vertical-align: super;
  background-color: #42a047;
  padding: 3px 9px;
  margin-left: 8px;
  border-radius: 2px;
}

/* mobile first - excludes aside */
#se-solution-engine .se-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
    grid-template-areas: "main"
                         "nav";
    min-height: 90vh;
    margin-top: -2.5rem;
    margin-bottom: -2.5rem;
    padding: 0;
}

#se-solution-engine .se-grid #wizard-main {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: main;
  padding: 1rem 2rem;
  border-right: 1px solid #e7e7e7;
  min-height: 100vh;
  min-width: 0;
}

#se-solution-engine .se-grid #wizard-navigation {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: nav;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem 1rem 1rem 3rem;
  background-color: #fff;
  border: 1px solid #e7e7e7;
  border-bottom: initial;
  border-left: initial;
  z-index: 999;
}

#se-solution-engine .se-grid #wizard-progress,
#se-solution-engine .se-grid #wizard-aside {
  display: none;
}

/* larger devices - add progress */
@media (min-width: 768px) {
  #se-solution-engine .se-grid {
      -ms-grid-columns: .1fr 2fr;
      grid-template-columns: .1fr 2fr;
      -ms-grid-rows: 1fr auto;
      grid-template-rows: 1fr auto;
      grid-template-areas: "progress main"
                           "progress nav";
  }

  #se-solution-engine .se-grid #wizard-progress {
    display: inline-block;
    grid-area: progress;
    border-right: 1px solid #e7e7e7;
    padding: .2rem;
  }
  #se-solution-engine .se-grid #wizard-main {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  #se-solution-engine .se-grid #wizard-navigation {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}

/* larger devices - add aside */
@media (min-width: 992px) {
  #se-solution-engine .se-grid {
      -ms-grid-columns: .4fr 2.5fr 1.5fr;
      grid-template-columns: .4fr 2.5fr 1.5fr;
      -ms-grid-rows: 1fr auto;
      grid-template-rows: 1fr auto;
      grid-template-areas: "progress main aside"
                           "progress nav aside";
  }

  #se-solution-engine .se-grid #wizard-main,
  #se-solution-engine .se-grid #wizard-navigation {
    border-right: initial;
  }

  #se-solution-engine .se-grid #wizard-aside {
    display: inline-block;
    grid-area: aside;
    background-color: #e7e7e7;
    padding: 1em;
  }

  #se-solution-engine .se-grid #wizard-aside .wizard-aside-content {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    padding: 2em 1em;
    max-width: 600px;
  }
  #se-solution-engine .se-grid #wizard-main {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  #se-solution-engine .se-grid #wizard-navigation {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  #se-solution-engine .se-grid #wizard-progress {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
}
@media (min-width: 768px) {
  #se-solution-engine .se-grid #wizard-progress {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
}
@media (min-width: 992px) {
  #se-solution-engine .se-grid #wizard-aside {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
  }
}

@media (min-width: 1350px) {
  #se-solution-engine .se-grid {
      -ms-grid-columns: 13.5% 2.5fr 2fr;
      grid-template-columns: 13.5% 2.5fr 2fr;
  }
}

@media (min-width: 1680px) {
  #se-solution-engine .se-grid {
      -ms-grid-columns: 20% 2.5fr 2fr;
      grid-template-columns: 20% 2.5fr 2fr;
  }
}


@media (min-width: 2000px) {
  #se-solution-engine .se-grid {
      -ms-grid-columns: 25% 2.5fr 2fr;
      grid-template-columns: 25% 2.5fr 2fr;
  }
}

/* Reorganize all of the CSS (prime example) */
#se-solution-engine .se-grid button.btn-app,
#se-solution-engine .se-grid .btn-app[role="button"] {
  padding: .375rem 1rem;
  border-radius: 4px;
}


/* Layout - progress section */
#se-solution-engine .se-grid #wizard-progress .wizard-progress-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    margin: 0;
    padding: 2.5rem 2rem;
    list-style: none;
}

.se-grid #wizard-progress .wizard-progress-content li {
    position: relative;
    padding-bottom: 1rem;
    width: 1.5rem;
}

.se-grid #wizard-progress .wizard-progress-content li::after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 11px;
    content: "";
    background-color: #8b8d8f;
    height: 1rem;
    width: 1px;
}

.se-grid #wizard-progress .wizard-progress-content li:last-child::after {
    display: none;
}

.se-grid #wizard-progress .wizard-progress-content li button {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #d2d2d2;
    border: 1px solid #d2d2d2;
    border-radius: 50%;
    padding: inherit;
}

.se-grid #wizard-progress .wizard-progress-content li.on button {
    background-color: #06c;
    border-color: #06c;
}

.se-grid #wizard-progress .wizard-progress-content li.next button,
.se-grid #wizard-progress .wizard-progress-content li.future button {
    background-color: #8b8d8f;
    border-color: #8b8d8f;
}

/* .se-grid #wizard-progress .wizard-progress-content li.next::after,
.se-grid #wizard-progress .wizard-progress-content li.future::after {
  background-color: #8b8d8f;
} */

.se-grid #wizard-progress .wizard-progress-content li.completed button {
  background-color: #06c;
  border-color: #06c;
}

.se-grid #wizard-progress .wizard-progress-content li.completed button::before {
  position: absolute;
  top: 6px;
  left: 6px;
  color: #fff;
  content: "\61";
  font-family: "portalicons";
  font-size: 12px;
  line-height: 1;
}

.se-grid #wizard-progress .wizard-progress-content li.completed::after {
  background-color: #06c;
}

.se-grid #wizard-progress .wizard-progress-content li button[disabled] {
  background-color: #d2d2d2;
  border-color: #8b8d8f;
  color: #8b8d8f;
}

.se-grid #wizard-progress .wizard-progress-content li.completed button[disabled]::before {
  color: #8d8e8f;
}

.se-grid #wizard-progress.section-disabled .wizard-progress-content li.completed::after {
  background-color: #d2d2d2;
}

/* Layout - main section */
#wizard-main > .wizard-main-section {
  min-height: 50vh;
  padding: 2rem 1rem;
  outline: none;
}

#wizard-main > .wizard-main-active-section {
  min-height: 90vh;
  outline: none;
}

#wizard-main > .visited-line,
#wizard-main > .togo-line {
  margin-bottom: 5rem;
} /* ONLY until step refactoring */

#wizard-main > .wizard-main-section > header {
  margin-bottom: 1.8rem;
}

.wizard-main-section header + p {
  margin-bottom: .65rem;
}


/* Layout - navigation section */
#se-solution-engine .se-grid #wizard-navigation button:first-child {
  margin-right: 1em;
}

#se-solution-engine .se-grid #wizard-navigation button:last-child {
  margin-left: auto;
}

/* Layout - aside section */
.wizard-aside-content header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
}

.wizard-aside-content header h3 {
  margin-bottom: 0;
}

.wizard-aside-content header h2 {
  margin-bottom: 0;
  font-size: 18px;
}

.wizard-aside-content header button {
  height: 28px;
  margin-left: auto;
  padding: 5px 1rem;
  border: 0;
  background: none;
}

.wizard-aside-content header button:hover,
.wizard-aside-content header button:focus {
  color: #06c;
}

.wizard-aside-content header button .fa {
  font-size: 20px;
}


/* Open Case section */
.open-case-product-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.open-case-product-wrapper .open-case-product {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 78%;
          flex: 1 0 78%;
  padding-right: 1em;
}

.open-case-product-wrapper .open-case-version {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 22%;
          flex: 1 0 22%;
}


/* Case Create section */
#case-create button {
    display: block;
}

#case-create button:last-child {
    margin-top: 1.5rem;
    padding: 0;
}


/* Shared */
.unstyled-list {
  list-style-type: none;
  padding-left: 0;
}

.inline-link {
  margin-left: 5px;
}

.btn.btn-app.btn-primary {
  background-color: #06c;
  border-color: #06c;
}

.btn.btn-app[disabled] {
  background: #d1d1d1;
  border-color: #d1d1d1;
  color: #8d8d8d;
}

button.cta-link {
  background: none;
  border: 0;
}

.spinner.spinner-lg {
  margin: 15% auto 0;
}

form .form-group {
  margin-bottom: 1.5rem;
}

form .form-required {
  color: #c9190b;
}

form input[type="text"],
form textarea.form-control,
form .form-control {
  border-color: #ededed;
  border-bottom-color: #8b8d8f;
}

form input[type="text"]:hover,
form input[type="text"]:focus,
form textarea.form-control:hover,
form textarea.form-control:focus  {
  border-bottom-color: #06c;
}

form textarea {
  resize: vertical !important;
}

form .form-group .form-control.form-invalid {
  border-bottom-color: #c9190b !important;
  border-bottom-width: 2px;
}

form .form-group .form-control.form-invalid + .form-instructions,
.form-instructions.form-invalid {
  color: #c9190b !important;
  font-size: 14px;
}

form .form-group .form-control[disabled] {
  border: 0;
  border-bottom: 1px solid #a5a7a9;
}

form .form-group .form-control.form-invalid[disabled] {
  border-bottom-color: #a5a7a9 !important;
}

input[type="checkbox"] {
  margin: 0 10px 0 0;
}

.form-instructions {
  margin-top: .3125em;
  color: #333;
}

.dropdown-select {
  height: initial;
  border-color: #ededed;
  background-color: #fff;
  border-color: #ededed;
  border-bottom-color: #252525;
}
.dropdown-select:hover,
.dropdown-select:focus {
  border-bottom-color: #06c;
}
.dropdown-select > select.form-invalid,
.dropdown-select > select.form-invalid  {
  border-bottom-color: #c9190b;
}


/* Notification styles */

.se-notification {
  margin: 0 0 1.5rem 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 1.1rem 1rem;
  border: 1px solid #e7e7e7;
  border-left: 0;
  -webkit-box-shadow: -4px 0px 0px 0px #06c;
          box-shadow: -4px 0px 0px 0px #06c;
  background-color: #fff;
  line-height: 1.4;
}

.se-notification .se-notification-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 6%;
          flex: 0 1 6%;
  color: #004b70;
  font-size: 18px;
  padding: 0 12px 0 0;
}

.se-notification .se-notification-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.se-notification .se-notification-body .se-notification-heading {
  margin-bottom: 8px;
  font-size: 1rem;
  font-weight: 600;
}

.se-notification .se-notification-body a.se-notification-heading {
  font-weight: 500;
}

.se-notification .se-notification-body .se-notification-desc {
  margin-bottom: 0;
  padding-right: 1em;
  font-size: 15px;
}

/* Bandaid for bad HTML - needs to be fixed */
.se-notification .se-notification-body .se-notification-desc > * {
  margin: 0;
  padding: 0;
}

.se-notification .close {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 5%;
          flex: 0 1 5%;
  font-size: 25px;
  opacity: .6;
  padding: 0 5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}


/* More or less feature */

.more-less-wrapper {
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
  transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
}

.more,
.less {
  padding: 10px 0 !important;
  font-weight: bold;
  cursor: pointer;
}

.more::after,
.less::after {
  margin-left: 8px;
  font-family: 'FontAwesome';
  color: #06c;
}

.more::after {
  content: '\f103';
}

.less::after {
  content: '\f102';
}

.text-error {
  margin-top: 1rem;
  color: #c9190b !important;
}

.open {
  max-height: none !important;
  overflow-y: visible;
}

.more-less-wrapper:not(.open)::after {
  content: "";
  position: absolute;
  bottom: 50px;
  height: 50px;
  width: 100%;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,0)),to(#ffffff));
  background-image: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,#ffffff 100%);
  background-image: linear-gradient(to bottom, rgba(255,255,255,0) 0%,#ffffff 100%);
  display: block;
  background-size: 100%;
}

#review h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
         align-items: center;
}

#review [role="button"] {
  padding: 0 !important;
  margin-left: auto;
}

#review .list-flat pre {
  margin-bottom: .5rem;
  padding: .2rem 0;
  background-color: transparent;
  border: 0;
  font-family: "Red Hat Text","Overpass",Helvetica,sans-serif !important;
  font-size: 16px;
  line-height: 1.5em;
  max-height: 150px;
  overflow-y: hidden;
}

/*
  Note: Set all icons to fixed spacing (review right / left)
  -  Remove this after you do that
*/
.m-l-1 {
    margin-left: 5px;
}

.pf-tippy-theme.tippy-tooltip .pf-c-popover {
  background-color: #fff;
  -webkit-box-shadow: rgba(3, 3, 3, 0.05) 0px 1px 1px 0px, rgba(3, 3, 3, 0.06) 0px 4px 8px 4px;
          box-shadow: rgba(3, 3, 3, 0.05) 0px 1px 1px 0px, rgba(3, 3, 3, 0.06) 0px 4px 8px 4px;
}

.pf-tippy-theme.tippy-tooltip .pf-c-popover .pf-c-popover__body > * {
  margin-bottom: 0;
}

/* test and remove */
.pf-c-popover__content > .pf-c-button + * {
  padding: 1rem;
  word-wrap: break-word;
}

.pf-tippy-theme.tippy-tooltip .pf-c-popover .pf-c-button {
  position: absolute;
  top: 8px;
  right: 2px;
  color: rgb(114, 118, 123);
  padding: 4px 14px;
  background: none;
}

.pf-tippy-theme.tippy-tooltip .pf-tippy-theme {
  max-width: calc(20.25rem);
  -webkit-transition-duration: 325ms;
          transition-duration: 325ms;
}

/* For allowing clickable links inside popover */
.pf-tippy-theme.tippy-tooltip .tippy-content {
  pointer-events: initial !important;
}

.pf-tippy-theme.tippy-tooltip .pf-c-popover .pf-c-popover__content {
  position: relative;
  background-color: #fff;
  padding: 1.5rem;
  font-size: 16px;
}

.pf-tippy-theme.tippy-tooltip  .pf-c-popover .pf-c-popover__arrow {
  position: absolute;
  width: 25px;
  height: 25px;
  background-color: rgb(255, 255, 255);
  -webkit-box-shadow: rgba(3, 3, 3, 0.05) 0px 1px 1px 0px, rgba(3, 3, 3, 0.06) 0px 4px 8px 4px;
          box-shadow: rgba(3, 3, 3, 0.05) 0px 1px 1px 0px, rgba(3, 3, 3, 0.06) 0px 4px 8px 4px;
}

/* move this */
#support-level-wrapper,
#severity-wrapper {
  width: 46%;
  display: inline-block;
}

#severity-wrapper {
  float: right;
}

#wizard-main .wizard-main-section#suggestions .se-notification {
  margin: 0 5px 2rem;
}

.secured-support {
  width: 100%;
  background-color: orange;
  color: #252525;
  font-weight: 800;
  padding: .1rem .3rem;
  margin-left: 0.5rem;
}

.list-flushleft li {
  margin-bottom: .5em;
}

.list-flushleft li:last-child {
  margin-bottom: 0;
}
