@charset "UTF-8";
/* CSS Document */



@font-face {
    font-family: 'latoregular';
    src: url('../fonts/lato-regular-webfont.woff2') format('woff2'),
         url('../fonts/lato-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'latobold';
    src: url('../fonts/lato-bold-webfont.woff2') format('woff2'),
         url('../fonts/lato-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'latolight';
    src: url('../fonts/lato-light-webfont.woff2') format('woff2'),
         url('../fonts/lato-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'playfair_displayregular';
    src: url('../fonts/playfairdisplay-regular-webfont.woff2') format('woff2'),
         url('../fonts/playfairdisplay-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


:root{
  --primColor : #be3a3a;
  --primColorRGB : 190,58,58;
  --secColor : #000;
  --secColorRGB : 0,0,0;
  --thirdColor : #c0bb91;
  --thirdColorRGB : 192,187,145;
  --textColor : #5f5f5f
}

html{ height: 100%;}
body{
    margin:0; font-family:'latoregular'; font-size: 17px; line-height: 27px; text-align: justify; color: var(--textColor); min-height: 100%; position: relative;
}
header, section, footer, article, aside{ display:block;}
a{ color: inherit; text-decoration: none;
    transition:0.5s;
    -o-transition:0.5s;
    -webkit-transition:0.5s;
    -ms-transition:0.5s;
    -moz-transition:0.5s;
}
a.link{ color:var(--primColor); }
a.link:hover{ color:var(--secColor); }
a.block_link{ display:block; }

h1, h2, h3, h4, h5{ font-weight: normal; font-family: 'latobold';}
*{ box-sizing: border-box; }

.wrapper{ width: 100%; height: 100%; margin: auto; overflow: hidden;}
.container{ width: 95%; max-width: 1200px; margin: auto;}
.text_content{ width: 100%; max-width: 950px; margin: auto; }
.text_wrapper{ max-width: 750px; margin: auto; }

.buttons a, .buttons input{
  display: inline-block; padding: 0 35px; margin: 20px 0; text-transform: uppercase;
  height: 55px; line-height: 55px; border-radius: 4px;
  font-size: 15px; font-family: 'latolight'; border: solid 1px; position: relative;
}
.buttons a+a{ margin-left: 20px; }
.buttons .primButton{ background: var(--primColor); color: #FFF; border-color: var(--primColor);}
.buttons .primButton:hover{ background: #FFF; color: var(--primColor); }
.buttons .secButton{ background: var(--secColor); color: #FFF; border-color: var(--secColor); }
.buttons .secButton:hover{ background: #FFF; color: var(--secColor); }
.buttons .thirdButton{ background: var(--thirdColor); color: var(--primColor); border-color: var(--thirdColor); }
.buttons .thirdButton:hover{ background: var(--primColor); color: var(--thirdColor); }
.buttons .tranparentButton{  color: #FFF; border-color: #FFF; }
.buttons .tranparentButton:hover{ background: #FFF; color: var(--secColor); }
.buttons a.icon_button{ padding: 0 60px 0 20px;}



.header_title{ margin-bottom: 20px; }
.header_title h1, .header_title h2{
  font-size: 1.5em; line-height: 1em; text-align: center; color: #000;
   margin: 0 0 20px 0; text-transform: uppercase;
}
.header_title h1:after, .header_title h2:after{
    content: ''; display: block; margin: auto; margin-top: 15px;
    width: 170px; height: 1px;
    background: var(--primColor);
}
.header_title p{
  text-align: center; font-size: 1.1em; text-transform: uppercase; color: #000;
  max-width: 600px; margin: auto;
}
h2.little_title{ text-transform: uppercase; font-size: 1.1em; color: #015673; font-family: 'latolight'; margin: 0 0 10px 0;}
h2.little_title:after{ display: none; }




article{ margin: 40px 0; }
article p{ margin: 0 0 10px 0;}
article p+p{ margin-top: 10px;}
article+article, .article+.article{ margin-top: 35px;}
article a:hover{ color: var(--primColor);}
p a{ color: var(--primColor);}
strong{ font-family: 'latobold'; font-weight: normal; }

article h2{ 
    font-size: 1.4em; line-height: 1.7em; font-family: 'latobold';
    margin: 30px 0 10px 0; padding: 0; text-align: left; text-transform: uppercase;
}


article h3{ 
    font-size: 1.3em; line-height: 1.5em; font-family: 'latobold'; text-align: left;
    color: var(--primColor); text-transform: uppercase; margin: 0 0 10px 0; padding: 0;
}

.content_block+.content_block{ margin-top: 80px; }
.content_block_center, .content_block_center h2, .content_block_center h3{ text-align: center; }

/*HEADER*/
header{ width: 100%; height: 200px;}
header ul{ list-style-type: none; margin: 0; padding: 0; }
.top_header{
  width: 100%; height: 48px;
  overflow: hidden; background: var(--thirdColor);
}
.top_header_row{ height:48px; }
.top_header ul{ position:relative; }
.top_header ul li{ display: inline-block; }
.top_header .contact_top{
  font-size: 14px; position: relative; height: 48px; line-height: 48px;
  color: white;
}
.top_header .contact_top::before{
  display: block; content: ""; height: 48px; width: 5000px;
  position: absolute; top: 0; right: 0; background: var(--primColor);
}
.top_header .contact_top li{ padding: 0 15px;}
.top_header .contact_top .icon{ display: inline-block; margin-right: 10px; font-size: 1.5em;}
.top_header .social{ margin-left: auto;}
.top_header .social a{ 
  width: 32px; height: 32px; border-radius: 100%;
  display: flex; font-size: 18px; align-items: center; justify-content: center;
}

header .primary_header{ height:200px; width:100%;}
header .primary_header_row{
  display: flex; height: 200px; flex-wrap: wrap;
  align-items: center;
}

header .logo{ display: block;}
header .logo img{ display: block; border: none; width: 130px;}

header .rightHeader{ margin-left: auto;}

header nav{
  font-family: 'latolight'; font-size: 20px; background: black; color: white;
  text-transform: uppercase;
}
header nav ul{ display:flex; }
header nav li{ position: relative; }
header nav li+li{ margin-left: 20px; }
header nav ul li a{ display: block; position: relative; padding:10px 20px;}



header nav ul li.rdvNavItem{ display:flex; height: 100px; align-items:center; }
header nav ul li.rdvNavItem a{
  background: var(--secColor); font-family: 'latoregular'; text-transform: uppercase;
  border-radius: 4px; padding: 0 20px; height: 50px; line-height: 50px; color: white;
}
header nav ul li.rdvNavItem a:after{ display: none; }

header .showMenu{ display: none;}

header nav ul.subMenu{
    width: 200px; position: absolute; left: 0; top: 27px; margin: 0;
    font-size: 13px; z-index: 1000; text-transform: none;
    border-bottom: solid 2px var(--primColor); background: rgba(0,0,0,0.6); display: none;
}
header nav ul.subMenu li{
    display: block; float: none; margin: 0;
    overflow: hidden;
    -webkit-transition: 200ms ease-in;
    -moz-transition: 200ms ease-in;
    -o-transition: 200ms ease-in;
    transition: 200ms ease-in;
}
header nav ul.subMenu li+li{ border-top: solid 1px rgba(255,255,255,0.2); }
header nav ul.subMenu li a{ display: block; width: 200px; height: 35px; line-height: 35px; padding: 0 10px; text-align: left; border-bottom: none; color: #FFF;}
header nav ul.subMenu li a:after{ display: none; }
header nav ul.subMenu li a:hover{ color: var(--primColor); }
header nav ul li:hover > ul.subMenu{ display: block; }
/*END OF HEADER*/



/*Titles*/
.small_title{
  text-transform: uppercase; color: var(--thirdColor); margin-bottom: 5px;
  padding-left: 80px; position: relative; letter-spacing: 2px;
  font-size: 15px; line-height: 1;
}
.small_title::before{
  display: block; content: ""; width: 6px; height: 6px;
  border-radius: 100%; background: var(--thirdColor);
  position: absolute; left: 0; top: 6px;
}
.small_title::after{
  display: block; content: ""; width: 50px; height: 2px;
  background: var(--thirdColor); position: absolute;
  top: 8px; left: 15px;
}

.heading_title h1, .heading_title h2, .heading_title h3{ font-family:'latobold'; text-transform:initial; margin:0; text-align:left; color:var(--secColor); text-align:center; }
.heading_title h1 span{ color:var(--primColor); }
.heading_title h2,.heading_title h1{ font-size:40px; line-height:50px; }
.heading_title p{ text-align:center; font-size:22px; }

.center_title, .center_title .heading_title h1, .center_title .heading_title h2, .center_title .heading_title h3, .center{ text-align:center; }
.center_title .small_title{ display:inline-block; }
.center_title .heading_title{ max-width:600px; margin:auto; }
/*End of Titles*/

/*services*/
.service_item{
  height: auto; position:relative; display:flex; flex-direction:column;
  border: solid 8px var(--primColor); margin: 30px; align-items: center; justify-content: center;
}
.service_item .img{
  position: absolute; top: 0; left: 0; bottom: 0; overflow: hidden;
  width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;
}
.service_item .img:after{
  display: block; content: ""; width: 100%; height: 100%;
  position: absolute; top: 0; left: 0; background: rgba(255,255,255,0.5);
}
.service_item .img img{
  width:100%; height:100%; object-fit:cover;
  position: absolute; top: 0; left: 0;
}
.service_item .img h2{ position:relative; color:var(--secColor); margin:0; z-index:1000 }
/*end of services*/




.msg_ok{ font-weight:bold; color:#72a132; margin-bottom: 10px;}
.msg_ok i{ font-size: 25px;}
.msg_ko{ font-weight:bold; color:red; margin-bottom: 10px;}
.msg_ko i{ font-size: 25px;}

.requiredField{ background:#dd7171 !important; color:#7d0000;}
.requiredFieldTxt{ color:#cf0000; font-size: 0.6em; line-height: 1.2em; display: none; font-family: 'latobold';}

.imgFull{ display: block; margin: auto; max-width: 100%; margin-bottom: 10px;}
.imgMosaic{ border-radius:50% 50% 0 0; overflow:hidden; }
.imgBorder{ position: relative; margin: 0 50px;}
.imgBorder img{ position: relative;  z-index: 2}
.imgBorder:before{
  display: block; content: ""; width: 150px; height: 150px; background: var(--primColor);
  position: absolute; top: -10px; left: -10px; z-index: 1;
}
.imgBorder:after{
  display: block; content: ""; width: 150px; height: 150px; background: #015673;
  position: absolute; bottom: -10px; right: -10px;  z-index: 1
}
.imgCenter{ display: block; margin: 10px auto; max-width: 100%;}
.placeholder{ display: block; width: 100%; visibility: hidden;}
.borderImg{ padding: 5px; background: #FFF; border: solid 1px #d3d3d3;}
.videoFull{margin: auto; max-width: 100%; }

.row:after{ display: block; content: ""; clear: both; }

.row_flex{ display: flex;}
.row_flex:after{ display: block; content: ""; clear: both; }
.flex_wrap{ flex-wrap: wrap; }
.vcenter{
  -webkit-box-align: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; align-items: center;
}
.hcenter{
  justify-content: center;
}
.one_half{ width: 50%; float: left;}
.one_third{ width: 33.33%; float: left;}
.two_third{ width: 66.66%; float: left; }
.one_fourth{ width: 25%; float: left;}
.three_fourth{ width: 75%; float: left;}
.one_fifth{ width: 20%; float: left; }

.sep{ margin: 50px 0; }

.padding5{ padding: 5px;}
.padding10{ padding: 10px;}
.padding20{ padding: 20px;}
.paddingLeft{ padding-left: 70px; }
.paddingRight{ padding-right: 70px; }
.clear{ clear: both;}
.clearRight{ clear: right;}



.social a.facebook:hover{ background: #3b5998; color: #FFF;}
.social a.twitter:hover{ background: #55acee; color: #FFF;}
.social a.google-plus:hover{ background: #dd4b39; color: #FFF;}
.social a.linkedin:hover{ background: #007bb5; color: #FFF;}
.social a.youtube:hover{ background: #bb0000; color: #FFF;}
.social a.viadeo:hover{ background: #f6876d; color: #FFF;}
.social a.instagram:hover{ background: #bc2a8d; color: #FFF;}
.social a.pinterest:hover{ background: #bd081c; color: #FFF;}

/*animations*/
.animation-element{
    opacity: 0; position: relative;
    transition:1s;
    -o-transition:1s;
    -webkit-transition:1s;
    -ms-transition:1s;
    -moz-transition:1s;
}
.animation-element.in-view{ opacity: 1;}

.animation-element.slide-left {
  -moz-transition: all 500ms linear;
  -webkit-transition: all 500ms linear;
  -o-transition: all 500ms linear;
  transition: all 500ms linear;
  -moz-transform: translate3d(-100px, 0px, 0px);
  -webkit-transform: translate3d(-100px, 0px, 0px);
  -o-transform: translate(-100px, 0px);
  -ms-transform: translate(-100px, 0px);
  transform: translate3d(-100px, 0px, 0px);
}

.animation-element.slide-right {
  -moz-transition: all 500ms linear;
  -webkit-transition: all 500ms linear;
  -o-transition: all 500ms linear;
  transition: all 500ms linear;
  -moz-transform: translate3d(100px, 0px, 0px);
  -webkit-transform: translate3d(100px, 0px, 0px);
  -o-transform: translate(100px, 0px);
  -ms-transform: translate(100px, 0px);
  transform: translate3d(100px, 0px, 0px);
}

.animation-element.slide-bottom {
  -moz-transition: all 500ms linear;
  -webkit-transition: all 500ms linear;
  -o-transition: all 500ms linear;
  transition: all 500ms linear;
  -moz-transform: translate3d(0, 100px, 0px);
  -webkit-transform: translate3d(0, 100px, 0px);
  -o-transform: translate(0, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate3d(0px, 100px, 0px);
}

.animation-element.slide-scale {
  -moz-transition: all 500ms linear;
  -webkit-transition: all 500ms linear;
  -o-transition: all 500ms linear;
  transition: all 500ms linear;
  transform: scale(0.9);
}

.animation-element.slide-left.in-view, .animation-element.slide-right.in-view, .animation-element.slide-bottom.in-view{
  -moz-transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  -o-transform: translate(0px, 0px);
  -ms-transform: translate(0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}
.animation-element.slide-scale.in-view{ transform: scale(1); }
/*end of animations*/
