/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
html {scroll-behavior: auto;}
body {overflow-x: hidden;}
.container { width: 100%; max-width: 1440px; padding-left: 40px; padding-right: 40px; margin: auto; }
.row-reverse .elementor-container {flex-direction: row-reverse; }
.logo-flex .elementor-image-box-wrapper {display: flex;align-items: center;gap: 10px;}

header#masthead { position: absolute !important; width: 100%; top: 0; left: 0; }
header#masthead ul.hfe-nav-menu li.menu-item a { font-size: 20px; color: #fff; font-weight: 300;white-space:nowrap;}
header#masthead ul.hfe-nav-menu li.menu-item a:hover{color: #FFBE02;}
header#masthead ul.hfe-nav-menu { flex-wrap: nowrap !important; }
header#masthead ul.hfe-nav-menu li.menu-item ul.sub-menu a { color: #111; font-size: 18px; font-weight: 400; padding: 7px 15px; }
header#masthead ul.hfe-nav-menu li.menu-item ul.sub-menu a:hover{ color: #ffbe02;}
header#masthead ul>li.menu-item>.hfe-has-submenu-container+ul.sub-menu { border-radius: 8px; overflow: hidden; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;width: 100%; min-width: 280px;}
header#masthead .sub-arrow i:before { content: '' !important; }
header#masthead form.hfe-search-button-wrapper .hfe-search-form__input {padding: 10px 25px;}
header#masthead form.hfe-search-button-wrapper .hfe-search-form__container {background: #fff;}
header#masthead form.hfe-search-button-wrapper  button.hfe-search-submit { border-radius: 50%; margin: 3px 3px; min-width: 43px; min-height: 43px; background-color:#FFBE02; }
header#masthead form.hfe-search-button-wrapper.hfe-input-focus .hfe-search-form__container {border: 1px solid #FFBE02 !important;}

/*service-item */
.service-item { position: relative; border-radius: 5px; overflow: hidden; }
.service-item .service-title { position: absolute; z-index: 9; top: 0; width: 100%; left: 0; padding: 30px 20px 100px 40px; color: #fff;background: linear-gradient(180deg, #155b90 0%, rgb(51 166 222 / 0%) 100%); }
.service-item .service-title h5 { font-weight: 600; font-size: 20px; line-height: 1.5; }
.service-item img {height: 380px;object-fit: cover;}

/*footer */
footer#colophon .main-footer p, footer#colophon .main-footer a, footer#colophon .main-footer span { font-weight: 300; font-size: 16px;width: fit-content;}
footer#colophon nav ul.hfe-nav-menu .menu-item a.hfe-menu-item:before { content: ''; background: url(https://goldenfriendly.com.sg/wp-content/uploads/2026/09/footer-left-arrow.svg) no-repeat center / contain; width: 16px; height: 16px; display: inline-block; opacity: 1; position: absolute; left: 0; top: 4px; /*filter: brightness(0) invert(1);*/}
footer#colophon nav ul.hfe-nav-menu .menu-item a.hfe-menu-item { padding-left: 25px; }
footer#colophon .contact-info .elementor-icon-list-items li .elementor-icon-list-icon svg path {stroke: #fff;}

/*key sec*/
.key_sec .elementor-image-box-wrapper .elementor-image-box-img img { width: auto; height: 46px; margin:auto;}
.key_sec .elementor-image-box-wrapper figure.elementor-image-box-img img { animation: zoom-in-zoom-out 2s ease-out infinite; }
@keyframes zoom-in-zoom-out {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.3, 1.3);
  }
  100% {
    transform: scale(1, 1);
  }
}


