* {
    box-sizing: border-box;
}

/*.contact {*/
/*font-family: "ZonaPro-Bold", Helvetica, Arial, serif;*/
/*font-size: 14.0px;*/
/*color: rgba(255, 255, 255, 1.0);*/
/*text-align: left;*/
/*letter-spacing: 1.0px;*/
/*line-height: 21.0px;*/
/*margin-right: 20px;*/
/*}*/


.hero-container.main {
    background-image: url("../images/hero-bg-cut_t.jpg");
}

@media screen and (max-width: 1080px) {
    .hero-container.main {
        background-image: url("../images/hero-bg-cut_t_1080.jpg");
    }
}

.hero-container.main > .hero-text {
    text-align: left;
}


@media screen and (max-width: 720px) {
    .hero-container.main {
        grid-template-rows: 1fr 1fr 3fr 0;
        background-image: url("../images/hero-bg-cut_t_768.jpg");
    }
}

@media screen and (max-width: 25rem) {
    .hero-container.main {
        grid-template-rows: 1fr 1fr 3fr 0;
        background-image: url("../images/hero-bg-cut_t_384.jpg");
    }
}

nav.areas-of-practice {
    grid-area: ab;
}

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

    nav.areas-of-practice {
        justify-self: normal;
    }
}


.area-boxes {
    box-shadow: 4px 15px 35px 0 rgba(85, 55, 69, 0.33);
    display: grid;
    grid-template-columns: repeat(5, 210px);
    grid-template-rows: repeat(1, 216px);
    align-items: center;
    justify-items: center;
    margin-top: -40px;
    padding: 0;
    z-index: 1;
}

@media screen and (max-width: 1440px) {
    .area-boxes {
        /*grid-template-rows: repeat(2, 20vw);*/
        /*grid-template-columns: repeat(5, 210px);*/
        /*height: initial;*/
        /*margin-top: 0;*/
    }
}

@media screen and (max-width: 1080px) {
    .area-boxes {
        grid-template-rows: repeat(1, 19vw);
        grid-template-columns: repeat(5, 1fr);
        height: initial;
        margin-top: 0;
    }
}

@media screen and (max-width: 720px) {
    .area-boxes {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 1fr);
    }

    .area-boxes .more {
        grid-column: 1 / span 2;
        padding: 0 16%;
    }

}

@media screen and (max-width: 320px) {
    .area-boxes {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(10, 1fr);
    }

    .area-boxes .more {
        grid-column: unset;
        padding: unset;
    }
}

.area-boxes > li {
    display: grid;
    background-color: white;
    height: 100%;
    justify-content: center;
    align-content: center;
    border: 1px solid #553745;
    font-size: 24px;
    font-family: Cyntho Slab Pro, sans-serif;
    color: #553745;
    grid-template-areas: "." "i" "t" ".";
    grid-template-rows: 0.5fr 1fr 1fr 0.5fr;
    justify-self: normal;
    cursor: pointer;
}

.area-boxes > li > div {
    display: grid;
    justify-items: center;
}

.area-boxes > li > div:nth-child(1) {
    justify-self: center;
    grid-area: i;
    align-self: end;
}


.area-boxes > li > div:nth-child(1) > img {
    padding: 0.5rem;
    height: 5rem;
}

.area-boxes > li > div:nth-child(2) {
    justify-self: center;
    justify-items: center;
    padding: 0.3rem 0.7rem;
    text-align: center;
    align-items: center;
    grid-area: t;
    align-self: normal;
    line-height: 2rem;
}

@media screen and (max-width: 1080px) {
    .area-boxes > li {
        font-size: 2vw;
    }

    .area-boxes > li > div:nth-child(1) {
        justify-self: center;
        width: 14vw;
    }

    .area-boxes > li > div:nth-child(1) > svg {
        width: 8vw;
        padding: 0.3rem;
    }

    .area-boxes > li > div:nth-child(2) {
        justify-self: center;
        justify-items: center;
        /*padding: 2px 12px;*/
        text-align: center;
        align-items: center;
        line-height: 1.4rem;

    }
}

@media screen and (max-width: 720px) {
    .area-boxes > li {
        font-size: 4vw;
        grid-template-columns: 35% 65%;
        grid-template-areas: none;
        grid-template-rows: none;
    }

    .area-boxes > li > div:nth-child(1) > svg {
        padding: 0;
    }

    .area-boxes > li > div:nth-child(2) {
        line-height: 2.2rem;
    }

}

