@font-face {
    font-family: apLight;
    src: url(../fonts/RoobertTRIAL-Light.woff2);
}

@font-face {
    font-family: apRegular;
    src: url(../fonts/Roobert-Regular.woff2);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
}

body {
    height: 100%;
    font-family: apRegular;
    overflow-x: hidden;
}

a:hover {
    text-decoration: none;
    font-style: italic;
}

a.navbar-brand:hover {
    font-style: normal;
}
 
li {
    list-style: none;
}

button:focus {
    outline: none;
}

.italic {
    font-style: italic;
}

/* -----HEADER----- */
.brand {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 36px;
    text-transform: uppercase;
    z-index: 10;
}

.brand.nav-brand {
    font-size: 28px;
    display: none;
}

.menu-toggle {
    display: none;
    position: absolute;
    top: 17px;
    right: 13px;
    z-index: 10;
}

header nav {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    transform: 0;
    transition: transform 0.8s ease-in-out;
}

.nav-list {
    padding: 0 5px;
    display: flex;
    flex-direction: column;
}

.nav-list-item {
    font-size: 36px;
    margin-bottom: 5px;
    line-height: 1.2;
    float: right;
}

header.dark a,
header.dark a:hover {
    color: #4e4e4e;
}


/* -----HOMEPAGE----- */
/* .home-container .navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
} */
.home-container .navbar-light .navbar-brand,
.home-container,
.home-container a,
.home-container a:hover {
    color: #fff;
    text-decoration: none;
}

.home-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    color: #fff;
}

.home-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.title {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 24px;
}


/* -----PROJECT ARCHIVE----- */
.project-page .navbar-light .navbar-brand,
.project-page,
.project-page a,
.project-page a:hover {
    color: #4e4e4e;
    text-decoration: none;
}

.project-page .container {
    padding-bottom: 100px;
}

.container {
    max-width: 1400px;
    padding: 240px 50px 50px;
}

.project-pb {
    padding-bottom: 100px;
}

.proj-img {
    opacity: 0;
    transition: all 0.8s ease-in;
}

.proj-img.visible {
    opacity: 1;
    transform: none;
}

.proj-img img {
    width: 100%;
    height: auto;
}

