
/* 1. Global configuration ---*/
/*----------------------------*/
/* WARNING 1: do not optimize font loading by adding <link rel="preload"> tags in layouts/views.
   -> as we need to handle old safari devices from 2013~2016 we need to be able to fallback to woff1 format in @font-face if woff2 fails
   -> this means one of woff & woff2 from @font-face will always be resolved, any preload tag would load a useless duplicate
   WARNING 2: loading priority depends on the font used
   -> Open Sans is using 'font-display: auto;' to let browser handle loading the best he can to avoid flash or clipping,
   -> IcoMoon is using 'font-display: block' to show it only after it has been loaded (ok if icons rendering is delayed a bit)
*/
/* Arial font size was adjusted to avoid messing up layout too much if used */
/* override rules generated using https://screenspan.net/fallback/ */
@font-face {
  font-family: "Adjusted Arial Fallback";
  src: local(Arial);
  size-adjust: 104%;
  ascent-override: 106%;
  descent-override: 22%;
  line-gap-override: normal;
}
@font-face {
  font-family: "Open Sans Regular";
  src: url(/assets/opensans-regular-37be4e97bc61763a1da042ad3d60f76e7cd2f41be528224b7632c35d9326450b.woff2) format("woff2"), url(/assets/opensans-regular-5fdd365abf2fd69ba53ba25783cb485c948b791217421bc1e96f3101ad4ea96d.woff) format("woff");
  font-weight: normal;
  font-style: normal;
  /* let browsers handle font loading */
  /*font-display: auto;*/
  /* Lighthouse/PageSpeed tests prefer clipping :( */
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IcoMoon";
  src: url(/assets/icomoon-93fce10a142b773bd8960daba7d678f262f2bdea6336bb522f283437b9c6a052.woff2) format("woff2"), url(/assets/icomoon-d81d5d32b19fbcd5b6d87dce059d750730be2dec8d635750d1de1b29a496122c.woff) format("woff");
  font-weight: normal;
  font-style: normal;
  /* hide icons if font cannot be loaded */
  font-display: block;
}
:root {
  --text-font: "Open Sans Regular", "Adjusted Arial Fallback", sans-serif;
  --icon-font: "IcoMoon", Arial, sans-serif;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::: CSS3 VARIABLES ::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
:root {
  /* colors used in our web application */
  --home-blue: #435063;
  --mobile-link-blue: #007aff;
  --regular-gray: #4D4C4C;
  --lightest-gray: #F7F7F7;
  --light-gray: #ebebef;
  --light-grayer: #E1E8F5;
  --listing-nav-gray: #324439;
  --primary-gray: #F0F2F1;
  --primary-grayer: #3E5771;
  --primary-fairest: #F1F1F1;
  --primary-fairest-est: #F1F7F5;
  --primary-fairer-er: #DBE4DE;
  --primary-fairer: #66D391;
  --cluster-hover: #6D96DA;
  --primary-color: #44c878;
  --primary-ui: #42c174;
  --primary-ui-hover: #45c879;
  --primary-border: #34985B;
  --primary-darker: #3db06a;
  --primary-darker-er: #23623c;
  --primary-darker-er-er: #1f452e;
  --primary-switcher: #2e834f;
  --primary-darkest: #1c362b;
  --primary-shadow: #1E2638;
  --tooltip: rgba(9, 14, 21, 0.85);
  --map-tooltip: #001437;
  --light-green: #D9F8EA;
  --lightest-green: #effdf7;
  --green: #43b37f;
  --green-hover: #4cbd89;
  --green-border: #358E65;
  --lightest-red: #fde7e7;
  --light-red: #fcb4b4;
  --ultra-light-red: #f7e2e2;
  --red: #cd6666;
  --red-hover: #d87070;
  --red-border: #964040;
  --red-error: #8A0101;
  --light-orange: #f6c763;
  --orange: #d7a844;
  --orange-hover: #e3b34c;
  --orange-border: #B38C3A;
  --light-yellow: #fffbd1;
  --yellow: #f6e95a;
  --yellow-stroke: #E7DB59;
  --yellow-darker: #CFC558;
  --yellow-darker-er: #524C17;
  --blue: #6297F4;
  --light-blue: #c1d8ff;
  --blue-border: #2c508d;
  --mati-blue: #184aa3;
  --listing-star-hover: #dbe8fe;
  --favorite-red: #F76060;
  --favorite-red-shadow: #F99C9C;
  --favorite-red-lighter: #ee7676;
  --favorite-red-dark: #6e251c;
  --btn-white: #ffffff;
  --btn-white-hover: #f5f6f7;
  --btn-white-active: #d9dde0;
  --btn-white-border-active: #b2b8bc;
  --btn-white-border: #cdd1d4;
  --btn-white-text: #5c6872;
  --navbar-green: #38a562;
  --navbar-green-hover: #3cad67;
  --navbar-green-active: #2e8e54;
  --new-listing-row: #f8fbf9;
  --admin-label: #343a36;
  /* partner colors used to customize UI for some users */
  --locservice-blue: #0089bf;
  --colocatere-red: #e2304d;
  --cheznestor-blue: #012699;
  --nestpick-orange: #eb7b59;
  --flatlooker-orange: #ff4706;
  /* used only for professional accounts UI */
  --pro-notice-bg: #5cc2b3;
  --pro-notice-btn: #ff6d6e;
  --pro-notice-btn-hover: #fc5254;
  --pro-notice-btn-active: #f4a9aa;
}

/* 2. Vendor libraries ---*/
/*------------------------*/
.flag {
  background-image: url(/assets/misc/countries_sprite-5c1714c356a80e97a9af141b34c17c7c686b1ff98cb0a0d560d652940490aa87.png);
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::: FLAGS SPRITE ::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.flag {
  width: 16px;
  height: 11px;
  line-height: 11px;
  margin-top: 2px;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  background-repeat: no-repeat;
}

.flag.ad {
  background-position: 0 0;
} /* Andorra */
.flag.ae {
  background-position: 0 -11px;
} /* United Arab Emirates */
.flag.af {
  background-position: 0 -22px;
} /* Afghanistan */
.flag.ag {
  background-position: 0 -33px;
} /* Antigua and Barbuda */
.flag.ai {
  background-position: 0 -44px;
} /* Anguilla */
.flag.al {
  background-position: 0 -55px;
} /* Albania */
.flag.am {
  background-position: 0 -66px;
} /* Armenia */
.flag.an {
  background-position: 0 -77px;
} /* Netherlands Antilles */
.flag.ao {
  background-position: 0 -88px;
} /* Angola */
.flag.ar {
  background-position: 0 -99px;
} /* Argentina */
.flag.as {
  background-position: 0 -110px;
} /* American Samoa */
.flag.at {
  background-position: 0 -121px;
} /* Austria */
.flag.au {
  background-position: 0 -132px;
} /* Australia */
.flag.aw {
  background-position: 0 -143px;
} /* Aruba */
.flag.ax {
  background-position: 0 -154px;
} /* Åland Islands */
.flag.az {
  background-position: 0 -165px;
} /* Azerbaijan */
.flag.ba {
  background-position: 0 -176px;
} /* Bosnia and Herzegovina */
.flag.bb {
  background-position: 0 -187px;
} /* Barbados */
.flag.bd {
  background-position: 0 -198px;
} /* Bangladesh */
.flag.be {
  background-position: 0 -209px;
} /* Belgium */
.flag.bf {
  background-position: 0 -220px;
} /* Burkina Faso */
.flag.bg {
  background-position: 0 -231px;
} /* Bulgaria */
.flag.bh {
  background-position: 0 -242px;
} /* Bahrain */
.flag.bi {
  background-position: 0 -253px;
} /* Burundi */
.flag.bj {
  background-position: 0 -264px;
} /* Benin */
.flag.bm {
  background-position: 0 -275px;
} /* Bermuda */
.flag.bn {
  background-position: 0 -286px;
} /* Brunei Darussalam */
.flag.bo {
  background-position: 0 -297px;
} /* Bolivia */
.flag.br {
  background-position: 0 -308px;
} /* Brazil */
.flag.bs {
  background-position: 0 -319px;
} /* Bahamas */
.flag.bt {
  background-position: 0 -330px;
} /* Bhutan */
.flag.bv {
  background-position: 0 -341px;
} /* Bouvet Island */
.flag.bw {
  background-position: 0 -352px;
} /* Botswana */
.flag.by {
  background-position: 0 -363px;
} /* Belarus */
.flag.bz {
  background-position: 0 -374px;
} /* Belize */
.flag.ca {
  background-position: 0 -385px;
} /* Canada */
.flag.cc {
  background-position: 0 -407px;
} /* Cocos (Keeling) Islands */
.flag.cd {
  background-position: 0 -418px;
} /* Congo, Democratic Republic of the */
.flag.cf {
  background-position: 0 -429px;
} /* Central African Republic */
.flag.cg {
  background-position: 0 -440px;
} /* Congo */
.flag.ch {
  background-position: 0 -451px;
} /* Switzerland */
.flag.ci {
  background-position: 0 -462px;
} /* Côte d'Ivoire */
.flag.ck {
  background-position: 0 -473px;
} /* Cook Islands */
.flag.cl {
  background-position: 0 -484px;
} /* Chile */
.flag.cm {
  background-position: 0 -495px;
} /* Cameroon */
.flag.cn {
  background-position: 0 -506px;
} /* China */
.flag.co {
  background-position: 0 -517px;
} /* Colombia */
.flag.cu {
  background-position: 0 -528px;
} /* Cuba */
.flag.cr {
  background-position: 0 -539px;
} /* Costa Rica */
.flag.cs {
  background-position: 0 -550px;
} /* Serbia & Montenegro */
.flag.cv {
  background-position: 0 -561px;
} /* Cape Verde */
.flag.cx {
  background-position: 0 -572px;
} /* Christmas Island */
.flag.cy {
  background-position: -16px 0;
} /* Cyprus */
.flag.cz {
  background-position: -16px -11px;
} /* Czech Republic */
.flag.de {
  background-position: -16px -22px;
} /* Germany */
.flag.dj {
  background-position: -16px -33px;
} /* Djibouti */
.flag.dk {
  background-position: -16px -44px;
} /* Denmark */
.flag.dm {
  background-position: -16px -55px;
} /* Dominica */
.flag.do {
  background-position: -16px -66px;
} /* Dominican Republic */
.flag.dz {
  background-position: -16px -77px;
} /* Algeria */
.flag.ec {
  background-position: -16px -88px;
} /* Ecuador */
.flag.ee {
  background-position: -16px -99px;
} /* Estonia */
.flag.eg {
  background-position: -16px -110px;
} /* Egypt */
.flag.eh {
  background-position: -16px -121px;
} /* Western Sahara */
.flag.er {
  background-position: -16px -143px;
} /* Eritrea */
.flag.es {
  background-position: -16px -154px;
} /* Spain */
.flag.et {
  background-position: -16px -165px;
} /* Ethiopia */
.flag.eu {
  background-position: -16px -176px;
} /* European Union */
.flag.fam {
  background-position: -16px -187px;
} /* Family */
.flag.fi {
  background-position: -16px -198px;
} /* Finland */
.flag.fj {
  background-position: -16px -209px;
} /* Fiji */
.flag.fk {
  background-position: -16px -220px;
} /* Falkland Islands (Malvinas) */
.flag.fm {
  background-position: -16px -231px;
} /* Micronesia, Federated States of */
.flag.fo {
  background-position: -16px -242px;
} /* Faroe Islands */
.flag.fr {
  background-position: -16px -253px;
} /* France */
.flag.ga {
  background-position: -16px -264px;
} /* Gabon */
.flag.gb {
  background-position: -16px -275px;
} /* United Kingdom */
.flag.gd {
  background-position: -16px -286px;
} /* Grenada */
.flag.ge {
  background-position: -16px -297px;
} /* Georgia */
.flag.gf {
  background-position: -16px -253px;
} /* French Guiana */
.flag.gh {
  background-position: -16px -319px;
} /* Ghana */
.flag.gi {
  background-position: -16px -330px;
} /* Gibraltar */
.flag.gl {
  background-position: -16px -341px;
} /* Greenland */
.flag.gm {
  background-position: -16px -352px;
} /* Gambia */
.flag.gn {
  background-position: -16px -363px;
} /* Guinea */
.flag.gp {
  background-position: -16px -253px;
} /* Guadeloupe */
.flag.gq {
  background-position: -16px -385px;
} /* Equatorial Guinea */
.flag.gr {
  background-position: -16px -396px;
} /* Greece */
.flag.gs {
  background-position: -16px -407px;
} /* South Georgia and the South Sandwich Islands */
.flag.gt {
  background-position: -16px -418px;
} /* Guatemala */
.flag.gu {
  background-position: -16px -429px;
} /* Guam */
.flag.gw {
  background-position: -16px -440px;
} /* Guinea-Bissau */
.flag.gy {
  background-position: -16px -451px;
} /* Guyana */
.flag.hk {
  background-position: -16px -462px;
} /* Hong Kong */
.flag.hm {
  background-position: -16px -473px;
} /* Heard Island and McDonald Islands */
.flag.hn {
  background-position: -16px -484px;
} /* Honduras */
.flag.hr {
  background-position: -16px -495px;
} /* Croatia */
.flag.ht {
  background-position: -16px -506px;
} /* Haiti */
.flag.hu {
  background-position: -16px -517px;
} /* Hungary */
.flag.id {
  background-position: -16px -528px;
} /* Indonesia */
.flag.ie {
  background-position: -16px -539px;
} /* Ireland */
.flag.il {
  background-position: -16px -550px;
} /* Israel */
.flag.in {
  background-position: -16px -561px;
} /* India */
.flag.io {
  background-position: -16px -572px;
} /* British Indian Ocean Territory */
.flag.iq {
  background-position: -32px 0;
} /*  Iraq */
.flag.ir {
  background-position: -32px -11px;
} /* Iran, Islamic Republic of */
.flag.is {
  background-position: -32px -22px;
} /* Iceland */
.flag.it {
  background-position: -32px -33px;
} /* Italy */
.flag.jm {
  background-position: -32px -44px;
} /* Jamaica */
.flag.jo {
  background-position: -32px -55px;
} /* Jordan */
.flag.jp {
  background-position: -32px -66px;
} /* Japan */
.flag.ke {
  background-position: -32px -77px;
} /* Kenya */
.flag.kg {
  background-position: -32px -88px;
} /* Kyrgyzstan */
.flag.kh {
  background-position: -32px -99px;
} /* Cambodia */
.flag.ki {
  background-position: -32px -110px;
} /* Kiribati */
.flag.km {
  background-position: -32px -121px;
} /* Comoros */
.flag.kn {
  background-position: -32px -132px;
} /* Saint Kitts and Nevis */
.flag.kp {
  background-position: -32px -143px;
} /* Korea, Democratic People's Republic of */
.flag.kr {
  background-position: -32px -154px;
} /* Korea, Republic of */
.flag.kw {
  background-position: -32px -165px;
} /* Kuwait */
.flag.ky {
  background-position: -32px -176px;
} /* Cayman Islands */
.flag.kz {
  background-position: -32px -187px;
} /* Kazakhstan */
.flag.la {
  background-position: -32px -198px;
} /* Lao People's Democratic Republic */
.flag.lb {
  background-position: -32px -209px;
} /* Lebanon */
.flag.lc {
  background-position: -32px -220px;
} /* Saint Lucia */
.flag.li {
  background-position: -32px -231px;
} /* Liechtenstein */
.flag.lr {
  background-position: -32px -242px;
} /* Liberia */
.flag.lk {
  background-position: -32px -253px;
} /* Sri Lanka */
.flag.ls {
  background-position: -32px -264px;
} /* Lesotho */
.flag.lt {
  background-position: -32px -275px;
} /* Lithuania */
.flag.lu {
  background-position: -32px -286px;
} /* Luxembourg */
.flag.lv {
  background-position: -32px -297px;
} /* Latvia */
.flag.ly {
  background-position: -32px -308px;
} /* Libya */
.flag.ma {
  background-position: -32px -319px;
} /* Morocco */
.flag.mc {
  background-position: -32px -330px;
} /* Monaco */
.flag.md {
  background-position: -32px -341px;
} /* Moldova, Republic of */
.flag.me {
  background-position: -32px -352px;
} /* Montenegro */
.flag.mg {
  background-position: -32px -363px;
} /* Madagascar */
.flag.mh {
  background-position: -32px -374px;
} /* Marshall Islands */
.flag.mk {
  background-position: -32px -385px;
} /* Macedonia, the former Yugoslav Republic of */
.flag.ml {
  background-position: -32px -396px;
} /* Mali */
.flag.mm {
  background-position: -32px -407px;
} /* Myanmar */
.flag.mn {
  background-position: -32px -418px;
} /* Mongolia */
.flag.mo {
  background-position: -32px -429px;
} /* Macao */
.flag.mp {
  background-position: -32px -440px;
} /* Northern Mariana Islands */
.flag.mq {
  background-position: -16px -253px;
} /* Martinique */
.flag.mr {
  background-position: -32px -462px;
} /* Mauritania */
.flag.ms {
  background-position: -32px -473px;
} /* Montserrat */
.flag.mt {
  background-position: -32px -484px;
} /* Malta */
.flag.mu {
  background-position: -32px -495px;
} /* Mauritius */
.flag.mv {
  background-position: -32px -506px;
} /* Maldives */
.flag.mw {
  background-position: -32px -517px;
} /* Malawi */
.flag.mx {
  background-position: -32px -528px;
} /* Mexico */
.flag.my {
  background-position: -32px -539px;
} /* Malaysia */
.flag.mz {
  background-position: -32px -550px;
} /* Mozambique */
.flag.na {
  background-position: -32px -561px;
} /* Namibia */
.flag.nc {
  background-position: -32px -572px;
} /* New Caledonia */
.flag.ne {
  background-position: -48px 0;
} /*  Niger */
.flag.nf {
  background-position: -48px -11px;
} /* Norfolk Island */
.flag.ng {
  background-position: -48px -22px;
} /* Nigeria */
.flag.ni {
  background-position: -48px -33px;
} /* Nicaragua */
.flag.nl {
  background-position: -48px -44px;
} /* Netherlands */
.flag.no {
  background-position: -48px -55px;
} /* Norway */
.flag.np {
  background-position: -48px -66px;
} /* Nepal */
.flag.nr {
  background-position: -48px -77px;
} /* Nauru */
.flag.nu {
  background-position: -48px -88px;
} /* Niue */
.flag.nz {
  background-position: -48px -99px;
} /* New Zealand */
.flag.om {
  background-position: -48px -110px;
} /* Oman */
.flag.pa {
  background-position: -48px -121px;
} /* Panama */
.flag.pe {
  background-position: -48px -132px;
} /* Peru */
.flag.pf {
  background-position: -16px -253px;
} /* French Polynesia */
.flag.pg {
  background-position: -48px -154px;
} /* Papua New Guinea */
.flag.ph {
  background-position: -48px -165px;
} /* Philippines */
.flag.pk {
  background-position: -48px -176px;
} /* Pakistan */
.flag.pl {
  background-position: -48px -187px;
} /* Poland */
.flag.pm {
  background-position: -48px -198px;
} /* Saint Pierre and Miquelon */
.flag.pn {
  background-position: -48px -209px;
} /* Pitcairn */
.flag.pr {
  background-position: -48px -220px;
} /* Puerto Rico */
.flag.ps {
  background-position: -48px -231px;
} /* Palestinian Territory, Occupied */
.flag.pt {
  background-position: -48px -242px;
} /* Portugal */
.flag.pw {
  background-position: -48px -253px;
} /* Palau */
.flag.py {
  background-position: -48px -264px;
} /* Paraguay */
.flag.qa {
  background-position: -48px -275px;
} /* Qatar */
.flag.re {
  background-position: -48px -286px;
} /* Réunion */
.flag.ro {
  background-position: -48px -297px;
} /* Romania */
.flag.rs {
  background-position: -48px -308px;
} /* Serbia */
.flag.ru {
  background-position: -48px -319px;
} /* Russian Federation */
.flag.rw {
  background-position: -48px -330px;
} /* Rwanda */
.flag.sa {
  background-position: -48px -341px;
} /* Saudi Arabia */
.flag.sb {
  background-position: -48px -352px;
} /* Solomon Islands */
.flag.sc {
  background-position: -48px -363px;
} /* Seychelles */
.flag.sd {
  background-position: -48px -385px;
} /* Sudan */
.flag.se {
  background-position: -48px -396px;
} /* Sweden */
.flag.sg {
  background-position: -48px -407px;
} /* Singapore */
.flag.sh {
  background-position: -48px -418px;
} /* Saint Helena, Ascension and Tristan da Cunha */
.flag.si {
  background-position: -48px -429px;
} /* Slovenia */
.flag.sj {
  background-position: -48px -440px;
} /* Svalbard and Jan Mayen */
.flag.sk {
  background-position: -48px -451px;
} /* Slovakia */
.flag.sl {
  background-position: -48px -462px;
} /* Sierra Leone */
.flag.sm {
  background-position: -48px -473px;
} /* San Marino */
.flag.sn {
  background-position: -48px -484px;
} /* Senegal */
.flag.so {
  background-position: -48px -495px;
} /* Somalia */
.flag.sr {
  background-position: -48px -506px;
} /* Suriname */
.flag.st {
  background-position: -48px -517px;
} /* Sao Tome and Principe */
.flag.sv {
  background-position: -48px -528px;
} /* El Salvador */
.flag.sy {
  background-position: -48px -539px;
} /* Syrian Arab Republic */
.flag.sz {
  background-position: -48px -550px;
} /* Eswatini */
.flag.tc {
  background-position: -48px -561px;
} /* Turks and Caicos Islands */
.flag.td {
  background-position: -48px -572px;
} /* Chad */
.flag.tf {
  background-position: -16px -253px;
} /*  French Southern Territories */
.flag.tg {
  background-position: -64px -11px;
} /* Togo */
.flag.th {
  background-position: -64px -22px;
} /* Thailand */
.flag.tj {
  background-position: -64px -33px;
} /* Tajikistan */
.flag.tk {
  background-position: -64px -44px;
} /* Tokelau */
.flag.tl {
  background-position: -64px -55px;
} /* Timor-Leste */
.flag.tm {
  background-position: -64px -66px;
} /* Turkmenistan */
.flag.tn {
  background-position: -64px -77px;
} /* Tunisia */
.flag.to {
  background-position: -64px -88px;
} /* Tonga */
.flag.tr {
  background-position: -64px -99px;
} /* Turkey */
.flag.tt {
  background-position: -64px -110px;
} /* Trinidad and Tobago */
.flag.tv {
  background-position: -64px -121px;
} /* Tuvalu */
.flag.tw {
  background-position: -64px -132px;
} /* Taiwan, Province of China */
.flag.tz {
  background-position: -64px -143px;
} /* Tanzania, United Republic of */
.flag.ua {
  background-position: -64px -154px;
} /* Ukraine */
.flag.ug {
  background-position: -64px -165px;
} /* Uganda */
.flag.um {
  background-position: -64px -176px;
} /* United States Minor Outlying Islands */
.flag.us {
  background-position: -64px -187px;
} /* United States */
.flag.uy {
  background-position: -64px -198px;
} /* Uruguay */
.flag.uz {
  background-position: -64px -209px;
} /* Uzbekistan */
.flag.va {
  background-position: -64px -220px;
} /* Holy See (Vatican City State) */
.flag.vc {
  background-position: -64px -231px;
} /* Saint Vincent and the Grenadines */
.flag.ve {
  background-position: -64px -242px;
} /* Venezuela, Bolivarian Republic of */
.flag.vg {
  background-position: -64px -253px;
} /* Virgin Islands, British */
.flag.vi {
  background-position: -64px -264px;
} /* Virgin Islands, U.S. */
.flag.vn {
  background-position: -64px -275px;
} /* Viet Nam */
.flag.vu {
  background-position: -64px -286px;
} /* Vanuatu */
.flag.wf {
  background-position: -64px -308px;
} /* Wallis and Futuna */
.flag.ws {
  background-position: -64px -319px;
} /* Samoa */
.flag.ye {
  background-position: -64px -330px;
} /* Yemen */
.flag.yt {
  background-position: -64px -341px;
} /* Mayotte */
.flag.yt {
  background-position: -16px -253px;
} /* Mayotte */
.flag.za {
  background-position: -64px -352px;
} /* South Africa */
.flag.zm {
  background-position: -64px -363px;
} /* Zambia */
.flag.zw {
  background-position: -64px -374px;
} /* Zimbabwe */
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::: AUTOCOMPLETE MONKEYPATCHES :::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.autoComplete_dropdown {
  width: 100%;
  background: #ffffff;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  font-size: 0.9em;
}
.autoComplete_dropdown li:first-child:not(.autoComplete_error) {
  margin-top: 0.4em;
}
.autoComplete_dropdown li:last-child:not(.autoComplete_error) {
  margin-bottom: 0.4em;
}

.autoComplete_highlighted {
  opacity: 1;
  color: rgb(1, 1, 1);
  font-weight: 700;
}

.autoComplete_result {
  box-sizing: border-box;
  padding: 0.4em 0.8em;
  list-style: none;
  text-align: left;
  font-size: 1.15rem;
  color: #7b7b7b;
  background-color: #fff;
  cursor: pointer;
}
.autoComplete_result .flag {
  float: right;
  margin-top: 0.35em;
}

.autoComplete_result:hover, .autoComplete_result[aria-selected=true] {
  background-color: #f4f4f4;
}

.autoComplete_error {
  box-sizing: border-box;
  padding: 0.9em 0.9em;
  list-style: none;
  text-align: left;
  font-size: 1em;
  line-height: 1.4em;
  color: #8A0101;
  background-color: #FCDCDC;
}

.autoComplete_legend {
  margin-left: 0.3em;
  color: #bcbcbc;
  font-size: 0.9em;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::: INMOBI CHOICE MONKEY PATCHES :::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.qc-cmp2-publisher-logo-container .logo-container {
  margin-top: 10px !important;
  margin-bottom: 13px !important;
  width: 260px !important;
}
.qc-cmp2-publisher-logo-container .logo-container img {
  width: 260px;
}
.qc-cmp2-publisher-logo-container .qc-cmp2-header-links button {
  cursor: pointer !important;
  padding: 0 12px;
  border-radius: 5px !important;
  font-size: 0.9em;
}
.qc-cmp2-publisher-logo-container .qc-cmp2-header-links button:last-of-type {
  background: rgb(68, 200, 120) !important;
  border-radius: 2px !important;
  color: rgb(255, 255, 255) !important;
}

@media screen and (min-width: 768px) {
  .qc-cmp2-publisher-logo-container .logo-container {
    width: 300px !important;
  }
  .qc-cmp2-publisher-logo-container .logo-container img {
    width: 300px;
  }
}
.qc-cmp2-summary-buttons button:last-of-type {
  background: rgb(68, 200, 120) !important;
  border-radius: 2px !important;
  color: rgb(255, 255, 255) !important;
  cursor: pointer !important;
  font-weight: bold;
  font-size: 0.9em;
}

/* 3. App layout and global rules ---*/
/*-----------------------------------*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::: MAIN LAYOUT :::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  font-family: var(--text-font);
  /* Better Font Rendering on safari & firefox */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Subtle shadow can make text look cripser */
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
}
html input, html button, html select, html a, body input, body button, body select, body a {
  font-family: var(--text-font);
}

body {
  background: var(--primary-fairest);
  min-width: 740px;
  overflow: auto;
}

.main_wrapper {
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  /* required for pro plan expired flash layout */
  position: relative;
}

.pro_expired_main_wrapper {
  height: calc(100% - 50px);
}

.fixed_wrapper {
  top: 0px;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden !important;
}

.main_content {
  width: 100%;
  min-height: 100%;
  margin-bottom: -125px;
  overflow: hidden;
  text-align: center;
  display: block;
}

/* Used on messaging page only */
.messaging_main_content {
  width: 100%;
  height: 100%;
  min-height: calc(100vh - 45px);
  overflow: hidden;
  text-align: center;
  display: block;
  position: relative;
}

.push {
  height: 125px;
}

.empty_layout_wrapper {
  overflow-y: auto;
  height: 100%;
  background: white;
  background-size: cover;
  background-position: center;
}

.empty_layout_background {
  background-image: url(/assets/backgrounds/aquarelle-fa7318e628448484eab046fea52e93210b55b0796ad4a03e4e5c0c10d4665528.jpg);
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::: GLOBAL RULES ::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak, [hidden] {
  display: none !important;
}

a {
  color: var(--primary-color);
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
  cursor: pointer;
}

a:hover {
  color: var(--primary-darker-er);
}

textarea, input[type=text], input[type=email], input[type=password], input[type=number] {
  color: var(--primary-darkest) !important;
}

.login_link {
  cursor: pointer;
}

.hidden_overflow {
  overflow-y: hidden !important;
}

.truncate {
  width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.smooth {
  transition: 0.25s;
}

.smooth-fast {
  transition: 0.1s;
}

.capitalize {
  text-transform: capitalize;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.radius {
  border-radius: 5px;
}

.big-radius {
  border-radius: 8px;
}

.radius-left {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

.radius-right {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.radius-top {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.radius-bottom {
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}

.noselect {
  user-select: none !important;
}

.full_opacity {
  opacity: 1 !important;
}

.full_width {
  width: 100% !important;
}

.link_cursor {
  cursor: pointer !important;
}

.tooltip {
  position: absolute;
  font-size: 0.9em;
  font-weight: normal !important;
  background: var(--tooltip);
  color: white;
  padding: 7px 5px;
  border-radius: 8px;
  display: block;
  text-align: center;
  z-index: 1;
}

.tooltip:after {
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(0, 20, 55, 0);
  border-width: 8px;
  margin-left: -8px;
}

.flash_container {
  position: absolute;
  display: block;
  width: 100%;
  top: 0;
  left: 0;
  min-height: 56px;
  line-height: 28px;
  box-sizing: border-box;
  padding: 17px 20px 17px 20px;
  color: white;
  text-align: center;
  z-index: 9;
}
.flash_container a {
  font-weight: bold;
  color: white;
}
.flash_container .close_flash {
  float: right;
  width: 80px;
  height: 100%;
  font-size: 1.7em;
  cursor: pointer;
  -webkit-touch-callout: none;
  user-select: none;
}
.flash_container .close_flash:active {
  transform: scale(1.15);
}

#notice_rails_flash {
  background: var(--primary-color);
  box-shadow: inset 0 -4px var(--primary-fairer);
}
#notice_rails_flash .close_flash {
  color: white;
}
#notice_rails_flash .close_flash:hover {
  text-shadow: 0 0 4px var(--primary-darker-er);
}

#alert_rails_flash {
  background: var(--red);
  box-shadow: inset 0 -4px var(--red-border);
}
#alert_rails_flash .close_flash {
  color: white;
}
#alert_rails_flash .close_flash:hover {
  text-shadow: 0 0 4px var(--red-border);
}

/* Admin helper but on all app pages so convenient to have it listed here */
.admin_on_notice {
  position: fixed;
  bottom: 0px;
  right: 0px;
  padding: 4px 10px;
  background-color: var(--red);
  color: white;
  z-index: 9999999;
  font-size: 0.8em;
  border-top-left-radius: 3px;
}
.admin_on_notice:hover {
  background-color: var(--red-hover);
}
.admin_on_notice:active {
  background-color: var(--red-border);
}
.admin_on_notice a {
  color: white !important;
}
.admin_on_notice a:hover {
  color: white !important;
  text-shadow: none !important;
}
.admin_on_notice a .fas {
  margin-right: 7px;
}

/* Semantic UI custom rules */
.ui.message {
  box-sizing: border-box;
}
.ui.message a {
  margin-top: -3px;
}

/* Internationalization custom rules */
.custom_currency_icon {
  font-size: 1.1em;
  text-align: center;
  color: var(--primary-ui);
  font-weight: bold;
}

/* Leaflet plugins custom rules */
.leaflet-vertex-icon {
  margin-left: -4px !important;
  margin-top: -4px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 8px !important;
}

/* @fancyapps/fancybox custom rules */
.fancybox__content {
  padding: 0 !important;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::   BUTTONS AND SPINNERS   ::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::: General rules :::::::::::::::::::::::::::::::::::*/
button {
  border: none;
}

button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/*:::::::::::::::::::::::::::::: Main buttons :::::::::::::::::::::::::::::::::::*/
.btn_white {
  color: var(--btn-white-text);
  background-color: var(--btn-white);
  border: 1px solid var(--btn-white-border);
  user-select: none;
  text-align: center;
  cursor: pointer;
  outline: none;
  border-radius: 4px;
  position: relative;
}
.btn_white:hover {
  color: var(--btn-white-text) !important;
  background-color: var(--btn-white-hover) !important;
}
.btn_white:active {
  background-color: var(--btn-white-active) !important;
  border: 1px solid var(--btn-white-border-active) !important;
}

/* Used in cookie consent overlay */
.active_btn_white {
  background-color: var(--btn-white-hover);
}

.btn_main, .btn_red, .btn_light_red, .btn_green, .btn_orange, .btn_darkest, .btn_yellow {
  color: white;
  text-align: center;
  display: block;
  cursor: pointer;
  border-radius: 4px;
  text-shadow: 1px 1px 8px rgba(5, 11, 34, 0.4);
  -webkit-touch-callout: none;
  user-select: none;
  outline: none;
  position: relative;
}
.btn_main:active, .btn_red:active, .btn_light_red:active, .btn_green:active, .btn_orange:active, .btn_darkest:active, .btn_yellow:active {
  top: 1px;
  outline: none;
  box-shadow: none;
}

.btn_main {
  background-color: var(--primary-ui);
  box-shadow: inset 0 -2px var(--primary-border);
}
.btn_main:hover {
  background-color: var(--primary-ui-hover);
  color: white !important;
}

.btn_green {
  background-color: var(--green);
  box-shadow: inset 0 -2px var(--green-border);
}
.btn_green:hover {
  background-color: var(--green-hover);
}

.btn_red {
  background-color: var(--red);
  box-shadow: inset 0 -2px var(--red-border);
}
.btn_red:hover {
  background-color: var(--red-hover);
}

.btn_light_red {
  background-color: var(--light-red);
  color: var(--red-error);
  box-shadow: inset 0 -2px var(--red-error);
}
.btn_light_red:hover {
  background-color: var(--red-error);
}

.btn_orange {
  background-color: var(--orange);
  box-shadow: inset 0 -2px var(--orange-border);
}
.btn_orange:hover {
  background-color: var(--orange-hover);
}

.btn_yellow {
  background-color: var(--yellow);
  box-shadow: inset 0 -2px var(--yellow-darker);
}
.btn_yellow:hover {
  background-color: var(--yellow-stroke);
}

.btn_darkest {
  background-color: var(--primary-darkest);
  border: 1px solid black;
}
.btn_darkest:hover {
  background-color: black;
}

/* Name was changed for login buttons because of stupid adblockers
  hiding any div with class 'facebook' or 'facebook_btn' */
.form_apple_btn {
  background-color: #f3f3f3;
  box-shadow: 0px 0px 1px var(--primary-grayer);
  color: black;
}
.form_apple_btn:hover {
  background-color: white;
}
.form_apple_btn .fas {
  background: white;
  line-height: 34px;
  width: 36px;
  float: left;
}

.form_facebook_btn {
  background-color: #4c66a4;
  box-shadow: inset 0 -2px #394B79;
  color: white;
}
.form_facebook_btn:hover {
  background-color: #5977C0;
}
.form_facebook_btn .fas {
  background: #5977C0;
  line-height: 34px;
  width: 36px;
  float: left;
}

.form_google_btn {
  background-color: #d44137;
  box-shadow: inset 0 -2px #88302A;
  color: white;
}
.form_google_btn:hover {
  background-color: #DD4F46;
}
.form_google_btn .fas {
  background: #DD4F46;
  line-height: 34px;
  width: 36px;
  float: left;
}

.form_microsoft_btn {
  background-color: #0277d7;
  box-shadow: inset 0 -2px #014377;
  color: white;
}
.form_microsoft_btn:hover {
  background-color: #188be9;
}
.form_microsoft_btn .fas {
  background: #188be9;
  line-height: 34px;
  width: 36px;
  float: left;
}

.facebook_btn {
  background-color: #4c66a4;
  box-shadow: inset 0 -2px #394B79;
  color: white;
}
.facebook_btn .fas {
  background: transparent;
}
.facebook_btn:hover {
  background-color: #5977C0;
}

.google_btn {
  background-color: #d44137;
  box-shadow: inset 0 -2px #88302A;
  color: white;
}
.google_btn .fas {
  background: transparent;
}
.google_btn:hover {
  background-color: #DD4F46;
}

.twitter_btn {
  background-color: #55aed9;
  box-shadow: inset 0 -2px #326b86;
  color: white;
}
.twitter_btn .fas {
  background: transparent;
}
.twitter_btn:hover {
  background-color: #62c8f8;
}

.linkedin_btn {
  background-color: #165ba0;
  box-shadow: inset 0 -2px #124272;
  color: white;
}
.linkedin_btn .fas {
  background: transparent;
}
.linkedin_btn:hover {
  background-color: #0a66c2;
}

.telegram_btn {
  background-color: #3090be;
  box-shadow: inset 0 -2px #29607b;
  color: white;
}
.telegram_btn .fas {
  background: transparent;
}
.telegram_btn:hover {
  background-color: #27a7e5;
}

.whatsapp_btn {
  background-color: #09a48f;
  box-shadow: inset 0 -2px #0a6c5f;
  color: white;
}
.whatsapp_btn .fas {
  background: transparent;
}
.whatsapp_btn:hover {
  background-color: #00bfa5;
}

.email_btn {
  color: var(--btn-white-text) !important;
  background-color: var(--btn-white-hover) !important;
  border: 1px solid var(--btn-white-border);
  text-shadow: none !important;
}
.email_btn .fas {
  background-color: var(--btn-white);
  color: var(--primary-darker);
}
.email_btn:hover {
  color: var(--btn-white-text) !important;
  background-color: var(--btn-white) !important;
}
.email_btn:hover .fas {
  color: var(--primary-ui);
}

.share_btn_gib_clay {
  background: var(--lightest-red);
  color: var(--regular-gray) !important;
}
.share_btn_gib_clay:hover {
  background: var(--ultra-light-red);
}
.share_btn_gib_clay:active {
  background: var(--light-red);
}
.share_btn_gib_clay .fas {
  color: var(--favorite-red);
}

.share_btn_twitter {
  background-color: #62c8f8;
  color: white !important;
}
.share_btn_twitter:hover {
  color: white !important;
  background-color: #78d2fc;
}
.share_btn_twitter:active {
  background-color: #55aed9;
}
.share_btn_twitter .fas {
  color: white;
}

.share_btn_facebook {
  background-color: #4c66a4;
  color: white !important;
}
.share_btn_facebook:hover {
  color: white !important;
  background-color: #5977C0;
}
.share_btn_facebook:active {
  background-color: #324e91;
}
.share_btn_facebook .fas {
  color: white;
}

.submitted_message {
  color: var(--green-border);
  background: var(--light-green);
  font-weight: bold;
}

/*:::::::::::::::::::::::::::::: GIF Spinners :::::::::::::::::::::::::::::::::::*/
/* END OF LIFE: historical gif spinners were generated via http://www.loadinfo.net/ that went offline as of 2025-01
  TO DO: replace all gif spinners with css loader animations when possible when possible */
.spinner {
  width: 16px;
  height: 16px;
  background-image: url(/assets/spinners/spinner-2eb2560a03932aa3adbcab50d82646436c48afb78b30299009e890ce2cee16d8.gif);
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -8px;
  margin-top: -8px;
}

.spinner_btn_red,
.spinner_btn_light_red,
.spinner_btn_orange,
.spinner_btn_orange_inverted,
.spinner_btn_yellow,
.spinner_btn_main,
.spinner_btn_green,
.spinner_btn_facebook,
.spinner_btn_google,
.spinner_btn_darkest,
.spinner_btn_home,
.spinner_btn_white,
.spinner_btn_black,
.spinner_btn_black_bis {
  width: 16px;
  height: 16px;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -8px;
  margin-top: -8px;
}

.spinner_btn_red {
  background-image: url(/assets/spinners/spinner-btn-red-3b5a1e995f9ce44621c9ac475897de5d1f42f29a32e50d7fbe909e007fa4138d.gif);
}

.spinner_btn_light_red {
  background-image: url(/assets/spinners/spinner-btn-light-red-09d0d0fcf7848f7028f1016594f92166489146113bfed705f0c11ca3ccb1a54f.gif);
}

.spinner_btn_orange {
  background-image: url(/assets/spinners/spinner-btn-orange-4810df0aa3d1a7171238f0355b28dc263f7142df1a5b117ebcb13564d40cb099.gif);
}

.spinner_btn_orange_inverted {
  background-image: url(/assets/spinners/spinner-btn-orange-inverted-21af27654071a3b30f660cc6e06a1e16f2a54f381fbdb6cb3a2d17a6179e23b1.gif);
}

.spinner_btn_yellow {
  background-image: url(/spinners/spinner-btn-yellow.gif);
}

.spinner_btn_main {
  background-image: url(/assets/spinners/spinner-btn-main-b927b34f74b16196d67f1ea12b7f21b87e412b13a880615bcecac32182e12a5e.gif);
}

.spinner_btn_home {
  background-image: url(/assets/spinners/spinner-btn-home-1648976fff5adb39f7a0f89ecfdd7fecdf246608db190892c1b6a4f41109316a.gif);
}

.spinner_btn_green {
  background-image: url(/assets/spinners/spinner-btn-green-7f1e7b6f1cbda661f51b785c553a6daccc4f6437a18dc87e679290efe7e8c2dd.gif);
}

.spinner_btn_white {
  background-image: url(/assets/spinners/spinner-btn-white-3c8f0ded1033764f1df6f23b7f31a4501f7c7f96b803935cd661f01cfbb38d1f.gif);
}

.spinner_btn_darkest {
  background-image: url(/assets/spinners/spinner-btn-darkest-ceb31b6673ebb5032d85a9b6817f508b90111135b92445bffcba9c07465799a0.gif);
}

.spinner_btn_facebook {
  background-image: url(/assets/spinners/spinner-facebook-626a7e4be5f9af1060758a2af81acbb1504630f311947ae0b0249def2603a84f.gif);
}

.spinner_btn_google {
  background-image: url(/assets/spinners/spinner-google-3a7167c6c5b4b36d097eb9ed1c39aa2d3c8d3cc18f7e765741d9beec4ad5ddb8.gif);
}

.spinner_btn_black {
  background-image: url(/assets/spinners/spinner-btn-black-e58aabe9673f1a1f22d001d7ad9055e1df99de080f6e586f29215810d06d023d.gif);
}

.spinner_btn_black_bis {
  background-image: url(/assets/spinners/spinner-btn-black-bis-3f8181661e0e7301051206ea2c56e2868cf05f05e8afb4bcc86d52bd0c9659fe.gif);
}

.spinner_list {
  width: 220px;
  height: 167px;
  background-image: url(/assets/spinners/spinner-2eb2560a03932aa3adbcab50d82646436c48afb78b30299009e890ce2cee16d8.gif);
  background-position: center;
  background-repeat: no-repeat;
  display: block;
}

@media (min-width: 1800px) and (min-height: 800px) {
  .spinner_list {
    width: 320px;
    height: 240px;
  }
}
/*:::::::::::::::::::::::::::::: CSS Spinners :::::::::::::::::::::::::::::::::::*/
.page-spinner {
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: table;
}
.page-spinner .ring_spinner_container {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.place-spinner {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.searching-spinner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 9999;
  display: table;
}
.searching-spinner .ring_spinner {
  position: fixed;
  top: 50%;
  margin-left: -1.5rem;
}

.small-spinner .ring_spinner {
  width: 1rem;
  height: 1rem;
}

.ring_spinner {
  display: inline-block;
  position: relative;
  width: 3rem;
  height: 3rem;
}
.ring_spinner div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 5px solid;
  border-color: var(--primary-color) var(--primary-color) transparent transparent;
  animation: ring-spin 1.2s cubic-bezier(0.57, 0.05, 0.58, 0.94) infinite;
}
.ring_spinner div:nth-child(1) {
  animation-delay: -0.25s;
}
.ring_spinner div:nth-child(2) {
  animation-delay: -0.17s;
}
.ring_spinner div:nth-child(3) {
  animation-delay: -0.1s;
}

@keyframes ring-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::: Desktop::Home::Header VIEWCOMPONENT (logic in js controller ::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
#home_header {
  height: 120px;
  display: table-row;
  width: 100%;
  background: rgba(255, 255, 255, 0.85);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.6) 74%, rgba(255, 255, 255, 0) 100%);
}
#home_header #home_header_logo {
  float: left;
  box-shadow: 0 0 30px white;
  background: rgba(255, 255, 255, 0.6);
}
#home_header #home_header_logo img {
  width: 300px;
  margin: 30px 0 3px 30px;
}
#home_header #home_header_navigation {
  float: right;
  height: 50px;
  line-height: 50px;
  display: block;
  margin: 22px 22px 0 0;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 50px white;
  border-radius: 20px;
  padding-left: 15px;
}
#home_header #home_header_navigation ul {
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
#home_header #home_header_navigation ul li {
  margin-right: 20px;
  cursor: pointer;
  transition: 0.2s;
  float: left;
  position: relative;
}
#home_header #home_header_navigation ul li:last-child {
  margin-right: 0px;
}
#home_header #home_header_navigation ul li a {
  text-shadow: 0 0 3px white;
  font-size: 1.2rem;
  color: var(--primary-darker-er);
}
#home_header #home_header_navigation ul li a:hover {
  text-shadow: 0 0 30px var(--primary-fairer);
}
#home_header #home_header_navigation ul li a:active {
  color: black;
}
#home_header #home_header_navigation ul li .fas {
  color: var(--primary-darker-er);
}

