/*
Theme Name: Bahamas
Theme URI: https://www.emmepubblicita.com/
Author: Web Agency Emmè
Author URI: https://www.emmepubblicita.com/
Description: Starter Theme Wordpress
Version: 2.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bahamas

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.
*/

/* ! Reset */
body, html{ font-size: 16px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; box-sizing: border-box;margin: 0;padding: 0;}
*,*:before,*:after{ box-sizing: border-box; }
h1,h2,h3,h4,h5,h6, p, ol, ul{margin: 0;padding: 0;}
ol,ul{padding-left: 20px;}
img{height: auto;}
a{text-decoration: none;}
hr{border:none; border-bottom: 1px solid #000}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  line-height: 1.46;
  font-size: 16px;
  font-weight: 400;
  position: relative;
  color: var(--site-text-color);
  font-family: var(--body-font);
  overflow-x: hidden;
}

h1,h2,h3,h4,h5,h6,.main-title,.sub-title,.title, .tit, .h1, .has-h-1-font-size, .h2, .has-h-2-font-size, .h3, .has-h-3-font-size, .h4, .has-h-4-font-size, .h5, .has-h-5-font-size, .h6, .has-h-6-font-size{
  line-height: 1.2;
  color: var(--site-title-color);
  font-family: var(--heading-font);
  font-weight: 700;
  position: relative;
}

/* ! Title System */
h1, h2, h3, h4, h5, h6, p, ol, ul{margin-bottom: 1rem;}

h1, .main-title, .h1, .has-h-1-font-size {font-size: 36px;  }
h2, .sub-title, .h2, .has-h-2-font-size{font-size: 34px;}
h3, .title, .h3, .has-h-3-font-size{font-size: 28px;}
h4, .tit, .h4, .has-h-4-font-size{font-size: 24px;}
h5, .h5, .has-h-5-font-size{font-size: 20px;}
h6, .h6, .has-h-6-font-size{font-size: 18px;}


@media (max-width: 768px) {
  h1, .main-title, .h1, .has-h-1-font-size {font-size: 34px; }
  h2, .sub-title, .h2, .has-h-2-font-size{font-size: 30px;}
  h3, .title, .h3, .has-h-3-font-size{font-size: 26px;}
  h4, .tit, .h4, .has-h-4-font-size{font-size: 22px;}
  h5, .h5, .has-h-5-font-size{font-size: 18px; }
  h6, .h6, .has-h-6-font-size{font-size: 16px; }
}



/* Link color */
a { color: var(--link-color); }
a:hover { color: var(--link-color-hover); text-decoration: none; }

.clearfix, .cleared {
  clear: both;
}

ul {
  list-style-position: outside;
  padding-left: 20px;
}

.center{
  text-align: center;
}



