@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

*{
    box-sizing: border-box;
}

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

/***************** Colores ******************************/

:root{
--blanco: #fff;
--negro: #000000;
--negrorgb: 0,0,0;
--primario: #093146;
--gris: #707070;
--grisc: #f2f2f2;
--amarillo: #E6B022;
--amarillo2  : #FCF5EB;
--azul1: #D5E5F0;
--azul2: #143146;
--azul3: #1D4865;

--font: "Roboto", sans-serif;
--font2: 'Poppins', sans-serif;

--bgheader: #ffffff;
--bgfooter: #093146;

 }

/***************** Colores textos ******************************/
.blanco, a.blanco:hover { color: var(--blanco); }
.negro { color: var(--negro); }
.primario { color: var(--primario); }
.gris { color: var(--gris); }
.grisc { color: var(--grisc); }
.amarillo { color: var(--amarillo); }
.amarillo2 { color: var(--amarillo2); }
.azul1 { color: var(--aazul1); }
.azul2 { color: var(--aazul2); }
.azul3 { color: var(--aazul3); }

/***************** Fondos de color ******************************/
.bgblanco { background: var(--blanco); }
.bgnegro { background: var(--negro); }
.bgprimario { background: var(--primario); }
.bgprimario2 { background: var(--primario2); }
.bggris { background: var(--gris); }
.bggrisc { background: var(--grisc) !important; }
.bgamarillo { background: var(--amarillo); }
.bgazul1 { background: var(--azul1); }
.bgazul2 { background: var(--azul2); }
.bgazul3 { background: var(--azul3); }

.bgheader { background: var(--bgheader) }
.bgfooter { background: var(--bgheader) }


/************Reset css*********************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    /*font: inherit;*/
    vertical-align: baseline;
}


/* make sure to set some focus styles for accessibility */
:focus {
    outline: 0;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
  color: var(--primario);
  line-height: 120%;
  font-family: var(--font);
  font-size: 20px;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    /*-moz-appearance: none;*/
}

