/* global */

* {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
}

body {
    background: #fff;
    margin: 0;
    padding: 0;
    font-family: "montserrat", sans-serif;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
}

/* end of global */

@media(min-width: 1366px) {
    .area-section {
        margin: 150px 0 50px 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 200px;
        grid-column-gap: 100px;
    }
    .area-container {
        position: relative;
        background-color: #fff;
        padding: 100px 25px 50px 25px;
        border: 2px solid #2fd815;
        border-radius: 3px;
    }
    .area-container img {
        position: absolute;
        top: -100px;
        left: 50%;
        transform: translateX(-50%);
        width: 200px;
        height: 200px;
        object-fit: cover;
        border-radius: 50%;
        border: 5px solid #fff;
        box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.24);
    }
    .area-container h3 {
        font-weight: 500;
        text-align: center;
        color: #2fd815;
        font-size: 30px;
        margin: 10px auto 20px auto;
    }
    .area-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 25px;
        grid-row-gap: 20px;
    }
    .area-container a {
        color: #2fd815;
        font-weight: 500;
        font-size: 17px;
        text-align: center;
    }
    .service-masonry {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 50px auto;
        grid-gap: 0;
    }
    .service-item {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        min-height: 600px;
        padding: 50px;
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        box-shadow: inset 0 0 300px 300px rgba(0, 0, 0, 0.4);
        transition: 0.3s all ease-in-out;
    }
    .service-item h3 {
        max-width: 50%;
        color: #fff;
        font-size: 30px;
        font-weight: 600;
        margin: 0;
    }
    .service-item h4 {
        text-transform: uppercase;
        color: #fff;
        font-size: 20px;
        font-weight: 800;
        margin: 0;
        opacity: 0.7;
    }
    .service-item a {
        display: inline-block;
        background-color: #2fd815;
        color: #fff;
        padding: 10px 30px;
        font-size: 20px;
        font-weight: 600;
        text-decoration: none;
        margin: 25px 0 0 0;
        border-radius: 2px;
    }
}

@media(max-width: 1366px) and (min-width: 1024px) {
    .area-section {
        margin: 150px 0 50px 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 200px;
        grid-column-gap: 100px;
    }
    .area-container {
        position: relative;
        background-color: #fff;
        padding: 100px 25px 50px 25px;
        border: 2px solid #2fd815;
        border-radius: 3px;
    }
    .area-container img {
        position: absolute;
        top: -100px;
        left: 50%;
        transform: translateX(-50%);
        width: 200px;
        height: 200px;
        object-fit: cover;
        border-radius: 50%;
        border: 5px solid #fff;
        box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.24);
    }
    .area-container h3 {
        font-weight: 500;
        text-align: center;
        color: #2fd815;
        font-size: 30px;
        margin: 10px auto 20px auto;
    }
    .area-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 25px;
        grid-row-gap: 20px;
    }
    .area-container a {
        color: #2fd815;
        font-weight: 500;
        font-size: 17px;
        text-align: center;
    }
    .service-masonry {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 50px auto;
        grid-gap: 0;
    }
    .service-item {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        min-height: 500px;
        padding: 30px;
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        box-shadow: inset 0 0 300px 300px rgba(0, 0, 0, 0.4);
        transition: 0.3s all ease-in-out;
    }
    .service-item h3 {
        max-width: 50%;
        color: #fff;
        font-size: 30px;
        font-weight: 600;
        margin: 0;
    }
    .service-item h4 {
        text-transform: uppercase;
        color: #fff;
        font-size: 20px;
        font-weight: 800;
        margin: 0;
        opacity: 0.7;
    }
    .service-item a {
        display: inline-block;
        background-color: #2fd815;
        color: #fff;
        padding: 10px 30px;
        font-size: 20px;
        font-weight: 600;
        text-decoration: none;
        margin: 25px 0 0 0;
        border-radius: 2px;
    }
}

@media(max-width: 1024px) and (min-width: 769px) {
    .area-section {
        margin: 150px 0 50px 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 150px;
        grid-column-gap: 50px;
    }
    .area-container {
        position: relative;
        background-color: #fff;
        padding: 100px 25px 50px 25px;
        border: 2px solid #2fd815;
        border-radius: 3px;
    }
    .area-container img {
        position: absolute;
        top: -100px;
        left: 50%;
        transform: translateX(-50%);
        width: 200px;
        height: 200px;
        object-fit: cover;
        border-radius: 50%;
        border: 5px solid #fff;
        box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.24);
    }
    .area-container h3 {
        font-weight: 500;
        text-align: center;
        color: #2fd815;
        font-size: 30px;
        margin: 10px auto 20px auto;
    }
    .area-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 25px;
        grid-row-gap: 25px;
    }
    .area-container a {
        color: #2fd815;
        font-weight: 500;
        font-size: 17px;
        text-align: center;
    }
    .service-masonry {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 50px auto;
        grid-gap: 0;
    }
    .service-item {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        min-height: 400px;
        padding: 25px;
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        box-shadow: inset 0 0 300px 300px rgba(0, 0, 0, 0.4);
        transition: 0.3s all ease-in-out;
    }
    .service-item h3 {
        max-width: 50%;
        color: #fff;
        font-size: 30px;
        font-weight: 600;
        margin: 0;
    }
    .service-item h4 {
        text-transform: uppercase;
        color: #fff;
        font-size: 15px;
        font-weight: 800;
        margin: 0;
        opacity: 0.7;
    }
    .service-item a {
        display: inline-block;
        background-color: #2fd815;
        color: #fff;
        padding: 10px 30px;
        font-size: 20px;
        font-weight: 600;
        text-decoration: none;
        margin: 25px 0 0 0;
        border-radius: 2px;
    }
}

@media(max-width: 769px) {
    .area-section {
        margin: 100px 0 50px 0;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 150px;
        grid-column-gap: 0;
    }
    .area-container {
        position: relative;
        background-color: #fff;
        padding: 100px 25px 50px 25px;
        border: 2px solid #2fd815;
        border-radius: 3px;
    }
    .area-container img {
        position: absolute;
        top: -100px;
        left: 50%;
        transform: translateX(-50%);
        width: 200px;
        height: 200px;
        object-fit: cover;
        border-radius: 50%;
        border: 5px solid #fff;
        box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.24);
    }
    .area-container h3 {
        font-weight: 500;
        text-align: center;
        color: #2fd815;
        font-size: 30px;
        margin: 10px auto 20px auto;
    }
    .area-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 25px;
        grid-row-gap: 25px;
    }
    .area-container a {
        color: #2fd815;
        font-weight: 500;
        font-size: 16px;
        text-align: center;
    }
    .service-masonry {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        margin: 50px auto;
        grid-gap: 50px;
    }
    .service-item {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        min-height: 400px;
        padding: 25px;
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        box-shadow: inset 0 0 300px 300px rgba(0, 0, 0, 0.4);
        transition: 0.3s all ease-in-out;
    }
    .service-item h3 {
        max-width: 50%;
        color: #fff;
        font-size: 25px;
        font-weight: 600;
        margin: 0;
    }
    .service-item h4 {
        text-transform: uppercase;
        color: #fff;
        font-size: 15px;
        font-weight: 800;
        margin: 0;
        opacity: 0.7;
    }
    .service-item a {
        display: inline-block;
        background-color: #2fd815;
        color: #fff;
        padding: 10px 30px;
        font-size: 20px;
        font-weight: 600;
        text-decoration: none;
        margin: 25px 0 0 0;
        border-radius: 2px;
    }
}