/********************/
/*	  INHALT		*/
/*********************
1.0 ALLGEMEIN
2.0 CONTAINER
3.0 TEXT
4.0 FORMULAR
5.0 TABELLEN
6.0 SONSTIGES
********************/

/* ============================================= 1.0 ALLGEMEIN ============================================= */

	/* ------ 1.1 MAIN ------ */

	html, body {
		outline: none;
		color: #000;
		font-family: 'Lato', sans-serif;
	    -webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	body {
		z-index: 100;
	}
	em {
		font-family: 'Libre Baskerville', serif;
	}

	a {
		color: #000;
		outline: none !important;
		text-decoration: none !important;
	}
		a:hover, a:active, a:focus {
			color: rgba(184, 176, 122, 1);
		}

		.clear {
   		clear: both;
		}

/* ============================================= 2.0 CONTAINER ============================================= */
.container-full {
  margin: 0 auto;
  width: 100%;
}
	/* ------ 2.1 NAVIGATION ------ */
	ul.contact-icons-mobile li {
		display:inline-block;
		padding-right: 15px;
	}
	ul.contact-icons-mobile {
		position: absolute;
		top: 40px;
		right: 0;
		width: 125px;
	}
	.navbar-nav {
		padding-top: 5px;
	}
	.navbar, .navbar-decoration {
		background-color: rgba(255,255,255,0.6)!important;
		margin: 0;
	}
	.navbar-brand {
		background-image: url("../img/logo-cavacasa.png");
		width: 215px;
		height: 85px;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: left center;
	}

	.navbar-default {
		background: none;
		box-shadow: none;
		border: none;
		letter-spacing: 1px;
		padding: 0 125px 25px 125px;
	}
	.navbar-bar {
		transition: margin 0.1s ease, background-color 0.5s ease;
	}
	.navbar-bar.affix {
		position: static;
	}
	.navbar-bar .navbar-toggle .icon-bar {
		transition: background-color 0.1s ease;
	}

	.navbar-default .navbar-toggle {
		border: none;
		background: none;
		z-index: 1000;
	}
		.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
			background: none;
		}
		.navbar-toggle .icon-bar {
			width: 28px;
			height: 3px;
		}
		.navbar-toggle .icon-bar + .icon-bar {
			margin-top: 5px;
		}
		.navbar-default .navbar-toggle .icon-bar {
			background-color: rgba(1,1,1,1);
		}
		.navbar-default .navbar-collapse, .navbar-default .navbar-form {
			border: none;
		}

		.navbar-nav>li>a {
			padding-top: 15px; padding-bottom: 25px;
		}
			.navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #000; }

		/* ====== SITE HEADER BANNER ====== */
		.navbar-decoration {
		  position: fixed;
		  top: 0;
		  left: 0;
		  width: 100%;
		  z-index: 1031;
		  height: 130px;
		  background: url("../img/header-swirly.png") no-repeat center;
		  background-size: contain;
		}

		/* Push navbar below the banner */
		.navbar.navbar-fixed-top {
		  top: 130px;
		}

		/* Hide the navbar-brand on desktop since logo is in the swoosh */
		@media (min-width: 768px) {
		  .navbar-brand {
			display: none;
		  }
		}

		/* Mobile: hide the banner entirely, keep nav as-is */
		@media (max-width: 767px) {
		  .navbar-decoration {
			display: none;
		  }
		  .navbar.navbar-fixed-top {
			top: 0;
		  }
		  .navbar-default {
			padding-top: 25px;
		  }
			.navbar-nav>li>a {
				padding-top: 25px;
			}
		}

	/* ------ 2.2 CONTENT ------ */
	#content {
		position: relative;
	}

	.phone-icon, .mail-icon {
		background-repeat: no-repeat;
		background-size: contain;
	}
	.phone-icon {
		width: 22px;
		height: 22px;
	}
	.mail-icon {
		width: 25px;
		height: 20px;
	}
		.phone-icon {
			background-image: url("../img/phone.svg");

		}
		.mail-icon {
			background-image: url("../img/mail.svg");
			margin-top: 4px;
		}
		.splash-section {
			position: relative;
		}
		.box-image {
			position: relative;
			width: 100%;
			height: 100%;
			background-repeat: no-repeat;
			background-position: center;
			background-size: cover;
			transition: opacity 0.5s ease;
		}

		.button-highlight {
			text-align: center;
			position: absolute;
			width: 110px;
			height: 110px;
			z-index: 350;
			padding-top: 25px;
			border-radius: 55px;
			background: #b3a97d;
			-ms-transform: rotate(-15deg);
			-webkit-transform: rotate(-15deg);
			transform: rotate(-15deg);
		}
			.button-highlight a {
				color: #000 !important;
			}

		.teaser-arrow {
			color: #FFF;
			position: absolute;
			width: 52px;
			height: 55px;
			bottom: 30px;
			left: 50%;
			margin-left: -26px;
		}

		.arrow-down {
			background-image: url("../img/arrow-down.png");
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
			width: 100%;
			height: 35px;
		}
		.arrow-down:hover {
			background-image: url("../img/arrow-down-black.png");
		}
		.toggle-team {
   		cursor: pointer;
		}
		.team-active {
         -ms-transform: rotate(180deg); /* IE 9 */
         -webkit-transform: rotate(180deg); /* Safari */
         transform: rotate(180deg);
		}
		.team-wrapper {
   			display: none;
		}
		/* ====== TEAM CARDS ====== */
		.team-grid {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}

		@media (max-width: 991px) {
			.team-grid {
				margin-top: 40px;
				margin-bottom: 40px;
				gap: 30px 90px;
			}
				.team-grid .team-card {
					flex: 1 1 calc(33%); /* 5 columns minus gap */
					max-width: calc(33%);
				}
		}
		@media (min-width: 992px) {
			.team-grid {
				margin-top: 60px;
				margin-bottom: 60px;
				gap: 30px 106px;
			}
				.team-grid .team-card {
					flex: 1 1 calc(25% - 80px);
					max-width: calc(25% - 80px);
				}
		}
			.team-card-img {
				position: relative;
				overflow: hidden;
			}
				.team-card-img img {
					width: 100%;
					display: block;
				}
				.team-card-img .team-card-hover {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					object-fit: cover;
					opacity: 0;
					transition: opacity 0.3s ease;
				}
				.team-card:hover .team-card-hover {
					opacity: 1;
				}
			.team-card h4 {
				margin-top: 10px;
				margin-bottom: 0;
				font-size: 16px;
			}
			.team-card p {
				margin-top: 2px;
			}

		.arrow-right {
			background-image: url("../img/arrow-right.png");
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
			width: 100%;
			height: 50px;
		}
		.arrow-right:hover {
			background-image: url("../img/arrow-right-black.png");
		}
		.arrow-left {
			background-image: url("../img/arrow-left.png");
			background-position: center;
			background-repeat: no-repeat;
			background-size: contain;
			width: 100%;
			height: 50px;
		}
		.arrow-left:hover {
			background-image: url("../img/arrow-left-black.png");
		}

		.bg-gold1, .bg-gold2, .bg-gold3, .bg-black, .bg-dark, .bg-white {
			min-height: 12px;
			transition: background 0.2s ease-out;
		}
		.bg-gold1 { background-color: #ddd6c3; }
		.bg-gold2 { background-color: #e8e5d7; }
		.bg-gold3 { background-color: #d6ceb7; }
		.bg-gold4 { background-color: #e5e1d0; }
		.bg-gold5 { background-color: #cfc6aa; }
		.bg-gold6 { background-color: #f6f5ee; }
		.bg-gold7 { background-color: #c3bb98; }
		.bg-white { background-color: #FFF; }

		.hline {
			width: 100%;
			height: 5px;
			background-color: rgba(184, 176, 122, 1);
		}
			.hline.thin { height: 2px; }
		.tline {
			width: 100%;
			height: 1px;
			background-color: rgba(0, 0, 0, 1);
		}

		.slider-black { color: #000; }
		.slider-white { color: #FFF; }

		.slider-icon {
			background-repeat: no-repeat;
			background-size: contain;
			background-position: center;
			width: 100%;
			height: 20px;
		}
		.slider-black .slider-icon { background-image: url("../img/icon-black.png"); }
		.slider-white .slider-icon { background-image: url("../img/icon-white.png"); }



/* ============================================= 3.0 TEXT ============================================= */
	.f-small {
		font-size: 14px;
	}
	.f-medium {
		font-size: 35px;
	}
	.italic {
		font-family: 'Libre Baskerville', serif;
		font-weight: normal;
		font-style: italic;
		text-transform: none;
	}

	/* ------ 3.1 TITEL ------ */
		h1, h2 {
			font-weight: bold;
			text-transform: uppercase;
			color: #000;
		}
		h3 {
			font-family: 'Libre Baskerville', serif;
			font-style: italic;
		}
		h4 {
			font-family: 'Libre Baskerville', serif;
			font-weight: normal;
			font-style: italic;
			color: #000;
		}
			h1 , h2 , h3 {
				color: #000;
				font-weight: 900;
				font-family: 'Lato', sans-serif;
				text-transform: uppercase;
				font-weight: bold;
				font-style: normal;
			}


	/* ------ 3.2 ALLGEMEIN ------ */
	p, .row-table-header, .row-table-content {
		font-weight: 200;
	}
	button {
		outline: none;
	}

		.text-focus {
			text-align: center;
		}
			/** TEXT LIGHT **/
			.text-focus.text-light h1, .text-focus.text-light h2, .text-focus.text-light h3, .text-focus.text-light p, .text-focus.text-light .btn.btn-default {
				color: #FFF;
			}
			.text-focus.text-light .btn.btn-primary {
				background: #FFF;
				color: #817971;
			}
				.text-focus.text-light .btn.btn-primary:hover, .text-focus.text-light .btn.btn-primary:active { background: #e5e1de; }

			.text-focus.text-light .btn.btn-default {
				border-color: #FFF;
			}
				.text-focus.text-light .btn.btn-default:hover, .text-focus.text-light .btn.btn-default:active {
					color: #817971;
					background: #FFF;
				}

			/** TEXT DARK **/
			.text-focus.text-dark h1, .text-focus.text-dark h2, .text-focus.text-dark h3, .text-focus.text-dark .btn.btn-default {
				color: #817971;
			}
			.text-focus.text-dark .btn.btn-primary {
				background: #817971;
				color: #FFF;
			}
				.text-focus.text-dark .btn.btn-primary:hover, .text-focus.text-dark .btn.btn-primary:active { background: #000; }

			.text-focus.text-dark p, .text-focus.text-dark .btn.btn-default {
				border-color: #000;
			}
				.text-focus.text-dark .btn.btn-default:hover, .text-focus.text-dark .btn.btn-default:active {
					background: #000;
					color: #FFF;
				}


			/** TEXT SCHWARZ **/
			.text-focus.text-black h1, .text-focus.text-black h2, .text-focus.text-black h3, .text-focus.text-black .btn.btn-default {
				color: #000;
			}
			.text-focus.text-black .btn.btn-primary {
				background: #000;
				color: #FFF;
			}
				.text-focus.text-black .btn.btn-primary:hover, .text-focus.text-black .btn.btn-primary:active { background: #817971; }

			.text-focus.text-black p, .text-focus.text-black .btn.btn-default {
				border-color: #000;
			}
				.text-focus.text-black .btn.btn-default:hover, .text-focus.text-black .btn.btn-default:active {
					color: #FFF;
					background: #000;
				}

		.tab {
			display: inline-block;
			width: 15px;
		}
		#map-canvas {
			width: 100%;
		}

		/*.text-spacer {
			margin-left: auto;
			margin-right: auto;
			width: 64px;
			height: 1px;
			background-color: #817971;
		}*/
		.text-shadow {
			text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.9);
		}

	/* ------ 3.3 BUTTONS ------ */
	.btn {
		outline: none !important;
		box-shadow: none;
		text-shadow: none;
		text-transform: uppercase;
		border-radius: 3px;
		transition: color 0.5s ease, background-color 0.5s ease;
		font-weight: bold;
	}
		.btn.btn-primary {
			border: none;
		}
		.btn.btn-default {
			background: none;
		}

	/* ------ 3.4 ICONS ------ */

	/* ------ 3.5 LISTEN ------ */


/* ============================================= 4.0 FORMULAR ============================================= */

	input, textarea {
		font-family: "aller", Helvetica, Arial, sans-serif;
	}

	input.field-text, textarea.field-textarea {
		border: none;
		background: #817971;
		color: #FFF;
		padding: 0px 5px;
		outline: none;
	}
		input.field-text.error, textarea.field-textarea.error {
			background-color: #a17777;
		}
		.error label {
			color: #a17777;
		}

		input.field-text {
			width: 100%;
		}
		textarea.field-textarea {
			width: 100%;
			min-width: 100%;
			max-width: 100%;
		}

	label {
		padding-left: 5px;
		font-weight: 100;
		cursor: pointer;
	}


/* ============================================= 5.0 TABELLEN ============================================= */

	.row-table-header, .row-table-content {
		text-align: left !important;
	}
		.row-table-header .border-line {
			background-color: #817971;
		}
		.row-table-content .border-line {
			background-color: #000;
		}

	.border-line {
		width: 100%;
		min-height: 1px;
	}

/* ============================================= 6.0 SONSTIGES ============================================= */


	/* ------ 6.1 BILDER ------ */
	.img-bordered {
		border: 1px #000 solid;
	}
	/*
	#content a img {
		-webkit-transition: all ease 0.3s;
		-moz-transition: all ease 0.3s;
		-o-transition: all ease 0.3s;
		transition: all ease 0.3s;
	}
	#content a:hover img {
		-webkit-transform: scale(1.02);
		-ms-transform: scale(1.02);
		transform: scale(1.02);
	}
	#content a:active img {
		-webkit-transform: scale(1.01);
		-ms-transform: scale(1.01);
		transform: scale(1.01);
	}*/

	/* ------ 6.2 ABSTÄNDE ------ */
	.margin-bottom-medium {
		margin-bottom: 30px;
	}
	.nomargin {
		margin-bottom: 0px !important;
	}

	/* ------ 6.3 MODAL ------ */
	.modal-header, .modal-footer {
		border: none;
	}
		.modal-header h2 {
			margin-top: 20px;
		}
		.modal-header button.close {
			display: none;
		}

	.modal-content {
		border-radius: 0px;
		border: none;
		box-shadow: none;
	}

	.footer {
   	position: relative;
	}

   .footer-logo {
   	position: absolute;
   	top: 0;
   	right: 0;
	}

	/* ------ 6.4 MAGNIFIC POPUP ------ */
	/* padding-bottom and top for image */
	.mfp-no-margins img.mfp-img {
		padding: 0;
	}
	/* position of shadow behind the image */
	.mfp-no-margins .mfp-figure:after {
		top: 0;
		bottom: 0;
	}
	/* padding for main container */
	.mfp-no-margins .mfp-container {
		padding: 0;
	}

	.mfp-with-zoom .mfp-container,
	.mfp-with-zoom.mfp-bg {
		opacity: 0;
		-webkit-backface-visibility: hidden;
		-webkit-transition: all 0.3s ease-out;
		-moz-transition: all 0.3s ease-out;
		-o-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}

	.mfp-with-zoom.mfp-ready .mfp-container {
			opacity: 1;
	}
	.mfp-with-zoom.mfp-ready.mfp-bg {
			opacity: 0.8;
	}

	.mfp-with-zoom.mfp-removing .mfp-container,
	.mfp-with-zoom.mfp-removing.mfp-bg {
		opacity: 0;
	}

	/* ------ 6.5 MAGNIFIC POPUP ------ */
	.rslider.royalSlider {
		width: 100% !important;
	}
		.splash-section .rslider.royalSlider {
			height: 100% !important;
		}

   .referenzslider.royalSlider {
      width: 100% !important;
      max-width: 1020px;
      margin: 25px auto;
   }

   .parallax-image {
      background-attachment: fixed;
   }

   /* Detailansicht */

   .detail-links h4 {
      font-size: 14px;
   }

   .detail-links a:link, .detail-links a:visited {
      color: rgba(209, 194, 123, 0.9);
   }

   .detail-links a:hover, .detail-links a:active {
      text-decoration: underline !important;
   }

   .detail-links .no-float {
      float: none;
      margin: 0 auto;
   }

   .detail-links .back-to-overview {
      text-align: center;
      margin-bottom: 25px;
   }

   .detail-links .link-arrow-left, .referenzen-back-to-overview .link-arrow-left {
		font-family: 'Libre Baskerville', serif;
		font-style: italic;
      display: inline-block;
		background-image: url("../img/arrow-left.png");
		background-position: left center;
		background-repeat: no-repeat;
		background-size: contain;
		padding: 20px 20px 20px 60px;
		color: #000000 !important;
   }

   .detail-links .link-arrow-left:hover, .referenzen-back-to-overview .link-arrow-left:hover {
		color: rgba(209, 194, 123, 0.9) !important;
		text-decoration: none !important;
   }

   .link-arrow-right {
		font-family: 'Libre Baskerville', serif;
		font-style: italic;
      display: block;
		background-image: url("../img/arrow-right.png");
		background-position: right center;
		background-repeat: no-repeat;
		background-size: 24px;
		color: rgba(209,194,123,0.9) !important;
   }

   .link-arrow-right:hover {
		background-image: url("../img/arrow-right-black.png") !important;
   }

   .styrofixStoerer h2 .size-m {
      font-size: 36px;
      line-height: 44px;
   }

   .styrofixStoerer a:link, .styrofixStoerer a:visited {
      text-decoration: none !important;
		font-family: 'Libre Baskerville', serif;
   }

   .styrofixStoerer a:hover, .styrofixStoerer a:active {
      text-decoration: underline !important;
      color: #000 !important;
   }

   .styrofixStoerer {
      margin-top: 35px;
   }

   .styrofixStoerer .container {
      max-width: 840px;
   }

   .stoererImage {
      float: left;
      text-align: center;
   }

   .stoererText {
      float: right;
      text-align: center;
   }

   	/* ------ 6.5 EU-Banner ------ */
   	.container-cookie { position: relative; }
   	#cookie-law {
   	    width: 100%;
   	    background: rgba(221,214,195,0.9);
   	    margin: auto;
   		position: fixed;
   		bottom: 0px;
   		z-index: 1000;
   		text-align: center;
   		left: auto;
   		right: auto;
   		color: rgba(0,0,0,1);
   		padding: 20px 4px;
   	}
   		#cookie-law p {
   			color: rgba(0,0,0,1);
   			text-align: left;
   			display: inline-block;
   			margin: 0px;
   		}
   		#cookie-law a { color: rgba(0,0,0,1); font-weight: bold; }
   			#cookie-law a:hover { color: rgba(0,0,0,0.8); }
   		#cookie-law button {
   			background-color: transparent;
   			border-width: 0px;
   			position: absolute;
   			top: 0px;
   			right: 12px;
   			width: 36px;
   			height: 36px;
   			opacity: 1;
   			cursor: pointer;

   			-webkit-transition: opacity ease 0.3s;
   			-moz-transition: opacity ease 0.3s;
   			-o-transition: opacity ease 0.3s;
   			transition: opacity ease 0.3s;
   		}
   		#cookie-law button:before, #cookie-law button:after {
   			position: absolute;
   			top: 0px;
   			left: 17px;
   			content: ' ';
   			height: 36px;
   			width: 3px;
   			background-color: rgba(0,0,0,1);

   			-webkit-transition: background-color ease 0.3s;
   			-moz-transition: background-color ease 0.3s;
   			-o-transition: background-color ease 0.3s;
   			transition: background-color ease 0.3s;
   		}
   			#cookie-law button:before { transform: rotate(45deg); }
   			#cookie-law button:after { transform: rotate(-45deg); }

   			#cookie-law button:hover { opacity: 0.8; }
   				#cookie-law button:hover:before, #cookie-law button:hover:after { background-color: rgba(255,255,255,1); }

   		#devmsg { font-family: 'Consolas','Verdana',sans-serif; position: fixed; z-index: 9999; top: 0px; left: 0px; background-color: rgba(0,0,0,0.6); color: rgba(255,255,255,1); padding: 5px 10px; text-transform: uppercase; font-size: 11px; }