.btn, .form .btn, .wp-block-buttons .wp-block-button a.wp-block-button__link, input[type="submit"] {
  font-size: 17px;
  font-weight: 400;
  display: inline-block;
  color: #ffffff;
  transition: all .3s ease-in-out;
  background-color: var(--link-color);
  border-radius: 0px;
  border: 2px solid transparent;
  padding: 13px 20px;
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.wp-block-buttons .wp-block-button.is-style-outline a.wp-block-button__link {
  background-color: transparent;
  color: #fff;
  border-color: inherit;
}

.btn:hover, .form .btn:hover, .wp-block-buttons .wp-block-button a.wp-block-button__link:hover, .wp-block-buttons .wp-block-button.is-style-outline a.wp-block-button__link:hover, input[type="submit"]:hover {
  background: var(--link-color-hover);
  border-color: var(--link-color-hover);
  color: #fff;
}



input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], input[type="date"], textarea, select {
  border: none;
  background-color: #F8F8F8;
  padding: 0 15px;
  height: 44px;
  box-sizing: border-box;
  width: 100%;
  border-radius: 0;
  font-family: var(--body-font);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #2A292970;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

textarea {
  height: 80px;
  line-height: 1.6;
  padding: 10px;
}

select {
  background-image: url('data:image/svg+xml,<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 6L8.5 10L12.5 6" stroke="%231E1E1E" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat: no-repeat;
  background-position-x: calc(100% - 15px);
  background-position-y: 15px;
}

input:focus, textarea:focus {
  outline: none;
}

input[type="search"] {
  width: auto;
}

.form .field {
  margin-bottom: 20px;
}

span.wpcf7-list-item {
  display: inline-block;
  margin: 0;
}

.wpcf7-spinner {
  position: absolute;
}

.wpcf7-form-control-wrap.privacy label,
.wpcf7-form-control.wpcf7-acceptance {
  font-size: 17px;

}

.wpcf7-not-valid-tip{
  z-index: 1;
  font-size: 10px;
  text-align: left;
  position: absolute;
  bottom: -12px;
  left: 15px;
  background: transparent;
  right: 15px;
  box-sizing: border-box;
  padding: 0.5px;
}

.privacy{
	margin: 10px 0;
  font-weight: 400;
  color: var(--site-text-color);

}

.privacy a {
  color: var(--site-text-color);
  text-decoration: underline;
}

.privacy .wpcf7-not-valid-tip {
  position: relative;
  top: 0;
  bottom: 0;
  left: auto;
  right: auto;
  text-align: inherit; 
}
.wpcf7-form-control-wrap label {
  font-weight: 400;
  color: var(--site-text-color);
}

.wpcf7-not-valid {
  border: 1px solid red !important;
  display: inline-block;
}

.wpcf7-form-control.wpcf7-acceptance.wpcf7-not-valid {
  border: none !important;
}

.wpcf7-response-output {
  max-width: 868px;
  margin: 30px auto 0 !important;
  border: none !important;
  color: red;
  text-align: center;
}

label {
  color: var(--site-title-color);
  font-family: var(--body-font);
  font-size: 16px;
  font-style: normal;
  display: block;
  margin: 0 0 5px;
  font-weight: 600;
  line-height: normal;
}



.dis, .privacy label {
  color: #000;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
}
.privacy label a {
  color: #000;
}



.wpcf7-not-valid {
  border: 1px solid red !important;
  display: inline-block;
}

/* Per Webkit (Chrome, Safari, Edge) */
::-webkit-input-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per Mozilla Firefox */
::-moz-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per Internet Explorer 10-11 */
:-ms-input-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per Microsoft Edge (Legacy) */
::-ms-input-placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}

/* Per i browser più moderni */
::placeholder {
  color: rgba(51, 40, 30);
  opacity: 0.5;
}


.header {
  position: sticky;
  z-index: 100;
  top: 0;
transition: all 1s cubic-bezier(.215, .61, .355, 1);

}

.admin-bar .header{
	  top: 32px;

}

.page-template-menu-trasparent .header {
  background: transparent !important;
  position: fixed;
  left: 0;
  right: 0;
}


.home .header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: #fff;
  width: 1270px;
transition: all 1s cubic-bezier(.215, .61, .355, 1);
}
.home .navigator {
  margin-left: 30px !important;
  margin-right: auto;
}
.home .header .corp {
  max-width: 100%;
}

.scroll-down .header::before {
  width: 100%;
}

.scroll-down .header {
  border-bottom:1px solid #eee;
}



#logo {
  position: relative;
  z-index: 250;
}

#logo img {
  padding: 20px 0;
  height: 60px;
  width: auto;
  display: block;
  box-sizing: content-box;
}


