section {
	position: relative;
	width: 100%;
	transition: 0.3s;
}

#indexCarousel {
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
}
#indexCarousel .carousel-item img {
	object-fit: cover;
	width: 100%;
}
#indexCarousel .carousel-caption {
	bottom: calc(45% - 1rem);
}

.img-fixed {
	width: 100%;
	height: calc(var(--vh, 1vh) * 50);
	background-image: url(https://pts5095.co.kr/public/img/company/branch01.jpg);
	background-repeat: no-repeat; /* 배경이미지X */
	background-size: cover; /* 요소를 비율에 맞게 커버 */
	background-position: center; /* 이미지를 요소의 정가운데로 처리 */
	background-attachment: fixed; /* 스크롤바 움직일때 이미지가 따라다님 */
}

h2.index {
	display: none !important;
}

#introduce {
	background-color: WhiteSmoke;
}
#introduce .title {
	padding-top: 6rem;
	text-align: center;
	color: var(--color-base);
	position: relative;
	text-shadow: 3px 5px #cae1f2;
}
#introduce .title:before {
	position: absolute;
	content: "";
	background: #cae1f2;
	width: 100%;
	bottom: -0.3em;
	height: 10px;
}
#introduce .text-box {
	background: white;
	box-shadow: 10px 10px #aaa;
	border-radius: 1em;
	text-align: center;
	color: #104064;
	padding: 2rem;
	font-size: 2rem;
	position: relative;
	word-break: keep-all;
}
#introduce i.deg {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}
#introduce .home-info {
	font-size: 1.25rem;
	color: #4d7089;
	margin: auto 0;
	word-break: keep-all;
}

#history {
	background: PowderBlue;
}

.main-timeline {
	position: relative;
}
.main-timeline:before,
.main-timeline:after {
	content: "";
	display: block;
	width: 100%;
	clear: both;
}
.main-timeline:before {
	content: "";
	width: 3px;
	height: 100%;
	background: lightsteelblue;
	position: absolute;
	top: 0;
	left: 50%;
}
.main-timeline .timeline {
	width: 50%;
	float: left;
	position: relative;
	z-index: 1;
}
.main-timeline .timeline:before,
.main-timeline .timeline:after {
	content: "";
	display: block;
	width: 100%;
	clear: both;
}
.main-timeline .timeline:first-child:before,
.main-timeline .timeline:last-child:before {
	content: "";
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid lightsteelblue;
	position: absolute;
	top: 0;
	right: -14px;
	z-index: 1;
}
.main-timeline .timeline:last-child:before {
	top: auto;
	bottom: 0;
}
.main-timeline .timeline:last-child:nth-child(even):before {
	right: 0;
	left: -12px;
	bottom: -2px;
}
.main-timeline .timeline-content {
	text-align: center;
	margin-top: 8px;
	position: relative;
	transition: all 0.3s ease 0s;
}
.main-timeline .timeline-content:before {
	content: "";
	width: 100%;
	height: 5px;
	background: rgba(211, 207, 205, 1);
	position: absolute;
	top: 88px;
	left: 0;
	z-index: -1;
}

.main-timeline .circle {
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: #fff;
	border: 8px solid rgba(211, 207, 205, 1);
	float: left;
	margin-right: 25px;
	position: relative;
}
.main-timeline .circle:before {
	content: "";
	width: 26px;
	height: 30px;
	background: rgba(211, 207, 205, 1);
	margin: auto;
	position: absolute;
	top: 0;
	right: -33px;
	bottom: 0;
	z-index: -1;
	box-shadow: inset 7px 0 9px -7px #444;
}
.main-timeline .circle span {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	line-height: 268px;
	font-size: 80px;
	color: #454344;
}
.main-timeline .circle span:before,
.main-timeline .circle span:after {
	content: "";
	width: 28px;
	height: 50px;
	background: PowderBlue;
	border-radius: 0 0 0 21px;
	margin: auto;
	position: absolute;
	top: -54px;
	right: -33px;
	bottom: 0;
	z-index: -1;
}
.main-timeline .circle span:after {
	border-radius: 21px 0 0 0;
	top: 0;
	bottom: -56px;
}
.main-timeline .circle .img {
	vertical-align: initial;
	border-radius: 50%;
	width: 100%;
}
.main-timeline .content {
	display: table;
	padding-right: 40px;
	position: relative;
}
.main-timeline .year {
	display: block;
	padding: 10px;
	margin: 10px 0 50px 0;
	background: CornflowerBlue;
	border-radius: 7px;
	font-size: 25px;
	color: #fff;
}
.main-timeline .headeing {
	font-size: 25px;
	font-weight: bold;
	color: CornflowerBlue;
	margin-top: 0;
}
.main-timeline .description {
	font-size: 1rem;
	color: dimgray;
	text-align: center;
}

