/*
Theme Name: OrangeHomes
Theme URI: http://orangehomes.hu
Description: Az OrangeHomes weboldal alapélmezett sablonja
Author: AWEX
Author URI: http://awex.hu
Version: 2.0
*/

*{
margin: 0;
border: 0;
padding: 0;
flex-wrap: wrap;
text-decoration: none;
}

*, 
*:after, 
*::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

:root { 
	--color-dark: #151614;
	--color-yellow: #f1a63a;
	--color-gray: #d6d6d6;
	--color-sand: #fbf9f2;
	--color-sand-line: #e6d9aa;
	--color-red: #c34531;
	--color-red-light: #fbf1ef;
	--color-green: #1f9978;
	--color-footer-text: #737080;
}

body { font-family: "Inter", serif; font-size: 17px; font-weight: 400; color: var(--color-dark); line-height: 30px; }
body.rwd_menu__opened { overflow: hidden; }

textarea, input, select, button { font-family: "Inter", serif; font-size: 16px; }
textarea { resize: vertical; }

/* Checkbox and radio */
input[type="checkbox"], 
input[type="radio"] { width: 24px; height: 24px; margin: -4px 4px 0 0 !important; padding: 0 !important; text-align: center !important; background: white; border: 1px solid var(--color-sand-line); clear: none; cursor: pointer; display: inline-block; line-height: 0; outline: 0; vertical-align: middle !important; border-radius: 2px; -webkit-appearance: none; -webkit-box-shadow: none; box-shadow: none; -webkit-transition: .05s border-color ease-in-out; transition: .05s border-color ease-in-out; }
input[type="radio"] { -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }

input[type="radio"]:checked, 
input[type="checkbox"]:checked { border-color: var(--color-yellow); }

input[type="radio"]:checked:before { width: 100%; height: 100%; left: 0; top: 0; text-align: center; background: var(--color-yellow); position: relative; border-radius: 8px; display: block; content: ''; }
input[type="checkbox"]:checked:before { width: 100%; height: 100%; left: 0; top: 0; font-weight: 700; text-align: center; color: white; background: var(--color-yellow); position: relative; display: flex; justify-content: center; align-items: center; content: '✓'; }

h1, h2, h3, h4 { font-weight: normal; line-height: 100%; }

