  /* --------------- */
  /* Global          */
  /* --------------- */

  a:not([class]) {
      color: inherit !important;
      border-bottom: 2px solid #ee1c24 !important
  }

  a:not([class]):hover {
      color: inherit !important;
      border-bottom-width: 3px !important;
      font-weight: bolder !important
  }

  .hidden.menu {
      display: none
  }

  .masthead.segment {
      min-height: 700px;
      padding: 1em 0
  }

  .masthead .logo.item img {
      margin-right: 1em
  }

  .masthead .ui.menu .ui.button {
      margin-left: .5em
  }

  .masthead h1.ui.header {
      margin-top: 3em;
      margin-bottom: 0;
      font-size: 4em;
      font-weight: 400
  }

  .masthead h2 {
      font-size: 1.55em;
      font-weight: 400
  }

  .ui.vertical.stripe {
      padding: 8em 0
  }

  .ui.vertical.stripe h3 {
      font-size: 2em
  }

  .ui.vertical.stripe .button+h3,
  .ui.vertical.stripe p+h3 {
      margin-top: 3em
  }

  .ui.vertical.stripe .floated.image {
      clear: both
  }

  .ui.vertical.stripe p {
      font-size: 1.25em
  }

  .ui.vertical.stripe .horizontal.divider {
      margin: 3em 0
  }

  .quote.stripe.segment {
      padding: 0
  }

  .quote.stripe.segment .grid .column {
      padding-top: 5em;
      padding-bottom: 5em
  }

  .footer.segment {
      padding: 5em 0
  }

  .secondary.pointing.menu .toc.item {
      display: none
  }

  .ui.vertical.stripe p {
      font-size: 20px
  }

  .ui.vertical.stripe h3 {
      font-size: 30px
  }

  .main-header-subtext {
      font-weight: 400 !important;
      font-size: 1.25em !important;
      margin-bottom: 1.75rem
  }


  @media only screen and (max-width:700px) {
      .ui.fixed.menu {
          display: none !important
      }

      .secondary.pointing.menu .item,
      .secondary.pointing.menu .menu {
          display: none
      }

      .secondary.pointing.menu .toc.item {
          display: block
      }

      .masthead.segment {
          min-height: 350px
      }

      .masthead h1.ui.header {
          font-size: 2em;
          margin-top: 1.5em
      }

      .masthead h2 {
          margin-top: .5em;
          font-size: 1.3em
      }
  }

  .ui.primary.segment {
      background-color: #195a65 !important;
      color: #fff !important
  }

  .ui.primary.segment h1,
  .ui.primary.segment h2,
  .ui.primary.segment h3,
  .ui.primary.segment h4 {
      color: #fff !important
  }

  .highlight {
      font-size: 1.37em !important
  }

  .rounded-left {
      border-radius: 4rem 0 0 4rem
  }

  .rounded-right {
      border-radius: 0 4rem 4rem 0
  }

  .segment.inverted .header {
      color: #fff
  }

  .ui.inverted.link.list a.item {
      font-size: 20px;
      border-bottom: 2px solid #ee1c25;
      display: table;
      color: inherit
  }

  .ui.inverted.link.list a.item:hover {
      border-bottom-width: 3px !important;
      font-weight: bolder !important;
      color: inherit
  }

  .front-page-ksps {
      width: 100%;
      max-width: 1215px;
      display: flex !important;
      justify-content: center;
      flex-direction: column
  }

  .front-page-ksps .item {
      width: 100%;
      margin: 0 !important;
      padding: 20px 4% !important;
      text-align: center;
      display: flex !important;
      flex-direction: column
  }

  .front-page-ksps .item .emoji {
      font-size: 2em;
      padding-bottom: .25em
  }

  .front-page-ksps .item .header {
      font-weight: 400 !important
  }

  @media(min-width:768px) {
      .front-page-ksps {
          flex-direction: row
      }

      .front-page-ksps .item {
          width: calc((100% / 3) - .6%) !important
      }
  }

  @media(max-width:991px) {
      .ui.horizontal.cards>.card>.image {
          width: 100% !important;
          height: 150px !important
      }
  }

  .main-desc.truncated {
      font-size: 20px
  }

  .ui.vertical.segment {
      margin-top: -1px
  }

  @media(min-width:991px) {
      .ui.text.container {
          max-width: 927px !important
      }
  }

  .contact-methods-wrapper {
      margin: 20px 0 35px 0
  }

  /* --------------- */
  /* FAQ section     */
  /* --------------- */

  #FAQlist .description {
      display: none
  }

  #FAQlist .item.active .description {
      display: block
  }

  #FAQlist .item {
      padding: 14px 0 13px 0
  }

  #FAQlist .item .content {
      margin-right: -70px;
      padding-right: 35px
  }

  #FAQlist>.item:first-of-type {
      padding-top: 0
  }

  #FAQlist>.item:last-of-type {
      padding-bottom: 60px
  }

  #FAQlist .item.active .header {
      font-weight: bolder !important
  }

  #FAQlist a.header {
      font-weight: 400 !important;
      font-size: 20px !important;
      line-height: 24px
  }

  #FAQlist a.header:hover {
      color: #fff !important;
      font-weight: bolder !important
  }

  #FAQlist .question.icon {
      opacity: 0 !important;
      min-width: 0 !important;
      max-width: 0 !important
  }

  /* ----------------- */
  /* Reference section */
  /* ----------------- */

  .reference-images {
      max-width: 1200px;
      padding: 0 40px;
      margin: 0 auto !important
  }

  .reference-images .image {
      background-color: #0d1213 !important;
      display: inline-flex !important;
      cursor: pointer
  }

  @media(max-width:525px) {
      .reference-images .image {
          margin: 4px !important;
          width: calc(50vw - 36px) !important;
          max-height: calc(50vw - 36px) !important;
          object-fit: fill
      }

      .reference-images {
          padding: 0 20px
      }
  }

  @media(min-width:526px) and (max-width:671px) {
      .reference-images .image {
          margin: 4px !important;
          width: calc(33vw - 25px) !important;
          max-height: calc(50vw - 25px) !important;
          object-fit: fill
      }

      .reference-images {
          padding: 0 20px
      }
  }

  @media(min-width:672px) and (max-width:1199px) {
      .reference-images .image {
          margin: 4px !important;
          width: calc(25vw - 28px) !important;
          max-height: calc(50vw - 28px) !important;
          object-fit: fill
      }

      .reference-images {
          padding: 0 20px
      }
  }

  .img-preview-modal img {
      max-height: calc(100vh - 185px) !important;
      width: auto;
      margin: auto
  }

  /* --------------- */
  /* Service section */
  /* --------------- */

  .read-more-btn-wrapper {
      display: contents
  }

  .read-more-button {
      font-size: inherit;
      color: inherit !important;
      cursor: pointer;
      background-color: transparent !important;
      box-shadow: none !important;
      border: none;
      text-decoration: underline;
      font-weight: 700;
      background: 0 0 !important
  }

  .service-cards {
      width: 100%;
      max-width: 940px;
      margin: auto;
  }

  .service-title {
      font-size: 1.6rem !important;
  }

  .service-card {
      width: 31%;
      min-width: 290px;
      box-shadow: none !important;
      border: 1px double #242829 !important;
  }

  @media(max-width: 920px) {
      .service-cards {
          max-width: 100%;
      }

      .service-card {
          margin-left: 0 !important;
          margin-right: 0 !important;
          width: 100% !important;
          min-width: 100% !important;
      }
  }

  .service-image {
      background-size: cover !important;
      background-position: 0% 50% !important;
      background-repeat: no-repeat;
      box-shadow: inset 0 0 2em rgba(0, 0, 0, .5);
      height: 180px;
  }

  .main-desc.truncated {
      font-size: 20px
  }

  /* --------------- */
  /* Contact section */
  /* --------------- */
  
  .iframe-map-container {
      display: flex;
      height: auto;
      clear: both;
      width: 100%;
      border-radius: 8px;
      padding-bottom: 40px !important
  }

  .process-cards {
      max-width: 925px !important;
      margin-left: 30px !important;
      margin-right: 30px !important
  }

  .process-cards .main-header {
      font-size: 1.75rem !important;
      padding-bottom: .5rem
  }

  .process-cards,
  .process-cards .card {
      box-shadow: none !important
  }

  .process-cards .card .emoji {
      font-size: 3rem !important
  }

  .process-cards .card .header {
      padding-top: 1rem
  }

  .process-cards .card .description {
      font-size: .85em
  }

  /* ------------ */
  /* Contact form */
  /* ------------ */

  #imageInputsList,
  #imagePreviewsList {
      display: inline-flex
  }

  .file-selector-label {
      cursor: pointer;
      font-weight: 700
  }

  .img-preview-remove {
      position: absolute;
      margin-top: 86px;
      width: 128px;
      border-radius: 0 0 10px 10px;
      margin-left: -13px;
      background-color: rgb(255 0 10 / .6);
      padding: 3px 0 6px 0;
      color: #fff;
      text-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
      font-size: 16px;
      text-align: center
  }

  .file-input-input {
      opacity: 0 !important;
      position: absolute !important;
      z-index: -1 !important
  }

  .img-preview {
      height: 128px;
      width: 128px;
      background-size: cover;
      background-position: 50% 50%;
      border-radius: 10px;
      padding: 10px 12px;
      margin: 5px 5px 10px 0;
      border: 1px solid #555
  }

  .img-preview-remove a {
      border: none !important
  }

  .img-preview-remove i {
      font-size: .9em;
      padding-left: 5px
  }

  .images-wrap {
      display: flex
  }

  #imagePreviewsList,
  .images-wrap {
      max-width: 100% !important;
      flex-wrap: wrap !important
  }

  .img-add-btn {
      height: 128px;
      width: 128px;
      background-size: cover;
      background-position: 50% 50%;
      border-radius: 10px;
      padding: 10px 12px;
      margin: 5px 0 10px 0;
      border: 1px dashed #555;
      display: inline-flex;
      flex-direction: row;
      padding-top: 50px;
      justify-content: center;
      padding: 50px 10px
  }

  #imageInputsList>.image-adding-wrapper:not(:last-of-type) .img-add-btn {
      display: none !important
  }

  label[for=ORimgfile1] {
      display: inline-flex
  }

  .img-add-btn a {
      padding: 0;
      margin: 0;
      height: 24px;
      line-height: 0;
      font-weight: 400
  }

  .img-add-btn a i {
      font-size: .85em;
      padding-top: 5px
  }

  #noAddedImagesTxt {
      font-size: 16px !important;
      color: #7c7c7c
  }

  #contactForm fieldset {
      padding: 0;
      border: none
  }

  input[type=file] {
      background-color: #111617 !important
  }

  @media(min-width:640px) {
      .ui.accordion .content {
          padding: 15px 30px !important
      }
  }

  @media(max-width:640px) {
      .form-content-1 {
          padding: 5px !important
      }

      .form-content-2 {
          padding: 15px 0 0 0 !important
      }

      .form-content-3 {
          padding: 15px 20px 15px 30px !important
      }
  }

  /* --------------- */
  /* Footer section */
  /* -------------- */

  .footer {
      background-color: #0c0c0c !important
  }

  .footer-nav .item {
      color: #fff !important
  }

  .ui.inverted.horizontal.list a.item {
      border-bottom: 2px solid #ee1c25
  }

  .ui.inverted.horizontal.list a.item:hover {
      color: #fff;
      font-weight: 600;
      border-bottom-width: 3px
  }

  @media(max-width:767px) {
      .footer .column {
          border-left: none !important
      }
  }