/*
blue - 0054a8
grey - 616665
black - 010101
light orange - F69E5C
*/

body { padding: 0; color: #010101; font-size: 1.1em; font-family: 'Open Sans', sans-serif; }
a, a:link, a:focus, a:active, a:visited { color: #010101; text-decoration: underline; }
a:hover  { color: #0054a8; }
h1 { color: #0054a8; margin-top: 0; padding-bottom: 10px; font-size: 2em; }
h2  { color: #000; font-size: 1.6em; padding-bottom: 5px; }
h3  { font-size: 1.3em; font-weight: bold; }
.table { color: #FFF; }
.table a { color: #FFF; }
.table a:hover { color: #010101; }
.table thead>tr>th, .table tbody>tr>th, .table tfoot>tr>th, .table thead>tr>td, .table tbody>tr>td, .table tfoot>tr>td  { background-color: #F9F2E9; }
.table-striped > tbody > tr:nth-child(2n+1) > td, .table-striped > tbody > tr:nth-child(2n+1) > th { background-color: #ECD7BE; }
.table-bordered td, .table-bordered th { border: 1px solid #FFF; }
img { max-width: 100%; display: block; } 
.row { margin: 0; }
.container-page { padding: 0; }
.form-input-container { padding: 10px 0; }
.form-label { margin-bottom: 5px; font-size: 0.85em; }
.form_submit_container .row .col-lg-4 { padding: 0; }
.form-submit-container .row .col-lg-8 { padding: 0; }
.alert { margin-top: 10px; }

@media all and (min-width: 0px) and (max-width: 768px) 
{
	body { font-size: 20px !important; }
	.container_menu_full { position: relative !important; }	
	#logo { float: none; margin: 20px auto; width: 90% !important; text-align: center; }
	#logo img { margin: 0 auto; }
	#footer_logo { text-align: center; margin-bottom: 30px; }
	#footer_logo img { width: 60% !important; margin: 0 auto; }
	.container_slideshow_full { position: relative; top: 0 !important; }
	.container_banner_photo_full {  position: relative; top: 0 !important; }
	#quick_contact { margin: 0 auto !important; text-align: center; width: 100%; }
	#quick_address { display: none !important; }
	#quick_phone { width: 100%; text-align: center; margin: 0 0 10px 0 !important; }
	#quick_email { width: 100%; text-align: center; margin: 0 0 10px 0 !important; padding: 0; font-size: 0.8em !important; }
	#home_slideshow { height: 100%; }
	#home_slideshow .carousel-inner { height: 100% !important; }
	#home_slideshow .carousel-item { height: 100% !important; }
	#home_slideshow img { height: 100% !important; }
	.navbar-nav > li > a { border-bottom: 1px solid #000; border-right: none !important; }
	#sub_menu { display: none; }
	#main_content { padding-top: 20px !important; }
	#main_content_home { padding-top: 20px !important; }
	.rooms_photos { margin-top: 40px; }
	#footer_links ul li { padding: 14px 0 !important; }
}

.container_header_full { background: #FFF; color: #000; }
#logo { padding: 0;  width: 60%; margin: 10px 30px 20px 30px; }
#quick_contact { font-size: 1.1em; margin: 15px 20px 0 20px; text-align: right; color: #000; }
#quick_contact a, #quick_contact a:link, #quick_contact a:focus, #quick_contact a:active, #quick_contact a:visited { color: #000; text-decoration: none; }
#quick_contact a:hover { text-decoration: underline; color: #0054a8; }
#quick_phone { font-size: 1.4em; font-weight: bold; }
#quick_phone a, #quick_phone a:link, #quick_phone a:focus, #quick_phone a:active, #quick_phone a:visited { color: #0054a8; text-decoration: none; }
#quick_phone a:hover { text-decoration: underline; color: #000; }
#quick_phone i { color: #0054a8; }
#quick_email { padding: 14px 0 10px 0; }

.container_menu_full { margin: 0 auto; width: 100%; padding: 0; background: #010101; border-top: 1px solid #FFF; }
.navbar-nav > li > a { padding: 10px 15px; text-align: center; text-decoration: none !important; text-transform: uppercase; border-radius: 0; font-size: 1em; color: #FFF; letter-spacing: 1px; position: relative; overflow: hidden; }
.navbar-nav > li > a::after { content: ""; position: absolute; left: 15px; right: 15px; bottom: 6px; height: 2px; background: #FFF; transform: scaleX(0); transform-origin: left center; transition: transform 0.3s ease; }
.navbar-nav > li > a:hover::after, .navbar-nav > li > a:focus::after, .navbar-nav > li > a.active::after { transform: scaleX(1); }
.navbar-nav > li > a:hover, .navbar-nav > li > a:focus, .navbar-nav .open > a, .navbar-nav .open > a:hover, .navbar-nav .open > a:focus { background-color: #0054a8; color: #FFF !important; }
.navbar-nav > li > a.active, .navbar-nav > li > a:active { text-decoration: underline; color: #FFF !important; }
.navbar-nav > li:first-child > a, .navbar-nav > li:last-child > a  { border-bottom: 0; }
.nav .caret { border-top-color: #000; border-bottom-color: #000; }
.navbar-nav .dropdown-menu { background: #010101; border-radius: 0; padding: 0; margin: 0; width: 100%; }
.navbar-nav .dropdown-menu > li { padding: 0; margin: 0; }
.navbar-nav .dropdown-menu > li  a { color: #FFF; padding: 10px 20px !important; width: 100%; display: block; border-bottom: 1px solid #FFF; font-size: 1em; text-decoration: none; text-align: left; }
.navbar-nav .dropdown-menu > li  a.active, .dropdown-menu > li  a:hover, .dropdown-menu > li  a:active , .dropdown-menu > li  a:focus { color: #FFF; background: #0054a8; }
.dropdown:hover .dropdown-menu { display: block; }
.navbar-toggler { margin-bottom: 10px;  }
.navbar-toggler-icon { margin-top: 7px; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
.navbar-toggler:focus { box-shadow: 0 0 0 0; }

.container_slideshow_full { }
.carousel-caption { position: absolute; font-size: 1.1em; bottom: 0; left: 60px; max-width: 50%; background: rgba(0, 84, 168, 0.85); padding: 25px 35px; border-radius: 4px; color: #fff; text-align: left; }
.carousel-caption h5 { font-size: 3em; font-weight: 500; line-height: 1.2; margin: 0 0 20px 0; }
@keyframes captionFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.carousel-item .carousel-caption { opacity: 0; }
.carousel-item.active .carousel-caption { opacity: 1; animation: captionFadeUp 1.2s ease forwards; }
.carousel-indicators { bottom: -50px; }
.btn-slideshow, .btn-slideshow:link, .btn-slideshow:focus, .btn-slideshow:active, .btn-slideshow:visited, .btn-slideshow[disabled] { padding: 10px 30px; background-color: transparent; background-repeat: no-repeat; cursor: pointer; overflow: hidden; outline: none; color: #FFF; border: 1px solid #FFF; text-decoration: none; }
.btn-slideshow:hover { background: #0054a8; color: #FFF; }

.container_content_full { }
#main_content { padding: 30px 10px; }
#main_content li { margin: 1em 0; }
#plain_page_photos { margin-top: 65px;  }
#plain_page_photos img { margin-bottom: 10px; }
#plain_page_photos p { font-size: 0.8em; }
.plain_page_photos_title { font-size: 0.9em; margin-bottom: 10px;  }
#contact_page_map { margin-top: 10px; }

/* products */
.container_products_categories_full { background: #FFF; padding-top: 40px; padding-bottom: 100px; margin-top: 40px; margin-bottom: 0; }
#products_categories_intro h1 { text-align: center; margin: 0 0 40px 0; color: #0054a8; }
.products_category_cell_container { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.products_category_cell { background: #FFF; margin: 3px 5px 20px 5px; box-shadow: 0 0 8px rgba(0,0,0,0.1); display: flex; flex-direction: column; position: relative; }
.products_category_cell_name h2 { color: #000; font-size: 1.3em; padding-top: 10px; padding-bottom: 5px; text-align: center; }
.products_category_cell:hover { box-shadow: 0 0 10px rgba(0,0,0,0.5); }
.products_photos { margin-top: 65px; }
.products_photos_name { font-size: 0.8em; margin-top: 2px; margin-bottom: 20px; }
.products_list_name { text-align: center; }
#search_form { display: flex; align-items: center; }
#search_input { flex: 1; margin-right: 8px; }
#search_btn { display: flex; align-items: center; justify-content: center; padding: 25px 10px 0 10px; }
#breadcrumbs { margin-bottom: 15px; }
.product-cta { margin: 20px 0 40px 0; font-weight: bold; }


/* free quote */
.container_free_quote_full { background: #000; padding-top: 40px; padding-bottom: 80px; margin-top: 0; margin-bottom: 0; text-align: center; color: #FFF; }
#free_quote_intro h1 { color: #0054a8; margin: 0 0 30px 0; }
.free_quote_text { font-size: 1.4em; }
.free_quote_icons { display: flex; justify-content: center; gap: 2rem; margin: 40px 0; }
.free_quote_icons a { text-decoration: none; }
.free_quote_icons i { background-color: #fff; color: #000; border-radius: 50%; width: 60px; height: 60px; display: flex; justify-content: center; align-items: center; font-size: 1.8rem; box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); transition: transform 0.2s ease; }
.free_quote_icons a:hover i { transform: scale(1.1); background-color: #0054a8; color: #fff; }


/* benefits */
.container_benefits_full { padding: 70px 0; background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%); }
.container_benefits_full .container { position: relative; }
#benefits_intro { text-align: center; margin-bottom: 40px; }
#benefits_intro h2 { margin: 0; font-size: 2.2rem; font-weight: 700; line-height: 1.2; color: #000000; letter-spacing: -0.02em; }
.benefit_cell_container { display: flex; }
.benefit_cell { width: 100%; padding: 28px 22px; text-align: center; background: #ffffff; border: 1px solid rgba(0, 84, 168, 0.12); border-radius: 18px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; animation: benefitFadeUp 0.7s ease both; }
.benefit_cell:hover { transform: translateY(-8px); box-shadow: 0 18px 40px rgba(0, 84, 168, 0.14); border-color: rgba(0, 84, 168, 0.28); }
.benefit_icon { display: flex; align-items: center; justify-content: center; min-height: 120px; margin-bottom: 18px; }
.benefit_icon img { max-width: 96px; max-height: 96px; width: auto; height: auto; transition: transform 0.35s ease, filter 0.35s ease; }
.benefit_cell:hover .benefit_icon img { transform: scale(1.06); filter: drop-shadow(0 8px 18px rgba(0, 84, 168, 0.18)); }
.benefit_name { display: flex; justify-content: center; align-items: center; }
.benefit_name h3 { margin: 0; font-size: 1.1rem; font-weight: 700; line-height: 1.35; color: #000000; }
.row.row-cols-1.row-cols-md-3.row-cols-lg-5.g-4 { row-gap: 1.5rem; }
.benefit_cell_container:nth-child(1) .benefit_cell { animation-delay: 0.05s; }
.benefit_cell_container:nth-child(2) .benefit_cell { animation-delay: 0.15s; }
.benefit_cell_container:nth-child(3) .benefit_cell { animation-delay: 0.25s; }
.benefit_cell_container:nth-child(4) .benefit_cell { animation-delay: 0.35s; }
.benefit_cell_container:nth-child(5) .benefit_cell { animation-delay: 0.45s; }
@keyframes benefitFadeUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 991.98px) { .container_benefits_full { padding: 60px 0; } }
@media (max-width: 991.98px) { #benefits_intro { margin-bottom: 30px; } }
@media (max-width: 991.98px) { #benefits_intro h2 { font-size: 1.9rem; } }
@media (max-width: 991.98px) { .benefit_cell { padding: 24px 18px; } }
@media (max-width: 767.98px) { .container_benefits_full { padding: 50px 0; } }
@media (max-width: 767.98px) { #benefits_intro h2 { font-size: 1.7rem; } }
@media (max-width: 767.98px) { .benefit_icon { min-height: 100px; margin-bottom: 14px; } }
@media (max-width: 767.98px) { .benefit_icon img { max-width: 82px; max-height: 82px; } }
@media (max-width: 767.98px) { .benefit_name h3 { font-size: 1rem; } }
@media (prefers-reduced-motion: reduce) { .benefit_cell, .benefit_icon img { transition: none; animation: none; } }

/* news */
.container_news_full { background: #FFF; padding-top: 40px; padding-bottom: 60px;  }
#news_intro h1 { text-align: center; margin: 60px 0 30px 0; }
.news_cell_container { color: #000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.news_cell { background: #FFF; margin: 3px 5px 10px 5px; display: flex; flex-direction: column; position: relative; border-top: 5px solid #9b3c01; }
.news_cell h2  { color: #9b3c01; font-size: 1.6em; padding-top: 10px; padding-bottom: 5px; }
.news_cell_description { font-size: 0.9em; padding: 10px 20px 20px 20px;  }
.news_cell_date { font-size: 1em; font-style: italic; }
.news_cell:hover { box-shadow: 4px 4px rgba(255,255,255, 0.4); }
.news_year_menu { font-size: 0.85em; margin-bottom: 25px; }
.news_cell_description a, .news_cell_description a:link, .news_cell_description a:focus, .news_cell_description a:active, .news_cell_description a:visited { color: #9b3c01; text-decoration: underline; }
.news_cell_description a:hover { color: #000; }
.news_description h1, .news_date { text-align: center; }
.news_date { font-style: italic; margin-bottom: 10px; }
.news_hero_photo { margin-top: 20px; margin-bottom: 30px; }
.news_list_item { border-bottom: 1px dashed #9b3c01; margin-bottom: 40px; }
.news_list_photo { margin-bottom: 20px; }
.news_list_date { font-style: italic; margin-bottom: 10px; }
.news_photos img { margin-bottom: 25px; }
.news_gallery_cell_container { color: #000; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
.news_gallery_cell { background: #FFF; margin: 3px 5px 30px 5px; display: flex; flex-direction: column; position: relative; border-top: 5px solid #9b3c01; }
.news_gallery_cell h2  { color: #9b3c01; font-size: 1.1em; padding-top: 10px; padding-bottom: 5px; text-align: center; }
.news_gallery_cell:hover { box-shadow: 4px 4px rgba(255,255,255, 0.4); }

.grecaptcha-badge { visibility: hidden; }
#recaptcha_help { font-size: 0.85em; }
label.error { font-weight: bold; color: #FF0000; padding: 2px 8px; margin-top: 2px; }
.btn-primary, .btn-primary:link, .btn-primary:focus, .btn-primary:active, .btn-primary:visited, .btn-primary[disabled] { padding: 7px 20px; background: #0054a8; color: #FFF; border: none; text-decoration: none; }
.btn-primary:hover  { background: #F69E5C; color: #FFF; }

.container_footer_full { margin: 40px auto 0 auto; width: 100%; padding: 10px 0; background: #000; color: #FFF; border-top: 2px solid #0054a8; }
#footer_links { padding: 20px 0 10px 0; color: #fff; font-size: 0.9em; }
#footer_links ul li ul li:first-child { margin-top: 10px; }
.footer_title { color: #fff;  margin-left: 20px; }
.footer_title h3 { font-size: 1.6em; }
#footer_links a, #footer_links a:link, #footer_links a:focus, #footer_links a:active, #footer_links a:visited { color: #fff; }
#footer_links a:hover { color: #0054a8; }
#footer_links ul { text-align: left; }
#footer_links li { margin-bottom: 15px; }
#footer_logo img { width: 100%; }
#footer_slogan { text-align: justify; }
#footer_contact { margin: 20px 20px 10px 20px; }
#footer_contact i { margin-right: 10px; }
#footer_contact a, #footer_contact a:link, #footer_contact a:focus, #footer_contact a:active, #footer_contact a:visited { color: #fff; }
#footer_contact a:hover { color: #0054a8; }
#footer_email { padding: 10px 0; }
#footer_social_media { padding-top: 30px; }
.facebook_link { margin-right: 20px; }

#footer { color: #FFF; padding: 5px 0; }
#footer a, #footer a:link, #footer a:focus, #footer a:active, #footer a:visited { color: #FFF; text-decoration: none; font-weight: normal; }
#footer a:hover  { color: #0054a8; text-decoration: underline; }
.container_footer_credits_full { background: #080808; border-top: 2px solid #0054a8; border-bottom: 6px solid #0054a8; margin: 0 auto; width: 100%; padding: 10px 0; font-size: 0.7em; }
#copyright { padding-left: 0; }
#social_media { text-align: center; }
#credits { text-align: right; padding-right: 0; }

.wrapper{
  max-width: 1080px;
  margin: 50px auto;
  padding: 0 20px;
  position: relative;
}

.wrapper .center-line{
  position: absolute;
  height: 90%;
  width: 4px;
  background: #0054a8;
  left: 50%;
  top: 20px;
  transform: translateX(-50%);
}
.wrapper .row{
  display: flex;
  margin-bottom: 100px; }
}
.wrapper .row-1{
  justify-content: flex-start;
}
.wrapper .row-2{
  justify-content: flex-end;
}
.wrapper .row section{
  background: #E8E8E8;
  border-radius: 5px;
  width: calc(50% - 40px);
  padding: 20px;
  position: relative;
}
.wrapper .row section::before{
  position: absolute;
  content: "";
  height: 15px;
  width: 15px;
  background: #fff;
  top: 28px;
  z-index: -1;
  transform: rotate(45deg);
}
.row-1 section::before{
  right: -7px;
}
.row-2 section::before{
  left: -7px;
}
.row section .icon,
.center-line .scroll-icon{
  position: absolute;
  height: 100px;
  width: 100px;
  text-align: center;
  line-height: 40px;
  border-radius: 50%;
  overflow: hidden;
  font-size: 17px;
  box-shadow: 0 0 0 4px #fff, inset 0 2px 0 rgba(0,0,0,0.08), 0 3px 0 4px rgba(0,0,0,0.05);
}
.row section .icon img {
	overflow: hidden;
}
.center-line .scroll-icon{
  bottom: 0px;
  left: 50%;
  font-size: 25px;
  transform: translateX(-50%);
}
.row-1 section .icon{
  top: 15px;
  right: -90px;
}
.row-2 section .icon{
  top: 15px;
  left: -90px;
}
.row-2 section .details,
 .row-2 section p {
 padding-left: 10px; 
}
.row section .details,
.row section .bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.row section .details .title{
  color: #0054a8; 
  font-size: 22px;
  font-weight: 600;
}
.row section p{
  margin: 10px 0 17px 0;
}
@media(max-width: 790px){
  .wrapper .center-line{
    left: 40px;
  }
  .wrapper .row{
    margin: 30px 0 3px 60px;
  }
  .wrapper .row section{
    width: 100%;
  }
  .row-1 section::before{
    left: -7px;
  }
  .row-1 section .icon{
    left: -60px;
  }
}
@media(max-width: 440px){
  .wrapper .center-line,
  .row section::before,
  .row section .icon{
    display: none;
  }
  .wrapper .row{
    margin: 10px 0;
  }
}

