/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

/* Classes generals */

/* Estructuralment - aplicable a totes les mides */

* {
	box-sizing: border-box;
}

html {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12pt;
}

body {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
}

	#plantilla > img {
		width: 100%;
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
	}

	#main-content {
		text-align: center;
		padding: 2rem;
	}

	#main-content img {
		max-width: 100%;
		width: auto;
	}

	.terc {
		float: left;
		width: 33.33333333333333333%;
	}

@media only screen and (max-width: 768px) { /* Mobile */
	.desktop:not(.mobile) {
		display: none;
	}

	#header {
		position: relative;
		display: inline-block;
		width: 100%;
		padding-top: 1rem;
		text-align: center;
	}

	.navbar {
		padding-bottom: .5rem;
	}

	.container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
		margin-left: 0;
		margin-right: 0;
		position: relative;
	}
	
		.navbar-brand {
			display: block;
			overflow: hidden;
			margin-left: 0;
			padding: 0;
			height: auto;
		}

		.navbar-toggle {
			position: absolute;
			bottom: 0;
			right: 0;
			margin-top: 0;
			margin-right: 0;
		}

		.navbar-default .navbar-collapse, .navbar-default .navbar-form {
			border-style: none;
		}

		#lang-menu > li {
			margin-bottom: 2px;
		}

	#footer-header {
		padding: 0;
		text-align: center;
	}

		#slogan {
			width: 100%;
			background-color: #000;
			padding: .5rem 3rem 3rem 3rem;
		}

		#main-menu {
			position: relative;
			margin: 0 auto;
			margin-top: -2rem;
			display: inline-block;
		}

			#main-menu > li:first-child {
				margin-right: 1rem;
				margin-left: 0;
			}

	#main-content {
		padding: 2rem 0;
	}

	#contact-container {
		margin: 0 5%;
		width: 90%;
	}

		#box1, #box2 {
			clear: left;
			width: 100%;
		}

	input[type=text], input[type=email], textarea, button[type=submit] {
		width: 100%;
	}

	#interaction-container > .submit, #interaction-container > .result {
		clear: left;
		width: 100%;
	}

		.result {
			min-height: 38px;
		}

		.mobile-paddinned {
		padding: 0 1rem;
	}

	#serveis-container {
		clear: left;
		width: 100%;
	}

	#serveis {
		-webkit-column-count: 1; /* Chrome, Safari, Opera */
		-moz-column-count: 1; /* Firefox */
		column-count: 1;
		-webkit-column-gap: 0; /* Chrome, Safari, Opera */
		-moz-column-gap: 0; /* Firefox */
		column-gap: 0;
	}

		#serveis > li.servei-descripcio-mobile {
			height: 0;
			overflow: hidden;
			-webkit-transition: height .5s; /* Safari */
			transition: height .5s;
		}

				#serveis > li.servei-descripcio-mobile > .servei-descripcio-container-mobile {
					padding: 1rem;
				}

	#serveis-descripcions {
		display: none;
	}

	#footer {
		display: inline-block;
		width: 90%;
		margin-left: 5%;
		margin-right: 5%;
		margin-bottom: 2rem;
	}

		#legal, #cookies {
			clear: left;
			width: 100%;
			text-align: left;
			border: 1px solid #677E74;
			margin-bottom: .5rem;
			padding: 0 .5rem;
		}
}