.header .corp {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navigator .menu {
  margin: 0;
  padding: 0;
  z-index: 110;
  position: relative;
}
.navigator .menu li {
	display:inline-block;
  	position: relative;
	
}
.navigator .menu li a {
  padding: 0 20px;
  line-height: 40px;
  color: var(--site-title-color);
  display: block;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
}

.page-template-menu-trasparent .navigator .menu li a { 
  color: #000;
}

.navigator .menu li a:hover,
.navigator .menu li.current_page_item>a {
  color: var(--link-color-hover);
}



.navigator .menu ul {
  display:none;
  position: absolute;
  padding: 0;
  left:0;
  width: 200px;
  transition: all 0.6s cubic-bezier(.215, .61, .355, 1);
  box-shadow: 0 9px 68px 0 rgba(38, 43, 43, 0.1);
  background: #fff;
  top: 40px;
}
.navigator .menu li:hover ul,
.navigator .menu li:focus-within ul {
  display:block;
  z-index: 300;
}
.navigator .menu ul li { 
  width: 100%;
  display:block;	
}

.navigator .menu ul li a {
  line-height: 20px;
  display: block;
  padding: 10px 20px;
  font-size: 15px;
  color: #000;
  text-align: left;
  font-weight:400;
}

.navigator .menu ul li a:hover{
  background-color: #eee;
}

.navigator .menu > li.menu-item-has-children > a {
  position: relative;
  padding-right: 28px;
}

@media (min-width: 1025px) {
  .navigator .menu li.mega-menu {
  position: initial;
}
.navigator .menu li.mega-menu .sub-menu {
  width: 100%;
  column-count: 3;
}
}

.navigator .menu > li.menu-item-has-children > a::after {
  content: " ";
  width: 30px;
  height: 30px;
  background-size: 30px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: rotate(90deg);
  margin-top: -15px;
  background-size: 100%;
  background-image: url('data:image/svg+xml;utf8,<svg width="50px" height="50px" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path fill="black" d="M22.7 34.7l-1.4-1.4 8.3-8.3-8.3-8.3 1.4-1.4 9.7 9.7z"/></svg>');
}


.footer {
  padding-top: 60px;
  padding-bottom: 40px;
  color: #fff;
  font-size: 14px;
}

.logo-footer img{
	background:#fff;
}

.footer h4, .footer .tit {
  font-size: 21px;
  margin: 0 0 18px;
  text-transform: uppercase;
  color: #fff;
}

.footer a {
  color: #fff;
}

.footer a:hover, 
.credit a:hover {
  color: var(--link-color-hover);
}

.footer ul {
  padding-left: 10px;
}

.credit {
  color: #999;
  text-align: center;
  padding: 15px 0 10px;
  font-size: 11px;
}

.credit a{
  color: #999;
}

.credit p {
  margin: 0;
}

.contenuto img {
  max-width: 100%;
  height: auto;
  display: block;
}


.call{
  display: none;
}


.page-hero {
  padding: 150px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  position: relative;
}
.page-hero .main-title {
  margin: 0;
}

.sliders .wp-block-cover__inner-container {
  padding: 0;
}



.swiper-gallery .wp-block-gallery {
  display: flex;
  flex-wrap: nowrap;
}
.swiper-gallery .wp-block-gallery figure {
  max-width: 400px !important;
  width: 100% !important;
}
.swiper-gallery .wp-block-gallery figure img {
  aspect-ratio: 3/4;
}



.social {
  display: flex;
  gap: 10px;
}
.social a svg {
  width: 25px;
  height: 25px;
}



.servizi .item .image img {
  aspect-ratio: 3/4;
  object-fit: cover;
}
.servizi .item {
  position: relative;
}
.servizi .item .text {
  position: absolute;
  bottom: 0;
}
.servizi .item figure {
  margin: 0;
}
.servizi .item .text .tit a {
  color: #fff;
  padding: 10px;
  display: block;
}
.servizi .item .image a {
  display: block;
}
.servizi .item .image a:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.6) 99%);
}



.coverHome .wp-block-cover__inner-container {
  padding: 0;
}

.feature-item .item {
  box-shadow: 0 2px 3.55px 1.45px rgba(62,62,62,.1) !important;
}





