.ct-container {
    position: relative;
    display: block;
    padding-top: 228px;
}

.ct-top {
    position: relative;
    display: block;
    background: #000;
    min-height: 240px;
    padding: 0px 30px;
    background: url('../../img/front/contact/ricosta-contact-background.jpg') no-repeat;
    background-position: 50% !important;
    background-size: cover !important;
}

.ct-top img {
    position: relative;
    display: block;
    opacity: 0;
}

.ct-top .mid {
    position: absolute;
    left: 0px;
    top: 0px;
}

.ct-top-content {
    position: relative;
    display: block;
    text-align: center;
    padding-bottom: 11.5%;
    /* padding-top: 100px; */
    color: #fff;
    font-family: "Heebo";
}

.ct-title {
    position: relative;
    display: block;
    font-size: 50px;
    margin: 0px auto 10px;
    padding: 0px;
}

.mac-os .ct-title {
    margin-bottom: 30px;
}

.ct-desc {
    position: relative;
    display: block;
    font-family: "Heebo";
    font-weight: normal;
    font-size: 30px;
    margin-bottom: 25px;
}

.mac-os .ct-desc {
    line-height: 22px;
}

.ct-form {
    position: relative;
    display: block;
    width: 100%;
    max-width: 610px;
    height: 85px;
    margin: 0px auto;
}

.ct-text {
    font-family: "Heebo";
    margin: 0px auto;
    position: relative;
    display: block;
    width: 100%;
    max-width: 610px;
    height: 85px;
    border: 3px solid #fff;
    color: #fff;
    padding: 0px 120px 0px 20px;
    font-size: 24px;
    background: transparent;
}

.ct-text::placeholder { 
    color: #fff;
}

.ct-submit {
    position: absolute;
    display: block;
    width: 80px;
    height: 85px;
    border: 0px;
    right: 23px;
    top: 0px;
    background: url('../../img/front/contact/submit-icon.png') no-repeat;
    background-position: center right !important;
    background-size: auto 26px !important;
    font-size: 0px;
}

.ct-group {
    position: absolute;
    display: block;
    text-align: center;
    font-size: 24px;
    color: #fff;
    bottom: calc((100% - 375px) / 3);
    left: 0px;
    width: 100%;
    font-weight: normal;
    line-height: 37px;
}

.ct-group span {
    position: relative;
    display: block;
}

.ct-faq {
    position: relative;
    display: block;
    padding: 100px 30px;
    text-align: center;
}

.ct-faq-title {
    position: relative;
    display: block;
    font-size: 50px;
    font-family: "Heebo";
    margin: 0px auto 80px;
}

.ct-faq-desc {
    position: relative;
    display: block;
    font-family: "Heebo";
    font-size: 24px;
}

.ct-faq-list {
    position: relative;
    display: block;
    width: 100%; 
    max-width: 980px;
    text-align: left;
    margin: 0px auto 30px;
}

.ct-faq-list span {
    position: relative;
    font-weight: normal;
    padding-left: 15px;
    display: block;
}

.ct-faq-subtitle {
    font-size: 30px;
    margin-bottom: 10px;
    padding-left: 30px;
}

.ct-faq-subtitle:before {
    content: "";
    position: absolute;
    display: block;
    left: 0px;
    top: 0px;
    width: 20px;
    height: 25px;
    background: url('../../img/front/ricosta-favicon.png') no-repeat;
    background-size: contain !important;
    background-position: 50% !important;
}

/* Desktops and laptops */
@media screen and (min-width : 1224px) {

}

@media screen and (max-width: 1367px) {
    .ct-container {
        padding-top: 120px;
    }

    .ct-title {
        font-size: 40px;
    }

    .ct-desc {
        font-size: 24px;
    }

    .ct-text {
        height: 60px;
        border: 2px solid #fff;
        font-size: 20px;
    }

    .ct-group {
        font-size: 20px;
        line-height: 30px;
    }

    .ct-faq-title {
        font-size: 40px;
    }

    .ct-faq-subtitle {
        font-size: 24px;
    }

    .ct-faq-desc {
        font-size: 18px;
        line-height: 24px;
    }

    .ct-submit {
        height: 60px;
    }
}

/* Tablet */
@media screen and (max-width: 1024px) {
    .ct-top-content {
        padding-bottom: 8.5%;
    }

    .ct-title {
        font-size: 30px;
    }

    .mac-os .ct-title {
        margin-bottom: 20px;
    }

    .ct-desc {
        font-size: 18px;
    }

    .ct-form {
        height: 40px;
    }

    .ct-text {
        height: 40px;
        font-size: 16px;
    }

    .ct-submit {
        height: 40px;
        background-size: auto 16px !important;
    }

    .ct-group {
        font-size: 16px;
        line-height: 26px;
        bottom: calc((100% - 270px) / 3);
    }

    .ct-faq-title {
        font-size: 30px;
    }

    .ct-faq-subtitle {
        font-size: 20px;
    }

    .ct-faq-desc {
        font-size: 14px;
    }
}

@media screen and (max-width: 970px) {
    
}

/* Mobile */
@media screen and (max-width: 768px) {
    .ct-container {
        padding-top: 100px;
    }

	.ct-top-content {
        padding-bottom: 15%;
    }

    .ct-title {
        font-size: 24px;
        margin-bottom: 0px;
    }

    .ct-desc {
        font-size: 14px;
        margin-bottom: 15px;
    }

    .ct-form {
        height: 40px;
    }

    .ct-text {
        height: 40px;
        font-size: 16px;
    }

    .ct-submit {
        height: 40px;
        background-size: auto 16px !important;
    }

    .ct-group {
        font-size: 12px;
        line-height: 16px;
        bottom: calc((100% - 170px) / 3);
    }

    .ct-faq {
        padding: 50px 20px;
    }

    .ct-faq-title {
        font-size: 24px;
        margin: 0px auto 40px;
    }

    .ct-faq-subtitle {
        font-size: 18px;
    }

    .ct-faq-desc {
        font-size: 12px;
    }
}

@media screen and (max-width : 670px) {
    
}

@media screen and (max-width : 600px) {
    
}

@media screen and (max-width : 500px) {
	.ct-faq-title {
        font-size: 22px;
    }

    .ct-title {
        font-size: 20px;
    }

    .ct-desc {
        font-size: 12px;
    }
}