@font-face { font-family: 'josefin'; src:url('../fonts/JosefinSans-Bold.ttf'); }
@font-face { font-family: 'nunito'; src:url('../fonts/NunitoSans-VariableFont_YTLC,opsz,wdth,wght.ttf'); }

body, html { margin:0; padding:0; }
html { scroll-behavior: smooth; }
body { font-family:'josefin'; }

/*** global stuff ***/
.center { text-align: center; }
.block { display:block; }
.bold { font-weight:bold; }
.justify { text-align:justify; }
.none { display:none !important; }
.divp { margin-top:1em; margin-bottom:1em; }
.foot-button { background:#ff5400; border-radius:10px; color:white; font-size:28px; line-height:28px; 
    border:none; font-family: 'josefin'; padding:20px 30px 10px 30px; cursor:pointer; }
.foot-button:hover { background:#ee4300; }

/*** header ***/
.header { background:url('../imgs/header_bg.png') no-repeat; background-size: 100% 95px; height:95px; 
    color:white; position:relative; }
.header-inner { max-width:1200px; margin:0 auto 0 auto; }
.header-logo { margin:10px 20px 0 20px; }
.header-logo:hover { filter: brightness(70%); }
.nav-menu { display:flex; float:right; margin:20px 20px 0 0; gap:20px; width:100%; max-width:500px; justify-content: space-between; }
.nav-link { text-decoration:none; color:white; font-size:24px; }
.nav-link:hover { color:lightgray; }

/*** home page ***/
.home-hero { background:url('../imgs/home_bg.png'); text-align:center; min-height:600px; margin-top:-25px; }
.home-hero-img { margin-top:50px; max-width:80%; }
.home-hero-copy { color:black; font-size:36px; line-height:48px; max-width:600px; display:inline-block; 
    margin:30px 0 30px 0; }

.home-our-work { background-image: linear-gradient(#058281, #015252); padding-bottom:20px; }
.home-curve-1 { margin-top:-49px; width:100%; height:50px; }
.home-our-work-inner { max-width:1200px; margin:0 auto 0 auto; } 
.home-heart-1 { width:min(185px, 20vw); transform:translateY(-76px); }
.home-our-work-title { color:white; font-size:36px; text-align:center; margin-top:-30px; }
.home-work-brands { border:#a1d6ce 6px solid; border-radius:20px; text-align:center; margin:0 20px 70px 20px;
    background: url('../imgs/our-work-bg-left.png') left top no-repeat, 
    url('../imgs/our-work-bg-right.png') right top no-repeat, #ffffff;
    background-size: auto 100%, auto 100%;
}    
.home-work-soup { max-width:70%; }

.home-our-services { background-image: linear-gradient(#2d9895, #a1d6ce); padding-bottom:20px; }
.home-curve-2 { margin-top:-25px; width:100%; height:50px; }
.home-our-services-inner { max-width:1200px; margin:0 auto 0 auto;  } 
.home-heart-2 { margin-top:-66px; position:absolute; right:50%; transform:translateX(min(600px, 48vw)); 
    z-index:10; width:min(186px, 20vw); }
.home-our-services-title { color:white; font-size:36px; text-align:center; margin-top:-5px; }
.home-services-items { display:flex; justify-content: center; gap:20px; flex-wrap: wrap; padding-bottom:50px; }
.home-services-item { max-width:360px; height:260px; border:#a1d6ce 6px solid; border-radius:20px; 
    background:white; transform:scale(min(1.0, 90vw)); width:90%; text-align:center; }
.home-services-img { max-width:60%; max-height:150px; margin:20px 0 30px 0; object-fit: contain; }
.home-services-title { font-size:24px; text-align:center; }


.home-curve-3 { margin-top:-25px; width:100%; height:50px; }
.home-heart-3 { margin-top:-76px; width:207px; position:absolute; left:50%; 
    transform:translateX(max(-600px, -48vw)); width:min(186px, 20vw);  }
.home-about-inner { width:1200px; margin:20px auto 0 auto; display:flex; gap:40px; flex-wrap: wrap; 
    justify-content:center; max-width: calc(100vw - 39px); } 
.home-about-box { width:340px; height:210px; background:#a1d6ce; border-radius:20px; flex-shrink:0; 
    margin-top:20px; max-width:100vw; }
.home-about-title { font-size:36px; max-width:100vw; }
.home-about-copy { font-size:18px; max-width:100vw; }
.home-about-right { flex-grow:1; flex: 1 0 330px; min-width:330px; margin:0 30px 0 30px; }


/*** footer ***/
.footer { position:relative; }
.footer-stars {  background-image: url('../imgs/footer_bg_left.png'), url('../imgs/footer_bg_right.png');
    background-position: left bottom, right bottom; background-repeat: no-repeat; background-size:min(25vw, 394px) auto, min(25vw, 415px) auto;
    width: 100%; height: 715px; position:absolute; pointer-events: none; bottom:0; }
.footer-social { text-align:center; margin:50px 0 60px 0; }
.footer-social-title { font-size:24px; }
.footer-social-items { display:flex; justify-content:center; gap:20px; margin-top:20px; }
.footer-social-item:hover { filter: opacity(0.7); }
.footer-curve { margin-top:-25px; margin-bottom:-1px; width:100%; height:50px; }
.footer-body { background-color:#004040; min-height:531px; margin-top:-5px; }
.footer-create-box { background:white; width:740px; max-width:90%; margin:-44px auto 0 auto; 
    border-radius:20px; text-align:center; padding:0 0 24px 0; }
.footer-create-title { font-size:48px; padding-top:48px; margin-bottom:24px; }
.footer-logo { display:block; margin:48px auto 0 auto; }
.footer-copyright { font-size:18px; color:white; margin:48px auto 0 auto; text-align:center; 
    font-family:'nunito'; position:relative; }
.footer-links { text-align:center; margin-top:8px; font-family:'nunito'; font-size:18px; position:relative; }
.footer-link { text-decoration:none; }
.footer-link:hover { text-decoration: underline; color:white; }
.footer-link-copy { text-decoration:none; color:white; }
.footer-bullet { color:white; margin:0 5px 0 5px; }


@media (max-width: 768px) {
    .nav-menu { display:none; }
    .footer-create-title { font-size:36px; padding-top:36px; margin-top:40px; }
}