#inner-page-wrapper {
	margin-bottom: 0;
}

#inner-page-wrapper>.container {
	width: 100%;
	padding: 0;
}



.ip-banner::before {
	opacity: 0.6;
}

.custom-container {
	width: 95%;
	max-width: 1130px;
	margin: 0 auto;
	position: relative;
}

.section-text {
	position: relative;
}

.section-text h2 {
	font-size: 20px;
	color: var(--primary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 25px;
}

.section-text p {
	font-size: var(--font-size-default);
	font-weight: 300;
	color: var(--font-color-default);
	line-height: 1.7;
	letter-spacing: 0.04em;
	margin-bottom: 25px;
}

.section-text ul {
	font-size: var(--font-size-default);
	font-weight: 300;
	color: var(--font-color-default);
	line-height: 1.7;
	letter-spacing: 0.04em;
	margin-bottom: 25px;
	margin-left: 30px;
	list-style: disc;
}

.section-text ul li::marker {
	color: var(--primary);
}

.section-text ul a {
	color: var(--primary);
}

.section-text p+.gsite-button {
	margin-top: 20px;
}

.section-text .gsite-button + h2  {
	margin-top: 40px;
}

.ip-about .gsite-button,
.ip-about a.gsite-button {
	width: auto;
	padding: 0 25px 0 55px;
	text-align: left;
	text-wrap: balance;
}

.ip-about .gsite-button::before,
.ip-about a.gsite-button::before {
	height: 54px;
	top: 50%;
	transform: translateY(-50%);
}

.ip-about {
	position: relative;
	padding: 0 0 90px;
	font-size: 0;
}

.ip-about .gsite-bg::after {
	content: '';
	pointer-events: none;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, #fff, rgb(255 255 255 / 0%));
	position: absolute;
	top: 0;
}

.ip-about .gsite-bg.alt::after {	
	background: linear-gradient(to top, #f0ebe1, rgb(255 255 255 / 0%));
}

.ip-about .gsite-bg.alt-2::after {	
	background: linear-gradient(180deg,rgba(240, 235, 225, 0.7) 0%, rgba(240, 235, 225, 1) 50%);
	opacity: 0.92
}

.ip-about .gsite-title {
	padding: 60px 0 20px;
}

.ip-about .gsite-title span {
	display: block;
}

.about-cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.about-cards + .about-row {
	margin-top: 60px;
	margin-bottom: 40px;
}

.about-card {
	border: 1px var(--primary) solid;
	padding: 45px 25px 20px;
	padding: 2.8125vw 1.5625vw 1.25vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 10px auto;
}

.about-card a.gsite-button {
	letter-spacing: normal;
	padding: 0 15px 0 55px;
	width: auto;	
}

.about-card a.gsite-button.small span {
	max-width: 180px;
}

@media(min-width: 992px) {
	.about-card {
		width: calc(33.33% - 25px);
		margin: 12.5px;
	}
	.about-card.card-center {	
		margin-left: auto;
		margin-right: auto;
	}
}

.about-card h3 {
	font-size: 17px;
	color: var(--primary);		
	margin-bottom: 25px;
	text-align: center;
	text-wrap: balance;
	min-height: 34px;
}

.about-card p {
	font-size: var(--font-size-default);
	font-weight: 300;
	color: var(--font-color-default);
	line-height: 1.7;
	margin-bottom: 25px;
	text-align: center;
}

/* main */
.ip-about-main {
	position: relative;
	padding: 28px 0 108px;
	padding: 1.7500000000000002vw 0 6.75vw;
}

.ip-about-main p#breadcrumbs {
	position: relative;
	font-size: 15px;
	color: var(--font-color-default);
	line-height: 1.2;
	letter-spacing: 0.04em;
	max-width: 1130px;
	padding: 0;
	margin: 0 auto 60px;
}

.ip-about-main p#breadcrumbs span.breadcrumb_last {
	font-weight: 500;
	color: rgba(var(--tertiary-color), 1);
}

.ip-about-main p#breadcrumbs a {
	transition: all var(--default-transition);
}

.ip-about-main p#breadcrumbs a:hover {
	color: rgba(var(--tertiary-color), 1);
}

.about-main-img {
	max-width: 500px;
	float: left;
	margin: 0 60px 100px 0;
	position: relative;	
}

