/**
 * Responsive Styles
 *
 * @package Onwords
 */

/* ==========================================================================
   Tablet (max-width: 1023px)
   ========================================================================== */

@media (max-width: 1023px) {
	.about,
	.business,
	.inquiry,
	.message,
	.news {
		padding: 60px 0;
	}

	.business__cards {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.card--business {
		width: 100%;
	}

	.message__items {
		flex-direction: column;
		gap: 32px;
	}

	.hero__content {
		align-items: center;
		justify-content: center;
		padding: 0 16px;
	}

	.message__block {
		width: 100%;
		max-width: 1280px;
		margin: 0 auto 80px;
	}

	.message__text-container {
		width: 100%;
		flex-shrink: 1;
	}
}

/* ==========================================================================
   Mobile (max-width: 767px)
   ========================================================================== */

@media (max-width: 767px) {
	.about,
	.business,
	.inquiry,
	.message,
	.news {
		padding: 48px 0;
	}

	.about__label,
	.business__label,
	.inquiry__label,
	.message__label,
	.news__label {
		font-size: 15px;
		font-weight: 600;
		line-height: 26.25px;
		margin-bottom: 8px;
	}

	.about__heading,
	.business__heading,
	.inquiry__heading,
	.message__heading,
	.news__heading {
		font-size: 32px;
		font-weight: 700;
		line-height: 51.2px;
		margin-bottom: 24px;
	}

	.about__container {
		flex-wrap: wrap;
		gap: 40px 0;
		padding: 56px 16px 0;
		margin: 0 auto;
		max-width: 100%;
		width: auto;
	}

	.about__text {
		width: 100%;
		max-width: 100%;
	}

	.about__image-container {
		width: 100%;
		max-width: 100%;
	}

	.about__background {
		width: 270px;
	}

	.about.is-visible .about__background {
		width: 270px;
	}

	.about__body {
		font-size: 14px;
		font-weight: 500;
		line-height: 25.2px;
	}

	.message__block {
		flex-direction: column;
		width: 100%;
		margin: 0 0 40px 0;
		gap: 24px;
	}

	.message__image {
		max-width: 370px;
	}

	.message__text-container {
		width: 100%;
	}

	.message__text {
		font-size: 14px;
		font-weight: 500;
		line-height: 24.5px;
		text-align: left;
	}

	.business__cards {
		gap: 20px;
	}

	.card--business {
		width: 100%;
		min-height: 280px;
	}

	.card__title {
		font-size: 18px;
		line-height: 27px;
	}

	.card__description {
		font-size: 14px;
		font-weight: 500;
		line-height: 25.2px;
	}

	.news__item {
		margin-bottom: 16px;
	}

	.news-item {
		flex-direction: column;
		gap: 12px;
		padding: 16px 0;
	}

	.news-item__meta {
		gap: 8px;
	}

	.news-item__date {
		font-size: 12px;
		line-height: 21px;
	}

	.news-item__category {
		font-size: 11px;
		line-height: 19.25px;
		padding: 3px 10px;
	}

	.news-item__title {
		font-size: 14px;
		font-weight: 500;
		line-height: 25.2px;
	}

	.btn-primary {
		display: block;
		text-align: center;
		padding: 10px 20px;
		font-size: 14px;
	}

	.inquiry__container {
		text-align: center;
	}
}

/* ==========================================================================
   Small Mobile (max-width: 540px)
   ========================================================================== */

@media (max-width: 540px) {
	.hero {
		height: 500px;
	}

	.hero__title {
		font-size: 28px;
		font-weight: 600;
		line-height: 33.6px;
		margin-bottom: 11px;
	}

	.hero__subtitle {
		font-size: 20px;
		font-weight: 500;
		line-height: 30px;
	}

	.about,
	.business,
	.inquiry,
	.message,
	.news {
		padding: 40px 0;
	}

	.about__heading,
	.business__heading,
	.inquiry__heading,
	.message__heading,
	.news__heading {
		font-size: 32px;
		font-weight: 700;
		line-height: 51.2px;
	}
}

/* ==========================================================================
   Extra Small Mobile (max-width: 320px)
   ========================================================================== */

@media (max-width: 320px) {
	.hero {
		height: 360px;
	}

	.hero__title {
		font-size: 24px;
		line-height: 33.6px;
	}

	.hero__subtitle {
		font-size: 12px;
		line-height: 19.2px;
	}

	.card--business {
		min-height: 240px;
		padding: 20px;
	}
}

/* ==========================================================================
   Inbound Page - Tablet (max-width: 1140px)
   ========================================================================== */

@media screen and (max-width: 1140px) {
	.inbound-hero__container {
		margin: 0 32px;
		max-width: calc(100% - 64px);
		gap: 32px;
	}
}

/* ==========================================================================
   Inbound Page - Mobile (max-width: 840px)
   ========================================================================== */

@media screen and (max-width: 840px) {
	.inbound-hero {
		padding: 20px 0 0;
	}

	.inbound-hero__container {
		flex-flow: column;
		gap: 50px;
	}

	.inbound-hero__content {
		place-content: center flex-start;
		align-items: center;
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}

	.inbound-hero__title {
		text-align: center;
	}

	.inbound-hero__description {
		text-align: center;
	}

	.inbound-hero__image {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}

	.inbound-strengths__nav {
		display: none;
	}

	.inbound-strengths__content {
		flex-direction: column;
	}

	.inbound-services__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.inbound-business-record__list {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ==========================================================================
   Inbound Page - Small Mobile (max-width: 540px)
   ========================================================================== */

@media screen and (max-width: 540px) {
	.inbound-hero__container {
		margin: 0 20px;
		max-width: calc(100% - 40px);
		gap: 40px;
	}

	.inbound-hero__content {
		gap: 24px;
	}

	.inbound-hero__title {
		font-size: 24px;
	}

	.inbound-hero__description {
		font-size: 14px;
	}

	.inbound-hero__image {
		border-radius: 6px;
	}

	.inbound-strengths__detail-layout {
		flex-direction: column;
	}

	.inbound-strengths__detail-image {
		height: 300px;
	}

	.inbound-strengths__detail-number {
		font-size: 36px;
	}

	.inbound-strengths__detail-title {
		font-size: 20px;
	}

	.inbound-services__list {
		grid-template-columns: 1fr;
	}

	.inbound-case-study__list {
		grid-template-columns: 1fr;
	}

	.inbound-business-record__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.inbound-webinar__list {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Inbound Page - Extra Small Mobile (max-width: 320px)
   ========================================================================== */

@media screen and (max-width: 320px) {
	.inbound-hero {
		padding: 0;
	}
}