input[type=search] {
    /*-webkit-appearance: none;
    -moz-appearance: none;*/
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    max-width: 100%;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */

[hidden] {
    display: none !important;
}

/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-size: 100%; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -ms-text-size-adjust: 100%; /* 2 */
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a {
  color: var(--primario);
  outline: none;
}
a:hover {
  color: var(--primario);
}
a:focus {
    outline: none;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */

img {
    border: 0; /* 1 */
    -ms-interpoion-mode: bicubic; /* 2 */
}

/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */

figure {
    margin: 0;
}

/**
 * Correct margin displayed oddly in IE 6/7.
 */

form {
    margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */

legend {
    border: 0; /* 1 */
    padding: 0;
    white-space: normal; /* 2 */
    *margin-left: -7px; /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */

button,
input,
select,
textarea {
    font-size: 100%; /* 1 */
    margin: 0; /* 2 */
    vertical-align: baseline; /* 3 */
    *vertical-align: middle; /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    /*-webkit-appearance: button;*/ /* 2 */
    cursor: pointer; /* 3 */
    *overflow: visible;  /* 4 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
    *height: 13px; /* 3 */
    *width: 13px; /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    /*-webkit-appearance: textfield;*/ /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html,
button,
input,
select,
textarea {
    color: var(--negro);
}


::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

img {
    max-width: 100%;
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: var(--negro);
    padding: 0.2em 0;
}

a {
    text-decoration: none;
}

em, i {
  font-style: italic;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

p {
  font-size: 20px;
  line-height: 150%;
}

ul li { line-height: 150%; }

/******************** lazy *******************************/
img.lazy{
  font-size: 10px;
  color: transparent;
  text-align: center;
}
.lazy{
  background-image: none !important;
  position: relative;
}
/*Estos estilos pintan un background animado tipo load*/
.lazy:before, .lazy:after {
  content: '';
  position: absolute;
  top: 45%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background:var(--primario); /*Cambiar al color que se necesite*/
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lazy:before {
  left: 45%;
  animation: lds-ellipsis1 0.6s infinite;
}
.lazy:after {
  left: 45%;
  animation: lds-ellipsis2 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: transe(0, 0);
  }
  100% {
    transform: transe(24px, 0);
  }
}
/*.getscript{
  cursor: pointer;
}
.wistia_click_to_play{
  width: 100%;
}
.play-button{
  cursor: pointer;
  position: relative;
}
.play-button:before{
  border-radius: 50%;
  content: '';
  height: 81px;
  position: absolute;
  width: 81px;
  z-index: 1;
  background-color: rgba(204,5,38, 0.76);
  left: 41.5%;
  top: 38%;
  transition: all 80ms ease-out 0s;
  mix-blend-mode: normal;
}
.play-button:after{
  content: '';
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH8AAABRCAYAAAD7G3lVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATFJREFUeNrs22FtwkAYx+F2QcAkMAfgYBKQwBxMQh1MwiRQB+CgEoaDzkG5S1a+E5IF+n+e5D4ve3+7N0s4mgYAAAAAAAAAAAAA7jFN06cp5MavjuWsTSMzfjWWszORzPizQzmvJpMZ3xYIj28LiG8LpMeffdsCufGrn3LeTS0z/uzLFsiNbwuEx7cFxL9ugY1pZsafdSaaG78abIHc+LaA+MvbAi/+XG5Sww9L2QLtEm/+P/2oUzkfbduexc+LX51L/DdrP09fzvaZf4GVhjf7/Vv3vVFk/bfvMUhg/PoAZG+6efE9Aw+MP/oCSGZ8tz0wvtseGn9w2zPjdyaXF99n9aHx3fbA+G57aHy3PTC+N/mh8b3DD4zvtofGd9tD47vtAAAAAAAAAAAAADymiwADAOSj1JBfF8xMAAAAAElFTkSuQmCC) 0px 0px / 127px 81px no-repeat transparent;
  display: block;
  height: 81px;
  outline: none;
  position: absolute;
  width: 127px;
  z-index: 1;
  left: 38%;
  top: 38%;
}*/
/*.play-button:hover:before{
  content: '';
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1;
  background-color: rgba(204,5,38, 0.8);
  left: 0px;
  top: 0px;
  transition: all 80ms ease-out 0s;
  mix-blend-mode: multiply;
}*/


/******************** hojas ************************************/

.hoja-1920 { position: relative; display:block; margin:auto; max-width:1920px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-1400, .container { position: relative; display:block; margin:auto; max-width:1400px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-1300 { position: relative; display:block; margin:auto; max-width:1300px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-1200, .container-wrapper {position: relative;display:block;margin:auto;max-width:1200px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-1100 { position: relative; display:block; margin:auto; max-width:1100px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-1024 { position: relative; display:block; margin:auto; max-width:1024px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-1000 { position: relative; display:block; margin:auto; max-width:1000px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-900 { position: relative; display:block; margin:auto; max-width:900px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-800 { position: relative; display:block; margin:auto; max-width:800px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }
.hoja-700 { position: relative; display:block; margin:auto; max-width:800px; width:100%; padding:0 10px; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }

.w-10 { width: 10%; }
.w-20 { width: 20%; }
.w-30 { width: 30%; }
.w-35 { width: 35%; }
.w-40 { width: 40%; }
.w-50 { width: 50%; }
.w-60 { width: 60%; }
.w-65 { width: 65%; }
.w-70 { width: 70%; }
.w-80, .w-80-m { width: 80%; }
.w-90, .w-90-m { width: 90%;}
.w-95, .w-95-m { width: 95%;}
.w-100 { width: 100%; }

.height-auto { height: auto!important; }  
.h-4 { height: 4px; }

.zindex{
  z-index: 1;
}


/*********************************  Fuentes ****************************************************/

.fs10 { font-size:10px; }
.fs11 { font-size:11px; }
.fs12 { font-size:12px; }
.fs14 { font-size:14px; }
.fs15 { font-size:15px; }
.fs16 { font-size:16px; }
.fs18 { font-size:18px; }
.fs19 { font-size:19px; }
.fs20 { font-size:20px; }
.fs22 { font-size:22px; }
.fs23 { font-size:23px; }
.fs24 { font-size:24px; }
.fs25 { font-size:25px; }
.fs26 { font-size:26px; }
.fs28 { font-size:28px; }
.fs30 { font-size:30px; }
.fs32 { font-size:32px; }
.fs34 { font-size:34px; }
.fs35 { font-size:35px; }
.fs36 { font-size:36px; }
.fs38 { font-size:38px; }
.fs40 { font-size:40px; }
.fs42 { font-size:42px; }
.fs44 { font-size:44px; }
.fs45 { font-size:45px; }
.fs75 { font-size:75px; }

.fw100 { font-weight: 100; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw900 { font-weight: 900; }

.line-normal { line-height:normal; }
.line-130 { line-height: 130%; }
.line-120 { line-height: 120%; }
.line-100 { line-height: 100%; }

.font{
  font-family: var(--font);
}
.font2{
  font-family: var(--font2);
}

h1, h2, h3, h4, h5, h6{
  font-family: var(--font2);
  font-weight: 400;
}
h1{
  font-size: 75px;
}
h2{
  font-size: 42px;
}
h3{
  font-size: 28px;
}
h4{
  font-size: 18px;
}


/******************** Posiciones *********************************/
 
.fixed {
  position: fixed;
  width: 100%;
  z-index: 3;
  background: var(--blanco);
  max-width: 100% !important;
  top: 0;
}
.fixed .container-wrapper {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.fixed .logo img {
  max-width: 250px !important;
}
.fixed .top-header{
  display: none !important;
}

/******************** display **********************************/

.nofloat{
  float: none !important;
}

.border-box { 
   box-sizing: border-box;   
  -webkit-box-sizing: border-box; 
  -moz-box-sizing: border-box; 
}

.content-box { 
    box-sizing: content-box; 
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;  
}


/***************** estilos sitio ******************************/

.banner-mask {
  position: absolute;
  background: linear-gradient(to right, rgb(0 0 0 / 40%), rgba(0, 0, 0, 0));
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  bottom: 0;
  background-color: #fff;
  z-index: 999999999;
}
.loading-mask {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #f9f9f9;
  z-index: 9999999999999;
}
.loading-mask img{
  min-width:300px;
  transform-origin: 50% 50% 0px;
  animation: 1s linear 0s infinite normal forwards running ld-breath;
}

.charact li:before {
  content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-superficie.png);
  margin-right: 10px;
  position: relative;
  top: 9px;
}


.charact #bedrooms:before {
  content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-habitaciones.png);
  margin-right: 10px;
}

.charact #showers:before {
  content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-banos.png);
  margin-right: 10px;
}

.charact #parking:before {
  content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-parking.png);
  margin-right: 10px;
}

.charact #pool:before {
  content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-alberca.png);
  margin-right: 10px;
}


li#showers {
  display: flex;
  align-items: center;
}

ul#amenitues {
  column-count: 2;
  column-gap: 0;
  margin: 0;
  padding: 0;
}

ul#amenitues li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
    font-size: 18px;
}

ul#amenitues li:before {
    content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-Icon%20akar-circle-check.png);
    position: absolute;
    left: 0;
    top: 1px;
}

.border-y {
    border-top: solid 1px;
    border-bottom: solid 1px;
}

.btn-head-whats {
  border-radius: 15px;
  padding: 1px 10px;
  display: flex;
  align-items: center;
}

.top-header a.btn-br-azul {
  border-radius: 15px;
  padding: 0 10px;
}


div#description p {
    margin-bottom: 1em;
    font-size: 18px;
}

#description h2 {
  font-size: 24px;
  color: var(--azul2);
}

