@font-face {
  font-family: 'OpenSans';
  src: url('/assets/fonts/OpenSans-VariableFont_wdth,wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
}
@font-face {
  font-family: 'OpenSans';
  src: url('/assets/fonts/OpenSans-Italic-VariableFont_wdth,wght.ttf') format('truetype');
  font-style: italic;
  font-weight: 100 900;
}
@font-face {
  font-family: 'Roboto';
  src: url('/assets/fonts/Roboto-VariableFont_wdth,wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
}
@font-face {
  font-family: 'Roboto';
  src: url('/assets/fonts/Roboto-Italic-VariableFont_wdth,wght.ttf') format('truetype');
  font-style: italic;
  font-weight: 100 900;
}
@font-face {
  font-family: 'Archivo';
  src: url('/assets/fonts/Archivo-VariableFont_wdth,wght.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
}
@font-face {
  font-family: 'Archivo';
  src: url('/assets/fonts/Archivo-Italic-VariableFont_wdth,wght.ttf') format('truetype');
  font-style: italic;
  font-weight: 100 900;
}

/* Icons from SVG */
.mdi {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  mask: var(--icon-url) no-repeat center / contain;
  -webkit-mask: var(--icon-url) no-repeat center / contain;
  vertical-align: -0.125em;
  flex-shrink: 0;
}

.mdi-check-circle-outline { --icon-url: url("/assets/icons/mdi/check-circle-outline.svg"); }
.mdi-arrow-right-thick { --icon-url: url("/assets/icons/mdi/arrow-right-thick.svg"); }
.mdi-web { --icon-url: url("/assets/icons/mdi/web.svg"); }
.mdi-monitor { --icon-url: url("/assets/icons/mdi/monitor.svg"); }
.mdi-server { --icon-url: url("/assets/icons/mdi/server.svg"); }
.mdi-file-document-outline { --icon-url: url("/assets/icons/mdi/file-document-outline.svg"); }
.mdi-cellphone { --icon-url: url("/assets/icons/mdi/cellphone.svg"); }
.mdi-folder-outline { --icon-url: url("/assets/icons/mdi/folder-outline.svg"); }
.mdi-cash { --icon-url: url("/assets/icons/mdi/cash.svg"); }
.mdi-palette { --icon-url: url("/assets/icons/mdi/palette.svg"); }
.mdi-chevron-right { --icon-url: url("/assets/icons/mdi/chevron-right.svg"); }
.mdi-clock-outline { --icon-url: url("/assets/icons/mdi/clock-outline.svg"); }
.mdi-lightning-bolt-outline { --icon-url: url("/assets/icons/mdi/lightning-bolt-outline.svg"); }
.mdi-email { --icon-url: url("/assets/icons/mdi/email.svg"); }
.mdi-tools { --icon-url: url("/assets/icons/mdi/tools.svg"); }

:root{
  --color-primary: #A30AAF; /* #FFA500 */
  --color-primary-contrast: #ffffff; /*Use it for text on primary color backgrounds*/
  --color-secondary: #7D7D7D;
  --color-secondary-contrast: #ffffff; /*Use it for text on secondary color backgrounds*/
  
  --color-background: #ecf0f1;
  --color-text: #000000;
  --color-text-muted: #7D7D7D;
  --color-background-dark: #848484;
  --color-text-light: #ffffff;
  --color-background-light: #ffffff;
  --color-text-dark: #000000;

  --color-background-odd: color-mix(in srgb, var(--color-background), var(--color-primary) 10%); /* Mix of background and little of primary */
  
  --color-shadow: 0 5px 10px color-mix(in srgb, var(--color-background-dark) 16%, transparent);
  --color-shadow-soft: 0 10px 25px color-mix(in srgb, var(--color-background-dark) 10%, transparent);

  --border-radius: 15px;
  --border-color: 1px solid color-mix(in srgb, var(--color-primary) 18%, transparent);
  
  --content-width: 1200px;
  --transition: 180ms ease;

}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'OpenSans', 'Roboto', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family:'Roboto', 'OpenSans', sans-serif;
}

body {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  background: var(--color-background);
  color: var(--color-text);
  line-height: 1.65;
  overflow-x: hidden;
}

a{
  color: inherit;
}

html {
  scroll-behavior: smooth;
}

[name],[id] {
  scroll-margin-top: 70px;
}

section{
  width: 100%;
}



/* Menu */
#max-menu{
  width: 100vw;
  height: 64px;

  #menu{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-evenly;
    gap: 0.5rem;
    width: 100%;
    min-height: 64px;
    background-color: var(--color-background-light);
    position: fixed;
    z-index: 100;

    h1 {
      font-family: 'Archivo', 'Roboto', sans-serif;
      display: flex;
      flex-flow: row nowrap;
      align-items: center;

      span:first-of-type {
        color: var(--color-primary);
      }
      img.logo{
        display: none; /* Show logo in respo and hide text */
        max-width: 64px;
        margin-right: 0.5rem;
      }
    }

    span.subtitle{
      font-size: 1.2rem;
      color: var(--color-secondary);
    }

    nav{
      display: flex;
      flex-flow: row nowrap;
      gap: 1rem;
    }

    a {
      text-decoration: none;
      color: var(--color-primary);
      font-weight: 600;
      
      &:after{
        content: '';
        display: block;
        width: 0;
        height: 2px;
        background: var(--color-primary);
        transition: width var(--transition);
      }
      
      &:hover{
        &:after{
          width: 100%;
        }
      }
    }

  }
}

