@charset "utf-8";
/*
---------------------------------------------------------
combine/combine-bac04eaa.css
---------------------------------------------------------
00. /var/www/archibm/public/css/homepage.css
*/

/*
---------------------------------------------------------
00. /var/www/archibm/public/css/homepage.css
---------------------------------------------------------
*/


.section-header .summary										{ color: var(--theme-text-color); font-size: 1.15em; font-weight: 500; letter-spacing:.04em; line-height: 1.4em; margin-top: 15px;  }
 
#app-homepage .main-content										{ padding: 0;}
#app-homepage #container::before								{ display: none;}
#app-homepage #header-wrapper 								 	{ height: 0;}

#app-homepage #hero-section 									{ background-image: url(../image/homepage/cover.jpg); background-image: image-set( url(../image/homepage/cover.webp) type('image/webp'), url(../image/homepage/cover.jpg) type('image/jpeg')); background-position: 50% bottom; background-repeat:no-repeat; background-size: cover; }
#app-homepage #hero-section .inner 								{ height: 100vh; }
#app-homepage #hero-slogan										{ margin:auto 0; max-width: 460px; transform: translateY(6%);}
#app-homepage #hero-slogan h2 									{ line-height: 1.4em; margin-bottom: 20px;}
#app-homepage #hero-slogan p 									{ font-size: 1.1em; line-height: 1.5em; margin-bottom: 30px;}
#app-homepage #hero-slogan .button 								{ margin-right: 8px; background-color: #fff; width: 180px; }
#app-homepage #hero-slogan .button:hover 						{ background-color: var(--theme-button-color); }

#app-homepage #outline-section 									{ background: var(--gradient-bg-color); padding: 25vh 0 20vh 0;  }
#app-homepage #outline-section #outline-text svg 				{ width: 86%; max-width: 800px; height: auto; margin:auto 0 0 0; }
#app-homepage #outline-section #outline-text path,
#app-homepage #outline-section #outline-text polyline 				{ stroke: #ffffff; stroke-dasharray: 1200; stroke-dashoffset: 1200;  }
#app-homepage #outline-section #outline-text.is-inview path,
#app-homepage #outline-section #outline-text.is-inview polyline 	{ animation: dash 3s  .2s linear forwards ;}
#app-homepage #outline-section #outline-text h2 				{ margin: 40px 0 20px 0; font-size: 4em; letter-spacing: .05em;}
#app-homepage #outline-section #outline-text p 					{ margin-bottom: auto; color: var(--theme-title-color); font-size: 1.4em; font-weight: 600; letter-spacing: .05em;}

#app-homepage #features-section 								{ position: relative; }
#app-homepage #features-slider 									{ width: 50%; height: 100vh; max-height: 680px; margin-left: 5%; position: relative; }
#app-homepage #features-slider .swiper-wrapper					{ width: 100%;}
#app-homepage #features-slider .swiper-slide 					{ width: 100%; height: 100vh; max-height: 680px; position: relative; opacity: 0 !important; transition: opacity .5s; display: flex; flex-direction: column; justify-content: center; cursor: pointer; }
#app-homepage #features-slider .swiper-slide-active				{ opacity: 1 !important;}
#app-homepage #features-slider .images 							{ width: 100% !important;}
#app-homepage #features-slider .images .holder 					{ height: 0; padding-top: 51.3%; position: relative;}
#app-homepage #features-slider .images img 						{ position: absolute; left: 0; top: 0; width: 100%; display: block; transition: all .8s;}
#app-homepage #features-slider.is-inview .swiper-slide-active img 		{ transform: translateY(0) !important;}
#app-homepage #features-slider .swiper-pagination 				{ left: auto; right: -60px;}
#app-homepage #features-slider .swiper-pagination-bullet		{ width: 4px; height: 4px; margin: 8px auto; transition: all .2s;}
#app-homepage #features-slider .swiper-pagination-bullet-active	{ width: 8px; height: 8px; background-color: var(--theme-button-color);}
#app-homepage #features-slider .swiper-button-next,
#app-homepage #features-slider .swiper-button-prev 				{ width: 36px; height: 36px; line-height: 36px; text-align: center; background-color: #fff; border: 1px solid var(--theme-button-color); color: var(--theme-button-color); border-radius: 50%;}
#app-homepage #features-slider .swiper-button-next				{ right: -15px;}
#app-homepage #features-slider .swiper-button-prev				{ left: -15px;}
#app-homepage #features-slider .swiper-button-next::after,
#app-homepage #features-slider .swiper-button-prev::after		{ display: none;}
#app-homepage #features-slider .swiper-button-next:hover,
#app-homepage #features-slider .swiper-button-prev:hover 		{ background-color: var(--theme-button-color); color: #fff; }
#app-homepage #features-text 									{ width:40%; }
#app-homepage #features-text .item 								{ width: 100%; height: auto !important; margin: 35px 0; color: var(--light-title-color); cursor: pointer; transition: all .4s; }
#app-homepage #features-text .item h3 							{ color: var(--light-title-color); letter-spacing: .08em; font-weight: 700; margin-bottom: 8px; transform-origin: left bottom;}
#app-homepage #features-text .item p 							{ font-size: .8em; line-height: 1.4em; transition: all .4s; transform-origin: left top;}
#app-homepage #features-text .item:hover h3 					{ transform: scale(1.2, 1.2); }
#app-homepage #features-text .item:hover p 						{ transform: scale(1.2, 1.2); }
#app-homepage #features-text .item.active 						{ margin-top: 50px; color: var(--default-title-color);}
#app-homepage #features-text .item.active h3					{ transform: scale(2.3, 2.3) translateY(-1px); color: var(--default-title-color);  }
#app-homepage #features-text .item.active p 					{ transform: scale(1.4, 1.4); }
#app-homepage #features-text .item,
#app-homepage #features-text .item h3,
#app-homepage #features-text .item p 							{ transition: all .4s;}

