/**********
***
****** Global Styles
***
**********/
/*** Standardized Padding ***/
.perfect-padding-small {
  padding-top: calc(30px + 2vw);
  padding-bottom: calc(30px + 2vw);
  padding-right: initial;
  padding-left: initial; }

.perfect-padding {
  padding-top: calc(40px + 3vw);
  padding-bottom: calc(40px + 3vw);
  padding-right: 20px;
  padding-left: 20px; }

.perfect-padding-big {
  padding-top: calc(40px + 6vw);
  padding-bottom: calc(40px + 6vw);
  padding-right: initial;
  padding-left: initial; }

.perfect-padding-huge {
  padding-top: calc(40px + 9vw);
  padding-bottom: calc(40px + 9vw);
  padding-right: initial;
  padding-left: initial; }

.perfect-padding-hero {
  padding-top: calc(40px + 9vw);
  padding-bottom: calc(40px + 7vw);
  padding-right: initial;
  padding-left: initial; }

.perfect-padding-hero-large {
  padding-top: calc(40px + 12vw);
  padding-bottom: calc(40px + 12vw);
  padding-right: initial;
  padding-left: initial; }

.perfect-padding-full {
  padding: calc(40px + 3vw); }

/***** Animation Tweaks *****/
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
            transform: translate3d(0, 60px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
            transform: translate3d(0, 60px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60px, 0, 0);
            transform: translate3d(-60px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-60px, 0, 0);
            transform: translate3d(-60px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(60px, 0, 0);
            transform: translate3d(60px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(60px, 0, 0);
            transform: translate3d(60px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
            transform: translate3d(0, 60px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
            transform: translate3d(0, 60px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.6, 0.6, 0.6);
            transform: scale3d(0.6, 0.6, 0.6); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.6, 0.6, 0.6);
            transform: scale3d(0.6, 0.6, 0.6); }
  50% {
    opacity: 1; } }

/*** Elementor Fixes ***/
/* Remove extra margin in text-editor */
section div.elementor-text-editor p:last-of-type {
  margin-bottom: 0; }

section div.elementor-text-editor h3, section div.elementor-text-editor h4 {
  margin: 1em auto .33em; }
  section div.elementor-text-editor h3:first-of-type, section div.elementor-text-editor h4:first-of-type {
    margin-top: 0; }

@media (max-width: 767px) {
  section div.elementor-text-editor p:last-of-type {
    margin-bottom: .5em; }
  section div.elementor-text-editor h3, section div.elementor-text-editor h4 {
    margin: .66em auto .25em; } }

.comments-area a,
.page-content a {
  text-decoration: none; }

/**********
***
****** Global Elements
***
**********/
/*
 * Gravity Forms
 */
body .gform_legacy_markup_wrapper ul.gform_fields {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

body .gform_legacy_markup_wrapper ul li.gfield {
  margin: 0 !important;
  padding: 0 !important; }

/** Input **/
body .gform_legacy_markup_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
body .gform_legacy_markup_wrapper textarea {
  border-color: #ddd;
  border-radius: 5px;
  padding: 12px;
  margin-top: 0; }

/** Button **/
[type=button],
[type=submit],
button,
.gform_legacy_markup_wrapper .gform_footer input.button,
.gform_legacy_markup_wrapper .gform_footer input[type=submit],
.gform_legacy_markup_wrapper .gform_page_footer input.button,
.gform_legacy_markup_wrapper .gform_page_footer input[type=submit] {
  border: 0;
  font-size: 16px !important; }

/***** Header & Nav *****/
/*** Header ***/
header section.elementor-sticky--effects {
  -webkit-box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.15) !important;
          box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.15) !important; }

#sticky-header {
  -webkit-transition: transform 0.34s ease;
  -webkit-transition: -webkit-transform 0.34s ease;
  transition: -webkit-transform 0.34s ease;
  transition: transform 0.34s ease;
  transition: transform 0.34s ease, -webkit-transform 0.34s ease; }

.headerup {
  -webkit-transform: translateY(-96px);
      -ms-transform: translateY(-96px);
          transform: translateY(-96px);
  /*adjust this value to the height of your header*/ }

div.menu-title {
  display: block;
  font-size: .75em; }

ul.sub-menu li.menu-item a {
  display: block; }

/*** Footer ***/
/*** Site Sub-footer ***/
.site-sub-footer a {
  color: #fff; }

.site-footer__copyright p,
.site-footer__credit p {
  margin-bottom: 0; }

/**********
***
****** Home
***
**********/
/**********
***
****** Pages
***
**********/
/** About **/
.staff-photo img {
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top; }

/** Staff **/
.list-education,
.list-certification {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  padding-left: 18px; }

/** Service **/