/* Locale selection dropdown menu custom rules */
#nav_locale_item img {
  height: 15px;
  margin-right: 5px;
}
#nav_locale_item .fa-caret-down, #nav_locale_item .fa-caret-up {
  margin-left: 6px;
}

/* User account dropdown menu custom rules */
#nav_user_item img {
  height: 30px;
  vertical-align: middle;
  margin-top: -4px;
  margin-right: 8px;
  border-radius: 5px;
}
#nav_user_item .fas {
  margin: 5px 0.4em;
  display: inline-block;
  border-radius: 40px;
  background: white;
  height: 40px;
  line-height: 40px;
  width: 40px;
  text-align: center;
}
#nav_user_item .fa-bars {
  color: var(--primary-grayer) !important;
}
#nav_user_item .fa-bars:hover {
  background: var(--primary-fairest-est);
  color: var(--primary-border);
}
#nav_user_item .fa-times {
  color: var(--red) !important;
}
#nav_user_item .fa-times:hover {
  background: var(--primary-fairest-est);
  color: var(--red-error);
}
#nav_user_item .nav_circle_notice {
  height: 18px;
  padding: 0px 6px;
  border-radius: 9px;
  font-size: 10px;
  line-height: 18px;
  text-align: center;
  font-weight: bold;
  float: right;
  margin-top: 2px;
}
#nav_user_item .unread_messages_count {
  background-color: #D86437;
  color: white;
}
#nav_user_item .listing_count {
  background-color: var(--primary-ui);
  color: white;
}
#nav_user_item:active {
  color: black;
}