#app-homepage #volumn-tool-section 								{ padding: 0 0 80px 0;}
#app-homepage #volumn-tool-section .section-header				{ margin-bottom: 70px;}
#app-homepage #volumn-tool-section #volumn-tool-video 			{ padding: 10px; background-color: #fff;}
#app-homepage #volumn-tool-section #volumn-tool-video img 		{ opacity: .7; transition: all .2s;}
#app-homepage #volumn-tool-section #volumn-tool-video:hover img { opacity: 1;}

#app-homepage #comparison-section .section-header				{ margin-bottom: 70px;}
#app-homepage #comparison-section #video-comparison 			{ position: relative; padding: 10px 10px 4px 10px; overflow: hidden;}
#app-homepage #comparison-section #video-comparison::after		{ z-index: 9; content: ''; width: 100%; height: 6px; position: absolute; left: 0; bottom:4px; background-color: #fff;}
#app-homepage #comparison-section #video-note 					{ margin-top: 10px; line-height: 1.4em;}

#app-homepage #fact-section 							{ padding: 0 0 80px 0;}
#app-homepage #fact-section .facts 						{ margin-top: 70px;}
#app-homepage #fact-section .facts	.col-item			{ width: 25%; position: relative; }
#app-homepage #fact-section .facts	.col-item::after	{ content: ''; position: absolute; right: 0; top: 10px; bottom:10px; border-right: 1px solid var(--theme-border-color); }
#app-homepage #fact-section .facts	.col-item:last-child::after { display: none; }
#app-homepage #fact-section .fact-set					{ padding: 0 12%;}
#app-homepage #fact-section .fact-set .label			{ font-size: 1.2em; font-weight: 600; }
#app-homepage #fact-section .fact-set .digit			{ font-size: 5em; font-weight: 700; letter-spacing: .04em; margin-top: 15px; color: var(--theme-title-color);}
#app-homepage #fact-section .fact-set .unit				{ margin-left: 12px;}

#app-homepage #tools-section 							{ padding: 100px 0 80px 0; border-top: 1px solid var(--light-border-color); background: url(../image/homepage/grid-one.jpg) repeat; background-size: 36px 36px; }
#app-homepage #tools-section #tools-grid				{ margin-top: 60px;}
#app-homepage #tools-section .gutter-sizer 				{ width: 2.5%;}
#app-homepage #tools-section .grid-sizer,
#app-homepage #tools-section .grid-item 				{ width: 31.66666666666667%; margin-bottom: 2.5%; }
#app-homepage #tools-section .grid-item-2x 				{ width: 65.83333333333333%; }
#app-homepage #tools-section .grid-item 				{ background-color:#fff; border: 1px solid transparent; border-radius: 10px; box-shadow: 3px 3px 4px #958FFF44; transition: border .2s; overflow: hidden; }
#app-homepage #tools-section .grid-item:hover			{ border: 1px solid var(--mid-border-color);}
#app-homepage #tools-section .grid-item:nth-child(1)	{ aspect-ratio: 991/364;}
#app-homepage #tools-section .grid-item:nth-child(2)	{ aspect-ratio: 404/430; }
#app-homepage #tools-section .grid-item:nth-child(3)	{ aspect-ratio: 472/398;}
#app-homepage #tools-section .grid-item:nth-child(4)	{ aspect-ratio: 474/181;}
#app-homepage #tools-section .grid-item:nth-child(5)	{ aspect-ratio: 404/220; }
#app-homepage #tools-section .grid-item:nth-child(6)	{ aspect-ratio: 474/181;}

