@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. Fonts
2. Body and some general stuff
3. Header
	3.1 Top Bar
	3.2 Header Content
	3.3 Logo
	3.4 Main Nav
	3.5 Hamburger
4. Menu
5. Section
6. Home
7. About
8. Feature
9. Team
10. Counter
11. Partners
12. Footer



******************************/

/***********
1. Fonts
***********/

@import url('https://fonts.googleapis.com/css?family=Roboto+Slab:400,700|Roboto:300,400,500,700,900');

/*********************************
2. Body and some general stuff
*********************************/

*
{
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
body
{
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 400;
	background: #FFFFFF;
	color: #a5a5a5;
}
div
{
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
ul
{
	list-style: none;
	margin-bottom: 0px;
}
p
{
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	line-height: 1.85;
	font-weight: 400;
	color: #76777a;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
p a
{
	display: inline;
	position: relative;
	color: inherit;
	border-bottom: solid 1px #ffa07f;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
p:last-of-type
{
	margin-bottom: 0;
}
a, a:hover, a:visited, a:active, a:link
{
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
p a:active
{
	position: relative;
	color: #FF6347;
}
p a:hover
{
	color: #FFFFFF;
	background: #ffa07f;
}
p a:hover::after
{
	opacity: 0.2;
}
	
h1{font-size: 48px;}
h2{font-size: 36px;}
h3{font-size: 24px;}
h4{font-size: 18px;}
h5{font-size: 14px;}
h1, h2, h3, h4, h5, h6
{
	font-family: 'Roboto Slab', serif;
	font-weight: 700;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
	color: #384158;
	margin-bottom: 0;
}

.form-control
{
	color: #db5246;
}
section
{
	display: block;
	position: relative;
	box-sizing: border-box;
}
.clear
{
	clear: both;
}
.clearfix::before, .clearfix::after
{
	content: "";
	display: table;
}
.clearfix::after
{
	clear: both;
}
.clearfix
{
	zoom: 1;
}
.float_left
{
	float: left;
}
.float_right
{
	float: right;
}
.trans_200
{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.trans_300
{
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}
.trans_400
{
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;
}
.trans_500
{
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.fill_height
{
	height: 100%;
}
.super_container
{
	width: 100%;
	overflow: hidden;
}
.prlx_parent
{
	overflow: hidden;
}
.prlx
{
	height: 130% !important;
}
.parallax-window
{
    min-height: 400px;
    background: transparent;
}
.nopadding
{
	padding: 0px !important;
}

/*********************************
5. Section
*********************************/

.section_title_container
{
	max-width: 600px;
	margin: 0 auto;
}
.section_title
{
	line-height: 1.2;
}
.section_subtitle
{
	line-height: 1.85;
	margin-top: 14px;
}
.section_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*********************************
6. Home
*********************************/

.home
{
	width: 100%;
	height: 182px;
	background: #f2f4f5;
	border-bottom: solid 1px #edeff0;
}
.breadcrumbs_container
{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding-bottom: 13px;
	padding-left: 3px;
}
.breadcrumbs ul li
{
	display: inline-block;
	position: relative;
}
.breadcrumbs ul li:not(:last-child)::after
{
	display: inline-block;
	font-family: 'FontAwesome';
	content: '\f105';
	margin-left: 7px;
	margin-right: 4px;
	color: #384158;
}
.breadcrumbs ul li a
{
	font-size: 14px;
	font-weight: 400;
	color: #384158;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.breadcrumbs ul li a:hover
{
	color: #024A7F;
}

/*********************************
7. About
*********************************/

.about
{
	width: 100%;
	padding-top: 93px;
	padding-bottom: 100px;
	background: #FFFFFF;
}
.about_row
{
	margin-top: 56px;
}
.about_col_left
{
	padding-right: 25px;	
}
.about_col_right
{
	padding-left: 25px;
}
.about_col_middle
{
	padding-left: 20px;
	padding-right: 20px;
}
.about_item_image
{
	width: 100%;
	overflow: hidden;
}
.about_item_image img
{
	max-width: 100%;
	-webkit-transition: all 2000ms ease;
	-moz-transition: all 2000ms ease;
	-ms-transition: all 2000ms ease;
	-o-transition: all 2000ms ease;
	transition: all 2000ms ease;
}
.about_item:hover .about_item_image img
{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}
.about_item_title
{
	margin-top: 22px;
}
.about_item_title a
{
	font-family: 'Roboto Slab', serif;
	font-size: 20px;
	font-weight: 700;
	color: #384158;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.about_item_title a:hover
{
	color: #024A7F;
}
.about_item_text
{
	margin-top: 12px;
}
.about_item_text
{
	line-height: 2;
}

/*********************************
8. Feature
*********************************/

.feature
{
	width: 100%;
	padding-top: 93px;
	padding-bottom: 100px;
}
.feature_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.feature_row
{
	margin-top: 72px;
}
.feature_content
{
	padding-right: 54px;
}
/* =========================================================
   Acordeón antiguo (SOLO si en alguna página sigues usando
   .accordions .accordion_container / .accordion_panel)
   IMPORTANTE: lo "scopamos" a .accordions para que NO afecte
   al accordion de Bootstrap.
   ========================================================= */

.accordions .accordion_container
{
	background: #FFFFFF;
	border-radius: 6px;
	box-shadow: 0px 1px 10px rgba(0,0,0,0.1);
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 13px;
	padding-bottom: 4px;
}
.accordions .accordion_container:not(:last-child)
{
	margin-bottom: 10px;
}
.accordions .accordion
{
	width: 100%;
	padding-left: 27px;
	cursor: pointer;
	color: #000000;
	font-size: 14px;
	font-weight: 500;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.accordions .accordion div
{
	max-width: 90%;
	overflow: hidden;
	white-space: normal;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-height: 1.25;
	font-family: 'Roboto Slab', serif;
	font-size: 20px;
	font-weight: 700;
	color: #384158;
}
.accordions .accordion::before
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -1px;
	left: 0;
	height: 100%;
	width: 24px;
	content: '+';
	font-size: 24px;
	color: #384158;
	font-weight: 700;
	transition: all 200ms ease;
}
.accordions .accordion.active::before
{
	content: '–';
	color: #024A7F;
}
.accordions .accordion_panel
{
	padding-right: 8px;
	padding-left: 30px;
	padding-top: 9px;
	max-height: 0px;
	overflow: hidden;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.accordions .accordion.active + .accordion_panel
{
	margin-bottom: 20px;
}
.accordions .accordion_panel p
{
	font-size: 14px;
	font-weight: 400;
	color: #76777a;
	line-height: 2;
}


/* =========================================================
   Bootstrap 5 Accordion (Todobarco style + FIX recortes)
   ========================================================= */

.tb-accordion .tb-accordion-item
{
	border: 0;
	border-radius: 6px;
	box-shadow: 0px 1px 10px rgba(0,0,0,0.1);
	margin-bottom: 10px;
	background: #FFFFFF;
	overflow: visible; /* evita recortes raros en algunos casos */
}

.tb-accordion .accordion-button
{
	font-family: 'Roboto Slab', serif;
	font-size: 20px;
	font-weight: 700;
	color: #384158;
	padding-left: 30px;
	padding-right: 30px;

	/* FIX: permitir salto de línea y evitar "cortes" */
	white-space: normal;
	line-height: 1.25;
	align-items: flex-start;
}

.tb-accordion .accordion-button::after
{
	margin-top: 2px; /* el chevron queda alineado arriba */
}

.tb-accordion .accordion-button:focus
{
	box-shadow: none;
}

.tb-accordion .accordion-body
{
	padding-left: 30px;
	padding-right: 30px;

	/* FIX: que el texto interno nunca se recorte */
	white-space: normal;
	overflow: visible;
}

.tb-accordion .accordion-body p,
.tb-accordion .accordion-body li
{
	white-space: normal;
	overflow: visible;
}

.tb-accordion .accordion-body ul
{
	list-style: disc;
	margin-left: 18px;
	margin-top: 10px;
}

.tb-accordion .accordion-body li
{
	margin-bottom: 6px;
	color: #76777a;
}

.feature_video
{
	width: calc(100% + 15px);
	left: -15px;
	height: 363px;
	margin-top: -4px;
}
.feature_video_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	border-radius: 6px;
}
.feature_video_button
{
	display: block;
	width: 60px;
	height: 60px;
	z-index: 10;
	outline: none;
}

/*********************************
9. Team
*********************************/

.team
{
	width: 100%;
	padding-top: 93px;
	padding-bottom: 60px;
	background: #FFFFFF;
}
.team_row
{
	margin-top: 43px;
}
.team_col
{
	margin-bottom: 40px;
}
.team_item
{
	width: 100%;
}
.team_image
{
	width: 180px;
	height: 160px;
	border-radius: 6px;
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: -86px;
	z-index: 5;
}
.team_image img
{
	max-width: 100%;
}
.team_body
{
	width: 100%;
	padding-top: 108px;
	padding-bottom: 24px;
	background: #FFFFFF;
	border-radius: 6px;
	box-shadow: 0px 1px 10px rgba(29,34,47,0.1);
	text-align: center;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.team_item:hover .team_body
{
	box-shadow: 0px 5px 40px rgba(29,34,47,0.15);
}
.team_title a
{
	font-family: 'Roboto Slab', serif;
	font-size: 20px;
	font-weight: 700;
	color: #384158;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.team_title a:hover
{
	color: #024A7F;
}
.team_subtitle
{
	font-size: 14px;
	font-weight: 400;
	color: #76777a;
	margin-top: 6px;
}
.social_list
{
	margin-top: 16px;
}
.social_list ul li
{
	display: inline-block;
}
.social_list ul li:not(:last-child)
{
	margin-right: 10px;
}
.social_list ul li a i
{
	font-size: 18px;
	color: #76777a;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.social_list ul li:hover a i
{
	color: #024A7F;
}
.team_col .team_item
{
	padding-left: 6px;
	padding-right: 6px;
}
.team_col:first-child .team_item
{
	padding-left: 0;
	padding-right: 6px;
}
.team_col:nth-child(4n) .team_item
{
	padding-left: 6px;
	padding-right: 0;
}

/*********************************
10. Counter
*********************************/

.counter
{
	width: 100%;
	background: #FFFFFF;
	z-index: 2;
}
.counter_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.counter_content
{
	padding-top: 119px;
	padding-bottom: 125px;
}
.counter_title
{
	font-family: 'Roboto Slab', serif;
	color: #FFFFFF;
	font-weight: 700;
}
.counter_text
{
	margin-top: 19px;
}
.counter_text p
{
	color: #FFFFFF;
}
.milestones
{
	margin-top: 39px;
}
.milestone
{
	text-align: center;
}
.milestone:not(:last-child)::after
{
	display: block;
	position: absolute;
	top: 0;
	right: -45px;
	width: 1px;
	height: 70px;
	background: rgba(255,255,255,0.2);
	content: '';
	-webkit-transform: rotate(30deg);
	-moz-transform: rotate(30deg);
	-ms-transform: rotate(30deg);
	-o-transform: rotate(30deg);
	transform: rotate(30deg);

}
.milestone_counter
{
	font-size: 42px;
	font-weight: 700;
	line-height: 0.75;
	color: #024A7F;
}
.milestone_text
{
	font-size: 16px;
	font-weight: 400;
	color: #FFFFFF;
	text-transform: uppercase;
	margin-top: 14px;
}
.counter_form
{
	position: absolute;
	top: 0;
	right: 30px;
	width: 380px;
	height: 100%;
	background: #FFFFFF;
	padding-left: 40px;
	padding-right: 40px;
	box-shadow: 0px 5px 40px rgba(29,34,47,0.15);
}
.counter_form_content
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.counter_form_title
{
	font-family: 'Roboto Slab', serif;
	font-size: 24px;
	font-weight: 700;
	color: #384158;
	text-transform: uppercase;
	line-height: 0.75;
	margin-bottom: 41px;
}
.counter_input
{
	width: 100%;
	height: 46px;
	border: solid 1px #e5e5e5;
	border-radius: 3px;
	padding-left: 20px;
	outline: none;
	color: #384158;
	font-size: 14px;
}
.counter_input:not(:last-child)
{
	margin-bottom: 10px;
}
.counter_text_input
{
	height: 90px;
	padding-top: 10px;
}
.counter_options
{
	position: relative;
	-webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
	-webkit-user-select: none;
	background-image: url(../images/down.png);
	background-position: center right;
	background-repeat: no-repeat;
}
.counter_input::-webkit-input-placeholder,
.counter_text_input::-webkit-input-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #b5b8be !important;
}
.counter_input:-moz-placeholder,
.counter_text_input:-moz-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #b5b8be !important;
}
.counter_input::-moz-placeholder,
.counter_text_input::-moz-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #b5b8be !important;
} 
.counter_input:-ms-input-placeholder,
.counter_text_input:-ms-input-placeholder
{ 
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #b5b8be !important;
}
.counter_input::input-placeholder,
.counter_text_input::input-placeholder
{
	font-size: 14px !important;
	font-weight: 400 !important;
	color: #b5b8be !important;
}
.counter_form_button
{
	width: 100%;
	height: 46px;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	border: none;
	outline: none;
	background: #024A7F;
	cursor: pointer;
	margin-top: 30px;
	box-shadow: 0px 5px 40px rgba(29,34,47,0.15);
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.counter_form_button:hover
{
	box-shadow: 0px 5px 40px rgba(29,34,47,0.45);
}

/*********************************
11. Partners
*********************************/

.partners
{
	width: 100%;
	background: #FFFFFF;
}
.partners_slider_container
{
	width: calc(100% + 100px);
	left: -50px;
}
.partners_slider
{
	height: 132px;
}
.partner_item
{
	height: 100%;
	cursor: pointer;
}
.partner_item img
{
	position: relative;
	width: 110px !important;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-filter: grayscale(100%);
  	filter: grayscale(100%);
  	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.partner_item:hover img
{
	-webkit-filter: grayscale(0%);
  	filter: grayscale(0%);
}


/* Bootstrap accordion look & feel aligned with Todobarco */
.tb-accordion .tb-accordion-item {
	border: 0;
	border-radius: 6px;
	box-shadow: 0px 1px 10px rgba(0,0,0,0.1);
	margin-bottom: 10px;
	overflow: hidden;
}

.tb-accordion .accordion-button {
	font-family: 'Roboto Slab', serif;
	font-size: 20px;
	font-weight: 700;
	color: #384158;
	padding-left: 30px;
	padding-right: 30px;
}

.tb-accordion .accordion-button:focus {
	box-shadow: none;
}

.tb-accordion .accordion-body {
	padding-left: 30px;
	padding-right: 30px;
}

.tb-accordion .accordion-body ul {
	list-style: disc;
	margin-left: 18px;
}