/* Slider */
#max-slider{
  width: 100vw;

  section.hero_slider {
    width: 100vw;
    height: calc(100vh - 64px);

    .splide__slide__container {
      img {
        width: 100%;
        height: calc(100vh - 70px);
        object-fit: cover;
      }
    }

    .splide__slide__content {
      width: 100%;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 2;
      background: color-mix(in srgb, var(--color-background) 66%, transparent);
      padding: 2rem;

      .title {
        font-size: 4rem;
      }
      p {
        font-size: 2rem;
      }
    }
  }
}

/* Content */
#content {
  display: flex;
  flex-flow: column nowrap;
  gap: 2rem;
  margin-top: 1rem;
  width: 100%;
  max-width: var(--content-width);
  justify-content: center;


  section{
    background: var(--color-background-light);
    border-radius: var(--border-radius);
    padding: 2rem 4rem;
    display: flex;
    flex-flow: column nowrap;
    gap: 1rem;

    h2 {
      font-size: 2rem;
      color: var(--color-primary);
      width: fit-content;
      &::after{
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        background: var(--color-primary);
      }
    }

    i {
      font-size: 1.5rem;
    }
  }

  .image-text{
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto 1fr;
    gap: 1rem 3rem;

    picture{
      grid-row: 1 / span 2;
      text-align: center;
      img{
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 100%;
        object-fit: cover;
        border-radius: var(--border-radius);
        box-shadow: var(--color-shadow);
      }
    }

    h2{
      align-self: center;
    }

    .section-content{
      display: flex;
      flex-flow: column nowrap;
      gap: 1rem;

      ul{
        list-style: none;

        i {
          color: var(--color-primary);
          margin-right: 0.5rem;
        }
      }
    }

    &.reverse{
      grid-template-columns: 3fr 1fr;
      picture{
        grid-column: 2 / span 1;
      }
    }
  }

  .boxes{
    display: flex;
    flex-flow: column nowrap;

    .section-content{
      display: flex;
      flex-flow: row wrap;
      gap: 1rem;
  
      .box{
        flex: 0 0 calc(33.333% - 1rem);
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        justify-content: flex-start;
        background: var(--color-background);
        border-radius: var(--border-radius);
        border: 2px solid transparent;
        padding: 1rem;
        cursor: pointer;
        box-shadow: var(--color-shadow);

        &:hover{
          border-color: var(--color-primary);

          p{
            font-size: 1rem;
          }
        }
  
        i {
          font-size: 3rem;
          color: var(--color-primary);
          margin-bottom: 0.5rem;
        }

        h3 {
          text-align: center;
        }

        p {
          font-size: 0;
          text-align: center;
          transition: all var(--transition);
        }
      }
    }
  }

  #pricing{
    ul{
      list-style: none;
      margin-left: 5px;

      li{
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        gap: 0.1rem;

        i {
          color: var(--color-text-muted);
        }
      }
    }

    #pricing-table{
      display: flex;
      flex-flow: row;
      gap: 0.5rem;
      justify-content: space-evenly;

      .pricing-card{
        width: clamp(fit-content, 30%, 45%);
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        background: var(--color-background);
        border: 2px solid transparent;
        border-radius: calc(var(--border-radius) / 2);
        padding: 1rem 0.5rem;
        box-shadow: var(--color-shadow);

        &:hover{
          border-color: var(--color-primary);
        }

        &.highlight{
          border-color: var(--color-primary);
        }

        > i {
          font-size: 5rem;
          color: var(--color-primary);
        }

        h3 {
          color: var(--color-primary);
          font-size: 2rem;
          font-weight: 800;
        }

        .price{
          font-size: 1.5rem;
          font-weight: 600;
          margin-top: auto;
          strong{
            font-weight: 800;
            color: var(--color-primary);
          }
        }
        .price-old{
          text-decoration: line-through;
          color: var(--color-text-muted);
          margin-top: 0.5rem;
        }
      }
    }
  }

  #reference{
    .reference-slider{
      width: 100%;
      margin-top: 1rem;

      .splide__slide__container{
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;

        img{
          width: auto;
          max-width: 100%;
          height: auto;
          max-height: 100%;
          object-fit: cover;
          border-radius: var(--border-radius);
          box-shadow: var(--color-shadow);
        }

        p{
          text-align: center;
        }
      }
    }
  }

  #contact{

    .section-content{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 1rem;


      p:first-child {
        grid-row: 1 / span 4;
      }

      a {
        text-decoration: none;
        color: var(--color-primary);
      }

      i {
        color: var(--color-primary);
        margin-right: 0.5rem;
      }
    }
  }
}