#description ul {  
  margin: 0;
  padding: 0;
}

#description ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
  font-size: 18px;
  display: inline-block;
  width: 49%;
  vertical-align: top;
}

#description ul li:before {
  content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-Icon%20akar-circle-check.png);
  position: absolute;
  left: 0;
  top: 1px;
}

#description h1, #description h2, #description h3, #description h4 {
  font-size: 24px;
  color: var(--azul2);
  margin: 25px 0;
  font-weight: 600;
}


#description h3 {
  font-size: 22px;
}

  
 #description h4 {
  font-size: 20px;
 }

 div#properties {
  max-height: 530px;
  overflow: auto;
}

.btn-brd-azul {
  border: solid 2px;
  padding: 5px 15px;
  display: inline-block;
  border-radius: 20px;
  font-weight: bold;
}

.item-cont img, div#map_property {
  border-radius: 10px;
}


.slick-slide img {
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}

.bullet-check li {
  position: relative;
  padding-left: 25px;
  line-height: 110%;
  margin-bottom: 20px;
}

.bullet-check li:before {
  content: url(https://www.osanpuerto.com/images/producto/puerto-escondido-homes-for-sale-Icon%20akar-circle-check.png);
  position: absolute;
  left: 0;
  top: 1px;
}


/* HTML marker styles */
.price-tag {
  background-color: #4285F4;
  border-radius: 8px;
  color: #FFFFFF;
  font-size: 14px;
  padding: 10px 15px;
  position: relative;
}

.price-tag::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #4285F4;
}