/* Locale selection dropdown menu */
#nav_user_dropdown, #nav_locale_dropdown {
  background: #fff;
  border: 1px solid #d6d6d6;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
  color: #333;
  position: absolute;
  z-index: 103;
  padding: 0.4rem 0;
  box-sizing: border-box;
  right: 0;
  top: 52px;
  border-radius: 5px;
  user-select: none;
}
#nav_user_dropdown a.dropdown_link, #nav_locale_dropdown a.dropdown_link {
  /* required to erase ul->li->a rules above */
  font-size: 1rem !important;
  text-shadow: none !important;
  display: block;
  text-align: left;
  box-sizing: border-box;
  background: none;
  border: none;
  width: 100%;
  cursor: pointer;
  color: var(--primary-darkest);
  text-decoration: none;
  line-height: 1.15em;
  padding: 4px 8px 4px 8px;
}
#nav_user_dropdown a.dropdown_link span, #nav_locale_dropdown a.dropdown_link span {
  margin-right: 4px;
}
#nav_user_dropdown a.dropdown_link:hover, #nav_locale_dropdown a.dropdown_link:hover {
  background-color: var(--primary-fairest-est);
  color: black;
}
#nav_user_dropdown a.dropdown_link_active, #nav_locale_dropdown a.dropdown_link_active {
  background-color: var(--primary-fairest-est);
  color: black;
}

