/**
 * YachtSafe frontend – Cassiopeia user override
 * Path: media/templates/site/cassiopeia/css/user.css
 * Loaded automatically via template.user (same pattern as Wheelie Bins).
 * Goal: bring legacy grizlow / com_ysafe look onto Joomla 6 Cassiopeia.
 */

@import url("https://fonts.googleapis.com/css2?family=Armata&family=Oswald:wght@400;500;600&display=swap");

:root {
	--ysafe-coral: #e86869;
	--ysafe-coral-dark: #d45556;
	--ysafe-teal: #2eb4d7;
	--ysafe-teal-dark: #21bee4;
	--ysafe-orange: #eba164;
	--ysafe-ink: #182932;
	--ysafe-text: #545f66;
	--ysafe-muted: #999;
	--ysafe-border: #ddd;
	--ysafe-panel: #ffffff;
	--ysafe-page: #f4f7f8;
}

/* =============================================================================
   Base typography (legacy Armata + compact sizes)
   ============================================================================= */

body.site {
	color: var(--ysafe-text);
	font-family: "Armata", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
	max-width: 1000px;
	margin: 0 auto !important;
	padding: 18px 20px 28px !important;
	box-sizing: border-box;
}

@media (max-width: 1200px) {
	body.site {
		max-width: 960px;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

@media (max-width: 768px) {
	body.site {
		max-width: none;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body.site .header-top-row {
		flex-direction: column;
	}

	body.site .container-right-top-logo {
		text-align: left;
		margin-top: 0;
		min-width: 0;
		width: 100%;
	}
}

body.site a {
	color: var(--ysafe-orange);
	text-decoration: none;
}

body.site a:hover,
body.site a:focus {
	color: #ff7b17;
	text-decoration: underline;
}

body.site h1,
body.site h2,
body.site h3,
body.site h4,
body.site .page-header,
body.site .navbar-brand {
	font-family: "Oswald", "Helvetica Neue", Arial, sans-serif;
	color: var(--ysafe-ink);
	font-weight: 500;
}

/* =============================================================================
   Cassiopeia shell → single white panel (Wheelie Bins pattern)
   ============================================================================= */

body.site .header.container-header {
	position: static !important;
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0px 24px 10px;
	background: var(--ysafe-panel);
	border: none;
	border-bottom: none;
	border-radius: 4px 4px 0 0;
	box-shadow: none;
	color: var(--ysafe-ink);
}

body.site .site-grid {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0px;
	background: var(--ysafe-panel);
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-top: 1px solid #ececec;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
	grid-gap: 8px;
}

body.site.wrapper-fluid .header.container-header,
body.site.wrapper-fluid .site-grid {
	max-width: none;
}

/* Brand / logo */
body.site .header-top-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
}

body.site .container-right-top-logo {
	flex: 1 1 auto;
	text-align: right;
	line-height: 18px;
	color: #9ba5ab;
	margin: 10px 0 0;
	min-width: 200px;
}

body.site .container-right-top-logo a {
	text-decoration: none;
	color: #65757e;
}

body.site .container-right-top-logo a:hover {
	text-decoration: none;
	color: #78aa62;
}

body.site.com_ysafe .modal-content {
		font-size: 13px;
}

body.site.com_ysafe .modal-content h2 {
		font-size: 20px;
}

body.site.com_ysafe .modal-content p {
		margin: 0px;
}

body.site.com_ysafe .modal-content .btn-ysafe {
  align-items: flex-start;
  background-clip: border-box;
  background: #e86869 none scroll;
    background-size: auto;
	background-origin: padding-box;
  background-origin: padding-box;
  background-size: auto;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-image-slice: 100%;
  border-image-source: none;
  border-image-width: 1;
  border-radius: 4px;
  border: 1px solid #e86869;
  box-shadow: #e86869 0 1px 0 0;
  box-sizing: border-box;
  color: #fff !important;
  cursor: pointer;
  display: inline-block;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 26px;
  margin: 2px;
  min-height: 24px;
  padding: 0 10px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  white-space: pre;
}

body.site .container-right-top-logo .ys-login-btn {
	background: var(--ysafe-coral) !important;
	border: 1px solid var(--ysafe-coral) !important;
	color: #fff !important;
	padding: 6px 18px;
	font-size: 13px;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
	min-height: 34px;
	line-height: 1.4;
	text-decoration: none;
	display: inline-block;
}

body.site .container-right-top-logo .ys-login-btn:hover {
	background: var(--ysafe-coral-dark) !important;
	border-color: var(--ysafe-coral-dark) !important;
	color: #fff !important;
}

body.site .container-right-top-logo .mod-login-logout.form-vertical {
	text-align: right;
	padding: 0;
	background: transparent;
}

body.site .navbar-brand {
	padding: 0;
	margin: 0;
}

body.site .navbar-brand a,
body.site .navbar-brand .brand-logo,
body.site .navbar-brand span {
	color: var(--ysafe-ink) !important;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

body.site .navbar-brand a:hover {
	color: var(--ysafe-coral) !important;
	text-decoration: none;
}

body.site .navbar-brand img,
body.site .navbar-brand .brand-logo img {
	max-height: 70px;
	width: auto;
}

body.site .site-description {
	color: var(--ysafe-muted);
	font-size: 12px;
	font-family: "Armata", Arial, sans-serif;
}

/* Legacy top horizontal menu (grizlow #navigation) – mod_ysafemenu on position menu */
body.site #navbar-wrap {
	width: 100%;
	margin: 0;
	padding: 0;
	background: var(--ysafe-panel);
	border:none;
	border-top: none;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
}

body.site.wrapper-fluid #navbar-wrap {
	max-width: none;
}

body.site #navbar {
	height: 45px;
	background: var(--ysafe-coral);
	padding: 0 20px;
	margin: 0 0 10px;
	border: 1px solid var(--ysafe-coral);
	border-radius: 5px;
}

body.site #navigation {
	padding: 0;
}

body.site #navigation ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.site #navigation .menu > li {
	display: block;
	float: left;
	margin-right: 5px;
	padding: 0;
	position: relative;
}

body.site #navigation .menu a {
	display: block;
	height: 45px;
	padding: 0 10px;
	color: #ffe5ce;
	font-family: "Oswald", Arial, Helvetica, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 45px;
	text-align: left;
	text-decoration: none;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

body.site #navigation .menu > li > a:hover,
body.site #navigation .menu > .active > a,
body.site #navigation li.active > a {
	color: #fff;
}

body.site #navigation .menu ul {
	position: absolute;
	left: 0;
	top: 100%;
	margin: 0;
	min-width: 200px;
	padding: 0;
	background: #ffa14f;
	border: 1px solid #ffc38e;
	border-radius: 5px;
	opacity: 0;
	visibility: hidden;
	z-index: 99;
	transition: all 0.3s ease-in-out;
	list-style: none;
}

body.site #navigation .menu ul ul {
	left: 100%;
	top: 0;
}

body.site #navigation .menu li:hover > ul {
	margin: 0;
	opacity: 1;
	visibility: visible;
}

body.site #navigation .menu ul li {
	border-bottom: 1px solid #ffc38e;
}

body.site #navigation .menu ul li:last-child {
	border: 0;
}

body.site #navigation .menu ul a {
	display: block;
	height: auto;
	margin: 0;
	padding: 5px 15px;
	line-height: 1.7em;
	font-size: 14px;
	text-transform: none;
}

body.site #navigation .menu ul li > a:hover {
	color: #fff;
	background: none;
}

/* Hide Cassiopeia header search chrome if unused */
body.site .container-search {
	display: none !important;
}

body.site .container-component {
	padding: 0;
}

body.site .container-component main {
	padding: 0;
}

body.site .jmodedit,
body.site a[href*="joomla_content/modal-component"] {
	display: none !important;
}

/* Breadcrumbs */
body.site .mod-breadcrumbs,
body.site .breadcrumb {
	background: #f5f5f5;
	border: 1px solid var(--ysafe-border);
	padding: 7px 12px;
	margin-bottom: 14px;
	font-size: 12px;
	border-radius: 0;
}

body.site .mod-breadcrumbs a,
body.site .breadcrumb a {
	color: var(--ysafe-teal);
}

/* Footer */
body.site .container-footer-menu {
	background: transparent;
	border: none;
	margin-top: 8px;
	padding: 8px 0 4px;
}

body.site .container-footer-menu .mod_logo_slider .bx-wrapper {
	margin: 0 auto;
	max-width: 100%;
}

body.site .container-footer-menu .slide-contents img {
	max-height: 150px;
	width: auto;
	height: auto;
}

body.site .container-footer-menu .slide-contents img.greyscale {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
	opacity: 0.85;
	transition: filter 0.5s ease, opacity 0.5s ease, -webkit-filter 0.5s ease;
}

body.site .container-footer-menu .slide-contents:hover img.greyscale,
body.site .container-footer-menu .slide-contents a:hover img.greyscale {
	filter: grayscale(0%);
	-webkit-filter: grayscale(0%);
	opacity: 1;
}

body.site .container-footer.footer {
	background: transparent;
	border: none;
	margin-top: 12px;
	font-size: 12px;
	color: var(--ysafe-muted);
}

body.site .footer .grid-child {
	padding: 8px 0 !important;
}

/* =============================================================================
   Sidebar (menu / login) – legacy grey boxes
   ============================================================================= */

body.site .container-sidebar-right .card,
body.site .container-sidebar-left .card {
	background: #ececec;
	border: 1px solid #bbb;
	border-radius: 0;
	box-shadow: none;
	margin-bottom: 14px;
}