.proj-desc {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.left {
    align-items: flex-end;
}

.proj-desc h2 {
    font-size: 32px;
    margin-bottom: 4px;
}

.proj-desc h3 {
    font-size: 18px;
}

/* -----PROJECT SINGLE----- */
.single-page .navbar-light .navbar-brand,
.single-page,
.single-page a,
.single-page a:hover {
    color: #fff;
    text-decoration: none;
}

.single-page .container {
    color: #4e4e4e;
    padding-top: 80px;
}

.showcase {
    position: relative;
    height: 100vh;
    width: 100vw;
}

.showcase.reardon {
    background: url(../img/1_ReardonStreet/Project_MainImage/1_Desktop/ReardonSt_North_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
}
.showcase.chimney {
    background: url(../img/2_ChimneyTerrace/Project_MainImage/1_Desktop/ChimneyTerrace1_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
}
.showcase.gatehouse {
    background: url(../img/3_GatehouseSchool/Project_MainImage/1_Desktop/GatehouseSchool_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
}
.showcase.ossory {
    background: url(../img/4_Ossory/Project_MainImage/1_Desktop/Ossory_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
}
.showcase.america {
    background: url(../img/5_AmericaSquare/Project_MainImage/1_Desktop/AmericaSquare_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
}

.showcase.ossory .title {
    color: #4e4e4e;
}

.proj-title {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
}

.container-single {
    color: #4e4e4e;
}

.single-desc {
    padding: 30px 0 120px 0;
}

.description {
    margin-bottom: 0;
}

.single-list, .single-list .col-5 {
    height: 100%;
}

.single-cats, .single-details {
    display: block;
    /* align-content: space-between;
    height: 100%; */
}
.single-cats, .single-details {
    font-size: 14px;
    padding: 0;
}

.single-details li, .single-cats li {
    margin-bottom: 15px;
}

.single-cats {
    color: #828282
}

.single-details {
    color: #4b0101
}

.back-top {
    text-align: center;
    font-size: 16px;
    color: #4e4e4e;
    margin: 100px 0 50px;
}

/* ===== SINGLE IMAGES ===== */

.img-mb {
    opacity: 0;
    margin-bottom: 100px;
    transition: all 0.5s ease-in;
}

.img-mb.visible {
    opacity: 1;
    transform: none;
}

.single-full-img {
    width: 100%;
}

.single-full-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.single-square-img {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.single-square-img img {
    width: 66.7%;
    height: auto;
    object-fit: cover;
}

.single-auto-img {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.single-auto-img img {
    width: 50%;
    height: auto;
    object-fit: cover;
}

/* ===== PRACTICE ===== */
.practice-page .navbar-light .navbar-brand,
.practice-page,
.practice-page a,
.practice-page a:hover {
    color: #4e4e4e;
    text-decoration: none;
    z-index: 10;
}

.process {
    font-size: 36px;
}

.practice-showcase {
    background: url(../img/Practice_MainImage/1_Desktop/TestCard_3000x1500.jpg) center center/cover no-repeat;
    position: relative;
    height: 100vh;
    width: 100vw;
}

.practice-showcase-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #000;
    opacity: 0.3;
}

.practice-page .container {
    padding-top: 70px;
    padding-bottom: 200px;
}

.practice-row {
    margin-bottom: 70px;
}

.practice-img img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.practice-desc {
    color: #4e4e4e;
    margin-bottom: 20px;
}

.process-desc {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.practice-desc h3 {
    font-size: 32px;
}

.practice-desc p {
    margin-bottom: 8px;
}

/* ===== PEOPLE ===== */
.people-page .navbar-light .navbar-brand,
.people-page,
.people-page a,
.people-page a:hover {
    color: #4e4e4e;
    text-decoration: none;
}

.people-page {
    background-color: #fff;
    min-height: 100vh;
    display: grid;
    grid-template-rows: 0 1fr auto;
}

.people-container {
    width: 100%;
    padding: 130px 0 60px;
}

.person-block {
    max-width: 850px;
    display: flex;
    padding-bottom: 30px;
    margin: 0 auto;
}


.person-img img {
    height: 570px;
    width: auto;
}
.person-info-wrap {
    max-height: 570px;
    position: relative;
    transition: max-height 0.25s ease-in;
}

.person-info-wrap.info-height {
    max-height: 900px;
}

.person-info {
    margin-left: 30px;
    height: 100%;
    overflow: hidden;
}

.person-name {
    line-height: 1;
}

.person-name, .person-title {
    font-size: 24px;
}

.person-title {
    color: #828282;
}

.person-qualification {
    font-size: 16px;
}

.person-detail {
    margin-bottom: 0;
}

.person-detail p {
    margin-bottom: 8px;
}

.person-info p {
    font-size: 16px;
}

#read-more {
    cursor: pointer;
    font-size: 13px;
    margin-bottom: 0;
}

.desktop-button#read-more {
    position: absolute;
    bottom: -30px;
    left: 30px;
}

.mobile-button {
    display: none;
}

.remove-desktop {
    display: none;
}

/* ===== CONTACT PAGE ===== */
.contact-page .navbar-light .navbar-brand,
.contact-page,
.contact-page a,
.contact-page a:hover {
    color: #4e4e4e;
    text-decoration: none;
}

.contact-page {
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-color: #ffefef;
}

.contact-container {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 50px;
}

.contact-width-container {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact-content {
    width: 100%;
    margin-top: 60px;
    display: flex;
    flex-direction: column;
    padding: 0 15px;
}

.contact-content .map {
    width: 100%;
    height: auto;
    margin-bottom: 15px;
    background-color: lightgray;
}

.map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===== FOOTER ===== */
.single-page footer,
.project-page footer,
.practice-page footer,
.people-page footer {
    background-color: #ffefef;
    color: #4e4e4e;
}

footer {
    width: 100%;
}

.footer-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 50px;
    display: flex;
    justify-content: space-between;
}

.footer-registered-mobile {
    display: none;
}

.contact-page footer .footer-container {
    max-width: 1000px;
    padding: 0;
}

.footer-container a, .footer-container a:hover {
    color: #4e4e4e
}

.contact-container .footer-container a {
    color: #4e4e4e
}

footer h2 {
    font-size: 32px;
    text-transform: uppercase;
}

footer h3 {
    font-size: 18px;
    margin-bottom: 5px;
}

footer p {
    font-size: 9px;
    margin-bottom: 0;
}

.contact-social, .contact-info {
    display: grid;
    align-content: space-between;
}

.contact-address, .contact-social-container {
    height: 160px;
    display: grid;
    align-content: space-between;
}

.contact-address h3:nth-of-type(3) {
    margin-bottom: 1px;
    line-height: 1;
}

.contact-email h3:nth-of-type(1) {
    margin-top: 4px;
}






/* ----- MEDIA QUERIES ------*/

/* MEDIUM LAPTOP 1440 x 800 */
@media(max-width: 1500px) {
    .showcase.reardon {
        background: url(../img/1_ReardonStreet/Project_MainImage/2_Laptop/ReardonSt_North_ProjectMain_1440x800.jpg) center center/cover no-repeat;
    }
    .showcase.chimney {
        background: url(../img/2_ChimneyTerrace/Project_MainImage/2_Laptop/ChimneyTerrace1_ProjectMain_1440x800.jpg) center center/cover no-repeat;
    }
    .showcase.gatehouse {
        background: url(../img/3_GatehouseSchool/Project_MainImage/2_Laptop/GatehouseSchool_ProjectMain_1440x800.jpg) center center/cover no-repeat;
    }
    .showcase.ossory {
        background: url(../img/4_Ossory/Project_MainImage/2_Laptop/Ossory_ProjectMain_1440x800.jpg) center center/cover no-repeat;
    }
    .showcase.america {
        background: url(../img/5_AmericaSquare/Project_MainImage/2_Laptop/AmericaSquare_ProjectMain_1440x800.jpg) center center/cover no-repeat;
    }

    .practice-showcase {
        background: url(../img/Practice_MainImage/2_Laptop/TestCard_1440x800.jpg) center center/cover no-repeat;
    }

    .person-img img {
        height: 482px;
    }
    .person-info-wrap {
        max-height: 472px;
    }

    .person-block {
        max-width: 830px;
    }

    .container {
        max-width: 1200px
    }
    .contact-container {
        max-width: 1200px;
    }
    footer .footer-container {
        max-width: 1200px;
    }
}

/* SMALL LAPTOP 1366 x 640 */
@media(max-width: 1400px) {
    .container {
        padding-top: 200px;
    }

    .showcase.reardon {
    background: url(../img/1_ReardonStreet/Project_MainImage/1_Desktop/ReardonSt_North_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
    }
    .showcase.chimney {
        background: url(../img/2_ChimneyTerrace/Project_MainImage/1_Desktop/ChimneyTerrace1_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
    }
    .showcase.gatehouse {
        background: url(../img/3_GatehouseSchool/Project_MainImage/1_Desktop/GatehouseSchool_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
    }
    .showcase.ossory {
        background: url(../img/4_Ossory/Project_MainImage/1_Desktop/Ossory_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
    }
    .showcase.america {
        background: url(../img/5_AmericaSquare/Project_MainImage/1_Desktop/AmericaSquare_ProjectMain_3000x1500.jpg) center center/cover no-repeat;
    }

    .brand, .nav-list-item {
        font-size: 30px;
        padding: 0 4px;
    }

    .person-img img{
        height: 393px;
        width: auto;
    }
    .person-info-wrap {
        max-height: 395px;
    }

    .person-block {
        max-width: 750px;
    }

    .container {
        max-width: 1000px;
    }
    footer .footer-container {
        max-width: 1000px;
    }
    .proj-desc h2 {
        font-size: 28px;
    }
    .proj-desc h3 {
        font-size: 14px;
    }

    .description {
        font-size: 14px;
    }

    .single-cats, .single-details {
        font-size: 12px;
    }

    .contact-container {
        max-width: 1000px;
    }
 
    .contact-content {
     margin-top: 0;
    }
 
    .contact-content .map {
         margin-bottom: 10px;
    }
}

/* 14 INCH NOTEBOOK 1280 x 580 */
@media(max-width: 1300px) {
    .brand, .nav-list-item {
        font-size: 28px;
    }

    .container {
        padding-top: 150px;   
    }

    .map img {
        height: 300px;
    }

    .contact-address h2 {
        font-size: 28px;
    }

}


/* IPAD PORTRAIT */
@media(max-width: 769px) {
    .container {
        padding: 200px 15px 0;
    }

    .showcase.reardon {
        background: url(../img/1_ReardonStreet/Project_MainImage/3_Tablet/ReardonSt_North_ProjectMain_1536x2040.jpg) center center/cover no-repeat;
    }
    .showcase.chimney {
        background: url(../img/2_ChimneyTerrace/Project_MainImage/3_Tablet/ChimneyTerrace1_ProjectMain_1536x2040.jpg) center center/cover no-repeat;
    }
    .showcase.gatehouse {
        background: url(../img/3_GatehouseSchool/Project_MainImage/3_Tablet/GatehouseSchool_ProjectMain_1536x2040.jpg) center center/cover no-repeat;
    }
    .showcase.ossory {
        background: url(../img/4_Ossory/Project_MainImage/3_Tablet/Ossory_ProjectMain_1536x2040.jpg) center center/cover no-repeat;
    }
    .showcase.america {
        background: url(../img/5_AmericaSquare/Project_MainImage/3_Tablet/AmericaSquare_ProjectMain_1536x2040.jpg) center center/cover no-repeat;
    }

    .practice-showcase {
        background: url(../img/Practice_MainImage/3_Tablet/TestCard_1536x2040.jpg) center center/cover no-repeat;
    }

    /* Page footer distance */
    .practice-page .container {
        padding-bottom: 160px;
    }
    .back-top {
        margin: 90px 0;
        font-size: 14px;
    }

    .right {
        padding-left: 0;
    }
    .left {
        padding-right: 0;
    }
    .project-pb {
        padding-bottom: 80px;
    }

    .project-page .container {
        padding-bottom: 100px;
    }

    .single-page .container {
        padding-top: 40px;
    }
    .single-title h2 {
        font-size: 28px;
    }
    .single-desc {
        padding-right: 200px;
        padding-bottom: 80px;
    }
    .single-details li, .single-cats li {
        margin-bottom: 10px;
    }
    .description {
        padding-bottom: 50px;
    }

    .practice-desc {
        padding-right: 200px;
    }
 
    .practice-desc h3 {
        padding-bottom: 10px;
    }

    .person-info {
        display: block;
    }

    .contact-container {
        padding: 0 15px;
    }
    .contact-content {
        padding: 30px 0 0;
    }
    .map img {
        height: 100%;
    }

    .contact-page .contact-content .map {
        margin-bottom: 10px;
    }

    footer .footer-container {
        padding: 40px 15px;
    }
}


/* MOBILE */
@media(max-width: 576px) {
    header nav {
        position: fixed;
        width: 100vw;
        height: 100vh;
        /* top: -100vh; */
        right: 0;
        background-color: #ffefef;
    }

    .menu-toggle {
        display: block;
    }

    .brand.nav-brand {
        display: block;
        color: #4e4e4e;
    }
    
    .nav-list {
        height: 100%;
        width: 100%;
        align-items: center;
        justify-content: center;
    }
    
    .nav-list-item {
        font-size: 36px;
        margin-bottom: 20px;
        text-align: center;
        color: #4e4e4e;
    }

    .container {
        padding: 130px 15px 0;
    }

    .showcase.reardon {
        background: url(../img/1_ReardonStreet/Project_MainImage/4_Mobile/ReardonSt_North_ProjectMain_750x1192.jpg) center center/cover no-repeat;
    }
    .showcase.chimney {
        background: url(../img/2_ChimneyTerrace/Project_MainImage/4_Mobile/ChimneyTerrace1_ProjectMain_750x1192.jpg) center center/cover no-repeat;
    }
    .showcase.gatehouse {
        background: url(../img/3_GatehouseSchool/Project_MainImage/4_Mobile/GatehouseSchool_ProjectMain_750x1192.jpg) center center/cover no-repeat;
    }
    .showcase.ossory {
        background: url(../img/4_Ossory/Project_MainImage/4_Mobile/Ossory_ProjectMain_750x1192.jpg) center center/cover no-repeat;
    }
    .showcase.america {
        background: url(../img/5_AmericaSquare/Project_MainImage/4_Mobile/AmericaSquare_ProjectMain_750x1192.jpg) center center/cover no-repeat;
    }

    .practice-showcase {
        background: url(../img/Practice_MainImage/4_Mobile/TestCard_750x1192.jpg) center center/cover no-repeat;
    }

    /* Page footer distance */
    .project-page .container {
        padding-bottom: 70px;
    }
    .practice-page .container {
        padding: 40px 15px 80px;
    }
    .people-page .container {
        padding-bottom: 70px;
    }
    .back-top {
        margin: 50px 0;
        font-size: 14px;
    }

    .right {
        padding-left: 15px;
    }
    .left {
        padding-right: 15px;
        align-items: flex-start;
    }
    .proj-desc h2 {
        font-size: 24px;
    }
    .proj-img {
        padding-bottom: 5px;
    }
    .project-pb {
        padding-bottom: 30px;
    }


    .title {
        font-size: 20px;
    }
    .img-mb {
        margin-bottom: 40px;
    }
    .single-title h2 {
        font-size: 24px;
    }
    .single-title h6 {
        font-size: 14px;
    }
    .single-desc {
        padding-right: 0;
    }


    .practice-desc {
        padding-right: 15px;
    }
    .practice-desc h3 {
        font-size: 24px;
    }
    .practice-desc p {
        font-size: 14px;
    }

    .person-block {
        flex-direction: column;
    }
    .person-img {
        margin-bottom: 13px;
    }
    .person-img img {
        width: 60%;
        height: auto;
    }

    .person-info-wrap {
        max-height: none;
    }

    .person-info-wrap.info-height {
        height: auto;
        max-height: none;
    }

    /* .person-info-wrap .mobile-info {
        height: 0;
        transform: scaleY(0);
        transform-origin: top;
        transition: transform 0.25s ease-in;
    }

    .person-info-wrap.info-height .mobile-info {
        height: auto;
        transform: scaleY(1);
    } */
    #read-more {
        left: 0;
    }

    .desktop-button {
        display: none;
    }

    .mobile-button {
        display: block;
    }

    .person-info {
        margin-left: 0;
    }
    .person-info p {
        font-size: 14px;
    }
    .person-name {
        margin-bottom: 3px;
    }

    .remove-desktop {
        display: block;
    }

    .remove-mobile {
        display: none;
    }


    .contact-page {
        overflow-y: auto;
    }

    footer .footer-container {
        flex-direction: column;
        justify-content: space-between;
        padding: 20px 15px;
    }

    .contact-width-container {
        display: block;
    }

    .contact-address, .contact-social-container {
        display: block;
        height: auto;
    }

    .footer-registered {
        display: none;
    }

    .footer-registered-mobile {
        display: block;
    }

    .footer h2 {
        margin-bottom: 15px;
    }

    .contact-address {
        margin-bottom: 15px;
    }

    .contact-address h3:nth-of-type(3) {
        margin-bottom: 0;
    }

    .contact-email h3:nth-of-type(1){
        margin-top: 0;
    }

    .contact-email a:nth-of-type(2) h3, 
    .contact-web a:nth-of-type(2) h3 {
        margin-bottom: 15px;
    }

    .footer-data {
        margin-bottom: 15px;
    }

    .contact-content {
        padding: 130px 0 50px;
    }

    .contact-content footer h2 {
        display: none;
    }

    .contact-address, .contact-social-container {
        height: auto; 
    }

    footer h3 {
        font-size: 14px;
        margin-bottom: 4px;
    }

    footer p {
        font-size: 8px;
    }
}

