/* Paten Biotech — modern pharmaceutical visual refresh */
:root {
  --paten-green: #087a55;
  --paten-green-dark: #04563d;
  --paten-mint: #eaf8f2;
  --paten-blue: #157a9a;
  --paten-ink: #15352e;
  --paten-muted: #60736d;
  --paten-line: #dcebe5;
  --paten-surface: #ffffff;
  --paten-bg: #f5faf8;
  --paten-shadow: 0 14px 40px rgba(6, 75, 54, .10);
}

html { scroll-behavior: smooth; }
body {
  background: var(--paten-bg);
  color: var(--paten-ink);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.75;
}

#wrapper { background: transparent; }
a { color: var(--paten-green); transition: color .2s ease, background .2s ease, transform .2s ease; }
a:hover, a:focus { color: var(--paten-green-dark); text-decoration: none; }

header {
  background: #064861;
  border-bottom: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 6px 24px rgba(7, 71, 52, .07);
  position: relative;
  z-index: 20;
}
header .navbar,
.home-page header .navbar-default {
  min-height: 78px;
  margin-bottom: 0;
  padding: 0;
  background: #064861 !important;
}
.navbar-brand { height: 78px; display: flex; align-items: center; padding-top: 13px; padding-bottom: 13px; }
.navbar-brand img { width: 162px !important; max-height: 58px; object-fit: contain; margin-top: 0 !important; }
.navbar-nav { margin-top: 15px; }
header .navbar-default .navbar-nav > li > a {
  color: #f1fbf8 !important;
  font-weight: 600;
  letter-spacing: .01em;
  border-radius: 9px;
  margin: 0 2px;
  padding: 12px 13px;
}
header .navbar-default .navbar-nav > li > a:hover,
header .navbar-default .navbar-nav > li > a:focus,
header .navbar-default .navbar-nav > li.active > a,
header .navbar-default .navbar-nav > li.active > a:hover,
header .navbar-default .navbar-nav > li.active > a:focus {
  background: #e9f8f3 !important;
  color: #04563d !important;
  box-shadow: inset 0 -2px 0 var(--paten-green);
}
.navbar-toggle { margin-top: 21px; border-color: rgba(255,255,255,.55) !important; }
.navbar-toggle .icon-bar { background: #fff !important; }

#featured, .flexslider { margin-bottom: 0; }
.flexslider { border: 0; overflow: hidden; box-shadow: none; }
.flexslider .slides img { filter: saturate(.88) contrast(1.02); }
#banner .flexslider .slides > li { position: relative; }
#banner .flex-caption {
  left: 7% !important;
  right: auto !important;
  bottom: 12%;
  width: auto;
  max-width: 590px;
  margin: 0;
  padding: 24px 30px !important;
  background: rgba(4, 70, 53, .88) !important;
  border-left: 5px solid #54d7a4;
  border-radius: 12px;
  text-align: left;
  box-shadow: 0 16px 45px rgba(2, 42, 33, .24);
}
#banner .flex-caption h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 44px;
  line-height: 1.1;
  font-weight: 750;
  letter-spacing: -.025em;
  text-transform: none;
}
#banner .flex-caption p {
  margin: 0;
  color: #ddf7ed;
  font-size: 19px;
  line-height: 1.45;
}

#inner-headline {
  background: linear-gradient(120deg, var(--paten-green-dark), var(--paten-green) 60%, var(--paten-blue));
  padding: 34px 0;
  position: relative;
  overflow: hidden;
}
#inner-headline:after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  border: 38px solid rgba(255,255,255,.08);
  border-radius: 50%;
  right: 7%;
  top: -95px;
}
#inner-headline h2, #inner-headline .pageTitle { color: #fff; font-size: 32px; font-weight: 700; margin: 0; }

#content { padding: 58px 0; }
#content .container { position: relative; }
.about-logo,
#content .panel,
#content .box,
#content .service-v1,
#content .pricing-box-item {
  background: var(--paten-surface);
  border: 1px solid var(--paten-line);
  border-radius: 16px;
  box-shadow: var(--paten-shadow);
}
.about-logo { padding: 34px 38px; }
#content h2, #content h3, #content h4 { color: var(--paten-green-dark); font-weight: 700; letter-spacing: -.02em; }
#content h3 { margin-top: 24px; }
#content p { color: #4d655e; }
.withArrow li { border-bottom: 1px solid #edf4f1; padding: 9px 0; }
.withArrow .fa { color: var(--paten-green); margin-right: 10px; }

.btn, button, input[type="submit"] {
  border-radius: 9px !important;
  font-weight: 600;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn-theme, .btn-primary, input[type="submit"] {
  background: var(--paten-green) !important;
  border-color: var(--paten-green) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(8, 122, 85, .2);
}
.btn:hover, button:hover, input[type="submit"]:hover { transform: translateY(-1px); }
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  border: 1px solid #cedfd9 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--paten-green) !important; box-shadow: 0 0 0 3px rgba(8,122,85,.1) !important; }

.pricing-box-item, .portfolio-item, .service-v1 { overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.pricing-box-item:hover, .portfolio-item:hover, .service-v1:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(6,75,54,.14); }

footer {
  background: #073f31;
  color: #c9ddd6;
  padding-top: 48px;
  border-top: 5px solid var(--paten-green);
}
footer .widgetheading { color: #fff; font-size: 17px; font-weight: 700; margin-bottom: 18px; }
footer address { color: #d6e6e1 !important; font-style: normal; line-height: 1.65; }
footer address strong { color: #fff; }
footer a,
footer ul.link-list li a,
footer .social-network a { color: #c8e3da !important; }
footer a:hover,
footer ul.link-list li a:hover,
footer .social-network a:hover { color: #fff !important; }
footer .link-list li { border-bottom-color: rgba(255,255,255,.09); padding: 6px 0; }
#sub-footer { background: #043226; border-top: 1px solid rgba(255,255,255,.08); color: #b8cec6; }

@media (max-width: 767px) {
  header .navbar { min-height: 70px; }
  .navbar-brand { height: 70px; }
  .navbar-brand img { width: 142px !important; }
  .navbar-nav { margin-top: 5px; padding-bottom: 10px; }
  .navbar .nav > li > a { margin: 2px 0; }
  #banner .flex-caption {
    left: 6% !important;
    right: 6% !important;
    bottom: 9%;
    max-width: none;
    padding: 16px 18px !important;
  }
  #banner .flex-caption h3 { font-size: 28px; }
  #banner .flex-caption p { font-size: 15px; }
  #inner-headline { padding: 26px 0; }
  #inner-headline h2, #inner-headline .pageTitle { font-size: 26px; }
  #content { padding: 34px 0; }
  .about-logo { padding: 24px 20px; }
  footer { padding-top: 34px; }
}