body.site .container-sidebar-right .card-header,
body.site .container-sidebar-left .card-header {
	background: #ececec;
	border-bottom: 1px solid #bbb;
	padding: 8px 12px;
	font-size: 13px;
	font-weight: 700;
	color: #333;
	border-radius: 0;
	font-family: "Oswald", Arial, sans-serif;
}

body.site .container-sidebar-right .card-body,
body.site .container-sidebar-left .card-body {
	padding: 0;
	background: #f5f5f5;
}

body.site .container-sidebar-right .mod-menu,
body.site .container-sidebar-right .mod-menu ul,
body.site .container-sidebar-right .nav,
body.site .container-sidebar-left .mod-menu,
body.site .container-sidebar-left .mod-menu ul,
body.site .container-sidebar-left .nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.site .container-sidebar-right .mod-menu.mod-list > li,
body.site .container-sidebar-right .nav-item,
body.site .container-sidebar-left .mod-menu.mod-list > li,
body.site .container-sidebar-left .nav-item {
	border-bottom: 1px solid #bbb;
	margin: 0;
}

body.site .container-sidebar-right .mod-menu a,
body.site .container-sidebar-right .nav-link,
body.site .container-sidebar-left .mod-menu a,
body.site .container-sidebar-left .nav-link {
	display: block;
	padding: 6px 14px;
	text-decoration: none;
	background: transparent;
	border: none;
	color: var(--ysafe-teal) !important;
	font-weight: 700;
	font-size: 14px;
}

body.site .container-sidebar-right .mod-menu a:hover,
body.site .container-sidebar-right .nav-link:hover,
body.site .container-sidebar-left .mod-menu a:hover,
body.site .container-sidebar-left .nav-link:hover {
	background: #e0e0e0;
	color: var(--ysafe-ink) !important;
	text-decoration: none;
}

body.site .mod-login-logout.form-vertical,
body.site .mod-login {
	text-align: center;
	padding: 16px;
	background: #f5f5f5;
}

body.site.com_ysafe .mod-login .btn,
body.site.com_ysafe .mod-login input[type="submit"],
body.site.com_ysafe .mod-login button,
body.site.com_ysafe .mod-login-logout .btn {
	background: var(--ysafe-coral) !important;
	border: 1px solid var(--ysafe-coral) !important;
	color: #fff !important;
	padding: 6px 18px !important;
	font-size: 13px;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
	min-height: 34px;
}

body.site .mod-login .btn:hover,
body.site .mod-login input[type="submit"]:hover {
	background: var(--ysafe-coral-dark) !important;
	border-color: var(--ysafe-coral-dark) !important;
}

/* =============================================================================
   Bootstrap 2/3-ish controls (for com_ysafe forms on Cassiopeia/BS5)
   ============================================================================= */

body.site .btn {
	display: inline-block;
	margin-bottom: 0;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	border: 1px solid transparent;
	padding: 6px 12px;
	font-size: 13px;
	line-height: 1.42857143;
	border-radius: 4px;
	user-select: none;
}

body.site button.btn-standard,
body.site button.btn-standard:hover {
	display: inline-block;
	margin-top: 5px;
	padding: 0 15px;
	background: #e86869 !important;
	color: #fff !important;
	text-decoration: none !important;
	height: 32px;
	min-height: 32px;
	font-size: 13px;
	border: 1px solid #E86869 !important;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 #e86869;
	cursor: pointer;
	line-height: 24px;
	text-shadow: none;
	font-family: inherit;
}

body.site .btn-primary,
body.site .btn-ysafe,
body.site .com_ysafe .btn-primary {
	color: #fff !important;
	background-color: var(--ysafe-coral) !important;
	border-color: var(--ysafe-coral) !important;
	box-shadow: 0 1px 0 0 var(--ysafe-coral);
}

body.site .btn-primary:hover,
body.site .btn-ysafe:hover {
	color: #fff !important;
	background-color: var(--ysafe-coral-dark) !important;
	border-color: var(--ysafe-coral-dark) !important;
}

body.site .btn-success {
	color: #fff;
	background-color: #5cb85c;
	border-color: #4cae4c;
}

body.site .btn-warning {
	color: #fff;
	background-color: #f0ad4e;
	border-color: #eea236;
}

body.site .btn-danger {
	color: #fff;
	background-color: #d9534f;
	border-color: #d43f3a;
}

body.site .btn-info,
body.site .btn-secondary {
	color: #fff;
	background-color: var(--ysafe-teal);
	border-color: #2499b8;
}

body.site .btn-large,
body.site .btn-lg {
	padding: 10px 18px;
	font-size: 16px;
	border-radius: 5px;
}

body.site .pull-left {
	float: left !important;
}

body.site .pull-right {
	float: right !important;
}

body.site .boat-info-section .pull-right {
	float: left !important;
}

body.site .clearfix::before,
body.site .clearfix::after {
	content: " ";
	display: table;
}

body.site .clearfix::after {
	clear: both;
}

body.site .center {
	text-align: center !important;
}

/* Forms */
body.site input[type="text"],
body.site input[type="password"],
body.site input[type="email"],
body.site input[type="url"],
body.site input[type="tel"],
body.site input[type="number"],
body.site input[type="search"],
body.site select,
body.site textarea,
body.site .form-control,
body.site .form-select {
	border: 1px solid #cecece;
	border-radius: 2px;
	background-color: #fff;
	color: #6b6b6b;
	font-size: 12px;
	min-height: 30px;
	padding: 4px 8px;
	box-shadow: none;
}

body.site input[type="text"]:focus,
body.site input[type="password"]:focus,
body.site input[type="email"]:focus,
body.site select:focus,
body.site textarea:focus,
body.site .form-control:focus,
body.site .form-select:focus {
	border-color: var(--ysafe-teal);
	box-shadow: 0 0 0 2px rgba(46, 180, 215, 0.2);
	outline: 0;
}

body.site label,
body.site .form-label {
	font-weight: 400;
	font-size: 12px;
	margin-bottom: 4px;
}

body.site .star,
body.site .required .star {
	color: var(--ysafe-coral);
	font-size: 11px;
}

body.site .form-control-feedback,
body.site label.invalid,
body.site .invalid {
	color: #dc3545 !important;
}

body.site input.invalid,
body.site select.invalid,
body.site textarea.invalid,
body.site .form-control.invalid {
	border-color: #dc3545 !important;
	background: #fff5f5;
}

/* Tables */
body.site .table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 16px;
	border-collapse: collapse;
	font-size: 13px;
}

body.site .table th,
body.site .table td {
	padding: 7px 10px;
	line-height: 1.4;
	vertical-align: middle;
	border-top: 1px solid var(--ysafe-border);
}

body.site .table > thead > tr > th {
	border-bottom: 2px solid var(--ysafe-border);
	background: #f7f7f7;
	font-weight: 600;
	color: #333;
}

body.site .table-striped > tbody > tr:nth-child(odd) > td {
	background: #fafafa;
}

/* Alerts */
body.site .alert {
	border-radius: 4px;
	font-size: 13px;
	padding: 10px 14px;
}

body.site .alert-info {
	border: 1px solid #eccea9;
	color: #474135;
	background-color: #eccea9;
}

body.site .alert-info a {
	color: var(--ysafe-coral);
}

/* =============================================================================
   com_ysafe component surfaces
   ============================================================================= */

body.site.com_ysafe,
body.site.com_ysafe .container-component,
body.site.com_ysafe main {
	font-family: InterstateMono, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
	font-size: 13px;
	margin: 0;
}

body.site.com_ysafe .w100p {
	width: 100%;
}

body.site.com_ysafe .w50p {
	width: 50%;
	float: left;
}

body.site.com_ysafe.view-auditform input,
body.site.com_ysafe.view-pastauditform input {
	height: 14px;
	min-height: 14px;
	padding: 2px 4px !important;
}

body.site.com_ysafe.view-auditform input.input-little,
body.site.com_ysafe.view-pastauditform input.input-little {
	height: 22px;
	min-height: 22px;
	padding: 2px 4px !important;
}

body.site.com_ysafe.view-auditform p,
body.site.com_ysafe.view-pastauditform p {
	margin: 0 0 10px !important;
}

body.site.com_ysafe .input-standard {
	height: 28px;
	font-size: 12px;
	font-weight: normal;
	color: #6b6b6b;
}

body.site.com_ysafe .input-small {
	width: 120px;
	height: 28px;
	padding: 2px 6px !important;
}

body.site.com_ysafe .input-little {
	width: 100px;
	height: 22px;
	padding: 2px 6px !important;
	min-height: 22px;
}

body.site.com_ysafe .btn-ysafe {
	align-items: flex-start;
	background: var(--ysafe-coral);
	border: 1px solid var(--ysafe-coral);
	border-radius: 4px;
	box-shadow: var(--ysafe-coral) 0 1px 0 0;
	color: #fff !important;
	cursor: pointer;
	display: inline-block;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 11px;
	line-height: 26px;
	margin: 2px;
	min-height: 24px;
	padding: 0 10px;
	text-align: center;
	text-decoration: none !important;
	vertical-align: middle;
}

body.site.com_ysafe .btn-ysafe:hover {
	background: var(--ysafe-coral-dark);
	border-color: var(--ysafe-coral-dark);
	color: #fff !important;
	text-decoration: none !important;
}

body.site.com_ysafe .btn-ysafe-small {
	height: 26px;
	width: 70px;
}