.getscript {
  cursor: pointer;
}


@media(max-width: 700px){
  .loading-mask img {
    min-width: 200px;
  }
}
@keyframes ld-breath{0%{animation-timing-function:cubic-bezier(0.9647,0.2413,-0.0705,0.7911);transform:scale(0.9099999999999999)}80%{animation-timing-function:cubic-bezier(0.9226,0.2631,-0.0308,0.7628);transform:scale(1.02994)}100%{transform:scale(0.9099999999999999)}}.ld.ld-breath{animation:ld-breath 1s infinite linear}
.loading-mask .middle {
  position: absolute;
  top: 50%;
  width: 100%;
}
.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 180px;
}

.breadcrumb{
  font-size: 18px;
  margin:auto;
  max-width: 1200px;
  padding: 10px 0 0 !important;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.breadcrumb li{
  margin-right: 5px;
}
.breadcrumb .active {
  color: var(--primario);
  font-weight: bold;
  padding-left: 2px;
}
.breadcrumb-item+.breadcrumb-item::before{
  font-size: 16px;
  font-weight: 600;
  content: ">";
}
.sombra{
  box-shadow: rgba(var(--negrorgb), 0.2) 0 0 10px;
}
.btn{
  background: var(--amarillo);
  border-radius: 46px;
  color: var(--primario);
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding: 2px 20px;
  text-align: center;
  transition: all ease-in-out .3s;
}
.btn:hover{
  background: var(--amarillo);
  color: var(--primario);
}
.btn-br-azul, .btn-br-azul:hover{
  background: var(--blanco);
  border: var(--primario) 1px solid;
  color: var(--primario);
  display: inline-block;
  font-weight: bold;
  padding: 2px 5px;
  text-align: center;
}

.btn-azul, .btn-azul:hover {
  background: var(--azul2);
  border-radius: 46px;
  color: var(--blanco);
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding: 2px 20px;
  text-align: center;
  transition: all ease-in-out .3s;
}


.radio10{
  border-radius: 10px;
}

/* bullets */
.bullet-ico{
  box-sizing: border-box;
}
.bullet-ico li{
  margin-bottom: 25px;
  padding-left: 40px;
  position: relative;
}
.bullet-ico li:before{
  content: ' ';
  background: url(../../../images/general/osan-puerto-bullet.png) no-repeat left center;
  height: 26px;
  left: 0;
  position: absolute;
  width: 26px;
}
.bullet-color {
  list-style: none;
  padding-left: 40px;
}
.bullet-color li{
  margin-bottom: 15px;
  text-indent: -15px;
}
.bullet-color li:before{
  background: var(--amarillo);
  border-radius: 100%;
  content: ' ';
  display: inline-block;
  height: 6px;
  margin-right: 10px;
  width: 6px;
}

/*formularios*/
::-webkit-input-placeholder{
    font-size: 14px;
    color: var(--azul2);
}
:-moz-placeholder{ /* Firefox 18- */
    font-size: 14px;
    color: var(--azul2);
}
::-moz-placeholder{ /* Firefox 19+ */
    font-size: 14px;
    color: var(--azul2);
}
:-ms-input-placeholder{
    font-size: 14px;
    color: var(--azul2);
}
.form-columns-1, .form-columns-2{
  max-width: 100% !important;
}
.form-columns-1 .hs-form-field .input, .form-columns-2 .hs-form-field:last-child .input {
  margin-right: 0 !important;
}
.hs-form-field {
  margin-bottom: 15px;
}
.hs-form-field label{
  color: var(--primario);
  display: block;
  font-size: 18px;
  margin-bottom: 5px;
}
.hs-form-field input, .hs-form-field select, .hs-form-field textarea {
  border: var(--gris) 1px solid;
  border-radius: 23px;
  box-sizing: border-box;
  font-family: var(--font);
  font-size: 16px;
  margin-bottom: 10px;
  padding: 10px 15px !important;
  width: 100%;
}
.hs-form-field textarea {
  min-height: 150px;
}
.hs-error-msgs .hs-error-msg, .hs_error_rollup {
  color: red;
  font-size: 12px;
  font-style: italic;
  font-weight: normal;
  line-height: 130%;
}
.hs_error_rollup{
  display: none;
}
.hs-main-font-element {
  font-weight: bold;
}
.hs-submit .actions input {
  background: var(--amarillo);
  border: 0;
  border-radius: 10px;
  box-sizing: border-box;
  color: var(--blanco);
  display: inline-block;
  font-size: 1rem;
  font-weight: bold;
  padding: 7px 15px;
  text-align: center;
  transition: all ease-in-out .3s;
  max-width: 180px;
  width: 100%;
}
.hs-submit .actions {
  text-align: center;
}
.hs-submit .actions input:hover {
  background: var(--rojo);
}
.requerido {
  border: red 1px solid !important;
}

/****************Modal***********************/
.modal{display:none;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,0.4);z-index:10}
.modal-content{background-color:#f2f2f2;margin:auto;padding:20px;border:1px solid #888;width:740px;padding:10px 10px 5px;box-sizing:border-box;position:relative;max-width:90%;top:50%;transform:translateY(-50%)}
.close{background:var(--azul);font-size:25px;font-weight:500;position:absolute;right:-1px;top:-9px;color:#fff;padding:6px 12px;right:-17px;z-index:1}
.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}
.video-yt{cursor:pointer}
@media(max-width:780px){
.modal-content{max-width:90%!important;padding-top:49%}
.modal iframe#playerId{width:100%;height:100%;position:absolute;top:0;left:0}
}


/***************** header ******************************/

/* header-movil */
/*.logo-movil{
    max-width: 150px;
}*/
.logo-movil a{
  display: block;
  height: 100%;
  width: 100%;
}

.header-movil .btn {
  padding: 10px 15px !important;
}

/*menu-movil*/
.btn-hamb{
  display: block;
  width: 50px;
  height: 40px;
  padding: 10px;
  margin: 0px 10px 0 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.btn-hamb:before, .btn-hamb:after {
  content: '';
  display: block;
  background: var(--primario);
  height: 3px;
}
.btn-hamb span {
  background: var(--primario);
  display: block;
  height: 3px;
  margin: 5px 0;
}
.navbar-nav .nav-link {
  padding: 10px;
}
.navbar-nav .nav-link:hover {
  background: none;
}
nav .nav-item {
  border-bottom: #ccc 1px solid;
}

/*nav ul li:last-child a{
  color: var(--primario) !important;
  padding: 15px 0;
}*/
nav .dropdown-menu {
  background: #f2f2f2;
  border-radius: 0;
  border-bottom: 0;
  border-right: 0;
  border-left: 0;
}
nav .dropdown-menu li {
  border-bottom: #ccc 1px solid;
}
nav .dropdown-menu li:last-child{
  border-bottom: 0;
}
nav .dropdown-menu .dropdown-item{
  padding: 10px var(--bs-dropdown-item-padding-x);
  font-weight: normal;
}

nav .mod-menu__sub a {
  font-weight: 500;
}


/*top-header*/
.top-header a{
  color: var(--primario);
  font-size: 16px;
}
.top-header a:last-child{
    margin-right: 0;
}

/* menu desktop */
nav{
  font-weight: 500;
}
nav ul li {
  /*max-width: 176px;*/
  text-align: center;
  /*width: 100%;*/
}
nav ul li a, nav ul li span{
  color: var(--primario) !important;
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding: 3px 10px;
}
nav ul li a:hover, nav ul li span:hover{
  background: var(--azul1);
  border-radius: 50px;
  color: var(--primario);
}
nav ul li.active a{
  /*background: var(--azul1);*/
  border-radius: 50px;
}
/*nav ul li:last-child a{
  background: var(--rojo);
  border-radius: 10px;
  color: var(--blanco) !important;
  font-weight: 700;
  max-width: 155px;
  padding: 7px 30px;
  display: inline-block;
}*/
nav .parent{
  position: relative;
  /*padding-right: 15px;*/
}
/*nav .parent::after{
  content: url(../../../images/general/drop.png);
  position: absolute;
  bottom: 2px;
  right: -5px;
}*/
nav .mod-menu__sub{
  background: var(--blanco);
  box-shadow: rgba(var(--negrorgb), 0.2) 0 0 10px;
  border-radius: 15px;
  display: none;
  width: 200px;
  padding: 10px;
  position: absolute;
  transition: all ease-in-out .3s;
  z-index: 2;
}
nav .mod-menu__sub li {
  /*background: var(--blanco);*/
  max-width: 100% !important;
  text-align: left;
  width: 100%;
}
nav .mod-menu__sub a, nav .mod-menu__sub span{
  /*background: var(--blanco);*/
  color: var(--negro);
  display: inline-block;
  padding: 10px 20px 10px 20px;
  position: relative;
}
nav .mod-menu__sub .active a {
  color: var(--amarillo2);
}
nav .mod-menu__sub a:hover, nav .mod-menu__sub span:hover{
  background: var(--amarillo2);
  border-radius: 50px !important;
}
nav .mod-menu__sub li:last-child a{
    /*background: var(--blanco);*/
    border-radius: 0;
    font-weight: 500;
    max-width: 100%;
    padding: 10px 20px;
    width: 100%;
}
nav .parent:hover .mod-menu__sub{
  display: block;
}

nav ul li.active a {
  background: var(--azul1);
}

nav ul li.active ul.mod-menu__sub li a {
  background: #FFFFFF;
  border-radius: 50px;
}

nav ul li.active ul.mod-menu__sub li a:hover {
  background: var(--amarillo2);
  border-radius: 50px;
}

ul.mod-menu__sub li a {
  width: 100%;
  margin-bottom: 5px;
}





/***************** feedblog ******************************/
/*.item-cont .item-blog:first-child .cat{
  background: var(--gris);
  pointer-events: none;
}
.item-cont .item-blog:nth-child(2) .cat{
  background: var(--gris);
  pointer-events: none;
}
.item-cont .item-blog:last-child .cat{
  background: var(--gris);
  pointer-events: none;
}*/
.item-blog img{
  height: auto;
  /*max-width: 390px;*/
  width: 100%;
}
/*.item-blog{
  box-shadow: rgba(var(--negrorgb), 0.2) 0 0 10px;
  max-width: 390px;
}*/
.tit-feedblog{
  font-size: 22px;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 20px;
  min-height: 75px;
}
.txt-feedblog{
  font-size: 17px;
  line-height: 120%;
  min-height: 85px;
}
.txt-feedblog a{
  color: var(--negro);
}
.leermas-feedblog{
  color: var(--negro) !important;
  font-size: 20px;
  font-weight: 700;
}
.leermas-feedblog:hover{
  color: var(--negro) !important;
}
.fecha-feedblog{
  border-top: var(--negro) 1px solid;
  color: var(--negro);
  font-size: 16px;
  padding: 10px;
}

/***************** footer ******************************/

footer{
  background: var(--primario);
}
footer, footer a{
  font-size: 16px;
  color: var(--blanco);
}
.menu-footer li{
  margin-bottom: 10px;
}
.menu-footer li:last-child{
  margin-bottom: 0;
}
.menu-footer li a{
  font-size: 16px;
}
.menu-footer li a:hover{
  color: var(--blanco);
  font-weight: 400;
}

.copyright a, .copyright a:hover{
  color: var(--blanco);
}


/***************** paginas ******************************/

.banner{
  min-height: 300px;
}
/*.banner-home{
  background: url(https://www.cliento.mx/hubfs/Site2020/Inbound-marketing/v2/inbound-marketing-banner.jpg) no-repeat;
  background-size: cover;
}*/
.bgmod1{
  /*background-image: url(../../../images/general/puerto-escondido-real-estate-osan-spiral-iconos.png);*/
  background-image: url('../../../images/general/puerto-escondido-real-estate-osan-spiral-iconos.png');
  background-image: -webkit-image-set(url('../../../images/general/puerto-escondido-real-estate-osan-spiral-iconos.webp') 1x);
  background-repeat: no-repeat;
  background-position: left bottom;
}
.bgvideo{
  min-height: 538px;
}
.bgvideo:before {
  background: var(--primario);
  border-radius: 100% 0 0 100%;
  content: ' ';
  display: block;
  max-width: 591px;
  min-height: 538px;
  position: absolute;
  right: -100px;
  top: 0;
  width: 100%;
}
.slide-reviews {
  min-width: 120%;
  right: 0;
}

/* about */
.flip-card {
  background-color: transparent;
  /*height: 397.33px;*/
  height: 416.33px;
  width: 386.8px;
  perspective: 1000px;
}
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}
.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}
.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.flip-card-back {
  transform: rotateY(180deg);
}
.team .slick-prev, .team .slick-next{
  height: 46px;
  width: 46px;
  position: absolute;
  top: 50%;
  z-index: 1;
}
.team .slick-next {
  right: -5px !important;
}
.team .slick-prev:before, .team .slick-next:before{
  display: none;
}

