@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

******************************/

/************
1. 1760px
************/

@media only screen and (max-width: 1760px)
{
	.footer .container-fluid
    {
        max-width: 1440px;
    }
    .footer-title
    {
        font-size: 48px;
    }
    .footer-subtext
    {
        font-size: 20px;
    }
    .footer-button
    {
        height: 60px;
    }
    .footer-button span
    {
        font-size: 20px;
    }
    .footer-button img
    {
        width: 32px;
        height: 32px;
    }
    .contact-button
    {
        font-size: 20px;
    }
}

/************
1. 1710px
************/

@media only screen and (min-width: 1200px)
{
    .container
    {
        max-width: 1020px;
    }
}

@media only screen and (max-width: 1710px)
{
	.hero-title
    {
        font-size: 16.4vw;
    }
}

/************
2. 1440px
************/

@media only screen and (max-width: 1440px)
{
	.hero_content
    {
        padding-left: 64px;
    }
    .footer .container-fluid
    {
        max-width: 1200px;
    }
    .contact-form-container
    {
        padding-left: 40px;
        padding-right: 40px;
    }
}

/************
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)
{
	.about-pic
    {
        padding-right: 24px;
    }
    .testimonial
    {
        height: 240px;
    }
    .footer-content
    {
        padding-top: 57px;
        padding-bottom: 66px;
    }
    .footer-title
    {
        font-size: 32px;
    }
    .footer-subtext
    {
        font-size: 16px;
    }
    .footer-buttons
    {
        flex-direction: column !important;
        align-items: start !important;
    }
    .footer-button
    {
        min-width: -webkit-fill-available;
        height: 48px;
        padding-left: 18px;
        padding-right: 18px;
    }
    .footer-button span
    {
        font-size: 16px;
        line-height: 48px;
    }
    .footer-subtext
    {
        max-width: 300px;
        line-height: 1.4;
        margin-top: 17px;
    }
    .contact-form-container
    {
        padding-left: 0;
        padding-right: 0;
    }
    .footer .container-fluid
    {
        max-width: 960px;
    }
    .terms-and-conditions
    {
        position: relative;
        right: auto;
        top: auto;
        -webkit-transform: translateY(0%) rotate(0deg);
        -moz-transform: translateY(0%) rotate(0deg);
        -ms-transform: translateY(0%) rotate(0deg);
        -o-transform: translateY(0%) rotate(0deg);
        transform: translateY(0%) rotate(0deg);
        padding-top: 24px;
        padding-bottom: 24px;
        border-top: solid 1px rgba(255, 255, 255, 0.2);
    }
    .contact-input
    {
        height: 52px;
    }
    .contact-button
    {
        font-size: 16px;
        height: 52px;
    }
    .contact-input::-webkit-input-placeholder
    {
        font-size: 16px !important;
    }
    .contact-input:-moz-placeholder
    {
        font-size: 16px !important;
    }
    .contact-input::-moz-placeholder
    {
        font-size: 16px !important;
    } 
    .contact-input:-ms-input-placeholder
    { 
        font-size: 16px !important;
    }
    .contact-input::input-placeholder
    {
        font-size: 16px !important;
    }
    .contact-message::-webkit-input-placeholder
    {
        font-size: 16px !important;
    }
    .contact-message:-moz-placeholder
    {
        font-size: 16px !important;
    }
    .contact-message::-moz-placeholder
    {
        font-size: 16px !important;
    } 
    .contact-message:-ms-input-placeholder
    { 
        font-size: 16px !important;
    }
    .contact-message::input-placeholder
    {
        font-size: 16px !important;
    }
    .contact-form-container
    {
        padding-bottom: 59px;
    }
}

/************
4. 1100px
************/

@media only screen and (max-width: 1100px)
{
	
}

/************
5. 1024px
************/

@media only screen and (max-width: 1024px)
{
    .main-nav-links
    {
        gap: 36px;
    }
	.main-nav-links li a
    {
        font-size: 18px;
    }
    .language-selector
    {
        margin-left: 36px;
    }
    .hero-title
    {
        font-size: 13vw;
    }
    .hero-subtext
    {
        margin-top: 36px;
        font-size: 18px;
    }
    .hero-buttons-container
    {
        margin-top: 36px;
    }
    .footer-buttons
    {
        margin-top: 21px;
    }
    .button
    {
        font-size: 18px;
    }
}

