@font-face {
	font-family: 'Catamaran';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/catamaran-v7-latin-ext_latin-regular.woff2') format('woff2')
}
@font-face {
	font-family: 'Catamaran';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/catamaran-v7-latin-ext_latin-700.woff2') format('woff2')
}
@font-face {
	font-family: 'Catamaran';
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url('fonts/catamaran-v7-latin-ext_latin-900.woff2') format('woff2')
}

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, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, li, fieldset,
form, label, legend, caption,
tfoot, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
	
}

html, body {
	box-shadow: 0 0 200px rgba(0, 0, 0, 0.27) inset;
	background-image: -webkit-linear-gradient(45deg, rgb(0,128,128) 0%, rgb(0,102,102) 100%);
	min-height: 100%;
	font-family: 'Catamaran';
	color: #fff !important
}
.actions li {
	list-style: none
}

/* My style */
    hr.crveno {
        border-top: 2px dotted #b2d8d8;
    }

input::-moz-focus-inner {
	border: 0;
	padding: 0
}

/* Basic */
	html {
		box-sizing: border-box
	}

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

/* Type */
	body, select, textarea {
		color: rgba(255, 255, 255, 0.8);
		font-size: 16.5pt;
		font-weight: normal;
		line-height: 1.75
	}
		@media screen and (max-width: 1680px) {
			body, input, select, textarea {
				font-size: 13pt
			}
		}
		@media screen and (max-width: 1280px) {
			body, input, select, textarea {
				font-size: 12pt
			}
		}
		@media screen and (max-width: 360px) {
			body, input, select, textarea {
				font-size: 11pt
			}
		}

	a {
		-moz-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		-webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		-ms-transition: color 0.2s ease, border-bottom-color 0.2s ease;
		transition: color 0.2s ease, border-bottom-color 0.2s ease;
		border-bottom: dotted 1px rgba(255, 255, 255, 0.35);
		color: inherit;
		text-decoration: none
	}
		a:hover {
			border-bottom: solid 1px rgba(255, 255, 255, 0.88);
			color: #ffffff
		}

	strong, b {
		color: #ffffff;
		font-weight: bold
	}

	em, i {
		font-style: italic
	}

	p {
		margin: 0 0 2em 0
	}

	h1, h2, h3, h4, h5, h6 {
		color: #ffffff;
		font-weight: bold;
		line-height: 1.5
	}
		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none
		}

	h1 {
		font-size: 2.75em
	}

	h2 {
		font-size: 1.75em
	}

	h3 {
		font-size: 1.1em
	}

	h4 {
		font-size: 1em
	}

	h5 {
		font-size: 0.8em
	}

	h6 {
		font-size: 0.6em
	}

	@media screen and (max-width: 736px) {
		h1 {
			font-size: 3em
		}

		h2 {
			font-size: 1.75em
		}

		h3 {
			font-size: 1em
		}

		h4 {
			font-size: 0.8em
		}

		h5 {
			font-size: 0.6em
		}

		h6 {
			font-size: 0.6em
		}
	}

	code {
		background: rgba(255, 255, 255, 0.05);
		border-radius: 0.25em;
		border: solid 1px rgba(255, 255, 255, 0.15);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0
	}
		pre code {
			display: block;
			line-height: 1.75em;
			padding: 1em 1.5em;
			overflow-x: auto
		}


	.text-center {
		text-align: center
	}