body.site.com_ysafe .btn-ysafe-big {
	height: 32px;
	min-width: 160px;
	line-height: 30px;
	font-size: 13px;
}

body.site.com_ysafe .profilearea,
body.site.com_ysafe .fieldset,
body.site.com_ysafe fieldset.fieldset {
	background: #fff;
	border: 1px solid #e4e4e4;
	padding: 12px 14px 16px;
	margin-bottom: 14px;
}

body.site.com_ysafe fieldset.fieldset > legend,
body.site.com_ysafe .fieldset > legend {
	font-family: "Oswald", Arial, sans-serif;
	font-size: 16px;
	color: var(--ysafe-ink);
	width: auto;
	padding: 0 6px;
	margin-bottom: 10px;
	border: 0;
	float: none;
}

body.site.com_ysafe .form-group,
body.site.com_ysafe .control-group {
	margin-bottom: 10px;
}

body.site.com_users.view-login fieldset {
  margin-bottom: 5px;
}

body.site.com_users.view-login .com-users-login__options {
  margin-top: 0;
}

/* Login view (com_users + ysafe login) */
body.site.com_users.view-login .com-users-login,
body.site.com_users.view-login .login {
	max-width: 420px;
}

body.site.com_users.view-login .site-grid{
	padding:0px 20px;
}

body.site.com_users.view-login .container-component main {
  padding: 0;
  margin: 0;
}

body.site.com_users.view-login input[type="text"],
body.site.com_users.view-login input[type="password"],
body.site.com_users.view-login input[type="email"] {
	display: block;
	width: 100%;
	margin-bottom: 10px;
	padding: 6px 8px !important;
}

body.site.com_users.view-login .btn,
body.site.com_users.view-login button[type="submit"] {
	background: var(--ysafe-coral) !important;
	border: 1px solid var(--ysafe-coral) !important;
	color: #fff !important;
	min-height: 36px;
	padding: 0 16px;
	line-height: 34px;
	border-radius: 4px;
}

/* Calendar field trigger (salmon icon button — not the popup) */
body.site.com_ysafe .field-calendar > .btn,
body.site.com_ysafe .field-calendar .input-group > .btn {
	background: #f99 !important;
	border-color: #f99 !important;
	color: #fff !important;
}

/* Legacy calendar popup — white year/month headers, salmon footer */
body.site.com_ysafe .js-calendar {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
}

body.site.com_ysafe .js-calendar .calendar-container {
	background: #fff;
}

body.site.com_ysafe .js-calendar .calendar-head-row,
body.site.com_ysafe .js-calendar .calendar-head-row td {
	background: #fff !important;
	color: #333 !important;
	border-color: #ddd !important;
}

body.site.com_ysafe .js-calendar .calendar-head-row td {
	border-bottom: 1px solid #ddd !important;
	padding: 4px 0 !important;
}

body.site.com_ysafe .js-calendar .calendar-head-row td.title {
	color: #fff !important;
	font-weight: normal;
	font-size: 14px;
}

body.site.com_ysafe .js-calendar .calendar-head-row .js-btn,
body.site.com_ysafe .js-calendar .calendar-head-row td.nav {
	background: #2EB4D7 !important;
  color: #fff !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0px !important;
	line-height: 1 !important;
	min-width: auto !important;
}

body.site.com_ysafe .js-calendar .calendar-head-row .title {
	background: #2EB4D7 !important;
  color: #fff !important;
}

body.site.com_ysafe .js-calendar .calendar-head-row .js-btn:hover {
	background: transparent !important;
	color: #e86869 !important;
}

body.site.com_ysafe .js-calendar .calendar-container table thead td.name {
	color: #333 !important;
	font-weight: bold;
	font-size: 11px;
	border-bottom: 1px solid #eee !important;
	background: #fff !important;
}

body.site.com_ysafe .js-calendar .calendar-container table tbody td.day.wn {
	background-color: #f2f2f2 !important;
	color: #666 !important;
}

body.site.com_ysafe .js-calendar .buttons-wrapper,
body.site.com_ysafe .js-calendar .buttons-wrapper.btn-group {
	background: #2EB4D7 !important;
	padding: 0px 0px 8px 0px !important;
	margin: 0 !important;
	display: flex !important;
	width: 100%;
	border-radius: 0 0 5px 5px;
	border: none !important;
}

body.site.com_ysafe .js-calendar .calendar-container table tbody td.day.selected,
body.site.com_ysafe .js-calendar .calendar-container table tbody td.day:hover,
body.site .js-calendar .calendar-container table tbody td.day.selected,
body.site .js-calendar .calendar-container table tbody td.day:hover,
body.site .calendar tbody td.selected,
body.site .calendar thead .hilite,
body.site .calendar tbody td.hilite {
	background: var(--ysafe-teal) !important;
	color: #fff !important;
}

body.site.com_ysafe .js-calendar .calendar-container table tbody td.today.selected:after,
body.site.com_ysafe .js-calendar .calendar-container table tbody td.day:hover:after {
	background-color: #fff !important;
}

/* Legacy calendar wrapper */
body.site.com_ysafe .calendar-wrap .field-calendar {
	display: inline-block !important;
	width: 120px;
	margin: 2px 3px 0 3px;
	vertical-align: middle;
}

/* Legacy layout: button + input (yachtsafe calendar template, no input-group) */
body.site.com_ysafe .field-calendar:not(:has(.input-group)) {
	display: inline-flex !important;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	height: 22px;
	background: #f99;
	box-shadow: none;
	vertical-align: middle;
}

body.site.com_ysafe .field-calendar:not(:has(.input-group)) > .btn {
	flex: 0 0 28px;
	width: 28px !important;
	min-width: 28px;
	height: 22px;
	padding: 0 8px;
	margin: 0;
	border: none !important;
	border-radius: 0 !important;
	background: #f99 !important;
	color: #fff !important;
	box-shadow: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 22px;
}

body.site.com_ysafe .field-calendar:not(:has(.input-group)) > .btn .icon-calendar {
	font-size: 14px;
	line-height: 1;
}

body.site.com_ysafe .field-calendar:not(:has(.input-group)) > input,
body.site.com_ysafe .field-calendar:not(:has(.input-group)) > input.form-control {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	height: 22px;
	padding: 1px 3px !important;
	margin: 0;
	border: 1px dashed #545f66 !important;
	border-left: 1px solid #f1d2d2 !important;
	border-radius: 0 !important;
	background: #ffe3e3 !important;
	text-align: center;
	font-size: 12px;
	font-weight: normal;
	color: #000;
	box-shadow: none !important;
	line-height: 19px;
	max-width: 120px !important;
}

body.site.com_ysafe .field-calendar:not(.readonly):not(.disabled):not(:has(.input-group)) > input:not([readonly]):not([disabled]) {
	border: 1px dashed #545f66 !important;
	border-left: 1px solid #f1d2d2 !important;
}

/* Readonly/disabled calendar fields */

/* Calendar: input-group layout (core Joomla fallback) */
body.site.com_ysafe .field-calendar .input-group {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	padding: 0;
	background-color: #f99 !important;
	height: 22px;
}

body.site.com_ysafe .field-calendar .input-group > .btn {
	border-radius: 0 !important;
	margin-left: 0 !important;
	margin-right: -1px;
	flex: 0 0 28px;
	width: 28px !important;
	height: 22px;
	padding: 0 8px;
	box-shadow: none !important;
	background: #f99 !important;
	border: none !important;
}

body.site.com_ysafe .field-calendar .input-group > .form-control {
	border-radius: 0 !important;
	flex: 1 1 auto;
	min-width: 0;
	height: 22px;
	padding: 1px 3px !important;
	font-size: 12px;
	text-align: center;
	background: #ffe3e3 !important;
	border: 1px dashed #545f66 !important;
	border-left: 1px solid #f1d2d2 !important;
	box-shadow: none !important;
}

body.site.com_ysafe .field-calendar:not(.readonly):not(.disabled) .input-group > .form-control:not([readonly]):not([disabled]) {
	border: 1px dashed #545f66 !important;
	border-left: 1px solid #f1d2d2 !important;
}

body.site.com_ysafe.view-auditform .field-calendar .btn,
body.site.com_ysafe.view-pastauditform .field-calendar .btn {
	background: #f99 !important;
	color: #fff !important;
	height: 22px;
	border-radius: 0;
	padding: 0 8px;
	box-shadow: none;
	border: none !important;
}

body.site.com_ysafe.view-pastauditform .field-calendar .js-calendar .buttons-wrapper.btn-group{
	background: #2EB4D7 !important;
}

body.site.com_ysafe.view-auditform .field-calendar.success-field .btn,
body.site.com_ysafe.view-pastauditform .field-calendar.success-field .btn,
body.site.com_ysafe.view-auditform .field-calendar.success-field .btn.success-field,
body.site.com_ysafe.view-pastauditform .field-calendar.success-field .btn.success-field,
body.site.com_ysafe .field-calendar.success-field:not(:has(.input-group)) > .btn,
body.site.com_ysafe .field-calendar:not(:has(.input-group)) > .btn.success-field {
	background: #60f287 !important;
}

body.site.com_ysafe .field-calendar > input[type="text"].success-field,
body.site.com_ysafe .field-calendar.success-field:not(:has(.input-group)) > input,
body.site.com_ysafe .field-calendar:not(:has(.input-group)) > input.success-field {
	background: #c6ffd5 !important;
}

/* Legacy btn-calendar markup (YsafeHelper::calendar) */
body.site.com_ysafe .btn-calendar {
	border-radius: 0 !important;
	margin-bottom: 0 !important;
	padding: 0;
	width: 100%;
	height: 22px;
	box-shadow: none !important;
	background: #f99 !important;
	border: none !important;
}

