/* -> Fonts
================================ */
@font-face {
    font-family: 'Alvaro';
    src: url('fonts/AlvaroCondensed.otf');
}
  
@font-face {
    font-family: 'Futura';
    src: url('fonts/Futura-Light-Condensed-Regular.otf');
}
/*================================ */


/* -> cookie bar
================================ */
#cookie-bar {
	background: #353535;
	height: auto;
	color: #fff;
	text-align: center;
	position: fixed;
	bottom: 0px;
	width: 100%;
	z-index: 600;
	padding: 8px 20px;
}

#cookie-bar p {
	margin: 0;
	padding: 0;
}

#cookie-bar a {
	color: #fff;
	display: inline-block;
	text-decoration: none;
	background-color: transparent;
	padding: 4px 10px;
	margin-left: 20px;
	transition: all 0.3s;
	-moz-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	border: 1px solid #fff;
}

#cookie-bar a:hover {
	color: #353535;
	background-color: #fff;
}
/*================================ */

/* -> Main
================================ */
body {
	font-family: 'Futura', serif;
	line-height: 30px;
	font-size: 20px;
    color: #000;
    overflow-x: hidden;
}

a{
	color: #fff;
	transition: all .3s;
	-moz-transition: all .3s;
	-webkit-transition: all .3s;
	-o-transition: all .3s
}

a:hover {
	color: #b3b7b5;
    text-decoration: none;
}

.transition{
	transition: all .3s;
	-moz-transition: all .3s;
	-webkit-transition: all .3s;
	-o-transition: all .3s
}

.grecaptcha-badge{
    z-index: 3!important;
}

h1,
h2,
h3,
h4,
h5{
    margin: 0;
    font-family: "Alvaro", sans-serif;
    position: relative;
    z-index: 2;
}

h2{
    font-size: 60px;
}   

h3{
    font-size: 42px;
}

h4{
    font-size: 30px;
}

h5{
    letter-spacing: 0.2px;
}

.h-line,
.h-line-white{
    height: 55px;
    border-left: 2px solid #000;
    display: inline-block;
    position: relative;
    z-index: 2;
}

.h-line-white{
    border-color: #ffffff;
}

.h-text{
    font-size: 28px;
    font-family: "Futura", sans-serif;
    margin-top: 50px;
    margin-bottom: 50px;
}

.btn{
    margin-top: 15px;
    text-transform: uppercase;
    cursor: pointer;
    font-family: 'Alvaro', sans-serif;
    font-size: 28px;
    padding: 0px 25px;
    border-radius: 10px;
    line-height: 42px;
    display: inline-block;
    text-align: center;
    color: #000;
    border: 2px solid #000;
    position: relative;
    z-index: 1;
    background-color: #ffffff;
}

    .btn:hover {
        background-color: #000;
        color: #ffffff!important;
    }

    .btn i{
        margin-left: 10px;
    }


/*Tabs*/
.tabs{
    border-radius: 5px;
    border: 1px solid #ffffff;
    display: inline-flex;
    text-align: center;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 5;
}
    
    .tabs li{
        float: left; 
        display: block;
    }

    .tabs li:not(:last-child){
        border-right: 1px solid #ffffff;
    }

        .tabs li a{
            padding: 17px 35px;
            cursor: pointer;
            line-height: 22px;
            font-size: 30px;
            color: #fff!important;
            user-select:none;
            display: flex; 
            align-items: center;
            height: 100%;
        }

        .tabs li.active a,
        .tabs li a:hover{
            background-color: #ffffff;
            color: #000!important;
        }

.tabs-content{
    padding: 15px;
}
/* ============================= */



/* -> Menu
================================ */
.navbar {
    background-color: #fff;
    z-index: 1000;
    height: 100px;
    padding: 0px;
    -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,.1);
    box-shadow: 1px 1px 3px rgba(0,0,0,.1);
}

    .navbar-brand{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

        .navbar-brand img{
            height: 55px;
        }

	.navbar ul > li{
    	margin: 0 20px;
	}

    .navbar ul > li:first-child{
        margin-left: 0px;
    }

    .navbar ul > li:last-child{
        margin-right: 0px;
    }

		.navbar ul > li > a{
		    color: #000!important;
		    position: relative;
		    padding: 0!important;
		    display: inline-block;
            font-size: 20px;
            line-height: 100px;
			text-transform: uppercase;
            font-family: 'Futura', sans-serif;
		}

			.navbar ul > li > a:hover,
			.navbar ul > li > a.active{
			    color: #b3b7b5!important;
			}
/* ============================= */


/* -> Home
================================ */
#home{
	position: relative;
    background-image: url('../img/home.jpg');
    background-position: center;
    background-size: cover;
    min-height: 600px;
    max-height: 750px;
    height: 100vh;
    overflow: hidden;
    padding-top: 100px;
}

    #home:before {
        content: '';
        background-color: #242227;
        opacity: 0.5;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        z-index: 1;
    }

    #home h1{
        position: relative;
        color: #fff;
        z-index: 2;
        font-size: 55px;
        line-height: 60px;
    }

    #home h1 div{
        color: #fff;
        z-index: 2;
        font-size: 44px;
        line-height: 54px;
    }
