/* GT Elementor Widgets - Replacement CSS for Elementor Pro widgets */

/* ============================================================
   AUTHOR BOX
   ============================================================ */

.elementor-author-box {
  display: flex;
  align-items: center;
}
.elementor-author-box__avatar {
  flex-shrink: 0;
  margin-right: 25px;
}
.elementor-author-box__avatar img {
  width: 100px;
  border-radius: 500px;
  object-fit: cover;
}
.elementor-author-box__text {
  flex-grow: 1;
  font-size: 17px;
}
.elementor-author-box__name {
  font-size: 24px;
  margin-bottom: 5px;
}
.elementor-author-box__bio {
  margin-bottom: 0.8em;
}
.elementor-author-box__bio p {
  margin-bottom: 0.8em;
}
.elementor-author-box__bio p:last-of-type {
  margin-bottom: 0;
}
.elementor-author-box--layout-image-left .elementor-author-box {
  flex-direction: row;
}
.elementor-author-box--layout-image-left .elementor-author-box__avatar {
  margin-left: 0;
  margin-right: 25px;
}
.elementor-author-box--layout-image-right .elementor-author-box {
  flex-direction: row-reverse;
}
.elementor-author-box--layout-image-right .elementor-author-box__avatar {
  margin-right: 0;
  margin-left: 25px;
}
.elementor-author-box--layout-image-above .elementor-author-box {
  display: block;
}
.elementor-author-box--layout-image-above .elementor-author-box__avatar {
  margin: 0 auto 15px;
  display: inline-block;
}
.elementor-author-box--align-left .elementor-author-box {
  text-align: left;
}
.elementor-author-box--align-right .elementor-author-box {
  text-align: right;
}
.elementor-author-box--align-center .elementor-author-box {
  text-align: center;
}
.elementor-button.elementor-author-box__button {
  border: solid 2px #55595c;
  font-size: 15px;
  font-weight: 100;
  padding: 10px 18px;
}
.elementor-button.elementor-author-box__button,
.elementor-button.elementor-author-box__button:hover {
  background: transparent;
  color: #55595c;
}
.elementor-widget-author-box:not(.elementor-author-box--layout-image-above) .elementor-author-box__avatar {
  align-self: flex-start;
}

/* ============================================================
   BLOCKQUOTE
   ============================================================ */

.elementor-widget-blockquote blockquote {
  margin: 0;
  padding: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  quotes: none;
  border: 0;
  font-style: normal;
  color: #55595c;
}
.elementor-widget-blockquote blockquote:before,
.elementor-widget-blockquote blockquote:after,
.elementor-widget-blockquote blockquote cite:before,
.elementor-widget-blockquote blockquote cite:after,
.elementor-widget-blockquote blockquote .e-q-footer:before,
.elementor-widget-blockquote blockquote .e-q-footer:after {
  content: none;
}
.elementor-blockquote {
  transition: .3s;
}
.elementor-blockquote__author,
.elementor-blockquote__content {
  margin-bottom: 0;
  font-style: normal;
}
.elementor-blockquote__author {
  font-weight: 700;
}
.elementor-blockquote .e-q-footer {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
}
/* Skin: quotation mark */
.elementor-blockquote--skin-quotation .elementor-blockquote:before {
  content: "\201C";
  font-size: 100px;
  color: #e6e9ec;
  font-family: "Times New Roman", Times, serif;
  font-weight: 900;
  line-height: 1;
  display: block;
  height: .6em;
}
.elementor-blockquote--skin-quotation .elementor-blockquote__content {
  margin-top: 15px;
}
/* Skin: boxed */
.elementor-blockquote--skin-boxed .elementor-blockquote {
  background-color: #e6e9ec;
  padding: 30px;
}
/* Skin: border */
.elementor-blockquote--skin-border .elementor-blockquote {
  border-left: 7px solid #e6e9ec;
  padding-left: 20px;
}
/* Alignment */
.elementor-blockquote--align-left .elementor-blockquote__content {
  text-align: left;
}
.elementor-blockquote--align-left .elementor-blockquote .e-q-footer {
  flex-direction: row;
}
.elementor-blockquote--align-right .elementor-blockquote__content {
  text-align: right;
}
.elementor-blockquote--align-right .elementor-blockquote .e-q-footer {
  flex-direction: row-reverse;
}
.elementor-blockquote--align-center .elementor-blockquote {
  text-align: center;
}
.elementor-blockquote--align-center .elementor-blockquote .e-q-footer,
.elementor-blockquote--align-center .elementor-blockquote__author {
  display: block;
}

/* ============================================================
   FLIP BOX
   ============================================================ */

.elementor-flip-box {
  height: 280px;
  position: relative;
}
.elementor-flip-box__front {
  background-color: #1abc9c;
}
.elementor-flip-box__back {
  background-color: #4054b2;
  display: block;
}
.elementor-flip-box__layer {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: all .6s ease-in-out;
}
.elementor-flip-box__layer__overlay {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  text-align: center;
  padding: 35px;
  color: #fff;
}
.elementor-flip-box__layer__title {
  font-size: 21px;
  line-height: 1;
  font-weight: 600;
}
.elementor-flip-box__layer__description {
  font-size: 14px;
}
.elementor-flip-box__layer__description:not(:last-child),
.elementor-flip-box__layer__title:not(:last-child) {
  margin: 0 0 20px;
  padding: 0;
}
.elementor-flip-box__button.elementor-button {
  cursor: pointer;
  align-self: center;
  margin-left: auto;
  margin-right: auto;
  border: 2px solid #fff;
  background: transparent;
}
.elementor-flip-box__button.elementor-button:hover {
  background: transparent;
  text-decoration: none;
}

