/* Base Styles */

//@import url('https://fonts.googleapis.com/css2?family=Nunito');


@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

.nunito-sans-loom_font {
  font-family: "Nunito Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100,
    "YTLC" 500;
}


/*comfortaa
*/
@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&display=swap');

.comfortaa-<uniquifier> {
  font-family: "Comfortaa", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/*quicksand */
@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Quicksand:wght@300..700&display=swap');

.quicksand-<uniquifier> {
  font-family: "Quicksand", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Quicksand:wght@300..700&display=swap');

.inter-<uniquifier> {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}


:root {
    --font_size_10: calc(0.416666667 * var(--font_size_24));
	--font_size_12: calc(0.5 * var(--font_size_24));
    --font_size_14: calc(0.583333333 * var(--font_size_24));
    --font_size_16: calc(0.66667 * var(--font_size_24));
	--font_size_18: calc(0.75 * var(--font_size_24));
    --font_size_20: calc(0.8333333333 * var(--font_size_24));
	--font_size_24: clamp(18px, 1.5vw, 36px);
	--font_size_32: calc(1.33334 * var(--font_size_24));
    --font_size_36: calc(1.5 * var(--font_size_24));
    --font_size_52: calc(2.166666667 * var(--font_size_24));

/*	--font_size_20: calc(0.8333334 * var(--font_size_24));  found on mobile sub(headers) */

    --mobile_font_size_10: calc(0.5555556 * var(--mobile_font_size_18));
	--mobile_font_size_12: calc(0.6666667 * var(--mobile_font_size_18));
	--mobile_font_size_14: calc(0.7777778 * var(--mobile_font_size_18));
	--mobile_font_size_16: calc(0.8888889 * var(--mobile_font_size_18));
    --mobile_font_size_18: 4.8vmin;
	--mobile_font_size_20: calc(1.1111112 * var(--mobile_font_size_18));
	--mobile_font_size_24: calc(1.3333333 * var(--mobile_font_size_18));
    --mobile_font_size_30: calc(1.6666667 * var(--mobile_font_size_18));
    --mobile_font_size_36: calc(2 * var(--mobile_font_size_18));
    --mobile_font_size_52: calc(2.8888889 * var(--mobile_font_size_18));

	--header_footer_height: 8vh;	
}

html, body {
    margin: 0;
    padding: 0;
}

body {
	font-family: "Nunito", sans-serif;
    font-family: "comfortaa", sans-serif;
    font-family: "quicksand", sans-serif;
    font-family: "inter", sans-serif;
	margin: 0;
}

/*
body {
    font-family: "comfortaa", sans-serif;
    margin: 0;
}
*/

body:has(> .form_content, .about_content) {
	background: #F7F7F7;
}

a {
	text-decoration: none;
}

.trademark {
	font-size: var(--font_size_12);
	position: relative;	
	top: -2vh;
}

::-webkit-input-placeholder {
	font-style: italic; 
}


::-webkit-scrollbar {
	display: none;
}

#brand_mobile {
	font-size: var(--font_size_32);
	color: white;
}

.center_form {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.landscape_sub_banner {
    font-size: var(--font_size_32);
}

td input[type=text] {
    width: 95%;
}

/* buttons */

.button {
    background-color: white;
    border-color: black;
    color: black;
	text-align: center;
    text-decoration: none;
    cursor: pointer;
    border-radius: 0.5em;
    border-width: thin;
    border-style: solid;
    font-family: "Nunito", sans-serif;
}


.dark_button {
	background-color: black;
	color: white;
}

.grey_button {
    background-color: #3EAF3F;
    color: white;
    border-color: white;
}

.about_button_copy {
	padding: 7%;
}

/* modal */

.open_modal {
	position: fixed;
}

.modal_container {
	display: flex;
	position: fixed;
	width: 100vw;
	height: 100vh;
	opacity: 0;
	background: rgba(218, 223, 225, 0.8);	
	transition: opacity 0.3s ease;
	z-index: -1;
}

#download_txt_modal_container {
    display: none;
}

.modal_container.show {
    opacity: 1;
	z-index: 5;
}

.modal {
	opacity: 100%;
	background-color: white;
	position: fixed;
	border-radius: 1.5em;
	border: solid;
	border-color: darkgray;
}

.modal_close {
	position: fixed;
	right: 10%;
	width: 3vh;
	padding: 2%;
}

.modal_content {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	width: inherit;
    height: inherit;
}

.modal_mark {
	width: 20%;
}

.modal_title {
	font-size: var(--font_size_24);
}

.modal_copy {
	padding: 8% 12%;
	font-size: var(--font_size_18);
}

/* pricing modals */

a {
    vertical-align: middle;
}

.pricing_page_flex {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pricing_page_flex.inactive {
    display: none;
}

.pricing_container {
    display: flex;  
    height: 94vh;
    justify-content: center;
    padding-left: 8vw;
    padding-right: 8vw;
    padding-top: 4vh;
}

.pricing {
    position: relative;
    top: 12vh;
    opacity: 100%;
    background-color: white;
    border-radius: 1.5em;
    border: solid;
    border-color: darkgray;
    margin: 9%;
    height: 36vh;
    width: 18vw;
    padding: 3vh 0vw;
    box-shadow: -2px 2px 5px #3EAF3F;
}

.pricing_content {
    position: relative;
    width: auto;
    padding: 0vh 2vw;
    display: flex;
    flex-direction: column;
    height: inherit;
}

.pricing_copy {
    white-space: pre-line;
    text-wrap: nowrap;
    font-size: var(--font_size_12);
}     

.pricing_button {
    position: relative;
    font-size: var(--font_size_18);
    width: 100%;
    height: 5vh;  
    margin-top: auto;
}

#pricing_button_limited {
    position: relative;
    font-size: var(--font_size_18);
    width: 100%;
    height: 5vh;
}

.modal_pricing_button {
    width: 80%;  
}

.pricing_fine_print {
    color: rgba(95, 99, 104, 1);
    font-size: var(--font_size_12);
}

.pricing_title {
    font-size: var(--font_size_20);    
    margin: 0;    
}

.pricing_cost {
    position: relative;
    margin-top: auto;
    padding-bottom: 16px;
}

#monthly_dollar_sign {
    position: relative;
    top: -1.4em;
    font-size: var(--font_size_18);
}

#monthly_cost {
    font-size: var(--font_size_52);
}

.cost_words {
    font-size: var(--font_size_14);
}

#cost_slash {
    font-size: var(--font_size_32);
}

#annual_dollar_sign {
    position: relative;
    top: -0.9em; 
    font-size: var(--font_size_10);
}

#annual_cost {
    font-size: var(--font_size_24);
}

#pricing_terms_link {
    position: relative;
    bottom: 14vh;
    font-size: var(--font_size_18);
    text-decoration: underline;
}

.pricing_modal_center {
    display: flex;
    flex-direction: column;
    align-items: center;
    top: 2vh;
    position: relative;
}

#download_button {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pricing_cost {
    text-align: center;
    font-size: var(--font_size_24);
    font-weight: 600;
    text-wrap: nowrap;
}

/* terms slide-up */

.terms_container, .library_login_prompt_container {
    display: flex;
    position: fixed;
    width: 100vw;
    opacity: 0;
  	transform: translateY(100%);
  	transition: transform 0.2s, opacity 0.1s, z-index 0.3s;
    z-index: -1;
}

.terms_container.show, .library_login_prompt_container.show {
    opacity: 1;
	transform: translateY(0);
    z-index: 3;
	position: absolute;
    top: 6vh;
}

.terms_content {
    background-color: white;
}

.terms_sub_header {
	padding-left: 4%;	
}

#terms_close {
    width: 0.6em;
	padding-right: 5%;
}


/* library (public) */