.back-tit{
  background: url(../../../images/legal-services/legal-services-real-estate-espiral-bullet.png) no-repeat left top;
  display: flex;
  align-items: center;
  min-height: 54px;
  padding-left: 35px;
}

/* propiedades */

.slide-int .slick-arrow img{
  max-width: 34px;
  width: 34px;
  height: auto;
}
.slide-int .slick-arrow:before {
  display: none;
}
.slide-int .slick-next {
  right: 20px;
}

div#slide1 img {
  width: 100%;
  object-fit: cover;
}

.text-danger {
  font-size: 12px;
}

label.error {
  color: red;
  font-size: 12px;
}

div#message-contacto {
  text-align: center;
  font-size: 14px;
  padding: 10px 0 0;
}



#type {
  background: transparent;
  cursor: pointer;
  color: var(--azul2);
}


#type:hover {
  color: var(--azul2);
  background-color: #f2f2f2; 
}


#type option {
  color: var(--azul2);
  background-color: #ffffff; 
}


#type:hover option {
  background-color: #f2f2f2; 
  color: var(--azul2); 
}

.custom-marker {
  width: 30px;
  height: 30px;
  background-color: #4285F4; /* Azul Google */
  border-radius: 50%; /* Hacer el marcador circular */
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

.custom-marker span {
  line-height: 1;
}


#objective {
  text-transform: uppercase;
  cursor: initial;
}