@media screen and (min-width: 768px) { /* Desktop */
	body {
		overflow-y: scroll;
	}

	.mobile:not(.desktop), .tablet:not(.desktop) {
		display: none;
	}

	#header {
		position: relative;
		width: 100%;
	}

	.container-fluid {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		padding: 0 4rem;
		z-index: 1;
	}

	.navbar {
		min-height: 0;
	}

	#logo {
		position: absolute;
		top: 4rem;
		left: 4rem;
		height: auto;
		width: 21.8%;
	}

		.navbar-brand {
			display: block;
			border-radius: 100%;
			overflow: hidden;
			margin-left: 0;
			padding: 0;
			height: auto;
		}

		#lang-menu > li {
			margin-right: 2px;
		}

	#footer-header {
		background-color: #000;
		padding: 1rem 0 1rem 4rem;
	}

		#slogan {
			width: 55%;
		}

		#main-menu {
			position: absolute;
			top: -1.3rem;
			right: 4rem;
		}

	ol.carousel-indicators {
		position: absolute;
		left: 4rem;
		bottom: 1rem;
		margin-left: 0;
		width: auto;
		display: table;
	}

		ol.carousel-indicators > li, ol.carousel-indicators > li.active {
			display: table-row;
			border-style: none;
			text-indent: 0;
			background-color: transparent;
			float: left;
			width: 15px;
			height: 20px;
			margin: 0;
			text-align: center;
		}

			ol.carousel-indicators > li > span {
				color: #fff;
				font-size: .4rem;
				vertical-align: middle;
				text-align: center;
			}

			ol.carousel-indicators > li.active > span {
				color: #fff;
				font-size: .8rem;
				vertical-align: middle;
				text-align: center;
			}

	#main-content {
		padding: 6rem 4rem 4rem 4rem;
	}

	#contact-container {
		width: 100%;
	}

	#box1, #box2 {
			float: left;
		}

		#box1 {
			width: 40%;
		}

		#box2 {
			width: 60%;
		}

	input[type=text], input[type=email] {
		width: 50%;
	}

	textarea, button[type=submit] {
		width: 100%;
	}

	#interaction-container > .submit, #interaction-container > .result {
		float: left;
		width: 50%;
	}

	#serveis-container {
		float: left;
		width: 65%;
	}

	#serveis {
		-webkit-column-count: 2; /* Chrome, Safari, Opera */
		-moz-column-count: 2; /* Firefox */
		column-count: 2;
		-webkit-column-gap: 5px; /* Chrome, Safari, Opera */
		-moz-column-gap: 5px; /* Firefox */
		column-gap: 5px;
	}

		#serveis > li:hover {
			background-color: #000 !important;
		}

		#serveis > li.servei-descripcio-mobile {
			display: none;
		}

	#serveis-descripcions {
		float: left;
		width: 35%;
		padding: 0 1rem 0 3rem;
	}

	.only-mobile {
		display: none;
	}

	#footer {
		display: inline-block;
		width: 100%;
		margin-bottom: 2rem;
		/*/border: 1px solid #677E74;*/
	}

		#legal {
			float: left;
			width: 25%;
			text-align: center;
			border: 1px solid #677E74;
		}

		#cookies {
			float: left;
			width: 75%;
			text-align: center;
			border-top: 1px solid #677E74;
			border-right: 1px solid #677E74;
			border-bottom: 1px solid #677E74;
		}
}

/**********************************
Code that just makes it look nice
***********************************/