/* Button */
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: border-color 0.2s ease;
		-webkit-transition: border-color 0.2s ease;
		-ms-transition: border-color 0.2s ease;
		transition: border-color 0.2s ease;
		background-color: #fff;
		border: solid 1px !important;
		border-color: rgba(255, 255, 255, 0.15) !important;
		border-radius: 3em;
		color: #393939 !important;
		cursor: pointer;
		display: inline-block;
		font-size: 0.7em;
		font-weight: bold;
		letter-spacing: 0.25em;
		line-height: 4.75em;
		outline: 0;
		padding: 0 3.75em;
		position: relative;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap
	}
		input[type="button"]:after,
		button:after,
		.button:after {
			-moz-transform: scale(0.25);
			-webkit-transform: scale(0.25);
			-ms-transform: scale(0.25);
			transform: scale(0.25);
			pointer-events: none;
			-moz-transition: opacity 0.2s ease, -moz-transform 0.2s ease;
			-webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
			-ms-transition: opacity 0.2s ease, -ms-transform 0.2s ease;
			transition: opacity 0.2s ease, transform 0.2s ease;
			background: #ffffff;
			border-radius: 3em;
			content: '';
			height: 100%;
			left: 0;
			opacity: 0;
			position: absolute;
			top: 0;
			width: 100%
		}
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			border-color: rgba(255, 255, 255, 0.6) !important
		}
			input[type="button"]:hover:after,
			button:hover:after,
			.button:hover:after {
				opacity: 0.05;
				-moz-transform: scale(1);
				-webkit-transform: scale(1);
				-ms-transform: scale(1);
				transform: scale(1)
			}
			input[type="button"]:hover:active,
			button:hover:active,
			.button:hover:active {
				border-color: #ffffff !important
			}
				input[type="button"]:hover:active:after,
				button:hover:active:after,
				.button:hover:active:after {
					opacity: 0.1
				}

		input[type="password"] {
			border: 0;
			outline: 0;
			padding: 15px;
			border-radius: 10px;
			width: 300px
		}

/* Wrapper */
	.wrapper {
		position: relative
	}
		.wrapper > .inner {
			width: 100%;
			padding: 5em 4em 2em 4em
		}
			@media screen and (max-width: 1680px) {
				footer > .inner {
					padding: 2em 4em 2em 4em !important
				}
			}
			@media screen and (max-width: 736px) {

				.wrapper > .inner {
					padding: 2em 2em 2em 2em
				}
				footer > .inner {
					padding: 2em 2em 2em 2em !important
				}
			}
		.wrapper.style2 {
			background-color: #004c4c
		}
		
		.wrapper.fullscreen {
			min-height: calc(87vh - 2.5em)
		}
			@media screen and (max-width: 736px) {

				.wrapper.fullscreen {
					min-height: calc(40vh - 5.5em)
				}
			}

/* Wrapper */
	#topMenu + #wrapper {
		margin-left: 0;
		position: relative
	}
		@media screen and (max-width: 736px) {
			#topMenu + #wrapper {
				padding-top: 0;
				top: 2em
			}

		}

	#header + #wrapper > .wrapper > .inner {
		margin: 0 auto
	}

/* Menu */
	#topMenu {
		padding: 0;
		background:0;
		cursor: default;
		height: 5.4em;
		left: 0;
		text-align: center;
		top: 0;
		width: 100%;
		line-height: 3.5em;
		position: relative;
		z-index: 20
	}

	#topMenu > .inner {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: row;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-moz-transform: translateY(0);
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
		-moz-transition: opacity 1s ease;
		-webkit-transition: opacity 1s ease;
		-ms-transition: opacity 1s ease;
		transition: opacity 1s ease;
		min-height: 100%;
		opacity: 1;
		width: 100%
	}
		#topMenu nav {
			height: inherit;
			line-height: inherit;
			margin-top: 1em
		}
			#topMenu nav ul {
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				height: inherit;
				line-height: inherit;
				list-style: none;
				padding: 0
			}
			#topMenu nav a {
				height: inherit;
				line-height: inherit;
				padding: 0
			}
			#topMenu nav > ul > li {
				margin: 0 1em 0 1em;
				opacity: 1;
				padding: 0;
				position: relative;
				height: inherit;
				line-height: inherit
			}

		#topMenu nav a {
			border: 0;
			font-size: 0.70em;
			font-weight: bold;
			letter-spacing: 0.25em;
			line-height: 1.75;
			outline: 0;
			padding: 2em 0;
			position: relative;
			text-decoration: none;
			text-transform: uppercase
		}
		#topMenu nav li.active, nav li.active a	{
			color: #fff !important
		}
			#topMenu nav .active a{
				border-bottom: 1px solid #ffffff7d
			}
			#topMenu nav a:hover {
				border-bottom: 1px solid #ffffff59

			}
			#topMenu nav a.active {
				color: #ffffff
			}
				#topMenu nav a.active:after {
					max-width: 100%
				}

		@media screen and (max-width: 736px) {
			#topMenu {
				height: auto;
				font-size: 0.94em;
				position: relative;
				background-color: rgba(0, 0, 0, 0.30);
				padding-bottom: 20px
			}
			#topMenu nav ul {
				display: block;
				float: left
			}
			#topMenu nav > ul > li {
				display: block;
				float: left;
				margin: 0 1em 0 2em
			}
			#topMenu nav .active a {
				border-bottom: 1px solid #fff
			}
			footer {
				font-size: 1em
			}
		}

