body{
    font-size: 14px;
    font-family: 'Roboto', sans-serif;
    color: #777;
    -webkit-transition: margin 0.2s ease;
            transition: margin 0.2s ease;
    background: #FFF;
}
.red{
    color: #bc0a29;
}
.container{
    width: 1200px;
}

h1,
h2,
h3,
h4,
h5 { font-family: 'Montserrat', sans-serif; }

h1{
    font-size: 20px;
    color: #bc0a29;
    padding-bottom: 10px;
    background: url(../img/dividerbig.png) left bottom no-repeat;
    margin-bottom: 35px;
    font-weight: 700;
}
h2{
    font-size: 20px;
    color: #bc0a29;
    padding-bottom: 10px;
    background: url(../img/dividerbig.png) left bottom no-repeat;
    margin-bottom: 35px;
    font-weight: 700;
}
h3{
    font-size: 16px;
    color: #bc0a29;
    margin-bottom: 30px;
    text-transform: uppercase;
}
h4{
    font-size: 16px;
    color: #000;
    margin-bottom: 20px;
    clear: both;
}
h5{
    font-size: 14px;
    color: #000;
    margin-bottom: 25px;
}
p{
    line-height: 1.5;
}

.content p a,
.res-conflitos-box p a { color: #bc0a29; }

.content p a:hover,
.res-conflitos-box p a:hover { color: #003B44; }

/* TOP-BAR */

.header {
    z-index: 1;
    position: relative;
}

.header .top-bar{
    width: 100%;
    box-sizing: border-box;
    padding: 15px 25px;
    background: #EEE;
    color: #7F7F7F;
    overflow: hidden;
    font-size: 11px;
}
.top-bar .estrelas{
    float: left;
    display: block;
}
.top-bar .right{
    float: right;
    text-align: right;
    position: relative;
    top: 5px;
}
.top-bar .lang{
    display: inline-block;
    margin-right: 15px;
}
.top-bar .lang a:hover, .top-bar .lang a.active{
    color: #BC0A29;
}
.top-bar #wxIcon2 img{
    display: inline-block;
    margin-left: 15px;
    position: relative;
    bottom: -5px;
}
.top-bar #wxTemp{
    color: #bc0a29;
    font-size: 13px;
}

/* LOGO */
.header .logo{
    background: #bc0a29;
    padding: 20px 25px;
    box-sizing: border-box;
    position: relative;
}
.header .logo img{
    display: block;
    width: 70%;
    max-width: 400px;
}
.mobile-toggle{
    display: none;
}
.mobile-menu{
    display: none;
}

/* MENU */
.header .menu{
    background: rgba(188, 10, 41, 0.7);
    padding: 0 25px;
    box-sizing: border-box;
}

.header .menu:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

.menu li{
    display: block;
    float: left;
    padding: 10px 0;
    margin-right: 30px;
}
.menu li:last-child{
    margin-right: 0;
}
.menu li a{
    display: block;
    padding: 5px 0 5px 10px;
    opacity: 0.75;
    filter: alpha(opacity=75);
    color: #FFF;
    -webkit-transition: all 0.2s linear;
            transition: all 0.2s linear;
    text-transform: uppercase;
    font-size: 11px;
	font-family: 'Montserrat', sans-serif;
}
.menu li:hover > a, .menu li a.active{
    opacity: 1;
    filter: alpha(opacity=100);
}
.submenu{
    position: absolute;
    display: none;
    padding: 25px;
    box-sizing: border-box;
    background-image: url(../img/header/menubg.png);
    background-repeat: repeat-x;
    background-position: top left;
    z-index: 1;
    margin-top: 10px;
}
.submenu li{
    float: none;
    display: none;
    padding: 0;
}
.submenu li a{
    padding: 7px 0;
    border-left: 0;
    margin-right: 0;
    font-size: 11px;
}
.submenu li:first-child a{
    padding: 0 0 7px 0;
}
.submenu li:last-child a{
    padding: 7px 0 0 0;
}

/* CONTENT */
.banner{
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 350px;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    -webkit-transition: margin 0.2s ease;
            transition: margin 0.2s ease;
}
.home-content{
    background: #FFF;
}
.content{
    background: #FFF;
}
.home-content .container{
    padding: 50px 25px;
    margin-top: 337px;
}
.content .container{
    padding: 50px 25px;
    margin-top: 137px;
}


