/*
Theme Name: 	FDV Consulting
Description: 	Responsive WordPress Theme.
Version:     	1.0
Author:     	Giuseppe Colonna
Author URI:   http://www.giuseppe-colonna.com
Site:         http://www.giuseppe-colonna.com
Text Domain: 	fleeex
Domain Path: 	/languages
Tags:        	grid-layout, blog, video-background, featured-images, 
License:    	GNU General Public License v3.0
License URI:	http://www.gnu.org/licenses/gpl-3.0.html

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/


/* ------------------------------------------------------------------------- *
/* ! Base */
/* ------------------------------------------------------------------------- */


.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}



body {
  width: 100vw;
  overflow-x: hidden;
}


:root {
  --fdv-light-grey: #dee2e6;
  --fdv-offcanvas-font-size: 1.75rem;
}

/* Typography */


body, p,
h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-family: 'Titillium Web', sans-serif;
  color: black;
}

body, p {
  font-weight: 300;
  font-size: 1.25rem;
  letter-spacing: .021rem;
}

@media (max-width: 375px) {
  body, p {
    font-size: 1rem;
    letter-spacing: .011rem;
  }
}

small, .small {
  font-size: 0.75em;
}

.small p {
  font-size: 1em;
}

b, strong {
  font-weight: 600;
}