footer{
  width: 100%;
  text-align: center;
  background: var(--color-background-dark);
  margin-top: 1rem;
  padding: 0.5rem;
}

/* Responsive */
@media (max-width: 1024px) {
  /* Small PC */
}

@media (max-width: 768px) {
  /* Tablet and large mobile */

  [name],[id] {
    scroll-margin-top: 150px;
  }

  #max-menu{
    height: auto;
    
    #menu{
      flex-flow: column nowrap;
      align-items: flex-start;
      padding: 0.5rem 1rem;
    }
  }

  #content{
    section{
      padding: 1rem 2rem;
      gap: 1rem 2rem;
      border-radius: 0;
    }

    .image-text {
      picture {
        img{
          height: 100%;
        }
      }
    }

    .boxes{
      .section-content{
        flex-flow: column nowrap;

        .box{
          flex-flow: row nowrap;
          align-items: center;
          justify-content: flex-start;
          gap: 0.5rem;
          cursor: initial;


          h3{
            width: calc(100% + 1rem);
            text-align: left;
          }

          p{
            font-size: 1rem;
          }
        }
      }
    }
  }
}

@media (max-width: 480px) {
  /* Small Mobile */

  body{
    line-height: 1.25;
  }

  #max-slider {
    section.hero_slider {
      .splide__slide__content {
        .title{
          font-size: 2rem;
        }
        p {
          font-size: 1rem;
        }
      }

      .splide__pagination{
        display: none;
      }
    }
  }

  #content {

    .image-text{
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;

      &.reverse{
        grid-template-columns: 1fr;

        picture{
          grid-column: 1 / span 1;
        }
      }

      h2 {
        grid-row: 1 / span 1;
      }
      picture {
        grid-row: 2 / span 1;
      }
      .section-content {
        grid-row: 3 / span 1;
      }
    }

    .boxes{
      .section-content{

        .box{
          flex-flow: column nowrap;
          align-items: center;
          justify-content: center;
          gap: 0.5rem;


          h3{
            width: calc(100% + 1rem);
            text-align: center;
          }

          p{
            font-size: 1rem;
          }
        }
      }
    }

    #pricing{
      #pricing-table{
        flex-flow: column nowrap;
      }
    }

    #contact {
      .section-content{
        grid-template-columns: 1fr;
        gap: 0.5rem;

        p:first-child {
          grid-row: 1 / span 1;
          margin-bottom: 0.5rem;
        }
        i {
          font-size: 1rem;
        }
      }
    }
  }
}
