html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #1d1d1b;
    color: #1d1d1b;
    position: relative;
    font-family: "Exo 2", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.brand-ico svg {
    display: block;
    max-width: 100%;
    height: auto;
}
.brand-ico svg path, .brand-ico svg circle {
    fill:#1d1e1b ;
}
.nbd-ico svg path, .nbd-ico svg polygon {
    fill:#1d1e1b;
    opacity: .5;
}

.container-fluid {
    padding-left: 5vw;
    padding-right: 5vw;
}
header, footer {
    padding: 5vh 0;
}


.edge-screen {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #ededed;
    transition: all 0.2s cubic-bezier(0.250, 0.460, 0.450, 0.940);
}

body.form-active .edge-screen {
   transform: scale(.9);
}

.edge-screen main {
    overflow: auto;
}

h1 {
    font-size: clamp(1.875rem, 1.1447rem + 3.1579vw, 3.75rem);
}

h2, p {
    font-size: clamp(1rem, 0.8053rem + 0.8421vw, 1.5rem);
}

.offcanvas {
    background-color: #ededed;
}

*:focus {
    box-shadow: none !important ;
}

.form-control.is-invalid, .form-select.is-invalid {
    border-bottom-color: #dc3545 !important;
}
.form-control.is-valid, .form-select.is-valid {
    border-bottom-color: #198754 !important;
}

.js-success-message {
    display: none;
}

.devices-wrapper > div, .devices-wrapper-mobile [class*=macbook-], .devices-wrapper-mobile [class*=ipad-], .devices-wrapper-mobile [class*=iphone-]  {
    background-color: #fff;
    padding: 5px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, .3);
}

.devices-wrapper > div img, .devices-wrapper-mobile img {
    border-radius: 5px;
    overflow: hidden;
}

@media (min-width: 768px) {
    body.home {
        overflow: hidden;
    }

    .edge-screen {
        overflow: hidden;
    }
    
    .offcanvas.offcanvas-end {
        width: 40%;
    }

    .devices-wrapper {
        position: absolute;
        width: 100rem;
        height: 100rem;
        top: 335px;
        left: 25%;
        transform: translateY(-50%) rotate(45deg);
        transform-origin: center center;
        pointer-events: none;
    }

    .devices-wrapper [class*=macbook-] {
        width: 44%;
        position: absolute;
    }

    .devices-wrapper [class*=ipad--l-] {
        width: 27.5%;
        position: absolute;
    }

    .devices-wrapper [class*=iphone-] {
        width: 10%;
        position: absolute;
    }
    .devices-wrapper [class*="ipad--p-"] {
        width: 21%;
        position: absolute;
    }

    .devices-wrapper .macbook-1 {
        left: 42%;
        top: 63%;
    }

    .devices-wrapper .macbook-2 {
        left: 22.5%;
        top: -2%;
    }

    .devices-wrapper .ipad--l-1 {
        left: -2.3%;
        top: 40%;
    }
    .devices-wrapper .iphone-1 {
        left: 27%;
        top: 40%;
    }
    .devices-wrapper .ipad--l-2 {
        left: 39%;
        top: 40%;
    }               
    .devices-wrapper .iphone-2 {
        left: 68.8%;
        top: 40%;
    }
    .devices-wrapper .ipad--l-3 {
        left: 81%;
        top: 40%;
    }       

    .devices-wrapper .ipad--p-1 {
        left: 69%;
        top: 10%;
    }
    .devices-wrapper .iphone-3 {
        left: 55%;
        top: -14%;
    }
    .devices-wrapper .iphone-4 {
        left: 88%;
        top: 63%;
    }
}

.offcanvas-body {
    padding: 10%;
}

@media (max-width: 767.98px) {
    header, footer {
        padding: 2vh 0;
    }

}