@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i|Rubik:700i&display=swap');
:root {
  --green: #009617;
  --lightgreen: #79C885;
  --orange: #FF9C00;
  --gray: #7C7C7C;
  --lemongreen: #DFFC00;
  --lightbrown: #e5ab99;
}
* {
	box-sizing: border-box;
}
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
  font-family: 'Open Sans', Arial, sans-serif;
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
hr.orange {
  border-color: var(--orange);
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.header {
  display: block;
  background-color: #009617;
  padding: 20px 5vw 0px;
  transition: padding-top 0.5s;
  z-index: 101;
}
.logo img {
  box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.container {
  width: 80%;
  max-width: 1020px;
  margin: 0 auto;
  padding: 6vw 0px;
}
.container p {
  line-height: 1.75em;
}
.containersmall {
  max-width: 800px;
  padding-top: 50px;
}
.containerform {
  max-width: 400px;
  padding-top: 50px;
}
.hero {
  background-size: cover;
  background-position: 50% 50%;
  height: 60vw;
}
.hero div.container {
  padding: 0px !important;
}
.hero-home { background-color: rgb(198, 217, 221); background-image: url('../img/hero-home.jpg'); animation: reveal 3s; }
.hero-services { background-color: rgb(225, 113, 67); background-image: url('../img/hero-services.jpg'); animation: reveal 3s; }
.hero-insurance { background-color: rgb(147, 160, 169); background-image: url('../img/hero-insurance.jpg'); animation: reveal 3s; }
.hero-contact { background-color: rgb(165, 189, 225); background-image: url('../img/hero-contact.jpg'); animation: reveal 3s; }

@keyframes reveal {
  from { opacity: 0; }
  to { opacity: 1; }
}
#herotitle {
  font-family: 'Rubik', 'rubikbold_italic', sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 9vw;
  line-height: 9vw;
  color: white;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  height: 60vw;
  word-wrap: normal;
}
.grid {
  display: grid;
  grid-gap: 2vw;
}
.col3-1, .col1-1, .col2-1 {
  grid-template-columns: 1fr;
}
.grid-col2, .gridcol3 {
  grid-template-columns: 1fr;
}
.gridcol4 {
  grid-template-columns: 1fr;
}
h1, h2 {
  font-family: "Rubik", "rubikbold_italic", sans-serif;
}
h1 { font-size: 2.2em; }
h2 { font-size: 2em; }

h1:first-of-type, h2:first-of-type, p:first-of-type { margin-top: 0px; }

a {
  color: inherit;
  text-decoration: none;
}
.slink {
  text-align: center;
  color: black;
  padding: 20px;
  color: white;
}
.slink a {
  display: block;
  color: white;
  font-style: italic;
  text-decoration: none;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
  border: 1px solid var(--green);
  border-color: var(--lightgreen);
  transition: border-color 1s 0.5s;
  border-radius: 20px;
}
.slink a:hover {
  border-color: var(--green);
}
.slink img {
  width: 60px;
  padding-top: 10px;
}
#serviceslinks div.container {
  padding-bottom: 35px;
}
#serviceslinks::after {
  content: "Call today: (305) 242-1399";
  padding: 10px 12px;
  border-radius: 30px;
  color: white;
  background-color: var(--orange);
  font-family: "Rubik", "rubikbold_italic", sans-serif;
  font-size: 16px;
  position: absolute;
  left: 0;
  right: 0;
  margin: -30px auto 30px;
  display: inline-block;
  width: 240px;
  text-align: center;
}
#servicesintro, #insuranceintro {
  background: var(--orange);
}
#services .container {
  padding-top: 0;
  margin-top: -10px;
}
#contactinfo, #contacthablamos {
  text-align: center;
}
#contactinfo img {
  height: 70px;
}
#contacthablamos p   {
  font-family: "Rubik", sans-serif;
  color: var(--gray);
}
#contactform {
  background-color: #F4F4F4;
  text-align: center;
}
.service {
  background-color: var(--lightgreen);
  text-align: center;
  padding: 15px;
  height: auto;
  margin: 50px 0px;
}
.service:nth-child(even) {
  background-color: var(--lightbrown);
}
.service img {
  width: 70%;
  border-radius: 100%;
  margin: -30% auto 10px;
  transition: 0.3s;
}
.service img:hover {
  transform: scale(1.1);
}
.service p:hover, .service p:active {
  overflow-y: scroll;
}
.instext div {
  margin-bottom: 15px;
  border-bottom: 4px solid var(--lightgreen);
}
.instext p {
  font-family: "Rubik", sans-serif;
  color: gray;
}
.call2action {
  font-weight: bold;
  font-size: 18px;
  text-align: center;
}
.call2action-button {
  padding: 10px 15px;
  border-radius: 30px;
  font-family: "Rubik", sans-serif;
  font-size: 18px;
  text-align: center;
  margin: 20px auto;
  max-width: 320px
}
.uomotop::before {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  margin-top: -40px;
  content: url('../img/uomo.png');
  width: 80px;
}
.panoramic {
  height: 125px;
  background-image: url('../img/panoramic@0,25x.jpg');
  background-size: cover;
  background-position: 50% 50%;
}
.rightplace {
  font-style: italic;
  padding: 5px 10px;
  background-color: var(--orange);
  margin-left: -10px;
}

