/* Fonts */

@font-face {
    font-family: 'Denim';
    src: url('../fonts/DenimINK-Light.ttf') format('ttf'),
    	 url('../fonts/DenimINK-Light.otf') format('otf'),
    	 url('../fonts/DenimINK-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Denim';
    src: url('../fonts/DenimINK-LightItalic.ttf') format('ttf'),
    	 url('../fonts/DenimINK-LightItalic.otf') format('otf'),
    	 url('../fonts/DenimINK-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Denim';
    src: url('../fonts/DenimINK-Regular.ttf') format('ttf'),
    	 url('../fonts/DenimINK-Regular.otf') format('otf'),
    	 url('../fonts/DenimINK-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Denim';
    src: url('../fonts/DenimINK-RegularItalic.ttf') format('ttf'),
    	 url('../fonts/DenimINK-RegularItalic.otf') format('otf'),
    	 url('../fonts/DenimINK-RegularItalic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
}

/* Estrutura */

*{
	margin: 0px;
}

body, html{
	overflow: hidden;
}

:root{
	--white: #ffffff;
	--black: #000000;
	--yellow: #FFCE00;
}

h1{
	font-family: 'Denim';
	font-weight: 400;
	font-size: 50px;
	font-style: normal;
	line-height: 53px;
}

h5, h5 a{
	font-family: 'Denim';
	font-weight: 400;
	font-size: 15px;
	font-style: normal;
	line-height: 20px;
}

h6, a{
	font-family: 'Denim';
	font-weight: 400;
	font-size: 14px;
	font-style: normal;
	line-height: 16px;
}

p{
	font-family: 'Denim';
	font-weight: 400;
	font-size: 18px;
	font-style: normal;
	line-height: 21px;
}

a{
	text-decoration: none;
	color: var(--black);
}

/* Header */

header{
	position: absolute;
	top: 0px;
	left: 0px;
	width: calc(100% - 80px);
	display: flex;
	justify-content: space-between;
	padding: 40px;
}

header .logo img{
	width: 55px;
	height: auto;
	position: relative;
	z-index: 3;
}

.hamburguer-menu{
	width: 27px;
	height: 27px;
	position: relative;
	z-index: 3;
	cursor: pointer;
}

.hamburguer-menu::after,
.hamburguer-menu::before{
	content: '';
	width: 100%;
	height: 2px;
	background-color: var(--white);
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
}

.hamburguer-menu::after{
	transform: translateX(-50%) translateY(-50%) rotate(-90deg);
	transition: 0.5s;
}

.hamburguer-menu::before{
	transform: translateX(-50%) translateY(-50%);
}

header.open .hamburguer-menu::after{
	transform: translateX(-50%) translateY(-50%) rotate(0deg);
	transition: 0.5s;
	background-color: var(--black);
}

.menu {
    width: calc(950px - 120px);
    height: calc(100vh - 80px);
    background-color: var(--yellow);
    position: absolute;
    top: 0px;
    right: -950px;
    transition: 0.5s;
    z-index: 2;
    padding: 40px 60px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

header.open .menu {
    right: 0px;
    transition: 0.5s;
}

header .menu a.login{
	border: 1px solid var(--black);
	padding: 7px 20px;
	border-radius: 20px;
	position: absolute;
    top: 40px;
    left: 60px;
}

header .menu a.login:hover{
	background-color: var(--black);
	color: var(--yellow);
}

header .text h1{
	width: 430px;
	margin-top: 95px;
}

header .text p{
	width: 385px;
	margin-left: auto;
	padding-right: 60px;
	padding-top: 65px;
}

header .contacts {
    display: flex;
    justify-content: space-between;
    padding-right: 70px;
}

header .contacts h5:first-child,
header .contacts h5:last-child a{
	font-weight: 600;
}

header .contacts h5:first-child{
	margin-bottom: 20px;
}

header .contacts h5:last-child{
	margin-top: 20px;
}

header .contacts h5:nth-child(2){
	height: 80px;
}

/* Landing Page */

#landing-page{
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	background-image: url('../img/FONDO.png');
	background-size: cover;
	background-position: center;
}

.overlay-background{
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0px;
	left: 0px;
	background-color: rgba(0, 0, 0, 0.2);
}

.content{
	width: calc(100% - 80px);
	padding: 40px;
	z-index: 1;
	position: absolute;
	bottom: 0px;
	left: 0px;
}

.content .empresa{
	width: calc(100% - 0px);
}

.content .empresa img{
	width: 100%;
}

.content .lugares{
	width: calc(100% - 50px);
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.content h6{
	color: var(--white);
}

@media only screen and (max-width: 1280px){
	/* Estrutura */

	h1{
		font-size: 40px;
		line-height: 43px;
	}

	/* Header */

	header .text h1{
		width: 350px;
	}

	header .text p {
	    padding-top: 40px;
	}

	header .contacts h5:first-child {
    	margin-bottom: 15px;
	}

	header .contacts h5:last-child {
    	margin-top: 15px;
	}
}


@media only screen and (max-width: 1024px){
	/* Estrutura */

	h1 {
        font-size: 32px;
        line-height: 35px;
    }

    h5, h5 a {
	    font-size: 11px;
	    line-height: 13px;
	}

    p {
	    font-size: 15px;
	    line-height: 18px;
	}

	h6, a {
	    font-size: 13px;
	    line-height: 15px;
	}

	/* Header */

	.menu {
	    width: calc(800px - 120px);
	}

	header .text h1 {
        width: 280px;
    }

	header .text p {
	    width: 400px;
	}

	header .contacts h5:nth-child(2) {
    	height: 50px;
	}

	header .contacts h5:first-child {
        margin-bottom: 10px;
    }

    header .contacts h5:last-child {
        margin-top: 10px;
    }

    header .menu > a.login {
	    padding: 5px 15px;
	}

}

@media only screen and (max-width: 820px){

	/* Estrutura */

	h1 {
        font-size: 30px;
        line-height: 32px;
    }

	/* Header */

	header .logo img{
		transition: 0.5s;
	}

	header.open .logo img {
	    filter: invert(1);
	    transition: 0.5s;
	}

	.menu {
        width: calc(100% - 120px);
        height: calc(80vh - 80px);
        right: 0px;
        top: -80vh;
    }

    header.open .menu{
    	top: 0px;
    }

    header .text{
    	position: relative;
    }

    header .text h1 {
        width: 260px;
        margin-top: 160px;
    }

    header .menu a.login {
        position: absolute;
        left: unset;
        top: unset;
        right: 380px;
        bottom: -70px;
    }
}

@media only screen and (max-width: 500px){

	/* Header */

	.menu {
	    width: calc(100% - 60px);
	    padding: 40px 30px;
        height: fit-content;
        gap: 50px;
        top: -100vh;
	}

	header {
	    width: calc(100% - 60px);
	    padding: 25px 30px;
	}

	header .logo img {
	    width: 35px;
	}

	header .text h1 {
        margin-top: 70px;
    }

    header .text p {
        width: 260px;
        padding-right: 15px;
        padding-bottom: 70px;
    }

    header .menu a.login {
        right: 195px;
        bottom: 0px;
    }

    header .contacts {
	    padding-right: 0;
	    width: calc(100vw - 30px);
        margin-left: -15px;

	}

	/* landing Page */

	.content .empresa {
        width: calc(100% - 20px);
    }

	.content {
		margin-left: 20px;
	    padding: 30px 0px;
	    width: fit-content;
	}

	.content .lugares {
	    width: calc(100% - 30px);
	}
}

@media only screen and (max-width: 420px){
	
	/* Estrutura */

	h5, h5 a {
        font-size: 9px;
        line-height: 12px;
    }

    /* Header */

    header .contacts h5:last-child {
        margin-top: 5px;
    }
}

@media only screen and (max-width: 376px){

	/* Estrutura */

	h1 {
        font-size: 25px;
        line-height: 28px;
    }

    p {
        font-size: 12px;
        line-height: 16px;
    }

    h6, a {
        font-size: 11px;
        line-height: 12px;
    }

    /* Header */

    header .text p {
        padding-top: 20px;
    }

    header .menu a.login {
	    padding: 5px 14px;
	    right: 215px;
	    bottom: -40px;
	}

	.menu {
        height: calc(100vh - 80px);
        top: -100vh;
    }
}

@media only screen and (max-width: 320px){

	/* Estrutura */

	h5, h5 a {
        font-size: 7px;
        line-height: 9px;
    }

	/* Header */

    header {
        padding: 20px 30px;
    }

    header .text h1 {
        margin-top: 65px;
    }

    header .menu a.login {
        right: unset;
        bottom: -40px;
        left: 0px;
    }

    header .contacts h5:nth-child(2) {
        height: 40px;
    }

}