/* ============================= */



/* -> Advogados
================================ */
#lawyers{
    padding: 120px 0px 0px;
    position: relative;
    overflow: hidden;
}

    #lawyers-bg{
        position: absolute;
        bottom: -130px;
        opacity: 0.1;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .lawyer{
        margin-top: 70px;
        position: relative;
        z-index: 5;
    }

        .lawyer-box{
            background-color: #ffffff;
            -webkit-box-shadow: 0px 0px 14px 2px rgba(0,0,0,0.29);
            -moz-box-shadow: 0px 0px 14px 2px rgba(0,0,0,0.29);
            box-shadow: 0px 0px 14px 2px rgba(0,0,0,0.29);
        }

            .lawyer-info{
                font-family: "Futura", sans-serif;
                min-height: 450px;
            }

            .lawyer:nth-child(odd) .lawyer-info{
                padding: 40px 20px 15px 60px;
            }

            .lawyer:nth-child(even) .lawyer-info{
                padding: 40px 60px 15px 20px;
            }

                .lawyer-info h4{
                    font-family: "Futura", sans-serif;
                    font-size: 25px;
                }

                .lawyer-info p{
                    margin-bottom: 7px;
                }

            .lawyer-img{
                background-position: center;
                background-size: cover;
                height: 100%;
                position: relative;
                overflow: hidden;
            }

            .lawyer:nth-child(even) .lawyer-img:before{
                content: '';
                position: absolute;
                background-color: #fff;
                height: 150%;
                width: 150px;
                bottom: -20%;
                right: -70px;
                transform: rotate(-15deg);
            }

            .lawyer:nth-child(odd) .lawyer-img:before{
                content: '';
                position: absolute;
                background-color: #fff;
                height: 150%;
                width: 150px;
                bottom: -20%;
                left: -70px;
                transform: rotate(15deg);
            }
/* ============================= */



/* -> Áreas de Atuação
================================ */
#areas{
    margin-top: -50px;
    padding: 200px 0px 120px 0px;
    background-image: url('../img/areas.jpg');
    background-position: center;
    background-size: cover;
    position: relative;
}

    #areas:before {
        content: '';
        background-color: #000;
        opacity: 0.7;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        position: absolute;
        z-index: 1;
    }

    .area-btn{
        z-index: 2;
        position: relative;
        color: #ffffff!important;
        font-family: 'Futura', sans-serif;
        font-size: 34px;
    }

    .area{
        position: relative;
        z-index: 2;
        text-align: center;
        color: #ffffff;
        margin-top: 80px;
        transition: all 0.3s;
        -moz-transition: all 0.3s;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
    }

        .area.inactive{
            opacity: 0.3;
        }

        .area img{
            height: 45px;
        }

        .area span{
            display: block;
            font-size: 26px;
        }
/* ============================= */


/* -> Contactos
================================ */
#contacts{
    padding: 120px 0px 0px;
}

    .contacts{
        font-size: 24px;
    }

        
        #contact-form{

        }

            .form-input{
                width: 100%;
            }
        
                .form-input input[type="text"],
                .form-input input[type="email"],
                .form-input textarea,
                .form-input select{
                    font-size: 16px;
                    border: 3px solid #000;
                    padding: 12px 15px;
                    border-radius: 15px;
                    color: #686868;
                    width: 100%;
                    font-family: 'Futura', serif;
                    outline: none;
                }
        
                .form-input.error input[type="text"],
                .form-input.error input[type="email"],
                .form-input.error textarea,
                .form-input.error select{
                    border-color: #e10000;
                }
        
                .form-input textarea{
                    height: 200px;
                    resize: none;
                }
        
                    .form-input input:hover,
                    .form-input textarea:hover,
                    .form-input input:focus,
                    .form-input textarea:focus{
                        border-color: #000;
                    }
        
            .form-text{
                font-size:15px;
                line-height: 26px;
                margin-top: 0;
                margin-left: 5px;
            }
        
                .form-text input{
                    transform: translateY(2px);
                    display: inline-block;
                }
        
                .form-text label{
                    cursor: pointer;
                    line-height: 26px;
                }
        
                .form-text.error label{
                    color: #e10000;
                }
        
                .form-text a{
                    color: #000!important;
                    text-decoration: underline!important;
                }

    #map{
        height: 500px;
        margin-top: 120px;
    }
/* ============================= */


/* -> Footer
================================ */
footer{
    position: relative;
    color: #fff;
    padding: 50px 0px;
    background-color: #000;
}

    footer a{
        color: #fff;
    }

    footer img{
        filter: invert(1);
        height: 100px;
        margin-right: 30px;
    }

    .underline {
        position: relative;
    }
    
        .underline:after{
            content: '';
            position: absolute;
            bottom: -1px;
            left: 1px;
            height: 2px;
            width: 100%;
            background-color: #fff;
        }

    .copy-img{
        filter: none;
        height: 30px;
        margin-left: 5px;
        margin-right: 0;
        transform: translateY(-4px);
    }
/* ============================= */