/* Footer Widgets */

.footer-widgets {
    background-color: #f4f4f4;
    overflow: hidden;
}

.footer-widgets .widgets-label {
	background: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.trip-advisor-widget,
.clean-safe-banner { max-width: 100%; }

.trip-advisor-widget { width: 200px; }

.clean-safe-banner {
	display: block;
	width: 482px;
}

@media (max-width: 991.98px) {
	.footer-widgets .container { padding: 30px 25px; }

	.footer-widgets .widgets-label { text-align: center; }

	.clean-safe-banner,
	.trip-advisor-widget { margin: 25px auto 0 auto; }
}

@media (min-width: 992px) {
	.footer-widgets .container {
		padding: 20px 25px;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-ms-align-items: center;
		align-items: center;
		justify-content: flex-end;
	}

	.footer-widgets .widgets-label { margin-bottom: 0; }

	.footer-widgets .widgets-label { margin-right: auto; }

	.clean-safe-banner,
	.trip-advisor-widget { margin-left: 25px; }
}


/* Footer */

footer {
	font-size: 13px;
	padding: 50px 0;
	background: #bc0a29;
	color: rgba(255, 255, 255, .84);
	background-image: url('../img/footer/background-logo.png');
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center;
}

footer .container { padding: 0 25px; }

footer h2 {
	color: #fff;
	background: none;
	position: relative;
}

footer h2::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 60px;
	height: 3px;
	background: #fff;
}

@media (max-width: 575.98px) {
	.footer-col:nth-child(n+2) { margin-top: 30px; }
}

