@charset "UTF-8";
/*
Theme Name: McCann
Author: Drive Development
*/

/* @font-face {
    font-family: 'Futura PT Book';
    src: url('fonts/FuturaPT-Book.eot');
    src: url('fonts/FuturaPT-Book.eot?#iefix') format('embedded-opentype'),
        url('fonts/FuturaPT-Book.woff2') format('woff2'),
        url('fonts/FuturaPT-Book.woff') format('woff'),
        url('fonts/FuturaPT-Book.ttf') format('truetype'),
        url('fonts/FuturaPT-Book.svg#FuturaPT-Book') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url('fonts/FuturaPT-Bold.eot');
    src: url('fonts/FuturaPT-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/FuturaPT-Bold.woff2') format('woff2'),
        url('fonts/FuturaPT-Bold.woff') format('woff'),
        url('fonts/FuturaPT-Bold.ttf') format('truetype'),
        url('fonts/FuturaPT-Bold.svg#FuturaPT-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url('fonts/FuturaPT-Light.eot');
    src: url('fonts/FuturaPT-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/FuturaPT-Light.woff2') format('woff2'),
        url('fonts/FuturaPT-Light.woff') format('woff'),
        url('fonts/FuturaPT-Light.ttf') format('truetype'),
        url('fonts/FuturaPT-Light.svg#FuturaPT-Light') format('svg');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url('fonts/FuturaPT-Heavy.eot');
    src: url('fonts/FuturaPT-Heavy.eot?#iefix') format('embedded-opentype'),
        url('fonts/FuturaPT-Heavy.woff2') format('woff2'),
        url('fonts/FuturaPT-Heavy.woff') format('woff'),
        url('fonts/FuturaPT-Heavy.ttf') format('truetype'),
        url('fonts/FuturaPT-Heavy.svg#FuturaPT-Heavy') format('svg');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Futura PT';
    src: url('fonts/FuturaPT-Medium.eot');
    src: url('fonts/FuturaPT-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/FuturaPT-Medium.woff2') format('woff2'),
        url('fonts/FuturaPT-Medium.woff') format('woff'),
        url('fonts/FuturaPT-Medium.ttf') format('truetype'),
        url('fonts/FuturaPT-Medium.svg#FuturaPT-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
} */

body,
html{
    font-family: 'Futura PT' !important;
}

*{
    margin: 0;
    padding: 0;
}

a{
    color: black;
    font-weight: 800;
    text-decoration: none;
}

ul{
    margin-left: 30px;
}

p{
    margin-bottom: 15px;
}

strong,
b{
    font-weight: 600;
}

iframe{
    min-height: 500px;
}

picture{
    position: relative;
    height: 100%;
}

div#contact p {
    position: relative;
    display: inline-block;
    padding: 4px 10px 3px 10px;
    background-color: transparent;
    border: 3px solid black;
    background-color: rgba(255,255,255,1);
}

div#contact:before {
    content: "";
    width: 100%;
    text-align: center;
    position: absolute;
    height: 2px;
    background-color: black;
    top: 45%;
	left: 0px
}

.people .flex-container {
	display: flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
    /* justify-content: space-between; */
    justify-content: flex-start;
	list-style: none;
	margin: 0;
	padding: 0;
    flex-wrap: wrap;
}

.people .flex-item {
	color: #fff;
    width: 280px;
    height: 280px;
	margin: 10px 40px;
	padding: 0;
    position: relative;
    cursor: pointer;
    margin-bottom: 100px;
}

.people .flex-item::before{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;

    margin-left: -10px;
    margin-top: -10px;

    background-color: white;
    border: 4px solid black;
}

.people .flex-item::after{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;

    background-color: white;
    /* border: 4px solid black; */

    top: 0px;
    left: 0px;
}

.people .flex-item-inner {
	display: flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	flex-direction: column;
	justify-content: flex-start;
	height: 250px;
	margin: 0;
	padding: 0;
    width: 100%;
}

/*-------- cards --------*/
.people .card-front,
.people .card-back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 20px;
	margin: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
    justify-content: flex-end;

    background-color: #f7f7f9;
    color: black;

    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

    z-index: 1;

    overflow: hidden;
}

.people .card-front h2 {
	font-size: 22px;
	font-weight: bold;
	margin: 0;
}
.people .card-front p.title {
    font-size: 16px;
    width: 100px;
	margin: 0;
}

.people .card-back {
	-webkit-transform: rotateY(-180deg);
	transform: rotateY(-180deg);
}


.people .card-back h2 {
	font-size: 22px;
	font-weight: bold;
	margin: 0;
}
.people .card-back p.title {
    font-size: 16px;
    margin: 0;
    margin-bottom: 10px;
}

.people .card-back p.bio {
	font-size: 16px;
}