div#properties span.bgamarillo {
  text-transform: uppercase;
}


/** Thumbanails ??***/

.slide-int .slick-slide img {
  height: 170px;
  object-fit: cover;
/*  width: 308px !important;
  resize: auto;
  position: relative;
  top: -16px;
  max-width: none;*/
}

.images-prop .slide-int {
  height: 172px;
  overflow: hidden;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}

sup {
  position: relative;
  top: -3px;
  font-size: 15px;
}

.detalles sup {
  font-size: 8px;
}


.marker-content {
  position: relative;
  width: 24px; /* Ajusta el ancho según tu diseño */
  height: 24px; /* Ajusta la altura según tu diseño */
}

.pin {
  width: 24px;
  height: 24px;
  border-left: 0;
  border-right: 0;
  position: absolute;
  background: var(--azul2);
  border: so;
  color: white;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 18px;
}

a.ico-whats {
    align-items: center;
    background: #1bd741;
    border-radius: 100%;
    bottom: 15px;
    display: flex;
    height: 50px;
    justify-content: center;
    padding: 5px;
    position: fixed;
    right: 15px;
    width: 50px;
    z-index: 1000;
}




/***************** MedíaQuerys ******************************/

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

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

@media (max-width:1400px) {

  
}

@media (max-width:1280px) {

    
}

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

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