.library_list {
	font-size: var(--mobile_font_size_18);
	padding: 2% 4%;
	margin: 4%;
	display: flex;
	flex-direction: column;
}


/* landing page */

#land_page_1 > #land_browser_1 {
    width: 75%;
}

#land_page_2 > #land_browser_2 {
    width: 80%;
    left: unset;
}

#land_page_3 > #land_browser_3 {
    width: 100%;
}

.landing_copy {
	padding: 0% 16% 0% 16%;
	font-size: var(--font_size_32);
	line-height: 1.4;	
}

.landing_image {
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

#landing_2025 {
    width: 100%;
}

.landing_2025_ul {
    line-height: 1vh;
    margin-bottom: -2vh;
}

#landing_2025_page_1 {
    position: relative;
    top: calc(6vh + var(--header_footer_height)); 
    display: block;
}

#landing_2025_page_1_title {
    font-size: var(--font_size_36);
    font-weight: 300;
    white-space: pre-line;
    grid-column: 1;
    grid-row: 1;
    position: relative;
    top: 3vh;
}

#landing_2025_page_1_subtitle {
    font-size: var(--font_size_16);
    font-weight: 300;
    grid-column: 1;
    grid-row: 2;
    white-space: pre-line;
    line-height: 29px;
    position: relative;
    top: -1vh;
}

#landing_2025_page_1_get_started_button {
    grid-column: 1;
    grid-row: 3;
    position: relative;
    top: -3vh;
}

#landing_2025_large_img {
    grid-column: 2;
    grid-row: 1 / span 3;
    width: 52vw;
}

.landing_2025_page_1_top_half {
    width: 84vw;
    left: 8vw;
    position: relative;
    display: grid;
    justify-content: space-between;
}

.landing_2025_page_1_bottom_half {
    display: flex;
    justify-content: space-evenly;
    padding-top: 10vh;
}

.landing_2025_page_1_small_img {
    width: 14vw;
}

.landing_2025_page_1_descriptive_text {
    font-size: var(--font_size_24);
    font-weight: 300;
    white-space: pre-line;
}

.landing_2025_page_1_bottom_half_a, .landing_2025_page_1_bottom_half_b, .landing_2025_page_1_bottom_half_c, .landing_2025_page_1_bottom_half_d {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#landing_2025_page_2 {
    width: 100vw;
    background-color: #EEE7E0;
    position: relative;
    height: 36vh;
    top: 18vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.landing_2025_page_2_text {
    font-size: var(--font_size_36);
    font-weight: 300;
    white-space: pre-line;
    text-align: center;
}

#landing_2025_page_3 {
    position: relative;
    top: 24vh;
    height: max-content;
    padding-left: 30vw;
    width: 38vw;
    display: block;
}

.landing_2025_page_3_img {
    padding-bottom: 2vh;
}

.landing_2025_page_3_question {
    font-size: var(--font_size_20);
    font-weight: 500;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    padding-top: 12px;
    padding-bottom: 10px;
}

.landing_2025_page_3_answer {
    font-size: var(--font_size_16);
    font-weight: 300;
    white-space: pre-line;
    display: none;
    line-height: 2vh;
}

.landing_2025_page_3_FAQ_expand.off {
    display: none;
}

.landing_2025_page_3_FAQ_collapse {
    display: none;
    position: relative;
    right: 0.25vw;
}

.landing_2025_page_3_FAQ_collapse.on {
    display: unset;
}

.landing_2025_FAQ_spacer {
    width: 38.5vw;
}

#landing_2025_page_4 {
    background-color: #EEE7E0;
    width: 100vw;
    display: inline-flex;
    position: relative;
    top: 30vh;
    justify-content: center;
    height: max-content;
    padding: 3vh;
}

#landing_2025_page_4_content {
    display: flex;
    flex-direction: column;
}

#landing_2025_page_5 {
    width: 100vw;
    display: inline-flex;
    flex-direction: column;
    position: relative;
    top: 32vh;
    align-items: center;
}

#landing_2025_page_5_title {
    font-size: var(--font_size_36);
    font-weight: 300;
    white-space: pre-line;
    text-align: center;
    padding-bottom: 6vh;
}

#landing_2025_page_6 {
    background-color: #EEE7E0;
    width: 100vw;
    position: relative;
    top: 40vh;
    height: max-content;
    display: flex;
    justify-content: center;
    height: max-content;
    padding-bottom: 3vh;
}

#landing_2025_page_6_content {
    display: flex;
    flex-direction: column;
    width: 44vw;
    padding-top: 3vh;
    color: #015C83;
}

#landing_2025_page_6_img {
    width: 26vw;
}

.landing_2025_page_6_section {
    display: inline-flex;
    padding-top: 3vh;
}

.landing_2025_page_6_subtitle {
    font-size: var(--font_size_24);
    font-weight: 300;
    white-space: pre-line;
}

.landing_2025_page_6_title {
    font-size: var(--font_size_36);
    font-weight: 500;
    position: relative;
    left: 2vw;
}

.landing_2025_page_6_copy {
    font-size: var(--font_size_20);
    font-weight: 300;
    position: absolute;
    left: 46vw;
    width: 23vw;
}

#landing_2025_page_7 {
    width: 100vw;
    display: flex;
    padding: 3vh;
    top: 46vh;
    position: relative;
    flex-direction: column;
    align-items: center;
    height: max-content;
}

#landing_2025_page_7_copy {
    padding: 2vh;
    color: #015C83;
}

#landing_2025_page_8 {
    width: 100vw;
    background-color: #EEE7E0;
    position: relative;
    top: 50vh;
    height: max-content;
    padding: 3vh;
    color: #015C83;
}

#landing_2025_page_8_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100vw;
}

.landing_2025_page_8_section {
    display: inline-flex;
    align-items: center;
    width: 32vw;
    justify-content: flex-start;
    padding-top: 2vh;
}

#landing_2025_commitment_img {
    width: 28vw;
    padding-top: 2vh;
}

.landing_2025_page_8_img {
    position: relative;
    left: 2vw;
}

.landing_2025_page_8_copy {
    font-size: var(--font_size_20);
    font-weight: 300;
    position: relative;
    left: 4vw;
}

.orange_highlight {
    background-color: #FFCD98;
    width: fit-content;
    box-shadow: 0 0 10px 10px #FFCD98;
}

/* About page */

.about_content a, .account_content a {
	text-decoration: underline;
	color: black;
}

.about_content, .terms_content {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: center;
	background: white;
}

.about_content.inactive {
    display: none;
}

.form_content.inactive {
    display: none;
}

.about_img {
	width: 65%;
	margin: 4% 0% -2% 0%;
}

#about_img_5 {
	width: 75%;
}

.about_copy {
	white-space: pre-line;
    text-wrap: nowrap;
    padding: 2% 5%;
	line-height: 1.4;
	margin: 0% 3%;
}

.about_copy p, ul, li {
    margin: 0%;
}

#bottom_mark {
	width: 20vw;
	padding-bottom: 15%;
    position: relative;
}

.about_sub_title {
    font-size: var(--font_size_32);
}

/* Terms page */

#terms_image {
	width: 100%;
}

/* account pages */

.account_copy a {
	text-decoration: underline;
	color: black;
}

#subscription_info {
    display: flex;
    justify-content: space-between; 
    width: 40vw;
    top: 7vh;
    position: relative;
    text-indent: 1.5em;
}

#manage_subscription {
    font-size: var(--font_size_14);
    color: grey;
    display: contents;
}

#manage_sub_img {
    width: 12vw;
}

/* waitlist */

.waitlist_copy {
	display: flex;
	flex-direction: column;
	font-size: 3em;	
}

.waitlist_copy input {
	font-size: 1em;
	padding: 4%;
	margin: 4%;
}