.main-timeline .icon {
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid lightsteelblue;
	position: absolute;
	top: 78px;
	right: 0;
}
.main-timeline .icon:before {
	content: "";
	width: 15px;
	height: 25px;
	background: rgba(211, 207, 205, 1);
	margin: auto;
	position: absolute;
	top: -1px;
	left: -15px;
	bottom: 0;
	z-index: -1;
}
.main-timeline .icon span:before,
.main-timeline .icon span:after {
	content: "";
	width: 21px;
	height: 25px;
	background: PowderBlue;
	border-radius: 0 0 21px 0;
	margin: auto;
	position: absolute;
	top: -30px;
	left: -15px;
	bottom: 0;
	z-index: -1;
}
.main-timeline .icon span:after {
	border-radius: 0 21px 0 0;
	top: 0;
	left: -15px;
	bottom: -30px;
}

.main-timeline .timeline:nth-child(2n) .timeline-content,
.main-timeline .timeline:nth-child(2n) .circle {
	float: right;
}
.main-timeline .timeline:nth-child(2n) .circle {
	margin: 0 0 0 25px;
}
.main-timeline .timeline:nth-child(2n) .circle:before {
	right: auto;
	left: -33px;
	box-shadow: -7px 0 9px -7px #444 inset;
}
.main-timeline .timeline:nth-child(2n) .circle span:before,
.main-timeline .timeline:nth-child(2n) .circle span:after {
	right: auto;
	left: -33px;
	border-radius: 0 0 21px 0;
}
.main-timeline .timeline:nth-child(2n) .circle span:after {
	border-radius: 0 21px 0 0;
}
.main-timeline .timeline:nth-child(2n) .content {
	padding: 0 0 0 40px;
	margin-left: 2px;
}
.main-timeline .timeline:nth-child(2n) .icon {
	right: auto;
	left: -14px;
}
.main-timeline .timeline:nth-child(2n) .icon:before,
.main-timeline .timeline:nth-child(2n) .icon span:before,
.main-timeline .timeline:nth-child(2n) .icon span:after {
	left: auto;
	right: -15px;
}
.main-timeline .timeline:nth-child(2n) .icon span:before {
	border-radius: 0 0 0 21px;
}
.main-timeline .timeline:nth-child(2n) .icon span:after {
	border-radius: 21px 0 0 0;
}
.main-timeline .timeline:nth-child(2) {
	margin-top: 180px;
}
.main-timeline .timeline:nth-child(odd) {
	margin: -175px 0 0 0;
}
.main-timeline .timeline:nth-child(even) {
	margin-bottom: 180px;
}
.main-timeline .timeline:first-child,
.main-timeline .timeline:last-child:nth-child(even) {
	margin: 0;
}

@media only screen and (max-width: 991px) {
	.main-timeline:before {
		left: calc(100% - 14px);
	}
	.main-timeline .content {
		float: right;
	}
	.main-timeline .timeline {
		width: 100%;
		float: none;
		margin-bottom: 20px !important;
	}
	.main-timeline .timeline:first-child:before,
	.main-timeline .timeline:last-child:before {
		left: auto !important;
		right: 0;
	}
	.main-timeline .timeline:nth-child(2n) .circle {
		float: left;
		margin: 0 25px 0 0;
	}
	.main-timeline .timeline:nth-child(2n) .circle:before {
		right: 0;
		left: auto;
		box-shadow: 7px 0 9px -7px #444 inset;
	}
	.main-timeline .timeline:nth-child(2n) .circle span:before,
	.main-timeline .timeline:nth-child(2n) .circle span:after {
		right: -33px;
		left: auto;
		border-radius: 0 0 0 21px;
	}
	.main-timeline .timeline:nth-child(2n) .circle span:after {
		border-radius: 21px 0 0 0;
	}
	.main-timeline .timeline:nth-child(2n) .content {
		padding: 0 40px 0 0;
		margin-left: 0;
	}
	.main-timeline .timeline:nth-child(2n) .icon {
		right: 0;
		left: auto;
	}
	.main-timeline .timeline:nth-child(2n) .icon:before,
	.main-timeline .timeline:nth-child(2n) .icon span:before,
	.main-timeline .timeline:nth-child(2n) .icon span:after {
		left: -15px;
		right: auto;
	}
	.main-timeline .timeline:nth-child(2n) .icon span:before {
		border-radius: 0 0 21px 0;
	}
	.main-timeline .timeline:nth-child(2n) .icon span:after {
		border-radius: 0 21px 0 0;
	}
	.main-timeline .timeline:nth-child(2),
	.main-timeline .timeline:nth-child(odd),
	.main-timeline .timeline:nth-child(even) {
		margin: 0;
	}
}
@media only screen and (max-width: 480px) {
	.main-timeline:before {
		left: 0;
	}
	.main-timeline .timeline:first-child:before,
	.main-timeline .timeline:last-child:before {
		left: -12px !important;
		right: auto !important;
	}
	.main-timeline .circle,
	.main-timeline .timeline:nth-child(2n) .circle {
		width: 130px;
		height: 130px;
		float: none;
		margin: 0 auto;
	}
	.main-timeline .content,
	.main-timeline .timeline-content {
		width: 100%;
	}
	.main-timeline .timeline-content:before {
		width: 99.5%;
		top: 68px;
		left: 0.5%;
	}
	.main-timeline .circle span {
		line-height: 115px;
		font-size: 60px;
	}
	.main-timeline .circle:before,
	.main-timeline .circle span:before,
	.main-timeline .circle span:after,
	.main-timeline .icon {
		display: none;
	}
	.main-timeline .content,
	.main-timeline .timeline:nth-child(2n) .content {
		padding: 0 10px;
	}

	.main-timeline .year {
		margin-bottom: 15px;
	}
	.main-timeline .description {
		text-align: center;
	}
}