@media (max-width: 1024px) {

    
}

@media (max-width: 768px) { 

  .fs75{
    font-size: 36px;
  }
  
  h1, .fs45, .fs42, .fs40, .fs36{
    font-size: 30px;
  }
  h2, .fs32{
    font-size: 26px;
  }
  h3{
    font-size: 24px;
  }
  .fs28, .fs24{
    font-size: 20px;
  }
  .fs22{
    font-size: 18px;
  }
  body, h4, p, .fs20, .fs18{
    font-size: 18px;
  }
  .fs14, .fs12{
    font-size: 12px;
  }
  nav ul li {
    max-width: 100% !important;
    text-align: left;
  }
  nav ul li:last-child a{
    background: none;
    font-weight: 500;
    border-radius: 0;
    padding: 15px 20px;
    max-width: 100%;
  }

  div#properties-link {
    display: inline-block;
  
  }  

  .banner {
    min-height: 150px;
    background-size: cover;
  }
  .banner-in {
    min-height: 100px;
    background-size: cover;
  }
  
  /* about */
  .team .slick-next {
    display: block !important;
  }

  #description ul li {
    width: 99%;    
  }  

  .slide-int .slick-slide img {
    height: auto;
    width: 100% !important;
    resize: auto;
    position: relative;
    top: 0px;
    max-width: none;
  }
  
  .slide-int {
    height: auto;
    overflow: hidden;
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
  }  

  .images-prop.position-relative {
    margin-bottom: -10px;
  }  

  a#objective {
    font-size: 14px;
  }  

  h2.back-tit.fs32.fw-medium.mb-3 {
    font-size: 22px;
  }  

  .banner-movil-about {
    background: url(https://www.osanpuerto.com/images/about/real-estate-agent-puerto-escondido-banner-2.png);
    width: 100%;
    height: 125px;
    background-position: right;
    background-size: cover;
  }
  
  a.ico-whats {
    bottom: 10px;
    right: 10px;
  }

}