/*contact*/
.gform_wrapper .gform_heading .gform_title {text-transform: capitalize;}
.gform_wrapper .gform_heading .gform_required_legend {display: none;}
.contact_form label.gfield_label { font-size: 14px !important; font-weight: 500 !important; }
.contact_form input, .contact_form select, .contact_form textarea { border: 1px solid #ddd; border-radius: 6px; font-size: 15px !important; padding: 10px 15px !important; outline:unset !important; box-shadow:unset !important;background-color:#fff;}
div .contact_form .gform_wrapper.gravity-theme .gfield textarea.medium { height: 100px; }
.contact_form .gform_footer .gform_button {width: 100%;border: 1px solid #1080BA; background: #1080BA; padding: 10px !important; color: #fff; font-size: 18px !important; text-transform: uppercase; font-weight: 300; font-family: "Outfit"; }
.contact_form .gform_footer .gform_button:hover{border: 1px solid #0D6E9F;background: #0D6E9F;}
.contact_form .gform_heading .gform_title { margin-bottom: 25px; font-family: "Outfit"; font-size: 34px !important; font-weight: 600; }
.contact_form .gform_validation_errors { display: none; }
.contact_form .validation_message { padding: 5px 10px !important; background: #ffeded; font-size: 12px !important; border-radius: 4px; border: 1px solid #ffd0d0; font-weight: 500; text-transform: capitalize; }
.gform_wrapper .gform_fields .gfield .validation_message { background: #c02b0a; color: #fff; width: fit-content; padding: 2px 5px !important; font-size: 12px !important; }
.gform_wrapper .gform_fields .gfield label.gfield_label {display: none;}
.contact_form .gform_description{font-family: "Outfit", Sans-serif;font-size: 16px;font-weight: 400;color: #585858;}
.contact_form .gform_description a {font-family: "Outfit", Sans-serif;font-size: 16px;font-weight: 400;color: #1080ba;text-decoration: underline;}
.contact_form .gform_description a:hover{color:#0d6796;}

/*Search Page*/
.custom-search-page {padding-top: 80px;padding-bottom: 80px;}
.custom-search-page>.container>h1 {font-family: 'Outfit';font-weight: 600;font-size: 35px;color: #000;margin: 0 0 20px;}
.custom-search-page .search-results-grid .search-item {background: #f9f9f9;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;padding: 20px;border-radius: 12px;margin-bottom: 25px;}
.custom-search-page .search-results-grid .search-item h2{margin: 0 0 10px;}
.custom-search-page .search-results-grid .search-item h2, 
.custom-search-page .search-results-grid .search-item h2 a {font-family: 'Outfit';font-weight: 600;font-size: 30px;color: #000;}

.error404 header#masthead {background: #2179AF;position: static !important;}
.error404 header#masthead .hfe-site-logo .hfe-site-logo-container img {width: 160px;}
.error404 main#content {padding: 50px 16px;text-align: center;}
.error404 main#content .entry-title {font-family: "Outfit", Sans-serif;font-size: 50px;font-weight: 600;line-height: 1.4em;}
.error404 main#content .custom-404-image img {width: 100%;max-width: 400px;height: auto;display: block;margin: 0 auto 20px;}


/*Start Fleet Page*/
.fleet-sec .vh-grid { display: flex; gap: 20px; }
.fleet-sec .vh-grid .vh-card { background: #fff; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; border-radius: 10px; overflow: hidden; }
.fleet-sec .vh-grid .vh-card .vh-card__img img {height: 300px;object-fit: cover;}
.fleet-sec .vh-grid .vh-card .vh-card__body {padding: 20px;}
.fleet-sec .vh-grid .vh-card .vh-card__body .vh-card__title { font-family: "Outfit", Sans-serif; font-size: 22px; font-weight: 600; line-height: 1.4em; margin: 0 0 10px; color: #000; }
.fleet-sec .vh-grid .vh-card .vh-card__body .vh-card__desc { font-family: "Outfit", Sans-serif; font-size:18px; font-weight: 400; color: #585858; }
.fleet-sec .vh-grid .vh-card .vh-card__more { font-size: 18px; font-weight: 600; color: #2179af; font-family: "Outfit", Sans-serif;}
.fleet-sec .vh-grid .vh-card .vh-card__more:hover{color: #FFBE02;}
/*End Fleet Page*/



/* WhatsApp floating button bounce animation */
.cfbxd-whatsapp-button {animation: whatsappBounce 2s ease-in-out infinite;}
@keyframes whatsappBounce {
    0%, 100% {transform: translateY(0);}
  	50% {transform: translateY(-10px);}
}



/*Start Single Fleet Page*/
.vh-desc,
.vh-gallery,
.vh-contact{
  --vh-blue:#1080BA;         
  --vh-blue-deep:#155B90;     
  --vh-blue-light:#33A6DE;    
  --vh-yellow:#F5B940;        
  --vh-ink:#10151C;           
  --vh-body:#333;             
  --vh-muted:#6B7684;
  --vh-grey:#F5F7F9;          
  --vh-line:#E3E8ED;          
  --vh-r:14px;
  --vh-shadow:0 10px 30px rgba(16,45,72,.08);
  --vh-maxw:1260px;
  --vh-ease:cubic-bezier(.22,.61,.36,1);
  font-family:'Outfit',sans-serif;
  color:var(--vh-body);
  box-sizing:border-box;
}
.vh-desc *,
.vh-gallery *,
.vh-contact *{box-sizing:border-box}


.vh-single header.vh-banner {height: 380px; background-size: cover; background-position: center center; position:relative;display: flex;align-items: center;justify-content: center;}
.vh-single header.vh-banner .vh-banner__overlay{ content: ""; background: rgba(0,0,0,0.3); position: absolute; top: 0; bottom: 0; left: 0; right: 0;z-index:1;}
.vh-single header.vh-banner .vh-banner__content{position:relative; z-index:2;padding-left:16px;padding-right:16px;}
.vh-single header.vh-banner .vh-banner__content .vh-banner__title { font-family: "Outfit", Sans-serif; font-size: 55px; font-weight: 600; line-height: 1.1em; color: #FFFFFF; margin: 0; text-align: center;}

.vh-desc{max-width:var(--vh-maxw);margin:0 auto;padding:70px 24px 6px;text-align:center}
.vh-desc > *{max-width:860px;margin-left:auto;margin-right:auto}
.vh-desc p{font-size:1.09rem;line-height:1.85;color:var(--vh-muted); margin:0 auto 18px;max-width:860px; }
.vh-desc p:last-child{margin-bottom:0}

.vh-desc h2,.vh-desc h3,.vh-desc h4{font-family:'Outfit',sans-serif;color:var(--vh-ink); font-weight:600;letter-spacing:-.3px;line-height:1.25;margin:34px auto 12px; }
.vh-desc h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.vh-desc h3{font-size:1.25rem}

.vh-desc a{color:var(--vh-blue);text-decoration:none; border-bottom:1px solid rgba(16,128,186,.35);transition:.2s; }
.vh-desc a:hover{color:var(--vh-blue-deep);border-bottom-color:var(--vh-blue-deep)}
.vh-desc strong{color:var(--vh-ink);font-weight:600}

/* bullet lists become brand check-marks */
.vh-desc ul,.vh-desc ol{text-align:left;margin:0 auto 20px;padding:0 0 0 4px; list-style:none;display:grid;gap:11px;max-width:720px; }
.vh-desc ul li{position:relative;padding-left:32px;color:var(--vh-body);font-size:1rem;line-height:1.65}
.vh-desc ul li::before{content:'\2713';position:absolute;left:0;top:2px; width:21px;height:21px;border-radius:50%; background:var(--vh-blue);color:#fff;font-size:.68rem;font-weight:700; display:grid;place-items:center; }
.vh-desc ol{counter-reset:vh}
.vh-desc ol li{position:relative;padding-left:34px;counter-increment:vh;color:var(--vh-body)}
.vh-desc ol li::before{content:counter(vh);position:absolute;left:0;top:1px; width:23px;height:23px;border-radius:50%; background:rgba(16,128,186,.12);color:var(--vh-blue-deep); font-size:.78rem;font-weight:600;display:grid;place-items:center; }
.vh-desc blockquote{border-left:3px solid var(--vh-blue);background:var(--vh-grey); border-radius:0 12px 12px 0;padding:18px 24px; text-align:left;margin:24px auto;color:var(--vh-ink);font-size:1.04rem; }
.vh-desc img{border-radius:14px;margin:24px auto;box-shadow:var(--vh-shadow)}


/*GALLERY SEC*/
.vh-gallery{max-width:var(--vh-maxw);margin:0 auto;padding:78px 24px}
.vh-gallery__title{font-family:'Outfit',sans-serif; font-size: clamp(2rem, 3.1vw, 2.3rem); font-weight:600;letter-spacing:-.4px;line-height:1.18; color:#000;text-align:center; margin:0px;padding-bottom:0px;position:relative; }
.vh-gallery__grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); grid-auto-rows:230px; gap:18px;margin-top:42px; }
.vh-gallery__grid:has(.vh-gallery__item:nth-child(5)) .vh-gallery__item:first-child{grid-column:span 2;grid-row:span 2; }
.vh-gallery__item{display:block;position:relative;isolation:isolate; overflow:hidden;border-radius:var(--vh-r); box-shadow:var(--vh-shadow);background:#DCE6EE;text-decoration:none; }
.vh-gallery__item img{width:100%;height:100%;object-fit:cover;display:block; transition:transform .55s var(--vh-ease); }
.vh-gallery__item::after{content:'';position:absolute;inset:0; background:linear-gradient(180deg,rgba(13,54,88,0) 45%,rgba(13,54,88,.6)); opacity:0;transition:opacity .35s var(--vh-ease); }
.vh-gallery__item::before{content:'\2922';position:absolute;z-index:2;right:14px;bottom:12px; width:38px;height:38px;border-radius:50%; background:rgba(255,255,255,.92);color:var(--vh-blue-deep); display:grid;place-items:center;font-size:1rem; opacity:0;transform:translateY(8px);transition:.35s var(--vh-ease); }
.vh-gallery__item:hover img{transform:scale(1.07)}
.vh-gallery__item:hover::after,
.vh-gallery__item:hover::before{opacity:1}
.vh-gallery__item:hover::before{transform:translateY(0)}
.vh-gallery__item:focus-visible{outline:3px solid var(--vh-yellow);outline-offset:3px}
.vh-gallery__empty p { text-align: center; font-size: 30px; margin-top: 30px; font-family: 'Outfit'; color: #000; font-weight: 600; }
#vh-lightbox button.vh-lb__close { position: absolute; right: 20px; top: 20px; font-size: 32px; padding: 0; width: 40px; height: 40px; line-height: 1 !important; display: flex; align-items: baseline; justify-content: center; border: 1px solid #626262; color: #d7d7d7; }
#vh-lightbox button.vh-lb__close:hover,
#vh-lightbox button.vh-lb__close:focus{background: #fff;color: #000;}  
#vh-lightbox .vh-lb__counter {display: none;}
#vh-lightbox button.vh-lb__nav.vh-lb__prev, 
#vh-lightbox button.vh-lb__nav.vh-lb__next {font-size: 22px; padding: 0; width: 40px; height: 40px; line-height: 1.6 !important; display: flex; align-items: center; justify-content: center; border: 0px solid #626262; color: #d7d7d7; }
#vh-lightbox button.vh-lb__nav.vh-lb__prev:hover,
#vh-lightbox button.vh-lb__nav.vh-lb__prev:focus, 
#vh-lightbox button.vh-lb__nav.vh-lb__next:hover,
#vh-lightbox button.vh-lb__nav.vh-lb__next:focus {background: transparent;color: #fff;}


@media(prefers-reduced-motion:reduce){
  .vh-gallery__item img{transition:none}
  .vh-gallery__item:hover img{transform:none}
}


/*CONTACT SEC*/
.vh-contact{background:var(--vh-grey);padding:78px 0}
.vh-contact__inner{max-width:var(--vh-maxw);margin:0 auto;padding:0 24px; display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items: center;}
.vh-contact__heading{font-family:'Outfit',sans-serif; font-size: clamp(2rem, 2.6vw, 2.15rem); font-weight:600;letter-spacing:-.4px;line-height:1.2; color:var(--vh-ink);margin:0 0 26px; }
.vh-contact__list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.vh-contact__list li { display: flex; align-items: flex-start; gap: 14px; font-size: 17px; line-height: 1.55; transition: .28s var(--vh-ease); font-family: "DM Sans", Sans-serif; font-weight: 400; }
.vh-contact__icon{width:20px;height:20px;flex:0 0 20px;margin-top:3px;object-fit:contain;filter: brightness(0) saturate(100%) invert(39%) sepia(38%) saturate(1028%) hue-rotate(161deg) brightness(89%) contrast(91%);}
.vh-contact__list a{color:var(--vh-body);text-decoration:none;font-weight:500;word-break:break-word}
.vh-contact__list a:hover{color:var(--vh-blue)}

.vh-contact__form { background-color: #ffffff; padding: 30px 30px 30px 30px; border-style: solid; border-width: 1px 1px 1px 1px; border-color: #E3E8F0; border-radius: 30px 30px 30px 30px; }
.vh-contact__form .gform_heading{margin-bottom:22px}
.vh-contact__form .gform_title{font-family:'Outfit',sans-serif;font-size:34px;font-weight:600; letter-spacing:-.3px;color:var(--vh-ink);margin:0 0 6px; }
.vh-contact__form .gform_description{display:block;color:var(--vh-muted);font-size:.96rem;margin:0}
.vh-contact__form .gform_required_legend{display:none}
.vh-contact__form .gform_fields{grid-row-gap:20px !important; grid-column-gap:18px !important; }
.vh-contact__form .gfield_label{font-family:'Outfit',sans-serif;font-weight:500;font-size:.9rem; color:var(--vh-ink);margin-bottom:7px;display:block; }
.vh-contact__form .gfield_required{color:var(--vh-blue)}

.vh-contact__form input[type=text], 
.vh-contact__form input[type=email], 
.vh-contact__form input[type=tel], 
.vh-contact__form input[type=number], 
.vh-contact__form select, 
.vh-contact__form textarea { width: 100%; font-family: 'Outfit',sans-serif; font-size: 15px !important; color: var(--vh-ink); background: #fff; border: 1px solid #ddd; border-radius: 6px; padding: 10px 15px !important; box-shadow: none; transition: .22s var(--vh-ease); font-weight: 300; }
.vh-contact__form textarea{min-height:100px;resize:vertical}
.vh-contact__form input::placeholder,
.vh-contact__form textarea::placeholder{color:#9AA6B2}
.vh-contact__form input:hover,
.vh-contact__form textarea:hover{border-color:#C4D2DE}
.vh-contact__form input:focus,
.vh-contact__form textarea:focus,
.vh-contact__form select:focus{outline:0;border-color:#333;}

/* submit — matches the site's 80px pill button */
.vh-contact__form .gform_footer{margin:26px 0 0;padding:0}
.vh-contact__form .gform_button { display: inline-flex; align-items: center; justify-content: center; font-family: 'Outfit',sans-serif; font-weight: 300; font-size: 18px; color: #fff; background: var(--vh-blue); border: 1px solid transparent; border-radius: 6px; padding: 10px; cursor: pointer; transition: .28s var(--vh-ease); width: 100%; text-transform: uppercase; }
.vh-contact__form .gform_button:hover{background:var(--vh-blue-deep);}
.vh-contact__form .gform_button:active{transform:translateY(0)}

/* validation + confirmation states */
.vh-contact__form .gfield_validation_message,
.vh-contact__form .validation_message{background:#FEF3F2;border:1px solid #F5C2C0;color:#B42318; border-radius:8px;padding:8px 12px;font-size:.86rem;margin-top:8px; }
.vh-contact__form .gfield_error input,
.vh-contact__form .gfield_error textarea{border-color:#E4726B}
.vh-contact__form .gform_validation_errors{border-radius:10px;border:1px solid #F5C2C0;background:#FEF3F2;box-shadow:none;display:none !important;}
.vh-contact__form .gform_confirmation_message{background:#ECFDF3;border:1px solid #A6E9C2;color:#046C4E; border-radius:10px;padding:16px 18px;font-weight:500; }
.vh-contact__form .gfield--input-type-captcha{margin-top:2px}

/*RESPONSIVE*/
@media(max-width:1024px){
  .vh-single header.vh-banner .vh-banner__content .vh-banner__title {font-size: 40px;}
  .vh-desc{padding:54px 24px 4px}
  .vh-gallery{padding:60px 24px}
  .vh-gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}
  .vh-gallery__grid:has(.vh-gallery__item:nth-child(5)) .vh-gallery__item:first-child{grid-column:span 2;grid-row:span 1;}
  .vh-contact{padding:60px 0}
  .vh-contact__inner{grid-template-columns:1fr;gap:34px}
}

@media(max-width:640px){
  .vh-desc{padding:42px 18px 2px}
  .vh-desc p{font-size:1rem}
  .vh-desc p:first-of-type{font-size:1.08rem}
  .vh-gallery{padding:48px 18px}
  .vh-gallery__grid{gap:12px;grid-auto-rows:170px;margin-top:32px}
  .vh-contact__inner{padding:0 18px}
  .vh-contact__form{padding:26px 20px;border-radius:14px}
  .vh-contact__form .gform_button{width:100%}
}
/*End Single Fleet Page*/


/*Start Responsive Design*/
@media (max-width: 1024px) {
  /*main header*/
  header#masthead ul.hfe-nav-menu li.menu-item a:hover {color: #FFBE02 !important; }
  header#masthead ul>li.menu-item>.hfe-has-submenu-container+ul.sub-menu {min-width: auto; box-shadow: none !important;}
  header#masthead ul.hfe-nav-menu li.menu-item ul.sub-menu a {color: #fff; font-size: 16px; font-weight: 300; white-space: normal; }

}

@media (min-width: 768px) and (max-width: 1023px) {
  /*default-css*/
  br {display: none;}
  .container{padding-left: 20px !important;padding-right: 20px !important;}

  /*custom-search-page*/
  .custom-search-page {padding-top: 60px !important; padding-bottom: 60px !important; }
  .custom-search-page>.container>h1 {font-size: 32px !important; }
  .custom-search-page .search-results-grid .search-item h2, 
  .custom-search-page .search-results-grid .search-item h2 a {font-size: 26px !important; }

}

@media screen and (max-width: 767px){
  /*default-css*/
  br {display: none;}
  .container{padding-left:16px !important;padding-right:16px !important;}
  
  /*career-page*/
  .contact_form .gform_heading .gform_title {font-size: 32px !important; }
  .key_sec .elementor-image-box-wrapper .elementor-image-box-img img {height: 35px !important;}
  
  /*404 page   */
  .error404 main#content .entry-title {font-size: 32px;}  
  
  /*custom-search-page*/
  .custom-search-page {padding-top: 50px !important; padding-bottom: 50px !important; }
  .custom-search-page>.container>h1 {font-size: 32px  !important; }
  .custom-search-page .search-results-grid .search-item h2, 
  .custom-search-page .search-results-grid .search-item h2 a {font-size: 24px !important; }
  
  /*fleet Page */
  .fleet-sec .vh-grid {flex-wrap: wrap;}
}
/*End Responsive Design*/