/************
6. 991px
************/

@media only screen and (max-width: 991px)
{
	.about-pic img
    {
        top: -23px;
    }
    .about
    {
        padding-top: 65px;
    }
    .about-text p
    {
        font-size: 16px;
        margin-bottom: 19px;
    }
    .about-text
    {
        margin-top: 52px;
        padding-right: 50px;
        padding-bottom: 131px;
    }
    .about-text > div::after
    {
        bottom: -34px;
        height: 24px;
    }
    .about-pic img
    {
        -webkit-transform: translateX(-50%) scale(0.833);
        -moz-transform: translateX(-50%) scale(0.833);
        -ms-transform: translateX(-50%) scale(0.833);
        -o-transform: translateX(-50%) scale(0.833);
        transform: translateX(-50%) scale(0.833);
    }
    h2
    {
        font-size: 48px;
    }
    .section-title.title-underline::after
    {
        height: 4px;
        bottom: -15px;
        width: 57%;
    }
    .section-subtitle
    {
        font-size: 14px;
        margin-top: 25px;
    }
    .tech-items
    {
        margin-top: 48px;
    }
    .tech-pic-1
    {
        right: -2px;
        width: calc(100% - 5px);
    }
    .tech-decor-1
    {
        right: 3px;
        bottom: 124px;
    }
    .tech-pic-2
    {
        bottom: -10px;
        right: 61px;
        width: 195px;
    }
    .tech-decor-2
    {
        width: 164px;
        right: 8px;
        bottom: 136px;
    }
    .tech-pic-3
    {
        width: 192px;
        right: 83px;
        bottom: -19px;
    }
    .tech-pic-4
    {
        width: 170px;
        right: 20px;
        bottom: -28px;
    }
    .tech-decor-4
    {
        width: 115px;
        right: 9px;
        bottom: 191px;
    }
    .project-items > article:not(:last-of-type)
    {
        margin-bottom: 124px;
    }
    .project-items > article:nth-child(odd) .project-content
    {
        padding-right: 32px;
    }
    .project-items > article:nth-child(even) .project-content
    {
        padding-left: 32px;
    }
    .project-content
    {
        padding-top: 24px;
    }
    .footer .container-fluid
    {
        max-width: 100%;
    }
    .footer-content
    {
        padding-left: 24px;
    }
    .contact-form-container
    {
        padding-left: 24px;
        padding-right: 24px;
        padding-bottom: 0;
    }
    .footer-buttons
    {
        flex-direction: row !important;
        align-items: start !important;
    }
    .footer-button
    {
        min-width: auto;
    }
    .terms-and-conditions
    {
        margin-top: 60px;
    }
}

/************
7. 959px
************/

@media only screen and (max-width: 959px)
{
	
}

/************
8. 880px
************/

@media only screen and (max-width: 880px)
{
	.main-nav-links
    {
        gap: 32px;
    }
	.main-nav-links li a
    {
        font-size: 16px;
    }
    .language-selector
    {
        margin-left: 32px;
    }
}

/************
9. 768px
************/