#app-homepage #tools-section .grid-item:nth-child(1)::after,
#app-homepage #tools-section .grid-item:nth-child(3)::after { z-index: 1; content: ''; position: absolute; left: 0; bottom:0; width: 100%; height: 30%; background-image: linear-gradient(180deg, #ffffff00 0%, #ffffffff 90%); }

#app-homepage #tools-section .grid-item:nth-child(1) .holder { background-image: url(../image/homepage/tool-space.png); background-image: image-set( url(../image/homepage/tool-space.webp) type('image/webp'), url(../image/homepage/tool-space.png) type('image/png')); background-position: 50% bottom; }
#app-homepage #tools-section .grid-item:nth-child(2) .holder { background-image: url(../image/homepage/tool-area-divide.png); background-image: image-set( url(../image/homepage/tool-area-divide.webp) type('image/webp'), url(../image/homepage/tool-area-divide.png) type('image/png')); background-position: 50% bottom; }
#app-homepage #tools-section .grid-item:nth-child(3) .holder { background-image: url(../image/homepage/tool-window.png); background-image: image-set( url(../image/homepage/tool-window.webp) type('image/webp'), url(../image/homepage/tool-window.png) type('image/png')); background-position: right bottom; }
#app-homepage #tools-section .grid-item:nth-child(4) .holder { background-image: url(../image/homepage/tool-pillar.png); background-image: image-set( url(../image/homepage/tool-pillar.webp) type('image/webp'), url(../image/homepage/tool-pillar.png) type('image/png')); background-position: right 14px top 16px; background-size:20%; }
#app-homepage #tools-section .grid-item:nth-child(5) .holder { background-image: url(../image/homepage/tool-stairs.png); background-image: image-set( url(../image/homepage/tool-stairs.webp) type('image/webp'), url(../image/homepage/tool-stairs.png) type('image/png')); background-position: 50% bottom; }
#app-homepage #tools-section .grid-item:nth-child(6) .holder { background-image: url(../image/homepage/tool-ground-line.png); background-image: image-set( url(../image/homepage/tool-ground-line.webp) type('image/webp'), url(../image/homepage/tool-ground-line.png) type('image/png')); background-position: right -5px bottom -5px; }

#app-homepage #tools-section .grid-item .holder 		{ padding: 25px 30px; height: 100%; background-repeat: no-repeat; background-size: 100%; }
#app-homepage #tools-section .grid-item .holder h3 		{ margin-bottom: 7px; margin-right: 25px; font-size: 24px; white-space: nowrap; line-height: 1.25em; letter-spacing: .08em;}
#app-homepage #tools-section .grid-item .holder p 		{ line-height: 1.5em; margin-bottom: 15px; margin-right: 20%;}
#app-homepage #tools-section .grid-item .holder p.flex-grow { width: 100%;}

#app-homepage #tools-section .button-wrapper .button   { min-width: 160px;}

#cta-section 										{ padding: 220px 0; background-image: url(../image/homepage/footer-bg.jpg); background-image: image-set( url(../image/homepage/footer-bg.webp) type('image/webp'), url(../image/homepage/footer-bg.jpg) type('image/jpeg')); background-position: 50% 50%; background-size: contain; background-repeat: no-repeat; }
#cta-section .section-header h2 					{ font-weight: 500;}
#cta-section .section-header .summary 				{ color: var(--default-text-color);}
#cta-section .buttons-wrapper 						{ margin-top: 30px; gap:20px; }
#cta-section .buttons-wrapper .button 				{ min-width: 170px;}
#cta-section .buttons-wrapper .button:first-child 	{ margin-left: auto;	}
#cta-section .buttons-wrapper .button:last-child 	{ margin-right: auto;	}

@keyframes dash {
	to {
	  stroke-dashoffset: 0;
	}
}

