@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;500;600;700&display=swap');

:root {
    --main-color: #1d8d87;
}

* {
    padding: 0;
    margin: 0;
    text-decoration: none;
    list-style-type: none;
    box-sizing: border-box;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
}

#menu-toggle {
    display: none;
}

.wrapper {
    width: 70%;
    margin: auto;
}

nav label {
    font-size: 1.7rem;
    color: #fff;
    display: none;
}

nav .wrapper{
    display: flex;
    justify-content: flex-end;
    padding: 1rem 0rem;
    height: 70px;
    align-items: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
}

nav ul {
    display: flex;
}

nav li {
    margin-left: 2rem;
}

nav li:first-child {
    margin-left: 0rem;
}

nav a {
    color: #fff;
    font-weight: 500;
}

nav li:last-child a {
    padding: .5rem;
    background: #fff;
    color: var(--main-color);
    border-radius: 20px;
}


.hero {
    position: relative;
    min-height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
}

.hero-grid {
    padding-bottom: 1rem;
    padding-top: calc(70px + 2rem);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
}

.hero-img {
    display: flex;
    justify-content: flex-end;
}

.hero-desc h1{  
    font-size: 3.4rem;
    margin-bottom: 1rem;
    color: #fff;
    font-weight: 600;
}

.hero-desc p {
    margin-bottom: 2.5rem;
    font-size: 1.2rem;
    color: #fff;
}

.hero-btn a {
    display: inline-block;
}

.hero-btn a:first-child{
    margin-right: 1rem;
}

.features {
    padding: 4rem 0rem;
}

.features h2 {
    font-size: 2.5rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 1.4rem;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2rem;
    margin-top: 3rem;
}

.feature {
    box-shadow: 2px 10px 20px rgba(69, 158, 255, 0.1);
    padding: 3rem 2rem;
    background: #d9ba84;
    border-radius: 10px;
}

.feature-icon {
    position: relative;
    margin-bottom: 2rem;
}

.feature-icon div {
    height: 100px;
    width: 100px;
    /* background: #ecf5ff;
    border-radius: 50%; */
    margin: auto; 
}

.feature-icon div img {
    width:120px;
}

.feature-icon span {
    font-size: 3.3rem;
    color: #333;
    position: absolute;
    top: 50%;
    transform: translateY(-60%);
    left: 46%;
}

.feature-desc h3 {
    font-weight: 600;
    text-align: center;
    margin-bottom: .5rem;
}

.feature-desc p {
    margin-bottom: 1rem;
    text-align: justify;
    line-height: 1.5rem;
    font-size: .9rem;
    font-weight: 500;
    color: #000;
}

.feature-btn  {
    text-align: center;
}

.feature-btn a {
    color: var(--main-color);
    font-size: 1.3rem;
}

.app-section {
    padding: 4rem 0rem;
    padding-top: 10rem;
}

.app-section:last-child {
    padding-bottom: 5rem;
}

.app-grid {
    display: grid;
    grid-template-columns: 45% 55%;
    grid-gap: 1rem;
}

.app-grid.inverse {

    grid-template-columns: 55% 45%;

}

.app-grid.inverse .small-circle {
    margin-left: 10px;
}

.small-circle {
    display: block;
    height: 70px;
    width: 70px;
    background: var(--main-color);
    border-radius: 50%;
    margin-left: calc(100% - 80px);
}

.app-desc h2 {
    font-size: 2.4rem;
    margin-top: 3rem;
    margin-bottom: 2rem;
}

.app-desc p {
    margin-bottom: 3rem;
}

.control-btn {
    box-shadow: 10px 20px 60px rgba(0, 0, 0, 0.12);
    max-width: 80%;
    display: flex;
    align-items: center;
    padding: .5rem 1rem;
    border-radius: 8px;
    margin-bottom: 1.5rem;
    height: 80px;
}

.control-btn.left {
    margin-left: 10%;
}

.control-btn div {
    font-weight: 600;
}

.control-btn span {
    font-size: 1.5rem;
    color: var(--main-color);
    display: inline-block;
    margin-right: 1.5rem;
}

.app-image {
    position: relative;
    display: flex;
    justify-content: center;
    align-content: center;
}

.circle {
    width: 500px;
    height: 500px;
    background: var(--main-color);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position:absolute;
}

.app-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*box-shadow: 0px 40px 90px rgba(0, 2, 55, 0.2);*/
}

.app-image .app-cards {
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);

    width: 350px;
 
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
    background: transparent;
}

.app-span-btn span{
    color: var(--main-color);
    font-size: 2rem;
}

.card {
    margin-bottom: 1rem;
    border-radius: 8px;
    background: #fff;
    padding: 2rem 1rem;
    box-shadow: 0px 40px 90px rgba(0, 2, 55, 0.2);
}

.card h3 {
    text-align: center;
    margin-bottom: .5rem;
}

.card p {
    font-size: .85rem;
    color: #666;
    text-align: justify;
}

.card-wrapper:last-child {
    margin-top: 4rem;
}

.card-wrapper:first-child {
    margin-top: 4rem;
}

.analytics {
    margin-top: 8rem;
    padding: 5rem 0rem;
    background: #ecf5ff;
}


.page-head {
    text-align: center;
}

.page-head h1 {
    margin-bottom: 1rem;
    color: #459EFF;
    font-weight: 600;
    font-size: 2.3rem;
}

.page-head p {
    color: #6d7783;
}

.card-analytics {
    width: 70%;
    display: grid;
    margin: 3rem auto;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2rem;
    

}

.analytic {
    background: rgb(24, 134, 138);
    box-shadow: 0px 2px 30px rgba(69, 158, 255, .4);
    padding: 2rem;
    /* text-align: center; */
    color: #fff;
}

