@font-face {
  font-family: "GothamBlack";
  src: url("../fonts/Gotham/Gotham-Black.otf");
}@font-face {
  font-family: "GothamBold";
  src: url("../fonts/Gotham/Gotham-Bold.otf");
}@font-face {
  font-family: "GothamBook";
  src: url("../fonts/Gotham/Gotham-Book.otf");
}@font-face {
  font-family: "GothamLight";
  src: url("../fonts/Gotham/Gotham-Light.otf");
}@font-face {
  font-family: "GothamMedium";
  src: url("../fonts/Gotham/Gotham-Medium.otf");
}@font-face {
  font-family: "GothamThin";
  src: url("../fonts/Gotham/Gotham-Thin.otf");
}@font-face {
  font-family: "GothamRoundMedium";
  src: url("../fonts/Gotham/GothamRound-Medium.otf");
}

.gotham-black{
	font-family: "GothamBlack", sans-serif;
}
.gotham-bold{
	font-family: "GothamBold", sans-serif;
}
.gotham-book{
	font-family: "GothamBook", sans-serif;
}
.gotham-light{
	font-family: "GothamLight", sans-serif;
}
.gotham-medium{
	font-family: "GothamMedium", sans-serif;
}
.gotham-thin{
	font-family: "GothamThin", sans-serif;
}
.gotham-rounded-medium{
	font-family: "GothamRoundMedium", sans-serif;
}

html, body{
	margin: 0;
	padding: 0;
	font-family: "GothamBook", sans-serif;
}

p{
	font-family: "GothamBook", sans-serif;
	font-size: 16px;
	color: #222;
}

.main-faq {
    margin-top: 130px;
    margin-bottom: 130px;
}

button, input, optgroup, select, textarea{ font-size: 14px !important; }

.input-group-text {
    padding: .375rem 0rem .375rem 1.5rem;
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
.btn{
	letter-spacing: 2px;
}

@media (min-width: 860px) {
	.container {
	    max-width: 620px;
	}
	/*section {
		padding: 60px 0;
		overflow: hidden;
	}*/
	.side-section{
		position: absolute;
		z-index: 1;
		width: fit-content;
	}
	.side-section h4{
		margin-left: 1vw;
	}
	.rotate {
		writing-mode: vertical-rl;
		transform: rotate(180deg);
		-webkit-transform: rotate(180deg);
		-moz-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
	}
}
@media (min-width: 859px){
	.container {
	    max-width: 720px;
	}
	#optical{
		margin-top: 50px;
		margin-bottom:80px;
	}

}
@media (min-width: 992px){
	.container {
	    max-width: 860px;
	}
	.side-section h4{
		margin-left: 2vw;
	}
	#optical{
		margin-top: 50px;
		margin-bottom:80px;
	}

}
@media (min-width: 1200px){
	.container{
	    max-width: 1020px;
	}

	#optical{
		margin-top: 50px;
		margin-bottom:80px;
	}

}
@media (min-width: 1300px){
	.container{
	    max-width: 1140px;
	}

	#optical{
		margin-top: 50px;
		margin-bottom:80px;
	}

}
@media(min-width: 1500px){
	.container{
	    max-width: 1140px;
	}

	#optical{
		margin-top: 50px;
		margin-bottom:80px;
	}

}

/* @media (max-width: 858px) {
	section {
		padding: 30px 0;
		overflow: hidden;
	}

	#content {
		max-width: 900px;
	}

	#optical{
		margin-top: 50px;
		margin-bottom:80px;
	}

} */

@media (max-width: 860px) {
	section {
		/* padding: 30px 0; */
		padding: 0px;
		overflow:0px hidden;
	}

	.side-section{
		margin-bottom: 60px;
	}

	#content {
		max-width: 900px;
	}

	#optical{
		margin-top: 20px;
		margin-bottom:80px;
	}

}

@media (max-width: 575px) {
	#hero h1 {
		font-size: 4rem !important;
		line-height: 1.2;
	}

	#hero h2 {
		font-size: 1.2rem;
		line-height: 1.2;
	}

	.side-section{
		margin-bottom: 60px;
	}

	.container{
	    max-width: 1000px;
	}

	.btn-shop-now img{
		width: 240px;
	}


	#optical{
		margin-top: 20px;
		margin-bottom:80px;
	}

}

@media (max-width: 375px) {
	#hero h1{
		font-size: 2.5em;
	}

	.side-section{
		margin-bottom: 60px;
	}

	#optical{
		margin-top: 20px;
		margin-bottom:80px;
	}
}

