@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. 1600px
2. 1440px
3. 1280px
4. 1199px
5. 1024px
6. 991px
7. 959px
8. 880px
9. 768px
10. 767px
11. 539px
12. 479px
13. 400px

******************************/

/* Bootstrap Container Override */

@media (min-width: 992px)
{
    .container
    {
        max-width: 1240px;
    }
}

/************
1. 1600px
************/

@media only screen and (max-width: 1600px)
{
	
}

/************
2. 1440px
************/

@media only screen and (max-width: 1440px)
{
	.header
    {
        width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }
}

/************
3. 1380px
************/

@media only screen and (max-width: 1380px)
{
	
}

/************
3. 1280px
************/

@media only screen and (max-width: 1280px)
{
	
}

/************
4. 1199px
************/

@media only screen and (max-width: 1199px)
{
    .header > div
    {
        padding-left: 32px;
    }
    .main-nav-item
    {
        margin-right: 24px;
    }
    .hero_container
    {
        padding-top: 253px;
    }
    .hero-heading 
    {
        max-width: 960px;
    }
    h1
    {
        font-size: 106px;
    }
    .hero-subtext
    {
        font-size: 24px;
    }
	.logo
    {
        max-width: 203px;
    }
    .cta-container
    {
        padding-left: 150px;
        padding-right: 150px;
    }
}

/************
4. 1100px
************/

@media only screen and (max-width: 1100px)
{
    .logo
    {
        max-width: 140px;
        margin-top: 4px;
    }
    .cta-container
    {
        padding-left: 100px;
        padding-right: 100px;
    }
}

/************
5. 1024px
************/

@media only screen and (max-width: 1024px)
{
    .header
    {
        top: 20px;
    }
	.hero-heading 
    {
        max-width: 100%;
    }
    .header-content
    {
        display: none !important;
    }
    .main-nav
    {
        width: 64px;
        height: 48px;
        padding-left: 0;
        padding-right: 0;
    }
    .menu-close
    {
        top: 44px;
    }
    .menu-button
    {
        top: 44px;
        display: flex !important;
    }
}

/************
6. 991px
************/

@media only screen and (max-width: 991px)
{
	h1
    {
        font-size: 92px;
    }
    .hero-subtext
    {
        font-size: 22px;
    }
    .services-container
    {
        --bs-gutter-x: 20px;
    }
    .service-item-image-container
    {
        width: 204px;
        height: 204px;
        flex-basis: 204px;
    }
    .service-item
    {
        align-items: center;
        margin-bottom: 20px;
    }
    .service-item div
    {
        padding-top: 0;
    }
    .service-item-description
    {
        font-size: 16px;
    }
    .service-item-link
    {
        font-size: 16px;
        padding-left: 48px;
        padding-right: 48px;
    }
    .mission-content-container
    {
        padding-right: 10px;
    }
    .mission-content-container > p
    {
        font-size: 16px;
    }
    .mission-title
    {
        margin-bottom: 23px;
    }
    .mission-content-container > p:not(:last-of-type)
    {
        margin-bottom: 24px;
    }
    .user
    {
        font-size: 48px;
    }
    .user-subtitle
    {
        font-size: 14px;
    }
    .mission-content-container
    {
        margin-bottom: 18px;
    }
    .quote-decor
    {
        transform: scale(0.62);
    }
    .decoration-start
    {
        top: -20px;
        left: -30px;
    }
    .decoration-end
    {
        position: relative;
        bottom: 0;
	    right: 0;
    }
    .decoration-start img
    {
        transform: translate(0px, 0px) scale(0.62);
    }
    .decoration-end img
    {
        transform: translate(-17px, -22px) scale(0.62);
    }
    .cta
    {
        padding-top: 0;
    }
    .cta-container
    {
        padding-left: 30px;
        padding-right: 30px;
        padding-top: 39px;
        padding-bottom: 53px;
    }
    .cta-subtext-container
    {
        margin-bottom: 12px;
    }
    .cta-title
    {
        margin-bottom: 37px;
    }
    .cta-button
    {
        margin-top: 39px;
    }
    .cta-title
    {
        font-size: 38px;
    }
    .cta-subtext
    {
        font-size: 18px;
    }
    .contact-content
    {
        flex-direction: row !important;
        justify-content: center;
        align-items: center;
        padding-top: 36px;
        padding-bottom: 59px;
    }
    .contact-logo-container
    {
        width: 98px;
        margin-right: 50px;
        margin-bottom: 0;
    }
    .contact-email a, .contact-phone a
    {
        font-size: 20px;
        font-weight: 300;
    }
    .contact-form-container
    {
        margin-top: 40px;
    }
    .contact-content-r
    {
        margin-top: 17px;
    }
    .contact-form-button
    {
        margin-top: 30px;
    }
    .team
    {
        padding-bottom: 0;
    }
    .contact
    {
        padding-top: 39px;
        padding-bottom: 83px;
    }
    .footer
    {
        text-align: center;
    }
    .footer-logo-container
    {
        margin-bottom: 50px;
    }
    .footer-logo
    {
        margin-bottom: 11px;
    }
    .footer-logo-container
    {
        margin-bottom: 45px;
    }
    .footer-col
    {
        margin-bottom: 45px;
    }
    .footer-main-content
    {
        padding-bottom: 0;
    }
    .footer-col-last
    {
        margin-bottom: 26px;
    }
    .footer-extra-bar
    {
        max-width: 293px;
        margin-left: auto;
        margin-right: auto;
    }
    .footer-container
    {
        max-width: 100% !important;
    }
    .footer-background
    {
        top: 0%;
        width: 100%;
        height: 100%;
        left: 0%;
        pointer-events: none;
        opacity: 0.05;
        background-size: contain;
    }
}

