/* =========================================================
	CATERASSIST
	FUNCTIES PAGINA RESPONSIVE
========================================================= */


/* =========================================================
	LARGE DESKTOP
========================================================= */

@media (min-width: 2000px) {

	.features-page__wide-container {
		max-width: 1720px;
	}

}


/* =========================================================
	UP TO EXTRA LARGE
========================================================= */

@media (max-width: 1599.98px) {

	.features-page__wide-container {
		max-width: 1440px;
	}

	.features-solutions__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.features-solution-card__body {
		padding: 1.45rem;
	}

	.features-solution-card__body h3 {
		font-size: 1.55rem;
	}

	.features-workspace__content {
		padding: 3.25rem 2.5rem;
	}

	.features-work-area {
		padding: 2.1rem;
	}

}


/* =========================================================
	UP TO LARGE DESKTOP
========================================================= */

@media (max-width: 1399.98px) {

	.features-page--solutions {
		padding-bottom: 7rem;
		padding-top: 7rem;
	}

	.features-solutions__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.features-solution-card__media {
		aspect-ratio: 1.2 / 1;
	}

	.features-workflow__timeline {
		gap: .65rem;
	}

	.features-workflow__step p {
		font-size: .93rem;
	}

	.features-workspace__visual {
		min-height: 43rem;
	}

	.features-data-flow {
		grid-template-columns: minmax(13rem, .85fr) 3rem minmax(0, 1.4fr);
	}

	.features-integrations__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* =========================================================
	UP TO DESKTOP / TABLET LANDSCAPE
========================================================= */

@media (max-width: 1199.98px) {

	.features-page--connected,
	.features-page--expertise,
	.features-page--faq,
	.features-page--integrations,
	.features-page--solutions,
	.features-page--work-areas,
	.features-page--workflow,
	.features-page--workspace {
		padding-bottom: 6.5rem;
		padding-top: 6.5rem;
	}

	.features-page-section__header {
		margin-bottom: 2.75rem;
	}

	.features-page-section__lead {
		font-size: 1.18rem;
	}

	.features-page-section__title {
		font-size: clamp(2.65rem, 5vw, 4rem);
	}

	.features-page--hero {
		padding-bottom: 6.5rem;
		padding-top: 5.75rem;
	}

	.features-page-hero__title {
		font-size: clamp(3.35rem, 7vw, 5.4rem);
	}

	.features-workflow__timeline {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 3rem;
	}

	.features-workflow__timeline::before {
		display: none;
	}

	.features-workflow__step {
		background: var(--ca-white);
		border: 1px solid var(--ca-border);
		border-radius: 1.5rem;
		padding: 1.5rem;
		text-align: left;
	}

	.features-workflow__number {
		position: absolute;
		right: 1.25rem;
		top: 1.25rem;
	}

	.features-workflow__node {
		border: 0;
		box-shadow: none;
		height: 3.5rem;
		width: 3.5rem;
	}

	.features-workflow__step h3 {
		margin-top: 1.25rem;
	}

	.features-workflow__step p {
		margin-left: 0;
		max-width: none;
	}

	.features-workspace__frame {
		border-radius: 2rem;
	}

	.features-workspace__content {
		padding: 3rem;
	}

	.features-workspace__visual {
		min-height: 38rem;
	}

	.features-work-areas__grid {
		grid-template-columns: 1fr;
	}

	.features-work-area {
		min-height: 0;
	}

	.features-work-area h3 {
		max-width: 42rem;
	}

	.features-data-flow {
		grid-template-columns: 1fr;
	}

	.features-data-flow__arrow {
		transform: rotate(90deg);
	}

	.features-data-flow__source {
		max-width: 26rem;
	}

}


/* =========================================================
	UP TO TABLET
========================================================= */

@media (max-width: 991.98px) {

	.features-page--connected,
	.features-page--expertise,
	.features-page--faq,
	.features-page--integrations,
	.features-page--solutions,
	.features-page--work-areas,
	.features-page--workflow,
	.features-page--workspace {
		padding-bottom: 5.5rem;
		padding-top: 5.5rem;
	}

	.features-page__wide-container {
		padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5);
		padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5);
	}

	.features-page-section__header {
		margin-bottom: 2.25rem;
		max-width: 52rem;
	}

	.features-page-section__lead {
		font-size: 1.12rem;
	}

	.features-page-section__title {
		font-size: clamp(2.5rem, 7vw, 3.75rem);
	}

	.features-page--hero {
		padding-bottom: 5.75rem;
		padding-top: 4.75rem;
	}

	.features-page-hero__lead {
		font-size: 1.15rem;
		max-width: 50rem;
	}

	.features-page-hero__subtitle {
		font-size: clamp(1.45rem, 3.5vw, 2.15rem);
		max-width: 50rem;
	}

	.features-page-hero__title {
		font-size: clamp(3.1rem, 8vw, 4.75rem);
	}

	.features-solutions__grid {
		gap: 1rem;
	}

	.features-solution-card__media {
		aspect-ratio: 1.1 / 1;
	}

	.features-expertise__content {
		max-width: 48rem;
	}

	.features-expertise__principles {
		margin-top: .5rem;
	}

	.features-workflow__timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.features-workspace__content {
		padding: 2.75rem;
	}

	.features-workspace__visual {
		min-height: 36rem;
	}

	.features-work-area {
		padding: 2rem;
	}

	.features-work-area__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.features-connected__content {
		max-width: 48rem;
	}

	.features-data-flow {
		margin-top: 1rem;
	}

	.features-data-flow__source {
		max-width: none;
	}

	.features-integrations__content {
		max-width: 48rem;
	}

}


