/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
:root {
	--celestial: #d1efff; /* #73addd; #c5def1;*/
	--honolulu: #0d6385; /* #0775a8;*/
	--mustard: #fdd10e;
	--auburn: #cd2508;
}

*, *::before, *::after {
	box-sizing: inherit;
}

html {
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

/* Ubuntu */
@font-face {
    font-family: 'Aleo-Bold';
    src: url('Aleo-Bold.eot');
    src:
        url('../font/Aleo-Bold.eot?#iefix') format('embedded-opentype'),
        url('../font/Aleo-Bold.woff2') format('woff2'),
        url('../font/Aleo-Bold.woff') format('woff'),
        url('../font/Aleo-Bold.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Aleo-Light';
    src: url('Aleo-Light.eot');
    src:
        url('../font/Aleo-Light.eot?#iefix') format('embedded-opentype'),
        url('../font/Aleo-Light.woff2') format('woff2'),
        url('../font/Aleo-Light.woff') format('woff'),
        url('../font/Aleo-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

body {
	background: var(--celestial);
	color: #014059;
	font-size: 18px;
	font-family: Aleo-Light,verdana,lucida,arial,helvetica,sans-serif;
	margin: 0;
	line-height: 1.6;
	padding: 0 1rem;
}

h1, h2, h3, h4, h5, h6 {
	font-family: Aleo-Bold,verdana,lucida,arial,helvetica,sans-serif;
	word-break: break-word;
	padding: 0 0 1rem 0;
}

.home h1 {
	display: none;
}

h2 {
	font-size: 1.7em;
	margin: 0;
	text-transform: uppercase;
	font-family: Aleo-Light,verdana,lucida,arial,helvetica,sans-serif;
	line-height: 1.4;
}

h3 {
	font-size: 1em;
	margin: 1.5em 0 .3em;
	line-height: 1.6;
	color: var(--honolulu);
}

h4 {
	margin: 2em 0 0;
	font-size: .9em;
	padding: 0;
	letter-spacing: .1em;
}

p {
	margin: 0 0 1em 0;
	hyphens: auto;
	padding: 0;
}

b, strong {
	font-weight: 600;
}

::selection {
	background-color: var(--dun);
}

.honolulu-bg {
	background-color: var(--honolulu);
}

.dun-bg {
	background-color: var(--dun);
}

.auburn-bg {
	background-color: var(--auburn);
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

ul {
	margin: 0;
	padding: 0 0 1em 1em;
}

ul li {
	margin: 0;
}

ul {
	list-style: disc;
}

li > ul {
	margin-bottom: 0;
	margin-left: 1.5em;
}

label {
	font-weight: 600;
	display: block;
}

label[for="quantity"], label[for="quantity-prod-sdf"] {
	display: inline-block;
}

input[type="radio"] + label, input[type="checkbox"] + label {
	display: inline-block;
	cursor: pointer;
}

input, textarea {
	border-radius: 0;
	margin: .2em 0;
	width: 100%;
	border: 2px solid var(--honolulu);
	padding: .3em .5em .2em;
	font-size: 1em;
	margin: 0 0 1em;
	font-family: Aalto Sans,verdana,lucida,arial,helvetica,sans-serif;
}

textarea {
	resize: vertical;
}

input[type="checkbox"], input[type="number"] {
	width: auto;
	max-width: 4em;
	display: inline-block;
	margin: 0;
}

input[type="checkbox"] {
	width: 1em;
	height: 1em;
	margin-right: .4em;
}

input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
	appearance: none;
	background-color: #fff;
	margin: 0 .2em 0 0;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	display: inline-grid;
	place-content: center;
}

input[type="radio"]::before {
	content: "";
	width: 0.9em;
	height: 0.9em;
	border-radius: 50%;
	transform: scale(0);
	transition: 120ms transform ease-in-out;
	box-shadow: inset 1em 1em var(--honolulu);
	display: grid;
}

input[type="radio"]:checked::before {
  transform: scale(1);
}

input[type="submit"] {
	background-color: var(--celestial);
	color: var(--honolulu);
	font-weight: normal;
	padding: .5em .7em;
}

.button, input[type="submit"] {
	border: 3px solid var(--honolulu);
	padding: .5em .7em;
	font-weight: bold;
	text-align: center;
	margin: 0;
	display: block;
	max-width: 100%;
	transition: 500ms;
}

input[type="submit"]:hover {
	color: var(--celestial);
  box-shadow: inset 0 0 0 2em var(--honolulu);
  border-color: var(--honolulu);
}

input[type="text"] {
	width: 100%;
	margin: .2em 0 1em;
}

form h4 {
	width: 100%;
}

table {
	border-collapse: collapse;
}

td {
	padding: .5em;
}

tr {
	border-bottom: 1px solid #ff983d40;
}

/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/
a {
	color: var(--honolulu);
	background: transparent;
	border-bottom: 2px dashed var(--honolulu);
	text-decoration: none;
}

a:not(.button, .site-logo):hover, a:active {
	outline: 0;
	border-bottom: 2px solid #014059;
}

a:focus {
	outline: thin dotted;
	background-color: #014059;
	color: #fff !important;
}

main a:hover, a:active {
	outline: 0;
}

a.screenreader {
	padding: .5em;
	color: white;
	background: var(--darkgrey);
	-webkit-transition: top .5s ease-out;
	transition: top .5s ease-out;
	z-index: 100;
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	line-height: 1;
	font-size: 1.2em;
	padding: .5em 1em;
}

a.screenreader:focus {
  position: static;
  width: auto;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
	a.screenreader a {
		transition-duration: 0.001ms !important;
	}
}
/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/

/* Header Navigation
--------------------------------------------------------------*/
section[block^='edit_'], .full {
	display: none;
}

.site-logo {
	padding: 0;
	display: block;
	width: 80px;
	height: 80px;
	border-bottom: none;
	z-index: 1;
	position: absolute;
	top: .5em;
	left: .5em;
}

.site-logo img {
	max-width: 100%;
}

#primary-menu, .menu-toggle {
	opacity: 0;
}

.language-menu {
	list-style: none;
	text-align: center;
	padding: 0;
	display: none;
	margin-bottom: 80px;
}

.language-menu li {
	display: inline-block;
	text-align: center;
	font-weight: bold;
}

.language-menu li a {
	padding: 0 .3rem;
	border-bottom: none;
}

.main-navigation a {
	display: block;
	line-height: 1;
	color: var(--honolulu);
	font-weight: bold;
	transition: 100ms;
	padding: .5em .2em .2em;
	border-bottom: none;
	margin: 0 .8em;
	height: 32px;
	font-size: .8em;
}

/* Small menu. */
@media screen and (max-width: 991px) {
	.main-navigation a {
		color: var(--celestial);
	}

	.main-navigation ul {
		list-style: none;
		right: -100vw;
		top: 70px;
		position: fixed;
		display: block;
		overflow: scroll;
		padding: 2em 4em;
		z-index: 2;
		width: 300px;
		background-color: var(--honolulu);
		border-radius: 100%;
	}
}

.menu-toggle {
	border: 0;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: .5rem;
	margin: 0;
	padding: 0 .8em;
	background-color: transparent;
	height: 50px;
	transition: 500ms;
}

.toggled {
	top: 0;
	height: 100vh;
	transition: 300ms;
}

.main-navigation.toggled ul {
	display: block;
	background-color: #000;
}

.menu-toggle:hover {
	background-color: transparent;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

.navTrigger i {
	content: '';
	display: block;
	background: var(--honolulu);
	width: 30px;
	height: 3px;
	margin: 6px 0;
	transition: 500ms;
}

.navTrigger i:nth-child(1) {
  -webkit-animation: outT 0.8s backwards;
  animation: outT 0.8s backwards;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.navTrigger i:nth-child(2) {
  margin: 5px 0;
  -webkit-animation: outM 0.8s backwards;
  animation: outM 0.8s backwards;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.navTrigger i:nth-child(3) {
  -webkit-animation: outBtm 0.8s backwards;
  animation: outBtm 0.8s backwards;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.navTrigger.active i:nth-child(1) {
  -webkit-animation: inT 0.8s forwards;
  animation: inT 0.8s forwards;
}
.navTrigger.active i:nth-child(2) {
  -webkit-animation: inM 0.8s forwards;
  animation: inM 0.8s forwards;
}
.navTrigger.active i:nth-child(3) {
  -webkit-animation: inBtm 0.8s forwards;
  animation: inBtm 0.8s forwards;
}

@-webkit-keyframes inM {
  50% {-webkit-transform: rotate(0deg);}
  100% {-webkit-transform: rotate(45deg);}
}
@keyframes inM {
  50% {transform: rotate(0deg);}
  100% {transform: rotate(45deg);}
}
@-webkit-keyframes outM {
  50% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(45deg);
  }
}
@keyframes outM {
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(45deg);
  }
}
@-webkit-keyframes inT {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(9px) rotate(135deg);
  }
}
@keyframes inT {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(9px) rotate(0deg);
  }
  100% {
    transform: translateY(9px) rotate(135deg);
  }
}
@-webkit-keyframes outT {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(9px) rotate(135deg);
  }
}
@keyframes outT {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(9px) rotate(0deg);
  }
  100% {
    transform: translateY(9px) rotate(135deg);
  }
}
@-webkit-keyframes inBtm {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(-9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-9px) rotate(135deg);
  }
}
@keyframes inBtm {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-9px) rotate(0deg);
  }
  100% {
    transform: translateY(-9px) rotate(135deg);
  }
}
@-webkit-keyframes outBtm {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(-9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-9px) rotate(135deg);
  }
}
@keyframes outBtm {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-9px) rotate(0deg);
  }
  100% {
    transform: translateY(-9px) rotate(135deg);
  }
}

