/* ==========================================================================
   Site footer (oshdelmar.com layout)
   ========================================================================== */

.site-footer {
	--site-footer-bg: #386FA4;
	--site-footer-bottom-bg: #000000;
	--site-footer-color: #FFFFFF;

	font-family: 'Futura', sans-serif;
	font-size: 14px;
	line-height: 28px;
	color: var(--site-footer-color);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.site-footer ul,
.site-footer li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer li {
	font-family: 'Futura', sans-serif !important;
	font-size: 14px;
	line-height: 28px;
	color: var(--site-footer-color);
}

.site-footer a,
.site-footer a:hover,
.site-footer a:focus {
	color: var(--site-footer-color);
	text-decoration: none;
}

.site-footer img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Main row
   ========================================================================== */

.site-footer__main {
	padding: 4% 0;
	background-color: var(--site-footer-bg);
}

.site-footer__container {
	display: flex;
	width: calc(100% - 30px);
	max-width: 1310px;
	margin: 0 auto;
}

.site-footer__col {
	padding: 10px;
}

.site-footer__col--about {
	width: 25%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.site-footer__col--hours {
	width: 21.398%;
}

.site-footer__col--contacts {
	width: 24.4%;
}

.site-footer__col--social {
	width: 29.202%;
}

.site-footer__logo {
	width: 80px;
}

.site-footer__tagline {
	margin-top: 8px;
}

.site-footer__title {
	margin: 0 0 17px;
	padding: 0;
	font-family: 'Dailyfully', sans-serif !important;
	font-size: 28px;
	font-weight: 600;
	line-height: 34px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--site-footer-color);
}

.site-footer__hours strong {
	font-weight: 700;
}

/* Contacts */
.site-footer__contacts li + li {
	margin-top: 4.5px;
}

.site-footer__contacts li:not(:last-child) {
	padding-bottom: 4.5px;
}

.site-footer__contacts a {
	display: flex;
	align-items: center;
}

.site-footer__contact-icon {
	display: flex;
	justify-content: flex-start;
	flex-shrink: 0;
	width: 21.25px;
}

.site-footer__contact-icon svg {
	display: block;
	width: auto;
	height: 17px;
}

.site-footer__contact-text {
	padding-left: 5px;
}

/* Social icons */
.site-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 0 4px;
}

.site-footer__social {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 20px;
	height: 20px;
	border: 1px solid rgba(38, 38, 38, 0.1);
	border-radius: 50%;
	transition: opacity 0.3s;
}

.site-footer__social:hover {
	opacity: 0.8;
}

.site-footer__social svg {
	display: block;
	width: 14px;
	height: 14px;
}

/* Bottom row
   ========================================================================== */

.site-footer__bottom {
	padding: 21px 20px;
	background-color: var(--site-footer-bottom-bg);
}

.site-footer__copyright {
	font-size: 16px;
	line-height: 28px;
	text-align: center;
}

.site-footer__copyright p {
	margin: 0;
	font-family: 'Futura', sans-serif !important;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.site-footer__copyright a {
	font-size: 14px;
}

/* Responsive
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
	.site-footer__col--about {
		width: 27%;
	}

	.site-footer__col--hours {
		width: 18%;
	}

	.site-footer__col--contacts {
		width: 27%;
	}

	.site-footer__col--social {
		width: 28%;
	}
}

@media (max-width: 767px) {
	.site-footer {
		line-height: 26.5px;
	}

	.site-footer li {
		line-height: 26.5px;
	}

	.site-footer__main {
		padding: 8% 0;
	}

	.site-footer__container {
		flex-direction: column;
	}

	.site-footer__col {
		width: 100%;
		padding: 5px;
		text-align: center;
	}

	.site-footer__col + .site-footer__col {
		margin-top: 20px;
	}

	.site-footer__logo {
		width: 53px;
	}

	.site-footer__tagline {
		margin-top: 0;
	}

	.site-footer__title {
		margin-bottom: 10px;
		font-size: 22px;
		line-height: 22px;
		text-align: left;
	}

	.site-footer__contacts a {
		justify-content: center;
	}

	.site-footer__socials {
		justify-content: center;
	}

	.site-footer__bottom {
		padding: 14.5px 20px;
	}

	.site-footer__copyright {
		font-size: 15px;
		line-height: 21px;
	}
}