@media (min-width: 576px) {
	footer .container {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

@media (min-width: 576px) and (max-width: 991.98px) {
	.footer-col {
		width: 47.5%;
		margin-top: 5%;
		margin-left: 5%;
	}
	.footer-col:nth-child(-n+2) { margin-top: 0; }
	.footer-col:nth-child(2n+1) { margin-left: 0; }
}

@media (min-width: 992px) {
	.footer-col {
		width: 22.75%;
		margin-top: 3%;
		margin-left: 3%;
	}
	.footer-col:nth-child(-n+4) { margin-top: 0; }
	.footer-col:nth-child(4n+1) { margin-left: 0; }
}


/* Footer Contacts */

.footer-contacts .item {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: flex-start;
	align-items: flex-start;
}

.footer-contacts .item:nth-child(n+2) { margin-top: 10px; }

.footer-contacts .item i {
	margin-right: 10px;
	font-size: 16px;
	padding-top: 2px;
	color: #fff;
}

.footer-contacts .item a:hover { color: #fff; }

.footer-menu li:nth-child(n+2) { margin-top: 5px; }


/* Footer Menu */

.footer-menu a {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	position: relative;
	padding-left: 20px;
	cursor: pointer;
}

.footer-menu a i {
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	color: #fff;
	-webkit-transition: left 0.3s;
	-o-transition: left 0.3s;
	transition: left 0.3s;
}

.footer-menu a span { line-height: 1.5; }

.footer-menu a:hover i { left: 10px; }
.footer-menu a:hover span { color: #fff; }


/* Footer Newsletter */

.footer-newsletter { margin-top: 10px; }

.footer-newsletter .flo-option {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	cursor: pointer;
	-ms-align-items: flex-start;
	align-items: flex-start;
}

.footer-newsletter .flo-option input { display: none; }

.footer-newsletter .flo-option .flo-checkbox {
	width: 15px;
	min-width: 15px;
	height: 15px;
	border: 1px solid rgba(255, 255, 255, .84);
	margin-right: 12.5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-top: 3px;
	position: relative;
}

.footer-newsletter .flo-option .flo-checkbox::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 2px;
	display: block;
	width: 8px;
	height: 4px;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.footer-newsletter .flo-option:hover .flo-checkbox { border-color: #fff; }

.footer-newsletter .flo-option input:checked + .flo-checkbox::before { opacity: 1; }

.footer-newsletter .flo-option .checkbox-label { line-height: 1.5; }

.footer-newsletter .flo-option a { color: #fff; }
.footer-newsletter .flo-option a:hover { text-decoration: underline; }

.footer-newsletter label.field {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	margin-top: 10px;
}

.footer-newsletter input[type="email"] {
	background: rgba(255, 255, 255, 0.84);
	padding: 0 20px;
	border-radius: 0;
	border: 0;
	line-height: 35px;
	height: 35px;
	flex-grow: 1;
}

.footer-newsletter input[type="email"]:hover,
.footer-newsletter input[type="email"]:focus { background: #fff; }

.footer-newsletter button {
	border: 0;
	padding: 0;
	background: none;
	cursor: pointer;
	margin-left: 10px;
}

.footer-newsletter button i {
	display: block;
	width: 35px;
	min-width: 35px;
	line-height: 35px;
	background: #fff;
	color: #bc0a29;
	font-size: 16px;
	text-align: center;
}

.footer-newsletter button:hover i {
	background: #840000;
	color: #fff;
}


/* Footer Social */

.footer-social {
	margin-top: 10px;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}

.footer-social a:nth-last-child(n+2) { margin-right: 10px; }

.footer-social a i {
	display: block;
	width: 30px;
	line-height: 30px;
	background: #fff;
	color: #bc0a29;
	font-size: 16px;
	text-align: center;
}

.footer-social a:hover i {
	background: #840000;
	color: #fff;
}


/* Copyright */

.copyright { padding: 20px 0; }

.copyright .container { padding: 0 25px; }

.copyright p {
	text-align: center;
	line-height: 2;
	font-size: 12px;
}

.copyright a:hover { color: #bc0a29; }


/* FOOTER */
.footer{
    width: 100%;
    background: #F8F8F8;
}
.footer .container{
    padding: 40px 25px 50px 25px;
}
.footer .social img{
    margin-top: 10px;
    margin-right: 10px;
}
.footer .social a:last-child img{
    margin-right: 0;
}

.clean-and-safe-footer { padding: 25px; }

.clean-and-safe-footer img {
	display: block;
	width: 400px;
	max-width: 100%;
	margin: 0 auto;
}

.credits{
    width: 100%;
    background: #DFDFDF;
    font-size: 12px;
}
.credits .container{
    padding: 40px 25px 60px 25px;
}
.credits a{
    color: #bc0a29;
}
.credits a:hover{
    color: #003B44;
}
.footer-logo{
    width: 24%;
    margin-right: 6%;
    float: left;
}
.footer-logo img{
    width: 100px;
    max-width: 100%;
    display: block;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}
.footer-contactos{
    width: 70%;
    float: left;
    margin-top: 5px;
}
.credits .col:last-child{
    text-align: right;
    line-height: 19px;
}
.credits .footer-menu{
    margin-bottom: 20px;
    font-size: 13px;
}

.TA_cdsratingsonlynarrow #CDSRATINGWIDGET759 {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}

.hcom-w-inner {
    width: 100% !important;
}

/* HOME */
.cycle-slideshow{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    -webkit-transition: margin 0.2s ease;
            transition: margin 0.2s ease;
    background: #FFF;
	overflow: hidden;
	background-image: url('../img/home/slider/foto1.jpg');
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center;
}
.cycle-slideshow,
.cycle-slideshow > img { height: 550px; }

.cycle-slideshow > img{
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.slider-badge {
	float: right;
	margin-top: 46.5px;
	height: 125px;
	margin-right: 25px;
}
@media (max-width: 575.98px) {
	.slider-badge {
		height: 100px;
		margin-right: 15px;
	}
}

.home-col{
    height: 410px;
    background: #EEE;
    position: relative;
}
.home-col .thumb-wrapper{
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 200px;
}
.home-col .thumb{
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 200px;
    -webkit-transition: all 0.2s ease;
            transition: all 0.2s ease;
}
.home-col .thumb img{
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover;
}
.home-col .title{
    display: block;
    margin: 20px;
    color: #bc0a29;
    font-size: 20px;
    font-weight: 700;
	font-family: 'Montserrat', sans-serif;
}
.home-col ul{
    box-sizing: border-box;
    margin: 0 0 0 18px;
    padding: 0 0 0 18px;
    list-style: disc;
    font-size: 14px;
    line-height: 19px;
}
.home-col p{
    box-sizing: border-box;
    padding: 0 18px;
}
.home-col .preco{
	font-family: 'Montserrat', sans-serif;
    box-sizing: border-box;
    font-size: 15px;
    background: url(../img/home/cols/precobg.png) left top repeat-y;
    width: 135px;
    padding: 10px;
    text-align: right;
    position: absolute;
    bottom: 15px;
    right: 0;
    color: #FFF;
    display: block;
}
.home-col:hover{
    background: #bc0a29;
}
.home-col:hover .thumb{
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
}
.home-col:hover .title, .home-col:hover li, .home-col:hover p{
    color: #EEE;
}
.home-col:hover .preco{
    background-image: url(../img/home/cols/precobg_h.png);
    color: #bc0a29;
}


/* Testimonials */

.testimonials {
	padding-bottom: 50px;
}

.testimonials .container { padding: 0 25px; }

.testimonials .item p {
    background: #eee;
    box-sizing: border-box;
    padding: 25px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 15px;
    display: block;
    margin-bottom: 20px;
}

.testimonials .item .author {
    text-align: right;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    display: block;
    color: #003b44;
}

.testimonials .item .date {
    text-align: right;
    font-size: 12px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: #777;
}

.testimonials .owl-nav {
	position: absolute;
	right: 0;
	bottom: 100%;
	margin-bottom: 45px;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}

.testimonials .owl-nav button { cursor: pointer; }

.testimonials .owl-nav button:nth-child(n+2) { margin-left: 10px; }

.testimonials .owl-nav i {
	display: block;
	width: 30px;
	line-height: 28px;
	text-align: center;
	font-size: 16px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #dadada;
	color: #ccc;
	-webkit-transition: color 0.3s, border-color 0.3s;
	-o-transition: color 0.3s, border-color 0.3s;
	transition: color 0.3s, border-color 0.3s;
}

.testimonials .owl-nav button:hover i {
	border-color: #bc0a29;
	color: #bc0a29;
}

@media (max-width: 374.98px) {
	.testimonials .owl-nav { margin-bottom: 4px; }
}


/* HOTEL - HISTORIA */
.base{
    width: 100%;
    display: block;
}


/* Localização */

.location-map {
    display: block;
	border: 0;
	width: 100%;
	height: 350px;
}

/* STAFF */
.staff img{
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}
.staff .nome{
    display: block;
    text-align: center;
    font-size: 16px;
    margin: 20px 0 15px 0;
    font-weight: 700;
    color: #003b44;
}
.staff .funcao{
    display: block;
    text-align: center;
}

/* CONFERENCIAS E EVENTOS */
.conferencias-galeria img{
    display: block;
    width: 47.5%;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover;
    float: left;
    margin-right: 5%;
    padding: 5px;
    border: 1px solid #EEE;
    box-sizing: border-box;
}
.conferencias-galeria img:hover{
    border-color: #bc0a29;
}
.conferencias-galeria a:last-child img{
    margin-right: 0;
}

/* NOTICIAS */
.noticias .col{
    padding: 25px;
    position: relative;
    height: 175px;
}
.noticias .col .noti-wrap{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    width: 90%;
}
.noticias .title{
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
    display: block;
    font-weight: 700;
    color: #003b44;
    line-height: 19px;
}
.noticias .date{
    font-size: 11px;
    display: block;
    margin: 10px 0 15px 0;
}
.noticias .hover{
    display: none;
    width: 100%;
    height: 100%;
    position: absolute;
    background: #bc0a29;
    top: 0;
    left: 0;
}
.noticias .ler{
    display: block;
    cursor: pointer;
    padding: 10px 15px;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    border: 1px solid #FFF;
    color: #FFF;
    width: 80%;
    max-width: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
}
.noticias .ler:hover{
    background: #FFF;
    color: #bc0a29;
}
.noticia-pop{
    width: 100%;
    max-width: 600px;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: none;
    z-index: 3;
    box-sizing: border-box;
    padding: 25px;
}
.noticia-pop .close{
    font-size: 40px;
    cursor: pointer;
    position: absolute;
    top: -30px;
    right: 15px;
    padding: 5px;
}
.noticia-pop .close:hover{
    color: #bc0a29;
}
.noticia-pop h4{
    font-weight: 700;
    color: #003b44;
}
.noticia-pop .date{
    font-size: 11px;
    display: block;
    margin: 10px 0 20px 0;
}
.noticia-pop p a{
    color: #bc0a29;
}
.noticia-pop p a:hover{
    color: #003B44;
}
.noticia-pop .noticia-img{
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover;
}

/* GALERIA */
.galeria img{
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover;
    padding: 5px;
    border: 1px solid #EEE;
    box-sizing: border-box;
}
.galeria img:hover{
    border-color: #bc0a29;
}
.penta_col{
    margin-bottom: 50px;
}
.penta_col:last-child{
    margin-bottom: 0;
}

/* PARCEIROS */
.parceiros img{
    padding: 10px;
    border: 1px solid #EEE;
    cursor: pointer;
}
.parceiros img:hover{
    border-color: #bc0a29;
}
.overlay{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    background: rgba(255, 255, 255, 0.98);
    display: none;
    cursor: pointer;
}
.parceiro-pop{
    width: 100%;
    max-width: 700px;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: none;
    z-index: 3;
    box-sizing: border-box;
    padding: 25px;
}
.parceiro-pop .close{
    font-size: 40px;
    cursor: pointer;
    position: absolute;
    top: -30px;
    right: 15px;
    padding: 5px;
}
.parceiro-pop .close:hover{
    color: #bc0a29;
}
.parceiro-pop .titulo{
    display: block;
    font-size: 20px;
    color: #bc0a29;
    margin-bottom: 15px;
}
.parceiro-pop p a{
    color: #bc0a29;
}
.parceiro-pop p a:hover{
    color: #003B44;
}

/* CONHECER O PORTO */
.conhecer-o-porto .row{
    margin-bottom: 60px;
    overflow: hidden;
}
.conhecer-o-porto img{
    box-sizing: border-box;
    border: 1px solid #EEE;
    padding: 5px;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}
.conhecer-o-porto img:hover{
    border-color: #bc0a29;
}
.vinho-do-porto img{
    height: 250px;
}
.historia-do-porto img{
    height: 250px;
}
.museus-patrimonio img{
    height: 200px;
    margin-bottom: 20px;
}
.gastronomia img{
    height: 175px;
}

/* * * * * RESPONSIVE * * * * */
@media all and (max-width: 1200px){
    .container{
        width: 100%;
    }
}
@media all and (max-width: 920px){
    .header .menu{
        display: none;
    }
    .header .logo a{
        width: 150px;
    }
    .header .logo img{
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
    }
    .home-content .container{
        margin-top: 380px;
    }
    .content .container{
        margin-top: 180px;
    }
    .mobile-toggle{
        display: block;
        height: 100%;
        width: 25px;
        position: absolute;
        top: 0;
        left: 25px;
        background: url(../img/header/hamburger.png) center center no-repeat;
        cursor: pointer;
    }
    .credits .col:last-child{
        text-align: center;
    }
}
@media all and (max-width: 600px){
    /* TOP-BAR */
    .top-bar .estrelas{
        display: block;
        float: none;
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
    }
    .top-bar .right{
        float: none;
        text-align: center;
        margin-top: 20px;
    }
    .top-bar .lang{
        display: inline-block;
        margin-right: 0;
    }
    .top-bar #wxIcon{
        display: block;
        margin: 10px 0 5px 0;
    }
    .top-bar #wxIcon2 img{
        margin-left: 0;
    }
    .banner{
        top: 200px;
        height: 200px;
    }
    .cycle-slideshow{
        top: 200px;
    }
    .cycle-slideshow,
    .cycle-slideshow > img { height: 400px; }
    .noticia-pop{
        position: absolute;
        top: 50px;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
    }
    .parceiro-pop{
        position: absolute;
        top: 50px;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%);
    }
}


/* RGPD */

.rgpd h3 {
    margin-top: 30px;
    margin-bottom: 15px;
}

.rgpd li {
    position: relative;
    line-height: 1.5;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 20px;
}

.rgpd li:before {
    content: "\f111";
    font-family: 'FontAwesome';
    display: block;
    position: absolute;
    left: 0;
    top: 4px;
    font-size: 8px;
    color: #bc0a29;
}


/* Gallery */

.gallery-grid {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.gallery-grid:nth-last-child(n+2) { margin-bottom: 35px; }

.gallery-grid .item {
	margin-top: 3%;
	margin-left: 3%;
	padding: 5px;
	border: 1px solid #dadada;
	-webkit-transition: border-color 0.3s;
	-o-transition: border-color 0.3s;
	transition: border-color 0.3s;
	position: relative;
	z-index: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.gallery-grid .item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #bc0a29;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
	z-index: 1;
}

.gallery-grid .item span {
	display: block;
	width: 100%;
	padding-bottom: 100%;
	-webkit-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 0;
}

.gallery-grid .item i {
	position: absolute;
	right: 50%;
	bottom: 50%;
	-webkit-transform: translate(50%, 50%);
	-ms-transform: translate(50%, 50%);
	transform: translate(50%, 50%);
	display: block;
	color: #fff;
	font-size: 30px;
	z-index: 2;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.gallery-grid .item:hover { border-color: #bc0a29; }
.gallery-grid .item:hover::before { opacity: .5; }
.gallery-grid .item:hover i { opacity: 1; }

@media (max-width: 575.98px) {
	.gallery-grid .item { width: 48.5%; }
	.gallery-grid .item:nth-child(-n+2) { margin-top: 0; }
	.gallery-grid .item:nth-child(2n+1) { margin-left: 0; }
}

@media (min-width: 576px) and (max-width: 767.98px) {
	.gallery-grid .item { width: 31.333%; }
	.gallery-grid .item:nth-child(-n+3) { margin-top: 0; }
	.gallery-grid .item:nth-child(3n+1) { margin-left: 0; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
	.gallery-grid .item { width: 22.75%; }
	.gallery-grid .item:nth-child(-n+4) { margin-top: 0; }
	.gallery-grid .item:nth-child(4n+1) { margin-left: 0; }
}

@media (min-width: 992px) {
	.gallery-grid .item { width: 17.6%; }
	.gallery-grid .item:nth-child(-n+5) { margin-top: 0; }
	.gallery-grid .item:nth-child(5n+1) { margin-left: 0; }
}


/* Lightbox Item */

.lightbox-item {
	padding: 5px;
	border: 1px solid #dadada;
	-webkit-transition: border-color 0.3s;
	-o-transition: border-color 0.3s;
	transition: border-color 0.3s;
	position: relative;
	z-index: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.lightbox-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #bc0a29;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
	z-index: 1;
}

.lightbox-item span {
	display: block;
	width: 100%;
	padding-bottom: 100%;
	-webkit-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 0;
}

.lightbox-item i {
	position: absolute;
	right: 50%;
	bottom: 50%;
	-webkit-transform: translate(50%, 50%);
	-ms-transform: translate(50%, 50%);
	transform: translate(50%, 50%);
	display: block;
	color: #fff;
	font-size: 30px;
	z-index: 2;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.lightbox-item:hover { border-color: #bc0a29; }
.lightbox-item:hover::before { opacity: .5; }
.lightbox-item:hover i { opacity: 1; }


/* Porto Cols */

.porto-cols main h4 { color: #bc0a29; }

@media (max-width: 767.98px) {
	.porto-cols > *:last-child { margin-top: 30px; }
}

@media (min-width: 768px) {
	.porto-cols {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: space-between;
		-ms-align-items: center;
		align-items: center;
	}

	.porto-cols aside { width: 40%; }
	.porto-cols main { width: 55%; }
}


/* Porto Double Pic */

.porto-double-pic {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
}

.porto-double-pic a { width: 48.5%; }

.porto-double-pic a:first-child:last-child { width: 100%; }
.porto-double-pic a:first-child:last-child span { padding-bottom: 46.6%; }


/* Porto Heritage */

.porto-heritage { background-color: #fafafa; }

.porto-heritage .container { padding: 0 25px; }

.porto-heritage h4 {
	background-color: #f0f0f0;
	padding: 25px 0;
	text-align: center;
	margin-bottom: 0;
	position: relative;
}

.porto-heritage h5 {
	color: #bc0a29;
	margin-top: 25px;
}

.porto-heritage .item { padding: 50px 30px; }

.porto-heritage .item:nth-child(2) { background-color: #f4f4f4; }

@media (max-width: 767.98px) {
    .porto-heritage .item {
		margin: 0 -25px;
		padding-left: 25px;
		padding-right: 25px;
    }
}

@media (min-width: 768px) {
    .porto-heritage .items {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
	}

	.porto-heritage .item { flex: 1 1 0; }

	.porto-heritage .item:first-child { margin-left: -30px; }
	.porto-heritage .item:last-child { margin-right: -30px; }
}


/* Porto Gastronomy */

.porto-gastronomy .item:nth-child(n+2) { margin-top: 30px; }

.porto-gastronomy h5 { color: #bc0a29; }

.porto-gastronomy aside {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}

.porto-gastronomy .porto-double-pic { width: 100%; }

.porto-gastronomy .lightbox-item {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
}

@media (max-width: 767.98px) {
	.porto-gastronomy main { margin-top: 25px; }
}

@media (min-width: 768px) {
	.porto-gastronomy .item {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: space-between;
	}

	.porto-gastronomy .item aside { width: 30%; }
	.porto-gastronomy .item main { width: 65%; }
}


/* News Grid */

.news-grid-item {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-direction: column;
}

.news-grid-item span,
.news-grid-item .info,
.news-grid-item .title,
.news-grid-item p { display: block; }

.news-grid-item .thumb {
	overflow: hidden;
	background: #bc0a29;
}

.news-grid-item .thumb span {
	width: 100%;
	padding-bottom: 56.25%;
	background-size: cover;
	background-position: center;
	opacity: 1;
	transform: scale(1) rotate(0deg);
	transition: transform 1s, opacity 1s;
}

.news-grid-item .info {
	background: #f4f4f4;
	padding: 20px;
	flex-grow: 1;
}

.news-grid-item .date,
.news-grid-item p { font-size: 13px; }

.news-grid-item .date i {
	display: inline-block;
	margin-right: 10px;
	color: #bc0a29;
}

.news-grid-item .title {
	margin: 15px 0;
	color: rgba(#000, .84);
	transition: color 0.3s;
}

.news-grid-item .title:first-child { margin-top: 0; }

.news-grid-item:hover .thumb span {
	opacity: .7;
	transform: scale(1.15) rotate(-4deg);
}

.news-grid-item:hover .title { color: #bc0a29; }

@media (max-width: 575.98px) {
    .news-grid .news-grid-item { display: block; }
    .news-grid .news-grid-item:nth-child(n+2) { margin-top: 20px; }
}

@media (min-width: 576px) {
    .news-grid {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		flex-wrap: wrap;
	}

	.news-grid .news-grid-item {
		margin-top: 3%;
		margin-left: 3%;
	}
}

@media (min-width: 576px) and (max-width: 767.98px) {
	.news-grid .news-grid-item { width: 48.5%; }
	.news-grid .news-grid-item:nth-child(-n+2) { margin-top: 0; }
	.news-grid .news-grid-item:nth-child(2n+1) { margin-left: 0; }
}

@media (min-width: 768px) {
	.news-grid .news-grid-item { width: 31.333%; }
	.news-grid .news-grid-item:nth-child(-n+3) { margin-top: 0; }
	.news-grid .news-grid-item:nth-child(3n+1) { margin-left: 0; }
}


/* News Single */

.news-img {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

.news-date {
	margin-top: 15px;
	text-align: center;
}

.news-date i {
	display: inline-block;
	color: #bc0a29;
	margin-right: 15px;
}

@media (max-width: 767.98px) {
	.news-single aside:nth-child(n+2),
	.news-single main:nth-child(n+2) { margin-top: 50px; }
}

@media (min-width: 768px) {
	.news-single {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: space-between;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.news-single aside { width: 32%; }
	.news-single main { width: 65%; }

	.news-single aside:nth-child(n+3),
	.news-single main:nth-child(n+3) { margin-top: 50px; }
}


/* Back Button */

.back-btn {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
	border: 1px solid #dadada;
	color: #ccc;
	height: 35px;
	width: 125px;
}

.back-btn i,
.back-btn span { padding-bottom: 1px; }

.back-btn i {
	margin-right: 10px;
	-webkit-transition: margin-right 0.3s;
	-o-transition: margin-right 0.3s;
	transition: margin-right 0.3s;
}

.back-btn span {
	text-transform: uppercase;
	font-size: 13px;
	padding-top: 1px;
}

.back-btn:hover i { margin-right: 20px; }


/**
 * Popup informativo
 */

.info-popup {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    box-sizing: border-box;
    z-index: 10;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.info-popup.open {
    opacity: 1;
    pointer-events: all;
}

.info-popup .inner {
    background: #fff;
    padding: 40px 25px;
    position: relative;
    width: 600px;
    max-width: 100%;
}

.info-popup-closer {
    position: absolute;
    top: 0;
    right: 0;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.info-popup-closer i {
    display: block;
    width: 40px;
    line-height: 40px;
    text-align: center;
    color: #212121;
    font-size: 18px;
    transition: color 0.3s;
}

.info-popup-closer:hover i {
    color: #bc0a29;
}

.info-popup-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.info-popup-footer img { width: 50px; }

.info-popup-footer span {
    font-size: 12px;
    opacity: 0.84;
}