#nav_locale_dropdown {
  width: 170px;
  z-index: 9999;
}

#nav_user_dropdown {
  width: 190px;
}

/* Additional status helpers */
#home_header_nav_unread_count {
  background: #D86437;
  color: white;
  font-weight: bold;
  font-size: 11px;
  min-width: 16px;
  height: 16px;
  display: inline-block;
  line-height: 15px;
  border-radius: 8px;
  position: absolute;
  top: 2px;
  right: 0px;
  padding: 0 1px;
}

@media screen and (min-width: 1340px) {
  #home_header #home_header_logo img {
    width: 300px;
    margin: 30px 0 3px 30px;
  }
  #home_header #home_header_navigation ul li {
    margin-right: 25px;
  }
  #home_header #home_header_navigation ul li a {
    font-size: 1.3rem;
  }
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::: FOOTER :::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.main_footer {
  background-color: var(--navbar-green);
  display: block;
  width: 100%;
  height: 125px;
}
.main_footer .main_footer_links_container {
  display: block;
  text-align: center;
  padding-top: 30px;
  margin: 0 auto;
}
.main_footer .main_footer_links_container .main_footer_block {
  width: 180px;
  text-align: left;
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}
.main_footer .main_footer_links_container .main_footer_block .main_footer_link {
  font-size: 0.8em;
  display: block;
  margin-bottom: 6px;
  color: white;
  cursor: pointer;
}
.main_footer .main_footer_links_container .main_footer_block .main_footer_link:hover {
  text-shadow: 1px 1px 3px var(--primary-border);
}
.main_footer .main_footer_links_container .main_footer_block .main_footer_link:active {
  text-shadow: 1px 1px 25px var(--primary-darkest);
}
.main_footer .main_footer_links_container .main_footer_block_logo {
  width: 230px;
  display: inline-block;
  vertical-align: top;
  margin-right: 80px;
}
.main_footer .main_footer_links_container .main_footer_block_logo img {
  margin-top: 6px;
  width: 200px;
}
.main_footer .main_footer_links_container .main_footer_block_logo .main_footer_tagline {
  font-size: 0.95em;
  color: var(--primary-fairest);
  font-family: "Handlee", cursive;
}
.main_footer .main_footer_links_container .main_footer_block_logo .main_footer_social {
  display: block;
  height: 30px;
  line-height: 30px;
}
.main_footer .main_footer_links_container .main_footer_block_logo .main_footer_social .fas {
  color: white;
  font-size: 1.2em;
  margin-right: 8px;
  transition: transform 0.1s; /* Animation */
}
.main_footer .main_footer_links_container .main_footer_block_logo .main_footer_social .fas:hover {
  transform: scale(1.2);
}
.main_footer .main_footer_links_container .main_footer_block_logo .main_footer_social .home_payment_logo {
  width: 110px;
  margin-top: 4px;
}