/************
7. 959px
************/

@media only screen and (max-width: 959px)
{
	
}

/************
8. 880px
************/

@media only screen and (max-width: 880px)
{
	
}

/************
9. 768px
************/

@media only screen and (max-width: 768px)
{
	h1
    {
        font-size: 78px;
        line-height: 1.2;
    }
    h2
    {
        font-size: 38px;
    }
    .content p
    {
        font-size: 16px;
    }
    .content .section-subtext
    {
        font-size: 18px;
    }
    .subpage-hero h1
    {
        font-size: 56px;
    }
    .subpage_hero_content .hero-subtext
    {
        font-size: 22px;
        margin-top: 19px;
    }
    .header
    {
        top: 23px;
        padding-left: 40px;
        padding-right: 40px;
    }
    .header > div
    {
        padding-right: 24px;
    }
    .menu-button
    {
        right: 63px;
        top: 47px;
    }
    .hero_container
    {
        padding-top: 156px;
    }
    .hero-subtext
    {
        font-size: 22px;
        margin-top: 19px;
    }
    .hero_buttons 
    {
        margin-top: 40px;
    }
    .brands
    {
        margin-top: 95px;
    }
    .brands_swiper
    {
        padding-top: 17px;
        padding-bottom: 17px;
    }
    .brands-title
    {
        font-size: 20px;
        margin-bottom: 0;
    }
    .brands_slider_container
    {
        width: 110vw;
        left: -5vw;
    }
    .swiper-slide
    {
        width: auto !important;
    }
    .brands_slide div img
    {
        width: auto;
        height: 60px;
    }
    .page-section
    {
        padding-top: 54px;
    }
    .section-subtext-container
    {
        margin-bottom: 9px;
    }
    .section-subtext
    {
        font-size: 18px;
    }
    .services
    {
        padding-bottom: 82px;
    }
    .services-container
    {
        margin-top: 35px;
    }
    .mission
    {
        padding-top: 86px;
        padding-bottom: 96px;
    }
    .cta
    {
        padding-bottom: 77px;
    }
    .about
    {
        padding-top: 81px;
        padding-bottom: 88px;
    }
    .about-description
    {
        font-size: 16px;
    }
    .about-decoration
    {
        top: 7px;
        right: 16%;
        transform: scale(0.87);
    }
    .team
    {
        padding-top: 70px;
    }
    .team-container
    {
        margin-top: 55px;
    }
    .team-card
    {
        margin-bottom: 61px;
    }
    .contact-form-container
    {
        margin-top: 28px;
    }
    .contact
    {
        padding-top: 18px;
    }
}

/************
10. 767px
************/

@media only screen and (max-width: 767px)
{
	.service-item
    {
        flex-direction: column !important;
        padding: 20px;
    }
    .service-item-image-container
    {
        width: 100%;
        height: auto;
        flex-basis: 100%;
        margin-right: 0;
        margin-bottom: 19px;
    }
    .service-item-description
    {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        line-clamp: 3;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }
    .service-item-link
    {
        display: inline-block;
    }
    .mission-image-container
    {
        margin-top: 22px;
    }
    .mission-user-1
    {
        display: none;
    }
    .mission-user-2
    {
        display: block;
    }
    .header
    {
        top: 16px;
        padding-left: 16px;
        padding-right: 16px;
    }
    .header > div
    {
        height: 80px;
    }
    .menu-button, .menu-close
    {
        top: 32px;
        right: 31px;
    }
}

/************
10.1 680px
************/

@media only screen and (max-width: 680px)
{
    h1
    {
        font-size: 64px;
    }
}

/************
11. 575px
************/