body.site.com_ysafe .btn-calendar i,
body.site.com_ysafe .btn-calendar .icon-calendar {
	margin: 3px 2px 2px 4px;
	float: left;
	color: #fff;
}


body.site.com_ysafe .btn-calendar input,
body.site.com_ysafe .btn-calendar input:focus {
	border: none !important;
	height: 19px;
	text-align: center;
	float: right;
	font-size: 12px;
	font-weight: normal;
	color: #000;
	width: calc(100% - 28px);
	background: #ffe3e3 !important;
	box-shadow: none !important;
}

body.site.com_ysafe .readonly.success-field{
	border: none !important;
}

body.site.com_ysafe .field-calendar.readonly{
	border: none !important;
	background: none !important;
}

body.site.com_ysafe .field-calendar.readonly:not(:has(.input-group)) > input{
	border: none !important;
}

/* Search results dropdown (legacy) */
body.site .search-results {
	background: var(--ysafe-orange);
	color: #fff;
	max-height: 250px;
	max-width: 490px;
	overflow-y: auto;
	padding: 8px;
	position: absolute;
	z-index: 99;
}

body.site .search-results .result-ul li {
	border-bottom: 1px solid #eee;
	margin-bottom: 8px;
	padding: 5px;
	cursor: pointer;
}

body.site .search-results .result-ul li:hover {
	background: #8e8e8e;
}

/* Switch toggles used by ysafe forms (legacy grizlow / ricard toggle pattern) */
.switch {
    border-radius: 25px;
    height: 30px;
    margin-left: 0 !important;
    overflow: hidden;
    position: relative;
    transition: left 0.15s ease-out 0s;
    width: 85px;
}

.switch-label {
    border-radius: 25px;
    clear: none;
    color: #fff !important;
    cursor: pointer;
    float: left;
    font-size: 12px !important;
    font-weight: 400;
    height: 26px;
    line-height: 21px;
    margin: 2px;
    padding: 2px 6px;
    position: absolute;
    text-align: left;
    width: 83px;
    z-index: 1 !important;
}

.switch .switch-input:checked + .switch-label {
    color: rgba(0, 0, 0, 0.65);
    font-size: 0;
    text-shadow: 0 1px rgba(255, 255, 255, 0.25);
    transition: all 0.15s ease-out 0s;
    z-index: 3;
	left: -85px;
}

.switch-input {
    display: none !important;
}
.switch-label-off {
    background: #46bf83 none repeat scroll 0 0;
    font-weight: 400 !important;
    left: 0;
    padding-left: 12px !important;
}

.switch-label-on {
    background: #E86869 none repeat scroll 0 0;
    font-weight: 400;
    padding-right: 8px;
    right: 0;
    text-align: right;
}

.switch-input:checked + .switch-label-on ~ .switch-selection i::before {
	--fa: "\f057";
}
.switch-selection i::before {
	--fa: "\f057";
}
.switch-selection .fa-check-circle {
	color: #E86869;
	font-size: 12px;
	line-height: 1;
}
/* Yes / active (value 1, switch-label-off) */
.switch-input:checked + .switch-label-on ~ .switch-selection {
    left: 5px;
}
.switch-input:checked + .switch-label-on ~ .switch-selection i::before {
	--fa: "\f058";
}
.switch-input:checked + .switch-label-off ~ .switch-selection .fa-check-circle {
	color: #46bf83;
}
/* No / inactive (value 0, switch-label-on) */
.switch-input:checked + .switch-label-on ~ .switch-selection {
    left: 65px;
}
.switch-input:checked + .switch-label-on ~ .switch-selection .fa-check-circle {
	color: #E86869;
}
.switch-selection {
    align-items: center;
    background:none;
    border-radius: 100%;
    box-shadow:none;
    display: flex;
    height: 16px;
    justify-content: center;
    left: 5px;
    padding: 0;
    position: absolute;
    top: 7px;
    transition: left 0.15s ease-out 0s;
    width: 16px;
    z-index: 1;
}

.switch-selection i{
	font-size: 18px;
  	color: #fff;
}

/* Utility spacing from legacy component.css */
body.site .drop-10 {
	margin-top: 10px;
}

body.site .drop-2 {
	margin-top: 2px;
}

body.site .hidden {
	display: none !important;
}

body.site .transparent {
	background: transparent !important;
}

/* =============================================================================
   com_ysafe – legacy grizlow + component.css (all views)
   Imported from Legacy grizlow/custom.css and media/com_ysafe/css/*
   ============================================================================= */

body.site.com_ysafe .row {
	margin-bottom: 0;
}

body.site.com_ysafe .col {
	display: block;
	float: left;
	width: 100%;
	box-sizing: border-box;
}

body.site.com_ysafe .col:first-child {
	margin-left: 0;
}

body.site.com_ysafe .row::after,
body.site.com_ysafe .col::after {
	display: block;
	height: 0;
	clear: both;
	content: "";
	visibility: hidden;
}

@media (min-width: 768px) {
	body.site.com_ysafe .col {
		margin-left: 2%;
	}

	body.site.com_ysafe .span_1 { width: 6.5%; }
	body.site.com_ysafe .span_2 { width: 15%; }
	body.site.com_ysafe .span_3 { width: 23.5%; }
	body.site.com_ysafe .span_4 { width: 32%; }
	body.site.com_ysafe .span_5 { width: 40.5%; }
	body.site.com_ysafe .span_6 { width: 49%; }
	body.site.com_ysafe .span_7 { width: 57.5%; }
	body.site.com_ysafe .span_8 { width: 66%; }
	body.site.com_ysafe .span_9 { width: 74.5%; }
	body.site.com_ysafe .span_10 { width: 83%; }
	body.site.com_ysafe .span_11 { width: 91.5%; }
	body.site.com_ysafe .span_12 { width: 100%; }
}

/* Dashboard tiles + role switcher (grizlow custom.css) */
body.site.com_ysafe .titlecol {
	padding: 10px;
	border-bottom: 1px solid #eaeaea;
	margin-bottom: 20px;
}

body.site.com_ysafe .titlecol h2 {
	font-family: "Oswald", Arial, sans-serif;
	font-size: 18px;
	color: var(--ysafe-ink);
	margin: 0;
}

body.site.com_ysafe .btn-yachtsafe,
body.site.com_ysafe button.btn-yachtsafe {
	display: inline-block;
	margin: 0 0 3px 3px;
	padding: 0 15px;
	background: var(--ysafe-coral);
	color: #fff !important;
	text-decoration: none !important;
	height: 32px;
	min-height: 32px;
	font-size: 13px;
	border: 1px solid var(--ysafe-coral);
	border-radius: 4px;
	box-shadow: 0 1px 0 0 var(--ysafe-coral);
	cursor: pointer;
	line-height: 32px;
	outline: 0;
	text-shadow: none;
	vertical-align: bottom;
}

body.site.com_ysafe .action-area {
	padding: 10px;
	margin-bottom: 20px;
}

body.site.com_ysafe ul.btn-group {
	display: block;
	text-align: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.site.com_ysafe ul.btn-group li {
	display: inline-block;
	min-width: 150px;
	margin: 0 10px;
	list-style: none;
}

body.site.com_ysafe .action-area .btn-group a,
body.site.com_ysafe a.btn-dashboard {
	display: block;
	text-align: center;
	padding: 15px;
	border: 1px solid var(--ysafe-coral);
	text-transform: uppercase;
	color: var(--ysafe-ink);
	background: #fff;
	text-decoration: none !important;
	font-family: "Oswald", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.3;
	transition: background 0.15s ease, color 0.15s ease;
}

body.site.com_ysafe .action-area .btn-group a:hover,
body.site.com_ysafe a.btn-dashboard:hover {
	background: var(--ysafe-coral);
	color: #fff !important;
	text-decoration: none !important;
}

body.site.com_ysafe .action-area .btn-group a .fa,
body.site.com_ysafe a.btn-dashboard .fa {
	font-size: 40px;
	display: block;
	margin-bottom: 8px;
	color: var(--ysafe-coral);
}

body.site.com_ysafe .action-area .btn-group a:hover .fa,
body.site.com_ysafe a.btn-dashboard:hover .fa {
	color: #fff;
}

body.site.com_ysafe .ysafe-dashboard-msg {
	color: #bfbfbf;
	font-size: 14px;
	font-weight: normal !important;
}

body.site.com_ysafe .ysafe-dashboard-msg > strong {
	color: var(--ysafe-orange);
	font-size: 16px;
	font-weight: bold;
}

body.site.com_ysafe .actiongroup {
	margin-bottom: 6px;
	display: inline-block;
	margin-top: -4px;
}

/* Page headers + tables (component.css) */
body.site.com_ysafe .page-header {
	font-size: 24px;
	color: #9ea5ab;
	padding-bottom: 10px;
	margin-bottom: 12px;
	border-bottom: 1px solid #eaeaea;
}

body.site.com_ysafe.view-timeslot .page-header {
	font-size: 24px;
	color: #9ea5ab;
	margin-bottom: 0px;
	font-family: 'InterstateMono', sans-serif, Verdana, Arial, serif;
}

body.site.com_ysafe.view-timeslot .hasTooltip i{
	font-size: 16px;
	cursor: help;
	color: #000 !important;
	vertical-align: baseline;
	position: relative;
	top: 0;
	line-height: inherit;
}

/* Bootstrap 5 tooltips — black popup */
body.site.com_ysafe .tooltip {
	z-index: 10900;
	--bs-tooltip-bg: #000;
	--bs-tooltip-color: #fff;
}

body.site.com_ysafe .tooltip .tooltip-inner {
	background-color: #000;
	color: #fff;
}

body.site.com_ysafe .hasTooltip:not(.btn) {
	cursor: help;
	display: inline !important;
	vertical-align: baseline;
	line-height: inherit;
	white-space: nowrap;
	float: none;
}

body.site.com_ysafe .hasTooltip:not(.btn) .fa,
body.site.com_ysafe .hasTooltip:not(.btn) .fa-info-circle,
body.site.com_ysafe .hasTooltip:not(.btn) i {
	display: inline;
	vertical-align: baseline;
	position: relative;
	top: 0;
	margin-left: 0.2em;
	line-height: inherit;
	color: #000 !important;
}

body.site.com_ysafe table .hasTooltip img {
	vertical-align: middle;
}

body.site.com_ysafe .hasTooltip .fa-info-circle,
body.site.com_ysafe .hasTooltip:not(.btn) i {
	color: #000 !important;
	font-size: 14px;
	vertical-align: baseline;
	position: relative;
	top: 0;
	line-height: inherit;
}

body.site.com_ysafe .titlecol h2 .hasTooltip {
	vertical-align: baseline;
	line-height: inherit;
}

body.site.com_ysafe .titlecol h2 .hasTooltip .fa-info-circle,
body.site.com_ysafe .titlecol h2 .hasTooltip i {
	font-size: 0.9em;
	vertical-align: baseline;
	position: relative;
	top: 0;
	line-height: inherit;
}

body.site.com_ysafe .hasTooltip .fa-info-circle:hover,
body.site.com_ysafe .hasTooltip:not(.btn) i:hover {
	color: #000 !important;
}

body.site.com_ysafe #adminForm table td label,
body.site.com_ysafe #adminForm label {
	display: inline;
	vertical-align: middle;
	margin-bottom: 0;
}


