/* kamfs.com phone and tablet layout, modelled on kamsurance.com, in kamfs colors.
 * Applies only when <html> has the class kamfs-m (preview switch, see html.tpl.php). 2026-10-22 */

.kamfs-m-toggler, .kamfs-m-panel, .kamfs-m-overlay { display:none; }

@media (max-width: 979px) {
	html.kamfs-m body { min-width:0 !important; font-size:16px; }
	html.kamfs-m .container-12,
	html.kamfs-m .grid-12 {
		width:auto !important;
		max-width:none !important;
		float:none !important;
		margin:0 !important;
		padding:0 8px !important;
		box-sizing:border-box;
	}

	/* Header: logo left, menu button right */
	html.kamfs-m .header-section-1 {
		background:#343434 !important;
		padding:10px 0 !important;
		position:relative !important;
		box-shadow:none !important;
	}
	html.kamfs-m .pseudoStickyBlock { display:none !important; height:0 !important; }
	html.kamfs-m .header-section-1 .col1 {
		display:flex;
		align-items:center;
		justify-content:space-between;
		float:none !important;
		width:auto !important;
	}
	html.kamfs-m .header-section-1 .col2 { display:none !important; }
	html.kamfs-m #logo { float:none !important; margin:0 !important; padding:0 !important; }
	html.kamfs-m #logo img { display:block; max-height:46px; width:auto !important; max-width:72vw; }
	html.kamfs-m .kamfs-m-toggler {
		display:flex;
		align-items:center;
		justify-content:center;
		width:44px;
		height:44px;
		flex:0 0 44px;
		cursor:pointer;
		background:none;
		border:0;
		padding:0;
	}

	/* Slide-in menu */
	html.kamfs-m .kamfs-m-overlay {
		position:fixed;
		top:0; right:0; bottom:0; left:0;
		background:rgba(0,0,0,0.45);
		z-index:10000;
	}
	html.kamfs-m .kamfs-m-overlay.open { display:block; }
	html.kamfs-m .kamfs-m-panel {
		display:block;
		position:fixed;
		top:0;
		left:-85%;
		width:80%;
		max-width:360px;
		height:100vh;
		overflow-y:auto;
		background:#fff;
		z-index:10001;
		padding:10px 0 40px;
		box-sizing:border-box;
		transition:left 0.3s ease;
		box-shadow:2px 0 12px rgba(0,0,0,0.2);
	}
	html.kamfs-m .kamfs-m-panel.open { left:0; }
	html.kamfs-m .kamfs-m-close {
		display:block;
		text-align:right;
		padding:0 18px 6px;
		font-size:32px;
		line-height:1;
		color:#343434;
		cursor:pointer;
	}
	html.kamfs-m .kamfs-m-panel ul { list-style:none; margin:0; padding:0; }
	html.kamfs-m .kamfs-m-panel > ul { border-top:1px solid #dedede; }
	html.kamfs-m .kamfs-m-panel li { list-style:none; margin:0; padding:0; }
	html.kamfs-m .kamfs-m-panel li::before { content:none; }
	html.kamfs-m .kamfs-m-panel ul ul { display:none; padding-left:16px; background:#f6f6f6; }
	html.kamfs-m .kamfs-m-panel ul ul.open { display:block; }
	html.kamfs-m .kamfs-m-row {
		display:flex;
		align-items:center;
		justify-content:space-between;
		border-bottom:1px solid #dedede;
	}
	html.kamfs-m .kamfs-m-row a,
	html.kamfs-m .kamfs-m-row .kamfs-m-label {
		flex:1 1 auto;
		display:block;
		padding:15px 22px;
		color:#343434;
		font-size:15px;
		font-weight:700;
		letter-spacing:0.05em;
		text-transform:uppercase;
		text-decoration:none;
		cursor:pointer;
	}
	html.kamfs-m .kamfs-m-panel ul ul .kamfs-m-row a,
	html.kamfs-m .kamfs-m-panel ul ul .kamfs-m-row .kamfs-m-label {
		padding:12px 16px;
		font-size:15px;
		font-weight:600;
		letter-spacing:0;
		text-transform:none;
	}
	html.kamfs-m .kamfs-m-row a.active,
	html.kamfs-m .kamfs-m-row a:hover { color:#1897c1; }
	html.kamfs-m .kamfs-m-plus {
		flex:0 0 48px;
		height:48px;
		border:0;
		border-left:1px solid #dedede;
		background:none;
		color:#1897c1;
		font-size:24px;
		line-height:1;
		cursor:pointer;
		padding:0;
	}

	/* Content */
	html.kamfs-m #main { padding:28px 0 50px !important; }
	html.kamfs-m #page-top-title,
	html.kamfs-m .pane-title {
		position:relative;
		font-size:24px !important;
		line-height:1.4 !important;
		text-align:center !important;
		color:#343434 !important;
		margin:0 0 24px !important;
		padding:18px 0 0 !important;
	}
	html.kamfs-m #page-top-title::before,
	html.kamfs-m .pane-title::before {
		content:'';
		position:absolute;
		top:0;
		left:50%;
		width:64px;
		height:4px;
		margin-left:-32px;
		background:#1897c1;
	}
	html.kamfs-m .region-content p,
	html.kamfs-m .region-header-bottom p,
	html.kamfs-m .region-section-3 p {
		text-align:left !important;
		font-size:16px !important;
		line-height:1.6 !important;
		margin:0 0 16px !important;
	}
	html.kamfs-m img { max-width:100%; height:auto; }
	html.kamfs-m iframe { max-width:100%; }
	html.kamfs-m .flexslider .slides img { width:100% !important; height:42vh !important; object-fit:cover; }

	/* Footer */
	html.kamfs-m .footer-wrapper { padding:18px 0 !important; text-align:center; font-size:14px; line-height:1.6; }
}

@media (max-width: 479px) {
	html.kamfs-m #page-top-title,
	html.kamfs-m .pane-title { font-size:20px !important; }
	html.kamfs-m .flexslider .slides img { height:32vh !important; }
}

/* Back to top button (phones and tablets) */
.kamfs-m-top { display:none; }
@media (max-width: 979px) {
	html.kamfs-m .kamfs-m-top {
		display:flex;
		align-items:center;
		justify-content:center;
		position:fixed;
		right:16px;
		bottom:24px;
		width:46px;
		height:46px;
		border:0;
		border-radius:50%;
		background:#1897c1;
		box-shadow:0 2px 8px rgba(0,0,0,0.3);
		z-index:9999;
		padding:0;
		cursor:pointer;
		opacity:0;
		pointer-events:none;
		transition:opacity 0.3s ease;
	}
	html.kamfs-m .kamfs-m-top.show { opacity:1; pointer-events:auto; }
}