/* Intro */
		#intro p {
			font-size: 1.25em
		}
			@media screen and (max-width: 736px) {
				#intro p {
					font-size: 1em
				}
			}

/* Footer */
	footer {
		text-align: right
	}

/* Submenus */
	.subPageDropdown a {
		border: 0 !important
	}
			
	.subPageDropdown ul {
		margin: 0;
		padding-left: 0
	}

	.subPageDropdown li {
		color: #fff;
		display: block;
		float: left;
		position: relative;
		padding: 0 1em 0 1em;
		text-decoration: none;
		transition-duration: 0.5s
	}
		
	#topMenu li a {
		color: rgba(178, 216, 216, 0.8)
	}

	#topMenu li:hover,
	#topMenu li:focus-within {
		cursor: pointer
	}

	#topMenu li:focus-within a {
		outline: none
	}

	#topMenu .nav-item {
		margin-top: 5px
	}

	ul.subPageDropdown {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		margin-top: 10px;
		display: none;
		padding-left: 10px !important
	}

	#topMenu ul li:hover > ul,
	#topMenu ul li:focus-within > ul,
	#topMenu ul li ul:hover,
	#topMenu ul li ul:focus {
		visibility: visible;
		opacity: 1;
		display: block
	}

	#topMenu ul li ul li {
		clear: both;
		text-align: left;
		background-color: rgba(0, 0, 0, 0.30);
		white-space: nowrap
	}

	/* Submenus dropdown arrow */
	.menu li > a:after {
		content: ' ▼';
		font-weight: bold
	}

	.menu > li > a:after {
		content: ' ▼';
		font-weight: bold
	}

	.menu li > a:only-child:after {
		content: ''
	}

    .youtube-video-container {
      position: relative;
      overflow: hidden;
      width: 100%;
    }

    .youtube-video-container::after {
      display: block;
      content: "";
      padding-top: 56.25%;
    }

    .youtube-video-container iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }

    .crta {
        border-bottom: 3px dotted #66b2b2;
        padding-bottom: 20px;
        margin-bottom: 20px
    }
    
    .border-radius {
     -moz-border-radius-topleft: 48px 24px;
          border-top-left-radius: 48px 24px;
     -moz-border-radius-topright: 48px 24px;
          border-top-right-radius: 48px 24px;
     -moz-border-radius-bottomleft: 48px 24px;
          border-bottom-left-radius: 48px 24px;
     -moz-border-radius-bottomright: 48px 24px;
          border-bottom-right-radius: 48px 24px;
    }

    .border-radius-small {
     -moz-border-radius-topleft: 24px 12px;
          border-top-left-radius: 24px 12px;
     -moz-border-radius-topright: 24px 12px;
          border-top-right-radius: 24px 12px;
     -moz-border-radius-bottomleft: 24px 12px;
          border-bottom-left-radius: 24px 12px;
     -moz-border-radius-bottomright: 24px 12px;
          border-bottom-right-radius: 24px 12px;
    }