.about-main-img::after {
	position: absolute;
	content: '';
	pointer-events: none;
	width: 100%;
	height: 100%;
	background: #f0ebe1;
	bottom: -40px;
	left: 35px;
	border-bottom-right-radius: 50px;
}

.about-main-img .canvas-img {
	z-index: 1;
}

/* pattern-1 */
.about-pattern-1 {
	position: relative;
	padding: 75px 0;
	padding: 4.6875vw 0;
}

.about-pattern-1-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	margin-bottom: 70px;
}

.about-pattern-1-top::before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 80.3%;
  top: 50%;
  right: -0;
  transform: translateY(-50%);
  border-top-right-radius: 250px;
  border-bottom-right-radius: 250px;
  background: #f0ebe1;
}

.about-pattern-1-text {
	width: 550px;
}

.about-pattern-1-img.col-2 {
	width: 625px;	
	display: flex;
}

.about-pattern-1-img.col-2 .canvas-img {
	margin: 5px;
}
.about-pattern-1-img.col-2 .canvas-img canvas {
	min-height: 398px;
}
.about-pattern-1-img.col-2 .canvas-img:first-child {
	top: -90px;
}
.about-pattern-1-img.col-2 .canvas-img:last-child {
	top: -60px;
}

/* pattern 2 */
.about-pattern-2 {
	position: relative;
	padding: 75px 0;
	padding: 4.6875vw 0;
}

.about-pattern-2-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	margin-bottom: 70px;
	margin-bottom: 4.375vw;
}

.about-pattern-2-top::before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 80.3%;
  top: 50%;
  left: 35px;
  transform: translateY(-50%);
  border-top-left-radius: 250px;
  border-bottom-left-radius: 250px;
  background: #f0ebe1;
}

.about-pattern-2-text {
	width: 550px;	
}

/* pattern-3 */
.about-pattern-3 {
	position: relative;
	padding: 130px 0;
	padding: 8.125vw 0;
}

.about-pattern-3 .gsite-bg canvas {
	filter: grayscale(1);
}

.no-accent::before {
	display: none;
}

/* in house */
.ip-about-in-house {
	padding: 190px 0 0;
	padding: 11.875vw 0 0;
}

.ip-about-in-house .about-pattern-1-text {	
	width: 450px;
}

.ip-about-in-house .about-pattern-1-top::before {
	right: -150px;
	right: -9.375vw;
	height: 100%;
}

/* in house */
.ip-about-reviews {
	padding: 0;
}

/* what we do */
:is(.ip-about-what, .ip-about-why) .canvas-img {
	box-shadow: 0px 0px 16px 4px rgba(0, 0, 0, 0.35);	
}

/* why we do it */
@media(min-width: 992px) {
	.ip-about-why .section-text {
		padding-right: 85px;
	}	
}



@media(min-width: 992px) {
	.about-pattern-1-top::before {
		right: -80px
	}	
	.about-pattern-2-top::before {
		left: -80px
	}
}

@media(max-width: 991px) {
	.custom-container, .ip-about-main p#breadcrumbs {
		padding: 0 20px;
	}
	.about-pattern-1-top::before, .about-pattern-2-top::before {
		border-radius: 0 !important;		
		left: unset;
		right: unset;
		height: 100%;
	}
	.about-main-img {
		float: none;
		margin: 0 auto;
	}
	.about-pattern-1-top, .about-pattern-2-top {
		flex-wrap: wrap;
		justify-content: center;
	}
	.about-pattern-2-top::before {
		height: 100%;
	}
	.about-pattern-1-text, .ip-about-in-house .about-pattern-1-text {
		width: 100%;
		text-align: center;
	}
	.section-text {
		text-align: center;
	}

	.about-pattern-1-img.col-2 {
		width: 100%;
	}
	.about-pattern-1-img.col-2 .canvas-img:first-child,.about-pattern-1-img.col-2 .canvas-img:last-child {
		top: 0;
	}
	
	.about-row .col-md-6 {
		margin-bottom: 50px;
	}

	.about-card a.gsite-button {
		max-width: 280px;
		font-size: 12px;
	}

	.about-pattern-2-top .section-text {
		padding-left: 0;
	}

	.ip-about-in-house {
		padding: 20px 0;
	}
}