hr { margin-bottom: 30px; border-top: 2px solid #ebe0b9; }

/* Classes */
img.alignleft,
img.alignright,
img.aligncenter { padding: 4px; background: white; border: 1px solid var(--color-sand-line); }

.left { float: left; }
.right { float: right; }
.clear { clear: both; }
.inner { max-width: 1300px; margin: auto; position: relative; }
.inner_900 { max-width: 900px; margin: auto; position: relative; }
.inner_600 { max-width: 600px; margin: auto; position: relative; }
.alignleft { margin: 0 20px 5px 0; float: left; }
.alignright { margin: 0 0 5px 20px; float: right; }
.aligncenter { margin: 0 auto 20px auto; display: block; }
.vertical_middle { top: 50%; position: relative; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.hide { display: none !important; }
.red { color: #ff0000; }
.p_20 { padding: 20px; }
.p_30 { padding: 30px; }
.p_l_50 { padding-left: 50px; }
.b_r_5 { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
.b_r_50p { -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
.p_t_30 { padding-top: 30px; }
.m_b_100 { margin-bottom: 100px; }
.bgr_blue { background-color: var(--color-dark); }

/* Font */
.sec_font { font-family: "Old Standard TT", serif; }
.center { text-align: center; }
.uppercase { text-transform: uppercase; }

/* Cols */
.row { width: 100%; font-size: 0; display: block; }
.col { font-size: 18px; vertical-align: top; display: inline-block; position: relative; }
.col_66 { width: 66%; }
.col_60 { width: 60%; }
.col_50 { width: 50%; }
.col_40 { width: 40%; }
.col_33 { width: 33.3333333333%; }
.col_25 { width: 25%; }

.row_table { width: 100%; display: table; table-layout: fixed; }
.row_table > .col { display: table-cell; }

/* Animation */
.anim, #header ul.menu li ul, :before, :after { -webkit-transition: all 0.2s ease-out; transition: all 0.2s ease-out; }
.anim_1 { -webkit-transition: all 0.1s ease-out; transition: all 0.1s ease-out; }

.anim_cubic, 
#rwd_nav ul:before { -webkit-transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); transition: all 1s cubic-bezier(0.19, 1, 0.22, 1); }

/* Button */
.button, .mailpoet_submit { height: 50px; padding: 0 30px; font-size: 16px !important; font-weight: 700; text-decoration: none !important; color: white !important; line-height: 16px; background: var(--color-dark); display: inline-flex; align-items: center; justify-content: center; position: relative; cursor: pointer; border-radius: 3px; -webkit-transition: all 0.2s ease-out; transition: all 0.2s ease-out; }
.button:hover {  }

.button img { width: auto; height: 20px; margin-right: 10px; }

.button_yellow { color: white !important; background: var(--color-yellow); }
.button_yellow:hover { color: var(--color-dark) !important; background: white; }

.button.button_dark_hover:hover { color: white !important; background: var(--color-dark); }
.button.button_white_hover:hover { color: var(--color-dark) !important; background: white; }

.button.button_40 { height: 40px; padding: 0 20px; }
.button.button_30 { height: 30px; padding: 0 20px; }

.button_has_border { line-height: 46px; border: 2px solid var(--color-yellow); }
.button_has_border:hover { border-color: white; }
.button_has_border.yellow:hover { border-color: white; }

.button_full { width: 100%; height: auto; padding: 5px 10px; text-align: center; }

.button_arrow { padding-left: 55px; font-family: "Inter", serif; font-size: 13px; font-weight: 500; text-transform: uppercase; text-decoration: none !important; color: white !important; letter-spacing: 5px; background: url(images/icon_arrow_4_button.png) no-repeat -5px center; display: inline-block; }
.button_arrow:hover	{ padding-left: 60px; background-position: 0 center; }
.button_arrow_dark { color: var(--color-dark) !important; background-image: url(images/icon_arrow_4_button_dark.png); }

/* ID */
#scrollUp { width: 60px; height: 60px; right: 50px; bottom: 50px; text-indent: -9999px; background: var(--color-red) url(images/icon_up.svg) no-repeat center; position: fixed; z-index: 99 !important; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }

/* WEBSITE */
.website { background: #fbf9f2; }

/*
---------------
	NOTICE
---------------
*/
.notice { padding: 20px; position: relative; }
.notice:before { width: 80px; height: 100%; left: 0; top: 0; background-repeat: no-repeat; background-position: center; background-size: auto 50px; content: ''; position: absolute; content: ''; }
.notice p:last-child { margin-bottom: 0 !important; }
.notice h2 { margin-bottom: 10px !important; font-size: 25px !important; font-weight: 500; }

.notice.notice-red { color: white; background: var(--color-yellow); }
/*.notice.notice-red:before { background-color: rgba(0,0,0,0.2); background-image: url(images/icon_warning_white.svg); }*/
.notice.notice-red a { color: white !important; }
.notice.notice-red h2 { color: white; }


/*
--------------
	MODAL
--------------
*/
.contact-popup a { text-decoration: underline; color: var(--color-red); }
.contact-popup a:hover { color: var(--color-dark); }
.white_popup h3 { margin-bottom: 20px; color: var(--color-dark); }

.mfp-content .white_popup { width: auto; max-width: 600px; margin: 20px auto; background: white; position: relative; }
.mfp-content .white_popup p { margin-bottom: 20px; }
.mfp-content .white_popup p:last-child { margin-bottom: 0 !important; }
.mfp-content .white_popup em { font-style: italic; }
.mfp-content .white_popup .popup_header { padding: 20px; }
.mfp-content .white_popup .popup_header h3 { font-size: 30px; font-weight: 700; margin-bottom: 20px; color: var(--color-dark); }
.mfp-content .white_popup .popup_entry { padding: 20px; }

.mfp-content .modal_panel .mfp-close { width: 50px; height: 50px; right: 30px; top: -25px; padding: 0; background: #1e92c1 url(images/icon_close.svg) no-repeat center; background-size: 50%; position: absolute; opacity: 1; z-index: 10; cursor: pointer; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
.mfp-content .modal_panel .mfp-close:hover { -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg); transform: rotate(180deg); }

.mfp-ready .modal_login { opacity: 1; -ms-transform: scale(1, 1); -webkit-transform: scale(1, 1); transform: scale(1, 1); }


/*
------------------
	NAVIGATION
------------------
*/
#rwd_menu { width: 100%; left: 0; top: 80px; bottom: 0; background: rgba(44 41 56 / 50%); position: fixed; z-index: 1000; visibility: hidden; opacity: 0; } 
#rwd_menu .rwd_menu_wrap { width: 480px; height: 100%; right: -100%; top: 0; padding: 30px 50px; background: var(--color-sand); position: absolute; overflow-x: hidden; overflow-y: auto; box-shadow: inset 0 2px 0 rgba(0 0 0 / 10%); } 

#rwd_menu .rwd_menu_section { margin-bottom: 30px; }
#rwd_menu .rwd_menu_section h4 { margin-bottom: 10px; font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-blue); }

/* Book now */
#rwd_menu .rwd_menu_section.book_now .button { width: 100%; }

/* Menu */
#rwd_menu .rwd_menu_section.menu { margin-bottom: 30px; }

#rwd_menu ul { margin-bottom: 0; list-style: none; }
#rwd_menu ul li a { color: var(--color-dark); display: block; }

/* Primary menu */
#rwd_menu ul.primary_menu li { border-bottom: 1px solid rgba(0 0 0 / 20%); }
#rwd_menu ul.primary_menu li a { padding: 15px 0; font-size: 20px; font-weight: 700; line-height: 100%; display: block; position: relative; }
#rwd_menu ul.primary_menu li a:hover { text-decoration: underline; text-decoration-thickness: 1px; }

#rwd_menu ul.primary_menu li.menu-item-has-children > a:after { width: 16px; height: 16px; right: 0; top: calc(50% - 8px); background: url(images/icon_arrow_down_dark_blue.svg) no-repeat center; background-size: auto 100%; position: absolute; content: ''; transform: rotate(180deg); }
#rwd_menu ul.primary_menu li.menu-item-has-children.open > a:after { transform: rotate(0deg); }

#rwd_menu ul.primary_menu li ul { margin-left: -50px; margin-right: -50px; padding: 10px 0; background: var(--color-silver); display: none; }
#rwd_menu ul.primary_menu li ul li { margin: 5px 0; border-bottom: none; }
#rwd_menu ul.primary_menu li ul li a { left: auto !important; padding: 5px 50px 5px; font-size: 17px; color: var(--color-dark) !important; line-height: 20px; opacity: 100% !important; }
#rwd_menu ul.primary_menu li ul li.menu-item-has-children > a:after { width: 20px; height: 20px; right: 20px; top: calc(50% - 10px); background: url(images/icon_arrow_down_small.svg) no-repeat center; background-size: 12px; position: absolute; content: ''; }
#rwd_menu ul.primary_menu li ul li.open > a:before { display: none; }

#rwd_menu ul.primary_menu li ul li ul { background: #eef0f4; }
#rwd_menu ul.primary_menu li ul li ul li { border-bottom: none; }
#rwd_menu ul.primary_menu li ul li ul li a { padding: 10px 20px; }

/* Secondary menu */
#rwd_menu ul.secondary_menu li { margin-bottom: 5px; }
#rwd_menu ul.secondary_menu li a { font-size: 18px; font-weight: 400; }
#rwd_menu ul.secondary_menu li a:hover { text-decoration: underline; }

/* Social Media */
#rwd_menu ul.switcher-list { height: 60px; border: 2px solid var(--color-dark); display: flex; border-radius: 2px; }
#rwd_menu ul.switcher-list li { height: 100%; font-size: 14px; font-weight: 700; border-right: 1px solid var(--color-dark); display: flex; align-items: center; justify-content: center; flex-grow: 1; flex-basis: 0; }
#rwd_menu ul.switcher-list li:last-child { border-right: none; }
#rwd_menu ul.switcher-list li.active { background: white; }

body.rwd_menu__opened #rwd_menu { visibility: visible; opacity: 100%; }
body.rwd_menu__opened #rwd_menu .rwd_menu_wrap { right: 0; }


/*
---------------
	HEADER
---------------
*/
#header { width: 100%; height: 100px; left: 0; top: 0; background: white; position: relative; box-shadow: 0 0 20px rgba(0 0 0 / 10%); position: fixed; z-index: 100; }
body.home #header { box-shadow: none; }

#header .header_wrap { height: 100%; padding: 0 50px; display: flex; align-items: center; justify-content: space-between; }
#header .header_wrap .wrap_left { display: flex; align-items: center; }
#header .header_wrap .wrap_right { display: flex; align-items: center; justify-content: end; }

/* Logo */
#header .logo { width: auto; height: 20px; display: inline-flex; }
#header .logo img { width: auto; height: 100%; display: block; }

/* Menu */
#header ul.menu { margin-right: 30px; display: flex; list-style: none; }
#header ul.menu li { margin-right: 20px; position: relative; }
#header ul.menu li:last-child { margin-right: 0; }
#header ul.menu li a { padding: 0 5px; font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--color-dark); line-height: 24px; letter-spacing: 1px; display: block; position: relative; z-index: 0; }
#header ul.menu li a:hover { color: #000000; }
#header ul.menu li a:before { width: 0; height: 100%; left: 0; top: 0; background: var(--color-sand); position: absolute; content: ''; z-index: -1; }
#header ul.menu li a:hover:before { width: 100%; }
#header ul.menu li.current-menu-item a { color: var(--color-red); font-weight: bold }

#header ul.menu li ul { width: 150px; top: 130%; left: 0; padding-top: 10px; position: absolute; visibility: hidden; opacity: 0; }
#header ul.menu li ul li { margin: 0; display: block; }
#header ul.menu li ul li:first-child:after { width: 0; height: 0; bottom: 100%; left: 20px; border: solid transparent; content: ''; position: absolute; pointer-events: none; border-color: rgba(195, 69, 49, 0); border-bottom-color: var(--color-red); border-width: 10px; }
#header ul.menu li ul li a { height: auto; padding: 10px; font-size: 16px; color: white; line-height: 20px; background: var(--color-red); border-bottom: 1px dotted rgba(255,255,255,0.5); display: block; }
#header ul.menu li ul li:last-child a { border-bottom: none; }

#header ul.menu li:hover ul { top: 100%; visibility: visible; opacity: 1; }

/* Language switcher */
#header ul.switcher-dropdown { height: 50px; margin-left: 30px; padding-left: 5px; border-left: 1px solid var(--color-gray); }
#header ul.switcher-dropdown li { height: 100%; font-size: 15px; font-weight: 700; line-height: 20px; }
#header ul.switcher-dropdown li.item-language-main { padding: 0 20px; display: flex; align-items: center; cursor: pointer; }
#header ul.switcher-dropdown li.item-language-main:hover { background: var(--color-sand); }
#header ul.switcher-dropdown li.item-language-main > span { height: 18px; padding-left: 28px; background: url(images/icon_earth_dark.svg) no-repeat left center; background-size: auto 100%; display: flex; }
#header ul.switcher-dropdown li.item-language-main > span img { display: none; }

#header ul.switcher-dropdown li ul { left: 0; top: 100%; padding: 20px 30px; background: white; box-shadow: 0 10px 20px rgba(0 0 0 / 20%); position: absolute; z-index: 10; }
#header ul.switcher-dropdown li ul li a { width: max-content; height: 100%; display: flex; align-items: center; }
#header ul.switcher-dropdown li ul li a:hover { text-decoration: underline; }
#header ul.switcher-dropdown li ul li a img { margin-right: 10px; display: block; }

/* RWD button */
#header .rwd_button { width: 60px; height: 50px; margin-left: 20px; background: var(--color-red); position: relative; z-index: 2; cursor: pointer; border-radius: 3px; }
#header .rwd_button .burg { width: 30px; height: 2px; left: 15px; top: 25px; background: white; display: block; position: relative; -webkit-transition: 0.2s; transition: 0.2s; }

#header .rwd_button .burg:before, 
#header .rwd_button .burg:after { width: 30px; height: 2px; background: white; position: absolute; content: ''; -moz-transition: 0.2s; -o-transition: 0.2s; -webkit-transition: 0.2s; transition: 0.2s; }

#header .rwd_button .burg:before { top: -6px; left: 0; }
#header .rwd_button .burg:after { top: 6px; right: 0; }

body.rwd_menu__opened #header .rwd_button .burg { background: transparent; }
body.rwd_menu__opened #header .rwd_button .burg:before { top: 0; -webkit-transform: rotate(45deg); }
body.rwd_menu__opened #header .rwd_button .burg:after { top: 0; -webkit-transform: rotate(-45deg); }


/*
--------------
	SLIDER
--------------
*/
#slider { margin-bottom: 50px; position: relative; }
#slider .item { max-height: 650px; min-height: 250px; background-repeat: no-repeat; background-position: center; background-size: cover; position: relative; }
#slider .item:after { padding-top: 40%; display: block; position: relative; content: ''; z-index: 1; }
#slider .item .cover { width: 100%; height: 100%; left: 0; top: 0; background: rgba(0,0,0,0.5); position: absolute; z-index: 2; }
#slider .item .inner { height: 100%; }
#slider .item .inner h1 { max-width: 800px; margin-left: auto; margin-right: auto; font-size: 60px; color: white; line-height: 100%; }
#slider .item .inner .button { margin-top: 30px; }


/*
---------------
	BOOKING
---------------
*/
#booking_engine { padding: 10px 0; background: white; border-top: 1px solid var(--color-sand-line); }
#booking_engine .enable-bootstrap { border: none !important; }


/*
----------------------------
	APARTMENT CATEGORIES
----------------------------
*/
#apartment_categories { padding: 50px 0; }
#apartment_categories .section_title { font-size: 50px; margin-bottom: 50px; text-align: center; line-height: 100%; }

#apartment_categories .categories_wrap { margin-left: -10px; margin-right: -10px; padding-bottom: 50px; border-bottom: 1px solid var(--color-sand-line); display: flex; }
#apartment_categories .categories_wrap .category { width: calc(25% - 20px); margin: 20px 10px 0; }
#apartment_categories .categories_wrap .category:nth-child(-n+4) { margin-top: 0; }

#apartment_categories .categories_wrap .category .wrapper { height: 250px; background-repeat: no-repeat; background-position: center; background-size: cover; display: block; position: relative; }
#apartment_categories .categories_wrap .category .wrapper .border { left: 20px; top: 20px; right: 20px; bottom: 20px; border: 2px solid var(--color-yellow); position: absolute; z-index: 2; }
#apartment_categories .categories_wrap .category .wrapper:hover .border { left: 15px; top: 15px; right: 15px; bottom: 15px; }

#apartment_categories .categories_wrap .category h3 { padding: 20px; }
#apartment_categories .categories_wrap .category h3 a { font-size: 20px; font-weight: 600; color: var(--color-dark); line-height: 100%; display: block; }
#apartment_categories .categories_wrap .category h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }


/*
---------------------
	FRONTPAGE MAP
---------------------
*/
#frontpage_map .section_title { font-size: 50px; margin-bottom: 50px; text-align: center; line-height: 100%; }
#frontpage_map iframe { display: block; }

/* Maps */
#mapdiv, #map_canvas { width: 100%; height: 500px; margin-bottom: 30px; }


/*
--------------
	OFFERS
--------------
*/
#offers { padding: 50px 0; }
#offers .section_title { font-size: 50px; margin-bottom: 50px; text-align: center; line-height: 100%; }

.offers_wrap { margin-left: -20px; margin-right: -20px; display: flex; }
.offers_wrap .offer { width: calc(33.3333333333% - 40px); margin: 50px 20px 0; padding-bottom: 50px; position: relative; }
.offers_wrap .offer:nth-child(-n+3) { margin-top: 0; }

.offers_wrap .offer a.thumbnail { display: block; position: relative; }
.offers_wrap .offer a.thumbnail img { width: 100%; height: auto; display: block; position: relative; z-index: 1; }
.offers_wrap .offer a.thumbnail .border { left: 40px; top: 40px; right: 40px; bottom: 40px; border: 2px solid var(--color-yellow); position: absolute; z-index: 2; }
.offers_wrap .offer a.thumbnail:hover .border { left: 35px; top: 35px; right: 35px; bottom: 35px; }

.offers_wrap .offer .entry { padding-top: 15px; }
.offers_wrap .offer .entry h4 { margin-bottom: 15px; font-size: 12px; color: var(--color-red); line-height: 20px; letter-spacing: 3px; }
.offers_wrap .offer .entry h3 { margin-bottom: 20px; }
.offers_wrap .offer .entry h3 a { font-size: 30px; color: var(--color-dark); line-height: 100%; }
.offers_wrap .offer .entry h3 a:hover { color: var(--color-red); }
.offers_wrap .offer .entry .excerpt { font-size: 16px; line-height: 25px; }
.offers_wrap .offer .entry .excerpt p { margin-bottom: 0 !important; }

.offers_wrap .offer .button { left: 0; bottom: 0; position: absolute; }


/*
------------------
	APARTMENTS
------------------
*/
.apartments_wrap { margin-left: -20px; margin-right: -20px; margin-bottom: 50px; display: flex; }
.apartments_wrap .apartment { width: calc(33.3333333333% - 40px); margin: 50px 20px 0; padding-bottom: 60px; background: white; border: 1px solid var(--color-sand-line); outline: 3px solid transparent; outline-offset: 3px; position: relative; border-radius: 5px; }
.apartments_wrap .apartment:hover { outline-color: var(--color-red); }
.apartments_wrap .apartment:nth-child(-n+3) { margin-top: 0; }

.apartments_wrap .apartment .admin_actions { width: 50px; height: 50px; right: 10px; top: 10px; font-size: 0; background: var(--color-green) url(images/icon_pen_white.svg) no-repeat center; background-size: auto 20px; position: absolute; z-index: 2; border-radius: 3px; }
.apartments_wrap .apartment .admin_actions:hover { background-color: var(--color-dark); }

.apartments_wrap .apartment a.thumbnail { margin: -1px -1px 0; display: block; position: relative; }
.apartments_wrap .apartment a.thumbnail img { width: 100%; height: auto; display: block; border-radius: 5px 5px 0 0; }

.apartments_wrap .apartment .entry .apartment_title { padding: 20px; }
.apartments_wrap .apartment .entry .apartment_title h3 { margin-bottom: 10px !important; font-size: inherit; }
.apartments_wrap .apartment .entry .apartment_title h3 a { font-size: 25px; text-decoration: none !important; }
.apartments_wrap .apartment .entry .apartment_title h3 a:hover { text-decoration: underline !important; text-decoration-thickness: 1px; }
.apartments_wrap .apartment .entry .apartment_title .marketing_text { font-size: 14px; line-height: 20px; }

.apartments_wrap .apartment .entry .base_datas { width: 100%; height: 60px; left: 0; bottom: 0; padding: 0 20px; font-size: 14px; border-top: 1px solid var(--color-sand-line); display: flex; align-items: center; position: absolute; }
.apartments_wrap .apartment .entry .base_datas .data { height: 30px; font-size: 16px; font-weight: 700; display: flex; align-items: center; align-content: center; justify-content: center; flex-grow: 1; flex-basis: 0; }
.apartments_wrap .apartment .entry .base_datas .data span { height: 30px; padding-left: 30px; background-repeat: no-repeat; background-position: left center; background-size: auto 20px; display: inline-flex; align-items: center; }
.apartments_wrap .apartment .entry .base_datas .data.capacity span { background-image: url(images/icon_avatar_red.svg); }
.apartments_wrap .apartment .entry .base_datas .data.bathroom span { background-image: url(images/icon_bathroom_red.svg); }
.apartments_wrap .apartment .entry .base_datas .data.beds span { background-image: url(images/icon_bed_red.svg); }
.apartments_wrap .apartment .entry .base_datas .data.bedrooms span { background-image: url(images/icon_door_red.svg); }

/* No base data */
.apartments_wrap.no_base_data .apartment { padding-bottom: 0; }
.apartments_wrap.no_base_data .apartment .entry .apartment_title h3 { margin-bottom: 0 !important; }
.apartments_wrap.no_base_data .apartment .entry .base_datas { display: none; }


/*
---------------------
	THE APARTMENT
---------------------
*/
.apartment_hero { height: 500px; margin: 20px 50px; background-repeat: no-repeat; background-position: center; background-size: cover; border-radius: 10px; overflow: hidden; }
.apartment_hero .cover { height: 100%; background: rgba(44 41 56 / 50%); }
.apartment_hero .inner { height: 100%; padding-bottom: 50px; display: flex; align-items: end; align-content: end; position: relative; }
.apartment_hero .inner h1 { width: calc(100% - 300px); font-size: 50px; color: white; line-height: 100%; }
.apartment_hero .inner .rank-math-breadcrumb { color: white; }
.apartment_hero .inner .rank-math-breadcrumb a { color: white; }
.apartment_hero .inner .rank-math-breadcrumb a:hover { text-decoration: underline; }

.apartment_hero .inner .button { right: 0; bottom: 50px; position: absolute; }

/* Apartment wrap */
.apartment_wrap { display: flex; }
.apartment_wrap h1 { width: 100%; }
.apartment_wrap .wrap_left { flex: 1; }
.apartment_wrap .wrap_right { width: 300px; margin-left: 100px; }

/* Password Protected */
.apartment_wrap .pp_content .info { margin-bottom: 30px; padding: 30px; background: white; border: 1px solid var(--color-sand-line); border-radius: 5px; }
.apartment_wrap .pp_content .info p:last-child { margin-bottom: 0 !important; }

.apartment_wrap .password_protected_part { width: 100%; margin-bottom: 30px; background: var(--color-sand-line); display: flex; border-radius: 5px; position: relative; overflow: hidden; }
.apartment_wrap .password_protected_part .pp_wrap_left { padding: 20px; flex: 1; }
.apartment_wrap .password_protected_part .pp_wrap_right { width: 40%; background: url(images/img-password-protected.jpg) no-repeat center; background-size: cover; }

.apartment_wrap .password_protected_part .pp_intro { margin-bottom: 30px; font-size: 15px; line-height: 22px; }
.apartment_wrap .password_protected_part .pp_intro img { width: auto; height: 40px; margin-bottom: 10px; display: block; }

.apartment_wrap .password_protected_part .pp_form { display: flex; }
.apartment_wrap .password_protected_part .pp_form input { height: 50px; margin-right: 10px; padding-left: 10px; outline: 2px solid transparent; outline-offset: 2px; border-radius: 3px; flex: 1; }
.apartment_wrap .password_protected_part .pp_form input:focus { outline-color: rgba(255 255 255 / 40%); }

.apartment_wrap .password_protected_part .pp_notice_wrap .pp_notice { margin-top: 10px; padding: 3px 5px; font-size: 14px; color: white; line-height: 20px; background: var(--color-red); border-radius: 3px; }

/* Address */
.apartment_wrap p.address { margin-bottom: 30px !important; padding-bottom: 10px; border-bottom: 1px solid var(--color-sand-line); display: flex; align-items: center; }
.apartment_wrap p.address img { width: auto; height: 20px; margin-right: 10px; display: block; }

/* Base datas */
.apartment_wrap .base_datas_left { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 3px solid var(--color-sand-line); display: flex; }
.apartment_wrap .base_datas_left .data { flex-grow: 1; flex-basis: 0; }
.apartment_wrap .base_datas_left .data img { width: auto; height: 50px; margin-bottom: 10px; display: block; }
.apartment_wrap .base_datas_left .data strong { font-size: 14px; font-weight: 700; display: block; }

/* Equipments */
.apartment_wrap .equipments { margin-bottom: 30px; }
.apartment_wrap .equipments ul { margin-left: 0 !important; margin-bottom: 0 !important; display: flex; list-style: none; }
.apartment_wrap .equipments ul li { width: 25%; margin: 10px 0; display: flex; align-items: center; }
.apartment_wrap .equipments ul li:before { width: 24px; height: 24px; margin-right: 10px; color: white; background: var(--color-green); display: flex; align-items: center; justify-content: center; border-radius: 50%; content: '✔'; }

/* Gallery */
.apartment_wrap .gallery { margin-bottom: 30px; padding-top: 30px; border-top: 2px solid var(--color-sand-line); }
.apartment_wrap .gallery .gallery_wrap { margin-left: -10px; margin-right: -10px; display: flex; }
.apartment_wrap .gallery .gallery_wrap a { width: calc(33.3333333333% - 20px); margin: 20px 10px 0; border-radius: 3px; outline: 3px solid transparent; outline-offset: 2px; overflow: hidden; }
.apartment_wrap .gallery .gallery_wrap a:nth-child(-n+3) { margin-top: 0; }
.apartment_wrap .gallery .gallery_wrap a:hover { outline-color: var(--color-red); }
.apartment_wrap .gallery .gallery_wrap a img { width: 100%; height: auto; display: block; }

/* Brief information */
.apartment_wrap .brief_information { top: 120px; margin-bottom: 30px; padding: 20px; background: white; position: sticky; border-radius: 5px; box-shadow: 0 10px 20px rgba(0 0 0 / 10%); }
.apartment_wrap .brief_information .separation { margin: 20px 0; border-top: 1px solid var(--color-sand-line); display: none; }

.apartment_wrap .brief_information .marketing_text { margin-bottom: 20px; font-size: 14px; line-height: 22px; display: none; }

.apartment_wrap .brief_information .base_datas { height: 50px; margin-bottom: 20px; background: var(--color-sand); display: none; align-items: center; border-radius: 5px; }
.apartment_wrap .brief_information .base_datas .data { height: 30px; font-size: 16px; font-weight: 700; display: flex; align-items: center; align-content: center; justify-content: center; flex-grow: 1; flex-basis: 0; }
.apartment_wrap .brief_information .base_datas .data span { height: 30px; padding-left: 30px; background-repeat: no-repeat; background-position: left center; background-size: auto 20px; display: inline-flex; align-items: center; }
.apartment_wrap .brief_information .base_datas .data.capacity span { background-image: url(images/icon_avatar_red.svg); }
.apartment_wrap .brief_information .base_datas .data.bathroom span { background-image: url(images/icon_bathroom_red.svg); }
.apartment_wrap .brief_information .base_datas .data.beds span { background-image: url(images/icon_bed_red.svg); }
.apartment_wrap .brief_information .base_datas .data.bedrooms span { background-image: url(images/icon_door_red.svg); }

.apartment_wrap .brief_information .contact_person { line-height: 22px; }
.apartment_wrap .brief_information .contact_person .contact_person_intro { margin-bottom: 20px; }
.apartment_wrap .brief_information .contact_person .contact_person_intro small { font-size: 14px; font-weight: 700; }
.apartment_wrap .brief_information .contact_person .contact_person_photo_wrap { position: relative; }
.apartment_wrap .brief_information .contact_person .contact_person_photo_wrap img { width: 100%; height: auto; display: block; position: relative; z-index: 1; }
.apartment_wrap .brief_information .contact_person .contact_person_photo_wrap .name { width: max-content; left: 0; bottom: 0; padding: 10px; color: white; background: var(--color-dark); position: absolute; z-index: 2; }

.apartment_wrap .brief_information .contact_person .contact_person_action_button { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--color-sand-line); }
.apartment_wrap .brief_information .contact_person .contact_person_action_button .button { width: 100%; }

/* If sidebar is pinned */
.apartment_wrap .brief_information.not_pinned .separation, 
.apartment_wrap .brief_information.not_pinned .base_datas, 
.apartment_wrap .brief_information.not_pinned .marketing_text { display: flex; }


/*
--------------
	MAPBOX
--------------
*/
.marker { width: 50px; height: 50px; background: url(images/icon_marker_for_map.svg) no-repeat center; background-size: auto 100%; cursor: pointer; }
.mapboxgl-popup { max-width: 220px; }
.mapboxgl-popup-content { text-align: center; }
.mapboxgl-popup-content .property_name { margin-bottom: 10px; font-size: 18px; font-weight: 700; color: #202020; line-height: 20px; }

 
/*
----------------------
	BEFORE CONTENT
----------------------
*/
#before_content { height: 300px; margin: 20px 50px; background-repeat: no-repeat; background-position: center; background-size: cover; border-radius: 10px; overflow: hidden; }
#before_content .cover { height: 100%; background: rgba(44 41 56 / 50%); }
#before_content .inner { height: 100%; padding-bottom: 50px; display: flex; align-items: end; align-content: end; position: relative; }
#before_content .inner h1 { width: calc(100% - 300px); font-size: 50px; color: white; line-height: 100%; }
#before_content .inner .rank-math-breadcrumb { color: white; }
#before_content .inner .rank-math-breadcrumb a { color: white; }
#before_content .inner .rank-math-breadcrumb a:hover { text-decoration: underline; }

/* Breadcrumbs */
.rank-math-breadcrumb { width: 100%; margin-bottom: 10px; font-size: 14px; font-weight: 700; }
.rank-math-breadcrumb p { margin-bottom: 0 !important; }
.rank-math-breadcrumb a { font-weight: 400; text-decoration: underline; }
.rank-math-breadcrumb a:hover { text-decoration: none; }
.rank-math-breadcrumb .separator { margin: 0 10px; font-weight: 400; display: inline-block; }


/*
-----------------
	CONTENT
-----------------
*/
#container { padding-top: 100px; }
#container .container_wrap { display: flex; }

#content { padding: 50px 0; flex: 1; }

#content a { text-decoration: underline; color: var(--color-dark); }
#content a:hover { color: var(--color-red); }
#content p { margin-bottom: 20px; }
#content strong { color: var(--color-dark); }

#content h1 { margin-bottom: 30px; font-size: 50px; line-height: 100%; }
#content h2 { margin-bottom: 30px; font-size: 40px; line-height: 100%; }
#content h3 { margin-bottom: 20px; font-size: 25px; font-weight: 700; color: var(--color-red); line-height: 100%; }

.full #content { width: 100%; float: none; }
.full #content h1 { margin-bottom: 30px; font-size: 50px; color: var(--color-dark); }

/* List */
#content ul { margin-left: 30px; margin-bottom: 20px; }

/* Testimonials */
#content .testimonials_large { }
#content .testimonials_large .testimonials_header { min-height: 130px; margin-bottom: 30px; border-bottom: 4px double var(--color-sand-line); }
#content .testimonials_large .testimonials_header img { margin-right: 30px; padding: 3px; background: white; border: 1px solid var(--color-sand-line); display: block; float: left; }

#content .testimonials_large .comment_wrapper { width: 60%; margin-bottom: 30px; float: left; }
#content .testimonials_large .comment_wrapper:nth-child(2n) { float: right; }
#content .testimonials_large .comment_wrapper .comment { margin-bottom: 15px; padding: 20px; background: white; border: 1px solid var(--color-sand-line); font-family: 'Lora', Times New Roman, Times, 'Roboto'; font-size: 14px/17px; font-style: italic; color: var(--color-dark); position: relative; }
#content .testimonials_large .comment_wrapper .comment:after, #content .testimonials_large .comment_wrapper .comment:before { top: 100%; left: 30px; border: solid transparent; content: ''; height: 0; width: 0; position: absolute; pointer-events: none; }
#content .testimonials_large .comment_wrapper .comment:after { border-color: rgba(255,255,255,0); border-top-color: white; border-width: 10px; }
#content .testimonials_large .comment_wrapper .comment:before { border-color: rgba(255,255,255,0); border-top-color: var(--color-sand-line); border-width: 11px; margin-left: -1px; }
#content .testimonials_large .comment_wrapper .comment_author { font-weight: bold; color: var(--color-dark); }

/* Iframe wrapper */
#content .iframe_wrapper { height: 0; margin-bottom: 30px; padding-bottom: 56.25%; padding-top: 25px; position: relative; }
#content .iframe_wrapper iframe { width: 100%; height: 100%; left: 0; top: 0; position: absolute; }

/* Map */
#map_canvas { width: 100%; height: 500px; margin-bottom: 50px; }

/* Contact person */
#content .a_contact .a_contact_entry { min-height: 210px; padding-left: 180px; }
#content .a_contact .a_contact_entry img { width: 150px; }
#content .a_contact .a_contact_entry h3 { font-size: 30px !important; }
#content .a_contact .a_contact_entry .button { height: 40px; padding: 0 20px; line-height: 40px; }

/* Big images */
#content ul.big_images { margin-left: 0 !important; display: flex; justify-content: space-between; list-style: none; }
#content ul.big_images li { width: calc(50% - 20px); margin-top: 40px; }
#content ul.big_images li:nth-child(-n+2) { margin-top: 0; }
#content ul.big_images li img { width: 100%; height: auto; display: block; }


/*
----------------
	CONTACT
----------------
*/
.contact_form { padding: 100px 0; background: var(--color-yellow); }

.contact_form a { font-weight: 700; text-decoration: underline; color: white; }
.contact_form a:hover { text-decoration: none; }

.contact_form h2 { margin-bottom: 30px; font-weight: 700; color: white; }
.contact_form .wpcf7 .wpcf7-response-output { max-width: 500px; margin: 20px auto 0 auto !important; padding: 10px; font-family: "Inter", serif; font-size: 15px; text-align: center; color: var(--color-red); background: white; border: none; display: block; }
.contact_form .wpcf7 .wpcf7-response-output.wpcf7-display-none { display: none; }


/*
---------------
	SIGHTS
---------------
*/
.sights .article_wrapper { margin-left: -20px; margin-right: -20px; font-size: 0; }
.sights article { width: 33.3333333333%; padding-left: 20px; padding-right: 20px; vertical-align: top; display: inline-block; }
.sights article a.thumbnail { display: block; position: relative; }
.sights article a.thumbnail img { width: 100%; height: auto; display: block; position: relative; z-index: 1; }
.sights article a.thumbnail .border { left: 20px; top: 20px; right: 20px; bottom: 20px; border: 2px solid var(--color-yellow); position: absolute; z-index: 2; }
.sights article a.thumbnail:hover .border { left: 15px; top: 15px; right: 15px; bottom: 15px; }
.sights article .entry { padding: 20px; }
.sights article .entry h2 { margin-bottom: 20px; }
.sights article .entry h2 a { font-size: 24px; text-decoration: none !important; color: var(--color-dark); line-height: 1; }
.sights article .entry h2 a:hover { color: var(--color-red); }
.sights article .entry .excerpt { font-size: 17px; color: #858585; line-height: 25px; }
.sights article .entry .button_arrow { margin-top: 50px; }


/*
---------------
	REVIEWS
---------------
*/
#content .reviews_wrapper { font-size: 0; column-count: 3; column-gap: 50px; column-fill: initial; }
#content .reviews_wrapper .review { margin-bottom: 30px; vertical-align: top; display: inline-block; position: relative; }
#content .reviews_wrapper .review .review_entry { margin-bottom: 30px; padding: 100px 30px 30px; background: white; -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.2); -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.2); box-shadow: 0 1px 2px rgba(0,0,0,0.2); }
#content .reviews_wrapper .review .symbol { width: 50px; height: 50px; left: 30px; top: 30px; background: url(images/icon_quote.svg) no-repeat center; background-size: auto 100%; position: absolute; }
#content .reviews_wrapper .review .text { font-size: 16px; font-style: italic; line-height: 30px; }
#content .reviews_wrapper .review .date { margin-top: 10px; padding: 5px; font-size: 13px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }

#content .reviews_wrapper .review .review_bottom { height: 60px; font-size: 0; line-height: 20px; position: relative; }
#content .reviews_wrapper .review .thumbnail { width: 60px; height: 60px; left: 20px; top: 0; position: absolute; }
#content .reviews_wrapper .review .thumbnail img { width: 100%; height: auto; display: block; }
#content .reviews_wrapper .review .name { width: calc(100% - 100px); height: 100%; left: 100px; top: 0; font-size: 18px; position: absolute; }
#content .reviews_wrapper .review .source { font-size: 14px; }


/*
------------------
	MANAGEMENT
------------------
*/
#content .managements_wrapper { padding-bottom: 100px; font-size: 0; }
#content .managements_wrapper .management { width: 25%; margin: 40px 0; padding: 0 20px; font-size: 18px; vertical-align: top; display: inline-block; }
#content .managements_wrapper .management .icon { width: 120px; height: 120px; margin: 0 auto 30px; background-repeat: no-repeat; background-position: center; background-size: auto 100%; display: block; }
#content .managements_wrapper .management .management_subtitle { font-size: 14px; }


/*
----------------
	PACKAGES
----------------
*/
.packages_wrapper { margin-bottom: 50px; margin-left: -20px; margin-right: -20px; display: flex; }
.packages_wrapper .package { width: calc(33.3333333333% - 40px); top: 0; margin: 50px 20px 0; padding: 50px 20px 70px; background: white; position: relative; border-radius: 5px; box-shadow: 0 10px 20px rgba(0 0 0 / 10%); }
.packages_wrapper .package:nth-child(-n+3) { margin-top: 0; }
.packages_wrapper .package:hover { top: -10px; box-shadow: 0 20px 30px rgba(0 0 0 / 10%); }
.packages_wrapper .package:after { height: 10px; left: 10%; right: 10%; bottom: 0; background: var(--color-yellow); position: absolute; content: ''; }

.packages_wrapper .package .package_title { margin-bottom: 20px; font-size: 40px; font-weight: 700; color: var(--color-red); line-height: 100%; }

.packages_wrapper .package .package_price { margin-bottom: 30px; font-size: 40px; font-weight: 700; color: var(--color-dark); line-height: 1; }
.packages_wrapper .package .package_price .additional_text { margin-top: 10px; font-size: 14px; font-weight: 400; display: block; }

.packages_wrapper .package .package_content { font-size: 16px; line-height: 25px; }

.packages_wrapper .package .action_button { width: 100%; left: 0; bottom: 30px; position: absolute; }
.packages_wrapper .package .action_button a:hover { background-color: var(--color-red); }


/*
----------------
	SERVICES
----------------
*/
#services { margin: 50px 0; padding-top: 50px; border-top: 1px solid var(--color-sand-line); }

.services_wrap { display: flex; }
.services_wrap .service { width: 33.3333333333%; padding: 30px; display: flex; align-items: start; align-content: start; justify-content: center; position: relative; border-radius: 5px; }
.services_wrap .service:nth-child(-n+3) { margin-top: 0; }
.services_wrap .service:hover { background: white; box-shadow: 0 10px 20px rgba(0 0 0 / 10%); }
.services_wrap .service img { width: 70px; height: auto; margin: 0 auto 20px; display: block; }

.services_wrap .service .service_title { width: 100%; margin-bottom: 5px; font-size: 25px; font-weight: 700; color: var(--color-dark); line-height: 100%; }
.services_wrap .service .service_subtitle { width: 100%; margin-bottom: 10px; font-size: 14px; font-weight: 400; color: var(--color-dark); line-height: 100%; }

.services_wrap .service .service_content { font-size: 15px; color: var(--color-dark); line-height: 25px; }

/* If template is: has services */
body.page-template-has-services .services_wrap .service { width: 50%; }
body.page-template-has-services .services_wrap .service:nth-child(3) { margin-top: 50px; }
body.page-template-has-services .services_wrap .service:nth-child(-n+2) { margin-top: 0; }


/*
----------------
	SIDEBAR
----------------
*/
#sidebar { width: 300px; padding-top: 30px; float: right; }
body.archive #sidebar { padding-top: 0; }

/* Contact */
.a_contact { margin-bottom: 20px; padding: 20px; background: var(--color-yellow); position: relative; }
.a_contact .a_contact_border { left: 10px; top: 10px; right: 10px; bottom: 10px; padding: 10px; border: 2px solid white; position: absolute; }
.a_contact .a_contact_header { padding-bottom: 10px; font-size: 13px; text-align: center; color: var(--color-dark); border-bottom: 1px dotted white; }
.a_contact .a_contact_entry { min-height: 170px; padding-left: 130px; padding-top: 20px; position: relative; }
.a_contact .a_contact_entry img { width: 100px; height: auto; left: 10px; top: 20px; border: 5px solid rgba(0,0,0,0.2); position: absolute; }
.a_contact .a_contact_entry h3 { margin-bottom: 10px; font-size: 30px; color: var(--color-dark) !important; }
.a_contact .a_contact_entry .button { height: auto; padding: 5px 10px; line-height: 14px; }

#sidebar.a_sidebar .a_contact { margin-top: -60px; }

/* Booking */
#sidebar .booking { padding: 20px; }
#sidebar .booking fieldset { margin-bottom: 10px; }
#sidebar .booking fieldset input[type=text] { width: 100%; }
#sidebar .booking .sep { display: none; }
#sidebar .booking .calendar { margin-right: 0; display: block; }
#sidebar .booking .button_40 { margin-top: -3px; letter-spacing: 1px; }

#sidebar .widget_booking div { width: 100% !important; display: block !important; }
#sidebar .widget_booking input[type=button] { width: 100%; height: 50px; }

/* Testimonials */
#sidebar .testimonials { background: white; clear: both; }
#sidebar .testimonials h3 { padding: 10px 0 10px 25px; font-size: 25px; color: var(--color-dark); position: relative; }
#sidebar .testimonials h3:before { width: 2px; height: 100%; left: 0; top: 0; background: var(--color-yellow); position: absolute; content: ''; }
#sidebar .testimonials .entry { padding: 10px 25px 20px 25px; font-size: 16px; line-height: 20px; }
#sidebar .testimonials .entry p { margin-bottom: 20px; }


/*
----------------
	PARTNERS
----------------
*/
#partners { padding-top: 30px; padding-bottom: 30px; font-size: 0; text-align: center; border-top: 4px double var(--color-sand-line); }
#partners img { width: auto; max-width: 180px; height: auto; max-height: 70px; margin: 0 20px; vertical-align: middle; display: inline-block; }

.partners { padding-top: 30px; padding-bottom: 30px; font-size: 0; text-align: center; border-top: 4px double var(--color-sand-line); }
.partners img { width: auto; height: 100px; margin: 0 20px; display: inline-block; }


/*
------------------
	NEWSLETTER
------------------
*/
#newsletter { background: var(--color-sand); display: flex; }
#newsletter .inner { padding-top: 50px; padding-bottom: 50px; }
#newsletter .section_title { margin-bottom: 30px; font-size: 40px; line-height: 100%; }
#newsletter p { margin-bottom: 20px; font-size: 16px; line-height: 25px; }

#newsletter .wrap_left { width: 50%; padding-top: 50px; padding-right: 50px; padding-bottom: 50px; padding-left: calc((100% - 1280px) /2); }
#newsletter .wrap_right { width: 50%; background-repeat: no-repeat; background-position: center; background-size: cover; }

.mailpoet_form { padding: 0 !important; display: flex; justify-content: space-between; }
.mailpoet_form a { font-weight: 700; text-decoration: underline; color: var(--color-dark); }
.mailpoet_form a:hover { text-decoration: none; }

.mailpoet_form .mailpoet_paragraph.lastname { width: calc(50% - 10px); }
.mailpoet_form .mailpoet_paragraph.firstname { width: calc(50% - 10px); }
.mailpoet_form .mailpoet_paragraph.email { width: 100%; }
.mailpoet_form .mailpoet_paragraph.privacy_policy { width: 100%; }
.mailpoet_form .mailpoet_paragraph.submit { width: 100%; }

.mailpoet_form .mailpoet_paragraph label { margin-bottom: 5px; font-size: 14px; font-weight: 700 !important; line-height: 20px; display: block; }
.mailpoet_form .mailpoet_paragraph input[type=text], 
.mailpoet_form .mailpoet_paragraph input[type=email] { width: 100%; height: 50px; padding: 0 10px !important; border: 1px solid var(--color-sand-line); outline: 2px solid transparent; outline-offset: 2px; border-radius: 3px; flex: 1; }
.mailpoet_form .mailpoet_paragraph input[type=text]:focus, 
.mailpoet_form .mailpoet_paragraph input[type=email]:focus { outline-color: var(--color-sand-line); }

.mailpoet_form .mailpoet_paragraph input[type=text].parsley-error, 
.mailpoet_form .mailpoet_paragraph input[type=email].parsley-error { color: var(--color-red) !important; background: var(--color-red-light); border-color: var(--color-red) !important; outline-color: var(--color-red) !important; }

.mailpoet_form .mailpoet_paragraph.submit input[type=submit] { background-color: var(--color-yellow) !important; }
.mailpoet_form .mailpoet_paragraph.submit input[type=submit]:hover { background-color: var(--color-dark) !important; }

/* MailPoet manage subscription */
.mailpoet-manage-subscription p { width: 100% !important; }
.mailpoet-manage-subscription .mailpoet_paragraph { width: 100%; margin-bottom: 20px; }

.mailpoet-manage-subscription .mailpoet_paragraph label { margin-bottom: 5px; font-size: 14px; font-weight: 700 !important; line-height: 20px; display: block; }

.mailpoet-manage-subscription .mailpoet_paragraph select, 
.mailpoet-manage-subscription .mailpoet_paragraph input[type=text], 
.mailpoet-manage-subscription .mailpoet_paragraph input[type=email] { width: 100%; height: 50px; padding: 0 10px !important; border: 1px solid var(--color-sand-line); outline: 2px solid transparent; outline-offset: 2px; border-radius: 3px; flex: 1; }

.mailpoet-manage-subscription .mailpoet_paragraph select:focus, 
.mailpoet-manage-subscription .mailpoet_paragraph input[type=text]:focus, 
.mailpoet-manage-subscription .mailpoet_paragraph input[type=email]:focus { outline-color: var(--color-sand-line); }


/*
---------------
	FOOTER
---------------
*/
#footer { color: var(--color-footer-text); background: var(--color-dark); }

/* Footer top */
#footer .footer_top { padding: 50px 0; font-size: 24px; color: var(--color-footer-text); }
#footer .footer_top a { text-decoration: underline; color: white; }
#footer .footer_top a:hover { text-decoration: none; }
#footer .footer_top span { color: white; }

/* Footer center */
#footer .footer_center { padding: 50px 0; font-size: 16px; border-top: 1px solid rgba(255 255 255 / 20%); border-bottom: 1px solid rgba(255 255 255 / 20%); display: flex; }
#footer .footer_center .wrap_left { width: 33.3333333333%; text-align: center; }
#footer .footer_center a { text-decoration: none; color: white; }
#footer .footer_center a:hover { text-decoration: underline; }
#footer .footer_center h3 { margin-bottom: 20px; font-size: 18px; font-weight: 700; color: var(--color-footer-text); }
#footer .footer_center ul { list-style: none; }

/* Footer bottom */
#footer .footer_bottom { padding: 30px 0; font-size: 15px; line-height: 20px; }
#footer .footer_bottom a { color: white; }


/*
--------------
	FORM
--------------
*/
.form-row { margin-bottom: 10px !important; }
.form-row.form-row-first { width: calc(50% - 10px); float: left; }
.form-row.form-row-last { width: calc(50% - 10px); float: right; }
.form-row.form-row-wide { width: 100%; float: none; clear: both; }

.form-row br { display: none !important; }
.form-row label { margin-bottom: 10px; font-size: 16px; color: white; display: block; }

.form-row textarea,
.form-row input[type=tel],
.form-row input[type=text],
.form-row input[type=email],
.form-row input[type=password] { width: 100%; height: 50px; padding-left: 10px; background: transparent; border: 1px solid rgba(255 255 255 / 40%); outline: 2px solid transparent; outline-offset: 2px; border-radius: 3px; }

.form-row textarea:focus,
.form-row input[type=tel]:focus,
.form-row input[type=text]:focus,
.form-row input[type=email]:focus,
.form-row input[type=password]:focus { background: white; border-color: white; outline-color: rgba(255 255 255 / 40%); }

.form-row textarea { height: 150px; padding: 15px; }


/*
-------------------
	RWD DESIGN
-------------------
*/
@media only screen and (max-width: 1440px) {

	/* HEADER */
	#header .header_wrap { padding: 0 20px; }
	
	/* HEADER: Menu */
	#header ul.menu li { margin-right: 10px; }
	
	/* THE APARTMENT */
	.apartment_hero { height: 400px; margin: 20px; }
	.apartment_hero .cover { padding: 0 20px; }

	/* BEFORE CONTENT */
	#before_content { margin: 20px; }
	#before_content .cover { padding: 0 20px; }
}

@media only screen and (max-width: 1280px) {

	/* DISPLAY: None */
	.hide_in_1280 { display: none !important; }
	
	/* DISPLAY: Block */
	.show_in_1280 { display: block !important; }
	
	/* DEFAULT */
	.p_l_20 { padding-left: 20px; }
	.p_r_20 { padding-right: 20px; }
	
	/* RWD NAV */
	#rwd_nav { top: 80px; }
	
	/* HEADER */
	#header { height: 80px; }
	
	/* SLIDER */
	#slider .item .entry { padding-left: 30px; }
	#slider .item .entry h2 { font-size: 60px; }
	
	/* APARTMENT CATEGORIES */
	#apartment_categories .categories_wrap .category { width: calc(33.3333333333% - 20px); }
	#apartment_categories .categories_wrap .category:nth-child(4) { margin-top: 20px; }
	
	/* APARTMENTS */
	.apartments_wrap { margin-left: -10px; margin-right: -10px; }
	.apartments_wrap .apartment { width: calc(33.3333333333% - 20px); margin: 50px 10px 0; }
	
	/* THE APARTMENT */
	.apartment_hero .inner h1 { font-size: 40px; }
	
	/* THE APARTMENT: Apartment wrap */
	.apartment_wrap .wrap_left { order: 2; }
	.apartment_wrap .wrap_right { width: 100%; margin-left: 0; order: 1; }
	
	/* THE APARTMENT: Brief information */
	.apartment_wrap .brief_information { display: flex; }
	.apartment_wrap .brief_information .marketing_text { width: 100%; }
	.apartment_wrap .brief_information .base_datas { width: 50%; }
	.apartment_wrap .brief_information .contact_person .contact_person_photo_wrap { width: 300px; }

	
	/* CONTENT */
	#container { padding-top: 80px; }
	#content { width: 100%; float: none; }
	
	/* REVIEWS */
	#content .reviews_wrapper { column-gap: 30px; }
	
	/* MANAGEMENT */
	#content .managements_wrapper .management { width: 33.3333333333%; }

	/* SIDEBAR */
	#sidebar { width: 100%; float: none; }
	
	/* PACKAGES */
	.packages_wrapper .package .wrapper { padding: 20px 20px 70px; }
	.packages_wrapper .package .wrapper .package_title { font-size: 40px; }
	
	/* SIDEBAR: Contact */
	.a_contact { width: 300px; float: left; }
	#sidebar.a_sidebar .a_contact { margin-top: 0; }
	#content .a_contact { width: 100%; float: none; }
	#content .a_contact .a_contact_entry .button { height: auto; padding: 12px 20px; line-height: 14px; }
	
	/* SIDEBAR: Booking */
	#sidebar .booking { width: calc(100% - 300px); float: left; }
	#sidebar .booking fieldset input[type=text] { width: 100%; }
	
	/* NEWSLETTER */
	#newsletter .wrap_left { padding-left: 20px; }
}

@media only screen and (max-width: 960px) {
	
	/* DISPLAY: None */
	.hide_in_960 { display: none !important; }
	
	/* DISPLAY: Block */
	.show_in_960 { display: block !important; }
	
	/* HEADER: Language switcher */
	#header ul.switcher-dropdown { display: none; }
	
	/* FRONTPAGE: Slider */
	#slider .item .inner h1, 
	#slider .item .entry h2 { font-size: 50px; }
	
	/* APARTMEN CATEGORIES */
	#apartment_categories { padding: 30px 0; }
	#apartment_categories .section_title { font-size: 40px; margin-bottom: 30px; }
	#apartment_categories .categories_wrap .category { width: calc(50% - 20px); }
	#apartment_categories .categories_wrap .category:nth-child(3) { margin-top: 20px; }
	#apartment_categories .categories_wrap .category .wrapper { height: auto; }
	#apartment_categories .categories_wrap .category .wrapper:before { padding-top: 60%; display: block; content: ''; }
	
	/* FRONTPAGE MAP */
	#frontpage_map .section_title { font-size: 40px; margin-bottom: 30px; }
	
	/* OFFERS */
	#offers { padding: 30px 0; }
	#offers .section_title { font-size: 40px; margin-bottom: 30px; }
	
	.offers_wrap .offer { padding-left: 15px; padding-right: 15px; }
	.offers_wrap .offer .entry h2 a { font-size: 20px; }
	
	/* APARTMENTS */
	.apartments_wrap { margin-left: -10px; margin-right: -10px; }
	.apartments_wrap .apartment { width: calc(50% - 20px); margin: 50px 10px 0; }
	.apartments_wrap .apartment:nth-child(3) { margin-top: 50px; }
	
	/* THE APARTMENT */
	.apartment_hero { height: 350px; }
	.apartment_hero .inner { padding-bottom: 30px; }
	.apartment_hero .inner h1 { width: 100%; font-size: 30px; }
	.apartment_hero .inner .button { right: auto; bottom: auto; margin-top: 20px; position: relative; }
	
	/* THE APARTMENT: Equipments */
	.apartment_wrap .equipments ul li { width: 33.3333333333%; }

	/* CONTENT */
	#content { padding: 30px 0; }
	
	/* CONTENT: Testimonials */
	#content .testimonials_large .comment_wrapper { width: 80%; }
	
	/* REVIEWS */
	#content .reviews_wrapper { column-count: 2; }

	.packages_wrapper { margin-left: 0; margin-right: 0; }
	.packages_wrapper .package { width: 100%; max-width: 400px; margin-top: 30px; margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; display: block; }
	.packages_wrapper .package:nth-child(-n+3) { margin-top: 30px; }
	.packages_wrapper .package:nth-child(1) { margin-top: 0; }
	
	/* SERVICES */
	.services_wrap .service { width: 50%; margin-top: 30px; }
	.services_wrap .service:nth-child(-n+3) { margin-top: 30px; }
	.services_wrap .service:nth-child(-n+2) { margin-top: 0; }
	
	/* CONTENT: Big images */
	#content ul.big_images li { width: 100%; margin-top: 20px; }
	#content ul.big_images li:nth-child(2) { margin-top: 20px; }
	
	/* MAP */
	#map_canvas { height: 400px; margin-bottom: 30px; }
	
	/* NEWSLETTER */
	#newsletter .wrap_left { width: 100%; padding-right: 20px; }
	#newsletter .wrap_right { width: 100%; }
	#newsletter .wrap_right:before { padding-top: 50%; display: block; content: ''; }
	
	/* FOOTER: Footer bottom */
	#footer .footer_bottom { text-align: center; } 
	#footer .footer_bottom .left, 
	#footer .footer_bottom .right { float: none; }
	#footer .footer_bottom .rights { display: block; }
}

@media only screen and (max-width: 768px) {
	
	/* DISPLAY: None */
	.hide_in_768, 
	#scrollUp { display: none !important; }
	
	/* FRONTPAGE: Slider */
	#slider_wrapper .slider-nav { left: 0; right: 0; bottom: 20px; padding-bottom: 0; text-align: center; }
	#slider_wrapper .slider-nav:before { display: none; }
	#slider_wrapper .slider-nav .slick-track { width: 100% !important; }
	#slider_wrapper .slider-nav .slick-slide { width: 20px !important; height: 20px; margin: 0 5px; padding: 0; font-size: 0; text-indent: -9999px; background: var(--color-yellow); border: none; display: inline-block; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
	#slider_wrapper .slider-nav .slick-slide.item.slick-current { background: white; border-right-color: transparent; }

	#slider .item .entry { padding-right: 30px; text-align: center; }
	#slider .item .inner h1, 
	#slider .item .entry h2 { width: 100%; font-size: 6vw; }
	#slider .item .entry .content { width: 100%; line-height: 25px; }

	#slider .item .entry .button_arrow { margin-top: 30px; }
	
	/* FRONTPAGE: Booking */
	#frontpage_booking_wrapper { height: auto; margin-bottom: 30px; }
	#frontpage_booking_wrapper .booking { padding: 10px 30px; }
	#frontpage_booking_wrapper .booking .sep { width: 10%; margin-right: 0; }
	#frontpage_booking_wrapper .booking .sep:before { width: 50%; left: 25%; }
	#frontpage_booking_wrapper .booking fieldset { margin-right: 0; margin-bottom: 10px; }
	#frontpage_booking_wrapper .booking fieldset.calendar { width: 45%; }
	#frontpage_booking_wrapper .booking .button { margin-left: 20px; }
	
	/* FRONTPAGE: Offers */
	.offers_wrap .offer { width: 50%; }
	.offers_wrap .offer:last-child { display: none; }
	.offers_wrap .offer .entry h2 a { font-size: 25px; }
	
	/* THE APARTMENT: Equipments */
	.apartment_wrap .equipments ul li { width: 50%; }
	
	/* CONTENT: Testimonials */
	#content .testimonials_large .comment_wrapper { width: 100%; float: none; }
	#content .testimonials_large .comment_wrapper:nth-child(2n) { float: none; }
	
	/* MANAGEMENT */
	#content .managements_wrapper { padding-bottom: 50px; }
	#content .managements_wrapper .management { width: 50%; }
	
	/* SERVICES */
	.services_wrap { margin-left: 0; margin-right: 0; }
	.services_wrap .service { width: 100%; max-width: 400px; margin-top: 40px !important; margin-left: auto; margin-right: auto; padding-right: 0; display: block; }
	.services_wrap .service:nth-child(1) { margin-top: 0 !important; }
	
	/* SERVICES: If template is: has services */
	body.page-template-has-services .services_wrap .service { width: 100%; }
	
	/* SIDEBAR: Contact */
	.a_contact { width: 100%; float: none; }
	.a_contact .a_contact_entry { min-height: 150px; padding-left: 130px; padding-top: 35px; }
	.a_contact .a_contact_entry img { width: 100px; }
	
	/* SIDEBAR: Booking */
	#sidebar .booking { width: 100%; float: none; }
	
	/* FOOTER: Footer center */
	#footer .footer_center { padding: 30px 0; }
	#footer .footer_center .wrap_left { width: 100%; margin-bottom: 50px; }
	#footer .footer_center .wrap_left.last { margin-bottom: 0; }
}

@media only screen and (max-width: 640px) {
	
	/* DISPLAY: None */
	.hide_in_640 { display: none; }
	
	/* HEADER */
	#header { width: 100%; position: fixed; z-index: 100; }
	
	/* HEADER: RWD button */
	.rwd_button { padding-left: 0; border-left: none; }
	
	/* FRONTPAGE */
	#frontpage { padding-top: 80px; }
	
	/* FRONTPAGE: Slider */
	#slider_wrapper { height: 60vh; }
	#slider .item .entry .content { font-size: 14px; }
	
	/* APARTMENT CATEGORIES */
	#apartment_categories .categories_wrap .category h3 { padding: 20px 0; }
	
	/* FRONTPAGE: Offers */
	.offers .article_wrapper { margin-left: 0; margin-right: 0; }
	.offers_wrap .offer { width: 100%; margin-bottom: 30px; padding-left: 0; padding-right: 0; display: block; }
	
	/* APARTMENTS */
	.apartments_wrap { margin-left: 0; margin-right: 0; }
	.apartments_wrap .apartment { width: 100%; margin: 50px 0 0; }
	.apartments_wrap .apartment:nth-child(2) { margin-top: 50px; }
	
	/* THE APARTMENT */
	.apartment_hero { height: 300px; }
	
	/* THE APARTMENT: Password Protected */
	.apartment_wrap .password_protected_part .pp_form input { width: 100%; margin-right: 0; margin-bottom: 10px; }
	.apartment_wrap .password_protected_part .pp_form .button { width: 100%; }
	
	/* THE APARTMENT: Gallery */
	.apartment_wrap .gallery .gallery_wrap a { width: calc(50% - 20px); }
	.apartment_wrap .gallery .gallery_wrap a:nth-child(3) { margin-top: 20px; }
	
	/* SIGHTS */
	.sights article { width: 50%; }
	
	/* FORM */
	.form-row.form-row-first, 
	.form-row.form-row-last { width: 100%; float: none; }
	
	/* NEWSLETTER */
	.mailpoet_form .mailpoet_paragraph.lastname { width: 100%; }
	.mailpoet_form .mailpoet_paragraph.firstname { width: 100%; }
}

@media only screen and (max-width: 480px) { 

	/* NAVIGATION */
	#rwd_menu .rwd_menu_wrap { width: calc(100% - 20px); padding: 30px; } 
	
	/* HEADER: Logo */
	#header .logo { height: 15px; }
	
	/* HEADER: Language chooser */
	#header .language_chooser_wrapper select { width: 80px !important; }
	
	/* FRONTPAGE: Slider */
	#slider .item .inner h1, 
	#slider .item .entry h2 { font-size: 8vw; }
	
	/* APARTMENT CATEGORIES */
	#apartment_categories .categories_wrap { margin-left: 0; margin-right: 0; }
	#apartment_categories .categories_wrap .category { width: 100%; margin: 20px 0 0; }
	#apartment_categories .categories_wrap .category:nth-child(2) { margin-top: 20px; }
	
	/* THE APARTMENT: Equipments */
	.apartment_wrap .equipments ul li { font-size: 14px; }
	
	/* SIGHTS */
	.sights .article_wrapper { margin-left: 0; margin-right: 0; }
	.sights article { width: 100%; padding-left: 0; padding-right: 0; display: block; }
	
	/* BEFORE CONTENT */
	.rank-math-breadcrumb { display: none !important; }
	
	/* REVIEWS */
	#content .reviews_wrapper { column-count: 1; }
	
	/* MANAGEMENT */
	#content .managements_wrapper .management { width: 100%; max-width: 400px; margin: 20px auto; padding: 0; display: block; }
	
	.packages_wrapper .package .wrapper .package_title { font-size: 9vw; }
	.packages_wrapper .package .wrapper .package_price { font-size: 26px; }
	
	/* PARTNERS */
	#partners img { margin: 20px auto; display: block; }
	
	/* SIDEBAR: Contact */
	.a_contact .a_contact_entry { min-height: 150px !important; padding-left: 130px !important; padding-top: 30px !important; }
	.a_contact .a_contact_entry h3 { font-size: 25px !important; }
	.a_contact .a_contact_entry img { width: 100px !important; }
	#content .a_contact .a_contact_entry h3 { font-size: 25px !important; }
	
	/* FOOTER: Footer top */
	#footer .footer_top span { display: block; }
}
