/* 7fb1bf - Our blue color */
/* fa5a5a - red button / text color */

/*
CTA - F1B117
Base - 67618F
*/

html,body,div,span,applet,object,iframe,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,label,legend,p,blockquote,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}body{line-height:1;color:black;background:white;}:focus{outline:0;}table{border-collapse:collapse;border-spacing:0;}caption,th,td{text-align:left;font-weight:normal;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}blockquote:before,blockquote:after,q:before,q:after{content:"";}blockquote,q{quotes:"" "";}abbr,acronym{border:0;}

html { height: 0; padding: 0; margin: 0; }
body { background: #FFFFFF; margin: 0; padding: 0; line-height: 1.1; }
/* body { font-family: "Source Sans 3", sans-serif; } */
body { font-family: "Poppins", sans-serif; font-weight: 300; }
/* body { font-family: Inter; } */
#body, #header { margin: 0; padding: 0; color: #302d43; font-size: 100%; line-height: 1.1; }
#body { padding: 5px 10px; padding-top: 20px; text-align: left; }
.header_link { color: white !important; }
.pagetitle { font-size: 230%; line-height: 1.1; margin-top: 10px; margin-bottom: 25px; }
.pagesubtitle { font-size: 130%; font-family: 'Montserrat', sans-serif; font-weight: bold; line-height: 1.1; }
.title_font { font-family: Mont; }

ul {list-style-type: disc; margin: 15px 0; margin-left: 40px; }
ol { list-style-type: decimal; margin: 15px 0;  margin-left: 40px; }
ol li, ul li { padding: 2px 5px; }

img { max-width: 100%; }
b, strong {
	font-weight: 700;
 }
input[type='checkbox'] { width:  13px; }
input:disabled, select:disabled { border: 1px solid #999999; background-color: #cccccc; color: #666666; }
#powerTip {
	white-space: normal;
 }
label.checkbox input[type="checkbox"]
{
	opacity: 0;
	position: absolute;
}
label.checkbox span
{
	display:inline-block;
	border-radius:3px;
	width:32px;
	height:32px;
	vertical-align:middle;
	margin:3px;
	position: relative;
     border: 2px solid black;
	border-radius: 5px;
	background: #FFFFFF;
}
label.checkbox :checked + span:after
{
	content: '\2714';
	font-size: 28px;
	position: absolute;
	top: 0px;
	left: 3px;
	color: #67618F;
}
.tool_option_label.checkbox :checked + span:after
{
	top: -5px !important;
}

.block { display: block; width: 100%; }
.bold { font-weight: bold; }
.bold_heavy { font-weight: 900; }
.transparent_bg { background-color: rgba(0,0,0,0.3) !important; }
.transparent_bg_dark { background-color: rgba(0,0,0,0.6) !important; }
.cta_filter { filter: invert(58%) sepia(100%) saturate(388%) hue-rotate(4deg) brightness(153%) contrast(94%); }
.warning_filter { filter: invert(19%) sepia(90%) saturate(6796%) hue-rotate(358deg) brightness(103%) contrast(112%); }

.bottomleft { position: absolute; bottom: 0 !important; left: 0 !important; }

#popup_center_container { position: fixed; width: 100%; height: 100%; z-index: 905; display: none; }
#popup_center_display { z-index: 906; position: fixed; left: 0; right: 0; top: 5%; width: 75%; height: 90%; max-height: 90%; margin: auto; max-width: 100%; border: solid 3px; border-radius: 5px; }
#accessibilityWidget { position: fixed; right: 10px; bottom: 5px; z-index: 100; width: 35px; border-radius: 30px; }

#message_notification_container { color: #000000; background-color: white; }
.message_subscribe_button { position: fixed; bottom: 25px; left: 25px; }
#message_notification_container {display: none; position: fixed; top: 0; width: 100%; z-index: 951; font-size: 115%; text-align: center; border-style: solid; border-width: 0px 0px 3px 0px; border-radius: 0px 5px 0 0;  }
#message_notification_area {display: table; padding: 10px; margin: 0 auto; margin-top: 10px; margin-bottom: 10px; text-align: center; width: 95%; }
#message_notification_text { display: table-cell; vertical-align: middle; text-align: center; margin: 0 auto; }
.message_notification_highlight_success { background-image:none !important; -webkit-animation: fadeOutSuccess 3s ease-in-out; -moz-animation: fadeOutSuccess 3s ease-in-out; -o-animation: fadeOutSuccess 3s ease-in-out; animation: fadeOutSuccess 3s ease-in-out; }
.message_notification_highlight_failure { background-image:none !important; -webkit-animation: fadeOutFailure 3s ease-in-out; -moz-animation: fadeOutFailure 3s ease-in-out; -o-animation: fadeOutFailure 3s ease-in-out; animation: fadeOutFailure 3s ease-in-out; }
.message_notification_color_success { background-image:none !important; background-color: green !important; }
.message_notification_color_failure { background-image:none !important; background-color: red !important; }
.button_highlight_anim { -webkit-animation: buttonActiveAnim 3s ease-in-out infinite; -moz-animation: buttonActiveAnim 3s ease-in-out infinite; -o-animation: buttonActiveAnim 3s ease-in-out infinite; animation: buttonActiveAnim 3s ease-in-out infinite; }
@keyframes fadeOutSuccess { 0%   { background-color: #FFFFFF; } 50%  { background-color: #BCED91; } 100% { background-color: #FFFFFF; }}
@keyframes fadeOutFailure { 0%   { background-color: #FFFFFF; } 50%  { background-color: #ff6666; } 100% { background-color: #FFFFFF; }}

#loading_container { display: none; text-align: center; }
#loading_background { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: #000000; z-index: 950; opacity: 0.80; }
#popup_background { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: #000000; z-index: 900; opacity: 0.80; }
#loading_text { position: fixed; width: 100%; top: 40%; transform: translate3d(0,-100%,0); padding: 20px 0; color: #FFFFFF; z-index: 951; font-size: 110%; border-radius: 10px; -webkit-backface-visibility: hidden; backface-visibility: hidden; filter: blur(0); -webkit-filter: blur(0); }
#loading_message { font-size: 130%; padding:  0 20px; }
#loading_icon_container { position: absolute; left: 49%; }
#loading_icon, #loading_circle { position: absolute; display: block; margin: 0 auto; top: 15px; border: 0; left: -30px; }

.animate_opacity { animation: opacity 2s infinite alternate; }
@keyframes opacity {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.rotate_180 { animation:rotate_180 0.5s linear; animation-fill-mode: forwards; }
@keyframes rotate_180 { 100% { transform: rotate(180deg); } }
.rotate_360 { animation:rotate_360 0.5s linear; animation-fill-mode: forwards; }
@keyframes rotate_360 { 100% { transform: rotate(0deg); } }

#loading_icon, .loading_icon { background-image: url('https://images.emdrremote.com/images/icons/loading_icon.png'); background-size: 100% 100%; width: 60px; height: 60px; }
.SpinForever { -webkit-animation:spin 1s linear infinite; -moz-animation:spin 1s linear infinite; animation:spin 1s linear infinite; }
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

.AlwaysSpinForever { -webkit-animation:alwaysspin 1s linear infinite; -moz-animation:alwaysspin 1s linear infinite; animation:alwaysspin 1s linear infinite; }
@-moz-keyframes alwaysspin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes alwaysspin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes alwaysspin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

#loading_circle { width: 60px; height: 60px; border-radius: 50px; background-color: white; }
.ScaleForever { -webkit-animation:scale 1.5s ease-in-out infinite alternate; -moz-animation:scale 1.5s ease-in-out infinite alternate; animation:scale 1.5s ease-in-out infinite alternate; }
@keyframes scale { 0% { transform: scale(0.15); }100% { transform: scale(0.4); }}

.leftright_animation {
	-moz-animation: leftright_animation 3s infinite;
	-webkit-animation: leftright_animation 3s infinite;
	animation: leftright_animation 3s infinite;
}

@keyframes leftright_animation {
	0%, 20%, 50%, 80%, 100% {
	  -moz-transform: translateX(0);
	  -ms-transform: translateX(0);
	  -webkit-transform: translateX(0);
	  transform: translateX(0);
	}
	40% {
	  -moz-transform: translateX(-20px);
	  -ms-transform: translateX(-20px);
	  -webkit-transform: translateX(-20px);
	  transform: translateX(-20px);
	}
	60% {
	  -moz-transform: translateX(-15px);
	  -ms-transform: translateX(-15px);
	  -webkit-transform: translateX(-15px);
	  transform: translateX(-15px);
	}
   }

.moveupdown_object {
	animation: MoveUpDown 1s linear infinite;
	position: absolute;
	left: 0;
	bottom: 0;
   }

   .moveleftright_object {
	animation: MoveLeftRight 1s linear infinite;
	position: absolute;
	left: 0;
	bottom: 0;
   }

   @keyframes MoveLeftRight {
	0%, 100% {
	  transform: translateX(0);
	}
	50% {
		transform: translateX(20%);
	}
   }
   @keyframes MoveUpDown {
	0%, 100% {
	  transform: translateY(0);
	}
	50% {
		transform: translateY(20%);
	}
   }

.pulsate {
	-webkit-animation: pulsate 3s ease-out;
	-webkit-animation-iteration-count: infinite;
	opacity: 0.2;
}
@-webkit-keyframes pulsate {
	0% {
		opacity: 0.2;
	}
	50% {
		opacity: 1.0;
	}
	100% {
		opacity: 0.2;
	}
}

.disabled_visually { background-color: lightgrey !important; }

.close_button {position: absolute; right: 0; bottom: -29px; line-height: 12px; font-size: 100%; padding: 7px 20px;  text-align: center; margin: 0 auto; border-radius: 3px 0 0 0; border-style: solid; border-width: 0px 3px 3px 3px; font-weight: bold; cursor: pointer; text-decoration: none; border-radius: 0 0 7px 7px; }
.close_button_top {position: absolute; right: 0; top: -29px; line-height: 12px; font-size: 110%; padding: 7px 20px; text-align: center; margin: 0 auto; border-radius: 3px 0 0 0; border-style: solid; border-width: 3px 3px 0px 3px; font-weight: bold; cursor: pointer; text-decoration: none; border-radius: 7px 7px 0px 0px; }
.close_button_simple { position: absolute; right: 0; top: 0; z-index: 5; color: red; line-height: 20px; font-size: 110%; text-align: center; margin: 0 auto; border-radius: 2px 2px 2px 2px; border-style: solid; border-width: 1px; padding: 3px 15px; font-weight: bold; cursor: pointer; text-decoration: none; border-radius: 4px;  }
.close_button_simple:hover {color: black; text-shadow: -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px 1px 0 #FFF; }
.close_button_simple_black { position: absolute; top: 0; left: 0; z-index: 5; line-height: 20px; font-size: 110%; text-align: center; border-color:  grey !important; border-radius: 2px 2px 2px 2px; border-style: solid; border-width: 1px; padding: 3px 15px; font-weight: bold; cursor: pointer; text-decoration: none; border-radius: 4px;  }
.close_button_simple_black:hover { text-decoration: none; color: red; text-shadow: -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px 1px 0 #FFF; }

.close_button { background-color: white; color: black; }
.close_button_top { background-color: white; color: black; }
.close_button:hover, .close_button_top:hover { color: black;  }
.close_button_simple_black { background-color: grey; color: white; }

.close_black_button {display: block; width: 25px; text-align: center; border-radius: 3px; padding: 0 15px; background-color: #000000; color: #ffffff; font-weight: bold; cursor: pointer; text-decoration: none; }
.close_red_button {display: block; width: 25px; text-align: center; border-radius: 3px; padding: 0 15px; background-color: #D22E2E; color: #ffffff; font-weight: bold; cursor: pointer; text-decoration: none; z-index: 10;}
.close_black_button:hover { background-color: #D22E2E; }
.close_red_button:hover { background-color: white; color: black; }
.close_no_border { font-weight: bold; padding: 5px 5px; }
.close_no_border:hover { color:  red; }

.block_display { display: block; }
.block_nodisplay { display: none; }
.hide { display: none; }

.cta_button, .cta_button_outline, .default_button, .default_button_outline, .default_close_button, .white_button_outline, .outline_close_button, .disabled_button
{ text-decoration: none !important; display: inline-block; cursor: pointer; overflow: hidden; max-width: calc(100%-60px); text-align: center; padding: 10px 30px;  border-radius: 3px; transition: background-color 2s, border 1s, color 1s; border-radius: 3px; text-decoration: none; line-height: 1.1; }

#powerTip { font-size: 90%; }
#save_notification { position: fixed; bottom: 5px; left: 15px; z-index: 1000; font-size: 100%; font-weight: bold; color: white; background-color: #4eba7e; padding: 10px 20px; border-radius: 3px; }

#popup_bottomleft_container { z-index: 900; position: fixed; display: none; left: 15px; bottom: 15px; height: auto; width: 300px; height: auto; border: solid 3px; border-radius: 5px; }
#popup_bottomright_container { z-index: 905; position: fixed; display: none; right: 15px; bottom: 15px; width: 400px; height: auto; border: solid 3px; border-radius: 5px; max-height: calc(100% - 50px); }
#popup_bottomright_display { padding: 15px; }
#popup_smallnotification_container { z-index: 910; text-align: center; position: fixed; display: none; background-color: green; color: white;  top: 5px; right: 5px; cursor: pointer; font-size: 95%; width: 400px; max-width: 100%; height: auto; border: solid 1px; border-radius: 5px; }
#popup_smallnotification_display { padding: 15px 10px; }
#popup_bottom_container { z-index: 900; position: fixed; display: none; left: 0px; bottom: 0px; width: 99%; height: auto; border: solid 3px; border-bottom: 0; border-radius: 5px; }
#popup_social_container { z-index: 10; position: fixed; display: none; right: 200px; max-width: 300px; bottom: 0px; width: auto; height: auto; border: solid 2px grey; border-radius: 5px 5px 0 0; line-height: 1.2; padding: 5px 15px; font-size: 90%; color: white; }
#popup_fullscreen_container, #popup_tutorial_container { position: fixed; width: 100%; height: 100%; z-index: 800; display: none; }
#popup_fullscreen_display { z-index: 901; position: fixed; left: 0; right: 0; top:1%; background-color: #FFFFFF; max-width: 1280px; margin: 0 auto; max-height: 98%; height: 98%; margin: auto; border: solid 3px; border-radius: 5px; overflow: hidden; }
.popup_fullscreen_display_autosize { z-index: 901; position: fixed; left: 0; right: 0; top:1%; background-color: #FFFFFF; max-width: 1280px; margin: 0 auto; height: auto !important; width: auto !important; margin: auto; border: solid 3px; border-radius: 5px; overflow: hidden; }
#right_settings_panel_container { background-color: #FFFFFF; border-left: solid 2px grey !important; }

#popup_bottom_container { background-color: black; color: white !important;  }
#popup_center_display, #popup_bottomleft_container, #popup_bottomright_container { background-color: white; color: black; }

#popup_tutorial_container { padding: 20px; }
#popup_tutorial_display { position: relative; z-index: 1000; }
#popup_tutorial_title, #popup_tutorial_instructions { position: relative; color: white; z-index: 1000; }
#popup_tutorial_title { font-size: 160%; }
#popup_tutorial_instructions { font-size: 110%; margin-top: 20px; }
.tutorial_arrow_container { position: relative; height: 65px; width: 100%; pointer-events: none;  }
.tutorial_arrow { width: 75px; height: 75px; }
.tutorial_list li { padding: 10px; }

#tutorial_container { line-height: 1.5; }
#tutorial_header { padding: 10px 20px;  }
#tutorial_title { position: relative; top: 3px; float: left; font-size: 150%; font-weight: 500; line-height: 1.2;}
#tutorial_content { position: relative; max-height: calc(100% - 60px); padding: 20px; padding-bottom: 35%;}
.tutorial_session_content { font-size: 110%; }
#tutorial_sound_select_container { padding-left: 70px; }
.tutorial_video_container { float: left; position:relative; width: 905px; height: 509px; max-height: 509px; padding: 0; max-width: calc(100vw - 45px); margin-right: 15px; }
.tutorial_video_options_container { float: left; width: calc(100% - 930px); max-width: calc(100vw - 45px); text-align: center; }
.header_menu_container { padding: 5px 15px; }
.header_menu_container .hm_logo { float: left; width: 85px; height: 52px; }
.header_menu_container #hm_menu_desktop { display: block; }
.header_menu_container #hm_menu_mobile { display: none; }
.header_menu_container #hm_menu_mobile_menu { display: none; }

.header_menu_container .hm_link_container {
	float: right;
	margin-top: 13px;
}
.header_menu_container .hm_link {
	font-family: Mont;
	font-style: normal;
	font-weight: 800;
	font-size: 18px;
	line-height: 23px;
	letter-spacing: -0.01em;
	color: #F4F3F4;
	margin: 0 10px;
	transition: color 0.5s, border-color 0.5s;
}


.header_menu_container .hm_link_cta {
	font-weight: 700;
	padding: 8px 32px;
	width: 118px;
	height: 39px;
	border: 2px solid #F4F3F4;
	box-sizing: border-box;
	border-radius: 50px;
}

#index_sitename { font-size: 400%; margin-top: 0px; line-height: 1.1; margin-bottom: 30px; }
#index_cta_button { float: left; padding: 50px 50px; font-size: 180%; margin: 20px 0; border-radius: 5px;  }
#index_cta_divider { float: left; display: inline-block; font-size: 200%; font-weight: bold; padding: 80px 70px; }
#index_cta_other_actions_container { float: right; width: 300px; }
.index_options_container { margin: 0 auto; padding: 40px 100px; margin-top: 20px; display: inline-block; }
.index_col { position: relative; display: inline-block; width: 300px; }
.index_col_1 { float: left; }
.index_col_2 { float: right; }
.index_col_divider { float: left; width: 50px; }
.index_row_divider { clear: both; margin-bottom: 80px; }
.index_button_label { position: relative; top: 18px; font-size: 110%; }

#login_searchbar { width: 100%; margin: 0; margin-bottom: 5px; }
#login_col_1 { float: left; width: 400px; padding-left: 10px; }
#login_col_2 { position: relative; float: right; width: calc(100% - 570px); }

#server_shutdown_disclaimer { position: absolute; top: -80px; }
.client_login_button { width: 300px !important; height: 50px; float: left; margin-right: 10px !important; }
.therapist_login_container { float: left; width: 100%; }
.therapist_login_button { width: 300px !important; height: 50px; float: left; margin-right: 10px !important; }
.therapist_login_or { text-align: center; font-size: 140%; margin: 35px 0; font-weight: bold; }

#passes_counter { font-size: 150%; font-weight: bold; margin-right: 5px; }

#shape, .shape { position: absolute; will-change: transform; z-index: 100; pointer-events: auto; }

.shape_circle { border-radius: 50%; }
.shape_square { border-radius: 0; }
.shape_rectangle { border-radius: 0;}
.shape_oval { border-radius: 50%; }
.shape_icon_container { display: inline-block; }
.shape_icon { width: 50px; margin: 0 10px; }
.settings_lightbar, .settings_general, .settings_profile, .settings_cookie { width: 100%; }

.input_label { display: inline-block; margin-right: 10px; }
.input_label_overlay { position: absolute; bottom: 2px; right: 5px; color: dimgrey; font-size: 80%; text-align: right; pointer-events: none; }

.input_container { margin-bottom: 10px; }
.input { padding: 10px 10px; padding-bottom: 12px; font-size: 100%; margin-bottom: 5px; border: solid 1px lightgrey;}
.select { display: block; padding: 10px 10px; font-size: 110%; margin-bottom: 5px; }
.input_signup { width: 100%; }
.link { color: inherit; cursor: pointer; text-decoration: none; transition: color 0.5s, background-color 0.5s, border-color 0.5s; }
.link:hover { color: inherit; text-decoration: none; }

#lightbar_menu { position: fixed; left: 5px; bottom: 25px; width: auto; border-radius: 3px; padding-top: 10px; padding-left: 15px; padding-bottom: 10px; padding-right: 10px; z-index: 5; max-height: 120px; background-color: rgba(255, 255, 255, 0.5); }
.lightbar_menu_button { margin: 0; font-size: 85%; text-align: center; margin-bottom: 3px; }
#stopwatch_container { margin-bottom: 5px; }
#passes_counter_container { width: 130px; font-size: 95%; }

.sound_select_column { float: right; width: calc(33%); padding: 20px; }
.sound_select_column_title { text-align: center; font-size: 110%; font-weight: bold; border-bottom: solid 1px grey; margin-bottom: 10px; }
.sound_select_link { display: block; padding: 10px; }

#settings_container { position: relative; text-align: left; padding-bottom: 50px; }
#settings_content { padding: 0 10px; }
.settings_titlebar { padding: 14px 20px; padding-bottom: 15px; background-color: grey; color: white; text-align: center; font-weight: bold; font-size: 120%; margin-bottom: 20px; }
.settings_input_label { width: 100%; padding-bottom: 2px; padding-left: 2px; }
.setting_tag { display: inline-block; padding: 7px 15px; border: solid 2px #7fb1bf; background-color: rgba(127, 177, 191, 0.7); color: white; border-radius: 5px; margin: 3px 1px;}

#video_service_disclaimer { position: relative; font-size: 90%; margin-bottom: 20px; }
#zmmtg-root, .video_container { position: absolute; contain: layout; background-color: transparent !important; z-index: 1; } /* transparent */
#zmmtg-root #content_container { max-height: 100% !important; overflow-y: scroll; }

.gear_icon, .tools_icon, .help_icon, .lightbar_icon, .phone_icon, .arrow_box_up_icon, .minimize_icon, .invite_icon, .add_icon { background-size: 100% 100%; width: 30px; height: 30px; text-align: center; }

#install_pwa_container { position: fixed; bottom: 0; padding: 20px; left: 0; right: 0;  z-index: 100; }
#install_buttom_label { display: block; color: white; margin-bottom: 10px; font-size: 120%; }

/* Client View */
#client_view_container { display: block; visibility: hidden; position: fixed; bottom: 0; top: 0; z-index: 10; width: 100%; height: 100%; overflow: hidden; pointer-events: none; }
/* Keep native movement in layout and hide the preview after its closing slide. */
#client_view_container.client_view_renderer_browser
{
	height: 0;
	transition: height 600ms ease-in-out, visibility 0s 600ms;
}
#client_view_container.client_view_renderer_browser.client_view_open
{
	height: 100%;
	visibility: visible;
	transition-delay: 0s;
}
#client_view_menu { pointer-events: auto; }
#client_view_controls { position: relative; z-index: 7; padding-left: 7px; padding-top: 3px;  }
#client_view { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 15px; overflow: hidden; }
#client_view_label { padding: 10px; font-size: 110%; }
#client_view_label_title {  font-weight: bold; }
#client_view_label_text { padding-top: 6px; }
#client_view_label_close { font-size: 80%; margin-top: 15px; }

/* Waiting Room */
#toggle_email_client_button { position: absolute; top: 5px; right: 5px; padding: 10px 0px; text-align: center; width: 220px; z-index: 5; }
#controls_help_button { position: absolute; top: 5px; right: 230px; padding: 10px 30px; width: 180px; text-align: center; z-index: 5; }
#waiting_room { position: relative; z-index: 6; }
#waiting_room_icon_container { position: relative; z-index: 1; }
.helptip { position: absolute; top: 0; font-weight: bold; cursor: help; }
.helptip_title { text-decoration: underline; font-weight: bold; margin-bottom: 10px; }
.helptip_content { font-size: 90%; }
.tooltip_popup { font-size: 75% !important; opacity: 1 !important; background-color: white !important; padding: 10px 15px !important; border: solid 1px lightgrey !important; right: 0px; top: 0px; font-weight: normal; font-size: 80%; }

.homepage_calltoaction { font-size: 170%;  }
.help_tutorial_container { float: left; width: 500px; margin: 40px; margin-bottom: 70px; }
.help_title { text-align: center; font-size: 110%; font-weight: bold; border-bottom: solid 1px grey; margin-bottom: 10px; margin-top: 10px;}
.help_content { padding: 10px; }

.faq_search_label { margin-right: 10px; }
.faq_search_input { margin-bottom: 20px; }

.faq_container { margin-bottom: 50px; }
.faq_question { font-size: 130%; line-height: 1.1; font-weight: bold; margin-bottom: 5px; text-decoration: underline; }
.faq_answer { margin-bottom: 40px; }
.faq_iframe_container { margin-top: 15px; }

.blog_menu, .blog_content_container { position: fixed; top: 85px; padding: 15px; height: calc(100vh - 85px); overflow-y: auto; }
.blog_menu { width: 280px; }
.blog_content_container { right: 0px; width: calc(100% - 320px); }
.blog_menu_title { font-size: 120%; margin-bottom: 10px; }

.blog_content_section_title { font-weight: bold; font-size: 120%; }
.blog_content_section { margin-bottom: 50px; }

.news_container { margin-bottom: 50px; margin-left: 10px; }
.news_content { margin-top: 10px;  }
.news_content li { padding: 5px; padding-left: 0; }

#google_translate_element, #google_translate_button { position: fixed; right: 0; bottom: 0; background-color: darkgrey; padding: 5px 15px; border-radius: 5px 0 0 0; }
#google_translate_element { display: none; }
#google_translate_element select { padding: 8px 12px; }
#google_translate_button { color: white; }

.admin_table { border-collapse: collapse; text-align: left; }
.admin_table td { padding: 10px 25px; border-bottom: solid 1px lightgrey; }

#admin_stats_table { width: 100%; max-width: 1280px; font-size: 100%; }
#admin_email_list { width: calc(100% - 450px); max-width: 48%; float: right; text-align: left; }

.promocode_enter_message { margin-top: 40px; color: #7fb1bf;  }

/* Signup Page */
.signup_page { position: relative; max-width: 1440px; margin: 0 auto; margin-top: 5px; }
.signup_title { font-family: Mont; font-style: normal; font-weight: 800; font-size: 32px; line-height: 41px; letter-spacing: -0.02em; color: #67618F; }
.signup_title_subline { font-family: Inter; font-style: italic; font-weight: normal; font-size: 24px; line-height: 150%; margin-top: 10px; color:#828282; }
.signup_container { position: relative; padding: 64px; max-width: 488px; margin: 30px auto; background: #F4F3F4; border-radius: 20px; }
.signup_input_fields_container { padding: 0px; margin-bottom: 30px; }
.signup_input_fields_container_logged_in { height: 140px; }
.signup_input_name { padding: 16px; height: 59px; width: 100%; border: 2px solid #E0E0E0; box-sizing: border-box; border-radius: 10px; }
.signup_input_email { padding: 16px; height: 59px; width: 100%; border: 2px solid #E0E0E0; box-sizing: border-box; border-radius: 10px; }

.signup_agreement_container { position: relative; height: 90px; }
.signup_agreement_checkbox_container { position: absolute; width: 32px; height: 32px; left: -20px; top: -8px; }
.signup_agreement_text { position: absolute; width: calc(100% - 50px); left: 48px; top: -8px; text-align: left; font-family: Inter; font-style: normal; font-weight: normal; font-size: 16px; line-height: 150%;  }

.signup_button_cta { margin-top: 0px; }

.old_button_cta { display: block; padding: 16px 32px; border-radius: 50px; font-family: Mont; font-style: normal; font-weight: 800; font-size: 18px; line-height: 19px; text-align: center; letter-spacing: -0.01em;  }
.old_button_standard { display: block; padding: 16px 32px; height: 55px; border-radius: 50px; font-family: Mont; font-style: normal; font-weight: 800; font-size: 18px; line-height: 23px; text-align: center; letter-spacing: -0.01em; }
.signup_additional_links { margin-top: 20px; }

/* Login Page */
.login_logo { margin-bottom: 40px; width: 215px; }
.flexrow { display: flex; flex-wrap: wrap; grid-gap: 80px; justify-content: center; width: 100%; flex-direction: row; }
.flexcolumn { display: flex; flex-direction: column; flex-basis: 100%; }

.login_container { display: table-cell; position: relative; padding: 32px 64px; width: 550px; height: 515px; background: #F4F3F4; border-radius: 20px; }
.login_container_title { font-family: Mont; font-style: normal; font-weight: 800; font-size: 32px; line-height: 31px; letter-spacing: -0.02em; margin-bottom: 30px; }
.login_client_title { margin-bottom: 85px; }
.login_client_subtitle { margin-bottom: 10px; }
.login_input_fields_client {  }
.login_button_cta { margin-bottom: 32px; }
.login_forgot_link { font-family: Inter; font-style: normal; font-weight: normal; font-size: 16px; line-height: 19px; }
.login_upgrade_link { font-family: Inter; font-style: normal; font-weight: normal; font-size: 16px; line-height: 19px; color: #302D43; }
.login_upgrade_link_logged_in { padding-top: 10px; }
.login_find_therapist { font-family: Inter; font-style: normal; font-weight: normal; font-size: 16px; line-height: 19px; }

.select2-selection__arrow { display: none; }
.select2-results { padding: 10px; }

/* Purchase Page */
.signup_page { padding-bottom: 100px; }
.purchase_tiers_container { height: 700px; }
.purchase_details_container { height: auto; }
.purchase_label { font-size: 120%; }
.purchase_sublabel { font-size: 90%; font-weight: normal; line-height: 1.3; }
.purchase_action_container { display: none; }
#purchase_upgrade_button { font-weight: bold; }
.signup_agreement_container { margin-top: 25px; }
#promocode_container_message { display: none; }
.signup_title { margin-bottom: 10px; }

#purchase_upgrade_button { color: white; }
#price_summary { margin-bottom: 30px; }
.plan_details_container { display: none; }
.plan_details_list { text-align: left; }
.plan_details_list li { padding-top: 5px; }
.inputGroup { background-color: #fff; display: block; margin: 10px 0; position: relative; line-height: 1.6; font-weight: 600; }
.inputGroup label { padding: 12px 25px; width: 100%; display: block; text-align: left; color: #3C454C; cursor: pointer; position: relative; z-index: 2; -webkit-transition: color 400ms ease-in; transition: color 400ms ease-in; overflow: hidden; }
label .purchase_label { color: #67618F; -webkit-transition: color 400ms ease-in; transition: color 400ms ease-in; }
.inputGroup label:before { width: 10px; height: 10px; border-radius: 50%; content: ''; background-color: #67618F; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%) scale3d(1, 1, 1); transform: translate(-50%, -50%) scale3d(1, 1, 1); -webkit-transition: all 800ms cubic-bezier(0.4, 0, 0.2, 1); transition: all 800ms cubic-bezier(0.4, 0, 0.2, 1); opacity: 0; z-index: -1; }
.inputGroup label:after { width: 32px; height: 32px; content: ''; border: 2px solid #D1D7DC; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.414 11L4 12.414l5.414 5.414L20.828 6.414 19.414 5l-10 10z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E "); background-repeat: no-repeat; background-position: 2px 3px; border-radius: 50%; z-index: 2; position: absolute; right: 20px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); cursor: pointer; -webkit-transition: all 200ms ease-in; transition: all 200ms ease-in; }
.inputGroup input:checked ~ label { color: #fff; }
.inputGroup input:checked ~ label .purchase_label { color: #fff; }
.inputGroup input:checked ~ label:before { -webkit-transform: translate(-50%, -50%) scale3d(56, 56, 1); transform: translate(-50%, -50%) scale3d(56, 56, 1); opacity: 1; }
.inputGroup input:checked ~ label:after { background-color: #E7E5F1; border-color: #B1A9E3; }
.inputGroup input { width: 32px; height: 32px; -webkit-box-ordinal-group: 2; order: 1; z-index: 2; position: absolute; right: 30px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); cursor: pointer; visibility: hidden; }
#subscription_form { max-width: 550px; margin: 50px auto; font-size: 18px; }

.alertify { position: relative; z-index: 99999 !important; }
.s-alert-box { z-index: 99999 !important; }

#lobby { position: relative; width: 1000px; max-width: 100vw; margin: 0 auto; margin-top: 0; padding: 0; height: calc(100vh - 130px); background-color: white; }
#lobby #game_container { position: absolute; bottom: 0; left: 0; text-align: center; padding: 25px; max-width: 100vw; overflow: hidden; }
#lobby #lobby_title_container { display: inline-block; position: relative; padding: 20px;  }
#lobby #lobby_title { font-size: 250%; font-weight: bold; margin-bottom: 3px;}
#lobby #game_title { margin-bottom: 10px;}
#client_chat_container { position: absolute; top: 0; right: 0; bottom: 0; width: 500px; }
#chat_panels_container
{
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 1001;
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-end;
	gap: 8px;
	max-width: 100%;
	pointer-events: none;
}
.therapist_chat_container
{
	flex: 0 1 300px;
	width: 300px;
	min-width: 0;
	pointer-events: auto;
}
.chat_display_container
{
	border: solid 1px;
	border-radius: 5px 5px 0 0;
	font-size: 90%;
	text-align: left;
}
.chat_display_container > summary
{
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 5px 8px;
	border-bottom-left-radius: 0;
	cursor: pointer;
	list-style: none;
}
.chat_display_container > summary::-webkit-details-marker
{
	display: none;
}
.chat_display_container #chat_header_name
{
	flex: 1;
	min-width: 0;
	text-align: left;
	overflow-wrap: anywhere;
}
.chat_display_container #chat_close_button
{
	padding: 8px;
	min-width: 36px;
	min-height: 36px;
}
.chat_disclosure_icon
{
	flex: 0 0 24px;
	text-align: center;
}
.chat_display_container:not([open]) .chat_disclosure_icon
{
	transform: rotate(180deg);
}
.chat_panel_body
{
	display: flex;
	flex-direction: column;
	height: min(400px, calc(100vh - 85px));
	height: min(400px, calc(100dvh - 85px));
}
.chat_hipaa_notice
{
	flex: 0 0 auto;
	padding: 4px;
	border-top-left-radius: 0;
	font-size: 90%;
	text-align: left;
}
.chat_display_container #chat_display_messages
{
	flex: 1;
	min-height: 0;
	padding: 0 12px 12px;
	overflow-y: auto;
	overflow-wrap: anywhere;
	overscroll-behavior: contain;
}
.chat_display_container #chat_display_input_container
{
	display: flex;
	flex: 0 0 auto;
	align-items: stretch;
}
.chat_display_container #message_input
{
	flex: 1;
	min-width: 0;
	width: 100%;
	height: 60px;
	padding: 8px;
	resize: none;
	font-size: 16px;
}
.chat_display_container #message_input_button
{
	flex: 0 0 75px;
	padding: 8px;
}
.chat_display_container #message_input_button:disabled
{
	opacity: 0.6;
}
.chat_display_container #client_chat_notification
{
	display: none;
}
.chat_display_container:not([open]) #client_chat_notification.animate_opacity
{
	display: block;
}
.chat_display_container .message_left
{
	text-align: left;
}
.chat_display_container .message_right
{
	text-align: right;
}
.chat_display_container .message_new
{
	margin-top: 12px;
}
.chat_display_container .message_append
{
	margin-top: 4px;
}
.chat_display_container .message_user_title
{
	display: inline-block;
	padding: 5px 10px;
	margin-bottom: 4px;
	border-radius: 4px;
}
.chat_display_container .message_text
{
	white-space: pre-wrap;
}
.chat_display_container :focus-visible
{
	outline: 2px solid;
	outline-offset: -2px;
}
#message_input { color: black; }
#lobby_tool_select { max-width: 100vw; width: 600px; margin: 0 auto; text-align: left; }
.lobby_button { width: 275px; margin: 10px; padding: 20px !important; }

#article_container { line-height: 1.5; }
#article_content h1 { font-size: 150%; font-weight: 600;}
.btn-two { text-align: center; }

.pc_hide { display: none; }

/* all smaller devices */
@media all and (max-width: 1279px)
{
	.header_menu_container .hm_logo { width: 65px; height: 42px; }
	.header_menu_container #hm_menu_desktop { display: none; }
	.header_menu_container #hm_menu_mobile { display: block; }
	.header_menu_container #hm_menu_mobile_menu { position: absolute; left: 0; top: 70px; width: 100%; z-index: 5; padding-bottom: 10px; }
	.header_menu_container .hm_link { display: block; padding: 5px 15px; }
	.header_menu_container .hm_link_cta { width: auto; margin-top: 10px; }
	.faq_search_label { display: block; margin-right: 0px; margin-bottom: 3px; }
	.faq_search_input { width: 100%; }
	.faq_iframe_container { margin: 0; padding: 0; }

	#install_pwa_container { bottom: auto; top: 0; padding: 10px;}
	#install_buttom_label { display: block; margin-bottom: 10px; }

	#popup_bottom_container { width: 98%; }
	#popup_center_display { width: 98%; }
	#popup_social_container { left: 5px; font-size: 85%; padding: 5px 10px; }
	#popup_fullscreen_display { top: 0; height: 99%; }
	#popup_smallnotification_container { left: 0; margin: 0; width: 100%; border: 0;  }

	.hide_mobile, .mobile_hide { display: none; }
	.pc_hide { display: block; }
	#server_shutdown_disclaimer { position: relative !important; top: 0 !important; margin-bottom: 20px; }

	.help_tutorial_container { float: left; margin: 0px; margin-bottom: 80px; max-width: 100%; }
	.help_tutorial_iframe { max-width: 100%; }

	#index_sitename {font-size: 10vw; margin-top: 20px; }
	.index_options_container { display: block; width: 100%; padding: 40px 0px; margin-top: 20px; }
	.index_col { width: 100%; }
	.index_col_divider { height: 10px; }
	.index_button_label { display: block; top: 0; margin-top: 10px; }
	#index_cta_button { width: 100%; margin: 0; }
	#index_cta_divider { width: 100%; padding: 30px 0; }
	#index_cta_other_actions_container { width: 100%; }
	.index_cta_other_actions { width: 100%; }

	#login_col_1, #login_col_2 { display: block; width: 100%; clear: both; padding: 0;}
	.client_login_button { margin-right: 0; width: 100% !important; }

	.flexrow { grid-gap: 30px; }
	.therapist_login_or { margin: 0; }
	.purchase_tiers_container { height: auto; }

	#tutorial_header { padding: 5px 10px; padding-top: 0; padding-bottom: 10px; }
	#tutorial_title { display: block; width: 100%; margin-bottom: 10px; font-size: 140%;}
	#tutorial_sound_select_container { padding: 0; }
	.tutorial_video_container { margin: 0px; padding: 0px; height: 200px; }
	.tutorial_video_options_container { width: 100%; }

	#lobby_tool_select { max-width: 100vw; width: auto; }
	.lobby_button { display: block; width: auto; padding: 20px 0px !important; }
}

/* tablet */
@media all and (min-width: 767px) and (max-width: 1279px)
{

}

/* mobile - wide view */
@media all and (max-width: 1023px) and (orientation:landscape)
{
	.blog_menu, .blog_content_container { position: relative; width: 100%; left: 0; top: 0; }
	.blog_content { padding: 5px; }
	.blog_menu { margin-bottom: 50px; }
}

/* mobile - tall view */
@media all and (max-width: 767px) and (orientation:portrait)
{
	#body { margin-top: 0px; padding-top: 0px; }
	.blog_menu, .blog_content_container { position: relative; width: 100%; left: 0; top: 0; }
	.blog_content { padding: 5px; }
	.blog_menu { margin-bottom: 50px; }

	#admin_stats_table, #admin_email_list { float: left; clear: both; width: 100%; margin-bottom: 50px; }

	/* Signup Page */
	.signup_page, .signup_container, .login_container { max-width: 100%; }
	.signup_container, .login_container {padding: 32px 15px; }
	.login_logo { margin-bottom: 30px; }
	.login_client_title { margin-bottom: 30px; }
	.login_input_fields_client { margin-bottom: 30px; }
	.client_login_container { height: 340px; }

	.therapist_chat_container
	{
		width: min(360px, 100vw);
		flex-basis: 360px;
	}
}

.print_show { display: none !important; }

@media print
{
	html, header, body, a {background-color: white !important; color: black !important; font-color: black !important; font-size: 85% !important; }
	#body, #manager_container { background-color: white !important; width: auto !important; max-width: 99% !important; color: black !important; }
	.basic_link { color: black !important; }
	.print_to_black { color: black !important; }

	#footer, .footer, #footer_top_padding, .push { display: none; }
	.print_show { display: block !important; }
	.print_hide { display: none !important; height: 0 !important; visibility: hidden; }

}
