@font-face {
    font-family: 'y2k';
    src: url('/themes/sorrimais/assets/fonts/y2k_neophyte-webfont.eot');
    src: url('/themes/sorrimais/assets/fonts/y2k_neophyte-webfont.eot?#iefix') format('embedded-opentype'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte-webfont.woff2') format('woff2'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte-webfont.woff') format('woff'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte-webfont.ttf') format('truetype'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte-webfont.svg#y2k_neophyteregular') format('svg');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'y2k';
    src: url('/themes/sorrimais/assets/fonts/y2k_neophyte_italic-webfont.eot');
    src: url('/themes/sorrimais/assets/fonts/y2k_neophyte_italic-webfont.eot?#iefix') format('embedded-opentype'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte_italic-webfont.woff2') format('woff2'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte_italic-webfont.woff') format('woff'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte_italic-webfont.ttf') format('truetype'),
         url('/themes/sorrimais/assets/fonts/y2k_neophyte_italic-webfont.svg#y2k_neophyteitalic') format('svg');
    font-weight: normal;
    font-style: italic;

}

nav * {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

.stripe-loading-indicator .stripe, .stripe-loading-indicator .stripe-loaded {
	background: #95358c !important
}

* {
    margin: 0;
    padding: 0;
    font-family: 'y2k',Arial,sans-serif;
    font-size: 16px;
}

::-moz-selection {
    background-color: rgba(149, 53, 140, .5)
}

::selection {
    background-color: rgba(149, 53, 140, .5)
}

/*** Mozilla based browsers ***/
::-moz-selection {
    background-color: rgba(149, 53, 140, .5)
}

/***For Other Browsers ***/
::-o-selection {
    background-color: rgba(149, 53, 140, .5)
}

::-ms-selection {
    background-color: rgba(149, 53, 140, .5)
}

/*** For Webkit ***/
::-webkit-selection {
    background-color: rgba(149, 53, 140, .5)
}

.clearfix {
    display: table;
    content: "";
    clear: both
}
.hidden {
    display: none !important
}

.not-found {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 28px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.not-found * {
	font-size: 28px
}

.invisible {
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border: none;
	opacity: 0;
	overflow: hidden;
	position: absolute
}

main .esp .text_cont {
    -webkit-transition: all .4s linear;
    transition: all .4s linear;
}


nav *,
.video_box .close_button {
    -webkit-transition: opacity .4s linear;
    transition: opacity .4s linear;
}
main .fixer {
    -webkit-transition: width .4s linear;
    transition: width .4s linear;
}

.op {
    opacity: 0;
}


.container {
	width: 100%;
    height: 100%;
}


nav,
nav a,
nav ul {
    z-index: 9999
}

nav * {
    opacity: 1
}

nav a {
    text-decoration: none;
    color: #000
}
nav li.active a,
nav .menu a:hover {
    color: #95358c !important
}
nav .menu {
    list-style: none;
    display: block;
    position: absolute;
    left: 30px;
    bottom: 30px;
    font-size: 24px
}
nav .menu * {
    font-size: 24px
}

nav .social {
    list-style: none;
    display: block;
    position: absolute;
    bottom: 30px;
    right: 30px;
    width: 30px
}

nav .social.centered {
	top: 50%;
	bottom: inherit;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

nav .made_by {
	position: absolute;
	bottom: 30px;
	right: 30px;
	width: 10px;
	height: 158px;
	background: url(http://www.sorrimais.pt/storage/app/media/by_frama.png) center no-repeat;
	background-size: contain;
	z-index: 9999;
	opacity: .4
}
nav .made_by:hover {
	opacity: 1
}

nav .social svg {
    width: 30px;
    height: 100px
}

nav .social li,
nav .location li {
    display: inline-block;
    float: right;
    margin-top: 20px
}
nav .social li:last-child,
nav .location li:first-child {
    margin-top: 0
}

nav .location {
    display: block;
    position: absolute;
    right: 30px;
    top: 30px;
    width: 30px;
	text-transform: uppercase
}
nav .location .selected svg * {
	fill: #95358c
}
nav .location svg {
    width: 30px;
    height: 26px;
}

nav .logo {
    top: 30px;
    left: 30px;
    display: inline-block;
    position: absolute;
}
nav .logo img {
    width: 160px;
    height: auto
}

/***************************************************************************
HOME                     ***************************************************
***************************************************************************/

main {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 100;
    overflow: hidden;
	background: #fefefe;
}

main .video_box {
    position: relative;
    width: 100%;
    height: 100%;
    float: right;
    -webkit-transition: width .4s linear;
    transition: width .4s linear;
	background: #f7f7f7
}
main .fixer {
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    height: 100%;
    width: 33.33%;
    z-index: 200
}
main .fixer.active {
    width: 0;
}
main .video_box .video_bg {
    width: 100%;
    height: 100%;
}
main .video_box .play_button {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 66.66%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
    background: url('/themes/sorrimais/assets/image/play3.png') center no-repeat;
    background-size: contain;
    cursor: pointer;
}

main .video_box.active,
main .video_box.active iframe {
    width: 100% !important
}

.no-cursor,
.no-cursor * {
    cursor: none !important
}
main .video_box .cursor {
	width: 32px;
    height: 32px;
    position: fixed;
    z-index: 900;
    cursor: none;
	pointer-events: none
}
main .video_box.active .cursor {
	display: block;
}
main .video_box.active .cursor svg {
	fill: #95358c
}

/***************************************************************************
end HOME                     ***********************************************
***************************************************************************/


/***************************************************************************
CONTENT                     ************************************************
***************************************************************************/

main .content {
	width: 100%;
	width: calc(100% + 15px);
	height: 100%;
	padding: 0 90px 0 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	overflow-y: auto;
	position: absolute;
	top: 0;
	right: -15px;
}
main .content.stop_scroll {
	overflow-y: hidden
}
main .content .box {
	width: 100%;
	padding: 30px 0 30px 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
main .content .box.centered {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: justify;
	padding-left: 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
main .content .box.centered p {
	display: inline-block;
	width: 100%;
	float: left;
	margin-bottom: 10px
}
main .content .box.centered p a {
	text-decoration: none;
	color: #95358c
}

main  ul {
	list-style: none
}


main .acordos li {
    margin-bottom: 30px;
}
main .acordos li:last-child {
    margin-bottom: 0
}

main .acordos li .name {
    font-size: 21px;
}
main .acordos a {
    color: #95358c;
    text-decoration: none;
}

main .acordos_preview,
main .esp_preview {
	width: 50%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: none
}
main .acordos_preview {
	display: block
}
main .esp_preview {
	/*-moz-filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	-o-filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");*/
	-webkit-filter: grayscale(100%);
	/*filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");*/
	filter: gray !important;
}

main .esp {
	width: 100%;
	height: 100%;
	position: relative
}
main .esp ul {
	width: 100%;
    height: 100%;
    position: relative;
	float: left
}
main .esp li {
    margin-bottom: 30px;
	width: 100%;
	float: left
}
main .esp li:last-child {
    margin-bottom: 0
}

main .esp .icon,
main .esp .icon img {
    width: 60px;
    height: 60px;
    float: left
}
main .esp .nome {
    width: calc(100% - 60px);
    height: 30px;
    float: left;
    font-size: 21px;
    padding-left: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}


main .esp .text_box {
    width: calc(100% - 60px);
    padding-left: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
	overflow: hidden
}


main .esp .text_cont {
    width: 100%;
	/* FIX */
    float: left;
    height: 0;
    overflow: hidden
}

main .esp .text_cont .text {
	padding-top: 10px;
	text-align: justify
}
main .esp .text_cont .text p {
    margin-bottom: 15px;
}

main .esp .text_cont .text p:last-child {
    margin-bottom: 0
}

main .esp .open_icon {
    width: 30px;
    height: 30px;
    float: left;
    background: url(/themes/sorrimais/assets/image/open_icon.png) bottom left no-repeat;
    background-size: 15px;
    cursor: pointer
}
main .esp .close_icon {
    background: url(/themes/sorrimais/assets/image/close_icon.png) bottom left no-repeat !important;
    background-size: 15px !important;
}



main .casos .image img,
main .casos .image {
	width: 248px;
	width: calc(50% - 30px);
    max-width: 248px;
    float: left;
    margin-right: 60px
}
main .casos .image img {
	width: 100%;
}
main .casos .image:nth-child(1n+2),
main .casos .image img {
    margin-right: 0
}

main .casos .nome {
    width: 100%;
    float: left;
    margin: 30px 0;
    font-size: 21px
}

main .casos .comment {
    font-style: italic;
    margin-bottom: 30px;
	width: 100%;
	float: left;
	text-align: justify
}
main .casos li:last-child .comment {
    margin-bottom: 0
}



main .team_box img {
    width: 100%;
    height: 100%;
    opacity: 0;
}
main .team_box .photo {
    width: 250px;
    height: 300px;
    background-size: cover !important;
    float: left;
}
main .team_box .about {
    width: calc(100% - 250px);
    float: left;
    height: 300px;
    position: relative
}
main .team_box .about .about_box {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding-left: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
main .team_box .about .about_box .name {
    display: inline-block;
    font-size: 21px;
    float: left;
    width: 100%;
	margin-bottom: 15px
}
main .team_box .about .about_box .espec {
    font-size: 14px;
	display: inline-block;
	width: 100%;
	float: left
}
main .team_box .info {
    width: 100%;
    float: left;
    margin-top: 30px;
	text-align: justify
}

main .team_box .counter {
    position: absolute;
    top: 0;
    left: 310px
}
main .team_box li {
	margin-bottom: 60px;
}
main .team_box li:last-child {
	margin-bottom: 0
}
main .team_box li:nth-child(even) .photo {
    float: right
}

main .team_box li:nth-child(even) .about,
main .team_box li:nth-child(even) .info {
    text-align: right;
    float: right;
}
main .team_box li:nth-child(even) .info {
    text-align: justify;
}
main .team_box li:nth-child(even) .about_box {
    padding: 0 30px 0 0
}

main .team_box li:nth-child(even) .counter {
    left: auto;
    right: 310px
}
main .team_box li:last-child .info {
    margin-bottom: 0
}

main .marcar {
    position: absolute;
    left: 50%;
    top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 560px;
	max-width: 572px;
	width: calc(50% - 70px);
}
main .marcar form {
    width: 100%;
    float: left
}
main .marcar form .form-group {
    width: 100%;
    float: left;
    margin-bottom: 30px
}
main .marcar form .form-group:last-child {
    margin-bottom: 0
}
main .marcar .req {
    color: #95358c;
}
main .marcar form .form-group label {
    float: left;
    padding-left: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
main .marcar form .form-group input {
    width: 100%;
    float: left;
    border: 1px solid #ccc;
    outline: none;
    padding: 10px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	outline: none
}
main .marcar form .form-group input:focus {
    border-color: #95358c;
}
main .marcar form .form-group button {
    width: 100%;
    float: left;
    padding: 10px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    background: #95358c;
    color: #fff;
    text-align: left;
	outline: none;
	cursor: pointer;
}
main .marcar form .form-group button:focus {
	color: #d6a8d2
}
main .marcar .error_form {
	display: inline-block;
	float: right;
	padding: 0 15px;
	color: #bbb
}
main .marcar .flash.error {
	display: none;
	width: 100%;
	float: left;
	margin-bottom: 30px;
	background: #ddd;
	padding: 10px 15px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #95358c
}
main .marcar .flash.active {
	display: block !important
}

main .marcar .flash.success {
	width: 100%;
	height: 100%;
	position: absolute;
	background: #fefefe;
	display: none;
	padding-right: 60px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 9999
}
main .marcar .flash.success .fs_box {
	width: 320px;
	height: 230px;
	position: relative;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
main .marcar .flash.success .fs_box .text {
	font-size: 60px;
	text-align: center;
	display: inline-block;
	width: 100%;
}
main .marcar .flash.success .fs_box .text .anim_box {
	font-size: 60px;
	display: inline-block;
	position: relative;
	width: 100%;
}
main .marcar .flash.success .fs_box .text .anim_box .anim {
	display: inline-block;
	position: absolute;
	left: 140px;
	top: 50px;
	width: 160px;
}
main .marcar .flash.success .fs_box .text .anim_box .anim img {
	width: 100%;
	margin: 0 auto;
	display: block;
	position: relative;
}


/***************************************************************************
end CONTENT                     ********************************************
***************************************************************************/


/***************************************************************************
EXTRA                           ********************************************
***************************************************************************/

.map {
    position: absolute;
    width: 50%;
    height: 100%;
    left: 0;
    top: 0
}
#map-canvas {
    height: 100%;
    width: 100%
}

.map-icon-label .map-icon {
	font-size: 24px;
	color: #FFFFFF;
	line-height: 48px;
	text-align: center;
	white-space: nowrap;
    position: relative;
}

/***************************************************************************
end EXTRA                       ********************************************
***************************************************************************/


/***************************************************************************
MOBILE                           *******************************************
***************************************************************************/

@media screen and (max-width: 960px) {
	.not-found {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		text-align: center;
		left: 15%;
		width: 70%;
	}
	nav * {
		-webkit-transition: none;
		transition: none;
	}
	nav .logo,
	nav .logo img,
	nav .mob_menu_button .icon {
		-webkit-transition: all .3s linear;
		transition: all .3s linear;
	}
	nav {
		display: block;
		width: 100%;
		min-height: 60px;
		overflow: hidden;
		position: fixed;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		z-index: 99999;
	}
	nav.active {
		height: 100%;
	}
	
	nav .mob_menu_button {
		width: 60px;
		height: 60px;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 99999
	}
	nav .mob_menu_button .icon {
		width: 30px;
		height: 30px;
		position: absolute;
		top: 15px;
		left: 15px;
		background: url(http://www.sorrimais.pt/storage/app/media/plus.png) center no-repeat;
		-webkit-transition: all .2s linear;
		transition: all .2s linear
	}
	
	nav .mob_menu_button.active .icon {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg)
	}
	
	nav .logo {
		left: 20px;
		top: 10px
	}
	nav .logo img {
		height: 40px;
		width: auto !important
	}
	
	/*nav.active .logo {
		top: 30px;
		left: 30px
	}
	nav.active .logo img {
		height: 60px
	}*/
	
	nav ul {
		position: static !important;
		width: 100%;
		float: left
	}
	nav .mob_menu {
		width: 100%;
		height: 100%;
		position: relative;
		top: 0;
		left: 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		background: #fefefe;
		display: none
	}
	nav .mob_menu .mob_menu_box {
		position: absolute;
		height: 100%;
		width: 100%;
		left: 0;
		top: 0;
		padding-top: 60px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	nav .mob_menu .menu {
		width: 100%;
		height: auto;
		position: absolute !important;
		top: 50%;
		bottom: inherit;
		left: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		text-align: center;
	}
	
	nav ul.location,
	nav ul.social {
		display: none
	}
	
	nav .mob_social {
		position: absolute;
		bottom: 10px;
		right: 20px
	}
	nav .mob_location ul,
	nav .mob_social ul {
		list-style: none
	}
	nav .mob_location ul a.selected li {
		color: #95358c
	}
	nav .mob_location ul li,
	nav .mob_social ul li {
		display: inline-block;
		float: left;
		margin-left: 15px
	}
	
	nav .mob_location ul a:first-child li,
	nav .mob_social ul a:last-child li {
		margin-left: 0
	}
	
	nav .mob_location {
		position: absolute;
		bottom: 10px;
		left: 20px;
		text-transform: uppercase
	}
	nav .made_by {
		display: none;
	}
	
	
	.made_by_mob {
		height: 10px;
		margin: 30px 0 15px;
		width: 100%;
		float: left;
		background: url(http://www.sorrimais.pt/storage/app/media/by_frama_h.png) 15px center no-repeat;
		background-size: auto 10px;
	}
	
	
	
	
	.fixer {
		display: none
	}
	main {
		padding-top: 60px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		width: 100%;
		float: left;
		overflow: inherit;
		position: static
	}
	main.v {
		position: absolute;
		overflow: hidden
	}
	main .video_box * {
		display: none;
	}
	main .video_box iframe {
		width: 100%;
		height: 100%;
		display: block
	}
	
	main .content {
		width: 100%;
		float: left;
		position: static;
		padding: 15px 20px;
		top: inherit;
		left: inherit;
		overflow: inherit;
		overflow-y: inherit;
		overflow-x: inherit
	}
	main .content .box {
		padding: 0;
	}
	main .content .box.centered {
		position: static;
		top: inherit;
		left: inherit;
		padding: 0;
		-webkit-transform: none;
		transform: none;
	}
	
	main .map {
		width: 100%;
		height: 300px;
		float: left;
		position: static;
		top: inherit;
		left: inherit;
	}
	
	main .marcar {
		width: 100%;
		max-width: 572px;
		left: inherit;
		padding: 15px 20px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box
	}
	main .marcar .flash.success {
		left: 0;
		top: 0;
		padding: 0
		
	}
	
	
	main .casos .image {
		width: calc(50% - 15px);
		margin-right: 30px
	}
	
	
	main .team_box .about,
	main .team_box .about .about_box {
		position: static;
		top: inherit;
		left: inherit;
		float: left;
		width: 100%;
		height: auto;
		padding: 0
	}
	main .team_box .about {
		margin-top: 15px
	}
	main .team_box li:nth-child(even) .about_box {
		padding: 0
	}
	

	
	
	.acordos_preview,
	.esp_preview {
		display: none
	}
	
}

/***************************************************************************
end MOBILE                           ***************************************
***************************************************************************/