@media screen and (max-width: 720px) {
    .area-boxes > li > div:nth-child(1) {
        grid-area: unset;
        align-self: unset;
    }

    .area-boxes > li > div:nth-child(1) > svg {
        justify-self: center;
        align-self: center;
        width: 10vw;
        height: 4rem;
    }

    .area-boxes > li > div:nth-child(2) {
        justify-self: center;
        justify-items: center;
        text-align: center;
        font-size: 3.5vw;
        grid-area: unset;
        align-self: unset;
        line-height: 1.8rem;

    }
}

@media screen and (max-width: 480px) {
    .area-boxes > li > div:nth-child(2) {
        line-height: 1.4rem;
    }
}

@media screen and (max-width: 320px) {
    .area-boxes > li {
        font-size: 4vw;
        grid-template-columns: 20% 80%;
    }

    .area-boxes > li > div:nth-child(1) > svg {
        justify-self: center;
        align-self: center;
        width: 12vw;
    }

    .area-boxes > li > div:nth-child(2) {
        justify-self: left;
        justify-items: left;
        text-align: left;
        font-size: 5vw;
    }

}

@media screen and (max-width: 320px) {
    .area-boxes > li > div > div {
    }
}

.newsevents {
    grid-area: newsevents;
    display: grid;
    /*flex-direction: column;*/
    /*width: 1440px;*/
    grid-template-columns: auto auto 540px 540px auto auto;
    grid-template-rows: 25rem;
    grid-template-areas: "n n n e e ee";
    /*justify-content: stretch;*/
    /*justify-content: center;*/
}

@media screen and (max-width: 1440px) {
    .newsevents {
        grid-template-columns: auto auto 535px 535px auto auto;
        grid-template-areas: "n n n e e e";

    }
}

@media screen and (max-width: 1080px) {
    .newsevents {
        grid-template-columns: auto auto auto auto auto auto;
        grid-template-areas: "n n n e e e";

    }
}

/*@media screen and (max-width: 1080px) {*/

/*.newsevents {*/
/*grid-template-columns: auto auto auto auto auto auto;*/
/*grid-template-areas: "n n n e e e";*/

/*}*/
/*}*/
.newsevents > div {
    /*width: 50%;*/
    /*display: inline-block;*/
    /*background-size: contain;*/
    /*background-repeat: no-repeat;*/
    /*height: 600px;*/
}

.news, .events {
    padding: 2rem;
}

.news-edge {
    grid-area: ne;
    background-color: #553745;
}

.news {
    background-image: url("./../images/home-page-rectangle.jpg");
    background-size: cover;
    grid-area: n;
    padding-top: 4rem;
    display: grid;
    /*flex-direction: column;*/
    /*width: 1440px;*/
    grid-template-columns: auto 540px;
    grid-template-rows: 25rem;
    grid-template-areas: "no ni";
    /*justify-self: stretch;*/
}

@media screen and (max-width: 1440px) {
    .news {
        grid-template-columns: auto auto;
    }
}

@media screen and (max-width: 1080px) {
    .news {
        grid-template-columns: auto auto;
    }
}

.news-inner {
    grid-area: ni;
}

.events {
    grid-area: e;
    background-color: #553745;
    display: grid;
    padding-top: 4rem;
    /*flex-direction: column;*/
    /*width: 1440px;*/
    grid-template-columns: 540px auto;
    grid-template-rows: 25rem;
    grid-template-areas: "ei eo";
}

@media screen and (max-width: 1440px) {
    .events {
        grid-template-columns: auto auto;
    }
}

@media screen and (max-width: 1080px) {
    .events {
        grid-template-columns: auto auto;
    }
}

.events-inner {
    grid-area: ei;
}

.events-edge {
    grid-area: ee;
    background-color: #553745;
}

.newsevents > div > img {
    /*max-width: 720px;*/
}

.ourfirm {
    font-size: 12px;
    color: rgba(232, 52, 70, 1.0);
    letter-spacing: 2px;
    line-height: 18px;
}


.news-title, .events-title {
    font-family: "CynthoSlabPro-Regular", Helvetica, Arial, serif;
    font-size: 54px;
    color: rgba(255, 255, 255, 1.0);
    text-align: left;
    line-height: 64px;
}


.news-text, .events-text {
    font-family: "Source Sans Pro", Helvetica, Arial, serif;
    font-weight: 300;
    font-style: normal;
    font-size: 16px;
    color: rgba(255, 255, 255, 1.0);
    text-align: left;
    letter-spacing: 1px;
    line-height: 24px;
}


.readmorecta {
    text-align: right;
    display: block;
    margin-top: 1rem;
}


.readmore {
    display: inline-block;
    text-align: right;
    right: 1rem;
    font-family: "ZonaPro-Bold", Helvetica, Arial, serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 1.0);
    letter-spacing: 0.75px;
    line-height: 18px;
}

.hero-container.main {
    padding-bottom: 40px;
}