body.site.com_ysafe .table-header, body.site.com_ysafe .table-header th {
	background: var(--ysafe-orange);
	color: #fff;
	font-weight: normal !important;
}

body.site.com_ysafe .table-header2, body.site.com_ysafe .table-header2 th {
	background: #909191;
	color: #fff;
	font-weight: normal;
}

body.site.com_ysafe .table-zebra tr.data-row:nth-child(even) {
	background: #fff7ee;
}

body.site.com_ysafe .table-zebra tr.data-row:nth-child(odd) {
	background: #fefefe;
}

body.site.com_ysafe .table-highlight tr.data-row:hover,
body.site.com_ysafe .table-highlight tr.data-row:hover td {
	background: #feebd5;
}

body.site.com_ysafe .table-outerborder {
	border: 1px solid #d3d3d3;
}

body.site.com_ysafe .table-border tr td {
	border-top: 1px solid #d3d3d3;
}

body.site.com_ysafe .table-border tr:last-child td {
	border-bottom: 1px solid #d3d3d3;
}

body.site.com_ysafe .table-border th:first-child,
body.site.com_ysafe .table-border td {
	border-left: 1px solid #d3d3d3;
}

body.site.com_ysafe .table-border th:only-child,
body.site.com_ysafe .table-border th:last-child,
body.site.com_ysafe .table-border td:last-child {
	border-right: 1px solid #d3d3d3;
}

body.site.com_ysafe .list-footer {
	margin: 10px auto 0;
	width: 200px;
	text-align: center;
}

body.site.com_ysafe .list-footer #limit {
	width: 70px;
	height: 30px;
	margin: -10px 10px;
	vertical-align: middle;
}

body.site.com_ysafe .list-footer select,
body.site.com_ysafe select#filter_year,
body.site.com_ysafe select#filter_month {
	padding: 0 15px;
	background: var(--ysafe-coral) !important;
	color: #fff !important;
	font-size: 13px;
	border: 1px solid var(--ysafe-coral) !important;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 var(--ysafe-coral);
	cursor: pointer;
	line-height: 24px;
	height: 32px;
}

body.site.com_ysafe table select {
	margin: 5px !important;
	border-radius: 4px !important;
	height: 32px !important;
}

body.site.com_ysafe .table-responsive {
	width: 100%;
	margin-bottom: 15px;
	overflow-y: auto;
	border: 1px solid #ddd;
}

body.site.com_ysafe table td.nobordertd table td {
	border: none !important;
	line-height: 1.5;
}

/* Forms + fieldsets */
body.site.com_ysafe div.input {
	padding: 1px 3px;
	border: 1px solid #cecece;
	background-color: #efefef;
	color: #000;
	min-height: 22px;
	min-width: 40px;
}

body.site.com_ysafe fieldset.fieldset {
	margin-top: 10px;
	padding: 10px;
	border: 1px solid #eee;
	border-radius: 6px;
}

body.site.com_ysafe fieldset.fieldset legend {
	background: #fff;
	border-radius: 10px;
	border: 1px solid var(--ysafe-coral);
	margin: 5px;
	padding: 1px 15px 1px 6px;
	color: var(--ysafe-coral);
	width: auto;
	float: none;
}

body.site.com_ysafe div.fieldset {
	margin-top: 10px;
	margin-bottom: 25px;
	padding: 0;
	border: 0 solid #eccea9;
	border-top-width: 1px;
}

body.site.com_ysafe div.fieldset legend {
	background: #fff;
	border-radius: 10px;
	border: 1px solid var(--ysafe-coral);
	margin: -12px 5px 0;
	padding: 1px 5px 1px 6px;
	color: #6b6b6b;
	width: auto;
	float: none;
}

body.site.com_ysafe .profilearea .row {
	margin-bottom: 10px;
}

body.site.com_ysafe .profilearea input,
body.site.com_ysafe .profilearea select {
	height: 32px !important;
	padding: 0 7px !important;
	margin: 0 !important;
}

body.site.com_ysafe .profilearea fieldset.radio {
	height: auto;
}

body.site.com_ysafe .input-little[type="time"] {
	width: 135px;
	height: auto !important;
	padding: 6px 8px !important;
}

body.site.com_ysafe .btn-calendar {
	border-radius: 0 !important;
	margin-bottom: 0 !important;
	padding: 0;
	width: 100%;
	height: 22px;
	box-shadow: none !important;
}

body.site.com_ysafe div.calendar-wrap {
	display: inline-flex;
	width: 120px;
	margin: 2px 3px 0 3px;
	vertical-align: middle;
}

body.site.com_ysafe a.btn-rowaction {
	width: 20px;
	display: inline-block;
	margin: 0;
	padding: 5px 8px 5px 5px;
	height: 24px;
	min-height: 24px;
	font-size: 13px;
	border-radius: 2px;
	cursor: pointer;
	line-height: 14px;
	text-decoration: none !important;
}

body.site.com_ysafe a.btn-rowaction.green {
	background-color: #090 !important;
	color: #fff !important;
	border: 1px solid #090;
}

body.site.com_ysafe a.btn-rowaction.red {
	background-color: var(--ysafe-coral) !important;
	color: #fff !important;
	border: 1px solid var(--ysafe-coral);
}

body.site.com_ysafe .error-field,
body.site.com_ysafe .error-field + span::after,
body.site.com_ysafe .error-field + span::before {
	background: #f99 !important;
	border: 1px dashed #f00 !important;
	border-radius: 0px;
	padding: 0px;
}

body.site.com_ysafe .success-field,
body.site.com_ysafe .success-field + span::after,
body.site.com_ysafe .success-field + span::before {
	background: #60f287 !important;
	border-radius: 0px;
	padding: 0px;
}

body.site.com_ysafe .field-calendar.success-field{
	background: none !important;
}

body.site.com_ysafe .success-field + span::before {
	color: #2e2c2c !important;
}

body.site.com_ysafe .field-calendar .input-group > .form-control.success-field  {
	background: #e3ffea !important;
}

label input[type="checkbox"].checkbox-right:disabled + span::after {
	background: #fda6a3 !important;
	border: 1px solid #ccc !important;
	cursor: no-drop;
}

label input[type="checkbox"].checkbox-right.success-field:disabled + span::after {
	background: #60F287 !important;
	border: 1px solid #ccc !important;
	cursor: no-drop;
}

body.site.com_ysafe .alert-yachtsafe {
	background-color: #ecceaa;
	padding: 10px 15px;
	text-shadow: none;
	color: #333;
	border-radius: 4px;
}

body.site.com_ysafe .shortcode-area {
	border: 1px solid #eee;
	margin-bottom: 20px;
	min-height: 200px;
	padding: 10px;
}

body.site.com_ysafe span.shortcodeitem {
	display: block;
	background: #f5f5f5;
	padding: 5px 10px;
	margin-bottom: 6px;
	border-radius: 6px;
}

body.site.com_ysafe .header-yacht {
	font-size: 18px;
	font-weight: bolder;
	margin-left: 10px;
}

body.site.com_ysafe .header-yacht-logo {
	width: 60px;
	margin: 10px;
}

body.site.com_ysafe .overlay-container {
	position: relative;
}

body.site.com_ysafe .overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	background: #aeaeae;
	color: var(--ysafe-coral);
	font-size: 48px;
	padding-top: 20px;
	font-weight: bold;
	text-align: center;
	opacity: 0.4;
	border-radius: 6px;
	text-shadow: #fff 1px 2px;
}

/* Timeslot view */
body.site.com_ysafe td.yv-timeslot {
	width: 200px !important;
}