@media screen and (max-width: 1060px) {
  .main_footer {
    height: 125px;
  }
  .main_footer .main_footer_links_container .main_footer_block {
    width: 150px;
  }
  .main_footer .main_footer_links_container .main_footer_block .main_footer_link {
    font-size: 0.75em;
    margin-bottom: 5px;
  }
  .main_footer .main_footer_links_container .main_footer_block_logo {
    width: 190px;
    margin-right: 20px;
  }
  .main_footer .main_footer_links_container .main_footer_block_logo img {
    width: 170px;
  }
  .main_footer .main_footer_links_container .main_footer_block_logo .main_footer_tagline {
    font-size: 0.7em;
  }
  .main_footer .main_footer_links_container .main_footer_block_logo .main_footer_social {
    height: 30px;
    line-height: 30px;
  }
  .main_footer .main_footer_links_container .main_footer_block_logo .main_footer_social .fas {
    font-size: 1.2em;
    margin-right: 8px;
  }
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::: MODAL HELPERS :::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background-color: rgba(7, 10, 16, 0.8);
  overflow-y: auto;
  overflow-x: hidden;
}

.modal_close {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 23px;
  cursor: pointer;
  -webkit-touch-callout: none;
  user-select: none;
}
.modal_close:active {
  transform: scale(1.15);
}

@media screen and (min-width: 1370px) {
  .modal_close {
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 25px;
  }
}
.primary_modal_close {
  color: var(--primary-color);
}
.primary_modal_close:hover {
  color: var(--primary-darker);
}

.green_modal_close {
  color: var(--green);
}
.green_modal_close:hover {
  color: var(--green-border);
}