@media (max-width: 700px) { 

  nav ul li:last-child a{
    color: var(--primario) !important;
    padding: 15px 0;
  }

  .w-10, .w-20,  .w-30,  .w-35, .w-40,  .w-50,  .w-60,  .w-65, .w-70, .w-80, .w-90, .w-95, .w-100 { width: 100% !important; max-width: 100% !important; }

  .breadcrumb {
    font-size: 14px;
    margin: auto;
    max-width: 1200px;
    padding: 10px 0 0 !important;
    position: relative;
    width: 100%;
    z-index: 1;
    height: auto;
    margin-bottom: 5px;
}

  
  .bullet-color {
    padding-left: 20px;
  }
  
  .hs-form-field {
    margin-bottom: 15px;
    max-width: 100% !important;
  }

  .item-blog{
    padding: 0 !important;
  }
  .item-blog:nth-child(2), .item-blog:last-child{
    display: none !important;
  }

  .mod-search{
    background: var(--primario);
    border-radius: 36px 36px 0 0;
    margin-top: -30px;
  }
  .filtros-search{
    background: none;
    position: initial !important;
  }
  .filtros-search select{
    border-radius: 46px;
    background: #ffffff !important;    
  }

  .bgvideo{
    min-height: 350px;
  }
  .bgvideo::before{
    max-width: 300px;
    min-height: 350px;
    right: -10px;
  }

  .img-slide {
    max-width: 250px !important;
  }
  .slide-reviews {
    /*position: initial !important;*/
    margin: auto;
    max-width: 90%;
    min-width: 100%;
  }
  
  .tit-banner {
    position: initial !important;
  }
  .tit-banner h1, .tit-banner h2 {
    color: var(--primario);
  }
  
  /*about*/
  .flip-card:hover .flip-card-inner {
    transform: rotateY(0deg);
  }
  .flip-card-front{
      position: initial;
  }
  .flip-card-back {
      display: none;
  }

  .team .slide{
      margin: auto;
  }
  .team .slick-slide .col-12 {
      margin-left: 10px;
      max-width: 95%;
  }
    
  .slick-slide .flip-card-inner img {
    border-top-right-radius: 0px;
    border-top-left-radius: 0px;
  }  

  .btn {
    padding: 8px 20px;
  }  

    .breadcrumbs ul {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: nowrap;
    }

    .breadcrumbs li {
    flex-shrink: 0;
    }

    .breadcrumbs li:last-child {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    display: inline-block;
    max-width: 50vw; /* Ajusta según tu diseño */
    vertical-align: bottom;
    }  
}


@media (max-width: 600px) { 
  
  .formulario .hs-form-field{
    margin-right: 0;
  }

}

@media (max-width: 480px) {


}

@media (max-width: 390px) { 
  

}

@media (max-width: 360px){


}

div.mod-languages ul li.lang-active {
    background-color: snow;
    border-bottom: solid 2px #093146;
}

div.mod-languages li {
    margin: 0;
}

div.mod-languages ul {
    padding: 0;
    margin: 0;
    list-style: none;
    margin-right: 10px;
}
