@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Karla:wght@200&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Karla:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Karla:wght@600&display=swap');

:root {
  --mainColor: #1A3450;
  --secondColor: #DD8B10;
  --redColor: #C60021;
  --grayColor: #e8e8e8;
  --lightGrayColor: #fafafa
}

html{
  scroll-behavior: smooth;
}

* {
    font-family: 'Karla', sans-serif;
    box-sizing: border-box;
    overflow-y: scroll;
    overflow-x: scroll;
    color: #1A3450;
    margin: 0px;
    font-size: 1rem;
    font-weight: 200;
    overflow-x: hidden;
    text-decoration: none;
    border: none;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;
}

*::-webkit-scrollbar {
  display: none;
}

/* START TEXT STYLES */

h1 {
  font-size: 20px;
  font-weight: 600;
  color: white;
}

  h1.center {
    align-self: center;
  }

  h1.centerdark {
    align-self: center;
    text-align: center;
    color: var(--mainColor)
  }

  h1.dark {
    color: var(--mainColor);
    height: auto
  }

h2 {
  color: var(--mainColor)
}

  h2.bold {
    font-weight: 600
  }

  h2.white {
    color: white;
  }

  h2.input {
    color: white;
    width: 180px
  }

h3 {
  color: var(--mainColor);
  font-weight: normal
}

h3.bold {
  font-weight: 600
}

  h3.oldPrice {
    text-decoration: line-through;
    margin-right: 5px;
  }

  h3.newPrice {
    font-weight: 600;
    color: var(--redColor)
  }

  h3.priceDetails {
    font-weight: 600;
    color: green;
    font-size: 28px
  }

  h3.priceDetailsOld {
    font-weight: 300;
    color: var(--mainColor);
    font-size: 18px;
    text-decoration: line-through;
    margin-right: 5px;
  }

  h3.priceDetailsNew {
    font-weight: 600;
    color: var(--redColor);
    font-size: 28px;
  }

  .smallImage {
    display: flex;
    width: 45px;
    height: 45px;
    margin-right: 5px;
    margin-bottom: 5px
  }

/* END TEXT STYLES */

.mainContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100vw;
  min-height: 100vh;
}

.row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

  .row.spacebtwn {
    justify-content: space-between;
  }

  .row.flexstart {
    justify-content: flex-start;
  }



/* HEADER START */

.headerContainer {
  display: flex;
  width: 100%;
  flex-direction: column;
  border-bottom: 1px dotted var(--mainColor);
}

  .logoContainer {
    display: flex;
    height: 80px;
    margin-left: 20px;
    object-fit: contain;
  }

    .headerLogo {
      height: 80px;
      object-fit: contain;
    }

  .webPageLinksContainer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
  }

    .webPageLink {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 10px;
      margin: 10px;
      min-width: 100px;
      border-radius: 10px;
    }

      .webPageLink.selected {
        box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
      }

      .webPageLink:hover {
        box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
      }

      .webPageLinkImg {
        display: flex;
        width: 45px;
        height: 45px
      }

      .webPageLinkImg.mobile {
        margin-right: 5px;
      }

      .webPageLinkText {
        font-size: 16px;
        font-weight: 600
      }

  .headerSecondRow {
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background-color: var(--mainColor);
    padding-left: 20px;
    border-top: 3px solid var(--secondColor)
  }

    .headerSecondRow_links {
      display: flex;
      width: auto;
      min-height: 40px;
      align-items: space-between;
      justify-content: center;
    }

    .shopCategoryLink {
      display: flex;
      background-color: var(--mainColor);
      width: 150px;
      height: 60px;
      color: white;
      font-weight: 600;
      font-size: 16px;
      align-items: center;
      justify-content: center;
      padding-left: 5px;
      padding-right: 5px;
    }

    .shopCategoryLink.selected {
      background-color: var(--secondColor);
    }

    .shopCategoryLink:hover {
      background-color: var(--secondColor);
      height: 60px;
    }

    .headerSecondRow_cart {
      display: flex;
      height: 60px;
      width: 150px;
      background-color: var(--secondColor);
      color: white;
      text-align: center;
      align-items: center;
      justify-content: center;
    }

    .webPageLinksContainerMobile {
      display: none;
      margin-right: 20px;
    }

    .mobileMenu {
      display: none;
    }

    .shopMobileMenu {
      display: none;
    }

    .shopMobileMenuDropdown {
      display: none;
    }

/* HEADER END */

/* SERVICES START */

.servicesContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  color: white;
  width: 100%;
  object-fit: contain;
  height: auto;

}

  .aboutContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    color: white;
    width: 100%;
    object-fit: contain;
    padding: 20px;
    min-height: 500px;
    background-image: url('../media/header.png');
    background-repeat: no-repeat;
    background-blend-mode: soft-light;
    background-size: cover;
    background-position: bottom;
    text-align: center;
    position: relative;
  }

  .servicesColumn {
    display: flex;
    width: 100%;
    margin-left: 20px;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
  }


  .serviceItemContainer {
    display: flex;
    flex-direction: row;
    margin: 10px;
    height: 100px;
    margin: 10px;
    padding: 10px;
    width: auto;
    align-items: center;
    justify-content: center;
    background-color: white;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    filter: grayscale(100%);
  }

  .serviceItemContainer:hover {
    transform: scale(1.02);
    filter: grayscale(0%);
    box-shadow: rgba(221, 139, 16, 0.2) 0px 2px 8px 0px;
  }

  .logo {
    display: flex;
    min-width: 40px;
    max-width: 40px;
    object-fit: contain;
  }

  .servicesItemLogo {
    display: flex;
    min-width: 40px;
    margin-right: 5px
  }


  .servicesItemTextContainer {
    display: flex;
    max-width: auto;
    text-align: center;
  }

  .servicesContainerLogo {
    display: flex;
    width: 300px;
    object-fit: contain;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: 100px;
    background-color: white
  }
/* SERVICES END */

/* PRODUCTS VIEW START */

  .productsContainer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 100vh;
    height: auto;
    padding: 20px;
    padding-right: 0px;
    padding-left: 0px;
    flex-wrap: wrap;
  }

    .noProducts {
      display: flex;
      flex-direction: column;
      width: 100%;
      align-items: center;
      justify-content: center;
      height: 100vh
    }

    .itemContainer {
      display: flex;
      position: relative;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      width: 50%;
      height: 300px;
      padding-right: 15px;
      margin-bottom: 15px;
    }

    .itemContainer:hover {
        box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    }

      .itemImageContainer {
        display: flex;
        position: relative;
        flex-direction: column;
        align-items: center;
        width: 30%;
        height: 190px;
        overflow: hidden;
      }

      .itemImageContainer_image {
        display: flex;
        width: 90%;
        height: 190px;
        object-fit: scale-down;
      }

      .itemImageContainer_image:hover {
        display: flex;
        height: 190px;
        object-fit: scale-down;
        animation-name: zoomInProduct;
        animation-duration: 1s;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
      }

      @keyframes zoomInProduct {
        0% {
          transform: rotate(0deg) scale(1);
        }
        100% {
          transform: rotate(8deg) scale(1.1);
        }
      }

      .itemProductInfo {
        display: flex;
        flex-direction: column;
        width: 70%;
        height: auto;
        margin-right: 20px;
        align-items: flex-start;
        justify-content: center;

      }

      .addToCart {
        display: flex;
        height: 40px;
        width: 150px;
        border-radius: 6px;
        border: 2px solid var(--secondColor);
        font-size: 16px;
        font-weight: bold;
        margin-top: 10px;
        color: var(--secondColor);
        align-items: center;
        justify-content: center;
        cursor: pointer;
        background-color: white;
      }

      .addToCart:hover {
        color: white;
        background-color: var(--secondColor)
      }

/* PRODUCTS VIEW END */

/* PRODUCT DETAIL START */

  .productDetailContainer {
    display: flex;
    flex-direction: row;
  }

    .productImageContainer {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 40vw;
      margin-top: 5px
    }

      .productImage {
        display: flex;
        max-height: 80vh;
        object-fit: contain;
      }

    .productDescriptionContainer {
      display: flex;
      flex-direction: column;
      background-color: var(--grayColor);
      width: 60vw;
      padding: 20px
    }

    .technical-specifications {
      display: flex;
      flex-direction: column;
      width: 100%;
    }

    .technical-specifications-row, .basic-information-row {
      display: flex;
      flex-direction: row;
      width: 100%;
      align-items: center;
      border-bottom: 1px dotted black;
      justify-content: space-between;
      padding: 3px
    }

    .technical-specifications-row__label, .basic-information-row__label {
      display: flex;
    }

    .technical-specifications-row__value, .basic-information-row__value {
      color: var(--mainColor);
      font-weight: 600
    }

/* PRODUCT DETAIL END */

/* GALLERY START */

/* GALLERY END */

  .galleryImg {
    display: flex;
    height: 50vw;
    object-fit: contain;
  }