/* Fade effect */
.elementor-flip-box--effect-fade .elementor-flip-box .elementor-flip-box__back {
  opacity: 0;
}
.elementor-flip-box--effect-fade .elementor-flip-box:hover .elementor-flip-box__back {
  opacity: 1;
}
/* Flip effect */
.elementor-flip-box--effect-flip .elementor-flip-box {
  perspective: 1000px;
  transform-style: preserve-3d;
}
.elementor-flip-box--effect-flip .elementor-flip-box__layer {
  transform-style: preserve-3d;
  backface-visibility: hidden;
}
.elementor-flip-box--effect-flip .elementor-flip-box__front {
  z-index: 1;
}
.elementor-flip-box--effect-flip.elementor-flip-box--direction-right .elementor-flip-box__back {
  transform: rotateY(-180deg);
}
.elementor-flip-box--effect-flip.elementor-flip-box--direction-right .elementor-flip-box:hover .elementor-flip-box__front {
  transform: rotateY(180deg);
}
.elementor-flip-box--effect-flip.elementor-flip-box--direction-right .elementor-flip-box:hover .elementor-flip-box__back {
  transform: none;
}
/* Zoom-in effect */
.elementor-flip-box--effect-zoom-in .elementor-flip-box .elementor-flip-box__back {
  transition: transform .7s, opacity .5s .2s;
  opacity: 0;
  transform: scale(.7);
}
.elementor-flip-box--effect-zoom-in .elementor-flip-box:hover .elementor-flip-box__back {
  transition: transform .7s, opacity .5s;
  opacity: 1;
  transform: scale(1);
}
/* Push/slide effects */
.elementor-flip-box--effect-push .elementor-flip-box,
.elementor-flip-box--effect-slide .elementor-flip-box {
  overflow: hidden;
}
.elementor-flip-box--effect-push .elementor-flip-box:hover .elementor-flip-box__back,
.elementor-flip-box--effect-slide .elementor-flip-box:hover .elementor-flip-box__back {
  transform: none;
}
.elementor-flip-box--effect-push.elementor-flip-box--direction-right .elementor-flip-box__back,
.elementor-flip-box--effect-slide.elementor-flip-box--direction-right .elementor-flip-box__back {
  transform: translateX(-100%);
}
.elementor-flip-box--effect-push.elementor-flip-box--direction-left .elementor-flip-box__back,
.elementor-flip-box--effect-slide.elementor-flip-box--direction-left .elementor-flip-box__back {
  transform: translateX(100%);
}

/* Flipped state (touch/mobile) */
.elementor-widget-flip-box.elementor-flip-box--flipped .elementor-widget-container .elementor-flip-box__front {
  display: none;
}
.elementor-widget-flip-box.elementor-flip-box--flipped .elementor-widget-container .elementor-flip-box__back {
  transform: none;
  opacity: 1;
}
@media (max-device-width: 1024px) {
  .elementor-flip-box { cursor: pointer; }
}

/* ============================================================
   NAV MENU
   ============================================================ */

.elementor-nav-menu,
.elementor-nav-menu li,
.elementor-nav-menu ul {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: normal;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
.elementor-nav-menu ul { display: none; }
.elementor-nav-menu a,
.elementor-nav-menu li { position: relative; }
.elementor-nav-menu li { border-width: 0; }
.elementor-nav-menu a {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  line-height: 20px;
}

/* Horizontal layout */
.elementor-nav-menu--layout-horizontal {
  display: flex;
}
.elementor-nav-menu--layout-horizontal .elementor-nav-menu {
  display: flex;
  flex-wrap: wrap;
}
.elementor-nav-menu--layout-horizontal .elementor-nav-menu a {
  white-space: nowrap;
  flex-grow: 1;
}
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li {
  display: flex;
}

/* Justify alignment */
.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
  width: 100%;
}
.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li {
  flex-grow: 1;
}
.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a {
  justify-content: center;
}

/* Left/right/center alignment */
.elementor-nav-menu__align-right .elementor-nav-menu { margin-left: auto; justify-content: flex-end; }
.elementor-nav-menu__align-left .elementor-nav-menu { margin-right: auto; justify-content: flex-start; }
.elementor-nav-menu__align-center .elementor-nav-menu {
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}

/* Main nav container */
.elementor-nav-menu--main .elementor-nav-menu a {
  transition: .4s;
  padding: 13px 20px;
}

/* No pointer (no underline/border hover effects) */
.elementor-item:after,
.elementor-item:before {
  display: block;
  position: absolute;
  transition: .3s;
}
.elementor-item:not(:hover):not(:focus):not(.elementor-item-active):not(.highlighted):after,
.elementor-item:not(:hover):not(:focus):not(.elementor-item-active):not(.highlighted):before {
  opacity: 0;
}

/* Widget container layout */
.elementor-widget-nav-menu .elementor-widget-container {
  display: flex;
  flex-direction: column;
}
.elementor-nav-menu {
  position: relative;
  z-index: 2;
}

/* Toggle (hamburger) - hidden by default when no toggle */
.elementor-widget-nav-menu:not(.elementor-nav-menu--toggle) .elementor-menu-toggle {
  display: none;
}

/* Dropdown container - hidden when dropdown=none */
.elementor-nav-menu--dropdown-none .elementor-menu-toggle,
.elementor-nav-menu--dropdown-none .elementor-nav-menu--dropdown {
  display: none;
}

/* Stretch (full-width dropdown) */
.elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown {
  position: absolute;
  z-index: 9997;
}

/* Active/hover item state */
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown .elementor-item.highlighted,
.elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-sub-item.elementor-item-active,
.elementor-sub-item.highlighted,
.elementor-sub-item:focus,
.elementor-sub-item:hover {
  background-color: #55595c;
  color: #fff;
}