/* =========================================================
	UP TO MOBILE LANDSCAPE
========================================================= */

@media (max-width: 767.98px) {

	.features-page--connected,
	.features-page--expertise,
	.features-page--faq,
	.features-page--integrations,
	.features-page--solutions,
	.features-page--work-areas,
	.features-page--workflow,
	.features-page--workspace {
		padding-bottom: 4.5rem;
		padding-top: 4.5rem;
	}

	.features-page-section__header {
		margin-bottom: 1.9rem;
	}

	.features-page-section__tag {
		font-size: 1.15rem;
	}

	.features-page-section__lead {
		font-size: 1.05rem;
	}

	.features-page-section__title {
		font-size: clamp(2.3rem, 9vw, 3.3rem);
	}

	.features-page--hero {
		padding-bottom: 4.75rem;
		padding-top: 4rem;
	}

	.features-page-hero__actions {
		align-items: stretch;
		flex-direction: column;
		margin-top: 1.75rem;
	}

	.features-page-hero__actions .btn {
		width: 100%;
	}

	.features-page-hero__eyebrow {
		font-size: 1.1rem;
	}

	.features-page-hero__lead {
		font-size: 1.05rem;
		line-height: 1.62;
	}

	.features-page-hero__note {
		font-size: .9rem;
	}

	.features-page-hero__subtitle {
		font-size: 1.45rem;
		line-height: 1.18;
		margin-top: 1.5rem;
	}

	.features-page-hero__title {
		font-size: clamp(2.8rem, 11vw, 4rem);
	}

	.features-solutions__grid {
		grid-template-columns: 1fr;
	}

	.features-solution-card__media {
		aspect-ratio: 1.2 / 1;
	}

	.features-solution-card__body {
		padding: 1.4rem;
	}

	.features-solution-card__body h3 {
		font-size: 1.65rem;
	}

	.features-expertise__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.features-expertise__actions .btn {
		width: 100%;
	}

	.features-expertise__principle {
		grid-template-columns: 2.85rem minmax(0, 1fr);
		padding: 1.35rem 0;
	}

	.features-expertise__icon {
		border-radius: .85rem;
		height: 2.85rem;
		width: 2.85rem;
	}

	.features-expertise__principle h3 {
		font-size: 1.3rem;
	}

	.features-expertise__principle p {
		font-size: 1rem;
	}

	.features-workflow__timeline {
		grid-template-columns: 1fr;
		row-gap: 1rem;
	}

	.features-workflow__step {
		padding: 1.35rem;
	}

	.features-workspace__frame {
		border-radius: 1.5rem;
	}

	.features-workspace__content {
		padding: 2rem 1.5rem;
	}

	.features-workspace__tag {
		font-size: 1.15rem;
	}

	.features-workspace__title {
		font-size: clamp(2.4rem, 9vw, 3.25rem);
	}

	.features-workspace__lead {
		font-size: 1.05rem;
	}

	.features-workspace__actions .btn {
		width: 100%;
	}

	.features-workspace__visual {
		min-height: 30rem;
	}

	.features-workspace__browserbar small {
		display: none;
	}

	.features-work-area {
		border-radius: 1.5rem;
		padding: 1.6rem;
	}

	.features-work-area h3 {
		font-size: clamp(2.25rem, 9vw, 3rem);
	}

	.features-work-area__lead {
		font-size: 1.05rem;
	}

	.features-work-area__list {
		grid-template-columns: 1fr;
	}

	.features-work-area__links {
		align-items: flex-start;
		flex-direction: column;
		gap: .85rem;
	}

	.features-connected__tag {
		font-size: 1.15rem;
	}

	.features-connected__title {
		font-size: clamp(2.4rem, 9vw, 3.25rem);
	}

	.features-connected__lead {
		font-size: 1.08rem;
	}

	.features-page--connected .btn {
		width: 100%;
	}

	.features-data-flow__nodes {
		grid-template-columns: 1fr;
	}

	.features-integrations__content .btn {
		width: 100%;
	}

	.features-integrations__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.features-integration__item {
		min-height: 8rem;
	}

	.features-page--faq .faq__wrapper {
		margin-top: 2rem;
	}

	.features-cta__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.features-cta__actions .btn {
		width: 100%;
	}

}