.waitlist_copy option {
	font-size: 4em;
}

.form_checkbox {
	transform: scale(1.5);
}

.horizontal_align {
	display: flex;
	align-items: center;
	margin: -1vh 0vw 0vh -0.5vw;
	padding: 0;
}


/* canvas */

.canvas_header {
    background-color: white !important;
    padding: 0%;
    flex-wrap: wrap;
	display: flex;
	align-items: center;
	justify-content: space-between;	
	height: 7vh;
}

.canvas_mark {
	width: 4.5vw;
}

.canvas_title {
	background-color: white;
	color: black;
	position: absolute;
	font-size: var(--font_size_24);
	padding: 0vh 1.5vw;
	top: 8vh;	
}

.canvas_subtitle {
	font-size: var(--font_size_12);
}

foreignObject {
	font-size: 7em;
	padding: 3.5% 4.5%;
}

#div_cards foreignObject, #div_controls foreignObject {
	font-size: 1em;
	padding: 3% 4%;
}

#canvas_join_wl {
    background-color: #E97053;
    color: white;
    width: 9.5em;
	height: 1.9em;
    border-radius: 0.2em;
	padding: 4%;
	margin: 5%;
	font-size: 1.2em;
}

#focused_map line {
	stroke-linecap: round;
}

.library_return {
    z-index: 2;
    position: relative;
    font-size: var(--font_size_12);
    width: fit-content;
    transition: text-shadow 0.3s ease-in-out;
}

.library_return_link {
    display: flex;
    align-items: center;
}

.library_return a, img {
    color: black;
}

#mobile_landscape_error {
    position: absolute;
    height: 100vh;
    width: 100vw;
    overflow: scroll;
}

#landscape_error_modal {
    height: 60vh;
    width: 60vw;
    top: 8vh;
    left: 20vw; 
}

#library_back_button {
    height: 2vh;
    width: 4vw;
    left: 1vw;
    position: relative;
}

.library_and_quick_start {
    display: flex;
    justify-content: space-between;
    padding: 1vh;
    align-items: flex-start;
}

.quick_start_drawer {
    height: 90vh;
    width: 38vw;
    position: absolute;
    left: 102vw;
    top: 7vh;
    background-color: white;
    border-radius: 30px;
    transition: left 0.5s ease-in-out, display 3s;
    display: none;
    z-index: 8;
}

.quick_start_action_content {
    display: none;
}

.quick_start_visible {
    left: 60vw;
    display: unset;
}

.quick_start_invisible {
    display: none;
}

.quick_start_cards_visible {
    display: unset;
}

.quick_start_drawer_header {
    display: flex;
    align-items: flex-end;
    height: 4vh;
    font-size: var(--font_size_24);
    color: #8E8F90;
    border-bottom: solid;
    border-color: #8E8F90;
    border-width: 1px;
    padding-bottom: 0.6vw;
    padding-top: 0.6vw;
}

#quick_start_header_left {
    display: inline-flex;
}

#quick_start_header_right {
    right: 1vw;
    position: absolute;
}

.quick_start_options {
    margin-left: 2vw;
    margin-right: 2vw;
}

.quick_start_action_content .card, .quick_start_cards_content .card {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-size: var(--font_size_18);
    border-top: solid;
    border-color: #8E8F90;
    border-width: 1px;
}

.quick_start_action_content .card div, .quick_start_cards_content .card div {
    width: 18vw;
    height: 16vh;
    color: #8E8F90;
    align-content: center;
}

.quick_start_action_content .card img, .quick_start_cards_content .card img {
    position: sticky;
    left: 64vw;
    width: 8vw;
    height: 12vh;
}

.quick_start_title_active {
    font-weight: bold;
    border-bottom: solid;
    border-color: #8E8F90;
    border-width: 2px;
}

#json_creator_svg_container {
    position: relative;
    height: 50vh;
    left: 2vw;
    width: 96vw;
}

#json_focused_map {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;    
    height: 100%;
    cursor: url(/images/scroll_side_to_side.svg), auto;
}

/* TAG and TENSION TYPE styling */

.tag_style, .tension_button {
    color: #8E8F90;
    text-align: left;
    position: absolute;
    border: none; 
    border-radius: 4px;
    border-width: 1px;
    background-color: white;
    overflow: hidden;
}

.unl.tag_style {
    font-style: italic; 
}

.tension_button, .unl.tag_style {
    border-width: 1px;
    border-style: solid;
    border-color: #C1C1C1;
    white-space: nowrap;
}

/* UNLIMITED canvas styling */
.unl.desc.container {
    padding: unset;
}

.unl.desc.container textarea {
    resize: none;
    padding-top: 2px;
    padding-left: 4px;
}

.unl.desc.container textarea:focus {
  outline: none; /* Removes the default outline */
  border: none; /* Removes any explicit border */
  box-shadow: none; /* Removes any box-shadow that might mimic a border */
}


.unl.tag_style:focus {
  outline: none; /* Removes the default outline */
}


#clutch_plus_sign_img {
    width: 6px;
    height: 6px;
    float: right;
    right: 2px;
    position: inherit;
    border-style: none;
}

#clutch_plus_sign_img:hover {
    color: #015C83;
}

#zoom_trigger_img:hover, #zoom_reset_img:hover {
    cursor: pointer;
}

.section.desc.container textarea {
    resize: none;
    overflow: hidden;
}


/* landing page */

.header {
	display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: black;
    text-decoration: none;
    position: fixed;
    width: 100%;
    z-index: 2;
	top: 0;
}

.invisble {
	display: none;
}


/* concierge services, formely request estimate */

#land_browser_2 {
    width: 20vw;
    left: 10vw;
    position: relative;
}


/* markupform, highlight */

#pageContent > ::selection {
    background-color: yellow;
}

#pageContent span {
    background-color: yellow;
}


/* markupform, type functionality */

.grid-container {
    display: grid;
    grid-template-columns: 75fr 25fr;
    grid-gap: 5px;
    width: 750px;
    height: 842px;
    overflow: scroll;
    border: solid 1px black;
	margin: 0em 4em;
}

#markup_form {
	float: right;
    margin-right: 40px;
    width: 30%;
    border: none;
}

input::placeholder {
	font-family: Roboto, sans-serif;
    font-size: 12px;
    font-style: italic;
    color: grey;
}

.user_submitted_text {
	font-family: Monospace;
    font-size: 12px;
    color: black;
}

.markup_button {
	background-color: white;
    border-color: black;
    color: black;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 16px;
    border-width: thin;
    border-style: solid;
}

.question_boxes {
	border-radius: 5px;
    border-color: #d3d3d3;
    border-width: 1px;
}

#review_and_finish_buttons .markup_button {
	font-size: 1.2em;
    padding: 1.2em;
}

.toggle {
	box-sizing: border-box;
    font-size: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: stretch;
}

.toggle input {
	width: 0;
    height: 0;
    position: absolute;
    left: -9999px;
}

.toggle input + label {
    margin: 4px 2px;
    padding: 10px 20px;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    border: solid 1px;
    border-radius: 16px;
    background-color: #FFF;
    font-size: 12px;
    text-align: center;
    box-shadow: 0 0 0 rgba(255, 255, 255, 0);
    transition: border-color 0.15s ease-out, color 0.25s ease-out, background-color 0.15s ease-out, box-shadow 0.15s ease-out;
}

.toggle input + label:first-of-type {
	border-radius: 16px;
}

.toggle input + label:last-of-type {
    border-radius: 16px;
}

.toggle input:hover + label {
	border-color: #213140;
}

.toggle input:checked + label {
	background-color: #000000;
    color: #FFF;
    box-shadow: 0 0 10px rgba(102, 179, 251, 0.5);
    border-color: #000000;
    z-index: 1;
}