.analytic h2 {
    color: #459EFF;
    font-size: 2rem;
    margin-bottom: .7rem;
}

.analytic h2 span {
    font-size: .9rem;
}

.analytic h2 + small {
    font-weight: 600;
    color: #333;
    font-size: 1rem;
}

.analytic-btn {
    text-align: center;
}

.analytic-btn a {
    background: #459EFF;
    color: #fff;
    border-radius: 20px;
    padding: .7rem 1.5rem;
}

.agency-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 5rem;
}

.agency-logos span {
    color: #459EFF;
    display: inline-block;
    margin-left: 3.5rem;
    font-size: 4rem;
}

.agency-logos span:first {
    margin-left: 0;
}

.agency-logos span:first {
    margin-left: 0;
}

.news {
    padding: 4rem 0rem;
}

.news .wrapper {
    text-align: center;
}

.news a {
    color: #333;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 2rem;
    font-weight: 600;
    cursor: pointer;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 2rem;
    margin-bottom: 1rem;
}

.article-img {
    height: 210px;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.12);
    margin-bottom: .5rem;
}

.article h4 {
    font-size: 1.1rem;
    color: #555;
    font-weight: 600;
    margin-bottom: .5rem;
}

.article small {
    font-weight: 600;
    color: #777;
}

.promo {
    padding: 4rem 0rem;
    background: var(--main-color);
    text-align: center;
    color: #fff;
}

.promo h2 {
    margin: 1.5rem 0rem;
    font-size: 2.6rem;
}

.promo-btn a {
    display: inline-block;
}

.promo-btn a:first-child {
    margin-right: 1rem;
}

.promo-btn form div {
    width: 80%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 20px;
    
    

}

.video-grid {
    padding-top: 56px;
    padding-left: 56px;
    padding-bottom: 20px;
}

.promo-btn form div label {
    text-align: right;
    padding-right: 10px;
}

.promo-btn form div input{
    width: 80%;
    margin-left: 10px;
    font-size: 1.25rem;
    border-radius: 3px;
    border: none;
    outline: none;
    padding-left: 3px;

}

    .promo-btn form div textarea {
        width: 80%;
        margin-left: 10px;
        font-size: 1.25rem;
        border-radius: 3px;
        border: none;
        outline: none;
        padding-left: 3px;
    }

.promo-btn form div button{
    width: 100px;
    margin-left: 10px;
    font-size: 1.25rem;
    border-radius: 3px;
    border: none;
    outline: none;
    padding-left: 3px;
    background-color: cornflowerblue;
    color: #fff;
}

footer {
    padding: 4rem 0rem 0rem 0rem;
}

.footer-grid {
    display: grid;
    justify-content:center;
}

.footer-menu-wrapper {
    display: flex;
}

.footer-menu-block:first-child {
    margin-right: 2rem;
}

footer h4 {
    color: #333;
    margin-bottom: .5rem;
    font-weight: 600;
}

footer li {
    margin-bottom: .4rem;
    
}

footer a, footer li {
    color:#555;
    font-weight: 400;
}

.copyright {
    padding: 3rem 0rem 2rem 0rem;
    text-align: center;
    color: #555;
    font-weight: 500;
}

footer .social-icons {
    margin-top: 1rem;
}

footer .social-icons span {
    font-size: 2.2rem;
    color: #555;
}

@media only screen and (max-width: 1280px) {
    .wrapper {
        width: 90%;
    }
}

@media only screen and (max-width: 960px) {
    .hero {
        min-height: 65vh;
    }


/*    .hero-desc br {
        display: none;
    }*/

    .hero-grid {
        grid-template-columns: repeat(1,1fr);
        align-items: center;
    }

    .hero-desc {
        text-align: center;
    }

    .hero-img img{
        width: 100% !important;
    }

    .app-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .app-grid, .app-grid.inverse {
        grid-template-columns: repeat(1,1fr);
        align-items: center;
    }



    .app-desc {
        color: #ffbfbf;
        width: 100% !important;
        z-index: 9999 !important
    }


    .app-image {
        width: 100% !important;
    }

    .card-analytics {
        width: 100%;
    }

    .app-section:last-child {
        padding-bottom: 0rem;
    }
}



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

    nav label {
        display: inline-block;
    }

    nav ul {
        display: block;
        position: fixed;
        background: #fff;
        right: 10px;
        z-index: 50;
        width: 250px;
        border-radius: 8px;
        transition: top 300ms;
        top: -100%;
    }

    #menu-toggle:checked ~ nav ul { 
        top: 65px;
    }

    nav li:last-child a {
        background: none;
        color: #333;
        padding: 1rem;
        display: inline-block;

    }

    .promo-btn form div input{
        width: 100%;
    
    }

    .promo-btn form div textarea {
        width: 100%;
    }

    nav li:last-child {
        margin-left: 0;
        border-bottom:  none
    }

    nav li {
        margin-left: 0;
        border-bottom: 1px solid #efefef;
    }

    nav li a {
        color: #333;
        padding: 1rem;
        display: inline-block;
    }

    .features h2 {
        font-size: 2rem;
    }

    .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .news-grid, .card-analytics {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (max-width: 500px) {
    .news-grid, .card-analytics, .feature-grid, .footer-grid {
        grid-template-columns: 100%;
    }

    .footer-right {
        margin-top: 2rem;
    }

    .social-icons {
        text-align:center;
    }

    .footer-right ul {
        text-align:center;
        margin-left:0px;
    }

    video {
        width: 100%;
        height: auto;
    }

    .video-grid {
        padding-left: 0px;
    }

    .footer-menu-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 2rem;
    }
}
