/* #region Globals */
* {
    font-family: 'Metropolis';
}

h1 {
    font-size: 3.5rem;
    line-height: 3.5rem;
    color: #172d3a;
    text-align: center;
    font-weight:600;
}

h2 {
    color: #172d3a;
    font-size: 2.5rem;
    line-height: 2.5rem;
    text-align: center;
    font-weight:600;
}

h3 {
    font-size: 2rem;
    line-height: 2rem;
    font-weight:500;
}

p {
    font-size: 1.2rem;
}

body {
    background-image: url('images/bg_footer.jpg');
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: bottom;
}

.boxbox {
    width: 1400px;
}

@media (max-width: 1500px) {
    .boxbox {
        width: 90vw;
    }
}

@media (max-width: 1200px) {
    h1 {
        font-size: 2.5rem;
        line-height: 2.5rem;
    }

    h2 {
        font-size: 2rem;
        line-height: 2rem;
    }

    h3 {
        font-size: 1.5rem;
        line-height: 1.5rem;
    }
}



/* #endregion */

/* #region Header */
header {
    border-top: 6px solid #f6921a;
    background-image: url('images/bg_hero.jpg');
    background-size: cover;
    background-position: center bottom;
    padding-top: 4rem;
}

header .submenu {
    font-weight: 600;
    column-gap: 3rem;
    padding: 1rem;
    margin-left: auto;
}

header .submenu a {
    color:#111;
}

header .submenu a span {
    color:#f6921a;
    margin-right:.5rem;
    font-size:2rem;

}

header .submenu:hover a {
    opacity:0.5;
}

header .submenu a:hover {
    opacity:1;
}

header .logo img {
    width: 300px;
}

header nav .mainmenu {
    column-gap: 3rem;
}

header nav .mainmenu .item {
    font-size: 1.5rem;
    font-weight: 600;
    color: #172d3a;
    transition: all .3s;
    cursor: pointer;
    position: relative;
}

header nav .mainmenu .item:before {
    content: "";
    transition: all .3s;
    position: absolute;
    width: 0;
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: #f6921a;
}

header nav .mainmenu .item:hover:before {
    width: 100%;
}

header nav .mainmenu .item:hover {
    color: #f6921a;
}

header .maintext {
    max-width: 1200px;
    margin: auto;
    text-align: center;
    padding-top: 9rem;
    padding-bottom: 3rem;
}

header .maintext p {
    font-size: 1.5rem;
}

@media (max-width: 1200px) {
    header {
        padding-top:2rem;
    }

    header .mainflex {
        flex-direction: column-reverse;
    }

    header .logo {
        margin-top:1rem;
        display:block;
        text-align:center;
    }

    header .submenu, header .mainmenu {
        justify-content:center;
    }

    header .maintext {
        padding-top:3rem;
    }

    header .maintext p {
        font-size: 1.2rem;
    }
}

@media (max-width: 800px) {
    header nav .mainmenu {
        display:none;
    }
}

@media (max-width: 600px) {
    header .submenu {
        display:block;
    }

    header .submenu a {
        justify-content:center;
    }
}

/* #endregion */

/* #region Main */
main .quote {
    background-color: #f5f7f9;
    border-radius: 0.3rem;
}

main .quote .maintext {
    padding: 3rem;
}

main .quote .maintext p:last-of-type {
    font-weight:bold;
}

main .quote img {
    width: 400px;
    position: relative;
    margin: -2rem;
    margin-left: 2rem;
}

main .clients .companies img {
    height:70px;
}

main .clients .companies {
    column-gap:3rem;
}

main .clients .clientext p {
    font-size:1.5rem;
    max-width:1000px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

main .services {
    position:relative;
}

main .services h2 {
    color:#fff;
    padding-top:3rem;
    padding-bottom:1rem;
}

main .services .flex {
    column-gap: 5%;
}

main .services .item {
    width: 30%;
    border-radius: 0.3rem;
    padding: 2rem;
    color:#fff;
    background-size:cover;
    background-position:center center;
    transition:all .3s;
}

main .services:before {
    content:"";
    position:absolute;
    background-color:#172d3a;
    top:0;
    right:0;
    width:100%;
    height:97%;
    z-index:-1;
    transition:all .5s ease-in-out;
}

#services:before {
    opacity:0;
    width:0;
}

main .clients .item {
    background-color:#f5f7f9;
    border-radius:0.3rem;
    column-gap:3rem;
}

main .clients .item:not(:first-of-type) {
    margin-top:6rem;
}

main .clients .item .person {
    height:200px;
    width:200px;
    border:10px solid #f5f7f9;
    border-radius:100px;
    flex-shrink:0;
    margin:-2rem;
    margin-right:0;
    background-size:cover;
    background-position:center center;
}

main .clients .item .testimonial {
    padding:1rem;
}

main .clients .item .testimonial p:first-of-type {
    font-weight:600;
}

main .clients .item p {
    font-size:1.5rem;
}

main .clients .item img {
    height:100px;
}

@media (max-width: 1200px) {
    main .services .flex {
        display:block;
    }

    main .services .item {
        width:100%;
        margin-bottom:3rem;
    }

    main .services .item:last-of-type {
        margin-bottom:-1rem;
    }

    main .clients .companies img {
        height:50px;
    }

    main .clients .item p {
        font-size:1.2rem;
    }

    main .clients .clientext p {
        font-size:1.2rem;
    }

    main .quote img {
        width:35vw;
    }
}

@media (max-width: 900px) {
    main .quote {
        flex-direction:column-reverse;
    }

    main .quote img {
        margin:0;
        margin-top:-2rem;
        width:100%;
        max-width:300px;
    }

    main .quote .maintext {
        padding:1rem;
    }
}

@media (max-width: 600px) {
    main .clients .item {
        display:block;
    }

    main .clients .item .person {
        margin:0 auto;
        transform: translateY(-2rem);
        width:150px;
        height:150px;
        border-radius:75px;
    }

    main .clients .item .testimonial {
        padding-top:0;
        text-align:center;
    }

    main .clients .companies {
        display:block;
    }

    main .clients .companies img {
        display:block;
        margin:auto;
        margin-bottom:2rem;
    }
}

/* #endregion */

/* #region Footer */
footer h2 {
    text-align:left;
}

footer p {
    font-size:1.5rem;
}

footer .logo {
    height: 60px;
}

footer .info {
    background-color:#172d3a;
    border-top-left-radius:0.3rem;
    border-top-right-radius:0.3rem;
    align-self: flex-end;
}

footer .info:hover a {
    opacity:.5;
}

footer .info p {
    color: #fff;
}

footer .info a {
    color: #fff;
    display: block;
    font-size:1.5rem;   
}

footer .info a:hover {
    opacity:1;
}

footer .info a span {
    margin-right:0.5rem;
    font-size:2rem;
}

footer .info a:last-of-type {
    margin-top:0.5rem;
}

footer a span {
    color: #f6921a;
}

footer .subfooter {
    background-color:#172d3a;
    color:#eee;
    text-align:center;
    padding:0.5rem;
}

footer .maintext .strong {
    font-weight:bold;
}

@media (max-width: 1200px) {
    footer p {
        font-size: 1.2rem;
    }

    footer .info a {
        font-size: 1.2rem;
    }

    footer .subfooter {
        font-size:.8rem;
    }
}

@media (max-width: 900px) {
    footer .boxbox {
        display: block;
    }

    footer .maintext {
        padding-left:0;
        padding-right:0;
    }

    footer .info {
        text-align:center;
    }
}

/* #endregion */