#organization {
	background: Lavender;
}

#business {
	background: #d7dfe2;
}
#business .business-detail {
	text-align: center;
	line-height: 1.7;
	padding: 2vh 22vw;
	color: #383e43;
	font-size: 1.2em;
}
.business-inner .col-md-4 {
	padding: 20px 15px;
}
.business-inner-group {
	min-height: 500px;
	padding-bottom: 40px;
	border-radius: 15px;
}
.business-inner-group img {
	width: 50%;
	margin: 40px 25% 20px;
}
.first-box {
	background: #f0fff054;
}
.second-box {
	background: #fffff063;
}
.third-box {
	background: #fff0f566;
}
.business-inner-group img {
	width: 60%;
	margin: 40px 20% 20px;
	border-radius: 15px;
}
.group-title {
	text-align: center;
	font-size: 2.5em;
	padding: 10px;
	color: #686868;
}
.group-inner {
	display: table;
	width: 100%;
	table-layout: fixed;
	min-height: 180px;
	font-size: 1.1em;
}
.group-table {
	display: table-cell;
	vertical-align: middle;
}
.group-detail {
	text-align: center;
	line-height: 2;
	color: #4e4e4e;
	font-size: 1.1em;
}

#customers {
	background: #e7eae7;
	padding-bottom: 10vh;
}
.customers-inner {
	margin: 7vh 22vw 0;
}
rect {
	fill: transparent;
}
.plotter-map {
	display: grid;
}
#customers .plottermap-text {
	font-size: 1.6em;
	color: #4c584c;
	word-break: keep-all;
	line-height: 1.7;
	text-align: center;
	margin-bottom: 3vw;
}
#customers .plottermap-text span {
	color: #1b7191;
}
div#donutchart {
	margin-top: 100px;
}
#plottermap {
	width: 50vw;
	margin: auto;
}

#map {
	padding-bottom: 5em;
	background: linear-gradient(0deg, #eeeff6, whitesmoke);
}
#daumRoughmapContainer1652160828703 .roughmap_maker_label .roughmap_lebel_text,
#daumRoughmapContainer1652161215183 .roughmap_maker_label .roughmap_lebel_text,
#daumRoughmapContainer1652161484314 .roughmap_maker_label .roughmap_lebel_text {
	font-size: 0px;
	text-align: center;
	padding: 6px;
}
#daumRoughmapContainer1652160828703 .roughmap_lebel_text:before,
#daumRoughmapContainer1652161215183 .roughmap_lebel_text:before,
#daumRoughmapContainer1652161484314 .roughmap_lebel_text:before {
	content: "플로터하우스";
	font-size: 13px;
	text-align: center;
	font-family: auto;
}
#daumRoughmapContainer1652160828703 span.roughmap_lebel_text:after {
	content: "서울사무실";
	font-size: 15px;
	display: block;
	text-align: center;
	color: royalblue;
}
#daumRoughmapContainer1652161215183 span.roughmap_lebel_text:after {
	content: "안양사무실";
	font-size: 15px;
	display: block;
	text-align: center;
	color: royalblue;
}
#daumRoughmapContainer1652161484314 span.roughmap_lebel_text:after {
	content: "대전사무실";
	font-size: 15px;
	display: block;
	text-align: center;
	color: royalblue;
}

@media (max-width: 998px) {
	.m-none {
		display: none;
	}
	section.vh-100 {
		height: 100% !important;
	}
	section div.title + div.row {
		height: 100%;
	}
	#introduce .home-info {
		padding: 1rem;
	}
}