@media only screen and (max-width: 768px)
{
    .main-nav-links
    {
        gap: 30px;
    }
    .language-selector
    {
        margin-left: 31px;
    }
    .header-inner
    {
        padding-right: 0;
        justify-content: center !important;
    }
    .header-content
    {
        padding-left: 32px;
        padding-right: 32px;
    }
    .hero
    {
        height: auto;
        padding-top: 151px;
        padding-bottom: 123px;
    }
    .hero_content
    {
        padding-top: 0;
    }
    .hero_content
    {
        padding-left: 57px;
    }
    .hero-title
    {
        font-size: 97px;
    }
    .hero-subtext, .button
    {
        font-size: 16px;
    }
    .hero-subtext
    {
        max-width: 330px;
        margin-top: 20px;
        padding-left: 0;
        line-height: 1.45;
    }
    .hero-buttons-container
    {
        margin-top: 21px;
        padding-left: 0;
    }
    .button
    {
        height: 42px;
        line-height: 42px;
    }
    .button-secondary
    {
        line-height: 40px;
    }
    .hero_pic
    {
        left: auto;
        right: 0;
        bottom: -40px;
        height: 89.7%;
    }
    .technologies
    {
        padding-bottom: 73px;
    }
    .tech-item
    {
        padding-bottom: 269px;
    }
    .tech-item-title
    {
        font-size: 24px;
        margin-top: 13px;
    }
    .tech-list
    {
        margin-top: 19px;
    }
    .testimonials
    {
        padding-top: 93px;
        padding-bottom: 108px;
    }
    .testimonial-slider-container
    {
        margin-top: 52px;
    }
    .project-title
    {
        font-size: 24px;
    }
    .project-items > article .project-content
    {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .project-image img
    {
        max-width: 90%;
    }
    .projects
    {
        padding-top: 108px;
    }
    .project-items
    {
        margin-top: 67px;
    }
    .project-title
    {
        margin-top: 9px;
    }
    .project-list
    {
        margin-top: 22px;
    }
}

/************
10. 767px
************/

@media only screen and (max-width: 767px)
{
    h2
    {
        font-size: 32px;
    }
    .section-subtitle
    {
        opacity: 0.7;
        margin-top: 26px;
    }
    .section-title.title-underline::after
    {
        bottom: -16px;
    }
	.header
    {
        display: none !important;
    }
    .hamburger-button
    {
        display: block;
    }
    .hero
    {
        padding-top: 56px;
    }
    .hero_pic
    {
        position: relative;
        bottom: auto;
        right: auto;
        height: auto;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 67.8vw;
    }
    .hero_content
    {
        align-items: center;
        padding-left: 16px;
        padding-right: 16px;
        text-align: center;
    }
    .hero-title
    {
        font-size: 15vw;
        width: auto;
        letter-spacing: 0.01em;
    }
    .hero-subtext
    {
        font-size: 14px;
        margin-top: 14px;
    }
    .hamburger-button
    {
        top: 8px;
        right: 8px;
    }
    .hero
    {
        padding-bottom: 0;
    }
    .button
    {
        height: 40px;
        font-size: 14px;
    }
    .buttons-lg
    {
        display: none !important;
    }
    .hero-buttons-container
    {
        position: absolute;
        left: 0;
        bottom: 18px;
    }
    .hero-buttons-mobile
    {
        display: flex !important;
        width: 100%;
        justify-content: center;
    }
    .hero_pic
    {
        margin-top: 4px;
    }
    .about
    {
        padding-top: 79px;
    }
    .about-pic
    {
        padding-right: 0;
        margin-top: 35px;
    }
    .about-pic img
    {
        position: relative;
        top: 0;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        max-width: 100%;
    }
    .about-text p
    {
        font-size: 14px;
    }
    .about-text
    {
        padding-right: 0;
        margin-top: 5px;
        padding-bottom: 47px;
    }
    .about-text > div::after
    {
        left: 4px;
        width: 92%;
    }
    .about-text > div::after
    {
        height: 39px;
        bottom: -46px;
    }
    .technologies
    {
        padding-bottom: 44px;
    }
    .tech-list li span
    {
        font-size: 14px;
    }
    .tech-item-subtitle-small
    {
        height: 16px;
    }
    .tech-item-subtitle-small > div p
    {
        font-size: 10px;
        line-height: 16px;
    }
    .tech-item-subtitle-small > div img
    {
        margin-right: 10px;
    }
    .tech-item-title
    {
        font-size: 19px;
    }
    .tech-list
    {
        margin-top: 21px;
    }
    .tech-item-title
    {
        margin-top: 9px;
    }
    .tech-list li:not(:last-child)
    {
        margin-bottom: 16px;
    }
    .tech-item
    {
        height: auto;
        padding: 16px;
        padding-bottom: 36px;
        border-radius: 19px;
        margin-bottom: 32px;
    }
    .tech-pic-1
    {
        right: 4px;
        width: 190px;
        bottom: -18px;
    }
    .tech-decor-1
    {
        width: 117px;
        right: 28px;
        bottom: 60px;
    }
    .tech-item-tall
    {
        padding-bottom: 74px;
    }
    .tech-pic-2
    {
        bottom: -10px;
        right: 1px;
        width: 105px;
    }
    .tech-decor-2
    {
        width: 121px;
        right: 27px;
        bottom: 70px;
        -webkit-transform: rotate(-46.64deg);
        -moz-transform: rotate(-46.64deg);
        -ms-transform: rotate(-46.64deg);
        -o-transform: rotate(-46.64deg);
        transform: rotate(-46.64deg);
    }
    .tech-pic-3
    {
        width: 156px;
        right: 5px;
        bottom: -25px;
    }
    .tech-decor-3
    {
        width: 107px;
        right: 15px;
        bottom: 80px;
    }
    .tech-pic-4
    {
        width: 134px;
        right: 18px;
        bottom: -32px;
    }
    .tech-decor-4
    {
        width: 115px;
        right: -1px;
        bottom: 134px;
    }
    .testimonial
    {
        height: 222px;
    }
    .testimonials
    {
        padding-top: 54px;
        padding-bottom: 47px;
    }
    .project-image img
    {
        max-width: 75%;
    }
    .project-items > article:not(:last-of-type)
    {
        margin-bottom: 100px;
    }
    .projects
    {
        padding-bottom: 95px;
    }
    .footer
    {
        padding-bottom: 14px;
    }
    .footer-content
    {
        padding-bottom: 43px;
    }
    .footer-title
    {
        font-size: 20px;
        line-height: 17.2px;
    }
    .footer-subtext
    {
        font-size: 14px;
        margin-top: 8px;
    }
    .footer-buttons
    {
        margin-top: 12px;
    }
    .footer-button
    {
        height: 32px;
        padding-left: 8px;
        padding-right: 14px;
    }
    .footer-button img
    {
        width: 24px;
        height: 24px;
    }
    .footer-button span
    {
        font-size: 14px;
        line-height: 31px;
    }
    .footer-title
    {
        white-space: normal;
    }
    .terms-and-conditions
    {
        padding-bottom: 8px;
    }
    .terms-and-conditions nav ul
    {
        flex-direction: column !important;
    }
    .terms-and-conditions nav ul li:not(:last-child)
    {
        margin-bottom: 5px;
    }
    .projects
    {
        padding-top: 65px;
    }
    .contact-input, .contact-button
    {
        height: 52px;
        font-size: 14px;
    }
    .contact-input::-webkit-input-placeholder
    {
        font-size: 14px !important;
    }
    .contact-input:-moz-placeholder
    {
        font-size: 14px !important;
    }
    .contact-input::-moz-placeholder
    {
        font-size: 14px !important;
    } 
    .contact-input:-ms-input-placeholder
    { 
        font-size: 14px !important;
    }
    .contact-input::input-placeholder
    {
        font-size: 14px !important;
    }
    .contact-message::-webkit-input-placeholder
    {
        font-size: 14px !important;
    }
    .contact-message:-moz-placeholder
    {
        font-size: 14px !important;
    }
    .contact-message::-moz-placeholder
    {
        font-size: 14px !important;
    } 
    .contact-message:-ms-input-placeholder
    { 
        font-size: 14px !important;
    }
    .contact-message::input-placeholder
    {
        font-size: 14px !important;
    }
    .contact-input, .contact-message
    {
        font-size: 16px;
    }
    .footer-buttons
    {
        gap: 10px;
    }
    .contact-form > div
    {
        gap: 10px;
    }
}

/************
11. 575px
************/

@media only screen and (max-width: 575px)
{
	.footer-buttons
    {
        /* flex-direction: column !important; */
        align-items: start !important;
    }
    .footer-button
    {
        /* min-width: -webkit-fill-available; */
    }
    .footer-button img
    {
        margin-right: 8px;
    }
    .contact-form > div
    {
        flex-direction: column !important;
    }
    .contact-form-container
    {
        margin-top: 13px;
    }
    .footer-content
    {
        padding-left: 0;
    }
    .contact-form-container
    {
        padding-left: 0;
        padding-right: 0;
    }
    .contact-button
    {
        font-size: 16px;
    }
}

/************
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)
{
	.footer-button
    {
        min-width: -webkit-fill-available;
    }
}

/************
14. 400px
************/

@media only screen and (max-width: 400px)
{
	
}