.toggle input:focus + label {
    outline: dotted 1px #CCC;
    outline-offset: 0.45rem;
}

@media (max-width: 800px) {
		.toggle input + label {
    	padding: 10px 20px;
    	flex: 0 0 50%;
    	display: flex;
    	justify-content: center;
        align-items: center;
	}
}

#switch_to_laptop {
    position: absolute;
    width: 100vw;
    height: 10vh;
    margin-top: auto;
    inset: 0;
    font-size: var(--mobile_font_size_12);
    z-index: 2;
    background: white;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    white-space: pre-line;
}

#switch_to_laptop a {
    text-decoration: none;
}


/* personal Library */

.map_list {
    display: flex;
    width: 40vw;
}

.share_button {
    margin: auto;
    width: 4vw;
    height: 2vh;
}


/*
#share_map_modal {
    height: 30vh;
    width: 60vw;
    top: 20vh;
    left: 20vw;    
}

#share_map_modal .modal_close {
    right: 19vw;
    top: inherit;
}

#share_map_modal .modal_mark {
    width: 8vw;
    position: inherit;
    top: -3vh;
}

#share_map_modal .modal_title {
    top: -1vh;
}

#share_map_modal .modal_content {
    top: unset;
}

#share_map_modal .modal_button {
    top: -4vh;
}

#share_map_modal #share_invite {
    top: unset;
}


*/


#share_map {
    display: flex;
    flex-direction: column;
    margin-top: auto;
}


/*
#share_map .modal_button_container {
    margin-bottom: unset;
    flex-direction: unset;
}
*/

#email_input {
    padding: 22px;
    margin-bottom: 3em;
    width: 15vw;
    left: 1vw;
    position: relative;
}


#share_map .modal_button {
    margin-top: auto;
}


/*
#share_map .modal_button_container {
    margin: unset;
    align-items: center;
}
*/


#become_beta_customer {
    margin-left: unset;
    width: 12vw;
    height: 4vh;
    font-size: var(--font_size_12);
}

#personal_library_button_flex {
    display: flex;
    justify-content: flex-end;
    width: 40vw;
}

/* canvas_creator */

#button_open_point {
    position: fixed;
    top: 30vh;
    left: 1.5vw;
    z-index: 4;
    cursor: pointer;
}


#button_close_point {
    position: fixed;
    top: 40vh;
    left: 1.5vw;
    z-index: 4;
    cursor: pointer;
}

[contentEditable=true]:empty:not(:focus):before {
    content: attr(placeholder-text)
}

.canvas_creator_title {
    background-color: #EFE7DF;
}

#editable_title::placeholder {
    color: #8E8F90;
}

/*
#editable_title, input[type=text] {
    display: inline-block;
    font-size: var(--font_size_24);
    background-color: #EFE7DF;
    border: unset;
    height: fit-content;
    width: 60vw;
}
*/

#editable_title {
    display: inline-block;
    font-size: var(--font_size_24);
    background-color: #EFE7DF;
    border: unset;
    height: fit-content;
    width: 60vw;
}

#editable_title:hover {
    border: solid;
}

.canvas_creator_title input::placeholder {
    font-size: var(--font_size_24);
    font-style: unset;
    color: black;
}


#creator_export {
    position: absolute;
    left: 90vw;
    top: 20vh;
    width: 4vw;
    height: 2vh;
}

#creator_txt_export {
    position: absolute;
    left: 90vw;
    top: 24vh;
    width: 4vw;
    height: 2vh;
}

#creator_title_save {
    width: 4vw;
    height: 2vh;
}

.dummy_rect {
    fill: white;
    stroke: lightgrey;
    stroke-dasharray: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: filter 0.1s ease;
}


.dummy_rect:hover {
    filter: drop-shadow(3px 4px 4px rgb(0 0 0 / 0.2));
}

.plus {
    font-size: 2.5em;
    color: lightgrey; 
}

.canvas_creator_header {
    background-color: #EFE7DF;
    padding: 0%;
    flex-wrap: wrap;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 7vh;
}

.canvas_creator_header_right {
    padding: 0;
    margin: 1vh 0.7vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.canvas_creator_header_right img {
    height: 4.5vh;
    padding: 1vh;

}

.library_return:hover {
    text-shadow(0px 5px 15px rgba(0, 0, 0, 0.8));
}

#customModal, #dummyCustomModal, #sectionCustomModal {
    display: none; 
    position: fixed; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    background-color: white; 
    z-index: 6;
}

/*
#dummyCustomModal {
    display: none;
    position: fixed;
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);
    background-color: white;
} 




#closeModal_img:hover {
    border: solid;
    border-color: lightgrey;
    border-radius: 4px;
}
*/

.right_click_option:hover {
    background-color: lightgrey;
}


#closeModal_img, #changeModal_img, #changeColor_img {
    width: 13vw;
}


.set_color {
    width: 100%;
    height: 100%;
}

#right_click_set_color {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-rows: minmax(2.6vh, 2.6vh);
    justify-items: center;
    align-items: center;
}


#creator_limited {
    display: flex;
}

#get_creator_button, #creator_limited_unauthenticated {
    width: 12vw;
    height: 3vh;
}

#creator_limited {
    width: 18vw;
    height: 4vh;
}

#quick_start_open {
    width: 7vw;
    right: 1vw;
    position: relative;
}

#add_rects {
    position: fixed;
    right: 0;
    bottom: 38vh;
    height: 8vh;
    display: flex;
    cursor: pointer;
    z-index: 10;
}

#add_rects:hover {
    filter: drop-shadow(-2px 2px 5px rgba(39,202,64,1));
    transition: filter 0.3s ease-in-out;
}

#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0); /* Semi-transparent black */
  z-index: 9999; /* High z-index to ensure it's on top */
  cursor: zoom-in;
}

#clutch_dropdown {
    display: none;
}

#cloned_clutch_dropdown {
    display: none;
    font-size: 5px;
    position: relative;
    text-align: left;
    width: 82px;
    bottom: 120px;
    background-color: white;
    color: #015C83;
    z-index: 20;
    border-radius: 4px;
    padding: 5px;
    border-color: #C1C1C1;
    border-style: solid;
    border-width: 1px;
}

#cloned_clutch_dropdown #clutch_long_list {
    display: none;
}

#clutch_dropdown #clutch_long_list {
    display: none;
}

/* protrait vs landscape  */

@media (max-width: 899px)  {

	.trademark {
        font-size: var(--mobile_font_size_12);
	}


	#button_join_wl {
    	background-color: #3EAF3F;
    	color: white;
    	width: 70vw;
    	font-size: 1em;
    	padding: 8% 20% 8% 8%;
    	border-radius: 0.2em;
	    display: flex;
    }

    #button_personal_library {
        background-color: #A77BD3;
        color: white; 
        width: 70vw;
        font-size: 1em;
        padding: 8% 20% 8% 8%;
        border-radius: 0.2em;
        display: flex;
    }

	.portrait_invisible {
    	display: none !important;
	}

    #personal_library_button_flex {
        display: flex;
        width: 92vw;
    }

    #get_creator_button, #creator_limited_unauthenticated {
        height: 2.5vh;
        width: 34vw;
    }
    
/* portrait personal library */

    #creator_limited {
        width: 28vw;
        transform: scale(1.4);
    }