.red_modal_close {
  color: var(--red);
}
.red_modal_close:hover {
  color: var(--red-border);
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::: ADS HELPERS ::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* hide traffective 'Publicité' labels */
.trf-declaration-container::before {
  display: none !important;
}

/* Set skycraper slot to fixed position when user scrolls */
.sticky_skyscraper_profiles_slot {
  top: 110px !important;
  position: fixed;
  right: 0;
  box-sizing: border-box;
  background: transparent !important;
}

.ad_test_slot_layout {
  background: gray;
  color: white;
  font-size: 1.4em;
  letter-spacing: 0.25em;
  font-style: italic;
  margin: 0 auto;
  text-transform: uppercase;
}

/* Slots will be injected dynamically by client js app in those empty containers */
#ad_slot_container_Rectangle_1 {
  width: 300px;
  height: 250px;
  margin: 0 auto;
}

@media screen and (max-width: 1280px) {
  #ad_slot_container_Rectangle_1 {
    width: 250px;
    height: 250px;
  }
}
#messaging_slot_placeholder {
  width: 300px;
  height: 250px;
}

#ad_slot_container_Skyscraper,
#ad_slot_container_HalfpageAd {
  max-width: 300px;
  max-height: 600px;
  display: block;
}

.ad_slot_no_margin {
  margin-top: -50px !important;
}

.skyscraper_ad_placeholder {
  width: 300px;
  height: 250px;
  margin: 0 auto;
}

.sticky_ad_slot {
  top: 190px !important;
  position: fixed;
  right: 0;
  box-sizing: border-box;
  background: transparent !important;
}

#ad_slot_container_Footer_1 {
  max-height: 250px;
  margin: 0 auto;
}

/* These ones are the containers of ad_slot_containers */
#home_traffective_billboard_4_container {
  max-width: 970px;
  min-width: 728px;
  display: block;
  margin: 0 auto 40px auto;
  text-align: center;
}

#home_traffective_footer_1_container {
  display: block;
  max-width: 970px;
  margin: 50px auto 40px auto;
  text-align: center;
}

.traffective_billboard_label {
  color: rgba(1, 1, 1, 0.85);
  text-align: center;
  font-weight: 600;
  width: 100%;
  letter-spacing: 0.4em;
  font-size: 0.7em;
  line-height: 30px;
  height: 28px;
  text-transform: uppercase;
}

.searching_traffective_interstitial_container, .offering_traffective_interstitial_container {
  width: 728px;
  min-height: 10px;
  margin: 0 auto;
}

.searching_traffective_interstitial, .offering_traffective_interstitial {
  width: 728px;
  min-height: 110px;
  margin: -5px auto 20px;
  text-align: center;
}
.searching_traffective_interstitial label, .offering_traffective_interstitial label {
  color: var(--primary-darkest);
  text-align: center;
  font-weight: 600;
  width: 728px;
  letter-spacing: 0.4em;
  line-height: 20px;
  height: 20px;
  font-size: 0.8em;
  display: block;
  text-transform: uppercase;
}
.searching_traffective_interstitial .interstitial_Billboard_1, .offering_traffective_interstitial .interstitial_Billboard_1 {
  width: 728px;
  min-height: 90px;
  text-align: center;
}

.offering_traffective_interstitial {
  margin: 0px auto 6px auto !important;
}

@media (min-width: 1800px) and (min-height: 800px) {
  .searching_traffective_interstitial, .offering_traffective_interstitial {
    width: 970px;
    margin: 0px auto 30px auto;
    min-height: 115px;
  }
  .searching_traffective_interstitial label, .offering_traffective_interstitial label {
    font-size: 1em;
    height: 25px;
    line-height: 25px;
    text-transform: uppercase;
  }
  .searching_traffective_interstitial .interstitial_Billboard_1, .offering_traffective_interstitial .interstitial_Billboard_1 {
    max-width: 970px;
  }
  .offering_traffective_interstitial {
    margin: 3px auto 10px auto !important;
  }
}
@media screen and (max-width: 736px) {
  .searching_traffective_interstitial {
    width: 468px;
    height: 85px;
    margin: -10px auto 20px auto;
  }
  .searching_traffective_interstitial label {
    font-size: 0.75em;
    height: 25px;
    line-height: 25px;
  }
  .searching_traffective_interstitial .interstitial_Billboard_1 {
    width: 468px;
    height: 60px;
  }
}
/* 4. Current page rules ---*/
/*--------------------------*/
/* a. Page layout ---*/
/* CSS rules for views/pages/home.html.erb template 
   WARNING : header & footer layout is different than main ones here */
/* 1. Main layout
----------------*/
.home_controller_container {
  width: 100%;
  height: 100%;
}

#home_cover {
  display: table;
  width: 100%;
  height: 100%;
}

#home_search_container {
  background-size: cover;
  background-position: center;
  display: table-row;
  width: 100%;
}

#home_search_table {
  display: table;
  width: 100%;
  height: 100%;
}

/* 3. Main search form
---------------------*/
#home_search_table #home_search {
  display: table-cell;
  width: 100%;
  vertical-align: middle;
  text-align: center;
  position: relative;
}

#home_cover #home_search #home_search_wrapper {
  height: 150px;
  display: block;
  margin: 90px auto 50px auto;
}

@media screen and (min-width: 1340px) {
  #home_cover #home_search #home_search_wrapper {
    margin: 80px auto 50px auto;
  }
}
/* 4. Explainers & social buttons & press logos
----------------------------------------------*/
#home_bg_credits {
  background-color: rgba(15, 40, 70, 0.8);
  display: inline-block;
  right: 0;
  top: 240px;
  position: absolute;
  color: white;
  text-align: left;
  font-size: 0.55em;
  padding: 0.4em 0.6em 0.5em 0.6em;
  border-radius: 5px 0px 0px 5px;
  z-index: 999;
}
#home_bg_credits a {
  color: white !important;
}
#home_bg_credits a .fas {
  margin-right: 3px;
}
#home_bg_credits a:hover {
  color: white !important;
}

#home_about_us {
  display: table-row;
  background-color: white;
  width: 100%;
  height: 230px;
}
#home_about_us .home_about_us_block {
  width: 33%;
  float: left;
  text-align: center;
  color: var(--home-blue);
  line-height: 47px;
  height: 47px;
  z-index: 2;
  position: relative;
  display: block;
  padding-top: 25px;
}
#home_about_us .home_about_us_block .home_explainer_title {
  display: block;
  width: 90%;
  margin: 10px auto 0 auto;
  font-weight: bold;
  font-size: 0.85em;
  text-transform: uppercase;
  line-height: 20px;
  text-align: center;
}
#home_about_us .home_about_us_block .home_explainer_content {
  display: block;
  width: 80%;
  max-width: 330px;
  margin: 5px auto 0px auto;
  color: var(--primary-darkest);
  text-align: justify;
  font-size: 0.85em;
  line-height: 1.5em;
}
#home_about_us .home_social_block {
  width: 33%;
  float: left;
  text-align: center;
  position: relative;
  display: table;
  margin-top: -130px;
}
#home_about_us .home_social_block .home_social_cell {
  display: table-cell;
  vertical-align: middle;
}
#home_about_us .home_social_block .home_social_cell .home_social_title {
  text-transform: uppercase;
  color: var(--home-blue);
  font-size: 0.9em;
  margin: 5px auto 6px auto;
  background: white;
  padding: 15px 0 2px 0;
}
#home_about_us .home_social_block .home_social_cell #home_share_content {
  margin: 5px auto 0 auto;
  display: block;
  height: 30px;
  text-align: center;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .home_share_trustpilot_score img {
  width: 125px;
  height: 24px;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .home_share_trustpilot_score b {
  font-size: 1.1rem;
  margin-left: 10px;
  vertical-align: top;
  display: inline-block;
  color: #339966;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .home_social_btn img {
  width: 35px;
  padding: 5px;
  border: 0;
  box-shadow: 0;
  display: inline;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .facebook_like_wrapper {
  width: 90px;
  display: inline-block;
  height: 20px;
  line-height: 20px;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .facebook_share_wrapper {
  width: 95px;
  display: inline-block;
  height: 20px;
  line-height: 20px;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .google_share_wrapper {
  width: 36px;
  margin-top: 0px;
  height: 20px;
  line-height: 20px;
  display: inline-block;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .twitter_share_wrapper {
  width: 60px;
  height: 20px;
  line-height: 20px;
  display: inline-block;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .home_share_btn {
  display: inline-block;
  padding: 3px 7px 5px 7px;
  font-size: 0.9em;
  margin-left: 0.5em;
  border-radius: 5px;
}
#home_about_us .home_social_block .home_social_cell #home_share_content .home_share_btn .fas {
  margin-right: 3px;
}
#home_about_us .home_social_block .home_social_cell .media_link {
  display: inline-block;
  padding: 3px 9px 4px 9px;
  color: white;
  margin: 7px auto;
  text-transform: uppercase;
  font-size: 0.8em;
}
#home_about_us .home_social_block .home_social_cell .media_link .fas {
  margin-right: 4px;
}
#home_about_us .home_social_block .home_social_cell .media_link:hover {
  color: white !important;
}
#home_about_us .home_social_block .home_explainer_content_media {
  display: block;
  width: 90%;
  margin: 0 auto;
}
#home_about_us .home_social_block .home_explainer_content_media .media_title {
  color: var(--home-blue);
  font-weight: bold;
  font-size: 0.9em;
  text-transform: uppercase;
  height: 47px;
  line-height: 58px;
  margin: 0 auto;
}
#home_about_us .home_social_block .home_explainer_content_media .media_logos_container {
  line-height: 20px;
}
#home_about_us .home_social_block .home_explainer_content_media .media_logos_container .media_logo {
  vertical-align: middle;
  display: inline-block;
  max-width: 90px;
  max-height: 20px;
  margin-right: 8px;
  margin-bottom: 8px;
}
#home_about_us .home_social_block .home_explainer_content_media .media_logos_container .media_sprite {
  width: 320px;
  height: 76px;
}

@media screen and (min-width: 1024px) {
  #home_about_us .home_social_block {
    margin-top: -36px;
  }
}
@media screen and (min-width: 1340px) {
  #home_about_us {
    height: 230px;
  }
  #home_about_us .home_about_us_block {
    line-height: 47px;
    height: 47px;
  }
  #home_about_us .home_about_us_block .home_explainer_title {
    font-size: 0.9em;
  }
  #home_about_us .home_about_us_block .home_explainer_content {
    font-size: 1em;
    line-height: 22px;
    margin-top: 5px;
    max-width: 400px;
  }
  #home_about_us .home_social_block .home_explainer_content_media .media_title {
    font-size: 0.9em;
  }
  #home_about_us .home_social_block .home_explainer_content_media .media_logos_container .media_logo {
    max-width: 100px;
  }
}
@media screen and (max-width: 1160px) {
  #home_about_us .home_about_us_block {
    width: 33%;
    line-height: 47px;
    height: 47px;
  }
  #home_about_us .home_about_us_block .home_explainer_title {
    font-size: 0.8em;
  }
  #home_about_us .home_about_us_block .home_explainer_content {
    width: 90%;
    font-size: 0.85em;
    line-height: 1.5em;
  }
  #home_about_us .home_social_block .home_social_cell .home_explainer_content_media .media_title {
    font-size: 0.9em;
    height: 47px;
    line-height: 58px;
  }
  #home_about_us .home_social_block .home_social_cell .home_explainer_content_media .media_logos_container .media_logo {
    max-width: 80px;
    max-height: 25px;
  }
}
@media screen and (max-width: 1023px) {
  #home_about_us .home_social_block {
    margin-top: -36px;
    width: 100% !important;
  }
  .home_about_us_block {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) and (min-height: 728px) {
  #home_about_us .home_social_block {
    margin-top: -48px;
  }
}
.home_billboard_ad_slot_test_small {
  width: 728px;
  height: 90px;
  line-height: 90px;
}

