h1, h2, h3, h4 {
	padding:0px;
	margin:0px;
	font-size:inherit;
	font-weight:inherit;
}

a {
	text-decoration: none;
	color:inherit;
}

body {
	margin:0px;
	padding:0px;
	font-family: "Afacad Flux", serif;
	color:#313131;
}

.def_container {
	position: relative;
	float: left;
	width: 100%;
	display: flex;
	justify-content: center;
}
.def_center {
	position: relative;
	float: left;
	width: 80%;
}

.defaulttext {
	font-size:16px;
	line-height:26px;
}

.contencontainer {
	position:relative;
	float:left;
	width:100%;
	overflow:hidden;
}

.button {
	position: relative;
	float:left;
	text-transform: uppercase;
	background-color:rgba(0, 0, 0, 0.3);
	color:#FFFFFF;
	overflow:hidden;
	font-weight: bold;
	cursor: pointer;
}
.button span {
	padding:10px 55px;
	padding-left: 20px;
}
.button span:nth-child(1) {
	position:relative;
	float:left;
	top:0px;
	transition-duration: 0.3s;
}
.button span:nth-child(2) {
	position:absolute;
	left:0px;
	width:100%;
	height:100%;
	top:100%;
	transition-duration: 0.3s;
	transition-delay: 0.1s;
}
.button:hover {
	background-color:#064b8c;
}
.button:hover span:nth-child(1) {
	top:-100%;
}
.button:hover span:nth-child(2) {
	top:0%;
}

.hdr {
	position:absolute;
	top:0px;
	left:0px;
	width:90%;
	padding:18px 5%;
	z-index: 25;
}
.hdr_logo {
	position:relative;
	float:left;
}
.hdr_logo img {
	position:relative;
	float:left;
	width:160px;
}
.hdr_mnubtn {
	position:relative;
	float:right;
	width:45px;
	height: 35px;
	margin-top:6px;
	padding:10px 10px;
	z-index: 10;
	cursor: pointer;
	background-color: rgba(255, 255, 255, 0);
	z-index: 50;
}
.hdr_mnubtn_line {
	position:absolute;
	top:10px;
	left:0px;
	width:0px;
	height:4px;
	border-radius:5px;
	overflow:hidden;
	background-color:#FFFFFF;
}
.hdr_mnubtn_line_1, .hdr_mnubtn_line_2, .hdr_mnubtn_line_3 {
	transition-duration: 0.5s;
}
.hdr_mnubtn_line_2 {
	top:25px;
}
.hdr_mnubtn_line_3 {
	top:40px;
}
.hdr_mnubtn_show .hdr_mnubtn_line_1 {
	width:100%;
	transition-delay: 0.2s;
}
.hdr_mnubtn_show .hdr_mnubtn_line_2 {
	width:100%;
	transition-delay: 0.4s;
}
.hdr_mnubtn_show .hdr_mnubtn_line_3 {
	width:100%;
	transition-delay: 0.6s;
}

@keyframes shrinkExpand {
  0% { width: 100%; }
  50% { width: 60%; }
  100% { width: 100%; }
}
.hdr_mnubtn:hover .hdr_mnubtn_line_1 {
  animation: shrinkExpand 0.4s ease-in-out;
  animation-delay: 0s;
}
.hdr_mnubtn:hover .hdr_mnubtn_line_2 {
  animation: shrinkExpand 0.4s ease-in-out;
  animation-delay: 0.1s;
}
.hdr_mnubtn:hover .hdr_mnubtn_line_3 {
  animation: shrinkExpand 0.4s ease-in-out;
  animation-delay: 0.2s;
}