/* portrait header */

    .header_left {
        display: flex;
    }

	#header_mark_text {
		position: fixed;
		left: 34vw;
		top: 2vh;
		font-size: var(--mobile_font_size_20);
	}

	#canvas_mark_text {
        position: fixed;
        left: 34vw;
        top: 2vh;
        font-size: var(--mobile_font_size_20);
    	color: black;
	}


	.sub_banner {
    	background-color: #202124;
    	margin: 0%;
    	padding: 2% 4%;
    	color: white;
	}

    .landscape_sub_banner {
        display: none;
    }

	#about_sub_banner, #library_sub_banner, #waitlist_sub_banner {
    	font-size: var(--mobile_font_size_20);
    	padding-top: 8vh; 
	}

    .about_sub_title {
        font-size: var(--mobile_font_size_30);
    }
	
	#terms_sub_banner {
        background-color: #202124;
		color: white;		
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		font-size: var(--mobile_font_size_20);
		padding-top: 8vh;
	}

    .header {
        display: flex;
        height: 7vh;
        align-items: center;
        background-color: black;
        text-decoration: none;
        justify-content: space-between;    
		position: fixed;
		width: 100vw;
		z-index: 4;
	}

	.header_right {
		padding: 0vh 3vw;
		margin-top: -3vh;
	}

    #header_about {
        order: 1;
    }  
 
    #header_pricing {
        order: 2;
    }

    #header_feedback_dropdown {
        order: 3;
    }

    #header_logout {
        order: 6;
        margin-top: 14vh;
    }

    #header_dropdown_account {
        order: 4;
        margin-top: 24vh !important;
    }

    #header_account_mobile {
        order: 5;
    }

    #header_public_mobile {
        order: 6;
    }

    #header_personal_mobile {
        order: 7;
        margin-top: 4vh;
    }
 
    #header_create_login {
        order: 9;
        margin-top: 2vh !important;
    }

    #header_dropdown_create_account {
        order: 8;
        margin-top: 24vh;
    }

	.header_right #menu_open, .header_right #menu_close {
		margin-top: 3vh;
	}

    .portrait_invisible {
        display: none;
	}


	.portrait_selected {
		background-color: black;	
	}


	.portrait_dropdown {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		height: 100%;
		width: 100%;
		position: fixed;
		z-index: 3;
		padding-top: 2vh;	
		left: 0;
	}

	.dropdown_options {
		margin: 4vh 0vw 0vh 8.5vw;
		color: white;
		font-size: var(--mobile_font_size_24);
        display: flex;
        flex-direction: column;	
	}

	.dropdown_options a {
		color: white;
	}

/* portrait forms (request estimate, waitlist, feedback) */

	.portrait_form_align {
		font-size: var(--mobile_font_size_18);
		padding: 0vh 4vw;
	}

	.portrait_form_align .terms_drawer_open {
		font-size: var(--mobile_font_size_18);
	}

	.portrait_text_area {
		width: 90%;
		margin: -2vh 0vw 0vh 4vw;
		height: 8vh;
	}

    .form_content input, .form_content input::placeholder {
		font-size: var(--mobile_font_size_18);  
        padding: 2%;
        margin: 2%;
    }

	.form_content textarea::placeholder {
		font-size: var(--mobile_font_size_18);
	}

    .feedback_textarea {
        width: 77vw;
        height: 32vh;
        margin: 0vh 0vw 4vh 0vw;
        padding: 2vh 3.5vw;
    	font-size: var(--mobile_font_size_18);
	}

    .feedback_email {
        width: 77vw;
        height: 7vh;
        margin: 2vh 0vw 3vh 0vw !important;
        padding: 0vh 3.5vw !important;
    }


/* portrait modals */

    .modal {
        width: 88vw;
        left: 6vw;
        height: 68vh;
        top: 14vh;
    	border-width: medium;
		border-radius: 3vh;
	}

 
	.modal_content {
		top: 5.5vh;
	
	}

    .modal_button_container {
        display: flex;
        flex-direction: column;
        margin-top: auto;
        margin-bottom: 10vh;
    }

    .modal_button {
        width: 68vw;
        margin: 2vh;
        height: 7.5vh;
        font-size: var(--mobile_font_size_18);
    }

	.modal_title {
		padding: 3vh 0vw 0vh;
		font-size: var(--mobile_font_size_24);
	}

	.modal_copy {
		padding: 1vh 8vw;
		font-size: var(--mobile_font_size_18);
	}

/* portrait pricing modals */

    .pricing_container {
        flex-direction: column;
        align-items: center;
        height: unset;
        width: unset;
    }

    .pricing_copy {
        font-size: var(--mobile_font_size_14);
        text-wrap: auto;
    }

    .pricing_cost {
        font-size: var(--mobile_font_size_24);
        padding-bottom: 18px;
        font-weight: 600;
        text-align: center;
    }

    .pricing_title {
        font-size: var(--mobile_font_size_24);
        margin: 0;        
    }

    #pricing_button_limited {
        width: 64vw;
        height: 6vh;
        font-size: var(--mobile_font_size_14);
    }

    .pricing_fine_print {
        font-size: var(--mobile_font_size_12);
    }

    .pricing_button {
        font-size: var(--mobile_font_size_18);
        height: 6vh;
    }

    #monthly_dollar_sign {
        font-size: var(--mobile_font_size_18);
    }

    #monthly_cost {
        font-size: var(--mobile_font_size_52);
    }

    .cost_words {
        font-size: var(--mobile_font_size_14);
    }

    #annual_dollar_sign {
        font-size: var(--mobile_font_size_10);
    }

    #annual_cost {
        font-size: var(--mobile_font_size_24);
    }

    .pricing {
        height: 54vh;
        width: 80vw;
        top: unset;
        padding: unset;
    }

    .pricing_content {
        padding: 4vh 8vw 4vh 8vw;
        height: 46vh;
    }

/* portrait account pages (create account, log in) */

	.account_copy, .waitlist_copy {
    	font-size: var(--mobile_font_size_18);
    	padding: 2vh 5vw;
		background: white;
	}

	.portrait_welcome_back {
		font-size: var(--mobile_font_size_18);
		margin-bottom: 10vh;
	}

	.account_content input {
	   	display: flex;
		align-items: center;
		font-size: var(--mobile_font_size_18);
		width: 62vw;
		height: 4vh;
		margin: 5vw;
		padding: 0.5em;
	}

	.form_checkbox {
		margin: 0vh 4vw 0vh 1vw;
	}

	.other_input {
		font-size: 1em;
		margin-left: 4vw;
		width: 60%;
	}

	.horizontal_align {
		padding: 0.4em;
	}

	.account_copy form {
		margin-left: -4vw;
	}

    #button_waitlist, #button_estimate, #about_button_create, #about_button_join {
        width: 80%;
        flex-direction: column;
        align-items: center;
        left: 10%;
        height: 3em;
		position: relative;
        font-size: var(--mobile_font_size_18);
		justify-content: center;
		display: flex;
    }

	.auth_copy {
		white-space: pre-line;
        display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;	
	}

	.auth_copy input::placeholder {
		font-size: var(--mobile_font_size_18);
	}

	#button_create_account {
		font-size: var(--mobile_font_size_18);
		width: 65vw;
		margin: 1em;
	}

	.terms_drawer_open {
		font-size: var(--mobile_font_size_18);
	}

    #subscription_info {
        width: 100vw;
        flex-direction: column; 
    }

    #current_sub_text {
        font-size: var(--mobile_font_size_14);
    }

    #create_account_form {
        white-space: unset;
    }

    #create_account_form input {
        margin: 0vh;
    }

    #terms_agreement {
        width: 6vw;
        display: inline;
        vertical-align: middle;    
    }

    #manage_sub_img {
        position: absolute;
        right: 0;
        width: 40vw;
    }
    