.home_billboard_ad_slot_test_big {
  width: 970px;
  height: 250px;
  line-height: 250px;
}

/* 5. Publish listing button
---------------------------*/
#home_publish_content {
  display: block;
  background: white;
  padding: 40px 0 30px 0;
  text-align: center;
}
#home_publish_content h3 {
  color: var(--home-blue);
  font-weight: bold;
  font-size: 0.9em;
  text-transform: uppercase;
  margin: 10px auto 15px auto;
}
#home_publish_content a button {
  width: 440px;
  height: 46px;
  line-height: 44px;
  margin: 0 auto;
  color: var(--btn-white-text);
  background-color: var(--btn-white);
  border: 1px solid var(--btn-white-border);
  border-radius: 5px;
  text-align: center;
  display: block;
  cursor: pointer;
  font-size: 1rem;
  -webkit-touch-callout: none;
  user-select: none;
  outline: none;
  position: relative;
}
#home_publish_content a button:hover {
  color: var(--btn-white-text) !important;
  background-color: var(--btn-white-hover) !important;
}
#home_publish_content a button:active {
  background-color: var(--btn-white-active) !important;
  border: 1px solid var(--btn-white-border-active) !important;
}
#home_publish_content a button .fas {
  color: var(--primary-ui);
  margin-right: 5px;
}

/* 5. Home guides content
---------------------------*/
#home_guides_content {
  display: block;
  background: white;
  padding: 10px 0 30px 0;
  text-align: center;
  margin: -80px auto 0 auto;
}
#home_guides_content .guides_container {
  width: 768px;
  margin: 0 auto;
}
#home_guides_content .guides_container h3 {
  color: var(--home-blue);
  font-weight: bold;
  font-size: 0.9em;
  text-transform: uppercase;
  margin: 10px auto 15px auto;
}
#home_guides_content .guides_container .guide_list_container:last-child {
  margin-bottom: 80px;
}
#home_guides_content .guides_container .guide_list_container label {
  font-weight: bold;
  display: block;
  margin: 22px auto 12px auto;
}
#home_guides_content .guides_container .guide_list_container ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#home_guides_content .guides_container .guide_list_container ul li {
  padding: 0.15em 0;
}
#home_guides_content .guides_container .guide_list_container ul li a {
  color: var(--primary-darkest);
}
#home_guides_content .guides_container .guide_list_container ul li a:hover {
  color: var(--primary-darker);
}
#home_guides_content .guides_container .guide_list_container ul.guide_list_single {
  width: 48%;
  display: inline-block;
  text-align: left;
}
#home_guides_content .guides_container .guide_list_container ul.guide_list_single:last-of-type {
  margin-right: -120px;
}
#home_guides_content .guides_container .guide_list_container ul.guide_list_double {
  display: block;
}

/* 7. Most popular localities rankings for SEO
----------------------------------------------*/
#home_rankings_content {
  width: 100%;
  background-color: white;
  text-align: center;
  padding-top: 50px;
  padding-bottom: 90px;
}
#home_rankings_content .home_ad_slot_container {
  display: none;
}
#home_rankings_content #home_rankings {
  width: 100%;
  display: block;
  margin: 0 auto;
}
#home_rankings_content #home_rankings .home_rankings_container {
  display: block;
  margin: 0 auto;
  width: 1000px;
}
#home_rankings_content #home_rankings .home_rankings_container h3 {
  color: var(--home-blue);
  font-weight: bold;
  font-size: 0.9em;
  line-height: 1.5em;
  text-transform: uppercase;
  margin: 20px auto 15px auto;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail {
  display: block;
  background-position: center;
  box-shadow: 0 0 10px #ccc;
  cursor: pointer;
  position: relative;
  transition: box-shadow 0.15s ease-in-out 0s;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail:hover {
  box-shadow: 0 0 15px #525252;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail:active {
  transform: scale(1.01);
  opacity: 0.9;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail .top_city_name_table {
  width: 100%;
  height: 100%;
  display: table;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail .top_city_name_table .top_city_name_cell {
  display: table-cell;
  vertical-align: middle;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail .top_city_name_table .top_city_name_cell .top_city_name {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.8em;
  font-weight: bold;
  color: white;
  background: rgba(1, 1, 1, 0.7);
  border-radius: 3px;
  padding: 6px 15px;
  display: inline-block;
  margin: 0 auto;
  line-height: 1.2em;
  max-width: 60%;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail .top_city_name_table .top_city_name_cell .top_city_name .flag {
  width: 16px;
  height: 9px;
  margin-right: 0.15em;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail .top_city_name_table .top_city_name_cell .top_city_results_count {
  text-transform: none;
  letter-spacing: 0.1em;
  font-size: 0.7rem;
  border-radius: 3px;
  margin: 0.1em auto 0 auto;
  padding: 0 10px;
  font-weight: normal;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_big {
  width: 300px;
  height: 206px;
  background-size: 300px 206px;
  margin: 10px;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_big .top_city_name_table .top_city_name_cell .top_city_name {
  letter-spacing: 0.2em;
  font-size: 0.8em;
  padding: 6px 8px;
  line-height: 1.2em;
  max-width: 70%;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_medium {
  width: 220px;
  height: 151px;
  background-size: 220px 151px;
  margin: 10px;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_medium .top_city_name_table .top_city_name_cell .top_city_name {
  letter-spacing: 0.15em;
  font-size: 0.75em;
  padding: 6px 12px;
  line-height: 1.4em;
  max-width: 70%;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_small {
  width: 170px;
  height: 117px;
  background-size: 170px 117px;
  margin: 10px;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_small .top_city_name_table .top_city_name_cell .top_city_name {
  letter-spacing: 0.15em;
  font-size: 0.7em;
  padding: 5px 6px;
  line-height: 1.3em;
  max-width: 80%;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_small .top_city_name_table .top_city_name_cell .top_city_results_count {
  font-size: 1em;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn {
  width: 170px;
  height: 117px;
  line-height: 117px;
  margin: 10px;
  display: inline-block;
  vertical-align: top;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn .city_thumbnail_btn_label {
  line-height: 20px;
  display: block;
  margin-top: 0.2em;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn .city_thumbnail_btn_emoji {
  font-size: 2em;
  height: 1.7em;
  line-height: 2em;
  margin-top: 0.1em;
}
#home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn:hover {
  box-shadow: 0 0 5px #525252;
}

@media screen and (max-width: 1366px) {
  #home_rankings_content #home_rankings .home_rankings_container {
    width: 800px;
  }
  #home_rankings_content #home_rankings .home_rankings_container h3 {
    font-size: 0.9em;
    line-height: 1.3em;
    margin: 0px auto 15px auto;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_big {
    width: 240px;
    height: 165px;
    margin: 10px;
    background-size: 240px 165px;
    letter-spacing: 0.15em;
    font-size: 1.2em;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_big .top_city_name_table .top_city_name_cell .top_city_name {
    letter-spacing: 0.15em;
    font-size: 0.7em;
    padding: 6px 8px;
    line-height: 1.4em;
    max-width: 70%;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_medium {
    width: 180px;
    height: 124px;
    margin: 6px;
    background-size: 180px 124px;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_medium .top_city_name_table .top_city_name_cell .top_city_name {
    letter-spacing: 0.15em;
    font-size: 0.7em;
    padding: 6px 8px;
    line-height: 1.4em;
    max-width: 70%;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_small {
    width: 140px;
    height: 96px;
    margin: 5px;
    background-size: 140px 96px;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_small .top_city_name_table .top_city_name_cell .top_city_name {
    letter-spacing: 0.15em;
    font-size: 0.65em;
    padding: 5px 2px;
    line-height: 1.4em;
    max-width: 90%;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn {
    width: 140px;
    height: 96px;
    line-height: 96px;
    margin: 5px;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn .city_thumbnail_btn_label {
    line-height: 1.2em;
    margin-top: 0.3em;
    font-size: 0.9em;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn .city_thumbnail_btn_emoji {
    font-size: 1.6em;
    height: 1.6em;
    line-height: 1.9em;
    margin-top: 0.15em;
  }
}
@media screen and (max-width: 900px) {
  #home_rankings_content #home_rankings .home_rankings_container {
    width: 700px;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_big {
    width: 210px;
    height: 145px;
    margin: 5px;
    background-size: 210px 145px;
    letter-spacing: 0.1em;
    font-size: 1.1em;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_big .top_city_name_table .top_city_name_cell .top_city_name {
    letter-spacing: 0.15em;
    font-size: 0.7em;
    padding: 6px 8px;
    line-height: 1.4em;
    max-width: 70%;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_medium {
    width: 157px;
    height: 108px;
    background-size: 157px 108px;
    margin: 3px;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_medium .top_city_name_table .top_city_name_cell .top_city_name {
    letter-spacing: 0.15em;
    font-size: 0.6em;
    padding: 4px 6px;
    line-height: 1.5em;
    max-width: 80%;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_small {
    width: 125px;
    height: 86px;
    background-size: 125px 86px;
    margin: 2px;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_small .top_city_name_table .top_city_name_cell .top_city_name {
    letter-spacing: 0.05em;
    font-size: 0.6em;
    padding: 5px 2px;
    line-height: 1.5em;
    max-width: 90%;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn {
    width: 125px;
    height: 86px;
    line-height: 86px;
    margin: 2px;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn .city_thumbnail_btn_label {
    line-height: 1.2em;
    margin-top: 0.2em;
    font-size: 0.75em;
  }
  #home_rankings_content #home_rankings .home_rankings_container .city_thumbnail_btn .city_thumbnail_btn_emoji {
    font-size: 1.6em;
    height: 1.6em;
    line-height: 1.9em;
    margin-top: 0.15em;
  }
}
/* 7. Footer
-----------*/
#home_footer {
  background: var(--navbar-green);
  display: block;
  width: 100%;
  height: 125px;
}
#home_footer #home_footer_links_container {
  display: block;
  text-align: center;
  padding-top: 30px;
  margin: 0 auto;
}
#home_footer #home_footer_links_container .home_footer_block {
  width: 180px;
  text-align: left;
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}
#home_footer #home_footer_links_container .home_footer_block .home_footer_link {
  font-size: 0.8em;
  display: block;
  margin-bottom: 5px;
  color: white;
  cursor: pointer;
}
#home_footer #home_footer_links_container .home_footer_block .home_footer_link:hover {
  text-shadow: 1px 1px 3px var(--primary-darker-er);
}
#home_footer #home_footer_links_container .home_footer_block .home_footer_link:active {
  text-shadow: 1px 1px 3px black;
}
#home_footer #home_footer_links_container .home_footer_block_logo {
  width: 230px;
  display: inline-block;
  vertical-align: top;
  margin-right: 80px;
}
#home_footer #home_footer_links_container .home_footer_block_logo img {
  width: 180px;
  margin-top: 10px;
}
#home_footer #home_footer_links_container .home_footer_block_logo .home_footer_tagline {
  font-size: 0.8em;
  color: #d5f0e6;
}
#home_footer #home_footer_links_container .home_footer_block_logo .home_footer_social {
  display: block;
  height: 30px;
  line-height: 30px;
}
#home_footer #home_footer_links_container .home_footer_block_logo .home_footer_social a {
  color: white !important;
}
#home_footer #home_footer_links_container .home_footer_block_logo .home_footer_social .fas {
  color: white;
  font-size: 1.2em;
  margin-right: 8px;
  transition: transform 0.1s; /* Animation */
}
#home_footer #home_footer_links_container .home_footer_block_logo .home_footer_social .fas:hover {
  transform: scale(1.2);
}

@media screen and (max-width: 1060px) {
  #home_footer {
    height: 125px;
  }
  #home_footer #home_footer_links_container .home_footer_block {
    width: 150px;
  }
  #home_footer #home_footer_links_container .home_footer_block .home_footer_link {
    font-size: 0.75em;
    margin-bottom: 5px;
  }
  #home_footer #home_footer_links_container .home_footer_block_logo {
    width: 190px;
    margin-right: 40px;
  }
  #home_footer #home_footer_links_container .home_footer_block_logo img {
    width: 170px;
    margin-top: 5px;
  }
  #home_footer #home_footer_links_container .home_footer_block_logo .home_footer_tagline {
    font-size: 0.7em;
  }
  #home_footer #home_footer_links_container .home_footer_block_logo .home_footer_social {
    height: 30px;
    line-height: 30px;
  }
  #home_footer #home_footer_links_container .home_footer_block_logo .home_footer_social .fas {
    font-size: 1.2em;
    margin-right: 8px;
  }
}
/* b. ViewComponents styling ---*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::: SEARCH FORM CUSTOM :::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
#home_search_wrapper {
  width: 760px;
  height: 150px;
  display: block;
  margin: 80px auto 50px auto;
}

/* 1. Mode switcher */
#switcher_wrapper {
  width: 540px;
  height: 38px;
  padding: 6px;
  background-color: white;
  margin: 0px auto;
  display: block;
  overflow: hidden;
  border-radius: 5px;
}

#switcher_container {
  width: 540px;
  height: 38px;
  font-size: 1rem;
  display: block;
  overflow: hidden;
  border-radius: 5px;
}

.home_switcher {
  float: left;
  width: 270px;
  height: 38px;
  cursor: pointer;
  background-color: var(--primary-switcher);
  color: var(--primary-fairer);
  font-size: 1rem;
  transition: 0.2s;
  -webkit-touch-callout: none;
  user-select: none;
}

.home_switcher_active {
  background-color: var(--primary-ui) !important;
  color: #fff !important;
  cursor: default;
}

@media screen and (min-width: 1340px) {
  #home_search_wrapper {
    width: 800px;
    margin: 60px auto 50px auto;
  }
  #switcher_wrapper {
    width: 600px;
    height: 44px;
    padding: 7px;
  }
  #switcher_container {
    width: 600px;
    height: 44px;
    font-size: 1.1rem;
  }
  .home_switcher {
    width: 300px;
    height: 43px;
    font-size: 1.1rem;
  }
}
/* 1. Form input & submit button */
#home_search_form {
  width: 600px;
  height: 62px;
  margin: 15px auto 0 auto;
  background-color: white;
  border-radius: 6px;
  padding: 6px;
  box-sizing: border-box;
}
#home_search_form #home_search_input_container {
  float: left;
  width: 486px;
  height: 50px;
  position: relative;
  /* z-index needed for dropdown overflow issues */
  z-index: 3;
}
#home_search_form #home_search_input_container #home_search_input {
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  padding-left: 15px;
  background: white;
  font-size: 1.2em;
  border: 1px solid var(--primary-color);
  border-radius: 3px;
  outline: none;
}
#home_search_form #home_search_input_container #home_search_input::placeholder {
  color: var(--primary-darker-er);
  font-size: 0.9em;
  opacity: 0.54;
}
#home_search_form #home_search_input_container #home_search_input:focus {
  border: 2px solid #276ea6;
}
#home_search_form #home_search_input_container .autoComplete_clear {
  background: rgba(255, 255, 255, 0.9) url(/assets/icons/clear-ab27295506e97a448b7060a79323743e39e436de32b111d2513a4739ebd261f5.svg);
  background-size: 15px 15px;
  background-position: center center;
  background-repeat: no-repeat;
  height: 47px;
  width: 36px;
  border-radius: 5px;
  position: absolute;
  right: 2px;
  top: 2px;
  cursor: pointer;
  display: none;
}
#home_search_form #home_date_input_container {
  float: left;
  width: 126px;
  height: 50px;
  position: relative;
  z-index: 3;
  margin-left: 7px;
}
#home_search_form #home_date_input_container label {
  display: block;
  font-size: 0.9em;
  line-height: 1.5em;
}
#home_search_form #home_date_input_container .fas {
  color: var(--primary-ui);
  position: absolute;
  top: 2px;
  left: 8px;
}
#home_search_form #home_date_input_container #home_availability_datepicker {
  width: 126px;
  box-sizing: border-box;
  height: 28px;
  border: none;
  cursor: pointer;
  font-size: 0.95em;
  text-align: right;
  padding-right: 10px;
  font-weight: 600;
}
#home_search_form button#home_search_submit {
  width: 90px;
  height: 50px;
  line-height: 50px;
  font-size: 1.3em;
  float: right;
  cursor: pointer;
  border: 1px solid var(--primary-fairer-er);
  background-color: var(--primary-ui);
  border-radius: 5px;
  outline: none;
  position: relative;
}
#home_search_form button#home_search_submit .fa-search {
  color: white;
  display: block;
}
#home_search_form button#home_search_submit:hover {
  background-color: var(--primary-ui-hover);
}

