/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.0.1768840260
Updated: 2026-01-19 16:31:00

*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

/*  font-family: "Open Sans", sans-serif; * 
 font-family: "Raleway", sans-serif; */

@font-face {
    font-family: 'Nitti Eindhoven';
    src: url('fonts/NittiEindhoven-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nitti Eindhoven';
    src: url('fonts/NittiEindhoven-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nitti Eindhoven';
    src: url('fonts/NittiEindhoven-Normal.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* @font-face {
    font-family: 'Nitti Eindhoven';
    src: url('fonts/NittiEindhoven-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
} */

@font-face {
    font-family: 'Nitti Eindhoven SemiLight';
    src: url('fonts/NittiEindhoven-SemiLight.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nitti Eindhoven';
    src: url('fonts/NittiEindhoven-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nitti Eindhoven';
    src: url('fonts/NittiEindhoven-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/*==================================
  Root Variables
===================================*/
:root {
  	--primary-color:#0aa1af;
  	--secondary-color:#ff512f;    
	  --heading-color:#010101;
  	--text-color: #323e3e;  	
	  --blue-text:#211554;
}

/*==================================
  BASIC CSS RESET
===================================*/
*,
*::before,
*::after { margin: 0; padding: 0; box-sizing: border-box; }
::selection { background-color: var(--primary-color); color: #fff; }

html { font-size: 16px;  scroll-behavior: smooth; }
body { line-height: 1.6; color: var(--clr-text); background-color: #fff; -webkit-font-smoothing: antialiased; font-size: 16px; font-family: 'Nitti Eindhoven'; }
input, button, textarea, select { font: inherit; outline: none; }

/*==================================
  TYPOGRAPHY
===================================*/
h1, h2, h3, h4, h5, h6, .elementor-heading-title { margin-bottom: 10px; line-height: 1.25; font-family: 'Nitti Eindhoven'; }
h1 { font-size: 60px; }
h2 { font-size: 36px; }
h3 { font-size: 28px; }
h4 { font-size: 24px; }
h5 { font-size: 20px; }
h6 { font-size: 18px; } 

a { color: inherit; text-decoration: none; transition: color 0.3s ease; }
a:focus { outline: none; }
a:hover { color: var(--primary-color); }

p { font-size: 16px; font-weight: normal; line-height: 1.6; }
p:not(:last-child) { margin-bottom: 10px; }
p:empty { display: none; }

/*==================================
  Section Titles
===================================*/
.section-title h2,
.section-title h2.elementor-heading-title { font-size: 36px; font-weight: 700; color: var(--heading-color); }
.section-title h2 span,
.section-title h2.elementor-heading-title span { color: var(--primary-color);}
.uppercase,
.uppercase .elementor-heading-title { text-transform: uppercase;}
.underline,
.underline .elementor-heading-title { position: relative;}
.underline:before,
.underline .elementor-heading-title:before { content: ''; position: absolute; bottom: 0; left: 0; width: 80px; height: 2px; background-color: var(--heading-color);}

/*==================================
  General CSS
===================================*/
.section-space { padding: 100px 20px; }

/*==================================
   Button Styling
===================================*/
.site-button a.elementor-button { padding: 7px 30px; border-radius: 30px;   font-size: 18px; line-height: 1.5; font-weight: 600; border: 1px solid; min-height: 40px; display: inline-flex; align-items: center; justify-content: center;}

/* Primary button */
.site-button.primary-button a.elementor-button { background-color: var(--primary-color); border-color: var(--primary-color); }
.site-button.primary-button a.elementor-button:hover { background-color: var(--secondary-color); border-color: var(--secondary-color); color: #ffffff; }

/* Buttton - Gradient Button CSS */	
.btn-gradient .elementor-button{background-image:linear-gradient(to right,#ff512f 0%,#dd2476 51%,#ff512f 100%); padding: 15px 30px; font-size: 18px; line-height: 1.5; font-weight: 600; text-align:center; transition:0.5s;background-size:200% auto; color:white;}
.btn-gradient .elementor-button:hover{background-position:right center;color:#fff;text-decoration:none;}


/*==================================
   Header
===================================*/
header .ast-container { max-width: 100%; }

.ast-builder-menu-1 .menu-item > .menu-link { color: #ffffff; text-transform: uppercase; font-weight: bold; font-size: 24px; line-height: 1.2; transition: 0.3s all ease-in-out; font-family: 'Nitti Eindhoven';}
.ast-builder-menu-1 .menu-item > .menu-link:hover,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link { color: #f13e4c; }

.header-social-inner-wrap { display:flex; align-items: center; gap: 10px; margin-right: 50px; }
.header-social-inner-wrap a { width:32px; height:32px; background-color:#ffffff; display:flex; align-items:center; justify-content:center; border-radius: 50%; margin: 0; border: 1px solid #ffffff; transition: 0.3s all ease-in-out;}
.header-social-inner-wrap a:hover { background-color: var(--primary-color); } 
.header-social-inner-wrap a svg { fill: #ff512f; }

/*==================================
   Hero section
===================================*/
.hero-section { min-height: calc(100vh - 150px); position: relative; padding: 50px 20px;}
.hero-section .btn-gradient .elementor-button { border-radius: 35px;}

.hero-section .countdown { position: absolute; bottom: -50px; left: 50%; transform: translateX(-50%); }
.countdown { display: flex; gap: 50px; }
.countdown .countdown-item { width:100px; height: 100px; background-color: var(--primary-color); border: 3px solid #ffffff; border-radius: 20px 5px; display: flex; align-items: center; justify-content: center;}
.countdown .countdown-item .elementor-heading-title { font-size: 30px; font-family: 'Nitti Eindhoven'; font-weight: normal; line-height: 1.3; color: #ffffff; text-align: center;}
.countdown .countdown-item .elementor-heading-title span { display: block; }

/*==================================
   location section
===================================*/
.location-section .section-title h2.elementor-heading-title { }

.diamond-left { padding-left: calc((100% - 1140px)/2); }
.diamond-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px 20px; top: 100px; position: relative; max-width: 650px;}
.diamond-box { grid-column: span 2; width: 200px; aspect-ratio: 1 / 1; position: relative; clip-path: polygon( 50% 0%, 100% 50%, 50% 100%, 0% 50% ); overflow: hidden; transition: 0.3s all ease-in-out; }
/* SECOND ROW (2 ITEMS CENTERED) */
.diamond-box:nth-child(5n + 4) { grid-column: 2 / span 2; transform: translateY(-100px); }
.diamond-box:nth-child(5n + 5) { grid-column: 4 / span 2; transform: translateY(-100px); }
.diamond-box:nth-child(5n + 6),
.diamond-box:nth-child(5n + 7),
.diamond-box:nth-child(5n + 8) { transform: translateY(-200px); }
.diamond-img,
.diamond-img img { width: 100%; height: 100%; object-fit: cover; transition: 0.3s all ease-in-out; }
.diamond-box::after { content: ""; position: absolute; inset: 0; background: linear-gradient(360deg,rgba(10, 161, 175, 1) 30%, rgba(255, 255, 255, 0) 70%);   }
.diamond-title { position: absolute; bottom: 45px; left: 50%; transform: translateX(-50%); z-index: 2; text-align: center; }
.diamond-title h2.elementor-heading-title { color: #fff; margin: 0; font-size: 18px;  font-weight: 400; line-height: 1 !important; }
.diamond-title h2.elementor-heading-title a { text-decoration: none;}
.diamond-box:hover .diamond-img img { transform: scale(1.1); }

/*==================================
   Gallery
===================================*/
.shape { position: relative;}
.shape:before, 
.shape:after { content: ''; position: absolute; background-image: url(images/shape.svg); width: 250px; height: 250px; background-repeat: no-repeat; background-size: cover; }
.shape.shape_top:before { top: -125px; left: 30px;   }
.shape.shape_bottom:after { bottom: -125px; left: auto; right: 30px;  }
.gallery .gallery-left img { height: 280px; object-fit: cover; object-position: center;  }
.gallery .gallery-right.e-flex { height: auto;}
.gallery .gallery-right .elementor-widget-image { height: 100%; }
.gallery .gallery-right img { height: 100%; object-fit: cover; object-position: center; }

/*==================================
   Partners Logo
===================================*/
.partner-section .gallery { display: flex; align-items: center; justify-self: center; gap: 30px;}
.partner-section .gallery .gallery-item { max-width: 200px !important; padding: 0; }

/*==================================
   About Section
===================================*/
.about-section { padding-inline: 150px; position: relative;}
.about-section.section-space { padding-bottom: 50px;}
.about-section .elementor-widget-text-editor p { font-size: 22px; }
.about-section .elementor-widget-text-editor ul li { font-size: 22px; }
.about-section:before,
.about-section:after { content: ''; position: absolute; background-image: url(images/shape.svg); width: 250px; height: 250px; background-repeat: no-repeat; background-size: cover;   }
.about-section:before { top: -125px; left: 20%;}
.about-section:after { bottom: -125px; left: auto; right: 20%;}

/*==================================
   contact Form Section
===================================*/
.contact-section { position: relative; padding-inline: 80px;}
.contact-section .contact-left h3.elementor-heading-title{ font-size: 18px; font-weight: 700; line-height: 1.3;  color: #211554; }
.contact-section .contact-left .elementor-widget-text-editor,
.contact-section .contact-left .elementor-widget-text-editor p { font-size: 18px; line-height: 1.5;  color: #211554; font-weight: 400;}
.contact-section .contact-left .elementor-widget-text-editor strong { margin-bottom: 20px; display: block;}
ul.contact-details { padding-left: 0;}
.contact-details li { list-style: none;}
.contact-details li:not(:last-child) { margin-bottom: 20px;}
.contact-details li a{ color: #2f3542; font-size: 16px; line-height: 1.5; font-weight: 400; text-decoration: none;}
.contact-details li a:hover { color: var(--primary-color);}
.contact-details li i { font-size: 16px; margin-right: 8px;}

.contact-form .form-group { position: relative; }
.contact-form .form-group input:not([type=submit]) { padding-left: 50px; }
.contact-form .form-group::before { font-family: "Font Awesome 5 Free";   position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #9aa0a6; z-index: 1; }
.icon-user::before { content: "\f007"; }
.icon-email::before { content: "\f2b6"; }
.icon-subject::before { content: "\f044"; }

.contact-form .btn-submit {background-image:linear-gradient(to right,#ff512f 0%,#dd2476 51%,#ff512f 100%); padding: 10px 30px; font-size: 14px; text-transform: uppercase; font-family: "Open Sans", sans-serif;  line-height: 1.2; font-weight: 600; text-align:center; transition:0.5s;background-size:200% auto; color:white;}
.contact-form .btn-submit:hover{background-position:right center; }


/*==================================
   footer
===================================*/
.site-footer .site-primary-footer-wrap { background-color: var(--primary-color); padding: 80px 20px; }
.site-footer .widget-title { font-size: 14px; font-weight: bold; line-height: 1.5; color: #ffffff; text-transform: uppercase; font-family: "Open Sans", sans-serif;}
.site-footer .newsletter p { color: #647b9c; font-family: "Open Sans", sans-serif; font-size: 14px; line-height: 1.5; }
.site-footer .newsletter form input { background-color: transparent; min-height: 40px; color: #ffffff; border: 1px solid #ffffff; margin-bottom: 20px; font-size: 14px; font-family: "Open Sans", sans-serif;}
.site-footer .newsletter form input::placeholder { color: #cbdbf2; }
.site-footer .newsletter form input:focus::placeholder { font-size: 0; }

/* .site-footer .newsletter form button { padding: 10px 30px; color: #ffffff; font-size: 14px; text-transform: uppercase; font-family: "Open Sans", sans-serif; background: linear-gradient(270deg,#dd2476 0%, #ff512f 100%); transition: 0.3s all ease-in-out;}
.site-footer .newsletter form button:hover { background-size: 200% 50%;} */

.site-footer .newsletter form button {background-image:linear-gradient(to right,#ff512f 0%,#dd2476 51%,#ff512f 100%); padding: 10px 30px; font-size: 14px; text-transform: uppercase; font-family: "Open Sans", sans-serif;  line-height: 1.2; font-weight: 600; text-align:center; transition:0.5s;background-size:200% auto; color:white;}
.site-footer .newsletter form button:hover{background-position:right center; }

.footer-widget-area[data-section="sidebar-widgets-footer-widget-2"] { display: flex ;gap: 30px; }
.footer-widget-area[data-section="sidebar-widgets-footer-widget-2"] section { flex: 0 0 calc((100% - 60px) / 3); max-width: calc((100% - 60px) / 3); width: 100%; margin-bottom: 0; }
.site-footer .menu li a { font-family: "Open Sans", sans-serif; font-size: 14px; line-height: 1.5; color:#c7d6ec; transition: 0.3s all ease-in-out;}
.site-footer .menu li a:hover { color: #ffffff; ;}


.social-list { display: flex; gap: 10px; }
.social-list li a { width: 80px; height: 80px; background-color: #dd2476; border: 2px solid #dd2476; display: flex; align-items: center; justify-content: center; border-radius: 5px; transition: 0.3s all ease-in-out;}
.social-list li a svg { fill:#ffffff; }
.social-list li a:hover { background-color: transparent;}


/*==================================
   Location Page
===================================*/
.site-main header.entry-header .entry-title,
.page-title .elementor-widget-shortcode .elementor-shortcode { color: #010101; font-size: 36px; text-transform: uppercase; line-height: 1.3; font-weight: 700;  margin-block: 20px; position: relative; display: inline-block; }
.site-main header.entry-header .entry-title:before,
.page-title .elementor-widget-shortcode .elementor-shortcode:before { content: ''; position: absolute; bottom: 0; right: 0; width: 50px; height: 2px; background-color: #010101; }


/*==================================
   Location Inner Page
===================================*/
.location-content { padding-inline: 50px;}
.single-diamond { justify-content: center; align-items: center;}
.single-diamond .diamond-box { max-width: 500px; width:100%; }
.single-diamond .diamond-box .diamond-title { bottom: 100px; }
.single-diamond .diamond-box .diamond-title h2.elementor-heading-title { font-size: 48px;}
.contact-inner { position: relative;}
.contact-inner:before { content: ''; position: absolute; background-image: url(images/shape.svg); width: 250px; height: 250px; background-repeat: no-repeat; background-size: cover; top: -125px; left: 20%; }

/* Plugin */
.location-map { padding-inline: 50px; }





/*==================================
Responsive
===================================*/ 
@media only screen and (max-width:1365px) {
	.location-section { padding-block: 100px; }
	.diamond-grid {gap: 10px 10px;top: 90px;}
	.diamond-box { width: 180px; }
	.diamond-box:nth-child(5n + 4) { transform: translateY(-90px); }
	.diamond-box:nth-child(5n + 5) { transform: translateY(-90px); }
	.diamond-box:nth-child(5n + 6),
	.diamond-box:nth-child(5n + 7),
	.diamond-box:nth-child(5n + 8) { transform: translateY(-180px); }
}

@media only screen and (max-width:1279px) {
	.ast-builder-menu-1 .menu-item > .menu-link { font-size: 20px; }
	.diamond-grid { max-width:630px; margin-inline: auto;}
	
}
@media only screen and (max-width:1200px) { 
	.location-section { padding-block: 50px 100px; }
}
@media only screen and (max-width:1169px) { 
	.site-logo-img img { max-width: 200px; }
	.header-social-inner-wrap { margin-right: 0px; }
	.ast-builder-menu-1 .menu-item > .menu-link { font-size: 18px; padding-inline: 10px; }
	.page-banner .elementor-widget-image img { max-width: 250px; }
	.page-banner .countdown .countdown-item { width:80px; height:80px; }
	.page-banner .countdown .countdown-item .elementor-heading-title { font-size:20px; }
}

@media only screen and (max-width:1024px) { 
	 #ast-desktop-header { display: none;}
    #ast-mobile-header { display: block; }
	#ast-mobile-header .ast-primary-header-bar { padding-inline: 20px; }
    .ast-hfb-header .ast-mobile-popup-content .ast-builder-menu-mobile .main-navigation .main-header-menu { flex-direction: column;}
    .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link { border-bottom-width: 1px; border-color: #eaeaea; border-style: solid; line-height: 48px; border-width: 1px;}
    .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:not(.menu-button) > .menu-link:hover,
    .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:not(.menu-button) > .menu-link:focus,
    .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item.current-menu-item:not(.menu-button) > .menu-link  { background-color:var(--primary-color); color:#ffffff; }
	.ast-mobile-popup-drawer.active .menu-toggle-close:focus { border:0; }	
	.ast-button-wrap .menu-toggle.main-header-menu-toggle { background-color: #ffffff; border: 0; }
	.ast-button-wrap .menu-toggle.main-header-menu-toggle svg { fill:var(--primary-color) !important; width: 30px !important; height: 30px !important; }
	
	.ast-builder-grid-row-container.ast-builder-grid-row-mobile-full .ast-builder-grid-row {grid-template-columns: 1fr; }
	.site-footer-primary-section-2 aside.footer-widget-area { display: flex !important; margin-block: 20px; }
	.social-list li a { width: 40px; height: 40px; }
	.social-list li a svg { width: 20px; height: 20px; }
}

@media only screen and (max-width:767px) { 
	.gallery .gallery-left img,
	.gallery .gallery-right img{ width: 100%; height:300px; max-width: 400px; }
	.gallery .gallery-left .elementor-widget-image { overflow:hidden; }
	.shape:before, .shape:after,
	.about-section:before, .about-section:after { width: 150px; height: 150px; }
	.shape.shape_top:before,
	.about-section:before { top: -75px; }
	.shape.shape_bottom:after,
	.about-section:after { bottom: -75px; }
	.about-section { padding-inline: 20px; }
	.contact-section { padding-inline: 20px; }
	.contact-inner:before { width: 150px; height: 150px; top: -75px; }	
	.section-space { padding:70px 20px; }
	.page-banner .countdown .e-flex { justify-content:center; }
	.page-banner .countdown .elementor-widget-image { width:100%; }
	.site-main header.entry-header .entry-title, 
	.page-title .elementor-widget-shortcode .elementor-shortcode { font-size: 24px; }
	.site-main header.entry-header .entry-title:before, 
	.page-title .elementor-widget-shortcode .elementor-shortcode:before { width: 30px; }
	
	
	
}

@media only screen and (max-width:639px) {
	.diamond-grid {gap: 10px 10px;top: 75px; max-width: 490px; }
	.diamond-box { width: 150px; }
	.diamond-box:nth-child(5n + 4) { transform: translateY(-75px); }
	.diamond-box:nth-child(5n + 5) { transform: translateY(-75px); }
	.diamond-box:nth-child(5n + 6),
	.diamond-box:nth-child(5n + 7),
	.diamond-box:nth-child(5n + 8) { transform: translateY(-150px); }
	
}

@media only screen and (max-width:575px) {
	.diamond-box { width:140px; }
	.diamond-title h2.elementor-heading-title { font-size: 16px;}
	.hero-section .countdown { bottom: -40px; }
	.countdown .countdown-item { width: 80px; height: 80px; }
	.countdown .countdown-item .elementor-heading-title { font-size: 20px; line-height: 1.1; }
	.location-section { margin-top: 0; }
}

@media only screen and (max-width:479px) { 
	.section-title h2, .section-title h2.elementor-heading-title { font-size: 30px; }
	.hero-section .elementor-widget-image img { max-width: inherit ; }
	.diamond-grid { display:flex; justify-content:center; flex-direction:column; gap:10px; top:auto; }
	.diamond-box { width: 160px; }
	.diamond-box:nth-child(5n + 4) { transform: translateY(0px); }
	.diamond-box:nth-child(5n + 5) { transform: translateY(0px); }
	.diamond-box:nth-child(5n + 6),
	.diamond-box:nth-child(5n + 7),
	.diamond-box:nth-child(5n + 8) { transform: translateY(0px); }
	.ast-button-wrap .menu-toggle.main-header-menu-toggle { padding: 5px; }
	.ast-button-wrap .menu-toggle.main-header-menu-toggle svg { width: 24px !important; height: 24px !important; }
	.hero-section .countdown { bottom: -30px; }
	.countdown .countdown-item { width: 60px; height: 60px; }
	.countdown .countdown-item .elementor-heading-title { font-size: 16px; }
	.site-footer .site-primary-footer-wrap { padding: 50px 20px;}
	.page-banner .countdown .e-flex { gap: 10px; }
	.page-banner .countdown .countdown-item { width: 60px; height: 60px; }
	.page-banner .countdown .countdown-item .elementor-heading-title { font-size: 16px; }
	.location-map { padding-inline: 20px; padding-bottom:50px; }
	.contact-inner:before { left:20px; width: 100px; height: 100px; top: -50px; }
	.shape:before, .shape:after,
	.about-section:before, .about-section:after { width: 100px; height: 100px; }
	.shape.shape_top:before,
	.about-section:before { top: -50px; }
	.shape.shape_bottom:after,
	.about-section:after { bottom: -50px; }
	.single-diamond .diamond-box .diamond-title { bottom: 70px; }
	.single-diamond .diamond-box .diamond-title h2.elementor-heading-title { font-size: 36px; }
}