/*-------- cards / flip effect --------*/
.people .flex-item:hover .card-front {
	-webkit-transform: rotateY(-180deg);
	transform: rotateY(-180deg);
}
.people .flex-item:hover .card-back {
	-webkit-transform: rotateY(0);
	transform: rotateY(0);
}

@media only screen and (max-width: 990px) {
    .people .flex-container{
        justify-content: center;
    }

    .people .flex-item {
        width: 100%;
        height: 250px;
        
        margin: 10px 15px 25px 15px;
    }

    .people .card-back p.bio{
        font-size: 14px;
        line-height: 14px;
    }
}

.cases #featured{
    width: 100%;
    height: 840px;

    background-position: center center;
    background-size: cover;
}

.background-video-wrapper{
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
            background-size: cover;
}

.background-video-wrapper .background-video {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    top: 50%;
    left: 50%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
        -o-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
}

.video-hero .content {
    margin: 840px 0;
}



.cases p{
    margin-bottom: 10px;
}

@media only screen and (max-width: 1025px){
    .cases #featured{
        height: 620px;
    }

    .video-hero .content {
        margin: 620px 0;
    }
}

@media only screen and (max-width: 768px){
    .cases #featured{
        height: 280px;
    }

    .video-hero .content {
        margin: 280px 0;
    }
}