/* =========================================================
	UP TO MOBILE
========================================================= */

@media (max-width: 575.98px) {

	.features-page--hero {
		padding-bottom: 4.25rem;
		padding-top: 3.5rem;
	}

	.features-page-hero__title {
		font-size: clamp(2.65rem, 12vw, 3.55rem);
	}

	.features-solution-card {
		border-radius: 1.4rem;
	}

	.features-solution-card__media {
		aspect-ratio: 1 / 1;
	}

	.features-solution-card__body {
		padding: 1.3rem;
	}

	.features-workspace__visual {
		min-height: 24rem;
	}

	.features-workspace__image img {
		object-position: 18% top;
	}

	.features-work-area__topline {
		align-items: flex-start;
	}

	.features-work-area__topline p {
		padding-top: .35rem;
	}

	.features-data-flow__source {
		padding: 1.5rem;
	}

	.features-data-flow__source h3 {
		font-size: 2rem;
	}

	.features-data-flow__node {
		min-height: 4.7rem;
	}

	.features-integrations__grid {
		grid-template-columns: 1fr;
	}

	.features-integration__item {
		align-items: center;
		flex-direction: row;
		justify-content: flex-start;
		min-height: 0;
		padding: 1rem;
		text-align: left;
	}

	.features-integration__item i {
		flex: 0 0 2.75rem;
		height: 2.75rem;
		width: 2.75rem;
	}

}


/* =========================================================
	SMALL MOBILE
========================================================= */

@media (max-width: 419.98px) {

	.features-page-hero__title {
		font-size: clamp(2.45rem, 12vw, 3.15rem);
	}

	.features-solution-card__body h3 {
		font-size: 1.5rem;
	}

	.features-workspace__content {
		padding: 1.65rem 1.25rem;
	}

	.features-work-area {
		padding: 1.35rem;
	}

	.features-work-area__icon {
		height: 2.85rem;
		width: 2.85rem;
	}

}


/* =========================================================
	REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

	.features-integration__item,
	.features-solution-card,
	.features-solution-card__link i,
	.features-solution-card__media img,
	.features-work-area__links a i {
		transition: none;
	}

}


/* END CSS */