.mnu {
	position: fixed;
	top: 0px;
	right: -110%;
	padding: 50px 150px;
	width: 400px;
	height: calc(100% - 100px);
	background-color: rgba(255, 255, 255, 1);
	z-index: 100;
	filter: drop-shadow(5px 5px 10px #000000);
	transition-duration: 0.8s;
	display: flex;
	justify-content: left;
	align-items: center;
	align-content: center;
}
.mnu_close {
	position: absolute;
	top: 50px;
	right: 50px;
	width: 100px;
	height: 100px;
	cursor: pointer;
	opacity: 0.3;
}
.mnu_close:hover {
	opacity: 1;
}
.mnu_close img {
	width: 30px;
}
.mnu_center {
	position: relative;
	float: left;
	width: 100%;
}
.mnu_show {
	right: 0px;
}
.mnu_title {
	position: relative;
	float: left;
	width: 100%;
	margin-bottom: 15px;
	font-size: 32px;
	margin-left: -20px;
}
.mnu_title_margin {
	margin-top: 15%;
}
.mnu_cat {
	position: relative;
	float: left;
	width: 100%;
	margin-bottom: 3px;
	padding: 2px 0px;
}
.mnu_cat:nth-child(0) {
	margin-bottom:6px;
}
.mnu_cat_title {
	position: relative;
	float: left;
	width: 80%;
	font-size: 18px;
	cursor: pointer;
}
.mnu_cat_title:hover {
	text-decoration: underline;
}
.mnu_cat_selected .mnu_cat_title{
	font-weight: bold;
}
.mnu_cat_expand {
	position: relative;
	float: right;
	width: 10%;
	height: 20px;
	cursor: pointer;
	display: flex;
	justify-content: center;
}
.mnu_cat_expand img {
	width: 14px;
}
.mnu_cat_expand div {
	position: relative;
	float: left;
	height: 8px;
	opacity: 0.7;
}
.mnu_subcats {
	position: relative;
	float: left;
	width: 95%;
	margin-left: 5%;
	max-height: 0px;
	overflow: hidden;
	transition: 0.5s ease;
	padding-bottom: 0px;
}
.mnu_subcats_show {
	max-height: 200px;
	padding-bottom: 25px;
}
.mnu_subcat {
	position: relative;
	float: left;
	width: 100%;
	margin-bottom: 3px;
	padding: 2px 0px;
	transition-duration: 0.3s;
	cursor: pointer;
}
.mnu_subcat:hover {
	margin-left: 10px;
}
.mnu_info_col {
	position: relative;
	float: left;
	width: 100%;
	margin-bottom: 15px;
}
.mnu_info {
	position: relative;
	float: left;
	width: 100%;
}

.mnu_lang {
	position: relative;
	float: left;
	width: 100%;
}
.mnu_lang span {
	text-decoration: underline;
}
.mnu_lang a:hover {
	text-decoration: underline;
}
.mnu_title_lang {
	margin-top:50px;
}

.hm_vb1 {
	position:relative;
	float:left;
	width:100vw;
	background-color: #333333;
	overflow: hidden;
}
.hm_vb1 video {
	position: relative;
	float: left;
	width: 100%;
}
.hm_vb1_bookbtn {
	position:absolute;
	bottom:20px;
	left:0px;
	width:50%;
	margin:0px 25%;
	padding-bottom:50px;
	cursor:pointer;
	opacity:0.5;
}
.hm_vb1_bookbtn:hover {
	opacity:1;
}
.hm_vb1_bookbtn_text {
	position:relative;
	float:left;
	width:100%;
	color:#FFFFFF;
	text-align:center;
	font-size:22px;
	opacity:0;
	transition-duration: 2s;
	transition-delay: 1s;
}
.hm_vb1_bookbtn_active .hm_vb1_bookbtn_text {
	opacity:1;
}
.hm_vb1_bookbtn_img {
	position:relative;
	float:left;
	width:100%;
	margin-top:4px;
}
.hm_vb1_bookbtn_img_1, .hm_vb1_bookbtn_img_2 {
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	display:flex;
	justify-content: center;
	transition-duration: 0.8s;
}
.hm_vb1_bookbtn_img_1 {
	transition-duration: 2s;
	transition-delay: 0.5s;
	opacity:0;
}
.hm_vb1_bookbtn_img_2 {
	top:60px;
	opacity:0;
}
.hm_vb1_bookbtn_active .hm_vb1_bookbtn_img_1 {
	opacity:1;
}
.hm_vb1_bookbtn:hover .hm_vb1_bookbtn_img_2 {
	opacity: 0.3;
	top:0px;
}
.hm_vb1_bookbtn_img_1 img, .hm_vb1_bookbtn_img_2 img {
	position:relative;
	float:left;
}

.content {
	position:relative;
	float:left;
	width:80%;
	margin:0px 10%;
}
.contentmargin {
	margin-top:5%;
}
.contentpaddingbg {
	margin:0px 0px;
	padding:0px 10%;
}

.txt_blue_span span {
	color:#064b8c;
}
.txt_default {
	font-size:20px;
	line-height:22px;
}

.ftr {
	position:relative;
	float:left;
	width:80%;
	padding:50px 10%;
	margin-top:100px;
	background-color:#064b8c;
	display:flex;
	justify-content: space-between;
	background-image: url('../images/footer-bg.jpg');
	background-size:cover;
	background-position: bottom center;
}
.ftr_logo {
	position: relative;
	float: left;
	clear: both;
	margin-bottom: 25px;
}
.ftr_logo img {
	position: relative;
	float:left;
	width: 200px;
}
.ftr_col {
	position:relative;
	float:left;
}
.ftr_line {
	position:relative;
	float:left;
	clear:both;
	color:#FFFFFF;
	margin-bottom:8px;
}
.ftr_line:hover {
	text-decoration: underline;
	cursor: pointer;
}
.ftr_line_header {
	font-weight:bold;
	font-size:20px;
}
.ftr_line_header:hover {
	text-decoration: none;
}

.hm_vb2 {
	margin-top: 6%;
}
.hm_vb2_center {
	display: flex;
	justify-content: space-between;
}
.hm_vb2_i {
	position: relative;
	float: left;
	width: calc(calc(100% / 3) - 50px);
	cursor: pointer;
}
.hm_vb2_photos {
	position: relative;
	float: left;
	width: 100%;
}
.hm_vb2_photos img {
	position: relative;
	float: left;
	width: 100%;
}
.hm_vb2_photos_overlay {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 10;
	transition-duration: 0.3s;
}
.hm_vb2_i:hover .hm_vb2_photos_overlay {
	height: 0px;
}
.hm_vb2_content {
	position: relative;
	float: left;
	width: 100%;
	margin-top: 15px;
	font-size: 22px;
}

.hm_vb3 {
	margin-top: 6%;
}
.hm_vb3_center {
	display: flex;
	justify-content: space-between;
}
.hm_vb3_content {
	position: relative;
	float: left;
	width: 30%;
	padding: 3% 0px;
}
.hm_vb3_title {
	position: relative;
	float: left;
	width: 100%;
	font-size: 32px;
}
.hm_vb3_subtitle {
	position: relative;
	float: left;
	width: 100%;
	font-size: 22px;
	color: #064b8c;
}
.hm_vb3_text {
	position: relative;
	float: left;
	width: 100%;
	margin-top: 18px;
}
.hm_vb3_text a {
	color: #064b8c;
}
.hm_vb3_text a:hover {
	text-decoration: underline;
}
.hm_vb3_final {
	font-style: italic;
	margin-top: 32px;
}
.hm_vb3_btn {
	position: relative;
	float: left;
	width: 100%;
	margin-top: 40px;
}
.hm_vb3_photo {
	position: relative;
	float: left;
	width: 55%;
	background-image: url('../images/home/madeira-island.jpg');
	background-size: cover;
	background-position: bottom center;
}
.hm_vb3_overlay {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: url('../images/home/madeira-island2.jpg');
	background-size: cover;
	background-position: bottom center;
	transition-duration: 0.3s;
	opacity: 0;
}
.hm_vb5 .hm_vb3_photo {
	background-image: url('../images/home/hotel-orca-praia-bw.jpg');
}
.hm_vb5 .hm_vb3_overlay {
	background-image: url('../images/home/hotel-orca-praia.jpg');
}
.hm_vb3:hover .hm_vb3_overlay {
	opacity: 1;
}
.hm_vb5:hover .hm_vb3_overlay {
	opacity: 1;
}
.hm_vb3_photo_text {
	position: absolute;
	bottom: 20px;
	right: 20px;
	font-size: 42px;
	line-height: 40px;
	text-align: right;
	font-weight: bold;
	color: rgba(255, 255, 255, 0.9);
}
.hm_vb3_photo_text span {
	position: relative;
	float: left;
	width:100%;
	clear:both;
	text-align:right;
}

.hm_vb4 {
	margin-top: 6%;
	overflow: hidden;
}
.hm_vb4_center {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.hm_vb4_i {
	position: relative;
	float: left;
	width: 14%;
	background-image: url('../images/home/events/event-1.jpg');
	background-size: cover;
	background-position: bottom center;
	padding-bottom: 30%;
	transition-duration: 0.2s;
	cursor: pointer;
}
.hm_vb4_i:nth-child(2) {
	background-image: url('../images/home/events/event-2.jpg');
}
.hm_vb4_i:nth-child(3) {
	background-image: url('../images/home/events/event-3.jpg');
}
.hm_vb4_i:nth-child(4) {
	background-image: url('../images/home/events/event-4.jpg');
}
.hm_vb4_i:nth-child(5) {
	background-image: url('../images/home/events/event-5.jpg');
}
.hm_vb4_i_ext {
	width: 26%;
}
.hm_vb4_i_overlay {
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	background: #000000;
	background: linear-gradient(320deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.24) 100%);
	opacity:0.5;
}
.hm_vb4_i_hover {
	position: absolute;
	bottom: -100%;
	right: 35px;
	color: #FFFFFF;
	font-size: 42px;
	line-height:42px;
	font-weight: bold;
	width: 90%;
	transition-duration: 0.3s;
	z-index:100;
}
.hm_vb4_i_hover span {
	position: relative;
	float: left;
	width: 100%;
	text-align: right;
}
.hm_vb4_i_hover span:nth-child(2) {
	font-size: 21px;
}
.hm_vb4_i_ext .hm_vb4_i_hover {
	bottom: 35px;
}

.hm_vb5 {
	margin-top: 6%;
}

.hm_vb6 {
	margin-top: 6%;
}
.hm_vb6_content {
	position: relative;
	float: left;
	width: 60%;
} 
.hm_vb6_li {
	position: relative;
	float: left;
	width: 100%;
	margin-top: 50px;
}

@media screen and (max-width: 1600px) {
	.hm_vb2_i {
		width:30%;
	}
}

@media screen and (max-width: 1400px) {
	.hm_vb3_content {
		padding:0px;
		width:45%;
	}
	.hm_vb3_photo_text {
		font-size:32px;
		line-height:32px;
	}
	.hm_vb3_photo {
		width:45%;
	}
	.hm_vb3_overlay {
		opacity:1;
	}
	.hm_vb2_photos_overlay {
		opacity:0;
	}

	.hm_vb3, .hm_vb2, .hm_vb4, .hm_vb5, .evs_vbli, .serv_vb2, .serv_vb3, .gsrv_vp, .abt_intro, .abt_team, .projs_intro, .prt_intro, .prt_list_vp, .prti_intro, .prti_gall, .mad_intro, .mad_vb2, .mad_vb3 {
		margin-top:100px !important;
	}

	.hm_vb4_i:nth-child(6) {
		display:none;
	}
	.hm_vb4_i {
		width:16.4%;
	}
	.hm_vb4_i_ext {
		width:30.5%;
	}
	.hm_vb4_i_hover {
		font-size:32px;
		line-height:32px;
	}

	.ftr {
		flex-wrap:wrap;
		gap: 100px;                /* consistent space between columns */
		justify-content: flex-start;
	}
}
@media screen and (max-width: 1000px) {
	.hm_vb3_content {
		width:100%;
	}
	.hm_vb3_center {
		flex-wrap:wrap;
	}
	.hm_vb3_photo_1 {
		display:none;
	}
	.hm_vb3_photo {
		height:0px;
		width:100%;
		margin-top:75px;
		padding-bottom:65%;
	}
}

@media screen and (max-width: 800px) {
	.hm_vb3, .hm_vb2, .hm_vb4, .hm_vb5, .evs_vbli, .serv_vb2, .serv_vb3, .gsrv_vp, .abt_intro, .abt_team, .projs_intro, .prt_intro, .prt_list_vp, .prti_intro, .prti_gall, .mad_intro, .mad_vb2, .mad_vb3 {
		margin-top:70px !important;
	}

	.hdr_logo img {
		width:120px;
	}
	.hdr_mnubtn {
		width:30px;
		margin-top:-6px;
	}
	.mnu {
		width:calc(100% - 100px);
		padding:25px 50px;
	}
	.mnu_title {
		margin-left:0px;
	}
	.mnu_close {
		width:60px;
		height:80px;
		right:30px;
	}

	.hm_vb1_bookbtn {
		bottom:0px;
	}
	.hm_vb1_bookbtn_text {
		font-size:18px;
	}
	.hm_vb1_bookbtn_img_1 img {
		width: 26px;
	}
	.hm_vb1_bookbtn_img_2 img {
		width:34px;
	}

	.hm_vb2_center {
		flex-wrap:wrap;
	}
	.hm_vb2_i {
		width:100%;
		margin-top:50px;
	}
	.hm_vb2_i:nth-child(1) {
		margin-top:0px;
	}
	.hm_vb2_content {
		font-size:26px;
	}

	.hm_vb4_i:nth-child(5), .hm_vb4_i:nth-child(4) {
		display:none;
	}
	.hm_vb4_i {
		width:24.9%;
		padding-bottom:60%;
	}
	.hm_vb4_i_ext {
		width:46.2%;
	}
}



















