.section-bg {
	background-color: #f3f5fa;
}

.section-title {
	text-align: center;
	padding-bottom: 30px;
	margin-bottom: 3rem!important;
}

.section-title h2 {
	font-size: 32px;
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 20px;
	padding-bottom: 20px;
	position: relative;
	color: #37517e;
}

.section-title h2::before {
	content: '';
	position: absolute;
	display: block;
	width: 120px;
	height: 1px;
	background: #ddd;
	bottom: 1px;
	left: calc(50% - 60px);
}

.section-title h2::after {
	content: '';
	position: absolute;
	display: block;
	width: 40px;
	height: 3px;
	background: #47b2e4;
	bottom: 0;
	left: calc(50% - 20px);
}

.section-title p {
	margin-bottom: 0;
}


/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/

#optical-hero {
	width: 100%;
	height: 60vh;
	background-image: url('../../img/optical-hero.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom;
}

#optical-hero::before{
	content:"";
	background-color: rgba(0,0,0,0.3);
	position: absolute;
	width: 100%;
	height: 60vh;
}


.optical-menu {
	bottom: 0;
	left: 50%;
    transform: translate(-50%, 0);
    background-color:#fff;
    width: fit-content;
    z-index: 1;
	height: 50px;
}

.optical-menu select {
	border: none;
	padding-right: 60px;
	box-shadow: none !important;
}
.optical-menu select option{
	margin-top: 20px;
}
#hero {
	width: 100%;
	height: 100vh;
	/* background-image: url('../../images/landing-page.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom; */
    /* position: relative; */
}

.bg-hero {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
	height: 100vh;
    position: absolute;
    object-fit: cover;
    object-position: bottom;
    z-index: -1;
}

#hero .animated {
	animation: up-down 2s ease-in-out infinite alternate-reverse both;
}

#hero h1{
	font-size: 6.5rem;
	margin-top: 60px;
	letter-spacing: 10px;
	font-family: "GothamBold", sans-serif;
}
#hero h2{
	letter-spacing: 5px;
	font-family: "GothamBook", sans-serif;
}
#hero .content{
	margin-left: 5vw;
    position: relative;
}
.d-flex {
    display: flex!important;
}
.btn-shop-now{
	padding: 0px;
	border: none;
}
.btn-shop-now img{
	max-width: 320px;
}
.dropdown-item {
    padding-left: 1.5rem !important;
}
@-webkit-keyframes up-down {
	0% {
		transform: translateY(10px);
	}
	100% {
		transform: translateY(-10px);
	}
}

@keyframes up-down {
	0% {
		transform: translateY(10px);
	}
	100% {
		transform: translateY(-10px);
	}
}