/*
-----------------------------
For 1600px or less
-----------------------------
*/
@media screen and (max-width: 1600px) {

#app-homepage #hero-slogan h2 	{ line-height: 1.3em; margin-bottom: 15px;}	
#app-homepage #outline-section #outline-text h2 { font-size: 3.2em;}

#app-homepage #features-text .item.active h3	{ transform: scale(2, 2) translateY(-1px); }

#app-homepage #volumn-tool-section .section-header	{ margin-bottom: 50px;}
#app-homepage #comparison-section .section-header { margin-bottom: 50px;}
#app-homepage #fact-section 							{ padding: 0 0 60px 0;}

#app-homepage #tools-section #tools-grid	{ margin-top: 50px;}
#app-homepage #tools-section .grid-item .holder { padding: 15px 20px;}
#app-homepage #tools-section .grid-item .holder h3 { font-size: 21px;}
#app-homepage #tools-section .grid-item .holder .button { height: 32px; line-height: 32px;}

#cta-section { padding: 180px 0; background-size: contain; }

}


/*
-----------------------------
For 1440px or less
-----------------------------
*/
@media screen and (max-width: 1440px) {

#app-homepage #fact-section .fact-set { padding: 0 8%;}
#app-homepage #fact-section .fact-set .label { font-size: 1.02em;}
#app-homepage #fact-section .fact-set .digit	{ font-size: 4em; }

#app-homepage #tools-section	{ background-size: 30px 30px;}
#app-homepage #tools-section .grid-item .holder h3 { font-size: 20px; margin-bottom: 5px;}
#app-homepage #tools-section .grid-item .holder p { margin-bottom: 10px;}

#cta-section { padding: 150px 0; background-size: contain; }

}

/*
-----------------------------
For 1280px or less
-----------------------------
*/
@media screen and (max-width: 1280px) {

#app-homepage #hero-slogan p		{ font-size: 1em; margin-bottom: 20px;}
#app-homepage #outline-section #outline-text h2 { font-size: 2.8em;}

#app-homepage #features-text .item.active h3	{ transform: scale(1.8, 1.8) translateY(-1px); }

#app-homepage #tools-section	{ padding: 70px 0 50px 0;}

#app-homepage #tools-section .gutter-sizer 				{ width: 2.5%;}
#app-homepage #tools-section .grid-sizer,
#app-homepage #tools-section .grid-item 				{ width: 48.75%; margin-bottom: 2.5%; }
#app-homepage #tools-section .grid-item-2x 				{ width: 100%; }

#app-homepage #volumn-tool-section #volumn-tool-video 	{ padding: 8px;} 
#app-homepage #comparison-section #video-comparison		{ padding: 8px 8px 2px 8px;}
#app-homepage #comparison-section #video-comparison::after { bottom:2px; }

#cta-section { padding: 150px 0; background-size: cover; }

}