/* portrait landing page */
	#land_page_1, #land_page_2, #land_page_3, #land_cta {
    	display: flex;
    	flex-wrap: nowrap;
    	flex-direction: column;
    	align-content: center;
    	align-items: center;
    	text-align: center;
    	font-size: 2vw;
    	width: 100%;
    	height: 76vh;
    	background-size:  cover;
	}

	.landing_copy {
		font-size: var(--mobile_font_size_20);
	}

	.land_container {
    	position: relative;
    	width: 100%;
    	scroll-behavior: smooth;
	}
    
	#land_page_1, #land_page_2, #land_page_3, #land_cta {
		font-size: 4vw;
	}

    #land_browser_3_landscape {
        display: none;
    }

	.mark {
    	height: 2.5vh;
    	font-style: normal;
    	padding-left: 3.5vw;
	}
	
	#brand_mobile {
    	font-size: var(--mobile_font_size_20);
    	color: white;
		padding: 0vh 0vw;
	}

	#menu_open {
    	height: 2vh;
	}

	#menu_close {
    	height: 3vh;
    	color: white;
		padding-right: 1vw;
	}

	

	.button_portrait {
		width: 65vw;
		padding: 1.5vh 0vw;
		font-size: 5vw;
	}

    #landing_terms_links {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: var(--mobile_font_size_18);
        margin: 6vh;
    }

    #landing_2025_page_1 {
        display: flex;
        flex-direction: column;
        width: 100vw;
        height: max-content;
        top: var(--header_footer_height);
    }

    .landing_2025_page_1_top_half, .landing_2025_page_1_bottom_half {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #landing_2025_page_1_title {
        width: 80vw;
        text-align: center;
        font-size: var(--mobile_font_size_24);
        order: 1;
        top: unset;
    }

    #landing_2025_large_img {
        width: 80vw;
        order: 2;
        padding-top: 4vh;
    }

    #landing_2025_page_1_subtitle {
        order: 3;
        text-align: center;
        font-size: var(--mobile_font_size_16);
        width: 54vw;
    }

    #landing_2025_page_1_get_started_button {
        order: 4;
        width: 30vw;
        padding-top: 2vh;
        top: unset;
    }

    .landing_2025_page_1_small_img {
        width: 38vw;
    }

    .landing_2025_page_1_bottom_half {
        padding-top: 8vh;
    }

    .landing_2025_page_1_descriptive_text {
        font-size: var(--mobile_font_size_20);
        margin-top: -2vh;
        padding-bottom: 6vh;
        width: 48vw;
    }

    #landing_2025_page_2 {
        padding-top: unset;
        top: 8vh;
    }

    .landing_2025_page_2_text {
        font-size: var(--mobile_font_size_20);
    }

    #landing_2025_page_3 {
        top: 10vh;
        padding: 7vw;
        width: 86vw;
    }

    .landing_2025_FAQ_spacer {
        width: 86vw;
    }

    #landing_2025_large_loom {
        width: 80vw;
    } 

    #landing_page_3_FAQ_img {
        width: 24vw;
        padding-left: unset;
    }

    .landing_2025_page_3_question {
        font-size: var(--mobile_font_size_20);
    }

    .landing_2025_page_3_answer {
        font-size: var(--mobile_font_size_16);
    }
    
    .landing_2025_ul {
        line-height: 2vh;
    }

    #landing_2025_page_4, #landing_2025_page_7, #landing_2025_page_8 {
        padding: unset;
    }
    
    #landing_2025_page_4 {
        top: 12vh;
        flex-direction: column;
        align-items: center;
    }

    #landing_2025_page_5_title {
        font-size: var(--mobile_font_size_20);
        width: 80vw;
        padding-bottom: unset;
    }

    #landing_2025_page_5 {
        top: 18vh;
        overflow: hidden;
    }

    #landing_2025_large_loom {
        width: 140vw;
    }

    #landing_2025_page_6 {
        top: 28vh;
    }

    #landing_2025_page_6_img {
        width: 60vw;
        left: -2vw;
        position: relative;
    }

    .landing_2025_page_6_subtitle {
        font-size: var(--mobile_font_size_16);
        white-space: unset;
        line-height: 3vh;
        padding-top: 2vh;
        width: 82vw;
    }

    .landing_2025_page_6_section {
        display: grid;
        grid-template-columns: 1fr 4fr; 
        align-items: center;
    }

    .landing_2025_page_6_img {
        grid-row: 1;
        grid-column: 1;    
        left: -2vw;
        position: relative;
    }

    .landing_2025_page_6_title {
        grid-row: 1;
        grid-column: 2;
        left: unset;
        position: relative;
        font-size: var(--mobile_font_size_36);
    }

    .landing_2025_page_6_copy {
        grid-row: 2;
        grid-column: 1 / span 2;
        width: 80vw;
        left: unset;
        position: unset;
        font-size: var(--mobile_font_size_20);
        padding-top: 1vh;
    }

    #landing_2025_page_6_content {
        width: 86vw;
    }

    #landing_2025_page_7 {
        top: 34vh;
    }

    #landing_2025_page_7_img {
        width: 80vw;
    }

    #landing_2025_page_7_copy {
        text-align: center;
        font-size: var(--mobile_font_size_16);
        width: 54vw;
    }

    #landing_2025_page_8 {
        top: 36vh;
    }

    #landing_2025_commitment_img {
        width: 80vw;
        left: 4vw;
        position: relative;
    }

    #landing_2025_page_8_content {
        align-items: unset;
        padding: 4vw;
    }
    
    .landing_2025_page_8_section {
        width: 94vw;
    }

    .landing_2025_page_8_img {
        left: 4vw;
    }

    .landing_2025_page_8_copy {
        font-size: var(--mobile_font_size_16);
        left: 6vw;
        position: relative;
    }

    #landing_2025_animated_loom {
        width: 80vw;
        padding-top: 2vh;
    }

/* portrait canvas */

	#upload_circle {
		height: 6vh;
	}

	.canvas_header_right {
		padding: 0vh 6vw;
	}

	.canvas_header_right .icon {
		width: 150% !important;
	}

	.canvas_header {
	    display: flex;
	    align-content: center;
	    text-decoration: none;
	    justify-content: space-between;
	    position: fixed;
    	width: 100%;
	    z-index: 4;
		height: 7vh;
	}

	.canvas_mark {
		height: 2.5vh;
		width: 16vw;
        margin: 0vh 2vw 0vh;
	}

	.inverse_header_color {
		filter: invert(100%);
	}

    .canvas_header_right button {
        margin: 1%;
        background-color: transparent;
        border: none;
		padding-right: 0%;
    }

    #svg_container {
        width: 20%;
        height: 20%;
        bottom: 8vh;
        position: fixed;
    }

	.canvas_title {
    	background-color: white;
    	color: black;
		top: 9vh;
    	font-size: var(--mobile_font_size_24);
    	padding: 0vh 4.5vw;
	}

	.canvas_subtitle {
		font-size: var(--mobile_font_size_14);
	}

	#switch_to_laptop {
		position: absolute;
		width: 100vw;
        height: 10vh;
        margin-top: auto;
        inset: 0;
        font-size: var(--mobile_font_size_12);
		z-index: 2;
        background: white;
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        white-space: pre-line;
	}

/* mobile canvas (introduced November 2024) */
    #mobile_jpg_container {
        width: 100vw;
        height: 80vh;
        top: 20vh;
        position: fixed;
        overflow-y: scroll;        
    }

    #svg_jpg {
        display: block;
        top: 26vh;
        left: 5vw;
        max-width: 100%;
        max-height: 100%;
        transform: scale(4) translate(40%, 0%);
        overflow-y: scroll;
        position: relative; 
    }

/* portrait concierge */

    #land_browser_2 {
        width: 50vw;
        left: 20vw;
    }