body.site.com_ysafe select#filter_year {
	width: 90px;
}

body.site.com_ysafe select#filter_month {
	width: 140px;
}

body.site.com_ysafe .table-timeslot {
	border-right: 1px solid #cecece;
	border-bottom: 1px solid #cecece;
}

body.site.com_ysafe .table-timeslot,
body.site.com_ysafe .table-timeslot td:first-child {
	border-left: 0;
}

body.site.com_ysafe .table-timeslot thead tr:first-child td {
	border-top: 0;
}

body.site.com_ysafe .table-timeslot td {
	line-height: 1.8;
}

body.site.com_ysafe .table-timeslot td + td {
	padding: 6px;
}

body.site.com_ysafe .table-timeslot .table-header {
	text-align: center;
}

body.site.com_ysafe .cross-cell {
	width: 90px;
	font-size: 22px;
	color: #fff;
	background: var(--ysafe-orange);
	padding: 6px;
}

body.site.com_ysafe .table-timeslot-container {
	border: 0 solid #cecece;
	border-width: 0 1px 1px 0;
	position: relative;
	overflow: hidden;
}

body.site.com_ysafe #adminForm table td {
	padding: 3px 3px;
	color: #545F66;
}

body.site.com_ysafe.view-timeslot #adminForm table td {
	color: #fff;
}

body.site.com_ysafe #adminForm table td label {
	margin-bottom: 0;
}

body.site.com_ysafe input.input-standard,
body.site.com_ysafe select.input-standard {
	height: 22px;
	max-width: 100%;
}

body.site.com_ysafe.view-boatowner input,
body.site.com_ysafe.view-auditor input {
	max-width: 350px;
}

body.site.com_ysafe.view-boatowner select,
body.site.com_ysafe.view-auditor select {
	max-width: 350px;
	margin: 0 !important;
}

body.site.com_ysafe.view-boatowner textarea,
body.site.com_ysafe.view-auditor textarea {
	max-width: 350px;
	min-width: 350px;
}

body.site.com_ysafe.view-auditor .profilearea .row{
	display: block !important;
}

body.site.com_ysafe textarea.input-standard {
	height: 140px;
	max-width: 350px;
}

body.site.com_ysafe .checkbox-right {
	position: inherit !important;
}

body.site.com_ysafe .row-narrow {
	line-height: 1.6;
	padding: 2px 5px;
}

body.site.com_ysafe .pushup-1 {
	margin-top: -1px;
}

body.site.com_ysafe .v-middle {
	vertical-align: middle !important;
}

body.site.com_ysafe .scroll-x {
	overflow-x: auto;
}

body.site.com_ysafe .scroll-y {
	overflow-y: auto;
}

body.site.com_ysafe .bg-color-white {
	background-color: #fff;
}

body.site.com_ysafe .ref-note,
body.site.com_ysafe .edit-link {
	color: var(--ysafe-coral);
	cursor: pointer;
}

body.site.com_ysafe #system-message-container:has(joomla-alert) {
	margin-top: 1em;
	margin-bottom: 1em;
}

@media (min-width: 768px) {
	body.site.com_ysafe .titlecol .rightcol,
	body.site.com_ysafe .right-side {
		text-align: right;
	}
}

@media (max-width: 767px) {
	body.site.com_ysafe ul.btn-group li {
		width: 50%;
		margin-bottom: 10px;
	}

	body.site.com_ysafe .profilearea input[type="text"],
	body.site.com_ysafe .profilearea input[type="email"],
	body.site.com_ysafe .profilearea input[type="tel"],
	body.site.com_ysafe .profilearea input[type="password"] {
		width: 100%;
		max-width: 100%;
	}

	body.site.com_ysafe .modal-content {
		width: 80% !important;
	}
}

/* =============================================================================
   com_ysafe list pages – audit forms, past audits (legacy grizlow/custom.css)
   ============================================================================= */

body.site.com_ysafe .sort_by {
	display: inline-block;
	margin-right: 6px;
	font-weight: 600;
	color: var(--ysafe-ink);
	vertical-align: middle;
}

body.site.com_ysafe .filter-search input,
body.site.com_ysafe #filter_search {
	display: inline-block;
	max-width: 220px;
	height: 32px;
	padding: 6px 10px !important;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 13px;
	vertical-align: middle;
}

body.site.com_ysafe .actiongroup .btn,
body.site.com_ysafe .filter-search + .btn-group .btn,
body.site.com_ysafe .btn.hasTooltip,
body.site.com_ysafe.view-auditors .right-side .actiongroup button.btn.hasTooltip,
body.site.com_ysafe.view-boatowners .right-side .actiongroup button.btn.hasTooltip {
	background: var(--ysafe-coral) !important;
	border: 1px solid var(--ysafe-coral) !important;
	color: #fff !important;
	min-height: 32px;
	line-height: 30px;
	padding: 0 12px;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 var(--ysafe-coral);
	font-size: 13px;
	font-weight: normal;
	text-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

body.site.com_ysafe.view-auditors .right-side .actiongroup button.btn.hasTooltip + button.btn.hasTooltip,
body.site.com_ysafe.view-boatowners .right-side .actiongroup button.btn.hasTooltip + button.btn.hasTooltip {
	margin-left: 6px;
}

body.site.com_ysafe .filter-search + .btn-group .btn[type="submit"],
body.site.com_ysafe .actiongroup .btn-group .btn[type="submit"].hasTooltip {
	margin-right: 5px;
}

body.site.com_ysafe .actiongroup .btn:hover,
body.site.com_ysafe .filter-search + .btn-group .btn:hover,
body.site.com_ysafe .btn.hasTooltip:hover,
body.site.com_ysafe.view-auditors .right-side .actiongroup button.btn.hasTooltip:hover,
body.site.com_ysafe.view-auditors .right-side .actiongroup button.btn.hasTooltip:focus,
body.site.com_ysafe.view-boatowners .right-side .actiongroup button.btn.hasTooltip:hover,
body.site.com_ysafe.view-boatowners .right-side .actiongroup button.btn.hasTooltip:focus {
	background: var(--ysafe-coral-dark) !important;
	border-color: var(--ysafe-coral-dark) !important;
	color: #fff !important;
}

body.site.com_ysafe #auditList thead th,
body.site.com_ysafe #auditformList thead th {
	background: none;
	color: var(--ysafe-ink);
	border-color: var(--ysafe-border);
	font-weight: normal;
	text-align: center;
}

body.site.com_ysafe #auditList thead th a,
body.site.com_ysafe #auditformList thead th a,
body.site.com_ysafe #auditList thead th.table-header-label,
body.site.com_ysafe #auditformList thead th.table-header-label {
	color: var(--ysafe-orange);
}

body.site.com_ysafe table.table-datalist td {
	font-weight: normal !important;
}

/* EARLIEST EXPIRY DATES: 14% item, 14% expiry, 14% updated, 8% auditor (×2) */
body.site.com_ysafe table.earliest-expiry-dates-table {
	table-layout: fixed;
	width: 100%;
}

body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th {
	white-space: normal;
}

body.site.com_ysafe table.earliest-expiry-dates-table col.eed-col-item {
	width: 14%;
}

body.site.com_ysafe table.earliest-expiry-dates-table col.eed-col-expiry,
body.site.com_ysafe table.earliest-expiry-dates-table col.eed-col-updated {
	width: 14%;
}

body.site.com_ysafe table.earliest-expiry-dates-table col.eed-col-auditor {
	width: 8%;
}

body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(1),
body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(5),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(1),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(5) {
	width: 14%;
}

body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(2),
body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(6),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(2),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(6) {
	width: 14%;
}

body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(3),
body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(7),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(3),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(7) {
	width: 14%;
}

body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(4),
body.site.com_ysafe table.earliest-expiry-dates-table thead tr.table-header2 th:nth-child(8),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(4),
body.site.com_ysafe table.earliest-expiry-dates-table tbody tr > td:nth-child(8) {
	width: 8%;
}

body.site.com_ysafe .pagination {
	margin: 12px 0;
}

body.site.com_ysafe .pagination ul > li > a,
body.site.com_ysafe .pagination ul > li > span {
	background: #fff;
	border: 1px solid var(--ysafe-border);
	color: var(--ysafe-ink);
	padding: 4px 10px;
	line-height: 20px;
}

body.site.com_ysafe .pagination ul > li.active > a,
body.site.com_ysafe .pagination ul > li.active > span {
	background: var(--ysafe-coral);
	border-color: var(--ysafe-coral);
	color: #fff;
}

body.site.com_ysafe .pagination ul > li > a span,
body.site.com_ysafe .pagination ul > li > span span {
	line-height: 20px;
}

/* Page loader (audit form AJAX) */
body.site.com_ysafe #page-loader {
	background: rgba(0, 0, 0, 0.8);
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10050;
	display: none;
	text-align: center;
	width: 100%;
	padding-top: 120px;
}

body.site.com_ysafe .loader {
	position: absolute;
	top: calc(50% - 32px);
	left: calc(50% - 32px);
	width: 64px;
	height: 64px;
	border-radius: 50%;
	perspective: 800px;
}