.image-square {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

.image-dr {
    width: 100%;
    height: 700px;
    object-fit: cover;
    object-position: center top;
}

.input-border-right {
    border-right: 0px #fff !important;
}

.input-border-left {
    border-left: 0px #fff !important;
}

.home-banner.banner-optical {
    height: 60vh;
    font-size: 1.6rem;
}

.fixed-position {
    /* bottom: -160px; */
    /* position: relative; */
    /* left:50%; */
    /* transform: translateX(-50%); */
    margin: 0;
    position: absolute;
    top: 380%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.btn-white {
    color: #000000;
    background-color: #fff;
    border-color: #fff;
}

.product-category.color-detail {
    color: #5C9EC0;
}

.product-single-details .product-title.color-detail {
    color: #5C9EC0;
}

.rotate {
    transform: rotate(180deg);
    transition: transform .3s ease-in-out;
}
.rotate-reset {
    transform: rotate(0deg);
    transition: .3s;
}

.border-card {
    border: 1px solid #f6f6f6 !important;
    padding: 10px 15px;
    background-color: #f6f6f6;
}


/* product detail */
.products-section h2 {
	padding-bottom: 2rem;
    margin-bottom: 3rem;
}

/* search textbox */
.searchbox{
	position:relative;
	min-width:50px;
	width:0%;
	height:50px;
	float:right;
	overflow:hidden;
	-webkit-transition: width 0.3s;
	-moz-transition: width 0.3s;
	-ms-transition: width 0.3s;
	-o-transition: width 0.3s;
	transition: width 0.3s;
}
.searchbox-input{
	top:0;
	right:0;
	border:0;
	outline:0;
	background:none;
	border-bottom: 1px solid #ccc;
	width:100%;
	height:50px;
	margin:0;
	padding:0px 55px 0px 20px;
	font-size:20px;
}
.searchbox-input::-webkit-input-placeholder {
	color: #666;
}
.searchbox-input:-moz-placeholder {
	color: #666;
}
.searchbox-input::-moz-placeholder {
	color: #666;
}
.searchbox-input:-ms-input-placeholder {
	color: #666;
}
.searchbox-icon,
.searchbox-submit{
	width:50px;
	height:50px;
	display:block;
	position:absolute;
	top:0;
	font-family:verdana;
	font-size:22px;
	right:0;
	padding:0;
	margin:0;
	border:0;
	outline:0;
	line-height:50px;
	text-align:center;
	cursor:pointer;
	color:#222;
	background:#fff;
	border-left: 1px solid white;
}
.searchbox-open{
	width:100%;
}

/* search result */
.search-result-box{
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #ccc;
	padding: 25px 25px 20px 25px;
	margin: 0px 10px 15px 10px;
}
.search-result-title{
	font-size: 18px;
	font-weight: bold;
}

.mapouter{
    position:relative;
    text-align:right;
    width:100%;
    height:500px;
}
.gmap_canvas {
    overflow:hidden;
    background:none!important;
    width:100%;
    height:500px;
}
.gmap_iframe {
    height:500px!important;
}

.img-table {
    border-radius: 0% !important;
    width: 50px !important;
    height: 50px !important;
}

/*
.text-title {
	margin-right: 30px;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
} */

.custom-button-bootstrap {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding: 0;
  margin-top: 50px;
  width: 100%; /* biar responsif */
  max-width: 310px; /* default maksimal */
}

.custom-button-dark {
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: Arial, sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;

  width: 310px;   /* fix width */
  height: 81px;   /* fix height */
  font-size: 18px !important;  /* ukuran font lebih besar */

  /* teks di tengah tombol */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: relative !important;
  z-index: 1 !important;

  background-image: url('/img/btn-black.png');
  background-size: auto 100%;   /* gambar pas tinggi tombol */
  background-position: left center;
  background-repeat: no-repeat;

  padding-left: 70px;
  padding-top: 25px;
}

/* Flex wrapper */
.section-vertical-side {
  display: flex;
  align-items: flex-start; /* sejajarkan atas */
  gap: 30px; /* jarak antara title dan konten */
}

/* Vertical title style */
.vertical-title {
  writing-mode: vertical-rl;
  text-transform: uppercase;
  transform: rotate(180deg);
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #333;
  flex-shrink: 0; /* biar tidak mengecil */
  margin-top: 10px; /* opsional, untuk sejajarkan dengan h2 */
}

.vertical-title h4 {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #333;
  display: flex;
  align-items: center;
}

/* bikin garis lurus sebelum teks */
.vertical-title h4::before {
  content: "";
  display: inline-block;
  width: 2px;       /* ketebalan garis */
  height: 20px;     /* panjang garis */
  background: #33333378; /* warna garis */
  margin-right: 8px; /* jarak garis ke teks */
  margin-left: 7px;
  margin-bottom: 15px;
}


/* Content tetap normal */
.vertical-content {
  flex: 1; /* isi semua space */
}

.title h2 {
    font-weight: 500;
}

.title h2::before {
  content: "";
  display: inline-block;
  width: 2px;       /* ketebalan garis */
  height: 20px;     /* panjang garis */
  background: #33333378; /* warna garis */
  margin-right: 20px; /* jarak garis ke teks */
  margin-top: 15px;
  transform: rotate(90deg);
}

.products-slider-wrapper {
    max-width: 1400px;   /* atur sesuai keinginan */
    margin: 0 auto;      /* biar center */
    padding: 0 15px;     /* biar ada spasi kiri kanan */
}

.products-slider .item img {
    max-width: 100%;
    height: auto;        /* biar gambar tidak meledak */
    object-fit: cover;   /* kalau perlu crop biar proporsional */
}

.owl-dots {
    text-align: center;
    margin-top: 20px;
}

.products-slider .item img {
    width: 100%;       /* isi penuh kotaknya */
    height: auto;      /* proporsional */
    object-fit: cover; /* crop rapi */
}

.owl-dots {
    text-align: center;
    margin-top: 15px;
}

.button-slider {
  display: flex;
  justify-content: center;  /* center horizontal */
  align-items: center;      /* center vertical */
  width: 100%;
  text-align: center;
  margin: 30px 0;           /* kasih jarak atas bawah */
}

.custom-button-bootstrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.content-service{
    padding: 50px;
}

.service-content {
    padding: 50px !important;
}

.section-5 .service-content {
  border-right: 1px solid #ccc;  /* garis abu tipis */
  padding: 20px;
}

.section-5 .service-content:last-child {
  border-right: none; /* hilangkan garis di kolom terakhir */
}

.section-5 {
    background-color: #e8e9eb;
    padding: 100px 0;
    text-align: center;
}

.button-slider{
    padding: 50px;
}

.section-8 .testimonial {
  border-right: 1px solid #ccc;  /* garis abu tipis */
  padding: 20px;
}

.section-8 .testimonial:last-child {
  border-right: none; /* hilangkan garis di kolom terakhir */
}


.submenu:hover .dropdown-menu {
    display: block;
    position: absolute;
    will-change: transform;
    top: 0px;
    left: 0px;
    transform: translate3d(0px, 40px, 0px);
}
.item-submenu:hover {
    background-color: whitesmoke;
}

.header-middle {
    top:0px;
    padding-top:20px;
    padding-bottom:20px;
}

.header-left {
    margin-left: 50px;
}

.header-right {
    margin-right: 50px;
}

.doctor-about {
  display: flex;
  padding: 50px;
  justify-content: center; /* tengah horizontal */
  align-items: center;     /* tengah vertikal */
  flex-direction: column;  /* susun ke bawah */
  text-align: left;      /* teks rata tengah */
}

.journey-content{
    padding: 100px;
}

.journey p {
    font-family: "GothamBook", sans-serif;
}

.section-text-content{
    padding: 100px;
    margin-left: 200px;
    margin-right: 200px;
}

.faq-content {
    height: 100vh;
}

.post-media {
    margin-top: 100px;
}

.post-body {
    margin-left: 0 !important;
}

.text-tag {
    color: #66A4C8;
}

.image-blog {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
}

/* === Section Card Charity === */
.lp-card {
    padding: 20px 40px;
    border: 1px solid black;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

.lp-card:hover {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2),
                0 6px 20px 0 rgba(0, 0, 0, 0.19);
    transform: translateY(-3px);
}

.lp-card a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: inherit;
}

.lp-card a:hover {
    font-weight: 700;
}

/* === Card Inner === */
.lp-card-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

/* === Heading Section === */
.lp-section-title {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #222;
}

/* === Divider with Logo in the Middle === */
.lp-divider-row {
    align-items: center;
}

.lp-divider-row hr {
    border-top: 1px solid #aaa;
}

.term-content h2{
    margin-bottom: 2px !important;
}

.term-content ol{
    padding: 30px !important;
}

.term-content p{
    padding: 30px !important;
}

.term-content ol li{
    margin-bottom: 10px !important;
}

.menu-active .mobile-menu-container {
    transform: translateX(-100%) !important;
}

.mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-menu li {
  border-bottom: 1px solid #ddd;
}

.mobile-menu a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  text-decoration: none;
  color: #333;
}

