a.site-title {
	color: #222222;
}
.site-title span {
	display: block;
	padding: 0.5em 0.5em;
	font-size: clamp(11px, 3vw, 16px);
	border: 1px solid #999999;
}

.side-nav .biz-side-nav {
	display: none;
}

.main-content article h4 {
	position: relative;
	padding-left: 12px;
}
.main-content article h4:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 8px;
	height: 8px;
	margin-top: -3px;
	background-color: #0051b6;
    border-radius: 50%;
}

.side-nav ul li.current a {
	color: #0051b6;
	font-weight: bold;
}
.side-nav ul li.current a:after {
	position: absolute;
	top: 0;
	right: 0;
	width: 4px;
	height: 100%;
	background-color: #0051b6;
}
.side-nav ul li.current a:before {
	margin-top: -3px;
	border-width: 4px 7px;
	border-left-color: #0051b6;
}

.two-col-content {
	margin-bottom: 30px;
}
.two-col-content > div,
.two-col-content > figure {
	margin-bottom: 20px;
	text-align: center;
}
.two-col-content div > img {
	margin-bottom: 10px;
}

.three-col-content {
	margin-bottom: 30px;
}
.three-col-content > div,
.three-col-content > figure {
	margin-bottom: 20px;
	text-align: center;
}
.three-col-content div > img {
	margin-bottom: 10px;
}

.before-after-note {
	margin-top: -0.5em;
	text-align: right;
}
.before-after-note .btn {
	min-width: 220px;
	margin-top: 0.25em;
	padding: 0.75em 20px;
	line-height: 1;
}

.tech-links p {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
}
.tech-links p a {
	color: #222222;
}
.tech-links p a:hover {
	text-decoration: underline;
}
.tech-links ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 10px;
	max-width: 1040px;
	margin: 0 auto 40px;
	padding: 0 20px;
}
.tech-link-item a {
    display: block;
    text-align: center;
    text-decoration: none;
	line-height: 1.25;
}
.tech-link-item a img {
	width: 100%;
	aspect-ratio: 2/1;
	object-fit: cover;
	margin-bottom: 4px;
	border-radius: 4px;
	box-shadow: 0 4px 4px #0001;
}
.tech-link-item a:hover img {
    opacity: 0.8;
}
.tech-link-item a span {
	font-size: 14px;
	color: #222222;
}
.tech-link-item a:hover span {
	text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
	.site-title {
		margin-left: 0.75em;
	}
	.site-title span {
		padding: 0.75em 1.25em;
	}

	.side-nav .biz-side-nav {
        position: sticky;
        top: 10px;
		display: block;
    }

    .main-content article h4 {
		padding-left: 15px;
	}
	.main-content article h4:before {
		width: 10px;
		height: 10px;
		margin-top: -3px;
	}

	.two-col-content {
		display: flex;
		gap: 20px;
		justify-content: center;
	}
	.two-col-content > div,
	.two-col-content > figure {
		width: 50%;
		max-width: 320px;
		margin-bottom: 0;
		font-size: 14px;
	}

	.three-col-content {
		font-size: 0;
		text-align: center;
	}
	.three-col-content > div,
	.three-col-content > figure {
		display: inline-block;
        vertical-align: top;
		width: 206px;
		margin-bottom: 0;
		margin-left: 21px;
		font-size: 14px;
	}
	.three-col-content > div:nth-child(3n + 1),
	.three-col-content > figure:nth-child(3n + 1) {
		margin-left: 0;
	}

	.tech-links ul {
		grid-template-columns: repeat(5, 1fr);
	}
}

/* Auto Before/After animation */
.before-after-area-3 {
	position: relative;
	max-width: 660px;
	margin: 20px auto;
	padding-bottom: 50px;
}
.before-after-area-3 input {
	display: none;
}
.before-after-area-3 label {
	position: absolute;
	bottom: 0;
	display: block;
	width: 119px;
	padding: 12px 0;
	text-align: center;
	font-size: 14px;
	line-height: 1;
	border-style: solid;
	color: #808080;
	background-color: #f0f0f0;
	border-color: #cccccc;
	cursor: pointer;
	transition: all 0.1s linear;
}
.before-after-area-3 input:checked + label {
	font-weight: bold;
	color: #ffffff;
	background-color: #4585e5;
	border-color: #597db3;
}
.before-after-area-3 .label-before {
	right: 50%;
	border-width: 1px 0 1px 1px;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}
.before-after-area-3 .label-after {
	left: 50%;
	border-width: 1px 1px 1px 0;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}
.before-after-area-3 .img-after {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.1s linear;
}
.before-after-area-3 input:checked + .img-after,
.before-after-area-3 input:checked + label + .img-after {
	opacity: 1;
}



/* Twenty-Twenty */
.tt-container {
    position: relative;
	max-width: 660px;
	margin: 0 auto;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.tt-box-before:before,
.tt-box-after:before {
    content: attr(data-label);
    position: absolute;
    top: 12px;
    width: 46%;
    color: #ffffff;
    text-shadow: 0 1px 2px #1a1a1a;
    font-size: 11px;
    font-weight: bold;
}
.tt-box-before:before {
    left: 2.5%;
    text-align: left;
}
.tt-box-after:before {
    right: 2.5%;
    text-align: right;
}

.tt-forward.tt-box-before:before { z-index: 25; }
.tt-forward.tt-box-after:before { z-index: 25; }
.tt-forward.tt-box-before .twentytwenty-before { z-index: 20; }
.tt-forward.tt-box-after .twentytwenty-after { z-index: 20; }

.tt-backword.tt-box-before:before { z-index: 15; }
.tt-backword.tt-box-after:before { z-index: 15; }
.tt-backword.tt-box-before .twentytwenty-before { z-index: 10; }
.tt-backword.tt-box-after .twentytwenty-after { z-index: 10; }

.tt-box-before {
    display: none;
}
.twentytwenty-wrapper .tt-box-before {
    display: block;
}

@media print, screen and (min-width: 768px) {
    .tt-box-before:before,
    .tt-box-after:before {
        top: 16px;
        text-shadow: 0 2px 4px #1a1a1a;
        font-size: 16px;
    }
}