body.site.com_ysafe .loader .inner {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

body.site.com_ysafe .loader .inner.one {
	left: 0;
	top: 0;
	animation: ysafe-rotate-one 1s linear infinite;
	border-bottom: 4px solid #fff;
}

body.site.com_ysafe .loader .inner.two {
	right: 0;
	top: 0;
	animation: ysafe-rotate-two 1s linear infinite;
	border-right: 4px solid #fff;
}

body.site.com_ysafe .loader .inner.three {
	right: 0;
	bottom: 0;
	animation: ysafe-rotate-three 1s linear infinite;
	border-top: 4px solid #fff;
}

body.site.com_ysafe input[readonly],
body.site.com_ysafe input[disabled] {
	border: 1px solid #ccc !important;
	color: #777 !important;
	cursor: no-drop !important;
	background: #f99 !important;
}

body.site.com_ysafe input[readonly].success-field,
body.site.com_ysafe input[disabled].success-field {
	border: 1px solid #ccc !important;
	color: #777 !important;
	cursor: no-drop !important;
	background:#60F287 none repeat scroll 0 0 !important;
}

@keyframes ysafe-rotate-one {
	0% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg); }
	100% { transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg); }
}

@keyframes ysafe-rotate-two {
	0% { transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg); }
	100% { transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg); }
}

@keyframes ysafe-rotate-three {
	0% { transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg); }
	100% { transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg); }
}

/* =============================================================================
   com_users – My Profile (legacy login.css + grizlow profile forms)
   ============================================================================= */

body.site.com_users.view-profile .com-users-profile__edit,
body.site.com_users.view-profile .profile-edit {
	font-size: 13px;
}

body.site.com_users.view-profile .com-users-profile__edit-form fieldset {
	margin-bottom: 18px;
	padding: 12px 14px;
	border: 1px solid #e4e4e4;
	background: #fff;
}

body.site.com_users.view-profile .com-users-profile__edit-form legend {
	font-family: "Oswald", Arial, sans-serif;
	font-size: 16px;
	color: var(--ysafe-ink);
	width: auto;
	padding: 0 6px;
	margin-bottom: 10px;
	border: 0;
	float: none;
}

body.site.com_users.view-profile input[type="text"],
body.site.com_users.view-profile input[type="password"],
body.site.com_users.view-profile input[type="email"],
body.site.com_users.view-profile textarea {
	display: block;
	max-width: 100%;
	margin-bottom: 10px;
	padding: 6px 8px !important;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 13px;
}

body.site.com_users.view-profile .com-users-profile__edit-submit .controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

body.site.com_users.view-profile .com-users-profile__edit-submit .btn-primary,
body.site.com_users.view-profile button[type="submit"].btn-primary,
body.site.com_users.view-profile input[type="submit"].btn-primary {
	background: var(--ysafe-coral) !important;
	border: 1px solid var(--ysafe-coral) !important;
	color: #fff !important;
	min-height: 36px;
	padding: 0 16px;
	line-height: 34px;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 var(--ysafe-coral);
	clear: none;
	float: none;
	display: inline-block;
	margin: 0;
}

body.site.com_users.view-profile .com-users-profile__edit-submit .btn-danger,
body.site.com_users.view-profile button[type="submit"].btn-danger {
	background: #6c757d !important;
	border-color: #6c757d !important;
	color: #fff !important;
	min-height: 36px;
	padding: 0 16px;
	line-height: 34px;
	border-radius: 4px;
	clear: none;
	float: none;
	display: inline-block;
	margin: 0;
}

body.site.com_users.view-profile .com-users-profile__edit-submit button[type="submit"].btn {
	clear: none;
	float: none;
	display: inline-block;
	margin: 0;
}

body.site.com_users.view-profile .control-group,
body.site.com_users.view-profile .mb-3 {
	margin-bottom: 12px;
}

body.site.com_users.view-profile .control-label,
body.site.com_users.view-profile label {
	font-weight: 600;
	color: #333;
	margin-bottom: 4px;
}

body.site.com_users.view-profile input:-webkit-autofill,
body.site.com_users.view-profile textarea:-webkit-autofill,
body.site.com_users.view-profile select:-webkit-autofill {
	background: #ebcda9 !important;
	color: #6b6b6b;
}

.calendar-container table {
	table-layout: fixed;
	max-width: 262px !important;
	border-radius: 5px;
	background-color: #ffffff !important;
	z-index: 1100 !important;
	margin: 0px !important;
  }
  body .js-calendar .calendar-head-row {
	background: #2EB4D7 !important;
  }
  body .js-calendar .calendar-head-row .js-btn {
	color: #fff;
	font-size: 19px;
  }
  .calendar-container table td {
	padding: 8px 6px 8px 6px;
  }
  body .js-calendar .day-name {
	border-left: 1px solid transparent;
  }
  .calendar-container .day-name {
	font-size: 0.7rem;
  }
  div.calendar-container table th, .calendar-container table td {
	line-height: 1.1em;
	text-align: center;
  }

  body .js-calendar .calendar-head-row:hover td {
	background: #2EB4D7 !important;
  }
  .calendar-container .calendar-head-row td:nth-child(1) {
	width: 10% !important;
  }
  .calendar-container .calendar-head-row td:nth-child(2) {
	width: 80% !important;
  }
  .calendar-container .calendar-head-row td:nth-child(3) {
	width: 10% !important;
  }

  body.site.com_ysafe .js-calendar .buttons-wrapper .btn,
  body.site.com_ysafe .js-calendar .buttons-wrapper .js-btn {
	flex: 1 1 auto;
	background:#2EB4D7 !important;
	color: #fff !important;
	border: none !important;
	box-shadow: none !important;
	min-width: 0 !important;
	padding: 8px 4px !important;
	line-height: 1.2 !important;
	font-size: 12px;
	font-weight: normal;
	border-radius: 0 !important;
}

body.site.com_ysafe .js-calendar .buttons-wrapper .btn:hover,
body.site.com_ysafe .js-calendar .buttons-wrapper .js-btn:hover {
	background: #2EB4D7 !important;
	color: #fff !important;
}

body.site.com_ysafe.view-auditform .field-calendar.success-field .buttons-wrapper .btn{
	background: #2EB4D7 !important;
	color: #fff !important;
}

input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="tel"], textarea {
	padding: 4px !important;
}

body.site.com_ysafe .field-calendar.error-field {
	background: none !important;
	border: none !important;
}


body.site.com_ysafe.view-yachtclub .field-calendar{
	background:none !important;
}

body.site.com_ysafe.view-yachtclub .field-calendar .btn{
	background: #60F287 none repeat scroll 0 0 !important;
}

body.site.com_ysafe.view-yachtclub .field-calendar:not(.readonly):not(.disabled):not(:has(.input-group)) > input:not([readonly]):not([disabled]){
	border-left: none !important;
}

body.site.com_ysafe.view-yachtclub .profilearea input{
	height: 15px !important;
	padding: 0 7px !important;
	margin: 0 !important;
	  margin-top: 0px;
	margin-top: 3px !important;
	cursor: pointer;
}

body.site.com_ysafe.view-yachtclub .field-calendar input{
	cursor: pointer;
	margin-top: 0px !important;
	min-height: 22px !important;
	border-left: none !important;
}

body.site.com_ysafe.view-yachtclub .profilearea input[readonly]{
	background-color: #eee !important;
}

body.site.com_ysafe.view-boatowner input[readonly]{
	background-color: #eee !important;
}

/* Boat owners list — fit club layout without horizontal scroll */
body.site.com_ysafe.view-boatowners #adminForm {
	max-width: 100%;
}

body.site.com_ysafe.view-boatowners .table-responsive {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	overflow-y: visible;
	margin-bottom: 15px;
}

body.site.com_ysafe.view-boatowners #boatownerList {
	table-layout: inherit;
	width: 100%;
	margin-bottom: 0;
}

body.site.com_ysafe.view-auditors #auditorList {
	table-layout: inherit;
	width: 100%;
	margin-bottom: 0;
}

/* Auditors list — fit club layout without horizontal scroll */
body.site.com_ysafe.view-auditors #adminForm {
	max-width: 100%;
}

body.site.com_ysafe.view-auditors .table-responsive {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	overflow-y: visible;
	margin-bottom: 15px;
}

body.site.com_ysafe.view-auditors #auditorList th,
body.site.com_ysafe.view-auditors #auditorList td {
	white-space: normal !important;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	vertical-align: middle;
	padding: 6px 8px;
	font-size: 12px;
	line-height: 1.35;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(1),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(1) {
	width: 4% !important;
	padding-left: 4px;
	padding-right: 4px;
	text-align: center;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(2),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(2) {
	width: 10%;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(3),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(3) {
	width: 15%;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(4),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(4) {
	width: 15%;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(5),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(5) {
	width: 12%;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(6),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(6) {
	width: 10%;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(7),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(7) {
	width: 1%;
	text-align: center;
}

body.site.com_ysafe.view-auditors #auditorList th:nth-child(8),
body.site.com_ysafe.view-auditors #auditorList td:nth-child(8) {
	width: 10% !important;
	text-align: center;
	padding-left: 4px;
	padding-right: 4px;
}

body.site.com_ysafe.view-auditors #auditorList thead th a {
	color: var(--ysafe-orange);
	text-decoration: none;
	cursor: pointer;
}

body.site.com_ysafe.view-auditors #auditorList thead th a.hasTooltip {
	cursor: pointer !important;
}

body.site.com_ysafe.view-auditors #auditorList label.hasTooltip {
	cursor: pointer !important;
}

body.site.com_ysafe.view-auditors #auditorList thead th a:hover,
body.site.com_ysafe.view-auditors #auditorList thead th a:focus {
	color: #ff7b17;
	text-decoration: underline;
}

body.site.com_ysafe.view-auditors #auditorList thead th:nth-child(8) a {
	color: var(--ysafe-orange);
	cursor: pointer;
}

