/*
Theme Name: 20 South Clark Theme
Description: Custom designed theme specially for 120 South Clark for Ravelin
Version: 0.9
Author: Rob Williams, DevUp Inc <hello@devup.ca>
Tags: custom template
*/

/* Default Styles */

:root {
	--container-width: 1024px;
}

html, body {
    width:                  100%;
    font-family:            'Roboto', 'Arial', sans-serif;
    line-height:            1.4em;
    background:             #f8f8f8;
}
body { height: 100%; }

p { padding: 0 0 1em 0; }
.bold { font-weight: bold; }
.italic { font-style: italic; }
.textleft { text-align: left; }
.textcenter { text-align: center; }
.textright { text-align: right; }
.clear { clear: both; }
.floatleft { float: left; }
.floatright { float: right; }

img.centered {
	display: block;
	margin: 0 auto;
}

img.alignright {
	padding: 4px;
	margin: 0 0 1em 1em;
	display: inline;
}

img.alignleft {
	display: inline;
}

img.aligncenter {
    display: block;
}

.alignright { float: right; }
.alignleft { float: left; }
.aligncenter { margin: 0 auto; }


/* Basic styles */

a { text-decoration: none; color: #37a2d3; font-weight: 800; transition: 0.5s all; }
a:hover { color: blue; }

h1 { font-size: 3rem; line-height: 1.25em; margin-bottom: 0.25em; font-weight: normal; font-family: 'Oswald', sans-serif; }
h2 { font-size: 2rem; color: #40c28a; margin-bottom: 2rem !important; font-weight: normal; font-family: 'Karla', sans-serif; text-align: center; }
h3 { font-size: 1.25em; margin-bottom: 1rem; font-weight: normal; }
h4 {}

.margin_top { margin-top: 2rem !important; }
.margin_bottom { margin-bottom: 2rem !important; }
.large_margin_top { margin-top: 5rem !important; }
.large_margin_bottom { margin-bottom: 5rem !important; }
.large_padding_bottom { padding-bottom: 5rem !important; }

header { position: fixed; top: 0; left: 0; width: 100%; z-index: 210; height: 100px; background: white; border-bottom: 1px #eee solid; }
.logged-in header { top: 31px; }

footer { background: #40c28a; background: linear-gradient(90deg,#40c28a 0%,#2594c2 100%); }
.footer_bar { list-style: none outside; width: 95%; max-width: var(--container-width); margin: 0 auto; padding: 3rem 0; }
.footer_bar h3 { text-decoration: underline; }
.footer_bar a { color: black; font-weight: normal; }

main { margin-top: 100px; /* <-- this should match the header height */  padding: 3rem 0; }
.home main { padding: 0; }
main > *:not(.wp-block-cover):not(.fullwidth) { width: 95%; max-width: var(--container-width); margin: 0 auto; }
main img { width: 100%; height: auto; }
main p { text-align: center; line-height: 1.5em; }
main p + .wp-block-image { margin-top: 2rem !important; }

.page-id-11 main, .page-id-15 main { background: url(/wp-content/uploads/2025/05/tall_bg.jpg) no-repeat; background-size: cover; }

main ul { list-style: disc outside; padding-left: 2rem; }
main ul li { margin-bottom: 1rem; }

.header_bar { list-style: none outside; width: 95%; height: 100px; margin: 0 auto; line-height: 100px; /* this should match the header height */ }
.header_bar > li, .header_bar > li > div { height: 100px; }
.header_bar > li, .header_bar > li > div > div:first-child { flex-basis: 40% !important; }
.header_bar > li, .header_bar > li > div > div:last-child { flex-basis: 60% !important; }
.header_bar ul { list-style: none outside; text-align: right; }
.header_bar ul li { display: inline-block; margin-left: 2rem; }
.header_bar ul li a { font-family: 'Karla', sans-serif; font-weight: normal; color: #777; text-transform: uppercase; }
.header_bar ul li a:hover { color: black; }
.header_bar ul li.current-menu-item a { color: black; }
.header_bar h2 { text-align: left; }
.header_bar h2 a { color: black; font-size: 2rem; font-family: 'Oswald', sans-serif; font-weight: normal; }
.header_bar h2 a:hover { color: #777; }

.wp-block-cover { margin-bottom: 3rem; }

iframe { width: 100%; height: 750px; margin: 2rem auto !important; display: block; }
hr { margin: 4rem auto !important; color: #777; }

.wp-block-gallery { margin-bottom: 2rem !important; }

.ravelin_button a { background: black; color: white; text-transform: uppercase; font-weight: normal; font-family: "Karla", sans-serif; display: inline-block; padding: 0.5rem 2rem; }
.ravelin_button a:hover { background: #777; }

table { border-collapse: collapse; border-spacing: 0; margin-bottom: 2rem !important; }
table th { border: none !important; border-bottom: 2px #ddd solid !important; padding: 1rem 0 !important; background: #eee; }
table td { border: 2px #ddd solid !important; border-left: 0 !important; border-right: 0 !important; padding: 1rem 0 !important; }
table tr:first-child td { border-top: 0 !important; }
table a { color: black; text-decoration: underline; font-weight: normal; }

.wp-block-gutena-accordion h3, .wp-block-gutena-accordion p { text-align: left !important; }

.available_suites_building_container { width: 100%; padding: 5rem 10rem; background: #444; position: relative; }
.available_suites_building { width: 40%; min-width: 500px; margin: 0 auto; border-collapse: collapse; border: 1px white solid; }
.available_suites_building td {
	height: 33px; border: 1px white solid; text-align: center; position: relative; padding: 0 0 0 30px !important;
	background-image: linear-gradient(90deg, #444444 48%, #777777 48%, #777777 50%, #444444 50%, #444444 98%, #777777 98%, #777777 100%);
	background-size: 250.00px 250.00px;
}
.available_suites_building td span { height: 32px; padding-top: 3px; line-height: 16px; font-size: 18px; margin: 0 2px; color: white; font-weight: bold; display: inline-block; background: rgba(68,68,68,0.7); transition: 0.5s all; position: relative; z-index: 200; }
.available_suites_building td span sub { display: block; font-size: 12px; font-weight: normal; }
.available_suites_building td span.floor_number { background: #ccc; color: black; width: 30px; height: 15px; font-size: 15px; font-weight: bold; position: absolute; top: 0; left: -2px; }
.available_suites_building td span:has(a):hover { background: linear-gradient(145deg,rgba(45, 113, 139, 1) 0%, rgba(66, 141, 112, 1) 100%);; color: black; cursor: pointer; }
.available_suites_building td a { text-decoration: none; color: white; font-weight: bold; transition: 0.5s all; display: block; }

.available_suites_building td.floor_12, .available_suites_building td.floor_31 { background-image: linear-gradient(90deg, #dddddd 8.33%, #444444 8.33%, #444444 50%, #dddddd 50%, #dddddd 58.33%, #444444 58.33%, #444444 100%); background-size: 24.00px 24.00px; }
.available_suites_building td.floor_31 .floor_number { display: none; }

.available_suites_building td.floor_1 { height: 80px; }

.available_suites_table { margin-top: 3rem !important;}
.available_suites_table td { text-align: center; }

.mobile_menu_icon { display: none; }

@media screen and ( max-width: 1279px ) {
	.available_suites_building_container { padding: 5rem 0; }
}

@media screen and ( max-width: 1023px ) {
	header { height: 70px; }
	main { margin-top: 70px; }
	.header_bar { height: 70px; line-height: 70px; }
}

@media screen and ( max-width: 500px ) {
	.header_bar > li, .header_bar > li > div > div:first-child { flex-basis: 80% !important; }
	.header_bar > li, .header_bar > li > div > div:last-child { flex-basis: 20% !important; }
	.mobile_menu_icon { display: block; padding: 15px 0 0; text-align: right; }
	.mobile_menu_icon a { color: black; }
	.header_bar h2 { line-height: 80px; }
	.menu-navigation-menu-container { position: fixed; top: 70px; right: -81%; width: 80%; height: calc( 100vh - 70px ); background: white; border-left: 2px black solid; transition: 0.5s all; }
	.logged-in .menu-navigation-menu-container { top: 101px; height: calc( 100vh - 101px ); }
	.menu_visible .menu-navigation-menu-container { right: 0; }
	.header_bar ul li { display: block; text-align: right; padding: 2rem 2rem 0 0; }
	main > .wp-block-cover > .wp-block-cover__image-background { object-position: 60% 50% !important; }
	.available_suites_building_container { padding: 2rem 0; }
	.available_suites_building { width: 90%; min-width: auto; }
	.suite_footprint { width: 30% !important;}
}