/* ---------- grid layout ---------- */
.site-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 20px;
  max-width: 820px;
  margin: 0 auto 2em auto;
  padding: 0 8px;
}

/* one column on phones */
@media (max-width: 600px) {
  .site-grid {
    grid-template-columns: 1fr;
    max-width: 360px;
  }
}

/* ---------- single card ---------- */
.site-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.site-card a.thumb {
  display: block;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
}

.site-card a.thumb:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,0.15);
  transform: translateY(-2px);
}

.site-card a.thumb img {
  display: block;
  width: 100%;
  height: auto;
}

/* placeholder tile for sites without a screenshot */
.site-card a.thumb.no-img {
  background: #f5f5f5;
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8em;
  color: #aaa;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.site-card .site-label {
  margin-top: 8px;
  font-size: 0.95em;
  line-height: 1.5;
}

.site-card .site-label a {
  font-weight: bold;
}

.site-card .site-note {
  font-size: 0.75em;
  color: #888;
  margin-top: 2px;
}

/* Quotes menu - 4 columns on desktop */
.quotes-menu {
  list-style: none;
  padding: 0;
  margin: 30px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

@media (max-width: 900px) {
  .quotes-menu {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 500px) {
  .quotes-menu {
    grid-template-columns: 1fr;
  }
}

.quotes-menu li a {
  display: block;
  padding: 18px 20px;
  border-radius: 10px;
  text-decoration: none;
  background: #e0f7f1; /* light turquoise-green */
  border: 1px solid #b2ded1; /* slightly darker border */
  color: #0a3d3b; /* dark teal for good contrast */
  transition: all 0.2s ease;
}

.quotes-menu li a strong {
  font-size: 18px;
  display: block;
  margin-bottom: 6px;
  color: #06635d; /* stronger accent for the title */
}

.quotes-menu li a:hover {
  background: #c8efe5; /* deeper turquoise on hover */
  transform: translateY(-3px);
  border-color: #8fdac7;
}

/* Music Grid */
/* isolate from theme */
.music-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 260px);
  gap: 18px;

  justify-content: center;   /* centers the grid */
  margin: 30px auto;         /* centers the block */
  max-width: 1000px;         /* nice readable width */
}

.music-grid a {
  display: block;
}

.music-grid img {
  width: 260px;
  height: 260px;
  object-fit: cover;
  border-radius: 8px;
  transition: transform .2s;
}

.music-grid img:hover {
  transform: scale(1.05);
}

/* tablet */
@media (max-width: 900px) {
  .music-grid {
    grid-template-columns: repeat(2, 240px);
  }
  .music-grid img {
    width: 240px;
    height: 240px;
  }
}

/* phone */
@media (max-width: 600px) {
  .music-grid {
    grid-template-columns: repeat(2, 44vw);
    gap: 12px;
  }

  .music-grid img {
    width: 44vw;
    height: 44vw;
  }
}

/* Guestbook */
.guest-entry {
  background: #f5f5f5;
  padding: 10px;
  margin-bottom: 10px;
  font-family: monospace;
}

/* Guestbook / forms fix */
input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  max-width: 700px;
  box-sizing: border-box;

  background: #ffffff !important;
  color: #000000 !important;

  border: 1px solid #999;
  padding: 10px;
  font-size: 16px;
  font-family: inherit;
}

textarea {
  min-height: 160px;
  resize: vertical;
}

/* Forum-style guestbook upgrade */

.guest-entry {
  background: #f7f7f7;
  border: 1px solid #ddd;
  border-left: 5px solid #444;
  padding: 16px;
  margin-bottom: 12px;
  border-radius: 4px;
}

/* zebra effect */
.guest-entry:nth-child(even) {
  background: #ffffff;
}