small,
.small em {color:#757575 !important;}

.img-caption, figcaption {
  color: #aeaeae !important;
  margin-top: .5em;
}

small strong {color: black;}


h1, .h1,
h2, .h2,
h3, .h3 {font-weight: 100;}

h1 b, h1 strong, .h1 b, .h1 strong,
h2 b, h2 strong, .h2 b, .h2 strong,
h3 b, h3 strong, .h3 b, .h3 strong,
h4 b, h4 strong, .h4 b, .h4 strong,
h5 b, h5 strong, .h5 b, .h5 strong,
h6 b, h6 strong, .h6 b, .h6 strong {
  font-weight: 700 !important;
}

.bg-dark p, .dark-bg p,
.bg-dark h1, .dark-bg h1,
.bg-dark h2, .dark-bg h2,
.bg-dark h3, .dark-bg h3,
.bg-dark h4, .dark-bg h4,
.bg-dark h5, .dark-bg h5,
.bg-dark h6, .dark-bg h6 {
  color: white;
}

h2.fs-5 {
  line-height: var(--bs-body-line-height);
}

a {
  text-decoration: none;
  color: black;
  font-weight: 300;
}

:root :where(a:where(:not(.wp-element-button))) {
    text-decoration: none !important;
}

.btn {
  font-weight: 300;
}



a,
a.related-project-line {
  background: linear-gradient(to right, #d9d9d9, #d9d9d9), linear-gradient(to right, rgb(0, 0, 0), rgb(0, 0, 0), rgb(0, 0, 0));
  background-size: 100% 0.1em, 0 0.06em;
  background-position: 100% 103%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size 800ms;
}

a:hover,
a:focus {
  background-size: 0 0.1em, 100% 0.06em;
  color: #000000;
}

a.btn, a.btn:hover, a.clean {
  background-size: 0;
}

.btn:hover {opacity: .85;}

.btn-outline-dark:hover {
  color: var(--bs-primary);
  background-color: #f9f8f4;
  border-color: #f9f8f4;
}

.wp-element-button, .wp-block-button__link {
  background: var(--bs-primary);
  border: 1px solid var(--bs-primary);
  color: white;
  padding: .7rem 1.25rem;
  font-size: 1rem;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
  opacity: .85 !important;
  color: white;
}

nav a,
footer a,
a.nav-link,
a.fdv-widget  {
  background: none;
}

footer #menu-legal a,
.copyright-text span {color: #969696;}

::-moz-selection {color: #FFFFFF;background: #373737;}
::selection {color: #FFFFFF;background: #373737;}





/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Header */
/* --------------------------------------------------------------------------------------------------------------------------- */

nav{height: 90px;} 
.nav-link {
  padding: 1rem 3rem;
  font-size: 1rem;
}

.wpml-ls-legacy-list-horizontal {
  padding: 0 0 0 1rem;
}

.offcanvas-header .wpml-ls-legacy-list-horizontal {
  padding: 0;
}

.wpml-ls-link {
  padding: 1rem .5rem !important;
  font-size: 1rem;
  margin-top: 2px;
}

.offcanvas-header .wpml-ls-link {
  padding: 1rem 0 !important;
  margin-right: 0.5rem;
  font-size: 1.35rem !important;
}

/* CTA BUTTONS */
.fdv_cta_menu {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.fdv_cta_menu li {
  display: inline-block;
}

.fdv_cta_menu li a {
  border: 1px solid var(--bs-primary);
  padding: .7rem 1.25rem;
  display: inline-block;
  font-size: 1rem;
}

.fdv_cta_menu li.primary-btn a {
  background: var(--bs-primary);
  color: white;
}

.fdv_cta_menu li.primary-btn a:hover,
.wpml-ls-link:hover {
  opacity: .85;
}

.fdv_cta_menu__off_canvas li,
.fdv_cta_menu__off_canvas a {
  display: block;
  width: 100%;
  text-align: center;
}

.fdv_cta_menu__off_canvas li {
  margin-bottom: 1rem;
}

.fdv_cta_menu__off_canvas a {
 background: rgba(0, 0, 0, 0);
}


.fdv_cta_menu__off_canvas .primary-btn a {
  font-size: var(--fdv-offcanvas-font-size) !important;
  background-color: transparent !important;
  border: 2px solid #000000 !important;
  color: #000000 !important;
  font-weight: 400;
}




/* NAVBAR */
.navbar-fleeex {
  font-size: 1.1rem;
}

.desc-text {
  font-size: .75rem;
  display: block;
  padding-top: 5px;
  line-height: 13px;
}

.desc-text.desc-text--bottom {line-height: 10px;}

@media (min-width: 992px) {
.navbar-expand-lg .navbar-nav .nav-link {
  padding-right: 1.5rem;
  padding-left: 0;
} }


.navbar-toggler {
  width: 45px;
  height: 30px;
  vertical-align: inherit;
  padding: 0;
  display: flex;
  flex-direction: column;
  -webkit-appearance: button-bevel;
}

.toggle-line {
  width: 100%;
  height: 2px;
  display: inline-block;
  background-color: white;
  margin-top: 10px;
}

/* .toggle-line.tl-bottom {width: 65%;} */

@media (max-width: 991px) { }

.offcanvas-header .btn-close {
  padding: 1rem 1rem;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  color: #000000;
  opacity: 1;
}

.nav-link:hover, .nav-link:focus {
  opacity: .85;
}

.offcanvas-body .nav-link {
  padding: .5rem 0rem;
  color: #000000;
  font-size: var(--fdv-offcanvas-font-size);
  font-weight: 500;
  border-top: 1px solid #ddd;
}

.top-nav-height {top:140px}


.navbar-collapse {
  flex-grow: inherit;
}

.page-template-fdv-homepage .fleeex-navbar-transparent,
.single-portfolio .fleeex-navbar-transparent {background-color: transparent !important;}
.page-template-fdv-homepage .fleeex-navbar-transparent.bg-dark,
.single-portfolio .fleeex-navbar-transparent.bg-dark  {background-color: white !important;}
.page-template-fdv-homepage .fleeex-navbar-transparent.bg-dark a,
.single-portfolio .fleeex-navbar-transparent.bg-dark a  {color: #000000 !important;}

.navbar-toggler {
  color: rgba(255, 255, 255, 0.85);
  border-color: dimgray !important;
  border-radius: 0;
}

 

@media (max-width: 991px) {
  .page-template-fdv-homepage .fleeex-navbar-transparent {background-color: #000000 !important;}
  .page-template-fdv-homepage .fleeex-navbar-transparent li {text-align: center !important;}
}



/* ------------------------------------------------------------------------- *
/* ! Modules */
/* ------------------------------------------------------------------------- */

.sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  padding: 1rem;
}
.fdv-widget {
  max-width: 380px;
  height: 115px;
  border-radius: 12px;
  display: flex;
  transform: translateY(100%);
  opacity: 0;
  transition: all .4s ease-in-out;
  background-color: var(--bs-light);
  float: right;
  animation: boom 3s infinite;
}

@keyframes boom {
  0%   {box-shadow: 0 0 0 0rem rgba(34, 34, 34, 0.25);}
  /* 54%  {box-shadow: 0 0 0 .5rem rgba(34, 34, 34, .28)} */
  100% {box-shadow: 0 0 0 1.5rem rgba(34, 34, 34, 0)}
}


.fdv-widget img {
  width: 85px;
  height: 85px !important;
  object-fit: cover;
  border-radius: 5px;
  border-radius: 50%;
}

.fdv-widget.is_open {
  transform: translateY(0%);
  opacity: 1;
}

.btn-outline-dark {
  border-color: var(--fdv-light-grey);
}

.btn-outline-light:hover {
  color: white;
  background-color: transparent;
  border-color: white;
  opacity: .85;
}


@media (max-width: 600px) {
  .fdv-widget {
    width: 100%;
    left: 0;
    transform: translateY(100%);
  }
  .fdv-widget.is_open {
    transform: translateY(0%);
  }
  .fdv-widget figure {
    display: none;
  }
}

.swiper-slide.client-slide-new img {
  width: 140px;
    height: 70px;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    opacity: .65;
    opacity: 1;
}

@media (max-width: 600px) {
  .swiper-slide.client-slide-new {
      width: 33%;
      height: 70px;
  }
  .swiper-slide.client-slide-new img {
    width: 100%;
    height: 100%; 
    object-fit: contain;
  }
}


/* ! Review Block */

.swiper.fdvReview {
  padding-bottom: 65px;
}

.fdvReview-controllers {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 65px;
}

.fdvReview-controllers-wrap {
  width: 50%;
  position: relative;
}

.fdvReview-controllers-wrap .swiper-button-next,
.fdvReview-controllers-wrap .swiper-button-prev {
  width: auto;
  height: auto;
  margin-top: 15px;
}

.fdvReview-controllers-wrap .swiper-button-next::after,
.fdvReview-controllers-wrap .swiper-rtl .swiper-button-prev::after,
.fdvReview-controllers-wrap .swiper-button-prev::after,
.fdvReview-controllers-wrap .swiper-ltr .swiper-button-next::after {
  display: none;
}

.fdvReview-controllers-wrap .swiper-button-prev,
.fdvReview-controllers-wrap .swiper-rtl .swiper-button-next {
  left: 0px;
  right: auto;
}

.fdvReview-controllers-wrap .swiper-button-next,
.fdvReview-controllers-wrap .swiper-rtl .swiper-button-prev {
  left: 52px;
  right: auto;
}

.fdvReview-controllers-wrap .swiper-horizontal > .swiper-pagination-bullets,
.fdvReview-controllers-wrap .swiper-pagination-bullets.swiper-pagination-horizontal,
.fdvReview-controllers-wrap .swiper-pagination-custom,
.fdvReview-controllers-wrap .swiper-pagination-fraction {
  top: 10px;
  left: 0;
  width: 100%;
  text-align: right;
  padding: 10px 0;
}

.review-picture {
  width: 62px;height: 62px;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--fdv-light-grey);
}

.review-picture img {
  width: 100%;height: 100%;
  object-fit: cover;
  position: absolute;
}

span.linkedin-review {
  background-color: #378fe9;
  padding: 0px 3px;
  display: inline;
  text-align: center;
  font-size: 10px;
  color: white;
  border-radius: 4px;
}

/* ------------------------------------------------------------------------- *
/* ! Portfolio */
/* ------------------------------------------------------------------------- */
.portfolio-arrow {
  width: 42px;
  height: 42px;
  border: 1px solid var(--fdv-light-grey);
  text-align: center;
  display: flex;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  -webkit-transition: background-color .6s ease-out;
  -moz-transition: background-color .6s ease-out;
  -o-transition: background-color .6s ease-out;
  transition: background-color .6s ease-out;
}

.portfolio-arrow i {
  padding: 11px 3px 13px 5px;
  color: black;
}

.lnk-rrw:hover .portfolio-arrow {
  background-color: var(--bs-light);
  border-color: var(--bs-light);
} 

/* ------------------------------------------------------------------------- *
/* ! Press */
/* ------------------------------------------------------------------------- */
.press-logo {
  width: 180px;
  height: 45px;
  object-fit: contain;
  object-position: top left;
  transition: all 1.5s ease-in-out;
}

.text-justify {
  text-align: justify;
}
.text-justify * {
  margin-bottom: 1.5rem;
}

.text-justify a {
  color: #a4a4a4;
  transition: color 400ms;
}
.text-justify a:hover {
  color: #000000;
}
/* ------------------------------------------------------------------------- *
/* ! WooCommerce */
/* ------------------------------------------------------------------------- */


/* ------------------------------------------------------------------------- *
/* ! Index */
/* ------------------------------------------------------------------------- */


/* ------------------------------------------------------------------------- *
/* ! Sidebar */
/* ------------------------------------------------------------------------- */

.widget_search {
  margin-bottom: 50px;
}

/* ------------------------------------------------------------------------- *
/* ! Footer */
/* ------------------------------------------------------------------------- */

footer.fdv-footer {position: relative;font-size: 1.1rem;min-height:100vh;}
footer.fdv-footer p {font-size: 1.1rem;}
.bg-overlay {position: absolute;background-color: rgba(0, 0, 0, 0.45);top: 0; left: 0; right: 0;bottom: 0;z-index: 1;}
.footer__menu ul {padding-left: 0;}
footer .border-top {border-top: 1px solid #333 !important;}


footer.bg-dark,
footer.bg-dark small {
    color: var(--bs-primary);
}

footer li {
  display: inline-block;
  margin-right: .5em;
}


/* ------------------------------------------------------------------------- *
/* ! GSAP */
/* ------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! Responsive */
/* --------------------------------------------------------------------------------------------------------------------------- */

/* ----------------------------- */
/* ! -- Desktop */
/* ----------------------------- */
@media (min-width: 1023px) {
}

/* ----------------------------- */
/* ! -- Tablet */
/* ----------------------------- */

@media (max-width: 998px) {
}

/* ----------------------------- */
/* ! -- Smarthphone */
/* ----------------------------- */

@media (max-width: 767px) {
  body.admin-bar .navbar-fixed-top,
  body.admin-bar .fixed-top {
    top: 42px;
  }
}

/* --------------------------------------------------------------------------------------------------------------------------- */
/* WordPress Default Styles */
/* --------------------------------------------------------------------------------------------------------------------------- */

/* Pagination */
.pagination {
  margin: 40px 0 40px 0;
  padding: 0;
  width: 100%;
}
.pagination span,
.pagination a {
  float: left;
  margin: 0 10px 10px 0;
  padding: 14px 19px;
  border: 1px solid #ddd;
}

/* Gallery */
.gallery {
  float: left;
  margin: 20px 0 20px 0;
  width: 103.55%;
}
.gallery-item {
  float: left;
  width: 33.333333%;
  text-align: center;
}
.gallery img {
  margin: 0 10% 0 0;
  width: 90%;
  height: auto;
  border: none !important;
}
.gallery-caption {
  width: 90%;
  margin: 10px 0 0 0;
}

/* Image */
.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
  max-width: 97%;
  height: auto;
}
.alignright {
  float: right;
  margin-bottom: 10px;
  margin-left: 20px;
  max-width: 97%;
  height: auto;
}
.aligncenter {
  display: block;
  margin: 0 auto;
  max-width: 97%;
  height: auto;
}
.alignnone {
  max-width: 97%;
  height: auto;
}

/* img responsive */
.img-res {
  width: 100%;
  height: auto;
}



/* Table */
table {
  border-collapse: collapse;
  margin: 40px 0;
  width: 100%;
}
table,
th,
td {
  border: 1px solid #ddd;
  padding: 10px;
  font-size: 18px;
  text-transform: capitalize;
}
table tr:first-child td {
  font-weight: 900;
  text-transform: uppercase;
  background: #eee;
  padding: 12px 8px;
}

/* Image Caption */
.wp-caption {
  margin-top: 1.5rem;
  margin-bottom: 0px;
  padding: 10px;
  max-width: 97%;
  border: 1px solid #ddd;
  text-align: center;
}
.wp-caption img {
  margin: 0;
  padding: 0;
  width: 100% !important;
  height: auto;
  border: 0 none;
}
.wp-caption p.wp-caption-text {
  margin: 0;
  padding: 8px;
  font-size: 1em;
  line-height: 17px;
}

/* Stiky */
.sticky {
  border-right: 3px solid #eee;
  border-bottom: 3px solid #ddd;
}

/* Search */
.search-form {
  background: #eee;
}
.search-form input[type="text"] {
  width: 80%;
  color: #333;
}
.search-form button {
  float: right;
  padding: 10px 15px 0 0;
  border: none;
  background: none;
  padding: 11px;
}

/* Contact Form 7 */
.wpcf7 label {
  width: 100%;
}

/* Comments */
.comment-form-author,
.comment-form-email,
.comment-form-url {
  float: left;
  margin-top: 20px;
  margin-right: 3%;
  width: 30.3333333%;
}
.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
  width: 100%;
}

ol.commentlist {
  margin: 0 0 1em;
  padding: 0;
  list-style: none;
  text-indent: 0;
}
ol.commentlist li.comment {
  padding: 1em;
  border-top: 1px solid #eee;
}
ol.commentlist li.comment div.vcard cite.fn {
  text-transform: uppercase;
  font-size: 14px;
}
ol.commentlist li.comment div.vcard img.avatar {
  float: left;
  margin: 6px 1em 1em 0;
  border-radius: 50px;
}
ol.commentlist li.comment div.comment-meta {
  font-size: 12px;
}
ol.commentlist li.comment ul {
  margin: 0 0 1em 2em;
}
ol.commentlist li.comment div.reply {
  margin-left: 80px;
  font-size: 11px;
}
ol.commentlist li.comment div.reply a {
  font-weight: bold;
}
ol.commentlist li.comment ul.children {
  margin: 1em 0 0;
  list-style: none;
  text-indent: 0;
}
ol.commentlist li.comment ul.children li.depth-2 {
  margin: 0 0 0.25em 0.25em;
  border-left: 1px solid #eee;
}
ol.commentlist li.comment ul.children li.depth-3 {
  margin: 0 0 0.25em 0.25em;
  border-left: 1px solid #eee;
}
ol.commentlist li.comment ul.children li.depth-4 {
  margin: 0 0 0.25em 0.25em;
  border-left: 1px solid #eee;
}
ol.commentlist li.even {
  background: #fff;
}
ol.commentlist li.odd {
  /* background: #f9f9f9; */
}
ol.commentlist li.parent {
  border-left: 1px solid #eee;
}
ol.commentlist li.bypostauthor .fn {
  font-weight: bold;
}
ol.commentlist li img {
  max-width: 97%;
}
#comments {
  width: 100%;
}


textarea {
  -webkit-appearance: none;
  max-height: 150px;
}

.wpcf7 p {margin-bottom: 20px; }
.wpcf7 b {margin-bottom: 4px;}
.wpcf7 small {color: black !important;}











/* --------------------------------------------------------------------------------------------------------------------------- */
/* ! BODY TRANSITIONS */
/* --------------------------------------------------------------------------------------------------------------------------- */

body, .navbar-fleeex {transition: background-color .8s ease-in-out;}

.py-huge {
  padding-top: 20vh !important;
  padding-bottom: 20vh !important;
}

/* ! Nav Transparent Dark Background */


body.nav-transparent .navbar-fleeex {background-color: transparent;}
body.nav-transparent .navbar-fleeex a.nav-link,
body.nav-transparent .navbar-fleeex .navbar-brand,
body.nav-transparent .navbar-fleeex .navbar-brand .desc span,
body.nav-transparent .navbar-fleeex .wpml-ls-link  {color: #FFFFFF;}
body.nav-transparent .navbar-fleeex .toggle-line {background-color: white;}
body.nav-transparent .navbar-fleeex .btn-outline-primary,
body.nav-transparent .navbar-fleeex .fdv_cta_menu a {border-color: white;color: white;}
body.nav-transparent .navbar-fleeex .btn-primary, body.nav-transparent .navbar-fleeex .primary-btn a {background-color: transparent;color: white; border-color: white;}

/* ! Body white */
body.body-white,
body.body-white .navbar-fleeex {background-color: white; }
body.body-white,
body.body-white .navbar-fleeex a.nav-link,
body.body-white .navbar-fleeex .navbar-brand,
body.body-white .navbar-fleeex .navbar-brand .desc span,
body.body-white .navbar-fleeex .wpml-ls-link  {color: black;}
body.body-white .navbar-fleeex .toggle-line {background-color: black;}


/* ! Body dark */
body.body-dark,
body.body-dark .navbar-fleeex {background-color: #000000;}
body.body-dark * {color: var(--bs-light);}

body.body-dark,
body.body-dark .navbar-fleeex a.nav-link,
body.body-dark .navbar-fleeex .navbar-brand,
body.body-dark .navbar-fleeex .navbar-brand .desc span,
body.body-dark .navbar-fleeex .wpml-ls-link  {color: #FFFFFF;}
body.body-dark .offcanvas a.nav-link,
body.body-dark .offcanvas a.btn-outline-dark {color: #000000;} 
body.body-dark .offcanvas a.btn-outline-dark:hover {color: #FFFFFF;} 
body.body-dark .navbar-fleeex .toggle-line {background-color: #FFFFFF;}


/* ! Body #000000 */
body.body-black,
body.body-black .navbar-fleeex {background-color: black;}
body.body-black * {color: var(--bs-light);}

body.body-black,
body.body-black .navbar-fleeex a.nav-link,
body.body-black .navbar-fleeex .navbar-brand,
body.body-black .navbar-fleeex .navbar-brand .desc span,
body.body-black .navbar-fleeex .wpml-ls-link  {color: #FFFFFF;}
body.body-black .offcanvas a.nav-link,
body.body-black .offcanvas a.btn-outline-dark,
body.body-black .offcanvas a.wpml-ls-link span {color: #000000;} 
body.body-black .offcanvas a.btn-outline-dark:hover {color: #FFFFFF;} 
body.body-black .navbar-fleeex .toggle-line {background-color: #FFFFFF;}

body.body-black .navbar-fleeex .btn-outline-primary,
body.body-black .navbar-fleeex .fdv_cta_menu a {border-color: white;color: white;}
body.body-black .navbar-fleeex .btn-primary,
body.body-black .navbar-fleeex .primary-btn a {background-color: transparent;color: white;border-color: white;}
body.body-black .press-logo{opacity: 0;} 

.body-black input[type="submit"] {
  background: #fff;
  color: var(--bs-primary);
}