.cases{
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.cases .case {
    display: flex;
    flex-direction: column-reverse;
    position: relative;
    margin-right: -1px;
    margin-bottom: -1px;
    cursor: pointer;
    padding: 5px;
    width: 33%;
}

.cases .case .thumb {
    overflow: hidden;
}

.cases .case .thumb .learnMoreButton {
    display: none;
}

.cases .case .thumb picture,
.cases .case .thumb img,
.cases .case .thumb video {
    display: block;
    width: 440px;
    height: auto;
    object-fit: contain;
    transition: all 500ms cubic-bezier(0, 0.61, 0, 1.01);
}

.cases .case .info {
    display: flex;
    flex-direction: column;
    position: absolute;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0 34px 0 34px;
    opacity: 0;
}

.cases .case .info .infoSubCont {
    position: relative;
    display: block;
    width: 100%;
    color: #000;
    margin: 0;
    padding: 25px 0 0 0;
}

.cases .case .info .infoSubCont h2.client {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 30px;
    margin: 0;
    padding: 0;
    width: 100%;
    transform: translateY(20px);
    transition: all 500ms cubic-bezier(0, 0.61, 0, 1.01);
}

.cases .case .info .infoSubCont h3.projectName {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 30px;
    line-height: 1.2em;
    margin: 0;
    padding: 0;
    width: 100%;
    transform: translateY(20px);
    transition: all 500ms cubic-bezier(0, 0.61, 0, 1.01);
    transition-delay: 0.02s;
}

.cases .case .info .buttonSubCont {
    display: flex;
    position: relative;
    right: 36px;
    transition-delay: 0.04s;
    padding: 32px 0 0 36px;
    flex-grow: 2;
    flex-direction: column;
    transition: all 500ms cubic-bezier(0, 0.61, 0, 1.01);
    transform: translateY(20px);
}

.cases .case .info .buttonSubCont a.button {
    color: #000;
    display: block;
    position: relative;
    width: 250px;
    height: 45px;
    border: 3px solid #000;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.21em;
    text-align: center;
    text-decoration: none;
    line-height: 3em;
}

.cases .case .info .buttonSubCont a.button:after {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
    right: -90px;
    width: 60px;
    border-bottom: 3px solid #000;
    transition: all 100ms cubic-bezier(0, 0.61, 0, 1.01);
}

@media only screen and (max-width: 990px){
    .cases .case .info .buttonSubCont a.button{
        font-size: 13px;
        width: auto;
    }
    .cases .case .info .buttonSubCont a.button:after{
        right: -40px;
    }
}

.cases .case .info .buttonSubCont a.button:hover:after {
    right: -55px;
    width: 90px;
}

.cases .case:hover .thumb picture,
.cases .case:hover .thumb img,
.cases .case:hover .thumb video {
    /* filter: blur(16px) contrast(139%) brightness(80%); */
    filter: opacity(30%);
    transform: scale(1.1);
}

.cases .case:hover .thumb .learnMoreButton {
    opacity: 0;
}

.cases .case:hover .info {
    opacity: 1;
}
@media only screen and (min-width: 990px){
    .cases .case:hover .info h2.client {
        transform: translateY(0);
    }

    .cases .case:hover .info h3.projectName {
        transform: translateY(0);
    }

    .cases .case:hover .info .buttonSubCont{
        transform: translateY(0);
    }
}

@media only screen and (max-width: 990px){
    .container{
        width: 100%;
    }
    .cases{
        display: block;
    }
    .cases .case{
        display: flex;
        flex-direction: column-reverse;
        width: 100%;
        position: relative;
        margin-bottom: -2px;
    }

    .cases .case.thumb picture,
    .cases .case.thumb img,
    .cases .case.thumb video {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .cases .case .info .buttonSubCont{
        padding: 32px 0 0 25px;
    }
}

.navigation.pagination{
    margin-top: 20px;
    text-align: center;
    display: block;
    width: 100%;
}

/* NEWS */

.news,
.featured{
    margin-top: 150px;

    display: flex;
    justify-content: space-between;

    flex-wrap: wrap;
}

.featured .image{
    width: 45%;
    position: relative;
}

.featured .image::before{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 95%;
    margin-left: -17px;
    margin-top: -20px;
    background-color: white;
    border: 4px solid black;
}

.featured .image::after{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 95%;
    background-color: white;
    top: 0px;
    left: 0px;
}

.featured .image img{
    width: 100%;
    z-index: 1;
    position: inherit;
}

.featured .content{
    width: 50%;
}

.featured .content .date{
    font-size: 20px;
    font-weight: bold;
}

.featured .content h2{
    margin: 30px 0px;
}

.featured .content h2 a{
    font-size: 40px;
    color: black;
    text-decoration: none;
}


.featured .content .buttonSubCont {
}

.featured .content .buttonSubCont a.button {
    color: #000;
    display: block;
    position: relative;
    width: 250px;
    height: 45px;
    border: 3px solid #000;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.21em;
    text-align: center;
    text-decoration: none;
    line-height: 2.5em;
}

.featured .content .buttonSubCont a.button:after {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
    right: -90px;
    width: 40px;
    border-bottom: 3px solid #000;
    transition: all 100ms cubic-bezier(0, 0.61, 0, 1.01);
}

.featured .content .buttonSubCont a.button:hover:after {
    right: -40px;
    width: 60px;
}


/* single news */
.news .single{
    flex: 1 0 30%;
    padding-right: 15px;
    margin-bottom: 50px;
}

.news .single:nth-child(3n){
    padding-right: 0;
}

.news .single:first-child{
    margin-left: 0;
}

.news .single:last-child{
    margin-right: 0;
}

.news .single .date{
    font-size: 18px;
    font-weight: bold;
}

.news .single h2{
    margin: 20px 0px;
}

.news .single h2 a{
    font-size: 25px;
    color: black;
    text-decoration: none;
}

.news .single .buttonSubCont {

}

.news .single .buttonSubCont a.button {
    color: #000;
    display: block;
    position: relative;
    width: 200px;
    height: 45px;
    border: 3px solid #000;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.21em;
    text-align: center;
    text-decoration: none;
    line-height: 3em;
}

.news .single .buttonSubCont a.button:after {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
    right: -90px;
    width: 40px;
    border-bottom: 3px solid #000;
    transition: all 100ms cubic-bezier(0, 0.61, 0, 1.01);
}

.news .single .buttonSubCont a.button:hover:after {
    right: -40px;
    width: 60px;
}

@media only screen and (max-width: 1025px) {
    #wrapper{
        width: 100%;
    }

    .news,
    .featured{
        margin-top: 50px;
        flex-direction: column;
    }

    .featured .image,
    .featured .content{
        width: 100%;
    }

    .featured .image{
        right: -8px;
    }
    

    .featured .content .date{
        font-size: 14px;
    }

    .featured .content h2 a{
        font-size: 25px;
    }

    .featured .content .buttonSubCont{
        width: 100px;
    }

    .featured .content .buttonSubCont a.button{
        
        font-size: 14px;
        width: 200px;
    }
}

/* .elementor-post-navigation{
    flex-direction: row-reverse !important;
} */

/* .elementor-post-navigation .elementor-post-navigation__link{
    transform: rotate(180deg) !important;
} */

.pagination .left,
.pagination .right{
    display: inline-block;
}

.pagination .right{
    float: right;
}


/* home page news */
.news_holder .single{
    flex: 1 0 30%;
    padding-right: 15px;
    margin-bottom: 50px;
}

.news_holder .single:nth-child(3n){
    padding-right: 0;
}

.news_holder .single:first-child{
    margin-left: 0;
}

.news_holder .single:last-child{
    margin-right: 0;
}

.news_holder .single .date{
    font-size: 18px;
    font-weight: bold;
}

.news_holder .single h2{
    margin: 20px 0px;
}

.news_holder .single h2 a{
    font-size: 25px;
    color: black;
    text-decoration: none;
}

.news_holder .single .buttonSubCont {

}

.news_holder .single .buttonSubCont a.button {
    color: #000;
    display: block;
    position: relative;
    width: 200px;
    height: 45px;
    border: 3px solid #000;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.21em;
    text-align: center;
    text-decoration: none;
    line-height: 3em;
}

.news_holder .single .buttonSubCont a.button:after {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
    right: -90px;
    width: 40px;
    border-bottom: 3px solid #000;
    transition: all 100ms cubic-bezier(0, 0.61, 0, 1.01);
}

.news_holder .single .buttonSubCont a.button:hover:after {
    right: -40px;
    width: 60px;
}