@media only screen and (max-width: 575px)
{
	h1
    {
        font-size: 38px;
    }
    .button
    {
        height: 44px;
        font-size: 16px;
        padding-left: 18px;
        padding-right: 18px;
    }
    .header > div
    {
        padding-left: 24px;
    }
    .menu-content
    {
        padding-top: 132px;
    }
    .menu-nav-container
    {
        margin-top: 15px;
    }
    .menu-language-selector > div:not(:last-child)
    {
        margin-right: 12px;
    }
    .menu-contact-button
    {
        font-size: 28px;
        padding-left: 55px;
        padding-right: 55px;
        height: 54px;
        line-height: 54px;
    }
    .menu-nav-container ul li:not(:last-of-type)
    {
        margin-bottom: 25px;
    }
    .menu-contact-button
    {
        margin-top: 49px;
    }
    .menu-nav-container ul li a
    {
        font-size: 28px;
    }
    .menu-language
    {
        width: 40px;
        height: 40px;
    }
    .subpage-hero
    {
        height: 336px;
    }
    .hero-subtext
    {
        font-size: 16px;
        margin-top: 17px;
        max-width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
    .subpage-hero .hero_container
    {
        padding-top: 202px;
    }
    .subpage-hero .hero-subtext
    {
        font-size: 16px;
        margin-top: 17px;
        max-width: 75%;
        margin-left: auto;
        margin-right: auto;
    }
    .subpage-hero .hero-heading
    {
        font-size: 38px;
        line-height: 0.95;
    }
    .hero_buttons
    {
        margin-top: 20px;
    }
    .hero_buttons > a:first-child
    {
        margin-right: 8px;
    }
    .hero_container
    {
        padding-top: 202px;
    }
    .brands
    {
        margin-top: 150px;
    }
    .brands-title
    {
        font-size: 12px;
    }
    .brands-container
    {
        padding-top: 11px;
        padding-bottom: 11px;
    }
    .brands_slider_container
    {
        width: 100%;
        left: 0;
    }
    .brands_slide div img
    {
        height: 60px;
    }
    .swiper-slide
    {
        width: auto;
    }
    .services
    {
        padding-bottom: 74px;
    }
    .services-container > article:not(:last-of-type)
    {
        margin-bottom: 20px;
    }
    .service-item-link
    {
        display: block;
        text-align: center;
        padding-left: 48px;
        padding-right: 48px;
    }
    .arrow-button
    {
        width: 100%;
        text-align: center;
        font-size: 16px;
        padding-left: 0;
        padding-right: 0;
        height: 56px;
        line-height: 56px;
    }
    .mission
    {
        padding-top: 49px;
        padding-bottom: 53px;
    }
    .quote-decor
    {
        display: none;
    }
    .mission-title
    {
        font-size: 28px;
        margin-bottom: 20px;
    }
    .mission-image-container
    {
        margin-top: 13px;
    }
    .mission-user-2
    {
        margin-top: 16px;
    }
    .user
    {
        font-size: 54px;
    }
    .mission-user-2 p
    {
        margin-top: -2px;
    }
    .cta-subtext
    {
        font-size: 14px;
    }
    .cta-title
    {
        font-size: 28px;
        line-height: 1;
        margin-bottom: 18px;
    }
    .cta-description
    {
        font-size: 16px;
    }
    .cta-container
    {
        padding-top: 40px;
        padding-bottom: 27px;
    }
    .cta-subtext-container
    {
        margin-bottom: 5px;
    }
    .cta-button
    {
        font-size: 16px;
        margin-top: 15px;
    }
    .cta-button::after
    {
        display: none;
    }
    .about
    {
        padding-top: 43px;
        padding-bottom: 39px;
    }
    .about-description
    {
        font-size: 16px;
        margin-top: 22px;
    }
    .about-decoration
    {
        display: none;
    }
    .section-subtext
    {
        font-size: 14px;
    }
    .section-title
    {
        font-size: 28px;
    }
    .section-subtext-container
    {
        margin-bottom: 8px;
    }
    .team
    {
        padding-top: 37px;
    }
    .team-container
    {
        margin-top: 60px;
    }
    .team-card
    {
        margin-bottom: 11px;
    }
    .team-member-name, .team-member-title, .team-member-mail, .team-member-phone
    {
        font-size: 16px;
    }
    .team-member-title
    {
        margin-top: -2px;
    }
    .team-member-mail
    {
        margin-top: 12px;
    }
    .team-member-phone
    {
        margin-top: -6px;
    }
    .contact
    {
        padding-top: 52px;
        padding-bottom: 79px;
    }
    .form-control
    {
        height: 46px;
    }
    .form-textarea
    {
        height: 106px;
    }
    .contact-content
    {
        flex-direction: column !important;
        justify-content: center;
        align-items: center;
        padding-top: 25px;
        padding-bottom: 50px;
    }
    .contact-logo-container
    {
        margin-right: 0;
    }
    .contact-content-r
    {
        margin-top: 26px;
    }
    .footer-extra-container
    {
        padding-bottom: 28px;
    }
    .content .section-title
    {
        font-size: 28px;
    }
    .content .section-subtext
    {
        font-size: 14px;
    }
    .content .section-title
    {
        margin-bottom: 27px;
    }
}

/************
11. 539px
************/

@media only screen and (max-width: 539px)
{
	
}

/************
12. 480px
************/

@media only screen and (max-width: 480px)
{
	
}

/************
13. 479px
************/

@media only screen and (max-width: 479px)
{
	
}

/************
14. 400px
************/

@media only screen and (max-width: 400px)
{
	
}

/************
15. 320px
************/

@media only screen and (max-width: 320px)
{
	h1
    {
        font-size: 32px;
    }
}