.icon-menu a:before {
  content: "";
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M20.7741 15.0284L16.3453 13.0437C16.1447 12.9578 15.9257 12.9232 15.7083 12.9432C15.4909 12.9631 15.282 13.037 15.1003 13.1581C15.0819 13.1699 15.0643 13.1831 15.0478 13.1975L12.7331 15.1662C12.7091 15.1793 12.6824 15.1867 12.655 15.1876C12.6277 15.1886 12.6005 15.1832 12.5756 15.1719C11.0878 14.4537 9.54657 12.9219 8.82564 11.4547C8.81363 11.4302 8.80739 11.4032 8.80739 11.3759C8.80739 11.3486 8.81363 11.3217 8.82564 11.2972L10.8009 8.95342C10.8151 8.93608 10.8283 8.91792 10.8403 8.89905C10.9598 8.71671 11.0319 8.5075 11.0502 8.2903C11.0685 8.0731 11.0325 7.85476 10.9453 7.65499L8.9747 3.23374C8.86279 2.97274 8.66925 2.75509 8.42313 2.61343C8.17701 2.47178 7.89159 2.41377 7.6097 2.44811C6.3846 2.60917 5.26006 3.2108 4.44622 4.14058C3.63238 5.07036 3.18494 6.26466 3.18751 7.5003C3.18751 14.8409 9.15939 20.8128 16.5 20.8128C17.7356 20.8152 18.9298 20.3677 19.8595 19.5539C20.7893 18.7401 21.3909 17.6156 21.5522 16.3906C21.5865 16.11 21.5292 15.8259 21.389 15.5805C21.2488 15.335 21.0332 15.1414 20.7741 15.0284ZM16.5 19.6878C9.78001 19.6878 4.31251 14.2203 4.31251 7.5003C4.30938 6.53836 4.65658 5.60818 5.28924 4.88356C5.9219 4.15894 6.79675 3.68944 7.75032 3.5628H7.77189C7.80967 3.5635 7.84635 3.57561 7.87713 3.59752C7.90791 3.61944 7.93136 3.65014 7.94439 3.68561L9.92251 8.10217C9.93379 8.12673 9.93963 8.15343 9.93963 8.18045C9.93963 8.20748 9.93379 8.23418 9.92251 8.25873L7.94345 10.6081C7.92868 10.6249 7.91521 10.6427 7.90314 10.6615C7.7793 10.8506 7.70637 11.0684 7.69143 11.2939C7.67648 11.5194 7.72002 11.745 7.81782 11.9487C8.64939 13.6512 10.365 15.3537 12.0863 16.1853C12.2912 16.2826 12.5178 16.3251 12.7441 16.3086C12.9703 16.2922 13.1885 16.2174 13.3772 16.0915C13.395 16.0794 13.4128 16.0662 13.4297 16.0522L15.7434 14.0834C15.7663 14.0711 15.7915 14.0639 15.8174 14.0623C15.8433 14.0607 15.8692 14.0647 15.8934 14.074L20.3231 16.0587C20.3593 16.0741 20.3897 16.1005 20.4101 16.1342C20.4305 16.1678 20.4397 16.207 20.4366 16.2462C20.3106 17.2002 19.8415 18.0757 19.1171 18.7091C18.3926 19.3425 17.4623 19.6904 16.5 19.6878Z" fill="currentColor"></path></svg>');
  width: 20px;
  height: 20px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
}

.icon-menu a{
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: var(--link-color) !important;
  
}



/* ! FAQ */


.rank-math-list-item::after {
  content: "";
  background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.75 10C19.75 10.2344 19.5625 10.375 19.375 10.375H10.375V19.375C10.375 19.6094 10.1875 19.7969 10 19.7969C9.76562 19.7969 9.625 19.6094 9.625 19.375V10.375H0.625C0.390625 10.375 0.25 10.2344 0.25 10.0469C0.25 9.8125 0.390625 9.625 0.625 9.625H9.625V0.625C9.625 0.4375 9.76562 0.296875 10 0.296875C10.1875 0.296875 10.375 0.4375 10.375 0.625V9.625H19.375C19.5625 9.625 19.75 9.8125 19.75 10Z" fill="black"/></svg>');
  position: absolute;
  right: 20px;
  top: 25px;
  display: block;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: center;
}

.rank-math-list-item.active::after {
  background-image: url('data:image/svg+xml,<svg width="20" height="2" viewBox="0 0 20 2" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.625 1.375C0.390625 1.375 0.25 1.23438 0.25 1.04688C0.25 0.8125 0.390625 0.625 0.625 0.625H19.375C19.5625 0.625 19.75 0.8125 19.75 1.04688C19.75 1.23438 19.5625 1.375 19.375 1.375H0.625Z" fill="black"/></svg>');
}
.rank-math-question  {
  color: #000;
  cursor: pointer;
  font-family: var(--body-font);
  font-size: 24px;
  font-style: normal;
  font-weight: 300;
  line-height: 22px;
  margin: 0;
}

.rank-math-list-item {
  position: relative;
  padding: 30px 30px 30px 0px;
  cursor: pointer;
  border-bottom: 1px solid #333333;
}
.rank-math-answer {
  display: none;
  margin-bottom: 0;
  margin-top: 45px;
    padding-left: 0;
    font-size: 18px;
font-style: normal;
font-weight: 300;
line-height: 22px;
	  color: #000;
}