.footer {
  background-color: #313131;
  text-align: center;
  padding: 20px;
}
.byline {
  margin: 0;
  padding: 0;
  color: white;
  font-size: 0.75em;
}
.graytext { color: var(--gray); }
.whitetext { color: white; }
.blacktext { color: black; }
.lightgreenbg { background-color: var(--lightgreen); }
.lemongreenbg { background-color: var(--lemongreen); }
.orangebg { background-color: var(--orange); }


/* ==========================================================================
   Navigation styles
   ========================================================================== */

header {
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
  z-index: 100;
}
#menusymbol {
  position: absolute;
  right: 10px;
  top: 10px;
}
.menu {
  display: grid;
  justify-items: start;
  position: relative;
}
.nav {
  display: none;
  position: absolute;
  background-color: rgba(0, 125, 23, 0.8);
  z-index: -1;
}
.shownav {
  display: block;
}
.logo img {
  margin-bottom: -20px;
}
ul.nav {
	font-size: 0.9em;
	margin: 0px;
	padding: 0px;
	text-transform: uppercase;
	padding-top: 30px;
	width: 100%;
}
ul.nav li {
  list-style: none;
  display: block;
  border-top: 1px solid white;
}
ul.nav li a {
	display: block;
	padding: 10px;
	color: white;
	text-decoration: none;
}
ul.nav a:hover {
	background-color: var(--orange);
	color: white;
}
.current {
	border-bottom: 0px;
}


/* ==========================================================================
   Form styles
   ========================================================================== */

input[type=text], input[type=phone], input[type=email], input[type=submit], textarea {
  width: 100%;
  padding: 10px 15px;
  font-size: 18px;
  margin: 5px 0px;
}
input[type=submit] {
  background-color: var(--green);
  color: white;
  font-weight: bold;
  border: 0;
  border-radius: 10px;;
}
textarea {
  height: 6em;
}
label {
  display: block;
  text-align: center;
  margin-top: 15px;
  letter-spacing: 0.3em;
  color: var(--gray);
  font-style: italic;
  text-transform: uppercase;
}
#thankyou {
  background-color: var(--orange);
}
#thankyou p {
  line-height: 4em;
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
  display: none !important;
}
.reverse,.inverse a, .inverse, a:visited {
  color: white;
}
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}
.fullwidth {
  width: 100%;
}

/* ==========================================================================
   Media Queries for Responsive Design. Mobile First Method
   ========================================================================== */

    /* Custom, iPhone Retina */
    @media only screen and (min-width : 320px) {

    }

    /* Extra Small Devices, Phones */
    @media only screen and (min-width : 480px) {
      .gridcol2 {
        grid-template-columns: 1fr 1fr;
      }
      .gridcol3 {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }

    /* Small Devices, Tablets */
    @media only screen and (min-width : 768px) {
      header {
          display: grid;
        grid-template-columns: 1fr 1fr;
          background-color: var(--green);
      }
      #menusymbol { display: none; }
      .menu {
        background-color: #009617;
        align-content: center;
        justify-items: end;
        padding-right: 15px;
      }
      .nav {
        display: block;
        position: relative;
        background-color: transparent;
        z-index: 50;
      }
      ul.nav {
        width: auto;
        padding-top: 0px;
      }
      ul.nav li {
        display: inline-block;
        border-top: 0px;
      }
      .current {
        border-bottom: 3px solid white;
      }
      .col3-1 { grid-template-columns: 3fr 1fr; }
      .col2-1 { grid-template-columns: 2fr 1fr; }
      .col1-1 { grid-template-columns: 1fr 1fr; }
      .gridcol4 {
        grid-template-columns: repeat( 2, 1fr );
      }
      .grid { grid-gap: 3vw; }
      .panoramic { background-image: url('../img/panoramic@0,5x.jpg'); height: 480px; }
      #contacthablamos img {
        margin: -100px 0px 30px;
      }
      h1 { font-size: 3em; }
      .herotitle { width: 60%; }
      .service {
          height: 475px;
      }
      .service p {
        height: 224px;
        overflow-y: hidden;
      }
    }

    /* Medium Devices, Desktops */
    @media only screen and (min-width : 992px) {
      .grid { grid-gap: 2vw; }
      .panoramic { background-image: url('../img/panoramic.jpg'); height: 450px; }
      header {
        grid-template-columns: 1fr 1fr;
      }
      .logo img {
        margin-bottom: -30px;
      }
      .containersmall p {
        text-align: center;
      }
      .gridcol4 {
        grid-template-columns: repeat( 4, 1fr );
      }
      #contactform {
        background-image: url('../img/doc-nurse.png'), url('../img/nurse.png');
        background-position: 10% 50%, 90% 50%;
        background-repeat: no-repeat;
      }
    }

    /* Large Devices, Wide Screens */
    @media only screen and (min-width : 1200px) {
      .panoramic { background-image: url('../img/panoramic.jpg'); height: 600px; }
      #herotitle {
          font-size: 100px;
          line-height: 100px;
      }
    }

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