.mobile-submenu {
  display: none; /* default hidden */
  list-style: none;
  margin: 0;
  padding-left: 20px;
}

.mobile-submenu li a {
  padding: 10px 16px;
  font-size: 14px;
}
section .product-list {
    min-height: 200px !important;
}


/* === Responsive Adjustment === */
@media (max-width: 768px) {
    .lp-card {
        margin-bottom: 20px;
    }
}

/* Tablet (<= 768px) */
@media (max-width: 768px) {
  .custom-button-dark {
    height: 70px !important;
    font-size: 16px !important;
    padding-left: 75px;
    width: 200px;
  }
}

/* Mobile (<= 576px) */
@media (max-width: 576px) {
  .custom-button-dark {
    height: 60px !important;
    font-size: 14px !important;
    padding-left: 75px;
    width: 200px;
  }
}

/* Extra small (<= 400px) */
@media (max-width: 400px) {
  .custom-button-dark {
    height: 50px !important;
    font-size: 12px !important;
    padding-left: 65px;
    width: 150px;
  }
}

@media (max-width: 992px) {
  .section-5 .service-content {
    border-right: none;
    border-bottom: 1px solid #ccc;
  }

  .section-8 .testimonial {
    border-right: none;
    border-bottom: 1px solid #ccc;
  }

  .section-8 .testimonial:last-child {
    border-bottom: none;
    border-right: none;
  }
}