/*
-----------------------------
For 1024px or less
-----------------------------
*/
@media screen and (max-width: 1024px) {

#app-homepage #container { padding-top: 0;}
#app-homepage #hero-slogan	{ margin-top: 25vh; }

#app-homepage #outline-section #outline-text h2 { font-size: 2em; margin: 25px 0 15px 0;}
#app-homepage #outline-section #outline-text p	{ font-size: 1.3em;}

#app-homepage #features-section					{ margin-bottom: 60px;}
#app-homepage #features-section > .inner 	{ flex-direction: column;}
#app-homepage #features-slider					{ height: auto; width: 90%; margin-top: 40px; margin-left: auto; margin-right: auto; }
#app-homepage #features-slider .swiper-slide	{ height: auto;}
#app-homepage #features-text 					{ width: 100%; text-align: center;}
#app-homepage #features-text .item				{ display: none;}
#app-homepage #features-text .item,
#app-homepage #features-text .item.active 		{ margin: 0;}
#app-homepage #features-text .item.active 		{ display: block;}
#app-homepage #features-text .item.active h3 	{ transform: none; font-size: 2em; margin-bottom: 10px; }
#app-homepage #features-text .item.active p  	{ transform: none; font-size: 1.1em;}
#app-homepage #features-slider .swiper-pagination			{ position: static; margin-top: 20px;}
#app-homepage #features-slider .swiper-pagination-bullet	{ margin: auto 4px;}


#app-homepage #volumn-tool-section .section-header	{ margin-bottom: 30px;}
#app-homepage #comparison-section .section-header { margin-bottom: 30px;}

#app-homepage #fact-section 							{ padding: 0 0 50px 0;}
#app-homepage #fact-section > .inner { flex-direction: column;}
#app-homepage #fact-section .facts .col-item { width: 100%; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--mid-border-color);}
#app-homepage #fact-section .facts .col-item:last-child	{ margin-bottom: 0; padding-bottom: 0; border: none; }
#app-homepage #fact-section .facts .col-item::after { display: none;}
#app-homepage #fact-section .fact-set	{ text-align: center;}
#app-homepage #fact-section .fact-set .digit	{ font-size: 3.2em;}

#app-homepage #tools-section	{ padding: 50px 0 40px 0; background-size: 26px 26px;}
#app-homepage #tools-section #tools-grid	{ margin-top: 40px; height: auto !important; }
#app-homepage #tools-section .gutter-sizer 				{ width: 0;}
#app-homepage #tools-section .grid-sizer,
#app-homepage #tools-section .grid-item 							{ width: 100%; margin-bottom:15px; aspect-ratio: auto !important; border: none !important; }
#app-homepage #tools-section .grid-item-2x 							{ width: 100%; }
#app-homepage #tools-section .grid-item .holder 					{ padding-top: 20px; min-height: 200px;}
#app-homepage #tools-section .grid-item .holder h3 					{ font-size: 17px; }
#app-homepage #tools-section .grid-item .holder p 					{ margin-right: 0;}
#app-homepage #tools-section .grid-item .holder .content 			{ display: block;}
#app-homepage #tools-section .grid-item:nth-child(1) .holder 		{ padding-bottom: 100px; background-position:right bottom; background-size: contain;}
#app-homepage #tools-section .grid-item:nth-child(2) .holder 		{ padding-bottom: 150px; background-position: right bottom; background-size: contain; }
#app-homepage #tools-section .grid-item:nth-child(3) .holder 		{ padding-bottom: 170px; background-position: right bottom; background-size: contain; }
#app-homepage #tools-section .grid-item:nth-child(4) .holder 		{ padding-bottom: 20px; background-position: right center; background-size: 100px; }
#app-homepage #tools-section .grid-item:nth-child(5) .holder 		{ padding-bottom: 120px; background-position: right bottom; background-size: contain; }
#app-homepage #tools-section .grid-item:nth-child(6) .holder 		{ padding-bottom: 70px; background-position: right bottom; background-size: contain; }
#app-homepage #tools-section .button-wrapper						{ margin-top: 20px;}

#app-homepage #tools-section .grid-item { position: sticky !important; box-shadow: 0 0 10px #7a73ff26; }
#app-homepage #tools-section .grid-item:nth-child(1) { top: 30px !important; }
#app-homepage #tools-section .grid-item:nth-child(2) { top: 50px !important; }
#app-homepage #tools-section .grid-item:nth-child(3) { top: 70px !important; }
#app-homepage #tools-section .grid-item:nth-child(4) { top: 90px !important; }
#app-homepage #tools-section .grid-item:nth-child(5) { top: 110px !important; }
#app-homepage #tools-section .grid-item:nth-child(6) { top: 130px !important; }

#cta-section .buttons-wrapper			{ gap: 10px; flex-wrap: wrap; justify-content: center;}
#cta-section .buttons-wrapper .button	{ min-width: 140px; font-size: 1em; }
}

/*
-----------------------------
For 768px or less
-----------------------------
*/
@media screen and (max-width: 768px) {

	#app-homepage #hero-section { background-image: url(../image/homepage/cover-mobile.jpg); background-image: image-set( url(../image/homepage/cover-mobile.webp) type('image/webp'), url(../image/homepage/cover-mobile.jpg) type('image/jpeg')); background-position: 50% bottom; background-repeat:no-repeat; background-size: cover; }
	
	#app-homepage #features-text .item.active p  	{ font-size: 1em;}

}


/*
-----------------------------
For 640px or less
-----------------------------
*/
@media screen and (max-width: 640px) {

	.section-header .summary { font-size: 1em; margin-top: 8px;}
	
}


/*
-----------------------------
For 480px or less
-----------------------------
*/
@media screen and (max-width: 480px) {
	
	#cta-section { padding: 160px 0 240px 0; background-image: url(../image/homepage/footer-bg-mobile.jpg); background-image: image-set( url(../image/homepage/footer-bg-mobile.webp) type('image/webp'), url(../image/homepage/footer-bg-mobile.jpg) type('image/jpeg')); background-position: 50% 50%; background-size: cover; background-repeat: no-repeat; }

}


/*
-----------------------------
For 320px or less
-----------------------------
*/
@media screen and (max-width: 320px) {

#cta-section .buttons-wrapper			{ gap: 10px; flex-wrap: wrap; justify-content: center;}
#cta-section .buttons-wrapper .button	{ margin: 0 !important;}
}