body {
}

	.navbar-default {
		background-color: transparent;
		border-style: none;
	}

	.navbar {
		margin-bottom: 0;
		border-style: none;
	}

		#lang-menu > li {
			background-color: #000;
			text-align: center;
		}

			#lang-menu > li > a {
				line-height: 100%;
				padding-top: .5rem;
				padding-bottom: .5rem;
				font-family: "aktiv-grotesk-std",sans-serif;
				font-weight: light;
				font-size: .9rem; 
				color: #fff;
				text-decoration: none;
				text-transform: uppercase;
				display: block;
			}

			#lang-menu > li > a:hover {
				background-color: #cb4232; /* Vermell */
				color: #fff;
			}

	#footer-header {
		position: relative;
		width: 100%;
	}

		#slogan {
			color: #fff;
			font-family: "museo-slab",serif;
			font-style: italic;
			font-size: 1.25rem;
		}

		#main-menu {
			list-style: none;
		}

			#main-menu > li {
				float: left;
				margin-left: 11.656px;
			}

				#main-menu > li > a {
					text-transform: uppercase;
					display: block;
					width: 95px;
					line-height: 95px;
					border-radius: 100%;
					text-align: center;
					color: #fff;
					font-weight: bold;
					font-size: .9rem;
				}

				#main-menu > li:first-child > a {
					background-color: #aaa20d;
				}

				#main-menu > li:last-child > a {
					background-color: #46604f;
				}

					#main-menu > li > a:hover {
						text-decoration: none;
						background-color: #cb4232; /* Vermell */
					}

	#main-content {
		text-align: left;
		font-family: "aktiv-grotesk-std", sans-serif;
		display: inline-block;
		width: 100%;
	}

	h1 {
		font-weight: 700;
		font-size: 1.25rem;
		margin-bottom: .75rem;
		font-family: "aktiv-grotesk-std", sans-serif;
	}

	.readable-text h2 {
		font-weight: 700;
		margin-bottom: .5rem;
		line-height: 125%;
	}

	.readable-text ul > li {
		list-style: disc;
		list-style-position: inside;
	}

	.readable-text p, .readable-text ul > li {
		font-family: "aktiv-grotesk-std", sans-serif;
		margin-bottom: .5rem;
		line-height: 125%;
	}

	#contact-container {
		display: inline-block;
	}

		#contact-container > div {
			display: inline-block;
			width: 100%;
		}

		#contact-container h1, #contact-container h2 {
			font-size: 1.1rem;
			color: #677F75;
			text-transform: uppercase;
			font-weight: 400;
			margin-bottom: .75rem;
		}

		div[itemprop=address], div[itemprop=address] a, #contact-container p {
			line-height: 130%;
			font-size: .8rem;
			color: #6D6E71;
		}

		div[itemprop=address] {
			margin-bottom: 1rem;
		}

	#mailForm .field {
		margin-bottom: .75rem;
	}

	label {
		font-family: "aktiv-grotesk-std", sans-serif;
		color: #6D6E71;
		display: block;
		font-size: .9rem;
		line-height: 150%;
	}

		label.required::after {
			content: "*";
			margin-left: .25rem;
		}

		label[for=privacitat] {
			display: inline-block;
		}

	input[type=text], input[type=email], button[type=submit], textarea {
		border-style: none;
		line-height: 125%;
		padding: .5rem;
		resize: none;
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		background-color: #E7ECE9;
	}

	input[type=checkbox] {
		border-style: none;
		line-height: 125%;
		padding: .5rem;
		resize: none;
		background-color: #E7ECE9;
	}

	button, input:focus, textarea:focus {
		outline: 0;
	}

	input:-webkit-autofill {
		-webkit-box-shadow: 0 0 0 1000px #E7ECE9 inset;
	}

	#interaction-container {
		display: inline-block;
		width: 100%;
	}

		button[type=submit] {
			background-color: #BDD5CA;
			padding: .25rem;
			display: block;
		}

			button[type=submit] > span {
				line-height: 30px;
				text-transform: uppercase;
				color: #6c8072;
				font-weight: 500;
				font-size: .9rem;
				float: left;
			}

			button[type=submit] > .fa-paper-plane {
				border-style: none;
				border-radius: 100%;
				width: 30px;
				height: 30px;
				text-align: center;
				background-color: #6c8072;
				color: #fff;
				margin-right: .5rem;
			}

			button[type=submit] > .fa-spinner {
				float: right;
				color: #6c8072;
				margin: 0 .5rem;
				font-size: 1.25rem;
				display: none;
			}

		.result {
			padding: .25rem;
			display: block;
		}

			.result > p {
				line-height: 30px;
				font-size: .9rem;
				color: #6c8072;
			}

			.result.error > p {
				color: #cb4232;
			}

	#map-container {
		margin: 2rem 0;
	}

		#map {
			width: 100%;
			height: 10rem;
		}

	#equip > dd {
		font-weight: bold;
	}

		#equip > dd > span {
			line-height: 150%;
		}

		#equip > dd > .nom-persona {
			text-transform: uppercase;
		}

		#equip > dd > .professio:before {
			content: '>';
			margin: 0 .5rem;
			font-weight: bold;
		}

			#equip li {
				line-height: 150%;
			}

			#equip li:before {
				content: '>';
				float: left;
				margin-right: .5rem;
			}

	#equip > dt {
		margin-bottom: 1rem;
	}

	#serveis > li.servei {
		display: table;
		cursor: pointer;
		margin-bottom: 5px;
		width: 100%;
		min-height: 80px;
		padding: .5rem;
	}

		#serveis > li.servei > div {
			display: table-row;
		}

		#serveis > li > div > .img-container, #serveis > li > div > h2 {
			display: table-cell;
			vertical-align: middle
		}

		#serveis > li > div > .img-container {
			width: 60px;
			height: 70px;
		}

			#serveis > li > div > .img-container > img {
				width: 100%;
				height: auto;
				max-height: 60px;
			}

		#serveis > li > div > h2 {
			color: #fff;
			text-transform: uppercase;
			font-weight: 500;
			line-height: 125%;
		}

		#serveis > li > div > h2 > span.left-line:before {
			content: "|";
			font-size: 1.25rem;
			line-height: 100%;
			margin-right: .25rem;
			font-weight: 100;
		}

		#serveis > li > div > h2 > span.right-line:after {
			content: "|";
			font-size: 1.25rem;
			line-height: 100%;
			margin-right: .25rem;
			margin-left: .25rem;
			font-weight: 100;
		}

	#serveis > li:nth-child(1) {
		background-color: #f15b62;
	}

	#serveis > li:nth-child(3) {
		background-color: #008ccd;
	}

	#serveis > li:nth-child(5) {
		background-color: #755A53;
	}

	#serveis > li:nth-child(7) {
		background-color: #356173;
	}

	#serveis > li:nth-child(9) {
		background-color: #1CAC8E;
	}

	#serveis > li:nth-child(11) {
		background-color: #CB143B;
	}

	#serveis > li:nth-child(13) {
		background-color: #F08900;
	}

	#serveis > li:nth-child(15) {
		background-color: #AAA110;
	}

	.servei-descripcio h3, .servei-descripcio-mobile h3 {
		font-weight: 700;
		text-transform: uppercase;
		margin-bottom: 1rem;
		line-height: 125%;
	}

	.servei-descripcio li, .servei-descripcio-mobile li {
		margin-bottom: .5rem;
		margin-left: 1rem;
		line-height: 125%;
	}

	.servei-descripcio li:before, .servei-descripcio-mobile li:before {
		content: '>';
		float: left;
		margin-right: .5rem;
		margin-left: -1rem;
	}

	#servei-1.servei-descripcio li:before, #serveis > li:nth-child(2) .servei-descripcio-container-mobile li:before {
		color: #f15b62;
	}

	#servei-2.servei-descripcio li:before, #serveis > li:nth-child(4) .servei-descripcio-container-mobile li:before {
		color: #008ccd;
	}

	#servei-3.servei-descripcio li:before, #serveis > li:nth-child(6) .servei-descripcio-container-mobile li:before {
		color: #755A53;
	}

	#servei-4.servei-descripcio li:before, #serveis > li:nth-child(8) .servei-descripcio-container-mobile li:before {
		color: #356173;
	}

	#servei-5.servei-descripcio li:before, #serveis > li:nth-child(10) .servei-descripcio-container-mobile li:before {
		color: #1CAC8E;
	}

	#servei-6.servei-descripcio li:before, #serveis > li:nth-child(12) .servei-descripcio-container-mobile li:before {
		color: #CB143B;
	}

	#servei-7.servei-descripcio li:before, #serveis > li:nth-child(14) .servei-descripcio-container-mobile li:before {
		color: #F08900;
	}

	#servei-8.servei-descripcio li:before, #serveis > li:nth-child(16) .servei-descripcio-container-mobile li:before {
		color: #AAA110;
	}

	#footer > div {
		display: inline-block;
		width: 100%;
	}

	#legal:hover, #cookies:hover {
		background-color: #D9E1DB;
	}

	#footer #legal a, #footer #cookies a {
		color: #677E74;
		display: block;
		font-family: "aktiv-grotesk-std",sans-serif;
		font-weight: light;
		line-height: 200%;
	}

	#footer a:hover {
		color: #677E74;
		text-decoration: none;
	}

		#footer a > b {
			font-weight: 700;
		}

	#footer a > span {
		background-color: #677E74;
		color: #fff;
		border-radius: 100%;
		width: 25px;
		height: 25px;
		line-height: 25px;
		margin: .25rem .5rem;
		text-align: center;
	}

	#footer #credits {
		display: block;
		width: 100%;
		text-align: center;
		margin-top: 2rem;
		font-family: "aktiv-grotesk-std", sans-serif;
		font-size: .8rem;
	}

		#footer #credits a {
			color: #000;
		}

		#footer #credits a:hover {
			text-decoration: underline;
		}