main:not(.home) {
	margin-top: 100px;
}

/* allgemeines
--------------------------------------------------------------*/
.content {
	padding: 0 1em;
}

.clear {
	clear: both;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

.half {
	width: 50%;
	padding: 0 .5rem 2rem 0;
}

.half:nth-child(2n) {
	padding: 0 0 2rem 0.5rem;
}

.centered {
	text-align: center;
}

.right {
	text-align: right;
}

.left {
	text-align: left;
}

.container {
	padding: 0;
}

/* Footer 
----------------------------------------------------*/

footer {
	padding: 2em 0;
}

#backToTop {
	width: 50px;
	height: 50px;
	bottom: 5px;
	position: fixed;
	right: 18px;
	z-index: 101;
	font-size: 0;
	border-bottom: none;
}

#backToTop svg {
	fill: var(--honolulu);
	width: 50px;
	height: 50px;
}


/*--------------------------------------------------------------
# Productos
--------------------------------------------------------------*/
.product img {
	width: 100%;
	max-height: 300px;
	object-fit: cover;
}

.product-infobox {
	margin: -30px 0 0 30px;
	position: relative;
	border: 5px solid var(--celestial);
	padding: .5rem;
}

.product-infobox * {
	padding: 0;
	margin: 0;
}

.price {
	font-weight: bold;
}