/* portrait terms */

	.terms_copy {
    	font-size: var(--mobile_font_size_18);
        white-space: pre-line;
        margin-right: 7vw;
	}

    #pricing_terms_link {
        bottom: -2vh;
        font-size: var(--mobile_font_size_18);
        margin-bottom: 6vh;
    }

    .terms_content {
        width: 100vw;
        position: absolute;
        padding-left: 7vw;
    }

    #terms_anonymized_loom {
        width: 90vw;
    }

    #terms_go_back {
        font-size: var(--font_size_14);
        position: relative;
        right: 42.5vw;
        top: 2vh;
    }

/* portrait about */

    .about_buttons {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

	.about_content {
		background: white;
	}	

	.about_copy {
		font-size: var(--mobile_font_size_18);
	    white-space: unset;
    }

    .portrait_button {
        padding: 2vh 1vw;
        margin: 2vh 2vw;
        width: 60vw;
        font-size: var(--mobile_font_size_20);
    }

	.about_copy .terms_drawer_open {
		font-size: var(--mobile_font_size_18);
	}

	#about_estimate_link {
		font-size: var(--mobile_font_size_14);
	}

/* portrait library pages */

    .library_list {
        display: flex;
        align-items: flex-start;
        background: unset;
        margin-left: unset;
        line-height: 4vh;
    }

    .library_list a {
        text-decoration: none;
        width: 100%;
        display: flex;
        align-items: baseline;
        font-size: var(--mobile_font_size_18);
    }

	.library_mark {
		width: 9vw;
	}

    .mobile_friendly {
        color: rgba(167, 123, 211, 1);
        font-size: var(--mobile_font_size_12);
        left: 12vw;
        position: relative;
        display: flex;
        line-height: 1vh;
        padding-bottom: 1vh;
        margin-top: -0.5vh;
    }
    
    .mobile_friendly_invisible {
        visibility: hidden;
        color: rgba(167, 123, 211, 1);
        font-size: var(--mobile_font_size_12);
        left: 12vw;
        position: relative;
        display: flex;
        line-height: 1vh;
        padding-bottom: 1vh;
        margin-top: -0.5vh;
    }

    #header_libraries {
        display: none;
    }

    .mobile_map_list_container {
        display: flex;
        flex-direction: column;
    }
    
    .map_list, .share_button {
        width: unset;
    }
}


/* ALL landscape / over 900px width styling */

@media (min-width: 900px) {

    .mobile_friendly {
        color: rgba(167, 123, 211, 1);
        font-size: unset;
        left: 4vw;
        position: relative;
        display: flex;
        line-height: 1vh;
        padding-bottom: 1vh;
        margin-top: -0.5vh;
    }
        
    .mobile_friendly_invisible {
        visibility: hidden;
        color: rgba(167, 123, 211, 1);
        font-size: unset;
        left: 12vw;
        position: relative;
        display: flex;
        line-height: 1vh;
        padding-bottom: 1vh;
        margin-top: -0.5vh;
    }


	.landscape_bold {
		font-weight: bold;
	}

/* landscape header */

    #header_mark_text {
        position: relative;
    }

	#img_mark_whiteOnBlack {
		margin-left: 2vw;
		position: relative;
	    top: 0.5vh;
    }

	.mark {
		margin: 1vw;
	}

	.header_left {
		display: flex;
		align-items: flex-end;
	}

	a.active {
		text-decoration:underline;
		text-underline-offset: 30%;
	}

	#button_join_wl.active {
		border-color: white;
		border-width: medium;
	}

	#header_about {
		order: 1;
	}

	#header_libraries {
		order: 0;
        display: flex;
        flex-direction: row;
        align-items: baseline;
	}

	#header_pricing {
		order: 2;
	}

    #header_dropdown_create_account {
        order: 3;
        display: flex;
        flex-direction: row;
        align-items: baseline;
        white-space: nowrap;
    }

    #header_dropdown_account {
        order: 3;
        color: white;
        font-size: var(--font_size_18);
    }   

	#header_landscape_joinWL {
		order: 6;
	}

	#header_landscape_has_joined {
		order: 6;
        width: 8.5vw;
	}

    #button_portrait_has_joined {
        background-color: #949494;
        color: white;
        text-align: center;
        width: 8.5vw;
        text-decoration: none;
        font-size: var(--font_size_18);
        padding: 6% 0% 5% 0%;
    }

    #on_waitlist_set_width {
        width: 8.5vw;
    }
	
	#header_landscape_has_joined img.active {
		border: solid;
		border-color: white;
		border-radius: 13px;
        width: 8.5vw;
	}


	#header_logout {
		order: 4;
	}

	#header_create_login {
		order: 4;
		padding: 0% 0.5% 0% 2%;
	}

    .header_create_dropdown {
        display: none;
    }

    .dropdown_trigger {
        display: flex;
        flex-direction: column;
    }

    .header_create_dropdown {
        display: inline-flex;
        flex-direction: column;
        top: 7vh;
        left: 44vw;
        position: absolute;
        background-color: black;
        line-height: 4vh;
    }

    .more_create_dropdown {
        display: none;
    }

    .more_create_dropdown {
        display: inline-flex;
        flex-direction: column;
        top: 7vh;
        left: 76vw;
        position: absolute;
        background-color: black;
        line-height: 4vh;
    }

    #header_dropdown_create_account {
        top: 100%;
        left: 80vw;     
    }

    .header_feedback_dropdown {
        display: none;
    }

    .header_feedback_dropdown {
        display: inline-flex;
        flex-direction: column;
        top: 7vh;
        left: 76vw; 
        position: absolute;
        background-color: black;
        line-height: 4vh;
    }

    .more_dropdown_options {
        background-color: black;
        line-height: 4vh;
    }

    #personal_library_text {
        bottom: 8px;
        position: inherit;
    }

	#dropdown_arrow {
		order: 5;
	}

	#header_share_button {
		order: 7;
		padding: 0% 1% 0% 2%;
	}

	.header {
		height: var(--header_footer_height);
	}

	#button_join_wl {
        background-color: #3EAF3F;
        color: white;
    	text-align: center;
		width: 8.5vw;
    	text-decoration: none;
		font-size: var(--font_size_18);
		padding: 6% 0% 5% 0%;
    }

    .panel_button_invisible {
        display: none;
    }

	.landscape_invisible {
		display: none;
	}
    
	.header_sub_container {
		display:flex;
		flex-direction: column;
	}

	.sub_banner, {
    	display: none;
	}

    #about_sub_banner, #terms_sub_banner, #library_sub_banner, #waitlist_sub_banner {
        display: none;
	}

	#brand_mobile {
		font-weight: 100;
	}


/* landscape footer  */

	.footer {
		background-color: black;
		position: fixed;
		top: calc(100vh - var(--header_footer_height));
		width: 100%;
		height: var(--header_footer_height);
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
	}

    .footer_terms_links {
        position: absolute;
        right: 0vw;
        padding: 2vw;
        padding-bottom: 3.5vh;
    }

    .footer_terms_links a {
        color: white;
        padding-right: 6vw;
        text-decoration: none;
        font-size: var(--font_size_16);
    }

/* landscape waitlist */

	.waitlist_copy {
		font-size: 1.1em;
		padding: 0;
		align-items: flex-start;
	}

	.form_checkbox {
		transform: scale(1);
	}

	.horizontal_align {
		width: 110%;
	}

	.waitlist_copy #username {
		margin: 2%;
		padding: 2%;
	}


	#button_waitlist, #button_estimate, #about_button_create, #about_button_join {
		display: flex;
		width: 60%;
		flex-direction: column;
		align-items: center;
		left: 20%;
		position: relative;
		padding: 2.5%;
	}

