.text-image {
	h2 {
		margin-bottom: 56px;
		text-align: center;
	}

	.grid_wrapper {
		display: grid;
		grid-template-columns: 1fr 41%;
		grid-gap: 9.7%;
		align-items: center;
	}

	&.wide-image {
		.grid_wrapper {
			grid-template-columns: 1fr 50%;
		}

		.img_box {
			padding-top: 52%;
		}
	}

	&.image-left {
		.grid_wrapper {
			grid-template-columns: 49% 1fr;
		}

		.img_box {
			order: -1;
		}
	}

	.img_box {
		position: relative;
		padding-top: 70.5%;
		overflow: hidden;
		border-radius: 16px;

		img {
			object-fit: cover;
			display: block;
		}
	}

	&.img-contain {
		.img_box img {
			object-fit: contain;
		}
	}

	.content_box {
		margin-bottom: 24px;

		&:last-child {
			margin-bottom: 0;
		}
		
		h2 {
			text-align: left;
			margin-bottom: 24px;
		}

		p:not(:last-child) {
			margin-bottom: 24px;
		}

		ul {
			margin: 24px 0;

			li {
				position: relative;
				padding-left: 24px;

				&:before {
					content: '';
					position: absolute;
					top: 13px;
					left: 12px;
					transform: translate(-50%, -50%);
					width: 3px;
					height: 3px;
					background-color: var(--text-color);
				}
			}
		}
	}

	@media(max-width: 1199px) {
		h2 {
			text-align: left;
			margin-bottom: 40px;
		}

		.grid_wrapper {
			grid-template-columns: 48% 1fr;
			grid-gap: 24px;
		}

		.img_box {
			padding-top: 100%;
			order: -1;
		}

		.content_box {
			h2 {
				margin-bottom: 32px;
			}
		}

		&.wide-tablet {
			.grid_wrapper {
				grid-template-columns: 100%;
				grid-gap: 32px;
			}

			.img_box {
				order: 1;
				padding-top: 32.6%;
			}
		}

		&.image-left {
			.content_box {
				h2 {
					margin-bottom: 24px;
				}
			}

			.img_box {
				order: -1;
			}
		}
	}

	@media(max-width: 767px) {
		.grid_wrapper {
			grid-template-columns: 100% !important;
		}

		.img_box {
			padding-top: 0 !important;

			img {
				position: static;
			}
		}
	}
}