.rank-math-answer ul {
  list-style-type: none;
}

.rank-math-question strong {
  font-weight: 300;
}
.rank-math-answer a {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .rank-math-list-item::before, .rank-math-list-item::after { right: 0; top:30px;}
  .rank-math-question { font-size: 17px; }
  .rank-math-answer {
  font-size: 16px;
}
}



/*--------------------------------------------------------------
# Breakpoint (1024px)
--------------------------------------------------------------*/

@media screen and (max-width: 1024px) {

  body {
    padding-bottom: 51.2px;
}
	
.call {
  background: #fff;
  position: fixed;
  bottom: 0;
  z-index: 99999;
  left: 0;
  right: 0;
	box-shadow:0px 0px 12px #aaa;
  padding: 5px;
  box-sizing: border-box;
  display: block;
}
	
 .call .widget {
  display: flex;
  justify-content: right;
  align-items: center;
}
  
.call a {
  text-align: center;
  display: block;
  height: 40px;
  width: 40px;
  border-radius: 4px;
  margin: 3px 18px 3px 0;
  line-height: 60px;
  font-size:0;
}

.call span {
  margin-left: 10px;
  margin-right: auto;
  font-size: 14px;
  text-align: left;
  color: #1d1d1d;
  text-transform: uppercase;
  line-height: 16px;
}
	
	.call svg{
		color:#fff;
	}

	
.top-bar{
  display:none;
}	
  
.resmenu {
  display: block;
  order: 3;
}

.header-widget{
margin-left:auto; 
margin-right:40px;
}
  
  
    .navigator{
      display: block;
      position: fixed;
      right: 0;
      top: 0;
      width: 100%;
      transform:translateX(100%);
      -moz-transform:translateX(100%);
      -webkit-transform:translateX(100%);
      transition:all 0.3s ease-in-out;
      -webkit-transition:all 0.3s ease-in-out;
      bottom: 0;
      padding-top: 100px;
		      padding-bottom: 60px;

      background-color: #fff;
      z-index: 200;
      margin:0;
      overflow: scroll;
    }
    .visible {
      overflow: hidden;
    }
    .visible .navigator {
      transform:translateX(0%);
      -moz-transform:translateX(0%);
      -webkit-transform:translateX(0%);
    }
    .navigator .menu {
      display:block;
      width:80%;
      margin:0 auto;
      position:relative;
      right:0;
    }
    .navigator .menu li{
      display:block;
    }
    .navigator .menu li a{
      line-height:60px;
      font-size:16px;
      color:#000;
      background-color: transparent;
      border-bottom: 1px solid #eee;
    }
	
 .navigator .menu .sub-menu {
    position: relative;
    width: 100%;
    opacity: 1;
    top: auto !important;
    visibility: visible;
    box-shadow: none;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    margin: 0;
	padding: 0px;
    display: block;
  }

  .navigator .menu .open-dropdown .sub-menu {
    max-height: 980px;
  }

  .menu > li.menu-item-has-children.open-dropdown > a::after{
	transform: rotate(-90deg);
  }
	
	.visible .header::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #fff;
  z-index: 201;
}
	
}

/*--------------------------------------------------------------
# Breakpoint (768px)
--------------------------------------------------------------*/

@media screen and (max-width: 768px) {

  .header-widget { display:none; }


.big-media-text_text {
  padding-left: 20px;
  padding-right: 20px;
}
.big-media-text {
  margin-top: 30px;
  margin-bottom: 30px;
}
	
	
.wp-block-cover.has-parallax.parallax-img, .wp-block-cover.has-parallax.parallax-img > div {
  background-attachment: unset !important;
}
.realizzazioni {
  overflow: hidden;
}
.wp-block-cover.has-parallax.parallax-img {
  min-height: 240px !important;
}
.swiper-gallery .wp-block-gallery figure {
  max-width: 80% !important;
}
.swiper-gallery {
  gap: 0 !important;
}
	
.hero-pagine .wp-block-cover__inner-container {
  padding: 0;
}
.hero-pagine .wp-block-group {
  padding: 40px 20px !important;
}
	:where(.wp-block-group.has-background) {
  padding-left: 15px;
  padding-right: 15px;
}
	
}