.sdgc {
	background-color: var(--auburn);
}

.sdf {
	background-color: var(--mustard);
}

.product-infobox.sdgc {
	color: var(--celestial);
}


/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
#SDF_img, #SGC_img {
	opacity: 0;
}

#line {
	z-index: -1;
  position: relative;
	fill: none;
	stroke: #000;
	stroke-miterlimit: 10;
	stroke-width: 2.3px;
  stroke-dasharray: 4000;
  stroke-dashoffset: 4000;
  animation: dash 7s forwards;
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}

#textwriting {
	display: flex;
	justify-content: space-around;
	font-size: .6em;
}

#textwriting2 {
	text-align: right;
}

#textwriting + .flex img {
	width: 250px;
	max-width: 50%;
}

#textwriting + .flex {
	justify-content: space-around;
	margin-bottom: 100px;
}


figure {
	margin: 0;
}

figcaption {
	font-style: italic;
	font-size: .8em;
	text-align: center;
}

main img {
	border-style: none;
	width: 100%;
	height: auto;
	transition: 300ms;
}

#productos, #decoration, #sal {
	margin-bottom: 500px;
}

.full {
	margin: 50px 0;
	position: absolute;
	left: 0;
	width: 100vw;
	height: 300px;
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	margin-top: -400px;
	box-shadow: 0px 5px 14px inset #0005, 0px -5px 14px inset #0005;
}

.surfer {
	background-image: url(/tpl/img/Sol-y-mar-Surfer.jpg);
}

.salina {
	background-image: url(/tpl/img/Sol-y-mar-Salina-Fuerteventura.jpg);
}

.expositor {
	background-image: url(/tpl/img/Sol-y-mar-Exposicion-Sal-de-Fuerteventura.jpg);
}

.full img {
	max-height: 100%;
	object-fit: cover;
}

/*--------------------------------------------------------------
# Media Query
--------------------------------------------------------------*/

@media screen and (min-width: 768px) {

	h1 {
		font-size: 1.6em;
	}

	h2 {
		font-size: 1.5em;
	}

	#line {
		stroke-width: 1.3px;
		margin-top: -100px;
	}

	#textwriting {
		font-size: 1em;
	}
	
	.product img {
		padding-right: 50px;
	}

}

@media screen and (min-width: 992px) {

	h3 {
		font-size: 1.3em;
	}

	h4 {
		font-size: 1em
	}

	.menu-toggle {
		opacity: 0;
	}

	.main-navigation ul {
		background-color: transparent;
		width: 100vw;
		list-style: none;
		text-align: center;
		display: flex;
		padding: 0;
		justify-content: center;
	}

	.site-logo {
		width: 100px;
		height: 100px;
		top: 1em;
		left: 1em;
	}

	.language-menu {
		position: absolute;
		top: .5em;
		right: 1em;
	}

	.product img {
		padding-right: 100px;
	}

	.content, .container {
		max-width: 850px;
		margin: 0 auto;
		padding: 2em 0;
	}
}