/* PARTNERS START */

/* Partners Start */

.partnersContainer {
  display: flex;
  padding-top: 20px;
  padding-bottom: 20px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.partner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 240px;
  border-radius: 10px;
  margin: 5px;
  filter: grayscale(90%);
}

.partner:hover {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  filter: grayscale(0%);
}

.partnerImg {
  display: flex;
  width: 200px;
  height: 200px;
  object-fit: contain;
}

/* PARTNERS END */

/* FOOTER START */

.footerContainer {
  display: flex;
  flex-direction: column;
  height: auto;
  width: 100%;
  padding: 20px;
  background-color: var(--mainColor);
  border-top: 4px solid var(--secondColor);
}

.row_footer {
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

  .row_footer.contact {
    margin-top: 15px;
    width: 100%;
    align-items: flex-end;
  }

  .row_footer.button {
    margin-top: 15px;
    width: 100%;
    align-items: flex-end;
    justify-content: flex-end;
  }

    .footerCompanyLogo {
      display: flex;
      width: 80px;
      height: 80px;
      margin-right: 5px;
      border-right: 2px dotted white;
    }

    .footerCompanyLogoImg {
      display: flex;
      width: 75px;
      height: 75px;
    }

    .footerCompanyInfoContainer {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }

    .footerCompanyInfoContainer.center {
      align-items: flex-end;
    }

    .footerContactContainer {
      display: flex;
      flex-direction: column;
      width: 45vw;
    }

    .footerTextInput {
      margin-left: 5px;
      border-bottom: 1px solid var(--secondColor);
      margin-bottom: 5px;
      background-color: var(--mainColor);
      outline: none;
      color: white;
      flex: 1
    }

    .footerTextareaContainer {
      display: flex;
      flex-direction: row;
      width: 45vw
    }

    .footerTextarea {
      border: 1px solid var(--secondColor);
      background-color: var(--mainColor);
      outline: none;
      color: white;
      height: 100px;
      width: 100%;
    }

    .footerButton {
      display: flex;
      height: 40px;
      width: 100px;
      border-radius: 6px;
      border: 2px solid var(--secondColor);
      font-size: 16px;
      color: var(--secondColor);
      align-items: center;
      justify-content: center;
      cursor: pointer;
      background-color: var(--mainColor);

    }

    .footerButton:hover {
      color: white;
      background-color: var(--secondColor)
    }


/* FOOTER END */

@media only screen and (max-width: 780px) {

  .mobileMenu {
    display: none;
    position: fixed;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 20px;
    padding-top: 120px;
    width: 100%;
    height: 100%;
    background-color: white;
    top: 0px;
    right: 0px;
    z-index: 100;
  }

  .mobileLinkContainer {
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border-bottom: 1px dotted var(--mainColor);
    text-align: left;
  }

  .mobileLinkContainer.top {
    border-top: 1px dotted var(--mainColor);
  }

  .headerSecondRow {
    display: none
  }

  .mobileLink {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    width: 170px;
    padding: 10px;
  }

  .shopMobileMenu {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    background-color: var(--mainColor);
    padding-left: 20px;
    border-top: 3px solid var(--secondColor)
  }

    .mobileMenuRow {
      display: flex;
      flex-direction: row;
      align-items: center;
      min-height: 40px;
      justify-content: space-between;
      width: 100%
    }

    .shopMobileDropdown {
      display: flex;
      width: 100%;
      height: 60px;
      justify-content: center;
      align-items: center;
    }

      .dropdown-image {
        display: flex;
        height: 45px;
        width: 45px;
      }

      .dropdown-image.open{
        display: flex;
        height: 45px;
        width: 45px;
        animation-name: menuOpen;
        animation-duration: 0.4s;
        animation-fill-mode: forwards;
        animation-iteration-count: 1
      }

      @keyframes menuOpen {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(180deg);
        }
      }

    .shopMobileBasket {
      display: flex;
      height: 60px;
      min-width: 100px;
      background-color: var(--secondColor);
      align-items: center;
      justify-content: center;
    }

    .basket-image {
      display: flex;
      height: 40px;
      width: 40px;
    }

    .shopMobileMenuDropdown {
      display: none;
      flex-direction: column;
      align-items: center;
      width: 100%;
      height: 180px;
      background-color: var(--mainColor);
    }

    .mobileMenuLink {
      display: flex;
      flex-direction: column;
      color: white;
      background-color: var(--mainColor);
      min-width: 90%;
      font-weight: 600;
      font-size: 16px;
      align-items: center;
      justify-content: center;
      padding-left: 5px;
      padding-right: 5px;
      height: 60px;
      border-bottom: 1px dotted white
    }

    .mobileMenuLink.selected {
      background-color: var(--secondColor)
    }

    .mobileMenuLink:hover {
      background-color: var(--secondColor )
    }

    .servicesColumn {
      display: flex;
      width: 100%;
      margin-left: 20px;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
    }


    .serviceItemContainer {
      display: flex;
      flex-direction: row;
      margin: 10px;
      height: 100px;
      margin: 10px;
      padding: 10px;
      width: 90%;
      align-items: center;
      justify-content: center;
      background-color: white;
      box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
      filter: grayscale(100%);
    }

    .serviceItemContainer:hover {
      transform: scale(1.02);
      filter: grayscale(0%);
      box-shadow: rgba(221, 139, 16, 0.2) 0px 2px 8px 0px;
    }


/* PRODUCTS VIEW START */


    .itemContainer {
      flex-direction: column;
      width: 100%;
      height: auto;
      padding-bottom: 15px;
    }

    .itemContainer:hover {
        box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    }

      .itemImageContainer {
        margin-bottom: 10px;
      }

      .itemProductInfo {
        align-items: center;
        width: 90%;
        text-align: center;
      }

      .addToCart {
        display: flex;
        height: 40px;
        width: 150px;
        border-radius: 6px;
        border: 2px solid var(--secondColor);
        font-size: 16px;
        font-weight: bold;
        margin-top: 10px;
        color: var(--secondColor);
        align-items: center;
        justify-content: center;
        cursor: pointer;
        background-color: white;
      }

      .addToCart:hover {
        color: white;
        background-color: var(--secondColor)
      }

    /* PRODUCTS VIEW END */

  .productDetailContainer {
    flex-direction: column;
    width: 100%;
  }

  .productImageContainer {
    width: 100%;
    height: 400px;
  }

  .productDescriptionContainer {
    width: 100%;
  }

  .webPageLinksContainerMobile {
    display: flex;
    margin-right: 20px;
  }

  .webPageLinksContainerMobile.open{
    display: flex;
    margin-right: 20px;
    position: absolute;
    right: 20px;
    top: 20px
  }

  .webPageLinksContainerMobile:hover {
    animation-name: rotate;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
  }

  @keyframes rotate {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);

    }
  }

  .webPageLinksContainer {
    display: none;
  }

  /* FOOTER START */

  .row_footer {
    width: 90vw;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px;


  }

  .row {
    margin-bottom: 20px
  }

    .row_footer.contact {

      align-items: flex-start;
    }

    .row_footer.button {
      margin-top: 15px;
      width: 100%;
      align-items: flex-end;
      justify-content: flex-end;
    }

      .footerCompanyLogo {
        display: flex;
        width: 80px;
        height: 80px;
        margin-right: 5px;
        border-right: 2px dotted white;
      }

      .footerCompanyLogoImg {
        display: flex;
        width: 75px;
        height: 75px;
      }

      .footerCompanyInfoContainer {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
      }

      .footerCompanyInfoContainer.center {
        align-items: flex-end;
      }

      .footerContactContainer {
        display: flex;
        flex-direction: column;
        width: 90vw;
      }

      .footerTextInput {
        width: 100%;
        margin-left: 5px;
        border-bottom: 1px solid var(--secondColor);
        margin-bottom: 5px;
        background-color: var(--mainColor);
        outline: none;
        color: white;
        flex: 1
      }

      .footerTextareaContainer {
        display: flex;
        flex-direction: row;
        width: 100%
      }

      .footerTextarea {
        border: 1px solid var(--secondColor);
        background-color: var(--mainColor);
        outline: none;
        color: white;
        height: 100px;
        width: 100%;
      }

      .footerButton {
        display: flex;
        height: 40px;
        width: 100px;
        border-radius: 6px;
        border: 2px solid var(--secondColor);
        font-size: 16px;
        color: var(--secondColor);
        align-items: center;
        justify-content: center;
        cursor: pointer;
        background-color: var(--mainColor);

      }

      .footerButton:hover {
        color: white;
        background-color: var(--secondColor)
      }


  /* FOOTER END */

}

@media only screen and (max-width: 380px) {
  .logoContainer {
    display: flex;
    height: 80px;
    margin-left: 10px;
    object-fit: contain;
  }

    .headerLogo {
      height: 70px;
      object-fit: contain;
    }
}