/* landscape landing page */
	#menu_open, #menu_close, .landscape_invisible {
    	display: none;
	}
	
	.landscape_header_menu {
		display: flex;
		width: 76vw;
		justify-content: flex-end;
		align-items: center;	
	}


	.dropdown_options {
		text-decoration: none;
		color: white;
		padding: 0vw 3vw 0vw 1vw;
		font-size: var(--font_size_18);
        top: 100%;
    }

	#land_page_1, #land_page_2, #land_page_3, #land_cta {
     	text-align: center;
    	font-size: 1em;
        margin: 20vh 0vw;
	}

	.land_container {
    	position: relative;
    	width: 100%;	
	}

	#land_page_1 > #land_browser_1 {
   		width: 50%;
	}

	#land_page_2 > #land_browser_2 {
    	width: 80%;
	}

	#land_page_3 > #land_browser_3_landscape {
    	width: 80%;
	}

	#land_browser_3 {
		display: none;
	}

	.landing_copy {
    	padding: 0% 22%;
    	font-size: var(--font_size_32);
    	line-height: 1.2;
	}

	.button_landscape {
		width: 11em;
		height: 3em;
		font-size: var(--font_size_24);
	}

	.dropdown_options a {
		color: white;
	}

    #landing_terms_links {
        display: none;
    }

/* landscape canvas  */
	#a_link_canvas_mark {
		padding: 0vh 1.5vw;
	}

	#svg_container {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 7vh;
	}

	.canvas_header_right {
		padding: 0;
		margin: 1vh 0.7vw;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.canvas_header_right button {
		margin: 1%;
		background-color: transparent;
		border: none;
	}

	#button_openClosePanel {
		position: fixed;
		top: 60%;
		left: 1.5vw;
		z-index: 4;
	    cursor: pointer;
    }

    #button_ClosePanel {
        position: fixed;
        top: 60%;
        left: 1.5vw;
		z-index: 4;
        cursor: pointer;
    }

	#button_spreadsheet {
		position: fixed;
		left: 1.5vw;
		top: 53%;
		z-index: 4;
	}

	#button_script {
		position: fixed;
		left: 1.5vw;
		top: 46%;
		z-index: 4;
	}

/* landscape about */

	.about_content {
		margin: 4% 26%;
		min-height: 100vh;
		background: white;
	}

	.about_copy {
		font-size: var(--font_size_24);
		margin: 0% 6%;
    }

    .about_content br {
        display: none;
    }

    .about_copy br {
        display: none;
    }

	.about_img {
		width: 38%;
	}

	#about_img_5 {
		width: 45%;
	}

	.about_buttons {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.about_button {
    	padding: 2vh 1vw;
		margin: 2vh 2vw;
		width: 100%;
		font-size: var(--font_size_18);
	}

/* landscape forms (estimate waitlist feedback) */

    .account_copy {
        font-size: var(--font_size_18);
		margin: 0vh 5.5vw;
        padding: 11vh 0vw;
    }

    .waitlist_copy {
        font-size: var(--font_size_18);
        margin: 0vh 5.5vw;
        padding: 11vh 0vw;
    }
	
	.account_copy form {
		margin-left: -1vw;
        white-space: normal;
	}

	.landscape_form_align {
		margin-left: 1vw;
	}

    .landscape_left_align {
        align-self: flex-start;
    }

	.landscape_text_area {
		width: 90%;
		height: 8vh;
		margin-left: 1vw;
		margin-top: -1vh;
	}

	.form_content {
        margin: 0% 26%;
        min-height: 100vh;
        background: #FFF;
    }

    .form_content input {
        font-size: var(--font_size_18);
        padding: 2%;
        margin: 2%;
    }

	.feedback_textarea {
		width: 22vw;
		height: 28vh;
		margin: 0vh 0vw 4vh 0vw;
		padding: 2vh 0.5vw;
	}

	.feedback_email {
		width: 22vw;
		height: 5vh;
		margin: 2vh 0vw 3vh 0vw !important;
		padding: 0vh 0.5vw !important;
	}

	#feedback_button {
		width: 18vw;
		padding: 1.5vh 2vw;
	}

/* landscape public library */

	.library_list {
    	font-size: var(--font_size_18);
    	display: flex;
    	align-items: flex-start;
		line-height: 4vh;
	}

	.library_list a {
		text-decoration: none;
		width: 100%;
	    vertical-align: baseline;
    }

	.library_list img {
		width: 10%;
	}

    .mobile_friendly_invisible {
        display: none;
        width: unset;
    }


	
/* landscape account pages (log in, create account) */

	.auth_copy {
		font-size: var(--font_size_18);
		padding: 0vh 6vw;
		text-align: center;	
	}


    .account_content {
        margin: 0% 26%;
        min-height: 100vh;
		background: #FFF; 
    }

	.account_content input {
    	font-size: var(--font_size_18);
    	padding: 2%;
    	margin: 2%;
	}

	#button_create_account {
		width: 60%;
		font-size: var(--font_size_18);
		padding: 2.5%;
	    margin: 10%;
    }

	#button_login {
		width: 45%;
		font-size: var(--font_size_18);
		padding: 2.5%;
	}	

/* landscape modals */

	.modal {
		width: 22vw;
		left: 39vw;
		height: 64vh;
		top: 10vh;
	    padding-top: 6vh;
    }

	.modal_title {
		font-size: var(--font_size_24);
		top: 2vh;
		position: relative;
	}

	.modal_copy {
/*		font-size: var(--copy_font_size);
*/		padding-top: 4vh;
	}

	.modal_content {
		top: unset;
	}

	.modal_button_container {
		display: flex;
		flex-direction: column;
	    margin-top: auto;
        margin-bottom: 10vh;
    }

	.modal_button {
		width: 17vw;
		margin: 2vh;
		height: 6.5vh;
		font-size: var(--font_size_18);
        position: relative;
	}

	.modal_close {
		width: 1em;
		right: 37.7%;
		top: 8.5%;
	}

/* landscape terms */

    .terms_copy {
        white-space: pre-line;
        overflow: scroll;
        margin: 0vw 4vw calc(2*var(--header_footer_height)) 4vw;
    }

	.terms_container.show {
		background-color: #FFF;
	}

	#terms_image {
		width: 50%;
		position: relative;
	}

    .terms_content {
        margin: 0%;
       	width: 80vw;
		height: 86vh;
		top: var(--header_footer_height);
		left: 10vw;
		position: fixed;
		font-size: var(--font_size_18);
    }

    .terms_bullet {    
        margin-left: 1vw;
	}

	#landscape_terms_close {
		width: 1.2vw;
		right: 25.6vw;
		top: 2vh;
		position: inherit;
	}

	.copy_left_align {
		position: relative;
		left: -17vw;
		margin: 5vh 0vw 5vh 0vw;
	}

	#landscape_terms_mark {
		width: 4.2vw;
		margin: 4vh 0vw 0vh 0vw;
	}

	.landscape_sub_header {
		padding: 0;
	}

    #terms_anonymized_loom {
        width: 60vw;
        left: 7vw;
    }

    #terms_go_back {
        display: none;
    }

/* from canvas_2 */

        html foreignObject.tag {
            overflow: visible;
            font-weight: normal;
            text-align: center;
            color: black;
            cursor: pointer;
        }
        rect.active {
                stroke-width: stroke_width * 5;
            }
        path.active {
                stroke-width: stroke_width * 5;
            }
        .slider {
            position: fixed;
            width: 100%;
            height: 30%;
            bottom: 0;
            overflow: hidden;
            border: 3px solid darkgrey;
            background-color: lightgrey;
            transition: all 1s;
        }
        .slider.close {
            height: 0;
        }


        .pressed {
            color: white;
            background-color: black;
        }

/*READING PANEL*/
        #div_tags {
            position: absolute;
            top: 0px;
            left: 235px;
            width: 100%;
            height: 50px;
            overflow: hidden;
        }
        #svg_tags {
            position: absolute;
            top: 0px;
            left:0px;
            width: 100%;
            height: 50px;
            overflow: visible;
        }
}


