1<!DOCTYPE HTML> 2<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"> 3<head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=1"> 7 8 <!-- Preconnect --> 9 <link rel="preconnect" href="https://www.optimizecdn.com" crossorigin> 10 <link rel="preconnect" href="https://fonts.googleapis.com"> 11 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 12 <link rel="apple-touch-icon" href="/images/VCJ---FAVICON--512-x-512-1.png"> 13 <link rel="icon" type="image/png" href="/images/VCJ---FAVICON--512-x-512-1.png"> 14 15 <!-- Site Meta Data --> 16 <title>Login Now - VetClinicJobs</title> 17 <meta name="description" content="Login to your account on VetClinicJobs"> 18 <meta name="keywords" content="vet clinic jobs,vet clinic jobs"> 19 <meta name="robots" content="index, follow"> 20 21 <!-- Canonical URL --> 22 <link rel="canonical" href="https://www.vetclinicjobs.com/login"> 23 <link rel="alternate" type="application/rss+xml" title="VetClinicJobs RSS Feed" href="https://www.vetclinicjobs.com/rss" /> 24 25 <!-- Social Media Meta Data --> 26 <meta property="og:type" content="website"> 27 <meta property="og:url" content="https://www.vetclinicjobs.com/login"> 28 <meta property="og:site_name" content="VetClinicJobs"> 29 <meta property="og:title" content="Login Now - VetClinicJobs"> 30 <meta property="og:description" content="Login to your account on vetclinicjobs. "> 31 <meta property="og:image" content="https://www.vetclinicjobs.com/images/CoverPhotos/3a.jpg"> 32
32<script> 33 if (window.innerWidth <= 768 && !document.referrer) { 34 document.write('<div id="mobile-loading-message" aria-hidden="true" onwheel="event.preventDefault()" ontouchmove="event.preventDefault()" style="display:block;position:sticky;top:0;width:100vw;height:100vh;background:rgb(255, 255, 255);color:rgb(51, 51, 51);z-index:9999;font-family:Arial,sans-serif;font-size:16px;line-height:24px;padding-top:50px;text-align:center;touch-action:none;overscroll-behavior:none;pointer-events:auto;"><div style="width:24px;height:24px;border:3px solid rgba(99,111,124,0.2);border-top-color:rgb(99,111,124);border-radius:50%;animation:spin 1.5s linear infinite;margin:10px auto"></div><span class="text" role="status">Loading<br>VetClinicJobs</span></div><style>@keyframes spin{to{transform:rotate(360deg);}}</style>'); 35 setTimeout(function(){var p=document.getElementById('mobile-loading-message');if(p){p.style.display='none';p.classList.add('hidden-xs','hide');}},7500);} 36 </script>
36 37 38 <!-- Preload --> 39 <link rel="preload" as="style" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=09.05.26" fetchpriority="high" crossorigin> 40 <link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900|Quicksand:300,400,600,700,800,900&display=swap" fetchpriority="high"> 41 <link rel="preload" href="/images/freshbg.webp" as="image" fetchpriority="high"> 42 43 <!-- Non-Critical Stylesheet - Render Before Critical Styles --> 44 <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css?v=3.3.0" crossorigin> 45 <noscript> 46 <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css" crossorigin> 47 </noscript> 48 49 <!-- Critical Stylesheet --> 50 <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=09.05.26" crossorigin> 51 52 <!-- Google Fonts Stylesheet --> 53 <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900|Quicksand:300,400,600,700,800,900&display=swap"> 54 <noscript> 55 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900|Quicksand:300,400,600,700,800,900&display=swap"> 56 </noscript> 57 58 <!-- FontAwesome Stylesheet --> 59 <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css" crossorigin> 60 <noscript> 61 <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css" crossorigin> 62 </noscript> 63 64 <!-- Bootstrap Icons Stylesheet --> 65 <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1" crossorigin> 66 <noscript> 67 <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1" crossorigin> 68 </noscript> 69 70 <!-- Critical JavaScript --> 71
71<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/jquery.min.js"></script>
71 72
72<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/bootstrap.min.js"></script>
72 73
73<script> 74 /* jQuery.event.special.touchstart = { 75 setup: function( _, ns, handle ) { 76 this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") }); 77 } 78 }; */ 79 jQuery.event.special.touchmove = { 80 setup: function( _, ns, handle ) { 81 this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") }); 82 } 83 }; 84 jQuery.event.special.wheel = { 85 setup: function( _, ns, handle ){ 86 this.addEventListener("wheel", handle, { passive: true }); 87 } 88 }; 89 jQuery.event.special.mousewheel = { 90 setup: function( _, ns, handle ){ 91 this.addEventListener("mousewheel", handle, { passive: true }); 92 } 93 }; 94 </script>
94 95 96 <!-- Breadcrumb Position --> 97 <style>html.bc-relocate .container:has(> .breadcrumb):has(~ .hero_section_container) .breadcrumb{display:none!important;}html.bc-relocate .hero_section_container + .clearfix + .container::before{content:"";display:block;min-height:24px;}.hero_section_container + .clearfix + .container > .breadcrumb:first-child{position:relative;top:-24px;}</style> 98
98<script>document.documentElement.classList.add('bc-relocate');document.addEventListener('DOMContentLoaded',function(){var bc=document.querySelector('ol.breadcrumb'),hero=document.querySelector('.hero_section_container');if(bc&&hero){var t=hero.nextElementSibling;while(t&&!t.classList.contains('container'))t=t.nextElementSibling;if(t)t.insertBefore(bc,t.firstChild);}document.documentElement.classList.remove('bc-relocate');});</script>
98 99 100 101 <!-- Prefetch --> 102 <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js" as="script"> 103 <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=8.0.0" as="script"> 104 105 <!-- Custom Site-wide HEAD Content -->
105<script> 106/* On Change */ 107$(document).ready(function(){ 108 const maxAllowed = 4; 109 110 $('input[name="professional_interests[]"]').on('change', function() { 111 const checkedCount = $('input[name="professional_interests[]"]:checked').length; 112 113 if (checkedCount > maxAllowed) { 114 $(this).prop('checked', false); // Undo the last check 115 $('#message').text(`You can select only ${maxAllowed} options.`); 116 } else { 117 $('#message').text(''); 118 } 119 }); 120 121 $("#our_team_details_347-element-13").change(function(){ 122 var profile_type = $(this).val(); 123 124 if(profile_type == 'essentials'){ 125 126 /* Career Profile */ 127 $("#our_team_details_347-element-19, #our_team_details_347-element-20, #our_team_details_347-element-21, #our_team_details_347-element-22, #our_team_details_347-element-23, #our_team_details_347-element-25").parent().hide(); 128 $("#our_team_details_347-element-24-0, #our_team_details_347-element-24-1").parent().closest(".form-group").hide(); 129 $("#our_team_details_347").children(".account-menu-title").eq(1).hide(); 130 131 /* Professional Development */ 132 $("#our_team_details_347-element-28, #our_team_details_347-element-29, #our_team_details_347-element-30").parent().hide(); 133 $("#our_team_details_347").children(".account-menu-title").eq(2).hide(); 134 135 /* Work Environment */ 136 $("#our_team_details_347-element-32, #our_team_details_347-element-33, #our_team_details_347-element-34, #our_team_details_347-element-35").parent().hide(); 137 $("#our_team_details_347").children(".account-menu-title").eq(3).hide(); 138 139 /* Career Growth */ 140 $("#our_team_details_347-element-38").parent().hide(); 141 142 /* Personal Touch */ 143 $("#our_team_details_347-element-40, #our_team_details_347-element-41, #our_team_details_347-element-42").parent().hide(); 144 $("#our_team_details_347").children(".account-menu-title").eq(5).hide(); 145 146 } else if(profile_type == 'enhanced'){ 147 148 /* Career Profile */ 149 $("#our_team_details_347-element-19, #our_team_details_347-element-20, #our_team_details_347-element-21, #our_team_details_347-element-22, #our_team_details_347-element-23, #our_team_details_347-element-25").parent().hide(); 150 $("#our_team_details_347-element-24-0, #our_team_details_347-element-24-1").parent().closest(".form-group").hide(); 151 $("#our_team_details_347").children(".account-menu-title").eq(1).hide(); 152 153 /* Professional Development */ 154 $("#our_team_details_347-element-28, #our_team_details_347-element-29, #our_team_details_347-element-30").parent().hide(); 155 $("#our_team_details_347").children(".account-menu-title").eq(2).hide(); 156 157 /* Work Environment */ 158 $("#our_team_details_347-element-32, #our_team_details_347-element-33, #our_team_details_347-element-34, #our_team_details_347-element-35").parent().show(); 159 $("#our_team_details_347").children(".account-menu-title").eq(3).show(); 160 161 const fieldsWork = ['#our_team_details_347-element-32', '#our_team_details_347-element-33', '#our_team_details_347-element-34', '#our_team_details_347-element-35']; 162 163 $(fieldsWork.join(',')).on('input', function() { 164 const filledField = $(this); 165 const hasValue = filledField.val().trim() !== ''; 166 167 if (hasValue) { 168 fieldsWork.forEach(id => { 169 if (id !== '#' + filledField.attr('id')) { 170 $(id).prop('disabled', true).val(''); 171 } 172 }); 173 } else { 174 fieldsWork.forEach(id => $(id).prop('disabled', false)); 175 } 176 }); 177 178 /* Career Growth */ 179 $("#our_team_details_347-element-38").parent().hide(); 180 181 /* Personal Touch */ 182 $("#our_team_details_347-element-40, #our_team_details_347-element-41, #our_team_details_347-element-42").parent().hide(); 183 $("#our_team_details_347").children(".account-menu-title").eq(5).hide(); 184 185 } else { 186 /* Career Profile */ 187 $("#our_team_details_347-element-19, #our_team_details_347-element-20, #our_team_details_347-element-21, #our_team_details_347-element-22, #our_team_details_347-element-23, #our_team_details_347-element-25").parent().show(); 188 $("#our_team_details_347-element-24-0, #our_team_details_347-element-24-1").parent().closest(".form-group").show(); 189 $("#our_team_details_347").children(".account-menu-title").eq(1).show(); 190 191 const fieldsCareer = ['#our_team_details_347-element-19', '#our_team_details_347-element-20', '#our_team_details_347-element-21', '#our_team_details_347-element-22', '#our_team_details_347-element-23', '#our_team_details_347-element-25', '#our_team_details_347-element-24-0', '#our_team_details_347-element-24-1']; 192 193 function countFilled() { 194 let count = 0; 195 196 fieldsCareer.forEach(id => { 197 const el = $(id); 198 if (el.is(':radio')) { 199 if (el.is(':checked')) count++; 200 } else if (el.val().trim() !== '') { 201 count++; 202 } 203 }); 204 205 return count; 206 } 207 208 // Attach event listener to all fields 209 $(fieldsCareer.join(',')).on('input change', function() { 210 const filled = countFilled(); 211 212 if (filled >= 2) { 213 // Disable remaining empty fields 214 fieldsCareer.forEach(id => { 215 const el = $(id); 216 if (el.is(':radio')) { 217 if (!el.is(':checked')) el.prop('disabled', true); 218 } else if (el.val().trim() === '') { 219 el.prop('disabled', true); 220 } 221 }); 222 } else { 223 // Re-enable all if less than 2 filled 224 $(fieldsCareer.join(',')).prop('disabled', false); 225 } 226 }); 227 228 /* Professional Development */ 229 $("#our_team_details_347-element-28, #our_team_details_347-element-29, #our_team_details_347-element-30").parent().show(); 230 $("#our_team_details_347").children(".account-menu-title").eq(2).show(); 231 232 const fieldsProfessional = ['#our_team_details_347-element-28', '#our_team_details_347-element-29', '#our_team_details_347-element-30']; 233 234 $(fieldsProfessional.join(',')).on('input', function() { 235 const filledField = $(this); 236 const hasValue = filledField.val().trim() !== ''; 237 238 if (hasValue) { 239 fieldsProfessional.forEach(id => { 240 if (id !== '#' + filledField.attr('id')) { 241 $(id).prop('disabled', true).val(''); 242 } 243 }); 244 } else { 245 fieldsProfessional.forEach(id => $(id).prop('disabled', false)); 246 } 247 }); 248 249 /* Work Environment */ 250 $("#our_team_details_347-element-32, #our_team_details_347-element-33, #our_team_details_347-element-34, #our_team_details_347-element-35").parent().show(); 251 $("#our_team_details_347").children(".account-menu-title").eq(3).show(); 252 253 const allowedCount = 2; 254 const inputIDs = ['#our_team_details_347-element-32', '#our_team_details_347-element-33', '#our_team_details_347-element-34', '#our_team_details_347-element-35']; 255 256 $(inputIDs.join(',')).on('input', function() { 257 let filledCount = 0; 258 259 inputIDs.forEach(id => { 260 if ($(id).val().trim() !== '') filledCount++; 261 }); 262 263 // Disable remaining inputs if 2 are filled 264 if (filledCount >= allowedCount) { 265 inputIDs.forEach(id => { 266 if ($(id).val().trim() === '') { 267 $(id).prop('disabled', true); 268 } 269 }); 270 } else { 271 // Re-enable inputs if less than 2 filled 272 inputIDs.forEach(id => { 273 $(id).prop('disabled', false); 274 }); 275 } 276 }); 277 278 /* Career Growth */ 279 $("#our_team_details_347-element-38").parent().show(); 280 281 /* Personal Touch */ 282 $("#our_team_details_347-element-40, #our_team_details_347-element-41, #our_team_details_347-element-42").parent().show(); 283 $("#our_team_details_347").children(".account-menu-title").eq(5).show(); 284 285 const fieldsPersonal = ['#our_team_details_347-element-40', '#our_team_details_347-element-41', '#our_team_details_347-element-42']; 286 287 $(fieldsPersonal.join(',')).on('input', function() { 288 const filledField = $(this); 289 const hasValue = filledField.val().trim() !== ''; 290 291 if (hasValue) { 292 fieldsPersonal.forEach(id => { 293 if (id !== '#' + filledField.attr('id')) { 294 $(id).prop('disabled', true).val(''); 295 } 296 }); 297 } else { 298 fieldsPersonal.forEach(id => $(id).prop('disabled', false)); 299 } 300 }); 301 } 302 }); 303}); 304</script>
304 305</head> 306 307<body class="general-session"><!-- 308IMPORTANT: It is not recommended to customize this widget as it directly connects to fields in DESIGN SETTINGS. If new design settings are created and this widget is already customized, then the website will not be able to apply any new design setitngs. 309 310INSTEAD: If custom CSS rules are needed, add them directly into the DESIGN SETTINGS > CUSTOM CSS section. 311--> 312<style> 313 .upload-form-field::before { 314 content: "choose files"; 315 display: inline-block; 316 border: 1px solid #999; 317 border-radius: 3px; 318 padding: 5px 8px; 319 } 320 #first_container span.input-group-addon,#first_container .datepicker *,#first_container .input-group-addon, #first_container .input-group-addon *,#first_container .fr-action-buttons .fr-submit,.fr-popup .fr-layer.fr-color-hex-layer .fr-action-buttons button.fr-command { 321 white-space: nowrap !important; 322 } 323 /* Main Website Design */ 324 body,.modal-header,.modal-content,.modal-body,.modal-footer { 325 background: rgb(255, 255, 255); 326 color: rgb(51, 51, 51); 327 font-family: 'Open Sans'; 328 font-size: 20px; 329 } 330 .select2-container .select2-choice { 331 font-family: 'Open Sans'!important; 332 } 333 html{ 334 background: rgb(0, 0, 0) } 335 .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) a, .bootstrap-datetimepicker-widget *:not(.active,[data-action="togglePeriod"]) td,.datepicker th.picker-switch,.datepicker .dow { 336 color: #000 !important; 337 } 338 a,a.h1,a.h2,a.h3,a.h4,a.h5,a.h6,.pricing_menu li ul li a:not(.btn) { 339 color: rgb(80, 31, 96); 340 } 341 a:hover, a:focus,.pricing_menu li ul li a:not(.btn):hover,.pricing_menu li ul li a:not(.btn):focus,.btn:hover,.btn:focus { 342 color: rgb(252, 180, 70); 343 } 344 .breadcrumb a{ 345 color: rgba(74, 78, 87,0.9); 346 } 347 .breadcrumb a:hover, .breadcrumb a:focus,.breadcrumb > .active { 348 color: rgb(74, 78, 87); 349 } 350 .help-inline, .help-block { 351 color: rgba(51, 51, 51,0.5); 352 } 353 .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { 354 font-family: 'Open Sans'; 355 } 356 @media (min-width:1200px) { 357 .container { 358 width:1420px; 359 max-width: 95vw; 360 } 361 .fr-view .froala-table td .froala-table { 362 max-width: 1420px; 363 max-width: min(95vw, 1420px); 364 } 365 } 366 /* Header Design */ 367 .header, .mobile_website_logo img { 368 background: rgb(255, 255, 255); 369 } 370 .header .mini-nav li a:not(.btn):not(.network-icon), .header .mini-nav span { 371 color: rgb(0, 0, 0); 372 font-size: 15px; 373 } 374 .header .mini-nav li a:not(.btn):hover { 375 color: rgba(0, 0, 0,0.95); 376 } 377 .header .btn_get_listed { 378 background-color: rgb(80, 31, 96); 379 border: 1px solid rgb(80, 31, 96); 380 color: rgb(255, 255, 255)!important; 381 } 382 .header .btn_get_listed:hover, .header .btn_get_listed:focus { 383 background-color: rgba(80, 31, 96,0.97); 384 } 385 .header .btn_search { 386 background-color: rgba(80, 31, 96,0.97); 387 border: 1px solid rgb(80, 31, 96); 388 color: rgb(255, 255, 255); 389 } 390 .header .btn_search:hover, .header .btn_search:focus { 391 background-color: rgb(80, 31, 96); 392 color: rgb(255, 255, 255); 393 } 394 395 /* Logo Design */ 396 .logo,.logo:hover,.logo:focus { 397 color: rgb(24, 46, 69); 398 font-family: 'Quicksand'; 399 } 400 .logo .slogan { 401 color: rgb(153, 153, 153); 402 } 403 .logo .fa { 404 color: rgb(24, 46, 69); 405 display: none; 406 } 407 408 /* Main Menu Design */ 409 .member-profile-tabs > ul, .member-profile-tabs .tabs-container { 410 background: rgb(235, 238, 240); 411 position: sticky; 412 z-index: 1; 413 top: 50px; 414 } 415 /* Google Translate When Main Menu Sticky Top */ 416 .skiptranslate:not([style*="display: none;"]) ~ .header .navbar-fixed-top { 417 top: 39px; 418 } 419 .skiptranslate iframe, .skiptranslate:not(.skiptranslate.goog-te-gadget) { 420 position: fixed !important; 421 top: 0 !important; 422 z-index: 999; 423 } 424 @media only screen and (max-width: 1100px) { 425 .member-profile-tabs > ul, .member-profile-tabs .tabs-container { 426 top: 50px; 427 } 428 } 429 .header ul.nav.navbar-nav li ul { 430 background-color: rgb(252, 180, 70); 431 } 432 .header ul.nav.navbar-nav li ul li a, .header ul.nav.navbar-nav li ul li span { 433 color: rgb(255, 255, 255); 434 font-weight: 400; 435 } 436 .header .navbar-default, .pagination > .active > a { 437 background-color: rgb(80, 31, 96); 438 } 439 .header ul.nav.navbar-nav li ul li a:hover, .header ul.nav.navbar-nav li ul li a:focus{ 440 border-left-color: rgb(255, 255, 255); 441 background: rgb(255, 255, 255); 442 color: rgb(252, 180, 70); 443 }
444 .navbar-default .navbar-toggle .icon-bar { 445 background-color: rgb(255, 255, 255); 446 } 447 .user_sidebar, .main_menu, .compact-mobile-search { 448 color: rgb(255, 255, 255); 449 } 450 .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span { 451 color: rgb(255, 255, 255); 452 font-weight: 400; 453 } 454 .navbar-default .navbar-nav > li:hover > a,.navbar-default .navbar-nav > li > a:hover,.navbar-default .navbar-nav > li > a:active, .navbar-default .navbar-nav > li > a:focus { 455 color: rgb(255, 255, 255); 456 } 457 .navbar-default .navbar-nav > li { 458 font-family: 'Open Sans'; 459 } 460 461 #website_logo .logo-image { 462 max-width: 500px; 463 } 464 465 466 /* Footer Design */ 467 .footer { 468 background-color: rgb(0, 0, 0); 469 display: block; 470 } 471 .footer, .footer_menu a,.footer_terms a,.footer_menu .content { 472 color: rgb(255, 255, 255); 473 } 474 .footer_menu a:hover, .footer_terms a:hover, .footer_menu a:focus, .footer_terms a:focus { 475 color: rgb(252, 180, 70); 476 } 477 .footer_menu .head { 478 color: rgb(255, 255, 255); 479 } 480 .btn_footer_get_listed { 481 background-color: rgb(252, 180, 70); 482 border: 1px solid rgb(252, 180, 70); 483 color: rgb(255, 255, 255)!important; 484 } 485 .btn_footer_get_listed:hover, .btn_footer_get_listed:focus{ 486 background-color: rgba(252, 180, 70,0.95); 487 } 488 489 /* Homepage Design */ 490 .homepage_settings h1, .homepage_settings h2, .homepage_map h1, .homepage_map h2 { 491 font-family: 'Open Sans'; 492 } 493 .homepage_settings h1, .homepage_map h1 { 494 color: rgb(255, 255, 255); 495 font-weight: 400; 496 text-align: left; 497 } 498 .homepage_settings h2, .homepage_map h2 { 499 color: rgb(255, 255, 255); 500 font-weight: 400; 501 text-align: left; 502 503 } 504 .homepage_settings .search_box label { 505 color: rgb(255, 255, 255); 506 } 507 .btn_home_search, .search_box input[type=submit] { 508 background-color: rgb(252, 180, 70); 509 border: 1px solid rgb(252, 180, 70); 510 color: rgb(255, 255, 255); 511 } 512 .btn_home_search:hover, .btn_home_search:focus, .search_box input[type=submit]:hover, .search_box input[type=submit]:focus { 513 background-color: rgba(252, 180, 70,0.97); 514 color: rgb(255, 255, 255); 515 } 516 .homepage_settings .search_box { 517 padding: 10px; 518 519 background-color: rgba( 80, 31, 96, 0.7); 520 } 521 522 /* Homepage Steps Module */ 523 .homepage_steps { 524 background: none; 525 box-shadow: none; 526 padding: 0; 527 color: rgb(34, 34, 34); 528 } 529 .homepage_steps a.homepage_step_link,.homepage_steps a.homepage_step_link:hover,.homepage_steps a.homepage_step_link:active{ 530 color: rgb(34, 34, 34)!important; 531 } 532 .homepage_steps .fa { 533 color: rgb(80, 31, 96); 534 background-color: rgba(80, 31, 96,0.075); 535 } 536 .homepage_steps h2 + p { 537 opacity: .6; 538 } 539 540 /* Blog Posts Slider Settings */ 541 #myCarousel h2 a, .carousel-caption p,#myCarousel .list-group-item h2, #myCarousel li.list-group-item h4 { 542 color: rgb(255, 255, 255); 543 } 544 #myCarousel .list-group-item { 545 background-color: rgba(32, 80, 129,0.9); 546 border-color: rgba(32, 80, 129,0.80); 547 } 548 #myCarousel .carousel-caption { 549 background-color: rgba(32, 80, 129,0.8); 550 } 551 #myCarousel .list-group, #myCarousel .carousel-inner { 552 background-color: rgb(32, 80, 129) } 553 #myCarousel .list-group .active, #myCarousel .list-group-item:hover { 554 background-color: rgb(32, 80, 129) } 555 #myCarousel .list-group .active h2, #myCarousel .list-group-item:hover h2{ 556 color: rgb(250, 250, 250); 557 } 558 559 /* Additional Settings */ 560 .well blockquote { 561 background: rgb(255, 255, 255) none repeat scroll 0 0; 562 border-color: rgb(235, 238, 240); 563 color: rgb(51, 51, 51); 564 padding: 10px 20px; 565 } 566 .account-form-box form table tr td table { 567 background-color: transparent!important; 568 border: none!important; 569 } 570 571 .account-form-box form table tr td table td { 572 background-color: transparent!important; 573 color: rgb(51, 51, 51)!important; 574 border: none!important; 575 } 576 div.dataTables_length label, div.dataTables_filter label, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{ 577 color: rgb(51, 51, 51)!important; 578 } 579 .table.dataTable > thead > tr > th, .table > thead > tr > th, .fr-view table th, .fr-view table tfoot td { 580 border-color: rgba(255, 255, 255,0.1); 581 background-color: rgb(80, 31, 96); 582 color: rgb(255, 255, 255); 583 font-weight:600; 584 border-left: none; 585 border-bottom-width: 1px; 586 } 587 .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, table.dataTable.no-footer { 588 border-color: rgba(255, 255, 255,0.1); 589 } 590 .table > tfoot > tr > td:not(:last-child) { 591 border-right: 1px solid rgba(255, 255, 255,0.1); 592 } 593 table.dataTable.no-footer, table.dataTable { 594 border: 1px solid rgb(235, 238, 240)!important; 595 } 596 .table-view li:not(.table-display-about_me li, .froala-data li), .table-view .table-view-group > div { 597 border-top:1px solid rgb(235, 238, 240); 598 } 599 .table-view .table-view-group:last-child { 600 border-bottom:1px solid rgb(235, 238, 240); 601 } 602 table.dataTable tbody tr, .table-striped.dataTable, .table-striped, .fr
602-view .table-striped { 603 background-color: rgb(255, 255, 255)!important; 604 } 605 .table-striped.dataTable, .table-striped, .fr-view .table-striped { 606 border: 1px solid rgba(255, 255, 255,0.15); 607 border-collapse: separate; 608 overflow: hidden; 609 } 610 table#feature-body-datatable:has(.dropdown.open),table#digital-products-transactions:has(.dropdown.open), table#example:has(.dropdown.open) { 611 overflow: visible; 612 } 613 .table-striped.dataTable tbody > tr:nth-of-type(2n+1),.table-striped > tbody > tr:nth-of-type(2n+1) { 614 background-color: rgba(255, 255, 255,0.5)!important; 615 } 616 .nav-tabs, hr, .account-menu-title, .modal-header { 617 border-color: rgb(235, 238, 240); 618 } 619 .sidemenu_panel .list-group-item{ 620 background-color: transparent!important; 621 color: rgb(41, 41, 41)!important; 622 } 623 .img-thumbnail { 624 background-color: rgb(255, 255, 255)!important; 625 border: 1px solid rgb(235, 238, 240); 626 } 627 .member_admin_sidemenu p, .member_admin_sidemenu h3 { 628 color: rgb(41, 41, 41)!important; 629 } 630 .close { 631 color: rgb(51, 51, 51); 632 opacity: 1; 633 } 634 .member_results_header h1, .content_w_sidebar.feature-search h1, .feature_results_header h1 { 635 font-size:36px; 636 display: block; 637 } 638 .member_results_header h2, .feature_results_header h2 { 639 font-size:30px; 640 display: block; 641 } 642 .homepage_settings { 643 padding-top: 200px; 644 padding-bottom: 200px; 645 } 646 @media (max-width: 768px) { .mobile_website_logo .visible-xs {display: block !important;}} 647 @media only screen and (max-width: 768px) { 648 .member-profile-header .favorite {float:none} 649 } 650 651 652 @media only screen and (max-width: 1100px) { 653 } 654 .views > i.fa.activeView, .views > i.fa:hover { 655 background-color: rgb(51, 51, 51); 656 color: rgb(255, 255, 255); 657 } 658 .views > i.fa { 659 background-color: rgba(51, 51, 51,0.1); 660 color: rgb(51, 51, 51); 661 } 662 .ui-rangeSlider-label { 663 background-color: rgb(80, 31, 96)!important; 664 color: rgb(255, 255, 255)!important; 665 } 666 .pricing_menu li .title { 667 background: rgb(32, 80, 129); 668 color: rgb(255, 255, 255); 669 } 670 p.account-tip{ 671 color: rgb(51, 51, 51); 672 } 673 .circled_number { 674 background: rgb(32, 80, 129); 675 color: rgb(255, 255, 255); 676 } 677 .pic { 678 background-color: rgba(24, 46, 69,0.8); 679 color: rgb(255, 255, 255); 680 background-repeat: no-repeat; 681 background-position: center; 682 } 683 .pic .pic-caption { 684 background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%,rgba(24, 46, 69,0.85) 50%); 685 color: rgb(255, 255, 255); 686 } 687 .slick-prev-fa i, .slick-next-fa i{ 688 color: rgb(24, 46, 69); 689 } 690 .module, .well, .tab-content, .nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover, .nav-tabs>li>a:focus, .nav-tabs>li>a:hover, .nav-tabs.nav-justified>li.active>a, .nav-tabs.nav-justified>li.active>a:focus, .nav-tabs.nav-justified>li.active>a:hover, .nav-tab.nav-justified>li>a:focus, .nav-tabs.nav-justified>li>a:hover, .account-form-box,.account-form-box .module .module,.account-form-box .module .well,.account-form-box .well .well,.account-form-box .well .module,.module .module .module,.module .well .well,.module .module .well,.module .well .module,.well .well .well,.well .module .module,.well .well .module,.well .module .well, .froala-table.module, .froala-table td.module { 691 background-color: rgb(255, 255, 255); 692 border-color: rgb(235, 238, 240); 693 color: rgb(41, 41, 41); 694 } 695 .nav-pills > li.active a, .nav-pills > li > a:hover { 696 background-color: rgb(80, 31, 96)!important; 697 border-color: rgb(80, 31, 96)!important; 698 color: rgb(255, 255, 255)!important; 699 } 700 .sidemenu_panel .panel-heading { 701 color: rgb(41, 41, 41)!important; 702 background-color: rgb(255, 255, 255)!important; 703 } 704 .member-profile-tabs .nav-tabs > li:not(.active) > a, .login-register-tabs.nav-tabs > li:not(.active) > a, .nav-tabs > li:not(.active) > a { 705 background: rgba(255, 255, 255,0.5); 706 color: #666666; 707 } 708 .member-profile-tabs .nav-tabs > li:not(.active) > a:hover, .login-register-tabs.nav-tabs > li:not(.active) > a:hover, .nav-tabs > li:not(.active) > a:hover { 709 background: rgba(255, 255, 255,1); 710 color: rgb(51, 51, 51); 711 }
712 .author-snapshot .well:not(.well.bg-default) { 713 background-color: rgb(255, 255, 255)!important; 714 border-color: rgb(235, 238, 240)!important; 715 color: rgb(41, 41, 41)!important; 716 } 717 .nav-tabs>li>a, .nav-pills>li>a { 718 font-weight: 600; 719 } 720 .module .help-inline,.module .help-block,.well .help-inline,.well .help-block,.account-form-box .help-inline,.account-form-box .help-block,.account-form-box p.account-tip{ 721 color: rgba(41, 41, 41,0.5); 722 } 723 #service_areas_table td,#service_areas_table_wrapper label, #service_areas_table_info, #service_areas_table_paginate > a { 724 color: rgb(41, 41, 41) !important; 725 } 726 .popover { 727 background-color: rgb(255, 255, 255); 728 border-color: rgb(255, 255, 255); 729 padding:0; 730 text-align:left; 731 } 732 .popover-title, .popover-content { 733 background-color: rgb(255, 255, 255); 734 color: rgb(41, 41, 41); 735 border-color: rgb(255, 255, 255); 736 text-align:left; 737 } 738 .popover-content { 739 background-color: rgba(41, 41, 41,.05); 740 border-radius: 4px; 741 transform: translate(-1px, -1px); 742 width: calc(100% + 2px); 743 margin-bottom: -2px; 744 } 745 .popover.left > .arrow::after { 746 border-left-color: rgb(255, 255, 255)!important; 747 } 748 .popover.right > .arrow::after { 749 border-right-color: rgb(255, 255, 255)!important; 750 } 751 .popover.bottom > .arrow::after { 752 border-bottom-color: rgb(255, 255, 255)!important; 753 } 754 .popover.top > .arrow::after { 755 border-top-color: rgb(255, 255, 255)!important; 756 } 757 .progress, .table-view .table-view-group:nth-child(2n-1),.tab-content .well, .tab-content .module,#account-tabs .well,#account-tabs .module,.account-form-box .module,.account-form-box .well,.module .module,.well .well,.module .well,.well .module{ 758 background-color: rgb(255, 255, 255); 759 color: rgb(51, 51, 51); 760 } 761 .module h1, .module h2, .module h3, .module h4, .module h5 { 762 color: rgb(62, 62, 62); 763 } 764 .module p:not(.fr-box.fr-basic .fr-element p) { 765 color: rgb(41, 41, 41); 766 } 767 .pagination>.active>a { 768 border-color: rgba(255, 255, 255,0.2); 769 } 770 .pagination>.active>a { 771 color: rgb(255, 255, 255); 772 } 773 .pagination > .active > a:hover, .pagination > .active > a:focus { 774 border-color: rgba(255, 255, 255,0.2); 775 background-color: rgb(80, 31, 96); 776 color: rgb(255, 255, 255); 777 } 778 .pagination > li > a { 779 color: rgb(80, 31, 96); 780 border-color: rgba(80, 31, 96,0.2); 781 background-color: rgb(255, 255, 255); 782 } 783 .pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover { 784 background-color: rgb(80, 31, 96); 785 border-color: rgb(80, 31, 96); 786 color: rgb(255, 255, 255); 787 } 788 789 .nav-pills.nav-wizard > li a, .nav-pills.nav-wizard > li a:hover{ 790 background-color: rgb(238, 238, 238)!important; 791 color: rgb(85, 85, 85)!important; 792 } 793 .member_wizard2 li.incomplete a, .member_wizard2 li.incomplete a:hover { 794 background-color: rgb(252, 180, 70)!important; 795 border-color: rgb(252, 180, 70); 796 color: rgb(255, 255, 255); 797 } 798 .nav-pills.nav-wizard > li.active a, .nav-pills.member_wizard > li.active:hover a { 799 background-color: rgb(51, 122, 183)!important; 800 color: rgb(255, 255, 255)!important; 801 } 802 .member_wizard2 li.completed a, .member_wizard2 li.completed a:hover { 803 background-color: rgb(252, 180, 70)!important; 804 border-color: rgb(252, 180, 70); 805 color: rgb(255, 255, 255); 806 } 807 808 .nav-pills.nav-wizard > li.active .nav-arrow, .nav-pills.nav-wizard > li.active:hover .nav-arrow { 809 border-color: transparent transparent transparent rgb(51, 122, 183)!important; 810 } 811 .nav-pills.nav-wizard > li.active .nav-wedge, .nav-pills.nav-wizard > li.active:hover .nav-wedge{ 812 border-color: rgb(51, 122, 183) rgb(51, 122, 183) rgb(51, 122, 183) transparent!important; 813 } 814 815 li.completed .nav-wedge, .nav-pills.nav-wizard > li.completed:hover .nav-wedge { 816 border-color: rgb(30, 166, 154) rgb(30, 166, 154) rgb(30, 166, 154) transparent!important; 817 } 818 819 li.incomplete .nav-wedge, .nav-pills.nav-wizard > li.incomplete:hover .nav-wedge { 820 border-color: rgb(238, 238, 238) rgb(238, 238, 238) rgb(238, 238, 238) transparent!important; 821 } 822 823 .nav-pills.member_wizard > li.completed a, .nav-pills.member_wizard > li.completed a:hover { 824 background-color: rgb(30, 166, 154)!important; 825 color: rgb(255, 255, 255)!important; 826 } 827 828 .member_wizard2 li { 829 color: rgb(255, 255, 255); 830 border-right: 10px solid rgb(255, 255, 255); 831 } 832 833 li.completed .nav-arrow, .nav-pills.nav-wizard > li.completed:hover .nav-arrow { 834 border-color: transparent transparent transparent rgb(30, 166, 154)!important; 835 } 836 837 li.incomplete .nav-arrow, .nav-pills.nav-wizard > li.incomplete:hover .nav-arrow{ 838 border-color: transparent transparent transparent rgb(238, 238, 238)!important; 839 } 840 841 /* Default Colors */ 842 .btn-primary, .btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover, .btn.dropdown-toggle.btn-primary,.navbar-default .navbar-nav > li > a.btn-primary, .navbar-default .navbar-nav > li > span.btn-primary,.mobile-main-menu .sidebar-nav li a.btn-primary, .mobile-main-menu .sidebar-nav li span.btn-primary { 843 background-color: rgb(80, 31, 96); 844 border-color: rgb(80, 31, 96); 845 color: rgb(255, 255, 255); 846 } 847 .btn-primary:hover, .btn-primary:focus, .btn-primary:active,.btn-primary:active:focus, .btn-primary:active:hover, .nav > li > a.btn-primary:focus, .nav > li > a.btn-primary:hover,.btn-primary.active,.open > .dropdown-toggle.btn-primary, .btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .open>.dropdown-toggle.btn-primary:hover, .open>.dropdown-toggle.btn-primary:focus, .open>.dropdown-toggle.btn-primary.focus,a.bg-primary:focus,a.bg-primary:hover, .panel-primary .panel-heading, .btn.dropdown-toggle.btn-primary:hover,.upload-form-field,.upload-form-field:hover,.upload-form-field:active:focus,.upload-form-field:before, .label-primary[href]:focus, .label-primary[href]:hover { 848 background-color: rgba(80, 31, 96,0.95); 849 border-color: rgb(80, 31, 96); 850 color: rgb(255, 255, 255); 851 } 852 .panel-primary { 853 background-color: #e5dde7; 854 border-color: rgb(80, 31, 96); 855 } 856 .bg-primary,.progress-bar-primary,.module p.bg-primary,.label-primary,.badge-primary,.pricing_menu .title.bg-primary, .
856well .well.bg-primary, .module .well.bg-primary, .well .module.bg-primary,.tab-content .module.bg-primary,.tab-content .well.bg-primary { 857 background-color: rgb(80, 31, 96); 858 color: rgb(255, 255, 255); 859 } 860 .bg-primary .badge { 861 background-color:rgb(255, 255, 255); 862 color: rgb(80, 31, 96); 863 } 864 .btn-primary.btn-outline { 865 background: transparent; 866 color: rgb(80, 31, 96); 867 transition: all 250ms ease-in-out 0ms; 868 } 869 .btn-primary.btn-outline:hover { 870 background: rgba(80, 31, 96,0.1); 871 color: rgb(80, 31, 96); 872 } 873 .alert-primary { 874 background-color:rgba(80, 31, 96,0.7); 875 border-color:rgba(80, 31, 96,0.2); 876 color: rgba(255, 255, 255,0.9); 877 } 878 .alert-primary-subtle, .label-primary-subtle, .badge-primary-subtle { 879 background-color: #dcd2df; 880 border-color: #dcd2df; 881 color: rgb(80, 31, 96); 882 color: color-mix(in srgb, rgb(80, 31, 96) 50%, rgb(51, 51, 51) 50%); 883 } 884 .btn.dropdown-toggle.btn-primary *, .btn-primary a { 885 color: rgb(255, 255, 255); 886 } 887 .text-primary{ 888 color: rgb(80, 31, 96); 889 } 890 .btn-info, .btn-info.disabled, .btn-info.disabled.active, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled:focus, .btn-info.disabled:hover, .btn-info[disabled], .btn-info[disabled].active, .btn-info[disabled].focus, .btn-info[disabled]:active, .btn-info[disabled]:focus, .btn-info[disabled]:hover, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info.active, fieldset[disabled] .btn-info.focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:hover, .btn.dropdown-toggle.btn-info,.navbar-default .navbar-nav > li > a.btn-info, .navbar-default .navbar-nav > li > span.btn-info,.mobile-main-menu .sidebar-nav li a.btn-info, .mobile-main-menu .sidebar-nav li span.btn-info { 891 background-color: rgb(252, 180, 70); 892 border-color: rgb(252, 180, 70); 893 color: rgb(255, 255, 255); 894 } 895 .btn-info:hover, .btn-info:focus, .btn-info:active,.btn-info:active:focus, .btn-info:active:hover, .nav > li > a.btn-info:focus, .nav > li > a.btn-info:hover,.btn-info.active,.open > .dropdown-toggle.btn-info, .btn-info.active.focus, .btn-info.active:focus, .btn-info.active:hover, .btn-info:active.focus, .open>.dropdown-toggle.btn-info:hover, .open>.dropdown-toggle.btn-info:focus, .open>.dropdown-toggle.btn-info.focus,a.bg-info:focus,a.bg-info:hover, .panel-info .panel-heading, .btn.dropdown-toggle.btn-info:hover, .label-info[href]:focus, .label-info[href]:hover { 896 background-color: rgba(252, 180, 70,0.95); 897 border-color: rgb(252, 180, 70); 898 color: rgb(255, 255, 255); 899 } 900 .panel-info { 901 background-color: #fff4e3; 902 border-color: rgb(252, 180, 70); 903 } 904 .bg-info,.progress-bar-info,.module p.bg-info,.label-info,.badge-info,.pricing_menu .title.bg-info, .well .well.bg-info, .module .well.bg-info, .well .module.bg-info,.tab-content .module.bg-info,.tab-content .well.bg-info { 905 background-color: rgb(252, 180, 70); 906 color: rgb(255, 255, 255); 907 } 908 .bg-info .badge { 909 background-color:rgb(255, 255, 255); 910 color: rgb(252, 180, 70); 911 } 912 .btn-info.btn-outline { 913 background: transparent; 914 color: rgb(252, 180, 70); 915 transition: all 250ms ease-in-out 0ms; 916 } 917 .btn-info.btn-outline:hover { 918 background: rgba(252, 180, 70,0.1); 919 color: rgb(252, 180, 70); 920 } 921 .alert-info { 922 background-color:rgba(252, 180, 70,0.7); 923 border-color:rgba(252, 180, 70,0.2); 924 color: rgba(255, 255, 255,0.9); 925 } 926 .alert-info-subtle, .label-info-subtle, .badge-info-subtle { 927 background-color: #fef0da; 928 border-color: #fef0da; 929 color: rgb(252, 180, 70); 930 color: color-mix(in srgb, rgb(252, 180, 70) 50%, rgb(51, 51, 51) 50%); 931 } 932 .btn.dropdown-toggle.btn-info *, .btn-info a { 933 color: rgb(255, 255, 255); 934 } 935 .text-info{ 936 color: rgb(252, 180, 70); 937 } 938 .btn-success, .btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, .btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success.active, fieldset[disabled] .btn-success.focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:hover, .btn.dropdown-toggle.btn-success,.navbar-default .navbar-nav > li > a.btn-success, .navbar-default .navbar-nav > li > span.btn-success,.mobile-main-menu .sidebar-nav li a.btn-success, .mobile-main-menu .sidebar-nav li span.btn-success { 939 background-color: rgb(252, 180, 70); 940 border-color: rgb(252, 180, 70); 941 color: rgb(255, 255, 255); 942 } 943 .btn-success:hover, .btn-success:focus, .btn-success:active,.btn-success:active:focus, .btn-success:active:hover, .nav > li > a.btn-success:focus, .nav > li > a.btn-success:hover,.btn-success.active,.open > .dropdown-toggle.btn-success, .btn-success.active.focus, .btn-success.active:focus, .btn-success.active:hover, .btn-success:active.focus, .open>.dropdown-toggle.btn-success:hover, .open>.dropdown-toggle.btn-success:focus, .open>.dropdown-toggle.btn-success.focus,a.bg-success:focus,a.bg-success:hover, .panel-success .panel-heading, .btn.dropdown-toggle.btn-success:hover, .label-success[href]:focus, .label-success[href]:hover { 944 background-color: rgba(252, 180, 70,0.95); 945 border-color: rgb(252, 180, 70); 946 color: rgb(255, 255, 255); 947 } 948 .panel-success { 949 background-color: #fff4e3; 950 border-color: rgb(252, 180, 70); 951 } 952 .bg-success,.progress-bar-success,.module p.bg-success,.label-success,.badge-success,.pricing_menu .title.bg-success, .well .well.bg-success, .module .well.bg-success, .well .module.bg-success,.tab-content .module.bg-success,.tab-content .well.bg-success { 953 background-color: rgb(252, 180, 70); 954 color: rgb(255, 255, 255); 955 } 956 .bg-success .badge { 957 background-color: rgb(255, 255, 255); 958 color: rgb(252, 180, 70); 959 } 960 .btn-success.btn-outline { 961 background: transparent; 962 color: rgb(252, 180, 70); 963 transition: all 250ms ease-in-out 0ms; 964 } 965 .btn-success.btn-outline:hover { 966 background: rgba(252, 180, 70,0.1); 967 color: rgb(252, 180, 70); 968 } 969 .alert-success { 970 background-color:rgba(252, 180, 70,0.7); 971 border-color:rgba(252, 180, 70,0.2); 972 color: rgba(255, 255, 255,0.9); 973 } 974 .alert-success-subtle, .label-success-subtle, .badge-success-subtle { 975 background-color: #fef0da; 976 border-color: #fef0da; 977 color: rgb(252, 180, 70); 978 color: color-mix(in srgb, rgb(252, 180, 70) 50%, rgb(51, 51, 51) 50%); 979 } 980 .btn.dropdown-toggle.btn-success *, .btn-success a { 981 color: rgb(255, 255, 255); 982 } 983 .text-success{ 984 color: rgb(252, 180, 70); 985 } 986 .btn-warning, .btn-warning.disabled, .btn-warning.disabled.active, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled:focus, .btn-warning.disabled:hover, .btn-warning[disabled], .btn-warning[disabled].active, .btn-warning[disabled].focus, .btn-warning[disabled]:active, .btn-warning[disabled]:focus, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning.active, fieldset[disabled] .btn-warning.focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:hover, .btn.dropdown-toggle.btn-warning,.navbar-default .navbar-nav > li > a.btn-warning, .navbar-default .navbar-nav > li > span.btn-warning,.mobile-main-menu .sidebar-nav li a.btn-warning, .mobile-main-menu .sidebar-nav li span.btn-warning { 987 background-color: rgb(252, 180, 70); 988 border-color: rgb(252, 180, 70); 989 color: rgb(255, 255, 255); 990 } 991 .btn-warning:hover, .btn-warning:focus, .btn-warning:active,.btn-warning:active:focus, .btn-warning:active:hover, .nav > li > a.btn-warning:focus, .nav > li > a.btn-warning:hover,.btn-warning.active,.open > .dropdown-toggle.btn-warning, .btn-warning.active.focus, .btn-warning.active:focus, .btn-warning.active:hover, .btn-warning:active.focus, .open>.dropdown-toggle.btn-warning:hover, .open>.dropdown-toggle.btn-warning:focus, .open>.dropdown-toggle.btn-warning.focus,a.bg-warning:focus,a.bg-warning:hover, .panel-warning .panel-heading, .btn.dropdown-toggle.btn-warning:hover, .label-warning[href]:focus, .label-warning[href]:hover { 992 background-color: rgba(252, 180, 70,0.95); 993 border-color: rgb(252, 180, 70); 994 color: rgb(255, 255, 255); 995 } 996 .panel-warning { 997 background-color: #fff4e3; 998 border-color: rgb(252, 180, 70); 999 } 1000 .bg-warning,.progress-bar-warning,.module p.bg-warning,.label-warning,.badge-warning,.pricing_menu .title.bg-warning, .well .well.bg-warning, .module .well.bg-warning, .well .module.bg-warning,.tab-content .module.bg-warning,.tab-content .well.bg-warning { 1001 background-color: rgb(252, 180, 70); 1002 color: rgb(255, 255, 255); 1003 } 1004 .bg-warning .badge { 1005 background-color: rgb(255, 255, 255); 1006 color: rgb(252, 180, 70); 1007 } 1008 .btn-warning.btn-outline { 1009 background: transparent; 1010 color: rgb(252, 180, 70); 1011 transition: all 250ms ease-in-out 0ms; 1012 } 1013 .btn-warning.btn-outline:hover { 1014 background: rgba(252, 180, 70,0.1); 1015 color: rgb(252, 180, 70); 1016 } 1017 .alert-warning { 1018 background-color:rgba(252, 180, 70,0.7); 1019 border-color:rgba(252, 180, 70,0.2); 1020 color: rgba(255, 255, 255,0.9); 1021 } 1022 .alert-warning-subtle, .label-warning-subtle, .badge-warning-subtle { 1023 background-color: #fef0da; 1024 border-color: #fef0da; 1025 color: rgb(252, 180, 70); 1026 color: color-mix(in srgb, rgb(252, 180, 70) 50%, rgb(51, 51, 51) 50%); 1027 } 1028 .btn.dropdown-toggle.btn-warning *, .btn-warning a { 1029 color: rgb(255, 255, 255); 1030 } 1031 .text-warning { 1032 color: rgb(252, 180, 70); 1033 } 1034 .btn-danger, .btn-danger.disabled, .btn-danger.disabled.active, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled:focus, .btn-danger.disabled:hover, .btn-danger[disabled], .btn-danger[disabled].active, .btn-danger[disabled].focus, .btn-danger[disabled]:active, .btn-danger[disabled]:focus, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger.active, fieldset[disabled] .btn-danger.focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:hover, .btn.dropdown-toggle.btn-danger,.navbar-default .navbar-nav > li > a.btn-danger, .navbar-default .navbar-nav > li > span.btn-danger,.mobile-main-menu .sidebar-nav li a.btn-danger, .mobile-main-menu .sidebar-nav li span.btn-danger { 1035 background-color: rgb(217, 83, 79); 1036 border-color: rgb(217, 83, 79); 1037 color: rgb(255, 255, 255); 1038 } 1039 .btn-danger:hover, .btn-danger:focus, .btn-danger:active,.btn-danger:active:focus, .btn-danger:active:hover, .nav > li > a.btn-danger:focus, .nav > li > a.btn-danger:hover,.btn-danger.active,.open > .dropdown-toggle.btn-danger, .btn-danger.active.focus, .btn-danger.active:focus, .btn-danger.active:hover, .btn-danger:active.focus, .open>.dropdown-toggle.btn-danger:hover, .open>.dropdown-toggle.btn-danger:focus, .open>.dropdown-toggle.btn-danger.focus,a.bg-danger:focus,a.bg-danger:hover, .panel-danger .panel-heading, .btn.dropdown-toggle.btn-danger:hover, .label-danger[href]:focus, .label-danger[href]:hover { 1040 background-color: rgba(217, 83, 79,0.95); 1041 border-color: rgb(217, 83, 79); 1042 color: rgb(255, 255, 255); 1043 } 1044 .has-error .form-control { 1045 border-color: rgb(217, 83, 79); 1046 } 1047 .has-error .help-block:not(.form-field-help-block), .has-error ~ .help-block:not(.form-field-help-block),.has-error .help-block:not(.form-field-help-block) a, .has-error ~ .help-block:not(.form-field-help-block) a { 1048 background: rgb(217, 83, 79); 1049 color: rgb(255, 255, 255) !important; 1050 } 1051 .has-error .checkbox, .has-error .checkbox-inline, .has-error .control-label, .has-error .help-block, .has-error .radio, .has-error .radio-inline, .has-error.checkbox label, .has-error.checkbox-inline label, .has-error.radio label, .has-error.radio-inline label { 1052 color: rgb(217, 83, 79); 1053 } 1054 .panel-danger { 1055 background-color: #f9e5e5; 1056 border-color: rgb(217, 83, 79); 1057 } 1058 .bg-danger,.progress-bar-danger,.module p.bg-danger,.label-danger,.badge-danger,.pricing_menu .title.bg-danger, .well .well.bg-danger, .module .well.bg-danger, .well .module.bg-danger,.tab-content .module.bg-danger,.tab-content .well.bg-danger { 1059 background-color: rgb(217, 83, 79); 1060 color: rgb(255, 255, 255); 1061 } 1062 .bg-danger .badge { 1063 background-color: rgb(255, 255, 255); 1064 color: rgb(217, 83, 79); 1065 } 1066 .btn-danger.btn-outline { 1067 background: transparent; 1068 color: rgb(217, 83, 79); 1069 transition: all 250ms ease-in-out 0ms; 1070 } 1071 .btn-danger.btn-outline:hover { 1072 background: rgba(217, 83, 79,0.1); 1073 color: rgb(217, 83, 79); 1074 } 1075 .alert-danger { 1076 background-color:rgba(217, 83, 79,0.7); 1077 border-color:rgba(217, 83, 79,0.2); 1078 color: rgba(255, 255, 255,0.9); 1079 } 1080 .alert-danger-subtle, .label-danger-subtle, .badge-danger-subtle { 1081 background-color: #f7dddc; 1082 border-color: #f7dddc; 1083 color: rgb(217, 83, 79); 1084 color: color-mix(in srgb, rgb(217, 83, 79) 50%, rgb(51, 51, 51) 50%); 1085 } 1086 .btn.dropdown-toggle.btn-danger *, .btn-danger a { 1087 color: rgb(255, 255, 255); 1088 } 1089 .text-danger{ 1090 color: rgb(217, 83, 79); 1091 } 1092 .btn-default, .tags a, .btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focu
1092s, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover, .btn.dropdown-toggle.btn-default, #popover .mini_profile_pic,.navbar-default .navbar-nav > li > a.btn-default, .navbar-default .navbar-nav > li > span.btn-default,.mobile-main-menu .sidebar-nav li a.btn-default, .mobile-main-menu .sidebar-nav li span.btn-default { 1093 background-color: rgb(80, 31, 96); 1094 border-color: rgb(80, 31, 96); 1095 color: rgb(255, 255, 255); 1096 } 1097 .btn-default:hover, .btn-default:focus, .btn-default:active,.btn-default:active:focus, .btn-default:active:hover,.tags a:hover, .nav > li > a.btn-default:focus, .nav > li > a.btn-default:hover,.btn-default.active,.open > .dropdown-toggle.btn-default, .btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .open>.dropdown-toggle.btn-default:hover, .open>.dropdown-toggle.btn-default:focus, .open>.dropdown-toggle.btn-default.focus,a.bg-default:focus,a.bg-default:hover, .panel-default .panel-heading, .member_accounts .panel-default > .panel-heading, .panel-default.categories-panel .panel-heading, .btn.dropdown-toggle.btn-default:hover, #popover .mini_profile_pic, .label-default[href]:focus, .label-default[href]:hover { 1098 background-color: rgba(80, 31, 96,0.95); 1099 border-color: rgb(80, 31, 96); 1100 color: rgb(255, 255, 255); 1101 } 1102 .sidemenu_panel .panel-default .panel_heading { 1103 background-color: rgb(80, 31, 96)!important; 1104 border-color: rgb(80, 31, 96)!important; 1105 color: rgb(255, 255, 255)!important; 1106 } 1107 .panel-default .panel-heading, .member_accounts .panel-default > .panel-heading, .panel-default.categories-panel .panel-heading { 1108 1109 box-shadow: 0 0 1000px 0 rgba(255, 255, 255,0.02) inset; 1110 background-color: rgb(80, 31, 96); 1111 } 1112 .panel-default, .member_accounts .panel-default { 1113 1114 background-color: rgba(80, 31, 96,0.15); 1115 border-color: #eee9ef; 1116 border-color: color-mix(in srgb,rgb(80, 31, 96) 100%,rgba(80, 31, 96) 10%); 1117 } 1118 .member_admin_sidemenu .panel-default { 1119 background-color: transparent; 1120 } 1121 .bg-default,.progress-bar-default,.module p.bg-default,.label-default,.badge-default,.pricing_menu .title.bg-default, .well .well.bg-default, .module .well.bg-default, .well .module.bg-default,.tab-content .module.bg-default,.tab-content .well.bg-default { 1122 background-color: rgb(80, 31, 96); 1123 color: rgb(255, 255, 255); 1124 } 1125 .bg-default .badge { 1126 background-color: rgb(255, 255, 255); 1127 color: rgb(80, 31, 96); 1128 } 1129 .btn-default.btn-outline { 1130 background: transparent; 1131 color: rgb(80, 31, 96); 1132 transition: all 250ms ease-in-out 0ms; 1133 } 1134 .btn-default.btn-outline:hover { 1135 background: rgba(80, 31, 96,0.1); 1136 color: rgb(80, 31, 96); 1137 } 1138 .alert-default { 1139 background-color:rgb(80, 31, 96); 1140 border-color:rgb(80, 31, 96); 1141 color: rgb(255, 255, 255); 1142 } 1143 .alert-default-subtle, .label-default-subtle, .badge-default-subtle { 1144 background-color:rgba(80, 31, 96,0.5); 1145 border-color: rgba(80, 31, 96,0.5); 1146 color: rgb(255, 255, 255); 1147 color: color-mix(in srgb, rgb(255, 255, 255) 50%, rgb(51, 51, 51) 50%); 1148 } 1149 .btn.dropdown-toggle.btn-default *, .btn-default a { 1150 color: rgb(255, 255, 255); 1151 } 1152 .text-default{ 1153 color: rgb(80, 31, 96); 1154 } 1155 .btn-secondary, .btn.dropdown-toggle.btn-secondary,.navbar-default .navbar-nav > li > a.btn-secondary, .navbar-default .navbar-nav > li > span.btn-secondary,.mobile-main-menu .sidebar-nav li a.btn-secondary, .mobile-main-menu .sidebar-nav li span.btn-secondary { 1156 background-color: rgb(51, 51, 51); 1157 border: 1px solid rgb(51, 51, 51); 1158 color: rgb(255, 255, 255); 1159 } 1160 .btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active,.btn-secondary:active:focus, .btn-secondary:active:hover, .nav > li > a.btn-secondary:focus, .nav > li > a.btn-secondary:hover,.btn-secondary.active,.open > .dropdown-toggle.btn-secondary, .btn-secondary.active.focus, .btn-secondary.active:focus, .btn-secondary.active:hover, .btn-secondary:active.focus, .open>.dropdown-toggle.btn-secondary:hover, .open>.dropdown-toggle.btn-secondary:focus, .open>.dropdown-toggle.btn-secondary.focus,a.bg-secondary:focus,a.bg-secondary:hover,.btn.dropdown-toggle.btn-secondary:hover, .panel-secondary .panel-heading, .label-secondary[href]:focus, .label-secondary[href]:hover { 1161 background-color: rgba(51, 51, 51,0.95); 1162 border-color: rgb(51, 51, 51); 1163 color: rgb(255, 255, 255); 1164 } 1165 .bg-secondary,.progress-bar-secondary,.module p.bg-secondary,.module p.bg-secondary:not(.fr-box.fr-basic .fr-element p),.label-secondary,.badge-secondary,.pricing_menu .title.bg-secondary, .well .well.bg-secondary, .module .well.bg-secondary, .well .module.bg-secondary,.tab-content .module.bg-secondary,.tab-content .well.bg-secondary { 1166 background-color: rgb(51, 51, 51); 1167 color: rgb(255, 255, 255); 1168 } 1169 .bg-secondary .badge { 1170 background-color:rgb(255, 255, 255); 1171 color: rgb(51, 51, 51); 1172 } 1173 .btn-secondary.btn-outline { 1174 background: transparent; 1175 color: rgb(51, 51, 51); 1176 transition: all 250ms ease-in-out 0ms; 1177 } 1178 .btn-secondary.btn-outline:hover { 1179 background: rgba(51, 51, 51,0.1); 1180 color: rgb(51, 51, 51); 1181 } 1182 .panel-secondary {
1183 background-color: #e0e0e0; 1184 border-color: rgb(51, 51, 51); 1185 } 1186 .alert-secondary { 1187 background-color:rgb(51, 51, 51); 1188 border-color:rgb(51, 51, 51); 1189 color: rgb(255, 255, 255); 1190 } 1191 .alert-secondary-subtle, .label-secondary-subtle, .badge-secondary-subtle { 1192 background-color:rgba(51, 51, 51,0.8); 1193 border-color: rgba(51, 51, 51,0.5); 1194 color: rgb(255, 255, 255); 1195 } 1196 .btn-outline { 1197 -webkit-backdrop-filter: blur(5px); 1198 backdrop-filter: blur(5px); 1199 } 1200 .btn-body, .btn-body.disabled, .btn-body.disabled.active, .btn-body.disabled.focus, .btn-body.disabled:active, .btn-body.disabled:focus, .btn-body.disabled:hover, .btn-body[disabled], .btn-body[disabled].active, .btn-body[disabled].focus, .btn-body[disabled]:active, .btn-body[disabled]:focus, .btn-body[disabled]:hover, fieldset[disabled] .btn-body, fieldset[disabled] .btn-body.active, fieldset[disabled] .btn-body.focus, fieldset[disabled] .btn-body:active, fieldset[disabled] .btn-body:focus, fieldset[disabled] .btn-body:hover, .btn.dropdown-toggle.btn-body,.navbar-default .navbar-nav > li > a.btn-body, .navbar-default .navbar-nav > li > span.btn-body,.mobile-main-menu .sidebar-nav li a.btn-body, .mobile-main-menu .sidebar-nav li span.btn-body { 1201 background-color: rgb(255, 255, 255); 1202 border: 1px solid rgb(255, 255, 255); 1203 color: rgb(51, 51, 51); 1204 } 1205 .btn-body:hover, .btn-body:focus, .btn-body:active,.btn-body:active:focus, .btn-body:active:hover, .nav > li > a.btn-body:focus, .nav > li > a.btn-body:hover,.btn-body.active,.open > .dropdown-toggle.btn-body, .btn-body.active.focus, .btn-body.active:focus, .btn-body.active:hover, .btn-body:active.focus, .open>.dropdown-toggle.btn-body:hover, .open>.dropdown-toggle.btn-body:focus, .open>.dropdown-toggle.btn-body.focus,a.bg-body:focus,a.bg-body:hover, .panel-body .panel-heading, .btn.dropdown-toggle.btn-body:hover, .label-body[href]:focus, .label-body[href]:hover { 1206 background-color: rgba(255, 255, 255,0.95); 1207 border: 1px solid rgb(255, 255, 255); 1208 color: rgb(51, 51, 51); 1209 } 1210 .btn.btn-body.dropdown-toggle * { 1211 color: rgb(51, 51, 51) 1212 } 1213 .btn-body.dropdown-toggle + ul li, .daterangepicker .ranges { 1214 color: #333; 1215 } 1216 .bg-body { 1217 background: rgb(255, 255, 255); 1218 color: rgb(51, 51, 51); 1219 } 1220 .bg-content-box { 1221 background: rgb(255, 255, 255); 1222 color: rgb(41, 41, 41); 1223 } 1224 .bg-content-box-border { 1225 background: rgb(235, 238, 240); 1226 } 1227 .btn.dropdown-toggle.btn-secondary *, .btn-secondary a { 1228 color: rgb(255, 255, 255); 1229 } 1230 .text-secondary { 1231 color: rgb(51, 51, 51); 1232 } 1233 .text-body { 1234 color: rgb(255, 255, 255); 1235 } 1236 .feature-post #post-content .alert-secondary.btn-block, .feature-search .img_section .alert-secondary.btn-block, .search_result .img_section .alert-secondary { 1237 border-radius: 10px; 1238 background-color: rgba(41, 41, 41,0.2); 1239 } 1240 1241 /* Footer Newsletter Row */ 1242 .newsletter_row .alert { 1243 color: rgb(255, 255, 255); 1244 } 1245 .newsletter_row { 1246 background-color: rgb(32, 80, 129); 1247 color: rgb(255, 255, 255); 1248 } 1249 .newsletter_row input[type="submit"],.newsletter_footer_button { 1250 background-color: rgba(30, 166, 154,0.97); 1251 color: rgb(255, 255, 255); 1252 border-color: rgb(30, 166, 154); 1253 } 1254 .newsletter_row input[type="submit"]:hover,.newsletter_row input[type="submit"]:focus,.newsletter_footer_button:hover,.newsletter_footer_button:focus { 1255 background-color: rgb(30, 166, 154); 1256 color: rgb(255, 255, 255); 1257 } 1258 .newsletter_button_left { 1259 border-right: 1px solid rgba(255, 255, 255,0.2); 1260 } 1261 .newsletter_button_right { 1262 border-left: 1px solid rgba(255, 255, 255,0.2); 1263 } 1264 .newsletter_row small.help-block { 1265 background: rgb(255, 255, 255); 1266 margin-top: -5px; 1267 float: left; 1268 padding: 8px; 1269 border-radius: 1px; 1270 color: rgb(32, 80, 129); 1271 text-transform: capitalize; 1272 } 1273 .newsletter_row .has-success .checkbox,.newsletter_row .has-error .checkbox{ 1274 color: rgb(255, 255, 255); 1275 } 1276 @media only screen and (max-width: 767px) { 1277 .newsletter_button_right,.newsletter_button_left{ 1278 border: none; 1279 margin: 5px 0; 1280 } 1281 } 1282 1283 /* Font Sizes */ 1284 1285 .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span { 1286 font-size: 17px; 1287 } 1288 .header .logo { 1289 font-size: 34px; 1290 } 1291 .homepage_title h1, .homepage_settings h1 { 1292 letter-spacing: -1px; 1293 font-size: 55px; 1294 margin-bottom: 20px; 1295 } 1296 @media only screen and (max-width: 768px) { 1297 .homepage_title h1, .homepage_settings h1 {margin-bottom: 15px;} 1298 } 1299 .homepage_settings h2 { 1300 font-size: 28px; 1301 } 1302 1303 .ui-rangeSlider-bar{ 1304 background: rgb(252, 180, 70)!important; 1305 } 1306 1307 1308 1309 @media only screen and (max-width: 1024px){ 1310 .modal {margin-top: 40px;} 1311 } 1312 @media only screen and (max-width: 768px){ 1313 .modal {margin-top: 60px;} 1314 } 1315 1316 /* Calendar Styles */ 1317 1318 #cal-slide-content { 1319 color: rgb(255, 255, 255)!important; 1320 background-color: rgb(80, 31, 96)!important; 1321 -webkit-box-shadow: none!important; 1322 box-shadow: none!important; 1323 } 1324 #cal-slide-content a.event-item { 1325 color: rgb(255, 255, 255)!important; 1326 font-weight:bold!important; 1327 } 1328 #cal-slide-content a.event-item small { 1329 display: inline-block; 1330 } 1331 .cal-month-box, .cal-year-box, .cal-week-box { 1332 border: 1px solid rgb(235, 238, 240)!important; 1333 } 1334 .cal-year-box .row-fluid, .cal-month-box .cal-row-fluid { 1335 border-bottom: 1px solid rgb(235, 238, 240)!important; 1336 } 1337 .cal-year-box [class*="span"], .cal-month-box [class*="cal-cell"] { 1338 border-right: 1px solid rgb(235, 238, 240)!important; 1339 } 1340 .cal-year-box .row-fluid, .cal-row-fluid, #cal-day-box .cal-day-hour:nth-child(odd) { 1341 background-color: rgb(255, 255, 255)!important; 1342 } 1343 .cal-month-day span:not(.pull-right):not(.events-count-label):not(.events-label) { 1344 color: rgb(255, 255, 255)!important; 1345 } 1346 .cal-day-today span[data-cal-date] { 1347 color: rgb(51, 51, 51)!important; 1348 } 1349 .cal-year-box .row-fluid [class*="span"]:last-child, .cal-month-box .cal-row-fluid [class*="cal-cell"]:last-child { 1350 border: 0!important; 1351 } 1352 .cal-row-head { 1353 background: rgb(255, 255, 255)!important; 1354 } 1355 .day-highlight:hover, .day-highlight { 1356 background-color: rgb(235, 238, 240)!important; 1357 } 1358 .cal-event-list .event.pull-left { 1359 background-color: rgb(51, 51, 51)!important; 1360 opacity: 0.4; 1361 margin-top: 7px!important; 1362 } 1363 .cal-day-today { 1364 background-color: rgb(235, 238, 240)!important; 1365 } 1366 #cal-day-tick { 1367 border: 1px solid rgb(235, 238, 240)!important; 1368 background-color: rgb(235, 238, 240)!important; 1369 } 1370 .cal-day-weekend span[data-cal-date]{
1371 color: rgb(51, 51, 51)!important; 1372 } 1373 .rsDefault, .rsDefault .rsOverflow, .rsDefault .rsSlide, .rsDefault .rsVideoFrameHolder, .rsDefault .rsThumbs { 1374 border-radius: 10px; 1375 background: #151515!important; 1376 } 1377 .img_section .no-radius-bottom + .alert-secondary .rsDefault .rsSlide, .img_section .no-radius-bottom + .alert-secondary .rsDefault .rsOverflow { 1378 border-radius:0; 1379 } 1380 1381 #first_container .favorite, #first_container .fa.favorite { 1382 color: rgb(85, 85, 85); 1383 background: rgb(80, 31, 96); 1384 border: 1px solid rgb(80, 31, 96); 1385 white-space:nowrap!important; 1386 height:24px; 1387 padding:0 6px; 1388 border-radius:8px; 1389 } 1390 #first_container .favorite span, #first_container .fa.favorite span { 1391 font-family: 'Open Sans'; 1392 white-space:nowrap!important; 1393 } 1394 #first_container .favoriteActive:not(.favorite.comments-count-badge), #first_container .fa.favoriteActive:not(.favorite.comments-count-badge .fa) { 1395 color: rgb(217, 83, 79); 1396 } 1397 #first_container .favorite::after, #first_container .fa.favorite::after { 1398 font-family: 'Open Sans'; 1399 margin-left: 3px; 1400 } 1401 #first_container .favorite span, #first_container .fa.favorite span{ 1402 padding-left: 4px; 1403 font-family: 'Open Sans'; 1404 font-size: 11px; 1405 letter-spacing:.5px; 1406 top:-1px; 1407 position:relative; 1408 font-weight:700; 1409 } 1410 #first_container .favorite span:empty, #first_container .fa.favorite span:empty { 1411 padding: 0; 1412 } 1413 #first_container .favorite .bookmark-number, #first_container .fa.favorite .bookmark-number { 1414 padding: 1px 0; 1415 border-radius: 100px; 1416 display: inline-block; 1417 font-weight: bold; 1418 min-width: 15px; 1419 font-size: .8em; 1420 vertical-align: bottom; 1421 height: 15px; 1422 line-height: 13px; 1423 margin-left: 3px; 1424 text-align: center; 1425 } 1426 #first_container .favorite.favoriteActive .bookmark-number:not(.comments-count-badge .bookmark-number), #first_container .fa.favorite.favoriteActive .bookmark-number { 1427 background: rgb(217, 83, 79); 1428 color: #fff; 1429 } 1430 1431 span.checkbox_value::after { 1432 content: ', '; 1433 } 1434 1435 span.checkbox_value:last-child::after { 1436 content: ''; 1437 } 1438 1439 .member_results .grid_element{ 1440 position:relative; 1441 overflow:hidden; 1442 display: inline-block; 1443 width:100%; 1444} 1445.member_results .grid_element::before { 1446 position: absolute; 1447 top: 24px; 1448 text-align: center; 1449 width: 200px; 1450 left: -62px; 1451 transform: rotate(-45deg); 1452 -webkit-transform: rotate(-45deg); 1453 z-index: 1; 1454 line-height: 1.2em; 1455 padding: 6px 0; 1456 font-weight: bold; 1457 letter-spacing: 1px; 1458} 1459@media only screen and (max-width: 767px) { 1460 .member_results .grid-container > hr { 1461 border-color: transparent; 1462 } 1463 .member_results .grid_element{ 1464 overflow:visible; 1465 } 1466 .member_results .grid_element::before { 1467 top: -19px!important; 1468 transform: rotate(0deg); 1469 -webkit-transform: rotate(0deg); 1470 font-size: 10px !important; 1471 letter-spacing: 0; 1472 width: auto; 1473 padding: 3px 6px; 1474 } 1475} 1476 1477 1478 1479 .member_results.level_6 .grid_element { 1480 border-style: solid; 1481 border-radius:0px;border-width:3px;border-color:rgb(14, 197, 213); } 1482 .member_results.level_6 .grid_element::before { 1483 border-bottom-left-radius:0!important; 1484 border-radius:0px;color: #fff ;background-color:rgb(14, 197, 213);font-size:15px;content:'Featured '; 1485 } 1486 .member_results.level_6 .grid_element { 1487 padding:10px; 1488 } 1489 @media only screen and (max-width: 767px) { 1490 .member_results.level_6 .grid_element::before { 1491 left:-3px;}} 1492 .member_results .grid-container { 1493 margin-top: 30px; 1494 } 1495 .member_results .grid-container > hr { 1496 border-color: transparent; 1497 background: transparent; 1498 } 1499 .member_results.level_6 .grid_element{ 1500 overflow:visible; 1501 } 1502 .member_results.level_6 .grid_element::before { 1503 top: calc(-10px - 15px); 1504 transform: rotate(0deg); 1505 -webkit-transform: rotate(0deg); 1506 letter-spacing: 0; 1507 width: auto; 1508 padding: 3px 8px; 1509 left: calc(-3px + 0.5px); 1510 } 1511 1512 .member_results.level_9 .grid_element { 1513 border-style: solid; 1514 border-radius:0px;border-width:3px;border-color:rgb(14, 197, 213); } 1515 .member_results.level_9 .grid_element::before { 1516 border-bottom-left-radius:0!important; 1517 border-radius:0px;color: #fff ;background-color:rgb(14, 197, 213);font-size:15px;content:'Featured '; 1518 } 1519 .member_results.level_9 .grid_element { 1520 padding:10px; 1521 } 1522 @media only screen and (max-width: 767px) { 1523 .member_results.level_9 .grid_element::before { 1524 left:-3px;}} 1525 .member_results .grid-container { 1526 margin-top: 30px; 1527 } 1528 .member_results .grid-container > hr { 1529 border-color: transparent; 1530 background: transparent; 1531 } 1532 .member_results.level_9 .grid_element{ 1533 overflow:visible; 1534 } 1535 .member_results.level_9 .grid_element::before { 1536 top: calc(-10px - 15px); 1537 transform: rotate(0deg); 1538 -webkit-transform: rotate(0deg); 1539 letter-spacing: 0; 1540 width: auto; 1541 padding: 3px 8px; 1542 left: calc(-3px + 0.5px); 1543 } 1544 1545 .member_results .grid-container { 1546 margin-top: 30px; 1547 } 1548 .member_results .grid-container > hr { 1549 border-color: transparent; 1550 background: transparent; 1551 } 1552 .member_results.level_10 .grid_element{ 1553 overflow:visible; 1554 } 1555 .member_results.level_10 .grid_element::before { 1556 top: calc(-10px - 15px); 1557 transform: rotate(0deg); 1558 -webkit-transform: rotate(0deg); 1559 letter-spacing: 0; 1560 width: auto; 1561 padding: 3px 8px; 1562 left: calc(-3px + 0.5px); 1563 } 1564 1565 .member_results .grid-container { 1566 margin-top: 30px; 1567 } 1568 .member_results .grid-container > hr { 1569 border-color: transparent; 1570 background: transparent; 1571 } 1572 .member_results.level_11 .grid_element{ 1573 overflow:visible; 1574 } 1575 .member_results.level_11 .grid_element::before { 1576 top: calc(-10px - 15px); 1577 transform: rotate(0deg); 1578 -webkit-transform: rotate(0deg); 1579 letter-spacing: 0; 1580 width: auto; 1581 padding: 3px 8px; 1582 left: calc(-3px + 0.5px); 1583 } 1584 1585 .member_results .grid-container { 1586 margin-top: 30px; 1587 } 1588 .member_results .grid-container > hr { 1589 border-color: transparent; 1590 background: transparent; 1591 } 1592 .member_results.level_14 .grid_element{ 1593 overflow:visible; 1594 } 1595 .member_results.level_14 .grid_element::before { 1596 top: calc(-10px - 15px); 1597 transform: rotate(0deg); 1598 -webkit-transform: rotate(0deg); 1599 letter-spacing: 0; 1600 width: auto; 1601 padding: 3px 8px; 1602 left: calc(-3px + 0.5px); 1603 } 1604 1605 .member_results .grid-container { 1606 margin-top: 30px; 1607 } 1608 .member_results .grid-container > hr { 1609 border-color: transparent; 1610 background: transparent; 1611 } 1612 .member_results.level_15 .grid_element{ 1613 overflow:visible; 1614 } 1615 .member_results.level_15 .grid_element::before { 1616 top: calc(-10px - 15px); 1617 transform: rotate(0deg); 1618 -webkit-transform: rotate(0deg); 1619 letter-spacing: 0; 1620 width: auto; 1621 padding: 3px 8px; 1622 left: calc(-3px + 0.5px); 1623 } 1624 1625 .member_results .grid-container { 1626 margin-top: 30px; 1627 } 1628 .member_results .grid-container > hr { 1629 border-color: transparent; 1630 background: transparent; 1631 } 1632 .member_results.level_16 .grid_element{ 1633 overflow:visible; 1634 } 1635 .member_results.level_16 .grid_element::before { 1636 top: calc(-10px - 15px); 1637 transform: rotate(0deg); 1638 -webkit-transform: rotate(0deg); 1639 letter-spacing: 0; 1640 width: auto; 1641 padding: 3px 8px; 1642 left: calc(-3px + 0.5px); 1643 } 1644 1645 .member_results .grid-container { 1646 margin-top: 30px; 1647 } 1648 .member_results .grid-container > hr { 1649 border-color: transparent; 1650 background: transparent; 1651 } 1652 .member_results.level_17 .grid_element{ 1653 overflow:visible; 1654 } 1655 .member_results.level_17 .grid_element::before { 1656 top: calc(-10px - 15px); 1657 transform: rotate(0deg); 1658 -webkit-transform: rotate(0deg); 1659 letter-spacing: 0; 1660 width: auto; 1661 padding: 3px 8px; 1662 left: calc(-3px + 0.5px); 1663 } 1664 1665 .member_results .grid-container { 1666 margin-top: 30px; 1667 } 1668 .member_results .grid-container > hr { 1669 border-color: transparent; 1670 background: transparent; 1671 } 1672 .member_results.level_18 .grid_element{ 1673 overflow:visible; 1674 } 1675 .member_results.level_18 .grid_element::before { 1676 top: calc(-10px - 15px); 1677 transform: rotate(0deg); 1678 -webkit-transform: rotate(0deg); 1679 letter-spacing: 0; 1680 width: auto; 1681 padding: 3px 8px; 1682 left: calc(-3px + 0.5px); 1683 } 1684 1685 .member_results .grid-container { 1686 margin-top: 30px; 1687 } 1688 .member_results .grid-container > hr { 1689 border-color: transparent; 1690 background: transparent; 1691 } 1692 .member_results.level_19 .grid_element{ 1693 overflow:visible; 1694 } 1695 .member_results.level_19 .grid_element::before { 1696 top: calc(-10px - 15px); 1697 transform: rotate(0deg); 1698 -webkit-transform: rotate(0deg); 1699 letter-spacing: 0; 1700 width: auto; 1701 padding: 3px 8px; 1702 left: calc(-3px + 0.5px); 1703 } 1704 1705 .member_results .grid-container { 1706 margin-top: 30px; 1707 } 1708 .member_results .grid-container > hr { 1709 border-color: transparent; 1710 background: transparent; 1711 } 1712 .member_results.level_21 .grid_element{ 1713 overflow:visible; 1714 } 1715 .member_results.level_21 .grid_element::before { 1716 top: calc(-10px - 15px); 1717 transform: rotate(0deg); 1718 -webkit-transform: rotate(0deg); 1719 letter-spacing: 0; 1720 width: auto; 1721 padding: 3px 8px; 1722 left: calc(-3px + 0.5px); 1723 } 1724 1725 .member_results .grid-container { 1726 margin-top: 30px; 1727 } 1728 .member_results .grid-container > hr { 1729 border-color: transparent; 1730 background: transparent; 1731 } 1732 .member_results.level_22 .grid_element{ 1733 overflow:visible; 1734 } 1735 .member_results.level_22 .grid_element::before { 1736 top: calc(-10px - 15px); 1737 transform: rotate(0deg); 1738 -webkit-transform: rotate(0deg); 1739 letter-spacing: 0; 1740 width: auto; 1741 padding: 3px 8px; 1742 left: calc(-3px + 0.5px); 1743 } 1744 1745 .member_results .grid-container { 1746 margin-top: 30px; 1747 } 1748 .member_results .grid-container > hr { 1749 border-color: transparent; 1750 background: transparent; 1751 } 1752 .member_results.level_23 .grid_element{ 1753 overflow:visible; 1754 } 1755 .member_results.level_23 .grid_element::before { 1756 top: calc(-10px - 15px); 1757 transform: rotate(0deg); 1758 -webkit-transform: rotate(0deg); 1759 letter-spacing: 0; 1760 width: auto; 1761 padding: 3px 8px; 1762 left: calc(-3px + 0.5px); 1763 } 1764 .member-profile-tabs ul li a small { 1765 display: none; 1766 } 1767 1768 1769
1770 /* Homepage Sections Background Color Logic */ 1771 1772 1773 .homepage-section-1 { 1774 padding: 60px 0 60px; 1775 } 1776 1777 1778 .homepage-section-1 { 1779 background: rgb(238, 238, 238); 1780 } 1781 1782 1783 .homepage-section-2 { 1784 padding: 60px 0 60px; 1785 } 1786 1787 1788 .homepage-section-2 { 1789 background: rgb(255, 255, 255); 1790 } 1791 1792 1793 .homepage-section-3 { 1794 padding: 100px 0 100px; 1795 } 1796 1797 1798 .homepage-section-3 { 1799 background: rgb(255, 255, 255); 1800 } 1801 1802 1803 .homepage-section-4 { 1804 padding: 120px 0 0px; 1805 } 1806 1807 1808 .homepage-section-4 { 1809 background: rgb(255, 255, 255); 1810 } 1811 1812 1813 .homepage-section-5 { 1814 padding: 120px 0 0px; 1815 } 1816 1817 1818 .homepage-section-5 { 1819 background: rgb(255, 255, 255); 1820 } 1821 1822 1823 .homepage-section-6 { 1824 padding: 100px 0 100px; 1825 } 1826 1827 1828 .homepage-section-6 { 1829 background: rgb(0,0,0); 1830 } 1831 1832 1833 .homepage-section-7 { 1834 padding: 40px 0 40px; 1835 } 1836 1837 1838 .homepage-section-7 { 1839 background: rgb(255, 255, 255); 1840 } 1841 1842 1843 .homepage-section-8 { 1844 padding: 40px 0 40px; 1845 } 1846 1847 1848 .homepage-section-9 { 1849 padding: 40px 0 40px; 1850 } 1851 1852 1853 .homepage-section-10 { 1854 padding: 40px 0 40px; 1855 } 1856 1857 1858 .homepage-section-11 { 1859 padding: 40px 0 40px; 1860 } 1861 1862 1863 .homepage-section-12 { 1864 padding: 40px 0 40px; 1865 } 1866 1867 1868 .homepage-section-13 { 1869 padding: 40px 0 40px; 1870 } 1871 1872 1873 .homepage-section-14 { 1874 padding: 40px 0 40px; 1875 } 1876 1877 1878 .homepage-section-15 { 1879 padding: 40px 0 40px; 1880 } 1881 1882 1883 /* Additional Settings */ 1884 1885 1886 /* Streaming Widgets Title Settings */ 1887 1888 .streaming-title { 1889 text-align: center; 1890 font-size: 48px; 1891 line-height:1.5em; 1892 font-weight: 300; 1893 font-family: 'Open Sans'; 1894 padding-bottom: 60px; 1895 } 1896 1897 @media only screen and (max-width: 990px) { 1898 .streaming-title { 1899 line-height:1.1em; 1900 } 1901 } 1902 1903 .streaming-title + hr { 1904 display: none; 1905 } 1906 1907 .homepage-join-module .module h2:first-of-type { 1908 color: rgb(62, 62, 62); 1909 } 1910 1911 .homepage-join-module .module{ 1912 background: rgb(250, 250, 250); 1913 border-color: rgb(238, 238, 238); 1914 } 1915 1916 .homepage-about-module .module h2:first-of-type { 1917 color: rgb(62, 62, 62); 1918 } 1919 1920 .homepage-about-module .module{ 1921 background: rgb(250, 250, 250); 1922 border-color: rgb(238, 238, 238); 1923 1924 } 1925 1926 .the-post-description > :is(h2, h3, h4, h5):not(:first-child) { 1927 font-weight: 600; 1928 margin-top: 20px; 1929 } 1930 1931 /* Keep: Ensure ul/ol respect padding and margins */ 1932 .the-post-description > :is(ul, ol) { 1933 display: flow-root; 1934 } 1935 .the-post-description li { 1936 margin-bottom: 8px; 1937 } 1938 1939 1940 .write_comment_container, .tab-content, .well:not(.well .well):not(.module .well):not(.tab-content .well):not(.well.make-connection):not(.slick-slide .well), .module:not(.module .module):not(.well .module):not(.tab-content .module):not(.search_box .module):not(.posted-by-snippet), .panel, .pic:not(.slick-slide .pic), .member_accounts > .account-form-box { 1941 box-shadow: 0 8px 8px -4px #0000001a,0 4px 4px -4px #0000001a; 1942 } 1943 1944 .img-circle, .img-rounded.img-circle, .img-circle img, .img-rounded.img-circle img, img.fr-dib.img-circle, img.fr-dib.img-rounded.img-circle { 1945 border-radius:1000px!important; 1946 } 1947 1948 .img-rounded img, img.fr-dib.img-rounded{ 1949 border-radius: 10px!important; 1950 } 1951 1952 /* Google Translate Module */ 1953 .skiptranslate{font-size:0} 1954 .goog-te-gadget-simple{border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.075) inset;color:#555} 1955 .skiptranslate.goog-te-gadget span,img.goog-te-gadget-icon{display:none!important} 1956 .goog-te-gadget .goog-te-combo{margin-bottom:-4px} 1957 .skiptranslate.goog-te-gadget select{border:1px solid #ddd;border-radius:3px;font-size:12px;padding:2px 4px;width:100%;background:#fff;margin:0;height:30px;line-height:30px;display:block;color:#555;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)} 1958 @media only screen and (max-width: 1100px) { 1959 .skiptranslate:not(.skiptranslate[style="display: none;"]){height:39px} 1960 .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header{margin-top:10px!important} 1961 .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar{margin-top:10px} 1962 .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar ~ .header{margin-top:0!important} 1963 .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .mobile-main-menu{top:89px!important;height:calc(100% - 90px)!important} 1964 .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .navbar{top:39px} 1965 .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ #first_container .member_sidebar.open{top: 89px;} 1966 } 1967 @media only screen and (max-width: 767px) { 1968 .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar.hidden-xs ~ .header{margin-top:10px!important} 1969 } 1970 1971 1972 1973</style> 1974 1975<!--GOOGLE TAG MANAGER CODE--> <!-- ON-PAGE CSS FUNCTIONS --> 1976 <style type="text/css"> 1977 /* eliminate large padding on member details */ 1978.froalaeditor li, 1979.froalaeditoradmin li { 1980 border: none; 1981 padding: 0; 1982} 1983 1984.specialties-table li { 1985 padding: 15px 15px 5px 15px; 1986} 1987 1988.specialties-table li.sub-specialty-indent { 1989 padding: 5px; 1990 border: none; 1991} 1992 1993#first_container.content-container { 1994 background-position: center center; 1995} 1996 1997.homepage_settings h1 { 1998 margin-bottom: 40px; 1999} 2000 2001.custom-homepage-content.homepage-section-3 { 2002 background-image: url(/images/CoverPhotos/5.jpg); 2003 background-position: center top; 2004 background-repeat: no-repeat; 2005 position: relative; 2006 background-size: cover; 2007 box-shadow: inset 0 0 0 6000px rgb(0 0 0 / 30%); 2008} 2009 2010.custom-homepage-content.homepage-section-3 .ds-custom-filter { 2011 background-color: rgba(80, 31, 96, 0.7); 2012 border: none; 2013} 2014 2015.custom-homepage-content.homepage-section-3 .ds-custom-filter h3 { 2016 display: block; 2017 font-size: 28px; 2018 color: rgb(255, 255, 255); 2019 font-weight: 400; 2020 font-family: 'Open Sans'; 2021 padding: 0 10px 20px 0; 2022} 2023 2024.custom-homepage-content.homepage-section-3 .ds-custom-filter label { 2025 color: #fff; 2026} 2027 2028.custom-homepage-content.homepage-section-3 h2 { 2029 color: #fff; 2030 font-size: 48px; 2031 font-weight: 400; 2032 font-family: 'Open Sans'; 2033 margin-bottom: 40px; 2034 text-shadow: -1px 1px 3px rgb(0 0 0 / 20%), -2px 2px 6px rgb(0 0 0 / 30%); 2035} 2036 2037.custom-homepage-content.homepage-section-3 .input-title { 2038 display: none; 2039} 2040 2041/* menu */ 2042.navbar-default .navbar-nav>li:focus, 2043.navbar-default .navbar-nav>li:hover { 2044 background-color: rgb(252, 180, 70); 2045 box-shadow: none; 2046} 2047 2048.clearfix::after { 2049 content: ""; 2050 clear: both; 2051 display: table; 2052} 2053.pic .pic-caption { 2054 background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(80, 31, 96,0.85) 50%); 2055 color: rgb(255, 255, 255); 2056} 2057#first_container .favorite, #first_container .fa.favorite { 2058 color: rgb(255, 255, 255); 2059} 2060.post_location_map .bg-secondary { 2061 background-color: rgb(80, 31, 96) !important; 2062} 2063.network-icon.contact { 2064 background: rgb(252, 180, 70) !important; 2065} 2066.feature-resources .post-detail-body .post-body .the-post-description ul li { 2067 font-size: 20px !important; 2068} 2069.member-profile-tabs .local-area-section { 2070 display: none; 2071} 2072#our_team_details_347 .form-group label.vertical-label.bd-checkbox { 2073 color: #fcb446; 2074 border-bottom: 1px solid #fcb446; 2075 font-size: 24px; 2076 margin-bottom: 15px; 2077 font-weight: 600; 2078 padding-bottom: 5px; 2079} 2080#our_team_details_347 .account-menu-title small { 2081 font-size: 14px; 2082 color: #757575; 2083} 2084#our_team_details_347 .account-menu-title { 2085 color: #fcb446; 2086 border-color: #fcb446; 2087} </style> 2088 <div class="header"> 2089 <div class="container"> 2090 <div class="row header-main-row"> 2091 <style type='text/css'> .logo-text:has(.logo_title:empty) { 2092 display:none 2093} </style><div id="website_logo" class="col-md-5 xs-nopad xs-hpad sm-text-center xs-bmargin header-left-container"> 2094 <a class="logo logo-image inline-block vpad sm-nopad sm-tmargin" href="https://www.vetclinicjobs.com" title="VetClinicJobs"> 2095 <img width="1120" height="283" src="/images/vetclinicjobs-logo.png" alt="VetClinicJobs"> 2096 </a> 2097 <div class="clearfix"></div> 2098</div> 2099 <style type='text/css'> body input.tt-hint,body input.form-control.normal-autosuggest-input.tt-query { 2100 background-color: white !important; 2101} 2102.mini-nav:not(:has(li)) { 2103 display: none!important; 2104} 2105/* Parent Container - Main List */ 2106.mini-nav li:has(ul) { 2107 position: relative; 2108 border-radius: 8px 8px 0 0; 2109} 2110.mini-nav > li:has(ul) { 2111 padding-left: 0; 2112 padding-right: 0; 2113 background: rgb(255, 255, 255); 2114} 2115.mini-nav > li:has(ul) > a:not(.btn), .mini-nav > li:has(ul) > span { 2116 padding: 10px 15px; 2117 margin: 0!important; 2118} 2119.mini-nav > li:hover:has(ul), .mini-nav > li:hover:has(ul) { 2120 box-shadow: 0 -1px 3px rgba(0, 0, 0,0.25); 2121} 2122/* Parent Links */ 2123.mini-nav > li > a:not(.btn), .mini-nav > li > span:not(.btn) { 2124 display:inline-block; 2125 border-radius: 8px 8px 0 0; 2126} 2127.mini-nav > li:hover > a:not(.btn), .mini-nav > li:hover > span { 2128 background: rgb(255, 255, 255); 2129 display: inline-block; 2130 position: relative; 2131 z-index: 1000; 2132} 2133/* First Level Dropdowns */ 2134.mini-nav li ul { 2135 background: rgb(255, 255, 255); 2136 box-shadow: 0 0px 3px rgba(0, 0, 0,0.25), 0 5px 5px 5px rgba(0, 0, 0,0.05); 2137 text-align: left;
2138 display: none; 2139 border-radius: 0 8px 8px 8px; 2140 list-style: none; 2141 padding: 10px; 2142 position: absolute; 2143 white-space: nowrap; 2144 min-width: 130%; 2145 width: auto; 2146 top: 100%; 2147 left: 0; 2148 z-index: 999; 2149 margin-top: -1px; 2150} 2151.mini-nav li:hover > ul { 2152 display: block; 2153} 2154/* First Level Dropdown Items */ 2155.mini-nav li ul li { 2156 position: relative; 2157 display: block; 2158 width: 100%; 2159} 2160.mini-nav li ul li a, .mini-nav li ul li span { 2161 font-size: 13.875px !important; 2162 display: block; 2163 font-weight: 400; 2164 padding: 8px 12px; 2165 border-radius: 8px; 2166 text-decoration: none; 2167 width: 100%; 2168} 2169.mini-nav li ul li a:hover, .mini-nav li ul li span:hover { 2170 box-shadow: 0 0 0 25px rgba(0, 0, 0,0.05) inset; 2171} 2172/* Second Level Dropdowns */ 2173.mini-nav li ul li ul { 2174 display: none; 2175 position: absolute; 2176 top: 0; 2177 left: 100%; 2178 margin: 0; 2179 border-radius: 8px; 2180} 2181.mini-nav li ul li:hover > ul { 2182 display: block; 2183} 2184/* Edge Positioning - Last Child Dropdowns */ 2185.mini-nav > li:last-child ul { 2186 right: 0; 2187 left: auto; 2188 border-radius: 8px 0 8px 8px; 2189} 2190.mini-nav > li:last-child ul li ul { 2191 right: 100%; 2192 left: auto; 2193} 2194/* Flex Spacing Utility */ 2195.mini-nav.mini-nav-flex-spaced { 2196 display: flex; 2197 justify-content: space-between; 2198 align-items: center; 2199 flex-wrap: wrap; 2200 row-gap: 0;
2201} 2202.mini-nav.mini-nav-flex-spaced > li { 2203 flex: none; 2204 padding: 0; 2205 margin: 2px 0; 2206 order: 2; 2207} 2208.mini-nav.mini-nav-flex-spaced > li.header-member-account-links, 2209.mini-nav:has(li ul) > li.header-member-account-links { 2210 order: 1; 2211 margin-left: auto; 2212 width: 100%; 2213 margin-bottom: 10px; 2214} 2215.logged-in-member-header .mini-nav.mini-nav-flex-spaced.list-inline > li { 2216 line-height: 1em; 2217 min-height: 0; 2218} 2219@media (min-width: 992px) { 2220 .header-main-row { 2221 display: flex; 2222 align-items: center; 2223 flex-wrap: wrap; 2224 } 2225} 2226@media (max-width: 991px) { 2227 .mini-nav.mini-nav-flex-spaced { 2228 justify-content: center; 2229 } 2230 .mini-nav.mini-nav-flex-spaced > li { 2231 margin-left: 5px !important; 2232 margin-right: 5px !important; 2233 } 2234} </style><div class="col-md-7 text-right sm-text-center header-right-container nolpad xs-hpad"> 2235 <ul class="mini-nav nobmargin list-inline xs-nopad xs-tmargin tpad"> 2236 <li class='bmargin xs-nomargin'><a href='/login' id='link328' class='rpad bmargin'>Member Login</a></li><li class='bmargin norpad xs-nopad xs-vmargin'><a href='/join' id='link329' class='btn btn_get_listed bold'>Vet Clinic Jobs - Join Today</a></li> </ul> 2237 <div class="clearfix"></div> 2238 </div> 2239 </div> 2240 </div> 2241 <style type='text/css'> .mobile-main-menu .hasChildren span a { 2242 padding: 0px; 2243} 2244 2245.user_sidebar > img { 2246 width: 32px; 2247 height: 32px; 2248 position: absolute; 2249 z-index: 10; 2250 border-radius: 100px; 2251 top: -1px; 2252 object-fit: cover; 2253 left: -10px; 2254 background: rgb(80, 31, 96); 2255} 2256#member_sidebar_toggle img+.fa { 2257 display: none; 2258} 2259.main_menu, .user_sidebar, .compact-mobile-search { 2260 padding: 5px 8px; 2261 margin-right:0; 2262 min-height: 33.0333px; 2263 min-width: 38.116px; 2264} 2265.main_menu i, .user_sidebar i { 2266 font-size: 16px; 2267} 2268.navbar-nav li { 2269 float: none!Important; 2270} 2271.navbar-default{ 2272 -webkit-transition: all .6s ease-in-out; 2273 -moz-transition: all .6s ease-in-out; 2274 -o-transition: all .6s ease-in-out; 2275 transition: all .6s ease-in-out; 2276} 2277.transparent_menu { 2278 background-color: rgba(80, 31, 96,0.95)!important; 2279} 2280@media only screen and (max-width: 991px) { 2281 #popover {display: none} 2282} 2283@media only screen and (max-width: 1100px){ 2284 .mobile-main-menu{display:block!important} 2285 .navbar-toggle {display: block} 2286 #bs-main_menu .nav {display: none!important} 2287} 2288.mobile-main-menu { 2289 position: fixed; 2290 height: calc(100% - 50px)!important; 2291 width: 250px; 2292 background: rgb(80, 31, 96); 2293 z-index: 99999; 2294 right: -250px; 2295 top: 50px; 2296 display: none; 2297 -webkit-transition: all .6s ease-in-out; 2298 -moz-transition: all .6s ease-in-out; 2299 -o-transition: all .6s ease-in-out; 2300 transition: all .6s ease-in-out; 2301 overflow-y: auto!important; 2302 overflow-x: hidden!important; 2303} 2304.mobile-main-menu ul li i { 2305 color: rgb(255, 255, 255); 2306 cursor: pointer; 2307 float: right; 2308 padding: 13px; 2309} 2310.mobile-main-menu.opened{ 2311 right: 0px!important; 2312} 2313.mobile-main-menu ul li a, .mobile-main-menu ul li span { 2314 display: inline-block; 2315 float: left; 2316 -webkit-touch-callout: none; 2317 -webkit-user-select: none; 2318 -khtml-user-select: none; 2319 -moz-user-select: none; 2320 -ms-user-select: none; 2321 user-select: none; 2322 padding: 10px 0px; 2323 width: 80%; 2324 width: calc(100% - 40px); 2325} 2326.mobile-main-menu .sidebar-nav li ul { 2327 height: 0px; 2328 overflow: hidden; 2329 list-style: none; 2330 color: rgb(255, 255, 255); 2331 padding-left: 10px; 2332} 2333.mobile-main-menu .sidebar-nav li.sub_open > ul{ 2334 height: 100%; 2335} 2336.mobile-main-menu ul.sidebar-nav { 2337 position: absolute; 2338 width: 250px; 2339 margin: 0; 2340 padding: 0; 2341 list-style: none; 2342 font-size: 14px; 2343} 2344.mobile-main-menu .sidebar-nav > li { 2345 display: block; 2346 line-height: 20px; 2347 padding: 0 15px 0 20px; 2348} 2349.mobile-main-menu .sidebar-nav li a, .mobile-main-menu .sidebar-nav li span { 2350 text-decoration: none; 2351 color: rgb(255, 255, 255); 2352 padding-left:10px; 2353} 2354.mobile-main-menu .sidebar-nav li a i, .mobile-main-menu .sidebar-nav li span i { 2355 display: none; 2356} 2357 2358 </style><div class="mobile-main-menu"> 2359 <ul class="sidebar-nav"> 2360 <li class=''><a href='/employer' id='link320'>Employer Directory</a></li><li class=''><a href='/jobs' id='link321'>Current Vacancies</a></li><li class=''><a href='/join' id='link324'>Join</a></li><li class=''><a href='/faq' id='link360'>FAQs</a></li><li class=''><a href='/podcast' id='link331'>Podcast</a></li><li class=''><a href='/resources' id='link355'>
2360Resources</a></li><li class=''><a href='/about' id='link325'>About</a></li><li class=''><a href='/about/contact' id='link330'>Contact Us</a></li> </ul> 2361</div> 2362<nav class="navbar navbar-default lockedonscroll"> 2363 <div class="container container-fluid"> 2364 2365 <div class="navbar-header"> 2366 <button type="button" class="navbar-toggle collapsed main_menu" data-toggle="collapse" aria-label="main_menu"> 2367 <i class="fa fa-bars fa-fw"></i> 2368 </button> 2369 2370 2371 2372 </div> 2373 2374 2375 <div class="tablet-menu collapse navbar-collapse nopad" id="bs-main_menu"> 2376 <ul class="tablet-menu-ul nav navbar-nav nav-justified"> 2377 <li class=''><a href='/employer' id='link320'>Employer Directory</a></li><li class=''><a href='/jobs' id='link321'>Current Vacancies</a></li><li class=''><a href='/join' id='link324'>Join</a></li><li class=''><a href='/faq' id='link360'>FAQs</a></li><li class=''><a href='/podcast' id='link331'>Podcast</a></li><li class=''><a href='/resources' id='link355'>Resources</a></li><li class=''><a href='/about' id='link325'>About</a></li><li class=''><a href='/about/contact' id='link330'>Contact Us</a></li> </ul> 2378 </div> 2379 </div> 2380</nav> 2381<!--CSS IF MENU IS FIXED TOP--> 2382 2383</div> 2384<div class="clearfix"></div> 2385<!-- Begin Content --> 2386<main role="main" id="main-content"> 2387<div id="first_container" class="content-container fr-view"> 2388 <div class="container"> 2389 <div class="clearfix body-content"></div> 2390 </div> 2391<style> 2392 #first_container > .container:first-child .clearfix.body-content { 2393 display: none !important; 2394 } 2395 .hero_section_container { 2396 background-image: url("/images/freshbg.webp"); 2397 background-position: center center; 2398 background-repeat: no-repeat; 2399 background-size: cover; 2400 position: relative; 2401 } 2402 .hero_section_container .container { 2403 padding-top: 70px; 2404 padding-bottom: 60px; 2405 } 2406 .hero_section_container .hero_h1 { 2407 color: rgb(255, 255, 255); 2408 font-size: 30px; 2409 font-weight: 400; 2410 } 2411 .hero_section_container .hero_h2 { 2412 color: rgb(255, 255, 255); 2413 font-size: 56px; 2414 font-weight: 600; 2415 line-height: 1.2em; 2416 } 2417 .hero_section_container .hero_content { 2418 color: ; 2419 font-size: 10px; 2420 } 2421 .hero_section_container > .container > div { 2422 float: none!important; 2423 text-align: center; 2424 } 2425 </style> 2426 <div class="hero_section_container"> 2427 <div class="container"> 2428 <div class="col-md-8 center-block"> 2429 <h1 class='hero_h1'>Welcome Members</h1><h2 class='hero_h2'>Log Into Your Account</h2> <div class="clearfix"></div> 2430 </div> 2431 </div> 2432 <div class="clearfix"></div> 2433 </div> 2434 <div class="clearfix clearfix-lg"></div> 2435 2436 <div class="container"> 2437 2438 <div class="row"> 2439 2440 <div class="col-md-12"> 2441 <div> <style> .member-login-container:not(.modal .module) { width: 555px; max-width: 100%; margin-left: auto; margin-right: auto; margin-bottom:0; background-color: rgb(255, 255, 255)!important; border-color: rgb(235, 238, 240)!important; color: rgb(41, 41, 41)!important; } .login-register-tabs, .login-register-content { width: 555px!important; max-width: 100%; margin-left: auto!important; margin-right: auto!important; background-color: rgb(235, 238, 240); } .login-register-content { background: transparent; padding: 0; border: none; } .login-register-content h2, .login-register-content h2+hr, .login-register-content .account-menu-title { display: none!important; } .express_login_create_account_prefix hr { margin: 15px 0 10px; }
2441 .modal-content #containerFBLogin, .modal-content #containerGoogleLogin { margin:15px 0; } /* CSS When Login Form and Express Registration Rendered in Sidebar */ .col-md-3 .bd-chat-well-container,.col-md-4 .bd-chat-well-container { padding: 15px 10px; } .col-md-3 .bd-chat-center-text,.col-md-4 .bd-chat-center-text { margin: 0; font-size: 20px; padding: 0 15px; } .col-md-3 .member-login-page-container .login-register-tabs *, .col-md-4 .member-login-page-container .login-register-tabs * { font-size: 12px; line-height: 1.2em; vertical-align: bottom; } .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a { padding: 5px !important; height: 50px; vertical-align: middle; display: table-cell !important; width: 1%; } .col-md-3 .member-login-page-container .login-register-content, .col-md-4 .member-login-page-container .login-register-content { padding: 0; } .col-md-3 .member-login-container, .col-md-4 .member-login-container { padding: 15px !important; font-size: 13px; } .col-md-3 .member-login-page-container .input-lg, .col-md-4 .member-login-page-container .input-lg { height: 34px; padding: 6px 12px; font-size: 14px; } .col-md-3 .member-login-page-container .security_question_label, .col-md-4 .member-login-page-container .security_question_label { transform: scale(.85); margin: -1.15em -1.15em 0; } .col-md-3 #containerFBLogin, .col-md-4 #containerFBLogin, .col-md-3 #containerGoogleLogin, .col-md-4 #containerGoogleLogin, .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li { width: 100%; display: block; margin-top:5px; } .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li { padding:0 } .col-md-3 .login-cta-buttons ul.nav, .col-md-4 .login-cta-buttons ul.nav { margin-top: -10px; } .col-md-3 #googleAction, .col-md-3 #facebookAction, .col-md-4 #googleAction, .col-md-4 #facebookAction { padding: 0; min-height: 0; font-size: 14px; margin: 0; } .col-md-3 #googleAction img, .col-md-3 #facebookAction img, .col-md-4 #googleAction img, .col-md-4 #facebookAction img { height: 36px !important; margin-right: 5px; position: relative!important; display: inline-block; } @media only screen and (max-width: 767px) { .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a { display: block !important; width: 100%; line-height: 40px; } #containerGoogleLogin { text-align: center; margin-top: 10px; } #containerGoogleLogin #gBtn { display: inline-block; width: 202px; } #containerFBLogin .btn-facebook { box-sizing: border-box; width: 191px; font-size: 14px; position: relative; left: -4px; padding-left: 44px; white-space: nowrap !important; } } </style> <div class="row member-login-page-container"> <div class="fpad-lg novpad"> <div class="module fpad-xl member-login-container"> <style type="text/css">label span.required { color: #B94A48; }span.help-inline, span.help-block {font-size: .9em; }</style><form action="/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" id="member_login_190" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="redirect" form_action_div return_data_type="" name="member_login_190" class=" ">
2441<input type="hidden" name="sized" value="0" id="member_login_190-element-0"/><input type="hidden" name="form" value="myform" id="member_login_190-element-1"/><input type="hidden" name="formname" value="member_login" id="member_login_190-element-2"/><input type="hidden" name="dowiz" value="1" id="member_login_190-element-3"/><input type="hidden" name="save" value="1" id="member_login_190-element-4"/><input type="hidden" name="url_origin_pars" value="/login" id="member_login_190-element-5"/><input type="hidden" name="action" autocomplete="off" value="login" id="member_login_190-element-6"/><h2 class="nomargin member-login-h2-form-title">Member Login</h2><hr><style type='text/css'> #containerGoogleLogin #gBtn { display: inline-block; text-align: center; width: 216px;}.module #containerFBLogin #facebookAction img, .module #containerFBLogin #facebookAction img { position: absolute !important;}.module #containerFBLogin a#facebookAction { max-width: 200px; position: relative; left: -8px; } </style> <!-- Required Font-Family for Social Buttons --> <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Roboto:500&display=swap"> <noscript> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:500&display=swap"> </noscript> <div class="row social-login-row"> </div><div class="form-group"><label class="vertical-label bd-email" for="member_login_190-element-9"><span class="required">* </span>Email Address</label><input type="email" name="email" required placeholder="[email protected]" autocomplete="off" value class="form-control input-lg" id="member_login_190-element-9"/></div><div class="form-group"><label class="vertical-label bd-password" for="member_login_190-element-10"><span class="required">* </span>Password</label> <style> #togglePassword { background: none; border: none; cursor: pointer; font-weight: bold; font-size: .85em; position: absolute; right: 5px; top: 0; } </style><button type="button" tabindex="-1" id="togglePassword" onclick="showPassword(this);"> <i class="fa fa-lock" aria-hidden="true"></i></button>
2441<script> function showPassword(node){ const parent = node.closest('.form-group'); const passwordField = parent.querySelector(`input[type='password'], input[type='text']`); const isPassword = passwordField.getAttribute('type') === 'password'; passwordField.setAttribute('type', isPassword ? 'text' : 'password'); const iconHTML = isPassword ? `<i class="fa fa-unlock" aria-hidden="true"></i>` : `<i class="fa fa-lock" aria-hidden="true"></i>`; node.innerHTML = iconHTML; } </script>
2441<input type="password" name="pass" required placeholder="Enter Password" autocomplete="off" value class="form-control input-lg" id="member_login_190-element-10"/></div><span class="help-block bpad bmargin notmargin"> <a href="/login/retrieval">Forgot Password? Click to Reset Password</a></span><div class="form-group"><div class="form-group security_question_label"> <div id="member_login_190-captchaContainer" class="control-group"> <div class="g-recaptcha" id="member_login_190-google-recaptcha"></div> </div> <small class="help-block" id="recaptcha_error" style="display:none;" data-fv-validator="notEmpty" data-fv-for="recaptcha" data-fv-result="INVALID" />The security check was not completed successfully.</small> <div class="clearfix bmargin"></div> <input type="hidden" name="recaptcha" id="member_login_190-rcap"></div> <style> .modal .g-recaptcha-scale, .col-md-4 .g-recaptcha-scale, .col-md-3 .g-recaptcha-scale, .col-lg-3 .g-recaptcha-scale, .col-lg-4 .g-recaptcha-scale { transform: scale(0.77); -webkit-transform: scale(0.77); transform-origin: 0 0; -webkit-transform-origin: 0 0; margin-bottom: -15px; } .modal #member_login_190-captchaContainer, .col-md-4 #member_login_190-captchaContainer, .col-md-3 #member_login_190-captchaContainer, .col-lg-3 #member_login_190-captchaContainer, .col-lg-4 #member_login_190-captchaContainer { transform: scale(0.77); -webkit-transform: scale(0.77); transform-origin: 0 0; -webkit-transform-origin: 0 0; margin-bottom: -15px; } </style>
2441<script type="text/javascript"> if(typeof formsFound == "undefined"){ var formID = ''; var currentCaptcha = {}; var captchaHolders = {}; var formsFound = {}; var captchaApiRequested = false; /* The forms the visitor has actually interacted with - only these get a widget. */ var captchaArmedForms = []; /* api.js stays lazy - nothing is fetched from Google until the visitor actually touches the form. 'click' alone was too narrow: a keyboard-only visitor tabs in and presses Enter without ever clicking, so api.js never loaded, the captcha never rendered, and the form POSTed an empty token. */ var captchaTriggerEvents = ['click', 'keydown', 'focusin', 'touchstart']; window.addEventListener('load', () => { formID = document.querySelectorAll('[name="recaptcha"]'); if (typeof formID != "undefined" && formID !== null) { for (let i = 0; i < formID.length; i++) { let formIDForm = formID[i].closest('form'); let captchaHolder = formIDForm.querySelector(".g-recaptcha"); if (typeof formsFound[formIDForm.id] != "undefined") { formsFound[formIDForm.id]['counter']++; }else{ formsFound[formIDForm.id] = {'counter' : 1}; } formIDForm.setAttribute('data-counter', formsFound[formIDForm.id]['counter']); captchaHolder.setAttribute('id',captchaHolder.id+'-'+formsFound[formIDForm.id]['counter']); if (typeof formIDForm != "undefined" && formIDForm !== null) { captchaTriggerEvents.forEach( evt => formIDForm.addEventListener(evt, reCaptchaOnFormInteraction, false) ); } } } }); } function reCaptchaOnFormInteraction(event) { if (event && event.currentTarget) { captchaArmForm(event.currentTarget); } if (captchaApiRequested) { renderArmedCaptchas(); return; } captchaApiRequested = true; var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en'; head.appendChild(script); } var captchaArmForm = function (formEl) { if (!formEl) { return; } for (var a = 0; a < captchaArmedForms.length; a++) { if (captchaArmedForms[a] === formEl) { return; } } captchaArmedForms.push(formEl); }; var captchaSolvedCallback = function (holder) { return function () { var formEl = holder.closest('form'); if (!formEl) { return; } $(formEl).find('.security_question_label').removeClass('has-error'); $(formEl).find('#recaptcha_error').css('display', 'none'); var notification = document.getElementById(formEl.id + '-notification'); if (notification && notification.classList.contains('alert-danger-subtle')) { $(notification).slideUp(); } }; }; var renderArmedCaptchas = function () { if (typeof grecaptcha === "undefined" || typeof grecaptcha.render !== "function") { return; } for (var f = 0; f < captchaArmedForms.length; f++) { var holder = captchaArmedForms[f].querySelector('div[class=g-recaptcha]'); if (!holder || !holder.id || holder.getClientRects().length === 0) { continue; } /* Guard a second render: grecaptcha throws on an element it already claimed. */ if (typeof captchaHolders[holder.id] === "undefined") { captchaHolders[holder.id] = grecaptcha.render(holder.id, { 'sitekey': '6Ld5Mu4jAAAAAHOalYdPIzJkuTwkKpvuTDhHd2qz', 'callback': captchaSolvedCallback(holder) }); } } }; var onloadCallback = function (event) { renderArmedCaptchas(); }; </script>
2441<script> $(document).ready(function(){ /* Implicit submission (Enter inside a field) fires 'submit' without firing a click on the submit button, so the click guard below never sees it and the form POSTed an empty token. Bound on document/capture so it runs before FormValidation's own handler on the form - at AT_TARGET the capture flag does not order listeners, so a listener on the form itself would not reliably win. Native HTMLFormElement.submit() does not dispatch 'submit', so the solved-captcha path below is unaffected. */ var captchaGuardedForm = document.getElementById('member_login_190'); if (captchaGuardedForm) { document.addEventListener('submit', function (event) { if (event.target !== captchaGuardedForm) { return; } var formId = captchaGuardedForm.id; var captchaHolderKey = formId + "-google-recaptcha-" + $(captchaGuardedForm).data('counter'); var captchaRendered = typeof captchaHolders[captchaHolderKey] != "undefined"; if (captchaRendered && grecaptcha.getResponse(captchaHolders[captchaHolderKey]) !== "") { $("#" + formId + " .security_question_label").removeClass("has-error"); $("#" + formId + " #recaptcha_error").css("display", "none"); return; } /* Unsolved, or api.js still in flight: either way there is no token to send. */ event.preventDefault(); event.stopImmediatePropagation(); $("#" + formId + " .security_question_label").addClass("has-error"); $("#" + formId + " #recaptcha_error").css("display", "block"); return false; }, true); } $("#member_login_190 input[type=submit]").unbind('click'); $("#member_login_190 input[type=submit]").click(function (event) { var formId = $(this.form).attr('id'); var captchaHolderKey = formId + "-google-recaptcha-" +$(this.form).data('counter'); if (typeof captchaHolders[captchaHolderKey] != "undefined") { if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") { event.preventDefault(); $("#" + formId).formValidation('validate'); $("#" + formId + " .security_question_label").addClass("has-error"); $("#" + formId + " #recaptcha_error").css("display", "block"); return false; } /* Solved captcha: clear the error UI and let the click proceed untouched. The browser then fires a REAL, button-initiated submit event, so FormValidation runs its normal chain (success.form.fv -> AJAX modal on checkout / native POST on login). Re-submitting here artificially broke both ways: native form.submit() skips the FV chain (checkout rendered the raw JSON response), and jQuery .submit() fires a synthetic submit that FV refuses, leaving the form stuck after the first error (Bug 2). */ $("#" + formId + " .security_question_label").removeClass("has-error"); $("#" + formId + " #recaptcha_error").css("display", "none"); } }); });</script>
2441</div><div class="form-actions"><input type="submit" value="Login Now" name class="btn btn-primary btn-lg btn-block " id="member_login_190-element-13"/></div><div class="login-cta-buttons"><hr class="cta-hr"><ul class="list-inline nomargin inline-block btn-block"><li class='col-xs-12 col-sm-12 col-md-6 nolpad sm-nopad nav'><a href='/checkout/jobseeker-private' id='link353' class='btn btn-danger btn-block sm-bmargin'>Employees & Jobseekers <span class="inline-block">Create Free User Account</span></a></li><li class='col-xs-12 col-sm-12 col-md-6 norpad sm-nopad nav'><a href='/join' id='link354' class='btn btn-success btn-block'>Are You an Employer? <span class="inline-block">List Your Clinic Now</span></a></li></ul><div class="clearfix"></div></div></form>
2441<script type="text/javascript">jQuery(document).ready(function() { jQuery("#member_login_190").bind("submit", function() { });}); </script>
2441 <div class="clearfix"></div> </div> </div> </div></div><p><br></p><p><br></p> </div> 2442 2443 2444 </div> <!-- Closes Row --> 2445 2446 2447
2447<script type="application/ld+json"> 2448{ 2449 "@context": "https://schema.org/", 2450 "@type": "WebPage", 2451 "@id": "https://www.vetclinicjobs.com/login", 2452 "url": "https://www.vetclinicjobs.com/login", 2453 "name": "Login Now - VetClinicJobs", 2454 "headline": "Login to your account on VetClinicJobs", 2455 "about": "Log Into Your Account", 2456 "inLanguage": "en-US", 2457 "mainEntityOfPage": "https://www.vetclinicjobs.com/login", 2458 "author": { 2459 "@id": "https://www.vetclinicjobs.com/#organization" 2460 }, 2461 "publisher": { 2462 "@id": "https://www.vetclinicjobs.com/#organization" 2463 }, 2464 "isPartOf": { 2465 "@id": "https://www.vetclinicjobs.com/#website" 2466 }, 2467 "primaryImageOfPage": { 2468 "@type": "ImageObject", 2469 "url": "/images/vetclinicjobs-logo.png" 2470 }, 2471 "keywords": [ 2472 "vet clinic jobs" 2473 ], 2474 "dateModified": "2023-05-10T13:44:44+12:00" 2475}</script>
2475 2476 <div class="clearfix"></div> 2477 </div> 2478</div> 2479</main> 2480<!-- End Content --> 2481<div class="clearfix footer-clear-element clearfix-lg"></div> 2482 2483<div class="footer"> 2484 <div class="container"> 2485 <div class="row"> 2486 <ul class="footer_menu sm-text-center"> 2487 <li class='col-md-5'><span id='link332' class='head'> About</span><ul><li class=''><span id='link333' class='content'> Finding Vet Clinic Jobs is easy by searching our trusted network of top-rated Employers.</span></li></ul></li><li class='col-md-2 col-md-offset-1'><span id='link334' class='head'> Website</span><ul><li class=''><a href='/about' id='link335'>About</a></li><li class=''><a href='/join' id='link336'>List Your Clinic / Company</a></li></ul></li><li class='col-md-2'><span id='link337' class='head'> Search</span><ul><li class=''><a href='/categories' id='link338'>Browse Categories</a></li><li class=''><a href='/locations' id='link339'>Browse Locations</a></li></ul></li><li class='col-md-2'><span id='link340' class='head'> Support</span><ul><li class=''><a href='/login' id='link341'>Login</a></li><li class=''><a href='/about/contact' id='link342'>Contact Us</a></li></ul></li><li class='col-md-12 clearfix'><span id='link343'> </span></li><li class='col-md-5 vpad vmargin'><span id='link344'> <style>.network-icon.twitter,.network-icon.tiktok{background:#000}</style> 2488<div class="list-social-links"> 2489 <a class="network-icon contact" href="/about/contact" title="Contact Us VetClinicJobs"> 2490 <i class="bi bi-envelope"></i> 2491 </a> 2492 <a class="network-icon facebook" href="https://www.facebook.com/VetClinicJobs" target="_blank" title="VetClinicJobs Facebook"> 2493 <i class="bi bi-facebook"></i> 2494 </a> 2495 2496 2497 <a class="network-icon linkedin" href="https://www.linkedin.com/company/vetclinicjobs/" target="_blank" title="VetClinicJobs LinkedIn"> 2498 <i class="bi bi-linkedin"></i> 2499 </a> 2500 <a class="network-icon youtube" href="https://www.youtube.com/@vetclinicjobs" target="_blank" title="VetClinicJobs YouTube"> 2501 <i class="bi bi-youtube"></i> 2502 </a> 2503 2504 <a class="network-icon instagram" href="https://www.instagram.com/vetclinicjobs/" target="_blank" title="VetClinicJobs Instagram"> 2505 <i class="bi bi-instagram"></i> 2506 </a> 2507 <a class="network-icon blog rss" href="https://feeds.buzzsprout.com/1036900.rss" target="_blank" title="VetClinicJobs Blog"> 2508 <i class="fa fa-rss"></i> 2509 </a> 2510 <div class="clearfix"></div> 2511</div></span></li><li class='col-md-6 col-md-offset-1 vpad vmargin'><a href='/join' id='link345' class='btn btn_footer_get_listed btn-lg btn-block bold center sm-block'>Vet Clinic Jobs - Start shining online as a good employer today</a></li><li class='col-md-12 clearfix vmargin text-center'><span id='link346'> </span><ul><li class='clearfix vmargin vpad inline-block'><span id='link347'> </span></li><li class='btn-lg font-sm novpad norpad inline-block'><span id='link348'> © 2026</span></li><li class='font-sm inline-block hpad'><a href='/' id='link349' title='VetClinicJobs'>VetClinicJobs</a></li><li class='font-sm inline-block'><span id='link350'> All Rights Reserved</span></li><li class='font-sm inline-block hpad'><a href='/about/terms' id='link351' title='Terms of Use'>Terms of Use</a></li><li class='font-sm inline-block'><a href='/about/privacy' id='link352' title='Privacy Policy'>Privacy Policy</a></li></ul></li> </ul> 2512 </div> 2513 </div> 2514</div><style type='text/css'> .scrollup { 2515 border-radius: 3px; 2516 width: 40px; 2517 height: 40px; 2518 opacity: 0.4; 2519 position: fixed; 2520 bottom: 30px; 2521 right: 30px; 2522 display: none; 2523 background: rgba(119, 119, 119, 0.8); 2524 z-index: 1000000; 2525} 2526.scrollup i { 2527 font-size: 36px; 2528 color: white; 2529 position: relative; 2530 top: 0px; 2531 left: 10px; 2532} </style> <div class="myModal modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" 2533 data-backdrop="static" data-keyboard="false"> 2534 <div class="modal-dialog" role="document"> 2535 <div class="modal-content"> 2536 <div class="modal-body nohpad nobpad"> 2537 <button type="button" style="z-index:10;position:absolute;right:15px;" class="close hmargin" 2538 data-dismiss="modal">× 2539 </button> 2540 <style> 2541 .member-login-container:not(.modal .module) { 2542 width: 555px; 2543 max-width: 100%; 2544 margin-left: auto; 2545 margin-right: auto; 2546 margin-bottom:0; 2547 background-color: rgb(255, 255, 255)!important; 2548 border-color: rgb(235, 238, 240)!important; 2549 color: rgb(41, 41, 41)!important; 2550 } 2551 .login-register-tabs, .login-register-content { 2552 width: 555px!important; 2553 max-width: 100%; 2554 margin-left: auto!important; 2555 margin-right: auto!important; 2556 background-color: rgb(235, 238, 240); 2557 } 2558 .login-register-content { 2559 background: transparent; 2560 padding: 0; 2561 border: none; 2562 } 2563 .login-register-content h2, .login-register-content h2+hr, .login-register-content .account-menu-title { 2564 display: none!important; 2565 } 2566 .express_login_create_account_prefix hr { 2567 margin: 15px 0 10px; 2568 }
2569 .modal-content #containerFBLogin, .modal-content #containerGoogleLogin { 2570 margin:15px 0; 2571 } 2572 2573 /* CSS When Login Form and Express Registration Rendered in Sidebar */ 2574 .col-md-3 .bd-chat-well-container,.col-md-4 .bd-chat-well-container { 2575 padding: 15px 10px; 2576 } 2577 .col-md-3 .bd-chat-center-text,.col-md-4 .bd-chat-center-text { 2578 margin: 0; 2579 font-size: 20px; 2580 padding: 0 15px; 2581 } 2582 .col-md-3 .member-login-page-container .login-register-tabs *, .col-md-4 .member-login-page-container .login-register-tabs * { 2583 font-size: 12px; 2584 line-height: 1.2em; 2585 vertical-align: bottom; 2586 } 2587 .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a { 2588 padding: 5px !important; 2589 height: 50px; 2590 vertical-align: middle; 2591 display: table-cell !important; 2592 width: 1%; 2593 } 2594 .col-md-3 .member-login-page-container .login-register-content, .col-md-4 .member-login-page-container .login-register-content { 2595 padding: 0; 2596 } 2597 .col-md-3 .member-login-container, .col-md-4 .member-login-container { 2598 padding: 15px !important; 2599 font-size: 13px; 2600 } 2601 .col-md-3 .member-login-page-container .input-lg, .col-md-4 .member-login-page-container .input-lg { 2602 height: 34px; 2603 padding: 6px 12px; 2604 font-size: 14px; 2605 } 2606 .col-md-3 .member-login-page-container .security_question_label, .col-md-4 .member-login-page-container .security_question_label { 2607 transform: scale(.85); 2608 margin: -1.15em -1.15em 0; 2609 } 2610 .col-md-3 #containerFBLogin, .col-md-4 #containerFBLogin, .col-md-3 #containerGoogleLogin, .col-md-4 #containerGoogleLogin, .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li { 2611 width: 100%; 2612 display: block; 2613 margin-top:5px; 2614 } 2615 .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li { 2616 padding:0 2617 } 2618 .col-md-3 .login-cta-buttons ul.nav, .col-md-4 .login-cta-buttons ul.nav { 2619 margin-top: -10px; 2620 } 2621 .col-md-3 #googleAction, .col-md-3 #facebookAction, .col-md-4 #googleAction, .col-md-4 #facebookAction { 2622 padding: 0; 2623 min-height: 0; 2624 font-size: 14px; 2625 margin: 0; 2626 } 2627 .col-md-3 #googleAction img, .col-md-3 #facebookAction img, .col-md-4 #googleAction img, .col-md-4 #facebookAction img { 2628 height: 36px !important; 2629 margin-right: 5px; 2630 position: relative!important; 2631 display: inline-block; 2632 } 2633 @media only screen and (max-width: 767px) { 2634 .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a { 2635 display: block !important; 2636 width: 100%; 2637 line-height: 40px; 2638 } 2639 2640 #containerGoogleLogin { 2641 text-align: center; 2642 margin-top: 10px; 2643 } 2644 2645 #containerGoogleLogin #gBtn { 2646 display: inline-block; 2647 width: 202px; 2648 2649 } 2650 #containerFBLogin .btn-facebook { 2651 box-sizing: border-box; 2652 width: 191px; 2653 font-size: 14px; 2654 position: relative; 2655 left: -4px; 2656 padding-left: 44px; 2657 white-space: nowrap !important; 2658 2659 } 2660 } 2661 </style> 2662 <div class="row member-login-page-container"> 2663 <div class="fpad-lg novpad"> 2664 2665 2666 <div class="module fpad-xl member-login-container"> 2667 <style type="text/css">label span.required { color: #B94A48; }span.help-inline, span.help-block {font-size: .9em; }</style><form action="/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" id="member_login_190-1" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="redirect" form_action_div return_data_type="" name="member_login_190-1" class=" ">
2667<input type="hidden" name="sized" value="0" id="member_login_190-1-element-0"/><input type="hidden" name="form" value="myform" id="member_login_190-1-element-1"/><input type="hidden" name="formname" value="member_login" id="member_login_190-1-element-2"/><input type="hidden" name="dowiz" value="1" id="member_login_190-1-element-3"/><input type="hidden" name="save" value="1" id="member_login_190-1-element-4"/><input type="hidden" name="url_origin_pars" value="/login" id="member_login_190-1-element-5"/><input type="hidden" name="action" autocomplete="off" value="login" id="member_login_190-1-element-6"/><h2 class="nomargin member-login-h2-form-title">Member Login</h2><hr><style type='text/css'> #containerGoogleLogin #gBtn { 2668 display: inline-block; 2669 text-align: center; 2670 width: 216px; 2671} 2672 2673.module #containerFBLogin #facebookAction img, .module #containerFBLogin #facebookAction img { 2674 position: absolute !important; 2675} 2676.module #containerFBLogin a#facebookAction { 2677 max-width: 200px; 2678 position: relative; 2679 left: -8px; 2680 2681} </style> <!-- Required Font-Family for Social Buttons --> 2682 <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Roboto:500&display=swap"> 2683 <noscript> 2684 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:500&display=swap"> 2685 </noscript> 2686 2687 <div class="row social-login-row"> 2688 </div><div class="form-group"><label class="vertical-label bd-email" for="member_login_190-1-element-9"><span class="required">* </span>Email Address</label><input type="email" name="email" required placeholder="[email protected]" autocomplete="off" value class="form-control input-lg" id="member_login_190-1-element-9"/></div><div class="form-group"><label class="vertical-label bd-password" for="member_login_190-1-element-10"><span class="required">* </span>Password</label><button type="button" tabindex="-1" id="togglePassword" onclick="showPassword(this);"> <i class="fa fa-lock" aria-hidden="true"></i></button><input type="password" name="pass" required placeholder="Enter Password" autocomplete="off" value class="form-control input-lg" id="member_login_190-1-element-10"/></div><span class="help-block bpad bmargin notmargin"> <a href="/login/retrieval">Forgot Password? Click to Reset Password</a></span><div class="form-group"><div class="form-group security_question_label"> 2689 <div id="member_login_190-1-captchaContainer" class="control-group"> 2690 <div class="g-recaptcha" id="member_login_190-1-google-recaptcha"></div> 2691 </div> 2692 <small class="help-block" id="recaptcha_error" style="display:none;" data-fv-validator="notEmpty" data-fv-for="recaptcha" data-fv-result="INVALID" />The security check was not completed successfully.</small> 2693 <div class="clearfix bmargin"></div> 2694 <input type="hidden" name="recaptcha" id="member_login_190-1-rcap"> 2695</div> 2696 <style> 2697 .modal .g-recaptcha-scale, .col-md-4 .g-recaptcha-scale, .col-md-3 .g-recaptcha-scale, .col-lg-3 .g-recaptcha-scale, .col-lg-4 .g-recaptcha-scale { 2698 transform: scale(0.77); 2699 -webkit-transform: scale(0.77); 2700 transform-origin: 0 0; 2701 -webkit-transform-origin: 0 0; 2702 margin-bottom: -15px; 2703 } 2704 2705 .modal #member_login_190-1-captchaContainer, .col-md-4 #member_login_190-1-captchaContainer, .col-md-3 #member_login_190-1-captchaContainer, .col-lg-3 #member_login_190-1-captchaContainer, .col-lg-4 #member_login_190-1-captchaContainer { 2706 transform: scale(0.77); 2707 -webkit-transform: scale(0.77); 2708 transform-origin: 0 0; 2709 -webkit-transform-origin: 0 0; 2710 margin-bottom: -15px; 2711 } 2712 </style> 2713
2713<script type="text/javascript"> 2714 if(typeof formsFound == "undefined"){ 2715 var formID = ''; 2716 var currentCaptcha = {}; 2717 var captchaHolders = {}; 2718 var formsFound = {}; 2719 var captchaApiRequested = false; 2720 /* The forms the visitor has actually interacted with - only these get a widget. */ 2721 var captchaArmedForms = []; 2722 /* api.js stays lazy - nothing is fetched from Google until the visitor actually 2723 touches the form. 'click' alone was too narrow: a keyboard-only visitor tabs in 2724 and presses Enter without ever clicking, so api.js never loaded, the captcha 2725 never rendered, and the form POSTed an empty token. */ 2726 var captchaTriggerEvents = ['click', 'keydown', 'focusin', 'touchstart']; 2727 2728 window.addEventListener('load', () => { 2729 formID = document.querySelectorAll('[name="recaptcha"]'); 2730 if (typeof formID != "undefined" && formID !== null) { 2731 for (let i = 0; i < formID.length; i++) { 2732 let formIDForm = formID[i].closest('form'); 2733 let captchaHolder = formIDForm.querySelector(".g-recaptcha"); 2734 2735 if (typeof formsFound[formIDForm.id] != "undefined") { 2736 formsFound[formIDForm.id]['counter']++; 2737 }else{ 2738 formsFound[formIDForm.id] = {'counter' : 1}; 2739 } 2740 2741 formIDForm.setAttribute('data-counter', formsFound[formIDForm.id]['counter']); 2742 captchaHolder.setAttribute('id',captchaHolder.id+'-'+formsFound[formIDForm.id]['counter']); 2743 2744 if (typeof formIDForm != "undefined" && formIDForm !== null) { 2745 captchaTriggerEvents.forEach( evt => 2746 formIDForm.addEventListener(evt, reCaptchaOnFormInteraction, false) 2747 ); 2748 } 2749 } 2750 } 2751 }); 2752 } 2753 2754 function reCaptchaOnFormInteraction(event) { 2755 if (event && event.currentTarget) { 2756 captchaArmForm(event.currentTarget); 2757 } 2758 if (captchaApiRequested) { 2759 renderArmedCaptchas(); 2760 return; 2761 } 2762 captchaApiRequested = true; 2763 2764 var head = document.getElementsByTagName('head')[0]; 2765 var script = document.createElement('script'); 2766 script.type = 'text/javascript'; 2767 script.src = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en'; 2768 head.appendChild(script); 2769 } 2770 2771 var captchaArmForm = function (formEl) { 2772 if (!formEl) { 2773 return; 2774 } 2775 for (var a = 0; a < captchaArmedForms.length; a++) { 2776 if (captchaArmedForms[a] === formEl) { 2777 return; 2778 } 2779 } 2780 captchaArmedForms.push(formEl); 2781 }; 2782 2783 var captchaSolvedCallback = function (holder) { 2784 return function () { 2785 var formEl = holder.closest('form'); 2786 if (!formEl) { 2787 return; 2788 } 2789 $(formEl).find('.security_question_label').removeClass('has-error'); 2790 $(formEl).find('#recaptcha_error').css('display', 'none'); 2791 var notification = document.getElementById(formEl.id + '-notification'); 2792 if (notification && notification.classList.contains('alert-danger-subtle')) { 2793 $(notification).slideUp(); 2794 } 2795 }; 2796 }; 2797 2798 var renderArmedCaptchas = function () { 2799 if (typeof grecaptcha === "undefined" || typeof grecaptcha.render !== "function") { 2800 return; 2801 } 2802 for (var f = 0; f < captchaArmedForms.length; f++) { 2803 var holder = captchaArmedForms[f].querySelector('div[class=g-rec
2803aptcha]'); 2804 2805 if (!holder || !holder.id || holder.getClientRects().length === 0) { 2806 continue; 2807 } 2808 /* Guard a second render: grecaptcha throws on an element it already claimed. */ 2809 if (typeof captchaHolders[holder.id] === "undefined") { 2810 captchaHolders[holder.id] = grecaptcha.render(holder.id, { 2811 'sitekey': '6Ld5Mu4jAAAAAHOalYdPIzJkuTwkKpvuTDhHd2qz', 2812 'callback': captchaSolvedCallback(holder) 2813 }); 2814 } 2815 } 2816 }; 2817 2818 var onloadCallback = function (event) { 2819 renderArmedCaptchas(); 2820 }; 2821 2822 </script>
vendor: 1 bytes, line 2822
2822
2823<script> 2824 $(document).ready(function(){ 2825 /* Implicit submission (Enter inside a field) fires 'submit' without firing a click on 2826 the submit button, so the click guard below never sees it and the form POSTed an 2827 empty token. Bound on document/capture so it runs before FormValidation's own 2828 handler on the form - at AT_TARGET the capture flag does not order listeners, so a 2829 listener on the form itself would not reliably win. Native HTMLFormElement.submit() 2830 does not dispatch 'submit', so the solved-captcha path below is unaffected. */ 2831 var captchaGuardedForm = document.getElementById('member_login_190-1'); 2832 if (captchaGuardedForm) { 2833 document.addEventListener('submit', function (event) { 2834 if (event.target !== captchaGuardedForm) { 2835 return; 2836 } 2837 2838 var formId = captchaGuardedForm.id; 2839 var captchaHolderKey = formId + "-google-recaptcha-" + $(captchaGuardedForm).data('counter'); 2840 var captchaRendered = typeof captchaHolders[captchaHolderKey] != "undefined"; 2841 2842 if (captchaRendered && grecaptcha.getResponse(captchaHolders[captchaHolderKey]) !== "") { 2843 $("#" + formId + " .security_question_label").removeClass("has-error"); 2844 $("#" + formId + " #recaptcha_error").css("display", "none"); 2845 return; 2846 } 2847 2848 /* Unsolved, or api.js still in flight: either way there is no token to send. */ 2849 event.preventDefault(); 2850 event.stopImmediatePropagation(); 2851 $("#" + formId + " .security_question_label").addClass("has-error"); 2852 $("#" + formId + " #recaptcha_error").css("display", "block"); 2853 return false; 2854 }, true); 2855 } 2856 $("#member_login_190-1 input[type=submit]").unbind('click'); 2857 $("#member_login_190-1 input[type=submit]").click(function (event) { 2858 2859 var formId = $(this.form).attr('id'); 2860 var captchaHolderKey = formId + "-google-recaptcha-" +$(this.form).data('counter'); 2861 2862 if (typeof captchaHolders[captchaHolderKey] != "undefined") { 2863 if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") { 2864 event.preventDefault(); 2865 $("#" + formId).formValidation('validate'); 2866 $("#" + formId + " .security_question_label").addClass("has-error"); 2867 $("#" + formId + " #recaptcha_error").css("display", "block"); 2868 return false; 2869 } 2870 2871 /* Solved captcha: clear the error UI and let the click proceed untouched. 2872 The browser then fires a REAL, button-initiated submit event, so 2873 FormValidation runs its normal chain (success.form.fv -> AJAX modal on 2874 checkout / native POST on login). Re-submitting here artificially broke 2875 both ways: native form.submit() skips the FV chain (checkout rendered the 2876 raw JSON response), and jQuery .submit() fires a synthetic submit that FV 2877 refuses, leaving the form stuck after the first error (Bug 2). */ 2878 $("#" + formId + " .security_question_label").removeClass("has-error"); 2879 $("#" + formId + " #recaptcha_error").css("display", "none"); 2880 } 2881 }); 2882 }); 2883</script>
2883</div><div class="form-actions"><input type="submit" value="Login Now" name class="btn btn-primary btn-lg btn-block " id="member_login_190-1-element-13"/></div><div class="login-cta-buttons"><hr class="cta-hr"><ul class="list-inline nomargin inline-block btn-block"><li class='col-xs-12 col-sm-12 col-md-6 nolpad sm-nopad nav'><a href='/checkout/jobseeker-private' id='link353' class='btn btn-danger btn-block sm-bmargin'>Employees & Jobseekers <span class="inline-block">Create Free User Account</span></a></li><li class='col-xs-12 col-sm-12 col-md-6 norpad sm-nopad nav'><a href='/join' id='link354' class='btn btn-success btn-block'>Are You an Employer? <span class="inline-block">List Your Clinic Now</span></a></li></ul><div class="clearfix"></div></div></form>
2883<script type="text/javascript">jQuery(document).ready(function() { jQuery("#member_login_190-1").bind("submit", function() { 2884 });}); </script>
2884 <div class="clearfix"></div> 2885 </div> 2886 2887 2888 </div> 2889 </div> 2890 </div> 2891 </div> 2892 </div> 2893 </div> 2894 2895 2896 2897 <link rel="stylesheet" type="text/css" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css">
2898<script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js"></script>
vendor: 2 bytes, line 2898
2898
2899<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/bundle.umd.min.js" onload="checkAdBlock()" async defer></script>
vendor: 2 bytes, line 2899
2899
2900<script> 2901 2902 function checkAdBlock() { 2903 justDetectAdblock.detectAnyAdblocker().then(function(detected) { 2904 if(detected){ 2905 swal({ 2906 type: 'error', 2907 title: 'AdBlock Detected!', 2908 text: 'Please disable AdBlock to support us :)', 2909 confirmButtonText: 'OK', 2910 allowOutsideClick: false, 2911 focusConfirm: false 2912 }); 2913 } 2914 }); 2915 2916 } 2917</script>
2917 2918
2919<script> 2920 function clearContent(thisObj){ 2921 var size; 2922 if(thisObj.hasClass('input-sm') || thisObj.parents('.input-group').hasClass('input-group-sm')){ 2923 size = "small"; 2924 } else if (thisObj.hasClass('input-lg') || thisObj.parents('.input-group').hasClass('large-autosuggest')){ 2925 size = "large"; 2926 } else { 2927 size = "medium"; 2928 } 2929 if(!thisObj.parent().hasClass('input_wrapper')){ 2930 if(thisObj.parent().hasClass('input-group-sm')){ 2931 thisObj.wrap('<span class="input-group-sm input_wrapper"></span>'); 2932 } else if (thisObj.parent().hasClass('input-group-lg')){ 2933 thisObj.wrap('<span class="input-group-lg input_wrapper"></span>'); 2934 } else { 2935 thisObj.wrap('<span class="input_wrapper"></span>'); 2936 } 2937 } 2938 if(thisObj.val() != ""){ 2939 if(thisObj.hasClass('googleSuggest')){ 2940 thisObj.parent().find('.fill_location').remove(); 2941 } 2942 if (!thisObj.parent().find('.clear_content').length){ 2943 thisObj.parent().append(`<span class="clear_content ${size}"><i class="fa fa-times-circle" aria-hidden="true"></i></span>`); 2944 if (thisObj.hasClass("tt-input")) { 2945 thisObj.focus(); 2946 } 2947 2948 } 2949 } 2950 } 2951 2952 $(document).on('click', '.drp-buttons .applyBtn', function(){ 2953 clearContent($(".dateRange input")); 2954 }); 2955 2956 $('.sm-autosuggest input, .googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').keyup(function(){ 2957 clearContent($(this)); 2958 }); 2959 2960 $(document).ready(function(){ 2961 $('.sm-autosuggest input, input.googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').each(function(){ 2962 clearContent($(this)); 2963 }) 2964 }) 2965 2966 $(document).on('click', '.clear_content', function(){ 2967 $(this).parent().find('input').val(''); 2968 //tt-input its a class for typeahead auto-suggest 2969 if ($(this).parent().find('input').hasClass("tt-input")) { 2970 $(this).parent().find('input').typeahead('val',''); 2971 } 2972 clearContent($(this).parent().find('input')); 2973 $(this).remove(); 2974 }); 2975 2976 $(window).on('load', function () { 2977 setTimeout(function() { 2978 // add missing href attribute to multi-category options in search modules 2979 $('.bootstrap-select.show-tick .dropdown-menu a').attr('href', '#'); 2980 }, 2000); 2981 }); 2982</script>
2982 2983 2984 2985 2986<a href="#" class="scrollup" title="scrollup"> 2987 <i class="fa fa-caret-up" aria-hidden="true"></i> 2988</a>
2989<script> 2990 $(document).ready(function () { 2991 2992 if ($('.navbar-default').length > 0) { 2993 var menu = $('.navbar-default'); 2994 var origOffsetY = menu.offset().top; 2995 2996 function scroll() { 2997 2998 if ($(window).scrollTop() > origOffsetY) { 2999 $('.navbar-default').addClass('navbar-fixed-top'); 3000 $('.navbar-default').addClass('transparent_menu'); 3001 3002 } else { 3003 $('.navbar-default').removeClass('navbar-fixed-top'); 3004 $('.navbar-default').removeClass('transparent_menu'); 3005 } 3006 } 3007 document.onscroll = scroll; 3008 }; 3009 }); 3010 $(document).ready(function(){ 3011 // .progressbar() comes from bootstrap-progressbar.min.js, loaded only by widgets 1236/1318. 3012 // Elsewhere it used to fall through to jQuery UI's; jQuery UI is no longer global, so an 3013 // unguarded call throws and kills the rest of this ready() handler (scrollup, crop button). 3014 if ($.fn.progressbar) { 3015 $('.progress .progress-bar').progressbar({ 3016 display_text: 'fill' 3017 }); 3018 } 3019 $(window).scroll(function(){ 3020 3021 if ($(this).scrollTop() > 600) { 3022 $('.scrollup').fadeIn(); 3023 3024 } else { 3025 $('.scrollup').fadeOut(); 3026 } 3027 }); 3028 $('.scrollup').click(function(){ 3029 $("html, body").animate({ 3030 scrollTop: 0 3031 }, 600); 3032 return false; 3033 }); 3034 $('#cropButton').click(function(){ 3035 var iframe = $("#cropiFrame"); 3036 iframe.attr("src", iframe.data("src")); 3037 }); 3038 }); 3039</script>
vendor: 2 bytes, line 3039
3039
3040<script> 3041 $('#captchaContainer').removeClass('form-control '); 3042 $(".website_url_field").keyup(function(){ 3043 var fieldName = $(this).attr('name'); 3044 $(this).val($(this).val().replace(/\s+/g, '')); 3045 $('#myform').formValidation('revalidateField', fieldName); 3046 }); 3047</script>
3047 3048
3048<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/formValidation.min.js"></script>
3048 3049
3049<script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/framework/bootstrap.min.js"></script>
3049 3050
3050<script type="text/javascript"> 3051 function decodeHtml(html) { 3052 var txt = document.createElement("textarea"); 3053 txt.innerHTML = html; 3054 return txt.value; 3055 } 3056 3057 // Override FormValidation URI validator to prevent recursion with URLs that contain @ characters 3058 $(function() { 3059 function applyFix() { 3060 // Check if FormValidation library and URI validator are loaded 3061 if (FormValidation && FormValidation.Validator && FormValidation.Validator.uri) { 3062 FormValidation.Validator.uri.validate = function(validator, $field, options) { 3063 var value = validator.getFieldValue($field, 'uri').trim(); 3064 return value === '' || new RegExp('^https?://[^\\s]+\\.[^\\s]{2,}').test(value); 3065 }; 3066 return true; 3067 } 3068 return false; 3069 } 3070 3071 if (!applyFix()) { 3072 setTimeout(applyFix, 50); 3073 } 3074 }); 3075 </script>
3075 3076
3076<script type="text/javascript"> 3077 3078 var counterSubmit = 0; 3079 $(document).ready(function() { 3080 /* grecaptcha.reset() with no argument always resets widget 0. On a page with two 3081 captcha holders that clears the wrong checkbox, so the widget the visitor solved 3082 keeps a token Google has already spent and every retry fails the security check. 3083 captchaHolders is published by widget 1995 keyed by "<formId>-google-recaptcha"; 3084 an undefined id means no per-form id is known and the arg-less call is used, 3085 exactly as before. */ 3086 function bdCaptchaWidgetId(formId) { 3087 if (typeof captchaHolders === "undefined" || !formId) { 3088 return undefined; 3089 } 3090 /* recaptcha.php renames each holder to "<id>-<counter>" before render (recaptcha.php ~L84), 3091 so captchaHolders is keyed by the RENAMED id - not "<formId>-google-recaptcha". Resolve from 3092 the holder element itself so the counter never has to be reconstructed. */ 3093 var form = document.getElementById(formId); 3094 var holder = form && form.querySelector(".g-recaptcha"); 3095 return holder ? captchaHolders[holder.id] : undefined; 3096 } 3097 3098 function bdCaptchaReset(formId) { 3099 if (typeof grecaptcha === "undefined" || typeof grecaptcha.reset !== "function") { 3100 return; 3101 } 3102 var widgetId = bdCaptchaWidgetId(formId); 3103 if (widgetId === undefined) { 3104 grecaptcha.reset(); 3105 } else { 3106 grecaptcha.reset(widgetId); 3107 } 3108 } 3109 3110 // Ghost-field strip (card d4tk1CMp): the server-side validator config can carry 3111 // rules for fields that are NOT rendered in this form (conditionally-rendered or 3112 // duplicated form configs). Those phantom rules make formValidation mis-evaluate 3113 // isValid(), so an empty required field bypasses validation and submits natively. 3114 // Remove any rule whose field has no matching element before initializing. 3115 // NOTE: this is the ONLY layer re-applied from reverted PR #5902. It strictly 3116 // REMOVES rules (never adds validators, never overrides native submit, never 3117 // intercepts on capture phase, never re-validates on click) â so it cannot 3118 // reproduce the "Save button slides down / nav broken / no success message" 3119 // regression that caused #5902 to be rolled back on site 19413. 3120 var validatorConfig = {"framework":"bootstrap","addOns":{"reCaptcha2":{"element":"captchaContainer","language":"en","theme":"light","siteKey":"6Ld5Mu4jAAAAAHOalYdPIzJkuTwkKpvuTDhHd2qz","timeout":"120","message":"The captcha is not valid"}},"fields":{"email":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"}}},"pass":{"validators":{"notEmpty":{"message":"Required Field"}}}}}; 3121 var formElement = $(`form[name='member_login_190']`); 3122 if(validatorConfig && validatorConfig.fields) { 3123 Object.keys(validatorConfig.fields).forEach(function(fieldName) { 3124 if(formElement.find('[name="' + fieldName + '"]').length === 0) { 3125 delete validatorConfig.fields[fieldName]; 3126 } 3127 }); 3128 } 3129 3130 // Scroll to the first invalid field when submit fails validation, 3131 // so the user can immediately see why the form will not submit 3132 formElement.on('err.form.fv', function(e) { 3133 var $firstError = $(e.target).find('.form-group.has-error').first(); 3134 if ($firstError.length) { 3135 $('html, body').animate({ scrollTop: $firstError.offset().top - 100 }, 700); 3136 } 3137 }); 3138
3139 formElement.formValidation(validatorConfig).on('success.form.fv', function(e,fvdata) { 3140 3141 if('member_login' == 'unsubscribe_email'){ 3142 return true; 3143 } 3144 // Prevent form submission 3145 e.preventDefault(); 3146 $form = $(e.target), 3147 fv = $form.data('formValidation'); 3148 3149 // Check HTML5 required fields that FormValidation may not know about 3150 var requiredEmpty = false; 3151 $form.find('[required]').each(function() { 3152 var val = $(this).val(); 3153 if (val === '' || val === null || (typeof val === 'string' && val.trim() === '')) { 3154 requiredEmpty = true; 3155 $(this).closest('.form-group').addClass('has-error'); 3156 if ($(this).siblings('.required-error').length === 0) { 3157 $(this).after('<small class="required-error help-block" style="color:#a94442;">Required Field</small>'); 3158 } 3159 } else { 3160 var $reqGroup = $(this).closest('.form-group'); 3161 $(this).siblings('.required-error').remove(); 3162 // Keep has-error if another validator is still failing for this field 3163 if ($reqGroup.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) { 3164 $reqGroup.removeClass('has-error'); 3165 } 3166 } 3167 }); 3168 if (requiredEmpty) { 3169 fv.disableSubmitButtons(false); 3170 counterSubmit = 0; 3171 // Scroll to the first field with an error (HTML5-required scan does 3172 // not trigger err.form.fv, so handle the scroll here too) 3173 var $firstReqError = $form.find('.form-group.has-error').first(); 3174 if ($firstReqError.length) { 3175 $('html, body').animate({ scrollTop: $firstReqError.offset().top - 100 }, 700); 3176 } 3177 return false; 3178 } 3179 3180 var values = $(this).serialize(); 3181 3182 3183 var locationFieldCorrect = true; 3184 3185 if($("#member_login_190 .location_required").length > 0){ 3186 $("#member_login_190 .location_required").each(function (index) { 3187 if($(this).data('state') == 1){ 3188 if($('#member_login_190 input[name="lead_location"]').val() == "" || $('#member_login_190 input[name="lat"]').val() == "" || $('#member_login_190 input[name="lng"]').val() == "") { 3189 locationFieldCorrect = false; 3190 } 3191 } 3192 }); 3193 } 3194 3195 if(locationFieldCorrect === false){ 3196 //check that there is a latitude or longitude 3197 swal(`Whoops!`, `The location information is required to submit this form`, "error"); 3198 return false; 3199 } 3200 3201 3202 if (!$(this).attr("action")) { 3203 var action = ''; 3204 3205 } else { 3206 var action = $(this).attr("action"); 3207 } 3208 if (!$(this).attr("method")) { 3209 var method = 'post'; 3210 3211 } else { 3212 var method = $(this).attr("method"); 3213 } 3214 if (!$(this).attr("form_action_type")) { 3215 var form_action_type = 'notification'; 3216 3217 } else { 3218 var form_action_type = $(this).attr("form_action_type"); 3219 } 3220 if (!$(this).attr("form_action_div")) { 3221 /* Empty "ID to Replace" default: prefer #main-content, fall back to legacy #first_container if absent */ 3222 var form_action_div = $('#main-content').length ? '#main-content' : '#first_container'; 3223 3224 } else { 3225 var form_action_div = $(this).attr("form_action_div"); 3226 } 3227 if (!$(this).attr("return_data_type")) { 3228 var return_data_type = 'json'; 3229 3230 } else { 3231 var return_data_type = $(this).attr("return_data_type"); 3232 } 3233 var submitInFlight = counterSubmit != 0 || (Date.now() - ($form.data('bdLastSubmitAt') || 0) < 5000); 3234 if (!submitInFlight) { 3235 if ($("#member_login_190-notification").html() != "") { 3236 $("#member_login_190-notification").remove(); 3237 } 3238 if ($(this).find('input[type="submit"]').length > 0) { 3239 $(this).find('input[type="submit"]').before('<div id="member_login_190-notification" class="alert"></div>'); 3240 3241 } else { 3242 $(this).prepend('<div id="member_login_190-notification" class="alert"></div>'); 3243 } 3244 } 3245 var notification = $("#member_login_190-notification"); 3246 3247 if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) { 3248 notification.html(`Processing Request...`).addClass("alert-warning-subtle"); 3249 setTimeout(function(){ 3250 fv.defaultSubmit(); 3251 }, 100); 3252 } else { 3253 notification.html(`Processing Request...`).addClass("alert-warning-subtle"); 3254 if(!submitInFlight) { 3255 counterSubmit++; 3256 $form.data('bdLastSubmitAt', Date.now()); 3257 3258 var fields = $(this).serializeArray(); 3259 var formField = []; 3260 var processData = true; 3261 var contentType = "application/x-www-form-urlencoded; charset=UTF-8"; 3262 3263 3264 3265 if($("#member_login_190 input[type=file]").length > 0){ 3266 3267 var formObject = new FormData(); 3268 processData = false; 3269 contentType = false; 3270 3271 $(fields).each(function(index,field){ 3272 formField.push(field.name+"="+field.value); 3273 }); 3274 3275 values = formField.join("&"); 3276 3277 $(formField).each(function(index,fieldValue){ 3278 var fieldInfo = fieldValue.split('='); 3279 formObject.append(fieldInfo[0],fieldInfo[1]); 3280 }); 3281 3282 $("#member_login_190 input[type=file]").each(function(index,node){ 3283 var file = this.files[0]; 3284 if(typeof file != "undefined"){ 3285 formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name); 3286 } 3287 }); 3288 }else{ 3289 3290 $(fields).each(function(index,field){ 3291 formField.push(field.name+"="+encodeURIComponent(field.value)); 3292 }); 3293 3294 var formObject = formField.join("&"); 3295 } 3296 3297 $.ajax({
3298 url: action, 3299 type: method, 3300 data: formObject, 3301 dataType: return_data_type, 3302 processData: processData, 3303 contentType: contentType, 3304 success: function (data) { 3305 // Re-query live node: success.form.fv fires twice, orphaning the closure ref captured above. 3306 notification = $("#member_login_190-notification"); 3307 if (return_data_type == "html") { 3308 var result = 'success'; 3309 3310 if (!data != "") { 3311 var result_widget = data['result_widget']; 3312 } 3313 3314 } else { 3315 3316 3317 if (!data['result']) { 3318 var result = 'error'; 3319 } else { 3320 var result = data['result']; 3321 } 3322 if (!data['result_widget']) { 3323 var result_widget = ''; 3324 3325 } else { 3326 var result_widget = data['result_widget']; 3327 } 3328 } 3329 if (result == "success") { 3330 3331 if (!data['message']) { 3332 var message = `Your information has submitted successfully!`; 3333 3334 } else { 3335 var message = data['message']; 3336 } 3337 if (!data['redirect_url']) { 3338 var redirect_url = ''; 3339 3340 } else { 3341 var redirect_url = data['redirect_url']; 3342 } 3343 3344 3345 3346 if (form_action_type == "notification") { 3347 if (redirect_url && (action.indexOf('Member%20Login%20Page') >= 0 || action.indexOf('Member Login Page') >= 0)) { 3348 if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") { 3349 redirect_url = "/" + redirect_url; 3350 } 3351 if (notification.parents('.modal').length) { 3352 $('.modal-backdrop').hide(); 3353 $('.modal').modal('hide'); 3354 } 3355 window.location.href = redirect_url; 3356 fv.resetForm(true); 3357 } else { 3358 notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>') 3359 .addClass('alert-dismissible') 3360 .addClass("alert-success-subtle") 3361 .removeClass("alert-danger-subtle") 3362 .removeClass("alert-warning-subtle") 3363 3364 3365 3366 if(notification.parents('.modal').length && 'member_login_190' == 'whmcs_billing_address'){ 3367 setTimeout(function(){ 3368 notification.parents('.modal').modal('hide'); 3369 }, 1000); 3370 } 3371 } 3372 3373 } else if (form_action_type == "widget") { 3374 3375 if (result_widget != '') { 3376 3377 setTimeout(function(){ 3378 if(form_action_div != '.newsletter_modal_form_container'){ 3379 $("html, body").animate({ scrollTop: 0 }, 600); 3380 } 3381 $(form_action_div).html(decodeHtml(result_widget)).text(); 3382 3383 }, 1000); 3384 } 3385 3386 } else if (form_action_type == "redirect") { 3387 3388 if (redirect_url == "") { 3389 redirect_url = decodeURIComponent(""); 3390 } 3391 3392 if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") { 3393 redirect_url = "/" + redirect_url; 3394 } 3395 current_location = "/login"; 3396 refresh_pages_string = "/login"; 3397 refresh_pages_string = refresh_pages_string.replace(/ /g,''); 3398 refresh_pages_array = refresh_pages_string.split(','); 3399 notification.html(message) 3400 .addClass("alert-success-subtle") 3401 .removeClass("alert-danger-subtle") 3402 .removeClass("alert-warning-subtle") 3403 .delay(2000).slideUp(); 3404 if(action == "/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" && current_location.indexOf("/login") == -1 && refresh_pages_string != '' && (!refresh_pages_array.includes(current_location) || refresh_pages_string == "/login" )){ 3405 window.location.href = window.location.href+'?logged'; 3406 } else { 3407 window.location.href = redirect_url; 3408 } 3409 3410 fv.resetForm(true); 3411 } 3412 if(form_action_div != '.newsletter_modal_form_container' && 'member_login_190' != 'whmcs_billing_address'){ 3413 $('.modal-backdrop').hide(); 3414 } 3415 } else { 3416 bdCaptchaReset(formElement.attr('id')); 3417 if (!data['message']) { 3418 var message = `You entered invali
3418d data. Please try to save again.`; 3419 3420 } else { 3421 var message = data['message']; 3422 } 3423 $("#member_login_190-notification").html(message) 3424 .addClass("alert-danger-subtle") 3425 .removeClass("alert-success-subtle") 3426 .removeClass("alert-warning-subtle") 3427 .fadeIn(); 3428 fv.disableSubmitButtons(false); 3429 } 3430 counterSubmit = 0; 3431 }, 3432 error: function (e) { 3433 3434 if(typeof grecaptcha !== "undefined" && typeof grecaptcha.reset === "function"){ 3435 bdCaptchaReset(formElement.attr('id')); 3436 $("#member_login_190-notification").html(`Recaptcha Error`); 3437 } else { 3438 $("#member_login_190-notification").html(`A connection error occurred while saving. Please try to save again.`); 3439 } 3440 $("#member_login_190-notification").addClass("alert-warning-subtle") 3441 .removeClass("alert-success-subtle") 3442 .removeClass("alert-warning-subtle") 3443 .fadeIn(); 3444 counterSubmit = 0; 3445 } 3446 });/// End Ajax 3447 } 3448 }//END else 3449 }).bind('keydown', function(event) { 3450 3451 if (event.ctrlKey || event.metaKey) { 3452 3453 switch (String.fromCharCode(event.which).toLowerCase()) { 3454 3455 case 's': 3456 var nativeForm = $(this)[0]; 3457 if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) { 3458 event.preventDefault(); 3459 return false; 3460 } 3461 $(this).submit(); 3462 break; 3463 } 3464 } 3465 }); 3466 3467 /// This will turn any select2 that are required in the form builder to being required elements. 3468 $('#member_login_190 select').each(function (i, obj) { 3469 setTimeout(function(){ 3470 if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") { 3471 $(obj).css("z-index","-999"); 3472 $(obj).css("height","0"); 3473 $(obj).css("width","0"); 3474 $(obj).css("display","block"); 3475 $(obj).css("position","absolute"); 3476 } 3477 }, 3000); 3478 }); 3479 3480 // Clear required-error messages when user fills in a required field 3481 $('#member_login_190').on('keyup change', '[required]', function() { 3482 var val = $(this).val(); 3483 if (val !== '' && val !== null && val.trim() !== '') { 3484 var $group = $(this).closest('.form-group'); 3485 // Remove only this handler's own required message 3486 $(this).siblings('.required-error').remove(); 3487 // Keep has-error if another FormValidation validator is still failing 3488 // (e.g. stringLength, regexp). has-error is shared, so removing it 3489 // wholesale would clobber other validators' red styling. 3490 if ($group.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) { 3491 $group.removeClass('has-error'); 3492 } 3493 } 3494 }); 3495 3496 });//END $('# echo $_SERVER[form_element_id]; ').formValidation( 3497 </script>
3497 3498 <!-- Google tag (gtag.js) -->
vendor: 69 bytes, lines 3498-3499
3498 3499 <script async src="https://www.googletagmanager.com/gtag/js?id=
3499G-536G1N9HFM
vendor: 17 bytes, lines 3499-3500
3499"></script> 3500
3500<script> 3501
vendor: 154 bytes, lines 3501-3504
3501window.dataLayer = window.dataLayer || []; 3502 function gtag(){dataLayer.push(arguments);} 3503 gtag('js', new Date()); 3504 gtag('config', '
3504G-536G1N9HFM
vendor: 9 bytes, lines 3504-3505
3504'); 3505
3505</script>
3505 3506 3507
3507<script type="text/javascript"> 3508 /* CT dissolved its county governments in 1960, so Google returns its 8 counties as 3509 colloquial_area instead of administrative_area_level_2 â they must never reach a 3510 city field. Google translates the component name to the site language, so the 3511 language-stable place_id is checked first and the word list only backs it up. */ 3512 if (typeof window.bdIsColloquialCounty !== 'function') { 3513 window.bdIsColloquialCounty = function (componentName, resultPlaceId) { 3514 var countyPlaceIds = [ 3515 'ChIJWRM2Nakw5okRoTCxHvz_5xw', /* Middlesex County, CT */ 3516 'ChIJmeTbuDYH6IkR3xgeNvszpgg', /* Fairfield County, CT */ 3517 'ChIJiT24cvvP54kR2fSPHkp0Akc', /* New Haven County, CT */ 3518 'ChIJvYe7N7eQ54kRL6nZaXRwPkI', /* Litchfield County, CT */ 3519 'ChIJtxC3p6qs54kRIvK-2bctar0', /* Hartford County, CT */ 3520 'ChIJj-lvZQli5okRGCuGRd6xKt0', /* Tolland County, CT */ 3521 'ChIJRWKqeLdi5okRLXWDlSEGeTY', /* Windham County, CT */ 3522 'ChIJwTIQbvVv5okRU5_gSJczUTQ' /* New London County, CT */ 3523 ]; 3524 3525 if (typeof resultPlaceId === 'string' && resultPlaceId !== '' 3526 && countyPlaceIds.indexOf(resultPlaceId) !== -1) { 3527 return true; 3528 } 3529 3530 if (typeof componentName !== 'string' || componentName === '') { 3531 return false; 3532 } 3533 3534 var name = componentName.toLowerCase(); 3535 3536 /* Only unambiguous county words â generic ones (region, district) would strip 3537 legitimate colloquial areas, and their languages already match on place_id. 3538 Word-boundary matched so names like "Countyline, OK" are left alone. */ 3539 var wordTokens = ['county', 'condado', 'comté', 'contea', 3540 'comitatul', 'hrabstwo', 'megye', 'konderria']; 3541 var isAlnum = function (ch) { 3542 return (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9'); 3543 }; 3544 3545 for (var t = 0; t < wordTokens.length; t++) { 3546 var token = wordTokens[t]; 3547 var from = 0; 3548 while (true) { 3549 var at = name.indexOf(token, from); 3550 if (at === -1) { 3551 break; 3552 } 3553 var before = (at > 0) ? name.charAt(at - 1) : ' '; 3554 var after = ((at + token.length) < name.length) ? name.charAt(at + token.length) : ' '; 3555 if (!isAlnum(before) && !isAlnum(after)) { 3556 return true; 3557 } 3558 from = at + 1; 3559 } 3560 } 3561 3562 /* Non-latin scripts have no alphanumeric word boundary. */ 3563 var scriptTokens = ['каÑнÑи', 'کاؤÙÙ¹Û', 'à¤à¤¾à¤à¤à¤à¥', 'ì¹´ì´í°']; 3564 for (var s = 0; s < scriptTokens.length; s++) { 3565 if (name.indexOf(scriptTokens[s]) !== -1) { 3566 return true; 3567 } 3568 } 3569 3570 return false; 3571 }; 3572 } 3573 3574 // Try to load coordinates from sessionStorage on page load 3575 var vlat = 0; 3576 var vlon = 0; 3577 try { 3578 var savedLat = sessionStorage.getItem('bd_geolocation_lat'); 3579 var savedLon = sessionStorage.getItem('bd_geolocation_lon'); 3580 if (savedLat && savedLon) { 3581 vlat = parseFloat(savedLat); 3582 vlon = parseFloat(savedLon); 3583 } 3584 } catch(e) {} 3585 var isSubmit = false; 3586 var isGettingLocation = false; // Flag to prevent multiple simultaneous geolocation requests 3587 3588 // Function to save coordinates to sessionStorage 3589 function saveCoordinatesToSession(lat, lon) { 3590 try { 3591 sessionStorage.setItem('bd_geolocation_lat', lat.toString()); 3592 sessionStorage.setItem('bd_geolocation_lon', lon.toString()); 3593 } catch(e) {} 3594 } 3595 3596 // Function to get coordinates from sessionStorage if current ones are 0 3597 function getCoordinatesFromSession() { 3598 if (vlat === 0 && vlon === 0) { 3599 try { 3600 var savedLat = sessionStorage.getItem('bd_geolocation_lat'); 3601 var savedLon = sessionStorage.getItem('bd_geolocation_lon'); 3602 if (savedLat && savedLon) { 3603 vlat = parseFloat(savedLat); 3604 vlon = parseFloat(savedLon); 3605 return true; 3606 } 3607 } catch(e) {} 3608 } 3609 return false; 3610 } 3611 var cityTypes = [ 3612 'colloquial_area', 3613 'locality', 3614 'sublocality', 3615 'sublocality_level_1', 3616 'sublocality_level_2', 3617 'sublocality_level_3', 3618 'sublocality_level_4', 3619 'sublocality_level_5', 3620 'neighborhood', 3621 'ward', 3622 'postal_town' 3623 ]; 3624 3625 var postalTypes = [ 3626 'postal_code', 3627 'postal_code_prefix', 3628 'postal_code_suffix', 3629 'street_number', 3630 'premise', 3631 'subpremise', 3632 'route', 3633 'intersection', 3634 'street_address', 3635 'floor', 3636 'room', 3637 'post_box', 3638 'delivery_address' 3639 ]; 3640 3641 var isSubmitting = false; 3642 window.cachedSelectedOption = [{ 'typed_location': '' }]; 3643 window.isSubmittingMainSearch = false; 3644 3645 document.addEventListener('DOMContentLoaded', () => { 3646 let isSubmitting = false; // Add flag at the top level 3647 3648 setTimeout(()=>{ 3649 let googleSuggestForm = document.querySelectorAll('.googleSuggest,.google-writen-location,input[name="lead_location"],.fill_location'); 3650 if (typeof googleSuggestForm != "undefined") { 3651 for (let i = 0; i < googleSuggestForm.length; i++) { 3652 let closestForm = googleSuggestForm[i].closest('form'); 3653 if(typeof closestForm != "undefined" && closestForm != null){ 3654 closestForm.addEventListener('focusin', googleMapOnFormClick, false); 3655 3656 }else{ 3657 googleSuggestForm[i].addEventListener('input', googleMapOnFormClick, false); 3658 } 3659 googleSuggestForm[i].addEventListener('click', googleMapOnFormClick, false); 3660 } 3661 } 3662 },200);
3663 3664 $('.website-search button[type=submit]').click(async function (e) { 3665 e.preventDefault(); // Prevent the default submit action 3666 var nativeForm = $(this).closest('form')[0]; 3667 if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) { 3668 return false; 3669 } 3670 await googleMapOnFormClick(); 3671 $(this).closest('form').submit(); 3672 }); 3673 }); 3674 window['gmapClick'] = false; 3675 function googleMapOnFormClick() { 3676 if(window.gmapClick){ 3677 return; 3678 } 3679 window.gmapClick = true; 3680 3681 return new Promise((resolve, reject) => { 3682 window.isSubmittingMainSearch = false; 3683 let googleSuggestForm = document.querySelectorAll('.googleSuggest, .google-writen-location, input[name="lead_location"], .fill_location'); 3684 let mapUri = "https://maps.googleapis.com/maps/api/js?v=quarterly&libraries=places®ion=NZ&callback=initializeG&language=en&key=AIzaSyAzVwP2Zh6D-a8PbCoOXKBbM2U2IEYta9I"; 3685 3686 if (typeof google !== "undefined" && google.hasOwnProperty('maps')) { 3687 resolve('already loaded'); 3688 return; 3689 } 3690 3691 let loadMapScriptAsync = function (uri) { 3692 return new Promise((resolve, reject) => { 3693 let script = document.createElement('script'); 3694 script.type = 'text/javascript'; 3695 script.src = uri; 3696 script.async = true; 3697 script.onload = function () { 3698 resolve("ok"); 3699 }; 3700 script.onerror = function () { 3701 reject("Failed to load Google Maps script."); 3702 }; 3703 document.head.appendChild(script); 3704 }); 3705 }; 3706 3707 loadMapScriptAsync(mapUri) 3708 .then(() => { 3709 resolve(); 3710 }) 3711 .catch((error) => { 3712 console.error(error); 3713 reject(); 3714 }); 3715 3716 }); 3717 } 3718 3719 function initializeG() { 3720 var geocoder; 3721 //This piece of code will create an autosuggest for every input with the class "googleSuggest" 3722 var counter = 1; 3723 var inputsArray = []; 3724 window.cachedSelectedOption = [{ 'typed_location': '' }]; 3725 let mapExists = document.querySelectorAll('[id^="map"]').length > 0; 3726 const functionsToInvoke = { 3727 setJsMap: true, 3728 setJsMapOverview: mapExists, 3729 setJsMapSR: mapExists, 3730 setJsMapSidebar: mapExists 3731 }; 3732 if (window['maps_loaded'] !== true) { 3733 for (let func in functionsToInvoke) { 3734 if (typeof window[func] === 'function' && functionsToInvoke[func]) { 3735 window['maps_loaded'] = true; 3736 window[func](); 3737 } 3738 } 3739 } 3740 $(".googleSuggest").each(function () { 3741 //get the id from the input to be the unique identifier for each autocomplete 3742 var inputId = $(this).attr("id"); 3743 var inputElement = $(this); 3744 inputsArray[counter] = /** @type {HTMLInputElement} */( 3745 document.getElementById('' + inputId)); 3746 const mainCountry = ''; 3747 const inputOptions = { 3748 fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'], 3749 types: ['geocode'] 3750 } 3751 const language = "en"; 3752 3753 if (language) { 3754 inputOptions.language = language; 3755 } 3756 if (mainCountry) { 3757 inputOptions.componentRestrictions = {country: mainCountry}; 3758 inputOptions.region = mainCountry; 3759 } 3760 3761 var autocomplete = new google.maps.places.Autocomplete(inputsArray[counter], inputOptions); 3762 google.maps.event.addListener(autocomplete, 'place_changed', function () { 3763 const place = autocomplete.getPlace(); 3764 3765 cachedSelectedOption = []; 3766 cachedSelectedOption.push(place); 3767 3768 cachedSelectedOption[0]['typed_location'] = inputElement.val(); 3769 /* if(cachedSelectedOption[0]['adr_address']){ 3770 let cleanLocation = cachedSelectedOption[0]['adr_address'].replace(/<[^>]*>/g, ''); 3771 cachedSelectedOption[0]['typed_location'] = cleanLocation; 3772 inputElement.val(cleanLocation); 3773 }*/ 3774 if (cachedSelectedOption[0]['address_components'] == undefined) { 3775 cachedSelectedOption = []; 3776 var emptyObj = { 3777 'typed_location': '' 3778 }; 3779 cachedSelectedOption.push(emptyObj); 3780 } 3781 }); 3782 //the code that prevents the submition when hit enter on a google location autocomplete item 3783 inputElement.keydown( function (e) { 3784 if (e.keyCode == 13) { 3785 var pacCounter = 0; 3786 //need to run a loop to check each pac container 3787 $('.pac-container').each(function () { 3788 3789 if ($(this).css("display") != "none") { 3790 pacCounter++; 3791 } 3792 }); 3793 if (pacCounter > 0) { 3794 e.preventDefault(); 3795 } 3796 } 3797 }); 3798 counter++; 3799 }); 3800 3801 //triggers every time a form with the id website-search is trigered 3802 $('.website-search').submit(function (e) { 3803 3804 var currentForm = $(this); 3805 var locationInput = $(this).find(".googleLocation"); 3806 var $submitButton = currentForm.find('input[type=submit], button[type=submit]'); 3807 3808 3809 if (locationInput.val() != "" && typeof locationInput.val() != 'undefined') { 3810 3811 // Set submitting flag 3812 window.isSubmittingMainSearch = true; 3813 $submitButton.prop('disabled', true); 3814 3815 e.preventDefault(); 3816 //this variable has the main country of the site 3817 var form = currentForm; 3818 var urlGET = form.serialize(); 3819 var formActionUrl = form.attr("action"); 3820 var locationValue = locationInput.val(); 3821 3822 3823 3824 const mainCountry = ''; 3825 const inputOptions = { 3826 address:locationValue 3827 } 3828 const language = "en"; 3829 3830 if (language) { 3831 inputOptions.language = language; 3832 } 3833 if (mainCountry) { 3834 inputOptions.componentRestrictions = {country: mainCountry}; 3835 inputOptions.region = mainCountry; 3836 } 3837 3838 if (typeof cachedSelectedOption == 'undefined') { 3839 var emptyForm = { 3840 'typed_location': '' 3841 }; 3842 cachedSelectedOption.push(emptyForm); 3843 } 3844 3845 if (locationValue != cachedSelectedOption[0]['typed_location']) { 3846 geocoder = new google.maps.Geocoder(); 3847 geocoder.geocode(inputOptions, function (results, status) { 3848 3849 //if the google response of the geocoding was successful it will use that info to build the url for the new search 3850 if (status == google.maps.GeocoderStatus.OK) { 3851 parseInfoToSearch(results, urlGET, formActionUrl); 3852 3853 } else { 3854 var urlPath = formActionUrl; 3855 var redirect = urlPath + "?" + urlGET; 3856 //will redirect the page using the new url that has been constructed 3857 window.location.href = redirect; 3858 } 3859 }); 3860 3861 } else { 3862 parseInfoToSearch(cachedSelectedOption, urlGET, formActionUrl); 3863 } 3864 } 3865 }); 3866 3867 3868 //check if a map has been loaded 3869 if ($('#map-canvas').length > 0) { 3870 var cssHideLogo = "<style>.pac-container:after { /* Disclaimer: not needed to show 'powered by Google' if also a Google Map is shown */background-image: none !important;height: 0px;}</style>"; 3871 $('body').append(cssHideLogo); 3872 } else { 3873 var cssHideLogo = "<style>.pac-container:after { /* Disclaimer: not needed to show 'powered by Google' if also a Google Map is shown */background-image: block !important;height: 16px;}</style>"; 3874 $('body').append(cssHideLogo); 3875 } 3876
3877 if (geocodeVisitorsSetting == 1 && geocodingMethod === "IP") { 3878 populateSearchFields(); 3879 } 3880 3881 if($('.googleSuggest').val() == ""){ 3882 populateSearchFields(); 3883 } 3884 3885 var geocodeVisitorsSetting = '0'; 3886 var geocodingMethod = 'HTML5'; 3887 3888 //check the advanced setting "geocode_visitor_default" if set to 1 will override the "location_value" values to the formatted desire address from the google reverse geocoding response 3889 3890 var vlon = ''; 3891 var vlat = ''; 3892 } 3893 3894 function switchPlaceID(placeId,urlGET, formActionUrl) { 3895 let request = { 3896 placeId: placeId, 3897 fields: ['address_components', 'adr_address', 'formatted_address', 'geometry', 'icon', 'name', 'place_id', 'plus_code', 'type'], 3898 }; 3899 3900 let service = new google.maps.places.PlacesService(document.createElement('div')); 3901 service.getDetails(request, function(place, status) { 3902 if (status === google.maps.places.PlacesServiceStatus.OK) { 3903 let dataArray = []; 3904 dataArray.push(place); 3905 parseInfoToSearch(dataArray, urlGET, formActionUrl); 3906 } else { 3907 console.error('Place details request failed with status:', status); 3908 } 3909 }); 3910 } 3911 3912 function parseInfoToSearch(results, urlGET, formActionUrl) { 3913 var urlSearchParams = new URLSearchParams(urlGET); 3914 var parameters = {}; 3915 var addressComponentsArray = []; 3916 if (results.length > 1) { 3917 if(urlSearchParams.get("location_value")?.toLowerCase() === "nebraska" && results.length === 2){ 3918 let tempResult = results[0]; 3919 results[0] = results[1]; 3920 results[1] = tempResult; 3921 } 3922 for (let i = 0; i < results.length; i++) { 3923 if (results[i].types[0] === 'natural_feature' || 3924 results[i].types[0] === 'airport' || 3925 results[i].types[0] === 'point_of_interest' || 3926 results[i].types[0] === 'establishment' || 3927 results[i].types[0] === 'political' || 3928 results[i].types[0] === 'park') { 3929 results.splice(i, 1); 3930 } 3931 } 3932 } 3933 var adComLength = results[0].address_components.length; 3934 3935 if(results[0].place_id == 'ChIJmQrivHKsQjQR4MIK3c41aj8'){ 3936 switchPlaceID('ChIJi73bYWusQjQRgqQGXK260bw',urlGET, formActionUrl); 3937 return; 3938 } 3939 sessionStorage.setItem("google_result",JSON.stringify(results)); 3940 3941 3942 var foundPostalType = results[0].types.find(type => postalTypes.includes(type)); 3943 var foundCityType = results[0].types.find(type => cityTypes.includes(type)); 3944 3945 //loop that will build the array with the address components and will get the short name of country and administrative area level 1 3946 for (var i = 0; i < adComLength; i++) { 3947 3948 if (results[0].address_components[i]['types'][0] == "country") { 3949 parameters.country_sn = results[0].address_components[i]['short_name']; 3950 } 3951 if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") { 3952 parameters.adm_lvl_1_sn = results[0].address_components[i]['short_name']; 3953 } 3954 if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") { 3955 parameters.stateSearchLN = results[0].address_components[i]['long_name']; 3956 } 3957 if (results[0].address_components[i]['types'][0] == "administrative_area_level_2") { 3958 /* short_name is what the service-area writer stores in 3959 service_areas.county_sn, so the search must send the same 3960 form or county matching breaks wherever short != long. */ 3961 parameters.county_sn = results[0].address_components[i]['short_name']; 3962 } 3963 if ($.inArray(results[0].address_components[i]['types'][0], cityTypes) !== -1 && (foundCityType || foundPostalType ) ) { 3964 var addrType = results[0].address_components[i]['types'][0]; 3965 var addrLong = results[0].address_components[i]['long_name']; 3966 /* CT counties come back as colloquial_area â keep them out of parameters.city. */ 3967 if (addrType !== 'colloquial_area' 3968 || !window.bdIsColloquialCounty(addrLong, results[0].place_id)) { 3969 parameters.city = addrLong; 3970 } 3971 } 3972 if (results[0].address_components[i]['types'][0] == "postal_code" || results[0].address_components[i]['types'][0] == "postal_code_prefix") { 3973 parameters.postal_code = results[0].address_components[i]['long_name']; 3974 } 3975 } 3976 3977 3978 // Filter out 'political' from result types - use more specific type when available 3979 // Same pattern as BD-directory-maps-typePolitical (PR #5642) 3980 if (results[0].types && results[0].types.length > 1 && results[0].types[0] === 'political') { 3981 results[0].types.splice(0, 1); 3982 } 3983 3984 // Pick the most specific type from results, skip "political" (too generic) 3985 parameters.location_type = results[0].types[0]; 3986 for (var t = 0; t < results[0].types.length; t++) { 3987 if (results[0].types[t] != 'political') { 3988 parameters.location_type = results[0].types[t]; 3989 break; 3990 } 3991 } 3992 3993 // When searching by city/locality, omit postal_code â Google returns 3994 // a partial zip prefix that doesn't match all members in the city 3995 if (parameters.location_type == 'locality' && parameters.postal_code) { 3996 delete parameters.postal_code; 3997 } 3998 3999 if (parameters.adm_lvl_1_sn != '') { 4000 parameters.stateSearch = parameters.adm_lvl_1_sn; 4001 } 4002 if (parameters.country_sn == "GB") { 4003 delete parameters.adm_lvl_1_sn; 4004 } 4005 4006 //will check if the response had the bounds parameters 4007 //if it had it will add the south west and north east parameters to the new url 4008 if (results[0].geometry.hasOwnProperty('bounds') || results[0].geometry.hasOwnProperty('viewport')) { 4009 4010 if (results[0].geometry.hasOwnProperty('bounds')) { 4011 var boundsResponse = results[0].geometry.bounds; 4012 4013 } else { 4014 var boundsResponse = results[0].geometry.viewport; 4015 } 4016 parameters.swlat = boundsResponse.getSouthWest
4016().lat(); 4017 parameters.nelat = boundsResponse.getNorthEast().lat(); 4018 parameters.swlng = boundsResponse.getSouthWest().lng(); 4019 parameters.nelng = boundsResponse.getNorthEast().lng(); 4020 4021 //if there were not bounds parameters in the response it will send the parameter fsearch as radius so a radius search will be performed because of lack of info for this location 4022 } else { 4023 parameters.fsearch = "radius"; 4024 } 4025 var locationCenterResponse = results[0].geometry.location; 4026 parameters.lat = locationCenterResponse.lat(); 4027 parameters.lng = locationCenterResponse.lng(); 4028 parameters.faddress = results[0].formatted_address; 4029 parameters.place_id = results[0].place_id; 4030 var formatParameters = $.param(parameters); 4031 urlGET = urlGET + "&" + formatParameters; 4032 var urlPath = formActionUrl; 4033 var redirect = urlPath + "?" + urlGET; 4034 //will redirect the page using the new url that has been constructed 4035 window.location.href = redirect; 4036 } 4037 function populateSearchFields() { 4038 var prePopulateLocationSetting = '0'; 4039 var geolocationMethod = 'HTML5'; 4040 4041 // If geolocation is in progress and we don't have coordinates yet, wait a bit 4042 if (isGettingLocation && (vlat === 0 || vlon === 0)) { 4043 var waitStartTime = performance.now(); 4044 var waitInterval = setInterval(function() { 4045 if (!isGettingLocation || (vlat !== 0 && vlon !== 0)) { 4046 clearInterval(waitInterval); 4047 // Retry after a short delay to ensure coordinates are set 4048 setTimeout(function() { 4049 populateSearchFields(); 4050 }, 100); 4051 } else if ((performance.now() - waitStartTime) > 10000) { 4052 // Timeout after 10 seconds - try sessionStorage 4053 clearInterval(waitInterval); 4054 if (getCoordinatesFromSession()) { 4055 setTimeout(function() { 4056 populateSearchFields(); 4057 }, 100); 4058 } 4059 } 4060 }, 200); 4061 return; 4062 } 4063 4064 // If coordinates are 0, try to get from sessionStorage 4065 if (vlat === 0 || vlon === 0) { 4066 getCoordinatesFromSession(); 4067 } 4068 4069 // Validate coordinates first 4070 var hasValidCoordinates = (vlat !== '' && vlon !== '' && vlat != undefined && vlon != undefined && vlat != 0 && vlon != 0 && Math.abs(vlat) <= 90 && Math.abs(vlon) <= 180); 4071 4072 if (!hasValidCoordinates) { 4073 return; 4074 } 4075 4076 //if set to one will get the lat and lng to do reverse geocoding 4077 if (prePopulateLocationSetting == 1 && (geolocationMethod === "HTML5" || geolocationMethod === "IP")) { 4078 var visitorLatLng = new google.maps.LatLng(parseFloat(vlat), parseFloat(vlon)); 4079 var visitorGeocoder = new google.maps.Geocoder(); 4080 var formattedAddress = []; 4081 var preFormattedStructure = { 4082 "locality": "long_name", 4083 "administrative_area_level_2": "long_name", 4084 "administrative_area_level_1": "long_name", 4085 "country": "long_name" 4086 }; 4087 visitorGeocoder.geocode({'latLng': visitorLatLng}, function (results, status) { 4088 //if the google response of the geocoding was successful it will use that info to build the url for the new search 4089 if (status == google.maps.GeocoderStatus.OK) { 4090 window.cachedSelectedOption = results; 4091 $.each(preFormattedStructure, function (findex, fvalue) { 4092 $.each(results[0].address_components, function (rindex, rvalue) { 4093 if (rvalue.types[0] == findex) { 4094 formattedAddress.push(rvalue.long_name); 4095 } 4096 }); 4097 }); 4098 $('.googleSuggest').each(function () { 4099 if ($(this).val() == '') { 4100 if (formattedAddress.length > 0) { 4101 $(this).val(formattedAddress.join(', ')); 4102 clearContent($(this)); 4103 } 4104 } 4105 }); 4106 } else { 4107 $('.googleSuggest').each(function () { 4108 $(this).val(''); 4109 }); 4110 } 4111 }); 4112 } 4113 } 4114 function showError(error) { 4115 switch (error.code) { 4116 case error.PERMISSION_DENIED: 4117 case 1: // PERMISSION_DENIED 4118 $('.fill_location.clicked').popover({ 4119 content: `Your local browser settings have prevented location targeting. Please enable location permissions in your browser settings.`, 4120 container: 'body' 4121 }); 4122 $('.fill_location.clicked').popover('toggle'); 4123 setTimeout(function () { 4124 $('.fill_location.clicked').popover('hide'); 4125 $('.fill_location.clicked').removeClass('clicked'); 4126 }, 4000); 4127 break; 4128 case error.POSITION_UNAVAILABLE: 4129 case 2: // POSITION_UNAVAILABLE 4130 $('.fill_location.clicked').popover({ 4131 content: `Location information is unavailable. Please check your device location settings.`, 4132 container: 'body' 4133 }); 4134 $('.fill_location.clicked').popover('toggle'); 4135 setTimeout(function () { 4136 $('.fill_location.clicked').popover('hide'); 4137 $('.fill_location.clicked').removeClass('clicked'); 4138 }, 4000); 4139 break; 4140 case error.TIMEOUT: 4141 case 3: // TIMEOUT 4142 $('.fill_location.clicked').popover({ 4143 content: `Location request timed out. Please ensure location services are enabled and try again.`, 4144 container: 'body' 4145 }); 4146 $('.fill_location.clicked').popover('toggle'); 4147 setTimeout(function () { 4148 $('.fill_location.clicked').popover('hide'); 4149 $('.fill_location.clicked').removeClass('clicked'); 4150 }, 4000); 4151 break; 4152 case error.UNKNOWN_ERROR: 4153 default: 4154 $('.fill_location.clicked').popover({ 4155 content: `An error occurred while getting your location. Please try again.`, 4156 container: 'body' 4157 }); 4158 $('.fill_location.clicked').popover('toggle'); 4159 setTimeout(function () { 4160 $('.fill_location.clicked').popover('hide'); 4161 $('.fill_location.clicked').removeClass('clicked'); 4162 }, 4000); 4163 break; 4164 } 4165 } 4166 if (navigator.geolocation) { 4167 if ($(".googleSuggest")[0]) { 4168 $(document).on('click', '.fill_location', function getCXPosition() { 4169 // Prevent multiple simultaneous geolocation requests 4170 if (isGettingLocation) { 4171 return; 4172 } 4173 4174 var $button = $(this); 4175 $button.addClass('clicked'); 4176 var startPos; 4177 4178 // Set flag to prevent concurrent requests 4179 isGettingLocation = true; 4180 4181 // Function to actually get the position 4182 var attemptGetPosition = function() { 4183 // Try with shorter timeout first for faster response 4184 var geoOptions = {
4185 enableHighAccuracy: false, // Use false for faster response 4186 timeout: 8000, // 8 second timeout (reduced for faster failure) 4187 maximumAge: 300000 // Accept cached position up to 5 minutes old 4188 }; 4189 4190 navigator.geolocation.getCurrentPosition(function (position) { 4191 startPos = position; 4192 vlat = startPos.coords.latitude; 4193 vlon = startPos.coords.longitude; 4194 4195 // Validate coordinates before proceeding 4196 if (!vlat || !vlon || vlat === 0 || vlon === 0) { 4197 isGettingLocation = false; 4198 $button.removeClass('clicked'); 4199 return; 4200 } 4201 4202 // Save coordinates to sessionStorage 4203 saveCoordinatesToSession(vlat, vlon);
4204 4205 $.get("/api/data/html/get/data_widgets/widget_name", { 4206 "vlat": vlat, 4207 "vlon": vlon, 4208 "name": "Website - Save Coordinates Session" 4209 }); 4210 4211 populateSearchFields(); 4212 4213 // Clear flag 4214 isGettingLocation = false; 4215 $button.removeClass('clicked'); 4216 }, function(error) { 4217 // Clear flag on error 4218 isGettingLocation = false; 4219 $button.removeClass('clicked'); 4220 4221 // For timeout errors, try sessionStorage as fallback 4222 if (error.code === 3) { 4223 if (getCoordinatesFromSession()) { 4224 // Use cached coordinates 4225 $.get("/api/data/html/get/data_widgets/widget_name", { 4226 "vlat": vlat, 4227 "vlon": vlon, 4228 "name": "Website - Save Coordinates Session" 4229 }); 4230 4231 populateSearchFields(); 4232 4233 // Clear flag 4234 isGettingLocation = false; 4235 $button.removeClass('clicked'); 4236 } else { 4237 $button.popover({ 4238 content: `Location request timed out. Please ensure location services are enabled and grant permission when prompted.`, 4239 container: 'body' 4240 }); 4241 $button.popover('show'); 4242 setTimeout(function() { 4243 $button.popover('hide'); 4244 }, 5000); 4245 } 4246 } else { 4247 showError(error); 4248 } 4249 }, geoOptions); 4250 }; 4251 4252 // Check if geolocation permission is already denied (but don't block if it's prompt) 4253 if (navigator.permissions && navigator.permissions.query) { 4254 navigator.permissions.query({name: 'geolocation'}).then(function(result) { 4255 if (result.state === 'denied') { 4256 isGettingLocation = false; 4257 $button.removeClass('clicked'); 4258 showError({code: 1, message: 'Permission denied'}); 4259 return; 4260 } else { 4261 // Permission is granted or prompt - proceed with geolocation 4262 attemptGetPosition(); 4263 } 4264 }).catch(function(err) { 4265 // If permission API not supported, proceed anyway 4266 attemptGetPosition(); 4267 }); 4268 } else { 4269 // Permission API not available, proceed with geolocation 4270 attemptGetPosition(); 4271 } 4272 }) 4273 } 4274 } else { 4275 console.log('Geolocation is not supported for this Browser/OS version yet.'); 4276 } 4277 function getUrlParameter(sParam) { 4278 var sPageURL = window.location.search.substring(1); 4279 var sURLVariables = sPageURL.split('&'); 4280 4281 for (var i = 0; i < sURLVariables.length; i++) { 4282 var sParameterName = sURLVariables[i].split('='); 4283 4284 if (sParameterName[0] == sParam) { 4285 return decodeURIComponent(sParameterName[1]); 4286 } 4287 } 4288 } 4289 </script>
4289 4290
4290<script> 4291 // switchClass() is jQuery UI (Effects), which is no longer loaded on every page. 4292 // removeClass().addClass() is the same class swap, applied immediately instead of 4293 // after animateClass()'s queued 400ms default. 4294 $(document).ready(function(){ 4295 $('.navbar-header .navbar-toggle.main_menu').click(function(){ 4296 $('.mobile-main-menu').toggleClass('opened'); 4297 }); 4298 $('.mobile-main-menu .sidebar-nav').find('li').each(function(){ 4299 $(this).addClass('hasChildren'); 4300 if ($(this).children('ul').length > 0){ 4301 $(this).prepend('<i class="fa fa-plus" aria-hidden="true"></i>'); 4302 $(this).find('a').after('<div class="clearfix"></div>'); 4303 $(this).find('span').after('<div class="clearfix"></div>'); 4304 } 4305 $(this).append('<div class="clearfix"></div>'); 4306 }); 4307 4308 $('.mobile-main-menu .sidebar-nav li i').click(function(){ 4309 if ($(this).parent().children('ul').length > 0){ 4310 $(this).parent().toggleClass('sub_open'); 4311 } 4312 if ($(this).hasClass('fa-plus')){ 4313 $(this).removeClass('fa-plus').addClass('fa-minus'); 4314 } else { 4315 $(this).removeClass('fa-minus').addClass('fa-plus'); 4316 } 4317 }); 4318 }) 4319 4320 if ($(window).width() > 740 && $(window).width() < 1100) { 4321 4322 $(document).ready(function(){ 4323 $('.tablet-menu .tablet-menu-ul').find('li').each(function(){ 4324 4325 if ($(this).children('ul').length > 0){ 4326 $(this).prepend('<i class="fa fa-plus tablet-fa hidden-sm hidden-md hidden-lg" aria-hidden="true"></i>'); 4327 $(this).find('a').after('<div class="clearfix"></div>'); 4328 var this_link = $(this).children('a').text().replace(/[^\x00-\x7F]/g, "");; 4329 $(this).children('a').html(this_link); 4330 $(this).find('span').after('<div class="clearfix"></div>'); 4331 } 4332 $(this).append('<div class="clearfix"></div>'); 4333 }); 4334 4335 $('.tablet-menu .tablet-menu-ul li i').click(function(){ 4336 4337 if ($(this).parent().children('ul').length > 0){ 4338 $(this).parent().toggleClass('sub_open'); 4339 4340 if ($(this).siblings( "ul" ).hasClass('tablet-block')){ 4341 $(this).siblings( "ul" ).removeClass('tablet-block').addClass('tablet-none'); 4342 } else { 4343 $(this).siblings( "ul" ).addClass( "tablet-block" ); 4344 4345 if ($(this).siblings( "ul" ).hasClass('tablet-none')){ 4346 $(this).siblings( "ul" ).removeClass('tablet-none') 4347 } 4348 4349 if ($(this).parent().siblings().children('ul').hasClass('tablet-block')) { 4350 $(this).parent().siblings().children('ul').removeClass('tablet-block').addClass('tablet-none'); 4351 $(this).parent().siblings().children('i').removeClass('fa-minus').addClass('fa-plus'); 4352 } 4353 4354 if ($(this).parent().siblings().children('ul').children().children('ul').hasClass('tablet-block')) { 4355 $(this).parent().siblings().children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none'); 4356 $(this).parent().siblings().children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus'); 4357 } 4358 4359 if ($(this).siblings('ul').children('ul').children().children('ul').hasClass('tablet-block')) { 4360 $(this).siblings('ul').children('ul').children().children('ul').removeClass('tablet-block').addClass('tablet-none'); 4361 $(this).siblings('ul').children('ul').children().children('i').removeClass('fa-minus').addClass('fa-plus'); 4362 } 4363 4364 } 4365 4366 } 4367 4368 if ($(this).hasClass('fa-plus')){ 4369 $(this).removeClass('fa-plus').addClass('fa-minus'); 4370 } else { 4371 $(this).removeClass('fa-minus').addClass('fa-plus'); 4372 } 4373 }); 4374 }) 4375 } 4376 // Append unique ID attribute for mobile main menu links 4377 $('.mobile-main-menu a,.mobile-main-menu span').attr("id", function() { return $(this).attr("id") + "-mobile" }); 4378</script>
4378 4379
4380<script> 4381/* Keeps the announcement bar flush with the navbar: this widget's CSS emits static 50px 4382 offsets that are blind to the hide-menu settings, so a hidden or fixed compact-logo 4383 navbar leaves a gap or an overlap. Measure the real navbar state and own the offset. */ 4384(function () { 4385 function alignAnnouncementToNavbar() { 4386 var ann = document.querySelector('.announcement-bar'); 4387 if (!ann) { return; } 4388 /* above the widget's own offset breakpoints: restore stylesheet values */ 4389 if (window.innerWidth > 1100) { 4390 ann.style.removeProperty('margin-top'); 4391 ann.style.removeProperty('top'); 4392 return; 4393 } 4394 var navbar = document.querySelector('.header nav.navbar.navbar-default'); 4395 var navStyle = navbar ? window.getComputedStyle(navbar) : null; 4396 /* navbar hidden: the 50px offsets have nothing to clear, sit flush */ 4397 if (!navbar || navStyle.display === 'none') { 4398 ann.style.setProperty('margin-top', '0px', 'important'); 4399 ann.style.setProperty('top', '0px', 'important'); 4400 return; 4401 } 4402 if (window.innerWidth >= 768) { return; } 4403 /* only act while the navbar is pinned and showing the compact logo */ 4404 if (navStyle.position !== 'fixed') { return; } 4405 var logo = navbar.querySelector('.mobile_website_logo'); 4406 if (!logo || window.getComputedStyle(logo).display === 'none') { return; } 4407 var navRect = navbar.getBoundingClientRect(); 4408 var annRect = ann.getBoundingClientRect(); 4409 var delta = Math.round(navRect.bottom - annRect.top); /* >0 overlap, <0 gap */ 4410 if (delta === 0) { return; } 4411 var currentMt = parseFloat(window.getComputedStyle(ann).marginTop) || 0; 4412 var nextMt = currentMt + delta; 4413 /* a transient element above the bar during load can inflate the measure; a 4414 negative margin would pull the bar behind the navbar, so clamp at 0 */ 4415 if (nextMt < 0) { nextMt = 0; } 4416 /* !important to beat the widget's "margin-top: 50px !important" rule */ 4417 ann.style.setProperty('margin-top', nextMt + 'px', 'important'); 4418 } 4419 4420 function run() { 4421 alignAnnouncementToNavbar(); 4422 /* re-run after late layout shifts (fonts, async embeds) */ 4423 window.setTimeout(alignAnnouncementToNavbar, 250); 4424 window.setTimeout(alignAnnouncementToNavbar, 1200); 4425 } 4426 4427 if (document.readyState === 'loading') { 4428 document.addEventListener('DOMContentLoaded', run); 4429 } else { 4430 run(); 4431 } 4432 window.addEventListener('load', alignAnnouncementToNavbar); 4433 var resizeTimer; 4434 window.addEventListener('resize', function () { 4435 window.clearTimeout(resizeTimer); 4436 resizeTimer = window.setTimeout(alignAnnouncementToNavbar, 150); 4437 }); 4438})(); 4439</script>
4439 4440
4440<script type="text/javascript"> 4441 4442 var counterSubmit = 0; 4443 $(document).ready(function() { 4444 /* grecaptcha.reset() with no argument always resets widget 0. On a page with two 4445 captcha holders that clears the wrong checkbox, so the widget the visitor solved 4446 keeps a token Google has already spent and every retry fails the security check. 4447 captchaHolders is published by widget 1995 keyed by "<formId>-google-recaptcha"; 4448 an undefined id means no per-form id is known and the arg-less call is used, 4449 exactly as before. */ 4450 function bdCaptchaWidgetId(formId) { 4451 if (typeof captchaHolders === "undefined" || !formId) { 4452 return undefined; 4453 } 4454 /* recaptcha.php renames each holder to "<id>-<counter>" before render (recaptcha.php ~L84), 4455 so captchaHolders is keyed by the RENAMED id - not "<formId>-google-recaptcha". Resolve from 4456 the holder element itself so the counter never has to be reconstructed. */ 4457 var form = document.getElementById(formId); 4458 var holder = form && form.querySelector(".g-recaptcha"); 4459 return holder ? captchaHolders[holder.id] : undefined; 4460 } 4461 4462 function bdCaptchaReset(formId) { 4463 if (typeof grecaptcha === "undefined" || typeof grecaptcha.reset !== "function") { 4464 return; 4465 } 4466 var widgetId = bdCaptchaWidgetId(formId); 4467 if (widgetId === undefined) { 4468 grecaptcha.reset(); 4469 } else { 4470 grecaptcha.reset(widgetId); 4471 } 4472 } 4473 4474 // Ghost-field strip (card d4tk1CMp): the server-side validator config can carry 4475 // rules for fields that are NOT rendered in this form (conditionally-rendered or 4476 // duplicated form configs). Those phantom rules make formValidation mis-evaluate 4477 // isValid(), so an empty required field bypasses validation and submits natively. 4478 // Remove any rule whose field has no matching element before initializing. 4479 // NOTE: this is the ONLY layer re-applied from reverted PR #5902. It strictly 4480 // REMOVES rules (never adds validators, never overrides native submit, never 4481 // intercepts on capture phase, never re-validates on click) â so it cannot 4482 // reproduce the "Save button slides down / nav broken / no success message" 4483 // regression that caused #5902 to be rolled back on site 19413. 4484 var validatorConfig = {"framework":"bootstrap","addOns":{"reCaptcha2":{"element":"captchaContainer","language":"en","theme":"light","siteKey":"6Ld5Mu4jAAAAAHOalYdPIzJkuTwkKpvuTDhHd2qz","timeout":"120","message":"The captcha is not valid"}},"fields":{"email":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"}}},"pass":{"validators":{"notEmpty":{"message":"Required Field"}}}}}; 4485 var formElement = $(`form[name='member_login_190-1']`); 4486 if(validatorConfig && validatorConfig.fields) { 4487 Object.keys(validatorConfig.fields).forEach(function(fieldName) { 4488 if(formElement.find('[name="' + fieldName + '"]').length === 0) { 4489 delete validatorConfig.fields[fieldName]; 4490 } 4491 }); 4492 } 4493 4494 // Scroll to the first invalid field when submit fails validation, 4495 // so the user can immediately see why the form will not submit 4496 formElement.on('err.form.fv', function(e) { 4497 var $firstError = $(e.target).find('.form-group.has-error').first(); 4498 if ($firstError.length) { 4499 $('html, body').animate({ scrollTop: $firstError.offset().top - 100 }, 700); 4500 } 4501 }); 4502
4503 formElement.formValidation(validatorConfig).on('success.form.fv', function(e,fvdata) { 4504 4505 if('member_login' == 'unsubscribe_email'){ 4506 return true; 4507 } 4508 // Prevent form submission 4509 e.preventDefault(); 4510 $form = $(e.target), 4511 fv = $form.data('formValidation'); 4512 4513 // Check HTML5 required fields that FormValidation may not know about 4514 var requiredEmpty = false; 4515 $form.find('[required]').each(function() { 4516 var val = $(this).val(); 4517 if (val === '' || val === null || (typeof val === 'string' && val.trim() === '')) { 4518 requiredEmpty = true; 4519 $(this).closest('.form-group').addClass('has-error'); 4520 if ($(this).siblings('.required-error').length === 0) { 4521 $(this).after('<small class="required-error help-block" style="color:#a94442;">Required Field</small>'); 4522 } 4523 } else { 4524 var $reqGroup = $(this).closest('.form-group'); 4525 $(this).siblings('.required-error').remove(); 4526 // Keep has-error if another validator is still failing for this field 4527 if ($reqGroup.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) { 4528 $reqGroup.removeClass('has-error'); 4529 } 4530 } 4531 }); 4532 if (requiredEmpty) { 4533 fv.disableSubmitButtons(false); 4534 counterSubmit = 0; 4535 // Scroll to the first field with an error (HTML5-required scan does 4536 // not trigger err.form.fv, so handle the scroll here too) 4537 var $firstReqError = $form.find('.form-group.has-error').first(); 4538 if ($firstReqError.length) { 4539 $('html, body').animate({ scrollTop: $firstReqError.offset().top - 100 }, 700); 4540 } 4541 return false; 4542 } 4543 4544 var values = $(this).serialize(); 4545 4546 4547 var locationFieldCorrect = true; 4548 4549 if($("#member_login_190-1 .location_required").length > 0){ 4550 $("#member_login_190-1 .location_required").each(function (index) { 4551 if($(this).data('state') == 1){ 4552 if($('#member_login_190-1 input[name="lead_location"]').val() == "" || $('#member_login_190-1 input[name="lat"]').val() == "" || $('#member_login_190-1 input[name="lng"]').val() == "") { 4553 locationFieldCorrect = false; 4554 } 4555 } 4556 }); 4557 } 4558 4559 if(locationFieldCorrect === false){ 4560 //check that there is a latitude or longitude 4561 swal(`Whoops!`, `The location information is required to submit this form`, "error"); 4562 return false; 4563 } 4564 4565 4566 if (!$(this).attr("action")) { 4567 var action = ''; 4568 4569 } else { 4570 var action = $(this).attr("action"); 4571 } 4572 if (!$(this).attr("method")) { 4573 var method = 'post'; 4574 4575 } else { 4576 var method = $(this).attr("method"); 4577 } 4578 if (!$(this).attr("form_action_type")) { 4579 var form_action_type = 'notification'; 4580 4581 } else { 4582 var form_action_type = $(this).attr("form_action_type"); 4583 } 4584 if (!$(this).attr("form_action_div")) { 4585 /* Empty "ID to Replace" default: prefer #main-content, fall back to legacy #first_container if absent */ 4586 var form_action_div = $('#main-content').length ? '#main-content' : '#first_container'; 4587 4588 } else { 4589 var form_action_div = $(this).attr("form_action_div"); 4590 } 4591 if (!$(this).attr("return_data_type")) { 4592 var return_data_type = 'json'; 4593 4594 } else { 4595 var return_data_type = $(this).attr("return_data_type"); 4596 } 4597 var submitInFlight = counterSubmit != 0 || (Date.now() - ($form.data('bdLastSubmitAt') || 0) < 5000); 4598 if (!submitInFlight) { 4599 if ($("#member_login_190-1-notification").html() != "") { 4600 $("#member_login_190-1-notification").remove(); 4601 } 4602 if ($(this).find('input[type="submit"]').length > 0) { 4603 $(this).find('input[type="submit"]').before('<div id="member_login_190-1-notification" class="alert"></div>'); 4604 4605 } else { 4606 $(this).prepend('<div id="member_login_190-1-notification" class="alert"></div>'); 4607 } 4608 } 4609 var notification = $("#member_login_190-1-notification"); 4610 4611 if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) { 4612 notification.html(`Processing Request...`).addClass("alert-warning-subtle"); 4613 setTimeout(function(){ 4614 fv.defaultSubmit(); 4615 }, 100); 4616 } else { 4617 notification.html(`Processing Request...`).addClass("alert-warning-subtle"); 4618 if(!submitInFlight) { 4619 counterSubmit++; 4620 $form.data('bdLastSubmitAt', Date.now()); 4621 4622 var fields = $(this).serializeArray(); 4623 var formField = []; 4624 var processData = true; 4625 var contentType = "application/x-www-form-urlencoded; charset=UTF-8"; 4626 4627 4628 4629 if($("#member_login_190-1 input[type=file]").length > 0){ 4630 4631 var formObject = new FormData(); 4632 processData = false; 4633 contentType = false; 4634 4635 $(fields).each(function(index,field){ 4636 formField.push(field.name+"="+field.value); 4637 }); 4638 4639 values = formField.join("&"); 4640 4641 $(formField).each(function(index,fieldValue){ 4642 var fieldInfo = fieldValue.split('='); 4643 formObject.append(fieldInfo[0],fieldInfo[1]); 4644 }); 4645 4646 $("#member_login_190-1 input[type=file]").each(function(index,node){ 4647 var file = this.files[0]; 4648 if(typeof file != "undefined"){ 4649 formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name); 4650 } 4651 }); 4652 }else{ 4653 4654 $(fields).each(function(index,field){ 4655 formField.push(field.name+"="+encodeURIComponent(field.value)); 4656 }); 4657 4658 var formObject = formField.join("&"); 4659 } 4660 4661 $.ajax({
4662 url: action, 4663 type: method, 4664 data: formObject, 4665 dataType: return_data_type, 4666 processData: processData, 4667 contentType: contentType, 4668 success: function (data) { 4669 // Re-query live node: success.form.fv fires twice, orphaning the closure ref captured above. 4670 notification = $("#member_login_190-1-notification"); 4671 if (return_data_type == "html") { 4672 var result = 'success'; 4673 4674 if (!data != "") { 4675 var result_widget = data['result_widget']; 4676 } 4677 4678 } else { 4679 4680 4681 if (!data['result']) { 4682 var result = 'error'; 4683 } else { 4684 var result = data['result']; 4685 } 4686 if (!data['result_widget']) { 4687 var result_widget = ''; 4688 4689 } else { 4690 var result_widget = data['result_widget']; 4691 } 4692 } 4693 if (result == "success") { 4694 4695 if (!data['message']) { 4696 var message = `Your information has submitted successfully!`; 4697 4698 } else { 4699 var message = data['message']; 4700 } 4701 if (!data['redirect_url']) { 4702 var redirect_url = ''; 4703 4704 } else { 4705 var redirect_url = data['redirect_url']; 4706 } 4707 4708 4709 4710 if (form_action_type == "notification") { 4711 if (redirect_url && (action.indexOf('Member%20Login%20Page') >= 0 || action.indexOf('Member Login Page') >= 0)) { 4712 if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") { 4713 redirect_url = "/" + redirect_url; 4714 } 4715 if (notification.parents('.modal').length) { 4716 $('.modal-backdrop').hide(); 4717 $('.modal').modal('hide'); 4718 } 4719 window.location.href = redirect_url; 4720 fv.resetForm(true); 4721 } else { 4722 notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>') 4723 .addClass('alert-dismissible') 4724 .addClass("alert-success-subtle") 4725 .removeClass("alert-danger-subtle") 4726 .removeClass("alert-warning-subtle") 4727 4728 4729 4730 if(notification.parents('.modal').length && 'member_login_190-1' == 'whmcs_billing_address'){ 4731 setTimeout(function(){ 4732 notification.parents('.modal').modal('hide'); 4733 }, 1000); 4734 } 4735 } 4736 4737 } else if (form_action_type == "widget") { 4738 4739 if (result_widget != '') { 4740 4741 setTimeout(function(){ 4742 if(form_action_div != '.newsletter_modal_form_container'){ 4743 $("html, body").animate({ scrollTop: 0 }, 600); 4744 } 4745 $(form_action_div).html(decodeHtml(result_widget)).text(); 4746 4747 }, 1000); 4748 } 4749 4750 } else if (form_action_type == "redirect") { 4751 4752 if (redirect_url == "") { 4753 redirect_url = decodeURIComponent(""); 4754 } 4755 4756 if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") { 4757 redirect_url = "/" + redirect_url; 4758 } 4759 current_location = "/login"; 4760 refresh_pages_string = "/login"; 4761 refresh_pages_string = refresh_pages_string.replace(/ /g,''); 4762 refresh_pages_array = refresh_pages_string.split(','); 4763 notification.html(message) 4764 .addClass("alert-success-subtle") 4765 .removeClass("alert-danger-subtle") 4766 .removeClass("alert-warning-subtle") 4767 .delay(2000).slideUp(); 4768 if(action == "/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" && current_location.indexOf("/login") == -1 && refresh_pages_string != '' && (!refresh_pages_array.includes(current_location) || refresh_pages_string == "/login" )){ 4769 window.location.href = window.location.href+'?logged'; 4770 } else { 4771 window.location.href = redirect_url; 4772 } 4773 4774 fv.resetForm(true); 4775 } 4776 if(form_action_div != '.newsletter_modal_form_container' && 'member_login_190-1' != 'whmcs_billing_address'){ 4777 $('.modal-backdrop').hide(); 4778 } 4779 } else { 4780 bdCaptchaReset(formElement.attr('id')); 4781 if (!data['message']) { 4782 var message = `You entered invali
4782d data. Please try to save again.`; 4783 4784 } else { 4785 var message = data['message']; 4786 } 4787 $("#member_login_190-1-notification").html(message) 4788 .addClass("alert-danger-subtle") 4789 .removeClass("alert-success-subtle") 4790 .removeClass("alert-warning-subtle") 4791 .fadeIn(); 4792 fv.disableSubmitButtons(false); 4793 } 4794 counterSubmit = 0; 4795 }, 4796 error: function (e) { 4797 4798 if(typeof grecaptcha !== "undefined" && typeof grecaptcha.reset === "function"){ 4799 bdCaptchaReset(formElement.attr('id')); 4800 $("#member_login_190-1-notification").html(`Recaptcha Error`); 4801 } else { 4802 $("#member_login_190-1-notification").html(`A connection error occurred while saving. Please try to save again.`); 4803 } 4804 $("#member_login_190-1-notification").addClass("alert-warning-subtle") 4805 .removeClass("alert-success-subtle") 4806 .removeClass("alert-warning-subtle") 4807 .fadeIn(); 4808 counterSubmit = 0; 4809 } 4810 });/// End Ajax 4811 } 4812 }//END else 4813 }).bind('keydown', function(event) { 4814 4815 if (event.ctrlKey || event.metaKey) { 4816 4817 switch (String.fromCharCode(event.which).toLowerCase()) { 4818 4819 case 's': 4820 var nativeForm = $(this)[0]; 4821 if (nativeForm && typeof nativeForm.reportValidity === 'function' && !nativeForm.reportValidity()) { 4822 event.preventDefault(); 4823 return false; 4824 } 4825 $(this).submit(); 4826 break; 4827 } 4828 } 4829 }); 4830 4831 /// This will turn any select2 that are required in the form builder to being required elements. 4832 $('#member_login_190-1 select').each(function (i, obj) { 4833 setTimeout(function(){ 4834 if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") { 4835 $(obj).css("z-index","-999"); 4836 $(obj).css("height","0"); 4837 $(obj).css("width","0"); 4838 $(obj).css("display","block"); 4839 $(obj).css("position","absolute"); 4840 } 4841 }, 3000); 4842 }); 4843 4844 // Clear required-error messages when user fills in a required field 4845 $('#member_login_190-1').on('keyup change', '[required]', function() { 4846 var val = $(this).val(); 4847 if (val !== '' && val !== null && val.trim() !== '') { 4848 var $group = $(this).closest('.form-group'); 4849 // Remove only this handler's own required message 4850 $(this).siblings('.required-error').remove(); 4851 // Keep has-error if another FormValidation validator is still failing 4852 // (e.g. stringLength, regexp). has-error is shared, so removing it 4853 // wholesale would clobber other validators' red styling. 4854 if ($group.find('small[data-fv-validator][data-fv-result="INVALID"]').length === 0) { 4855 $group.removeClass('has-error'); 4856 } 4857 } 4858 }); 4859 4860 });//END $('# echo $_SERVER[form_element_id]; ').formValidation( 4861 </script>
4861 4862
4862<script> 4863 window.addEventListener('load', (event) => { 4864 setTimeout(() => { 4865 if (document.getElementById("google-pin") !== null) { 4866 $(".member_results .views > i.mapView").trigger("click"); 4867 } else { 4868 $('.grid-container').delay(850).addClass('visible'); 4869 } 4870 }, 501); 4871 }); 4872 </script>
vendor: 2 bytes, line 4872
4872
4873<script> 4874 function decision(message, url) { 4875 if (confirm(message)) { 4876 setTimeout(function () { 4877 window.location = url; 4878 }, 0); 4879 } 4880 } 4881</script>
vendor: 2 bytes, line 4881
4881
4882<script> 4883 // Function to add alt, width, and height attributes to <img> elements without them 4884 function addAttributesToImages() { 4885 var images = document.querySelectorAll('img:not([alt]), img:not([width]), img:not([height])'); 4886 Array.prototype.forEach.call(images, function(img) { 4887 // Skip if we've already processed this image 4888 if (img.dataset.processed === 'true') { 4889 return; 4890 } 4891 4892 // Mark this image as being processed 4893 img.dataset.processed = 'true'; 4894 4895 // Add alt attribute if missing 4896 if (!img.hasAttribute('alt')) { 4897 var src = img.getAttribute('src') || 'image'; // Default src to 'image' if missing 4898 var altText = src.split('/').pop().split('?')[0].replace(/\.\w+$/, ''); 4899 4900 try { 4901 altText = decodeURIComponent(altText) 4902 .replace(/[_\-+,.:;]+/g, ' ') 4903 .replace(/\s+/g, ' ') 4904 .trim(); 4905 } catch (e) { 4906 altText = 'image'; // Fallback to 'image' if decoding fails 4907 } 4908 4909 // Ensure altText is not empty, otherwise use 'image' 4910 altText = altText || 'image'; 4911 4912 img.setAttribute('alt', altText); 4913 } 4914 4915 // Add width and height attributes if missing 4916 if (!img.hasAttribute('width') || !img.hasAttribute('height')) { 4917 // Handle SVG differently 4918 if (img.src && img.src.endsWith('.svg')) { 4919 // For SVG, use the viewBox to set width and height, if available 4920 fetch(img.src) 4921 .then(response => { 4922 if (!response.ok) { 4923 throw new Error('Failed to fetch SVG: ' + response.status); 4924 } 4925 return response.text(); 4926 }) 4927 .then(svgText => { 4928 var parser = new DOMParser(); 4929 var svgDoc = parser.parseFromString(svgText, "image/svg+xml"); 4930 var svgElement = svgDoc.querySelector('svg'); 4931 4932 if (svgElement) { 4933 var viewBox = svgElement.getAttribute('viewBox'); 4934 if (viewBox) { 4935 var viewBoxValues = viewBox.split(' '); 4936 var width = viewBoxValues[2]; 4937 var height = viewBoxValues[3]; 4938 4939 if (!img.hasAttribute('width')) { 4940 img.setAttribute('width', width); 4941 } 4942 if (!img.hasAttribute('height')) { 4943 img.setAttribute('height', height); 4944 } 4945 } 4946 } 4947 }) 4948 .catch(error => { 4949 // Fallback to default dimensions for SVG 4950 if (!img.hasAttribute('width')) { 4951 img.setAttribute('width', '100'); 4952 } 4953 if (!img.hasAttribute('height')) { 4954 img.setAttribute('height', '100'); 4955 } 4956 }); 4957 } else { 4958 // For non-SVG images, use natural dimensions 4959 var tempImg = new Image(); 4960 tempImg.src = img.src; 4961 4962 tempImg.onload = function() { 4963 if (!img.hasAttribute('width')) { 4964 img.setAttribute('width', tempImg.naturalWidth); 4965 } 4966 if (!img.hasAttribute('height')) { 4967 img.setAttribute('height', tempImg.naturalHeight); 4968 } 4969 }; 4970 4971 tempImg.onerror = function() { 4972 // Fallback to default dimensions 4973 if (!img.hasAttribute('width')) { 4974 img.setAttribute('width', '100'); 4975 } 4976 if (!img.hasAttribute('height')) { 4977 img.setAttribute('height', '100'); 4978 } 4979 }; 4980 } 4981 } 4982 }); 4983 } 4984 4985 document.addEventListener('DOMContentLoaded', function() { 4986 // Run the function initially to catch images already in the DOM 4987 addAttributesToImages(); 4988 4989 // Create a MutationObserver to monitor the DOM for added/changed images 4990 var observer = new MutationObserver(function(mutations) { 4991 mutations.forEach(function(mutation) { 4992 if (mutation.addedNodes.length > 0 || mutation.type === 'attributes') { 4993 // Only process if we have new images or src attribute changes 4994 var hasNewImages = false; 4995 4996 if (mutation.addedNodes.length > 0) { 4997 mutation.addedNodes.forEach(function(node) { 4998 if (node.nodeType === 1) { // Element node 4999 if (node.tagName === 'IMG' || node.querySelectorAll) { 5000 hasNewImages = true; 5001 } 5002 } 5003 }); 5004 } 5005 5006 if (mutation.type === 'attributes' && mutation.attributeName === 'src') { 5007 hasNewImages = true; 5008 } 5009 5010 if (hasNewImages) { 5011 addAttributesToImages(); 5012 } 5013 } 5014 }); 5015 }); 5016 5017 // Start observing the document body for changes 5018 observer.observe(document.body, { 5019 childList: true, // Watch for added or removed nodes 5020 subtree: true, // Watch the entire subtree 5021 attributes: true, // Watch for attribute changes 5022 attributeFilter: ['src'] // Specifically watch for changes in the 'src' attribute 5023 }); 5024 }); 5025</script>
5025<style type='text/css'> select#sid[disabled], select#tid[disabled], select.combobox[disabled], select#bd-chained[disabled], select#category-chained[disabled], select.infinite-chained[disabled], select.subcategory-chained[disabled], select.search-chained[disabled], select#country-chained[disabled], select#state-chained[disabled], select#country-chained-2[disabled], select#state-chained-2[disabled], select#profession_id[disabled] { 5026 cursor: wait 5027} 5028select.select2-preload { 5029 line-height: initial; 5030} 5031 5032select#sid, select#tid, select#ttid, select.combobox, select#bd-chained, select#category-chained, select.infinite-chained, select.subcategory-chained, select.search-chained, select#country-chained, select#state-chained, select#country-chained-2, select#state-chained-2, select#profession_id, [name^="bd_phone_country_code"] { 5033 -webkit-appearance: none; 5034 -moz-appearance: none; 5035 appearance: none; 5036 background-image: url(/images/select2ArrowDown.png) !important; 5037 background-repeat: no-repeat !important; 5038 background-size: 10px 9px !important; 5039 background-position: 99% 16px; 5040 border-radius: 6px; 5041 overflow: hidden; 5042} 5043.module select#sid, .module select#tid, .module select.combobox, .module select#bd-chained, .module select#category-chained, .module select.infinite-chained, .module select.subcategory-chained, .module select.search-chained, .module select#country-chained, .module select#state-chained, .module select#country-chained-2, .module select#state-chained-2, .module select#profession_id, [name^="bd_phone_country_code"] { 5044 background-position: 98.2% 12px; 5045} </style>
5045<script> 5046 // Function to add aria-label to <select> elements without it, for better pagespeed accessibility score 5047 $(document).ready(function() { 5048 var ariaLabelCounter = {}; // Object to keep track of aria-label counts for uniqueness 5049 5050 // Iterate over each select element that does not have an aria-label 5051 $('select:not([aria-label])').each(function() { 5052 // Use the ID or placeholder as the base for the aria-label, stripping HTML tags 5053 var baseLabel = this.id || $(this).attr('placeholder') || 'select'; 5054 baseLabel = baseLabel.replace(/<[^>]*>/g, '').trim(); // Remove HTML tags and trim 5055 5056 // Ensure uniqueness of each aria-label 5057 ariaLabelCounter[baseLabel] = (ariaLabelCounter[baseLabel] || 0) + 1; 5058 var ariaLabel = baseLabel + '-' + ariaLabelCounter[baseLabel]; 5059 5060 // Truncate aria-label to 100 characters 5061 ariaLabel = ariaLabel.length > 100 ? ariaLabel.substring(0, 100) : ariaLabel; 5062 5063 // Set the aria-label attribute to the unique label 5064 $(this).attr('aria-label', ariaLabel); 5065 }); 5066 }); 5067</script>
vendor: 2 bytes, line 5067
5067
5068<script type="application/ld+json"> 5069{ 5070 "@context": "https://schema.org", 5071 "@graph": [ 5072 { 5073 "@type": "WebSite", 5074 "@id": "https://www.vetclinicjobs.com/#website", 5075 "name": "VetClinicJobs", 5076 "url": "https://www.vetclinicjobs.com/", 5077 "inLanguage": "en-US", 5078 "potentialAction": { 5079 "@type": "SearchAction", 5080 "target": "https://www.vetclinicjobs.com/sitesearch?q={search_term_string}", 5081 "query-input": "required name=search_term_string", 5082 "name": "Search Directory: VetClinicJobs" 5083 }, 5084 "publisher": { 5085 "@id": "https://www.vetclinicjobs.com/#organization" 5086 } 5087 }, 5088 { 5089 "@type": "Organization", 5090 "@id": "https://www.vetclinicjobs.com/#organization", 5091 "name": "VetClinicJobs", 5092 "description": "Find vet clinic jobs with employers that match your values", 5093 "url": "https://www.vetclinicjobs.com/", 5094 "mainEntityOfPage": { 5095 "@type": "WebPage", 5096 "@id": "https://www.vetclinicjobs.com/#webpage" 5097 }, 5098 "contactPoint": [ 5099 { 5100 "@type": "ContactPoint", 5101 "email": "[email protected]", 5102 "contactType": "customer support", 5103 "availableLanguage": [ 5104 "en" 5105 ], 5106 "areaServed": "NZ" 5107 } 5108 ], 5109 "areaServed": { 5110 "@type": "Country", 5111 "name": "NZ"
5112 }, 5113 "telephone": "0800 483 869", 5114 "sameAs": [ 5115 "https://www.facebook.com/VetClinicJobs", 5116 "https://www.linkedin.com/company/vetclinicjobs/", 5117 "https://www.youtube.com/@vetclinicjobs", 5118 "https://www.instagram.com/vetclinicjobs/", 5119 "https://feeds.buzzsprout.com/1036900.rss" 5120 ], 5121 "logo": { 5122 "@type": "ImageObject", 5123 "@id": "https://www.vetclinicjobs.com/#logo", 5124 "url": "/images/vetclinicjobs-logo.png" 5125 }, 5126 "image": { 5127 "@type": "ImageObject", 5128 "@id": "https://www.vetclinicjobs.com/#image", 5129 "url": "/images/vetclinicjobs-logo.png" 5130 }, 5131 "keywords": [ 5132 "vet clinic jobs", 5133 "jobs in vet clinics", 5134 "veterinary jobs", 5135 "vet industry jobs", 5136 "VetClinicJobs", 5137 "Vet Clinic Jobs" 5138 ] 5139 } 5140 ] 5141}</script>
5141 5142
5143<script> 5144// Bootstrap Icons fallback loader - ensures Bootstrap Icons work even if HEAD widget is customized, do not delete 5145(function() { 5146 if (!document.querySelector('link[href*="bootstrap-icons"]')) { 5147 var link = document.createElement('link'); 5148 link.rel = 'stylesheet'; 5149 link.href = 'https://www.optimizecdn.com/directory/cdn/assets/bootstrap/fonts/bootstrap-icons.min.css?v=1.13.1'; 5150 document.head.appendChild(link); 5151 } 5152})(); 5153</script>
5153 5154<style type='text/css'> .input-group.normal-autosuggest input,.input-group.sm-autosuggest input, .input-group.md-autosuggest input { 5155 border-radius: 0 8px 8px 0 !important; 5156 } 5157.normal-autosuggest .twitter-typeahead, .sm-autosuggest .twitter-typeahead, .md-autosuggest .twitter-typeahead, .large-autosuggest .twitter-typeahead { 5158 display: inline-block; 5159 height: 25px; 5160 position: relative; 5161 width: 100%; 5162} 5163.input-group.normal-autosuggest .twitter-typeahead, .input-group.sm-autosuggest .twitter-typeahead, .input-group.large-autosuggest .twitter-typeahead:not(.search_box .twitter-typeahead) { 5164 width: inherit; 5165} 5166.normal-autosuggest .twitter-typeahead .clear_content.medium{ 5167 bottom: 0px; 5168} 5169.sm-autosuggest .twitter-typeahead .clear_content.small{ 5170 bottom: -4px; 5171} 5172.md-autosuggest.input-group .twitter-typeahead .clear_content.medium { 5173 bottom: -2px; 5174} 5175.md-autosuggest .twitter-typeahead { 5176 height: 32px; 5177} 5178.md-autosuggest .input-group-addon + .input_wrapper .twitter-typeahead { 5179 height: 38px; 5180 vertical-align: top; 5181} 5182.md-autosuggest-input + .clear_content.medium { 5183 bottom: 0px; 5184} 5185.large-autosuggest .twitter-typeahead { 5186 height: 40px; 5187} 5188.normal-autosuggest .twitter-typeahead{ 5189 height: 38px; 5190} 5191.normal-autosuggest .twitter-typeahead .tt-hint, .sm-autosuggest .twitter-typeahead .tt-hint { 5192 background: #fff !important; 5193 border: 1px solid #ccc!important; 5194 border-radius: 0 8px 8px 0; 5195 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important; 5196 color: transparent; 5197 left: 0; 5198 padding: 4px 11px; 5199 position: absolute; 5200 top: 0; 5201 width: 100%; 5202 font-size:12px; 5203} 5204.normal-autosuggest.input-group-addon .fa, .sm-autosuggest .input-group-addon .fa, .input-group-sm .input-group-addon .fa {font-size:12px} 5205.md-autosuggest .twitter-typeahead .tt-hint { 5206 height: 100%; 5207 background: #ffffff none repeat scroll 0 0 !important; 5208 border: 1px solid #cccccc !important; 5209 border-radius: 0 8px 8px 0; 5210 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset !important; 5211 color: rgba(0, 0, 0, 0); 5212 left: 0; 5213 padding: 6px 11px; 5214 position: absolute; 5215 top: 0; 5216 width: 100%; 5217} 5218.large-autosuggest {background: #fff !important;border-radius:10px;} 5219.large-autosuggest input {width: 100%!important;box-shadow:none; border-radius: 10px;} 5220 .input-group.large-autosuggest input,.input-group.large-autosuggest .twitter-typeahead .tt-hint { 5221 border-radius: 0 10px 10px 0!important; 5222 } 5223 .large-autosuggest .twitter-typeahead .tt-hint { 5224 background: #fff !important; 5225 border: 1px solid #ccc!important; 5226 border-radius: 10px; 5227 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important; 5228 color: transparent; 5229 left: 0; 5230 position: absolute; 5231 top: 0; 5232 width: 100%; 5233 font-size: 18px; 5234 height: 46px; 5235 line-height: 1.33333; 5236 padding: 10px 15px; 5237} 5238.tt-dataset .empty-message { 5239 display: none !important; 5240} 5241.twitter-typeahead .tt-query {background-color:#fff!important} 5242.input-group.large-autosuggest span:first-child .tt-hint {border-radius: 0 !important;} 5243span.tt-dropdown-menu { 5244 border: 1px solid #FCFCFC; 5245 border-radius: 5px; 5246 box-shadow: 0 5px 10px rgba(0,0,0,.2); 5247 width: 100% !important; 5248} 5249.tt-is-under-cursor a.suggest-link { 5250 background: #55ACEE; 5251} 5252 5253.tt-is-under-cursor .media-heading, 5254.tt-is-under-cursor .suggest-origin, 5255.tt-is-under-cursor .location{ 5256 color:#fff!important; 5257} 5258.tt-suggestion .media .media-body .suggest-origin { 5259 color: rgba(45, 91, 137,0.9); 5260 padding: 1px 0; 5261 border-radius: 6px; 5262 font-weight: bold; 5263 line-height: 12px; 5264} 5265.tt-suggestion { 5266 background: #fff; 5267 border-bottom: 1px solid #eee; 5268 -webkit-transition: all 0.3s ease-in-out; 5269 -moz-transition: all 0.3s ease-in-out; 5270 -o-transition: all 0.3s ease-in-out; 5271 transition: all 0.3s ease-in-out; 5272} 5273body .tt-suggestions .media.br-bottom img { 5274 max-width: 45px; 5275 height: auto; 5276} 5277body .tt-suggestions .media-body span { 5278 font-size: 10px; 5279} 5280body .tt-suggestions .media-body h4 { 5281 font-size: 12px; 5282 margin: 2px 0px; 5283 text-transform: capitalize; 5284} 5285a.suggest-link { 5286 padding: 5px; 5287 display: block; 5288} 5289a.suggest-link img { 5290 border-radius: 100px; 5291 display: block; 5292 margin: 0 auto; 5293 height: 100%!important; 5294 width: 100%; 5295 object-fit: cover; 5296} 5297.left-suggest-col {
5298 display: inline-block; 5299 vertical-align: middle; 5300 width: 44px; 5301 height: 44px; 5302} 5303.right-suggest-col { 5304 display: inline-block; 5305 padding-left: 1%; 5306 text-align: left; 5307 vertical-align: middle; 5308 width: calc(100% - 1% - 50px); 5309} 5310p.media-heading { 5311 color: #333; 5312 font-size: 12px; 5313 font-weight: 600; 5314 margin-bottom: 0; 5315} 5316p.suggest-origin { 5317 font-size: 10px; 5318 color: #333; 5319 margin:0; 5320} 5321p.location { 5322 color: #333; 5323 font-size: 10px; 5324 margin: 2px 0; 5325} 5326body .tt-is-under-cursor a.suggest-link { 5327 background: #F7F7F7; 5328} 5329body .tt-is-under-cursor .media-heading, body .tt-is-under-cursor .suggest-origin, body .tt-is-under-cursor .location { 5330 color: #333!important; 5331} 5332a.suggest-link[data-heading="heading"] { 5333 pointer-events: none; 5334 cursor: default; 5335 text-decoration: none; 5336} 5337body .tt-is-under-cursor a.suggest-link[data-heading="heading"] { 5338 background: rgb(80, 31, 96); 5339} 5340/* --- all the novalue css --- */ 5341a.suggest-link .suggest-origin[data-state="novalue"] { 5342 display: none; 5343} 5344a.suggest-link .location[data-state="novalue"] { 5345 display: none; 5346} 5347a.suggest-link img[data-state="novalue"] { 5348 display: none; 5349} 5350a.suggest-link .suggest-origin[data-state="heading"] { 5351 display: none; 5352} 5353a.suggest-link .media-heading[data-heading="heading"] { 5354 color:rgb(255, 255, 255)!important; 5355 font-weight: bold; 5356 padding: 4px; 5357 font-size: 13px; 5358} 5359.left-suggest-col[data-photo="novalue"], .left-suggest-col[data-photo="undefined"] { 5360 display: none; 5361} 5362.right-suggest-col[data-photo="novalue"], .right-suggest-col[data-photo="undefined"] { 5363 width: 100%; 5364} 5365a.suggest-link[href="novalue"] { 5366 cursor: default !important; 5367 pointer-events: none; 5368} 5369a.suggest-link[data-heading="heading"] { 5370 background-color: rgb(80, 31, 96); 5371} 5372div.content-shell { 5373 overflow: inherit; 5374} 5375span.tt-dropdown-menu div { 5376 float: none; 5377} 5378.tt-menu { 5379 border-radius: 0 0 6px 6px; 5380 box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); 5381 overflow: hidden; 5382 width: 100%; 5383 z-index: 150 !important; 5384} 5385.tt-menu .tt-dataset { 5386 overflow-y: auto; 5387 max-height: 200px; 5388} </style>
5388<script> 5389 window.addEventListener('load', () => { 5390 let embedlyClass = document.querySelector('.fr-embedly'); 5391 if (typeof embedlyClass != "undefined" && embedlyClass != null) { 5392 let embedlyURI = "https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/embedly_widget.min.js"; 5393 let head = document.getElementsByTagName("head")[0]; 5394 let script = document.createElement('script'); 5395 script.type = 'text/javascript'; 5396 script.src = embedlyURI; 5397 script.async = true; 5398 script.onload = function() { 5399 setTimeout(function() { 5400 if (typeof embedly !== 'undefined' && embedly.card) { 5401 document.querySelectorAll('.embedly-card').forEach(function(card) { 5402 embedly.card(card); 5403 }); 5404 } 5405 }, 500); 5406 }; 5407 head.appendChild(script); 5408 } 5409 }); 5410</script>
5410<script type="text/javascript" src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js"></script>
5410<script> 5411 $(function () { 5412 $(".lazyloader").Lazy({ 5413 afterLoad: function(element) { 5414 $(".gridView.activeView").click(); 5415 } 5416 }); 5417 5418 }); 5419 $("button[class*='slick'],button[id*='slick']").click(function () { 5420 $(this).parents(".row").find(".lazyloader").lazy({ 5421 bind: "event", 5422 delay: 0 5423 }); 5424 }); 5425 $("[class*='slick'],[id*='slick']").on("swipe",function(){ 5426 $(this).parents(".row").find(".lazyloader").lazy({ 5427 bind: "event", 5428 delay: 0 5429 }); 5430 }); 5431 </script>
5431<script defer src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=8.0.0"></script>
5431 5432 </body> 5433 </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.