/* Needed for offering mode (when datepicker is hidden) */
.big_home_search_input {
  width: 515px !important;
}

@media screen and (min-width: 1340px) {
  #home_search_form {
    width: 700px;
    height: 68px;
    margin: 15px auto 0 auto;
    padding: 6px;
  }
  #home_search_form #home_search_input_container {
    width: 560px;
    height: 56px;
  }
  #home_search_form #home_search_input_container #home_search_input {
    font-size: 1.4em;
    height: 56px;
  }
  #home_search_form #home_search_input_container .autoComplete_dropdown {
    font-size: 1em;
  }
  #home_search_form #home_search_input_container .autoComplete_clear {
    background-size: 16px 16px;
    height: 50px;
    width: 40px;
  }
  #home_search_form #home_date_input_container {
    font-size: 1.1em;
    height: 56px;
    margin-left: 10px;
  }
  #home_search_form #home_date_input_container .fas {
    top: 4px;
    left: 10px;
  }
  #home_search_form #home_date_input_container #home_availability_datepicker {
    width: 134px;
    height: 32px;
  }
  #home_search_form button#home_search_submit {
    width: 117px;
    height: 56px;
    line-height: 56px;
    font-size: 1.5em;
  }
  .big_home_search_input {
    width: 624px !important;
  }
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::: CITY RANKINGS VIEWCOMPONENT :::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.home_rankings_tabs > input[type=radio] {
  position: absolute;
  left: -200vw;
}

.home_rankings_tabs .tab-panel {
  display: none;
}

ul.home_rankings_tab {
  list-style: none;
  padding: 0;
  margin-top: 15px;
}

ul.home_rankings_tab li {
  display: inline-block;
}

.home_rankings_tabs > input:first-child:checked ~ .tab-panels > .tab-panel:first-child,
.home_rankings_tabs > input:nth-child(3):checked ~ .tab-panels > .tab-panel:nth-child(2),
.home_rankings_tabs > input:nth-child(5):checked ~ .tab-panels > .tab-panel:nth-child(3),
.home_rankings_tabs > input:nth-child(7):checked ~ .tab-panels > .tab-panel:nth-child(4),
.home_rankings_tabs > input:nth-child(9):checked ~ .tab-panels > .tab-panel:nth-child(5),
.home_rankings_tabs > input:nth-child(11):checked ~ .tab-panels > .tab-panel:nth-child(6) {
  display: block;
}

.home_rankings_tabs > label {
  position: relative;
  display: inline-block;
  padding: 0;
  cursor: pointer;
  line-height: 34px;
  font-size: 1rem;
  cursor: pointer;
  padding: 0.1em 1em;
  -webkit-touch-callout: none;
  user-select: none;
  background: var(--light-gray);
  transition: 0.2s;
  margin-bottom: 7px;
}

.home_rankings_tabs > input[type=radio]:checked + label {
  background: var(--primary-ui) !important;
  color: white !important;
}

.home_rankings_tabs > label:first-of-type {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

.home_rankings_tabs > label:last-of-type {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.tab-panel {
  padding: 30px 0;
}

/* NOTICE: css for SignupModal & LoginModal is added through the shadowRoot of their web component */
/* 5. Icomoon fonts config ---*/
/*----------------------------*/
i.fas {
  /* force font-family on <i> as browser extensions may try to change it */
  font-family: var(--icon-font) !important;
  /* think about people with disabilities using readers */
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* font-smoothing is not implemented in css3, using vendor plugins */
  -webkit-font-smoothing: antialiased; /* WebKit */
  -moz-osx-font-smoothing: grayscale; /* Firefox */
}

/* Append only icomoon classes of fonts used in searching page regular & modal views */
.fa-bars:before {
  content: "\f0c9";
}

.fa-caret-down:before {
  content: "\f0d7";
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-check:before {
  content: "\f00c";
}

.fa-envelope-o:before {
  content: "\f003";
}

.fa-facebook:before {
  content: "\f09a";
}

.fa-file-text-o:before {
  content: "\f0f8";
}

.fa-heart:before {
  content: "\f004";
}

.fa-info:before {
  content: "\f129";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-plus:before {
  content: "\f067";
}

.fa-search:before {
  content: "\f002";
}

.fa-times:before {
  content: "\f00d";
}

.fa-twitter:before {
  content: "\f099";
}