body.site.com_ysafe.view-auditors #auditorList td:last-child .btn-ysafe {
	display: block;
	width: 100%;
	box-sizing: border-box;
	font-size: 11px;
	line-height: 1.3;
	min-height: 0;
	padding: 5px 4px;
	margin: 0;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	color: #fff !important;
	cursor: pointer;
}

body.site.com_ysafe.view-auditors #auditorList td:last-child .btn-ysafe.hasTooltip {
	cursor: pointer !important;
}

body.site.com_ysafe.view-auditors #auditorList td:last-child .btn-ysafe .fa,
body.site.com_ysafe.view-auditors #auditorList td:last-child .btn-ysafe .fa-thumbs-up {
	color: #fff !important;
	font-size: 12px;
	margin-right: 3px;
}

body.site.com_ysafe.view-auditors #auditorList .btn-radio {
	margin: 0 auto;
}

body.site.com_ysafe.view-auditors #auditorList tfoot th {
	white-space: normal;
}

body.site.com_ysafe.view-boatowners #boatownerList th,
body.site.com_ysafe.view-boatowners #boatownerList td {
	white-space: normal !important;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	vertical-align: middle;
	padding: 6px 8px;
	font-size: 12px;
	line-height: 1.35;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(1),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(1) {
	width: 4% !important;
	padding-left: 4px;
	padding-right: 4px;
	text-align: center;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(2),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(2) {
	width: 11%;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(3),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(3) {
	width: 11%;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(4),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(4) {
	width: 15%;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(5),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(5) {
	width: 18%;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(6),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(6) {
	width: 10%;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(7),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(7) {
	width: 10%;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(8),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(8) {
	width: 1%;
	text-align: center;
}

body.site.com_ysafe.view-boatowners #boatownerList th:nth-child(9),
body.site.com_ysafe.view-boatowners #boatownerList td:nth-child(9) {
	width: 10% !important;
	text-align: center;
	padding-left: 4px;
	padding-right: 4px;
}

body.site.com_ysafe.view-boatowners #boatownerList thead th a {
	color: var(--ysafe-orange);
	text-decoration: none;
	cursor: pointer;
}

body.site.com_ysafe.view-boatowners #boatownerList thead th a.hasTooltip {
	cursor: pointer !important;
}

body.site.com_ysafe.view-boatowners #boatownerList label.hasTooltip {
	cursor: pointer !important;
}

body.site.com_ysafe.view-boatowners #boatownerList thead th a:hover,
body.site.com_ysafe.view-boatowners #boatownerList thead th a:focus {
	color: #ff7b17;
	text-decoration: underline;
}

body.site.com_ysafe.view-boatowners #boatownerList thead th:nth-child(9) a {
	color: var(--ysafe-orange);
	cursor: pointer;
}

body.site.com_ysafe.view-boatowners #boatownerList td:last-child .btn-ysafe {
	display: block;
	width: 100%;
	box-sizing: border-box;
	font-size: 11px;
	line-height: 1.3;
	min-height: 0;
	padding: 5px 4px;
	margin: 0;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	color: #fff !important;
	cursor: pointer;
}

body.site.com_ysafe.view-boatowners #boatownerList td:last-child .btn-ysafe.hasTooltip {
	cursor: pointer !important;
}

body.site.com_ysafe.view-boatowners #boatownerList td:last-child .btn-ysafe .fa,
body.site.com_ysafe.view-boatowners #boatownerList td:last-child .btn-ysafe .fa-thumbs-up {
	color: #fff !important;
	font-size: 12px;
	margin-right: 3px;
}

body.site.com_ysafe.view-boatowners #boatownerList .btn-radio {
	margin: 0 auto;
}

body.site.com_ysafe.view-boatowners #boatownerList tfoot th {
	white-space: normal;
}

body.site.com_ysafe.view-boatowners #boatownerList .list-empty-message,
body.site.com_ysafe.view-auditors #auditorList .list-empty-message {
	padding: 16px 8px;
	text-align: center;
	vertical-align: middle;
}

body.site.com_ysafe .profilearea input[readonly]{
	background-color: #eeeeee !important;
}

body.site.com_ysafe.view-notifications .alert-yachtsafe h2,
body.site.com_ysafe.view-bulkemail .alert-yachtsafe h2
{
	font-size: 18px;
}

body.site.com_ysafe.view-notifications .shortcode-area,
body.site.com_ysafe.view-bulkemail .shortcode-area {
	font-size: 12px;
}

body.site.com_ysafe.view-notifications .shortcode-area h3,
body.site.com_ysafe.view-bulkemail .shortcode-area h3 {
	font-size: 18px;
}

body.site.com_ysafe.view-export input[type="button"] {
	font-size: 18px;
	background: #375e72;
    background-color: rgb(55, 94, 114);
	text-shadow: 1px 1px 0 #375e72;
	color: #fff;
	min-height: 36px;
	font-size: 13px;
	border: 1px solid #0e181e;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
	cursor: pointer;
	line-height: 36px;
	display: inline-block;
	margin-top: 5px;
	padding: 0 15px;
	background-color: #375e72;
	color: #fff;
	text-decoration: none;
}

body.site.com_ysafe.view-export .hasTooltip:not(.btn) .fa,
body.site.com_ysafe.view-export .hasTooltip:not(.btn) .fa-info-circle,
body.site.com_ysafe.view-export .hasTooltip:not(.btn) i {
  top: -3px;
}

body.site.com_ysafe.view-notifications .ysafe_label_name{
	font-size: 12px;
  	font-weight: bold;
  	margin-top: 10px;
}

body.site.com_ysafe.view-notifications .ysafe_label_name + .switch {
	margin-left: 6px;
	margin-top: 6px;
}

body.site.com_ysafe.view-notifications .alert-yachtsafe .btn-group,
body.site.com_ysafe.view-bulkemail .alert-yachtsafe .btn-group{
display: block !important;
}

body.site.com_ysafe.view-notifications .alert-yachtsafe .row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

body.site.com_ysafe.view-notifications .alert-yachtsafe .row::after {
	display: none;
}

body.site.com_ysafe.view-notifications .alert-yachtsafe .col,
body.site.com_ysafe.view-bulkemail .alert-yachtsafe .col {
	float: none;
	margin-left: 0 !important;
}

@media (min-width: 768px) {
	body.site.com_ysafe.view-notifications .alert-yachtsafe .span_8,
	body.site.com_ysafe.view-bulkemail .alert-yachtsafe .span_8 {
		width: 65%;
		flex: 0 0 65%;
		max-width: 65%;
	}

	body.site.com_ysafe.view-notifications .alert-yachtsafe .span_4,
	body.site.com_ysafe.view-bulkemail .alert-yachtsafe .span_4 {
		width: 35%;
		flex: 0 0 35%;
		max-width: 35%;
	}
}

body.site.com_ysafe.view-notifications #notifications_type,
body.site.com_ysafe.view-bulkemail #user_type {
	padding: 0 15px;
	background: #e86869 !important;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 13px;
	border: 1px solid #E86869 !important;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 #e86869;
	cursor: pointer;
	line-height: 24px;
	outline: 0;
	text-shadow: none;
	vertical-align: middle;
	font-family: inherit;
	height: 32px;
	width: auto !important;
	margin-left: 3px;
	margin-bottom: 1px;
}

body.site.com_ysafe.view-notifications h4:has(.btn-standard),
body.site.com_ysafe.view-bulkemail h4:has(.btn-standard) {
	line-height: 26px;
}

body.site.com_ysafe.view-notifications h4 .btn-standard {
	line-height: 26px;
}

/* TinyMCE — content area height; full width in column */
body.site.com_ysafe.view-notifications .ysafe_detail_box.ysafe_editor_box,
body.site.com_ysafe.view-bulkemail .ysafe_detail_box.ysafe_editor_box {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

body.site.com_ysafe.view-notifications .ysafe_detail_box.ysafe_editor_box .js-editor-tinymce,
body.site.com_ysafe.view-notifications .ysafe_detail_box.ysafe_editor_box .js-editor-tinymce .tox-tinymce,
body.site.com_ysafe.view-bulkemail .ysafe_detail_box.ysafe_editor_box .js-editor-tinymce,
body.site.com_ysafe.view-bulkemail .ysafe_detail_box.ysafe_editor_box .js-editor-tinymce .tox-tinymce {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

body.site.com_ysafe.view-notifications .js-editor-tinymce .tox-tinymce,
body.site.com_ysafe.view-bulkemail .js-editor-tinymce .tox-tinymce {
	height: auto !important;
}

body.site.com_ysafe.view-notifications .js-editor-tinymce .tox .tox-edit-area,
body.site.com_ysafe.view-notifications .js-editor-tinymce .tox .tox-edit-area__iframe,
body.site.com_ysafe.view-bulkemail .js-editor-tinymce .tox .tox-edit-area,
body.site.com_ysafe.view-bulkemail .js-editor-tinymce .tox .tox-edit-area__iframe {
	width: 100% !important;
	max-width: 100% !important;
}

body.site.com_ysafe.view-notifications .js-editor-tinymce .tox .tox-edit-area,
body.site.com_ysafe.view-bulkemail .js-editor-tinymce .tox .tox-edit-area {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-height: 350px !important;
	height: 350px !important;
}

body.site.com_ysafe.view-notifications .js-editor-tinymce .tox .tox-edit-area__iframe,
body.site.com_ysafe.view-bulkemail .js-editor-tinymce .tox .tox-edit-area__iframe {
	height: 100% !important;
	min-height: 350px !important;
}