/* name as header */
.guest-name {
  font-size: 20px;
  font-weight: bold;
  color: #111;
  margin-bottom: 4px;
}

/* contact line */
.guest-contact {
  font-size: 12px;
  color: #666;
  margin-bottom: 6px;
}

/* timestamp */
.guest-date {
  font-size: 11px;
  color: #999;
  margin-bottom: 10px;
}

/* message body */
.guest-message {
  font-size: 15px;
  line-height: 1.6;
  color: #222;
  white-space: pre-wrap;
}

button {
  padding: 10px 18px;
  font-size: 16px;
  border: 1px solid #333;
  background: #333;
  color: #fff;
  cursor: pointer;
}

/* Mobile improvement */
@media (max-width: 700px) {
  input[type="text"],
  input[type="email"],
  textarea {
    max-width: 100%;
    font-size: 18px;
  }
}

/* Fix buttons site-wide */
button,
input[type="submit"] {
  padding: 6px 14px;
  font-size: 14px;
  border: 1px solid #222;

  background: #222 !important;
  color: #ffffff !important;

  cursor: pointer;
  width: auto;
}

/* On mobile make it a bit larger for fingers */
@media (max-width: 700px) {
  button,
  input[type="submit"] {
    padding: 10px 18px;
    font-size: 16px;
    width: 100%;
    max-width: 500px;
  }
}

.guest-entry {
  background: #f7f7f7;
  border: 1px solid #ddd;
  padding: 16px;
  margin-bottom: 12px;
  border-radius: 6px;

  /* FIX DEFAULT FONT (IMPORTANT) */
  font-family: Arial, Helvetica, sans-serif;
}

/* NAME (big + strong) */
.guest-name {
  font-size: 20px;
  font-weight: 700;
  color: #111;
  margin-bottom: 4px;
}

/* CONTACT (optional small line) */
.guest-contact {
  font-size: 12px;
  color: #666;
  margin-bottom: 6px;
}

/* DATE (very subtle) */
.guest-date {
  font-size: 11px;
  color: #999;
  margin-bottom: 10px;
}

/* MESSAGE (clean readable text) */
.guest-message {
  font-size: 15px;
  line-height: 1.6;
  color: #222;
  white-space: pre-wrap;
}

/* Quotes */
.quote-card {
  background: #003333;
  position: relative;
  border-top-left-radius: 24px 12px;
  border-top-right-radius: 24px 12px;
  border-bottom-left-radius: 24px 12px;
  border-bottom-right-radius: 24px 12px;
  padding: 1.8rem 2rem;
  margin-bottom: 1.5rem;
  overflow: hidden;
  animation: fadeUp 0.5s ease both;
  transition: transform 0.25s ease
}
.quote-card:hover {transform: translateY(-3px)}
.quote-card:nth-child(1) {animation-delay: 0.05s}
.quote-card:nth-child(2) {animation-delay: 0.12s}
.quote-card:nth-child(3) {animation-delay: 0.19s}
.quote-card:nth-child(4) {animation-delay: 0.26s}
.quote-card:nth-child(5) {animation-delay: 0.33s}
.quote-card:nth-child(6) {animation-delay: 0.40s}
.quote-card:nth-child(7) {animation-delay: 0.47s}
.quote-card:nth-child(8) {animation-delay: 0.54s}
.quote-card:nth-child(9) {animation-delay: 0.61s}
.quote-card:nth-child(10) {animation-delay: 0.68s}
.quote-text {font-family: var(--serif); font-style: italic; font-size: 1.1rem; line-height: 1.82; color: var(--text)}
.quote-text::before {content: '\201C'; font-size: 3.2rem; line-height: 0; vertical-align: -0.95rem; margin-right: 0.1rem; color: var(--gold); opacity: 0.45; font-family: var(--serif)}
.quote-author {margin-top: 0.85rem; font-family: var(--body); font-size: 0.8rem; letter-spacing: 0.13em; text-transform: uppercase; color: var(--text-dim)}
