/*------------------------------------
General
------------------------------------*/

iframe {
    max-width: 100%;
}

.landing-container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    width: auto;
}

.landing-page-template {
    height: 100vh;
    overflow-anchor: none;
    scroll-behavior: smooth;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    background: #fff;
    color: #333;
    font-size: 15px;
    letter-spacing: 0.01em;
    line-height: 26px;
    --heading-size: 25px;
}

.landing-heading--lg {
    font-weight: 500;
    font-size: 32px;
    line-height: 38px;
    margin-bottom: 10px;
}

.landing-heading {
    text-align: center;
    font-weight: 500;
    font-size: var(--heading-size);
    line-height: 30px;
    color: #333;
}

.landing-heading--sm {
    font-weight: 500;
    font-size: 21px;
    line-height: 24px;
}

.landing-page-template form {
    font-size: 16px;
}

.landing-btn,
button[type="submit"] {
    background: #f47321;
    color: #fff;
    border-radius: 3px;
    border: 0;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 29px;
    text-align: center;
    padding: 15px 60px;
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.landing-btn:hover,
button[type="submit"]:hover {
    opacity: .6;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.hidden-mobile {
    display: none;
}

@media (min-width: 1025px) {
    .landing-container {
        width: 1008px;
    }

    .hidden-desktop {
        display: none;
    }

    .hidden-mobile {
        display: block;
    }
}

@media (min-width: 768px) {
    .landing-heading--lg {
        font-size: 40px;
    }

    .landing-page-template {
        --heading-size: 29px;
    }

    .landing-heading {
        line-height: 40px;
    }
}


/*------------------------------------
Header
------------------------------------*/

.landing-header {
    background-color: #fff;
    padding-top: 9px;
    padding-bottom: 5px;
}

.landing-header__logo {
    width: 100px;
    height: auto;
}

@media (min-width: 768px) {
    .landing-header__logo {
        width: 159px;
    }

    .landing-header {
        padding-top: 14px;
        padding-bottom: 14px;
    }
}


/*------------------------------------
Intro
------------------------------------*/

.landing-intro {
    min-height: 623px;
    padding-top: 30px;
    padding-bottom: 80px;
    margin-bottom: 25px;
    overflow: hidden;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.landing-intro__img-wrapper {
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 1;
}

.landing-intro__img {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
}

.landing-intro__content {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    width: auto;
    position: relative;
    z-index: 2;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}

.landing-intro__content--right,
.landing-intro__content--left {
    width: 100%;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    -ms-grid-column-align: center;
        justify-self: center;
}

.landing-intro__content--right {
    margin-top: 30px;
    margin-bottom: 20px;
}

.landing-intro__content--right iframe {
    border: 2px solid #FAFBFB;
    border-radius: 3px;
    box-sizing: border-box;
}

.landing-intro__content--left {
    text-align: center;
}

.video-wrapper {
    max-width: 504px;
    margin: 0 auto;
}

.landing-intro__desc,
.landing-intro__title,
.landing-intro__subtitle {
    color: #fff;
}

.landing-intro__subtitle {
    font-weight: 500;
    font-size: 23px;
    line-height: 40px;
}

.landing-intro__title {
    margin-bottom: 10px;
}

.landing-intro__desc {
    font-weight: normal;
    font-size: 15px;
    line-height: 23px;
}

@media (min-width: 768px) {
    .landing-intro__desc {
        font-weight: normal;
        font-size: 17px;
        line-height: 29px;
    }
}

@media (min-width: 900px) {
    .landing-intro {
        padding-top: 0;
        padding-bottom: 0;
    }

    .landing-intro__content {
        width: 1038px;
        grid-gap: 80px;
        -ms-grid-columns: 1fr 80px 500px;
        grid-template-columns: 1fr 500px;
    }

    .landing-intro__content--right,
    .landing-intro__content--left {
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center;
        -ms-grid-column-align: left;
            justify-self: left;
    }

    .landing-intro__content--right {
        margin-top: 0;
        margin-bottom: 0;
    }


    .landing-intro__content--left {
        text-align: left;
    }

    .landing-intro__content {
        margin-top: -88px;
    }
}



/*------------------------------------
Form
------------------------------------*/

.landing-form {
    margin-bottom: 40px;
    margin-top: -88px;
}

.landing-form__wrapper {
    position: relative;
    background: #FAFBFB;
    padding: 50px 15px;
    border-radius: 0;
    z-index: 3;
}


/* Form Styles */
.freeform-column .landing-heading {
    margin-top: -10px;
    /* margin-bottom: -10px; */
    line-height: normal;
}

.landing-form__wrapper input,
.landing-form__wrapper .freeform-input {
    font-family: 'Roboto', sans-serif;
    border: 1px solid #A3BAC6;
    border-radius: 3px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 13px 20px;
    font-size: 16px;
}

.landing-form__wrapper textarea {
    font-family: 'Roboto', sans-serif;
    min-height: 96px;
}

.landing-form__wrapper .freeform-label {
    font-weight: normal !important;
    font-size: 14px;
    letter-spacing: 0.01em;
    line-height: 29px;
    text-align: left;
    color: #333;
}

.landing-form__wrapper .form-grid-item .freeform-column {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
}

.landing-form__wrapper .form-grid-item .freeform-column input,
.landing-form__wrapper .form-grid-item .freeform-column label {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.01em;
    line-height: 29px;
    color: #507287;
}

.landing-form__wrapper .form-grid-item .freeform-column .freeform-label {
    grid-column: 1 / -1;
    color: #333333;
    margin-bottom: 10px
}

.landing-form__wrapper button[type="submit"] {
    font-family: 'Roboto', sans-serif;
    width: 100%;
    margin-top: 5px;
}

.landing-form__wrapper .errors .freeform-errors {
    margin: 0;
}

.landing-form__wrapper .freeform-row .freeform-column .freeform-errors>li {
    padding-top: 0;
}

.landing-form__wrapper .freeform-form-has-errors {
    width: 100%;
    text-align: center;
    background: #ff000030;
    padding: 7px;
    margin-bottom: 10px;
}

/* max width to best override freeform styles */
@media (max-width: 767px) {
    .landing-form__wrapper  .freeform-row:nth-child(9) .freeform-column {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    }

    .landing-form__wrapper  .freeform-row {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .landing-form__wrapper .freeform-row .freeform-column {
        -webkit-box-flex: 100%;
            -ms-flex: 100%;
                flex: 100%;
        padding: 5px 0;
    }

    .landing-form__wrapper input,
    .landing-form__wrapper .freeform-input {
        padding: 10px 10px;
    }

    .landing-form .landing-container {
        border-radius: 0;
        padding-right: 0;
        padding-left: 0;
    }

    .landing-form__wrapper button[type="submit"] {
        margin-top: 20px;
    }
}

@media (max-width: 400px) {
    .landing-form__wrapper .freeform-row:nth-child(9) .freeform-column {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }
}
/* max width end */

@media (min-width: 768px) {
    /* .landing-form {
        margin-bottom: 104px;
        margin-top: -40px;
    } */

    .landing-form__wrapper {
        padding: 40px;
        border-radius: 3px
    }
}

@media (min-width: 900px) {
    .landing-form__wrapper {
        padding: 65px 100px 80px 100px;
        border-radius: 3px
    }

    .landing-form {
        margin-bottom: 104px;
        margin-top: -118px;
    }

}

/*------------------------------------
Why Choose
------------------------------------*/

.why-choose {
    margin-top: 40px;
    margin-bottom: 40px;
}

.why-choose__heading {
    margin-bottom: 19px
}

.why-choose__blocks {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    border: 1px solid #A3BAC6;
    border-radius: 3px;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
}

.icon-block__icon {
    height: 50px;
    width: 50px;
    margin-bottom: 14px;
}

.icon-block__icon img {
    height: 50px;
    width: auto;
}

.icon-block {
    text-align: left;
    border-bottom: 1px solid #A3BAC6;
    padding: 20px;
}

.icon-block:last-child {
    border-bottom: 0;
}

.icon-block__heading {
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .why-choose {
        margin-top: 104px;
        margin-bottom: 100px;
    }

    .why-choose__blocks {
        -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 30px;
        max-width: 100%;
    }

    .icon-block {
        padding: 0;
        text-align: center;
        border: 0;
    }

    .icon-block__icon {
        margin: 0 auto;
        height: 115px;
        width: 115px;
        margin-bottom: 0;
    }

    .icon-block__icon img {
        height: 115px;
        width: auto;
    }

    .why-choose__blocks {
        border: 0;
        border-radius: initial;
    }
}


/*------------------------------------
Logo Slider
------------------------------------*/

.logo-slider {
    margin-top: 80px;
    margin-bottom: 80px;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.logo-slider__container {
    margin: 0 auto;
}

.logo-slider__heading {
    margin-bottom: 33px;
}

.logo-slider__row {
    width: 100%;
    height: 100px;
    background-repeat: no-repeat;
    background-size: auto 100px;
    margin: 20px 0;
}

.logo-slider__logo {
    border-radius: 3px;
    border: 1px solid #A3BAC6;
    height: 100px;
    width: 100px;
}

.logo-slider__row--1 {
    background-position: right center;
    animation: top-animatedBackground 30s linear infinite;
    -moz-animation: top-animatedBackground 30s linear infinite;
    -webkit-animation: top-animatedBackground 50s linear infinite;
    -ms-animation: top-animatedBackground 30s linear infinite;
    -o-animation: top-animatedBackground 30s linear infinite;
}

.logo-slider__row--2 {
    background-position: 0 center;
    animation: bottom-animatedBackground 30s linear infinite;
    -moz-animation: bottom-animatedBackground 30s linear infinite;
    -webkit-animation: bottom-animatedBackground 50s linear infinite;
    -ms-animation: bottom-animatedBackground 30s linear infinite;
    -o-animation: bottom-animatedBackground 30s linear infinite;
}

@keyframes top-animatedBackground{0%{background-position:0 0}100%{background-position:100% 0}}
@-webkit-keyframes top-animatedBackground{0%{background-position:0 0}100%{background-position:100% 0}}.logo-slider__row--1{background-image:url(https://www.connectpointz.com/logos-row-1.jpg);background-position:right center;animation:top-animatedBackground 30s linear infinite;-moz-animation:top-animatedBackground 30s linear infinite;-webkit-animation:top-animatedBackground 50s linear infinite;-ms-animation:top-animatedBackground 30s linear infinite;-o-animation:top-animatedBackground 30s linear infinite}
@keyframes bottom-animatedBackground{0%{background-position:100% 0}100%{background-position:0 0}}
@-webkit-keyframes bottom-animatedBackground{0%{background-position:100% 0}100%{background-position:0 0}}.logo-slider__row--2{background-image:url(https://www.connectpointz.com/logos-row-2.jpg);background-position:0 center;animation:bottom-animatedBackground 30s linear infinite;-moz-animation:bottom-animatedBackground 30s linear infinite;-webkit-animation:bottom-animatedBackground 50s linear infinite;-ms-animation:bottom-animatedBackground 30s linear infinite;-o-animation:bottom-animatedBackground 30s linear infinite}

@media (min-width: 768px) {
    .logo-slider {
        margin-top: 100px;
        margin-bottom: 100px;
    }
}


/*------------------------------------
Logo Slider
------------------------------------*/

.features {
    background: #FAFBFB;
    padding-top: 40px;
    padding-bottom: 40px;
}

.features__heading {
    margin-bottom: 20px;
}

.features__blocks {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}

.bulleted-block {
    position: relative;
    margin-left: 35px;
    margin-bottom: 20px;
}

.bulleted-block:before {
    content: '';
    position: absolute;
    top: 10px;
    left: -35px;
    height: 20px;
    width: 20px;
    background: #00A9E3;
    border-radius: 50%;
}

.bulleted-block__text h1,
.bulleted-block__text h2,
.bulleted-block__text h3,
.bulleted-block__text h4,
.bulleted-block__text h5,
.bulleted-block__text h6 {
    font-weight: 500;
    font-size: 18px;
    line-height: 40px;
}

@media (min-width: 768px) {
    .features {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .features__blocks {
        -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 30px;
    }

    .bulleted-block {
        margin-bottom: 0;
    }

    .features__heading {
        margin-bottom: 44px;
    }

    .bulleted-block__text h1,
    .bulleted-block__text h2,
    .bulleted-block__text h3,
    .bulleted-block__text h4,
    .bulleted-block__text h5,
    .bulleted-block__text h6 {
        font-size: 21px;
    }
}

/*------------------------------------
CTA/Testimonial secition
------------------------------------*/

.cta-testimonial {
    background: #023351;
    padding-top: 35px;
    padding-bottom: 35px;
    color: #fff;
}

.cta-testimonial-grid {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
}

.cta-testimonial--left {
    text-align: center;
    width: 100%;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
}

.cta-testimonial--right {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    padding: 36px 30px;
    background: #fff;
    border-radius: 3px;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
}

.cta-testimonial hr {
    width: 309px;
    max-width: 80%;
    border: 1px solid #00A9E3;
    margin-bottom: 20px;
}

.cta__desc h1,
.cta__desc h2,
.cta__desc h3,
.cta__desc h4,
.cta__desc h5 {
    font-weight: 500;
    font-size: 32px;
    line-height: normal;
    margin-bottom: 10px;
}

.cta__desc,
.testimonial__desc,
.testimonial__website,
.testimonial__author {
    font-size: 17px;
    line-height: 29px;
}

.cta__desc,
.testimonial__desc,
.testimonial__website {
    font-weight: normal;
}

.testimonial__desc,
.testimonial__website {
    color: #333333;
}

.cta__desc {
    margin-bottom: 33px;
}

.testimonial__desc {
    margin-bottom: 23px;
}

.testimonial__author {
    color: #00A9E3;
}

.testimonial__quotes {
    position: absolute;
    right: 31px;
    bottom: 42px;
}

@media (min-width: 768px) {
    .cta-testimonial {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .cta__desc h1,
    .cta__desc h2,
    .cta__desc h3,
    .cta__desc h4,
    .cta__desc h5 {
        font-size: 40px;
    }

    .cta-testimonial--right {
        max-width: 504px;
        padding: 46px 40px;
    }
}

@media (min-width: 1040px) {
    .cta-testimonial-grid {
        -ms-grid-columns: 1fr 30px 504px;
        grid-template-columns: 1fr 504px;
        grid-gap: 30px;
    }

    .cta-testimonial--left {
        text-align: left;
    }

    .cta-testimonial--right {
        margin-top: 0;
    }

    .cta-testimonial hr {
        margin-bottom: 20px;
    }

    .cta-testimonial--right {
        margin-top: 0px;
    }
}


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

.landing-footer {
    padding-top: 25px;
    padding-bottom: 25px;
}

.landing-footer__grid {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 30px 1fr;
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px;
}

.landing-footer__col {
    font-size: 17px;
}

.landing-footer__col li,
.landing-footer__col li a {
    font-size: 16px;
    color: #333333;
}

.landing-footer__col li a:hover {
    font-size: 16px;
    color: #333333;
    text-decoration: underline;
}

.footer-heading {
    text-transform: uppercase;
    color: #023351;
    font-weight: 500;
}

.landing-footer__col--2 {
    -ms-grid-column-align: end;
        justify-self: end;
    text-align: right;
}

.landing-footer__col--3 {
    -ms-grid-column-align: end;
        justify-self: end;
}

.landing-footer__copyright {
    font-size: 12px;
}

.capterra-desktop { display: none; }
.capterra-tablet { display: block; }

.landing-footer__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 35px
}

@media (min-width: 1025px) {
    .landing-footer {
        padding-top: 63px;
        padding-bottom: 63px;
    }

    .landing-footer__col--2 {
        -ms-grid-column-align: start;
            justify-self: start;
        text-align: left;
    }

    .landing-footer__grid {
        -ms-grid-columns: 326px 30px 326px 30px 1fr;
        grid-template-columns: 326px 326px 1fr;
        grid-gap: 30px;
    }

    .capterra-desktop { display: block; }
    .capterra-tablet { display: none; }

}
