Help
RSS
API
Feed
Maltego
Contact
Domain > www.davidrudgeassociates.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-03-07
104.27.132.43
(
ClassC
)
2019-03-07
104.27.133.43
(
ClassC
)
2024-07-20
95.154.197.170
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyConnection: Keep-AliveKeep-Alive: timeout5, max100content-type: text/htmlcontent-length: 795date: Sat, 20 Jul 2024 18:08:32 GMTserver: LiteSpeedlocation: https://www.davidrudgeassociates.com/x-frame-options: DENY !DOCTYPE html>html styleheight:100%>head>meta nameviewport contentwidthdevice-width, initial-scale1, shrink-to-fitno />title> 301 Moved Permanently/title>style>@media (prefers-color-scheme:dark){body{background-color:#000!important}}/style>/head>body stylecolor: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;>div styleheight:auto; min-height:100%; > div styletext-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;> h1 stylemargin:0; font-size:150px; line-height:150px; font-weight:bold;>301/h1>h2 stylemargin-top:20px;font-size: 30px;>Moved Permanently/h2>p>The document has been permanently moved./p>/div>/div>/body>/html>
Port 443
HTTP/1.1 200 OKConnection: Keep-AliveKeep-Alive: timeout5, max100set-cookie: PHPSESSID7b9acac1ab6362bee9029fc0165da326; path/; HttpOnly; secureexpires: Thu, 19 Nov 1981 08:52:00 GMTcache-control: no-store, no-cache, must-revalidatepragma: no-cachex-xss-protection: 1; modeblockvary: Accept-Encodingcontent-type: text/html; charsetUTF-8transfer-encoding: chunkeddate: Sat, 20 Jul 2024 18:08:33 GMTserver: LiteSpeedx-frame-options: DENY !DOCTYPE html>html langen>head> title>Chartered Architects Staffordshire | Stafford, Cannock, Rugeley/title> meta http-equivcontent-type contenttext/html; charsetUTF-8> meta namedescription contentAre you looking for Chartered Architects in Staffordshire? We are a leading architectural consultancy offering our expertise across Staffordshire and beyond. Consultancy, Design services, Project management. /> link relcanonical hrefhttps://www.davidrudgeassociates.com//> meta propertyog:title contentChartered Architects Staffordshire | Stafford, Cannock, Rugeley /> meta propertyog:description contentAre you looking for Chartered Architects in Staffordshire? We are a leading architectural consultancy offering our expertise across Staffordshire and beyond. Consultancy, Design services, Project management. /> meta propertyog:type contentwebsite /> meta propertyog:url contenthttps://www.davidrudgeassociates.com/ /> meta propertyog:image contenthttps://www.easysites.uk/filestore/editor/8933744578/templateschemarudge.jpg /> meta propertyog:locale contenten_GB /> meta nameviewport contentwidthdevice-width, initial-scale1, maximum-scale5> link relmanifest href/manifest.webmanifest> link relicon hrefhttps://s3-eu-west-1.amazonaws.com/easyfav/davidrudgeassociatescom.jpg typeimage/x-icon /> !--if IE>script srchttps://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js>/script>!endif--> style>*{box-sizing:border-box}html,body,div,span,h1,h2,h3,h4,p,a,img,small,strong,i,ul,li,article,aside,header{background:transparent;border:0;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}body{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;letter-spacing:.25px;line-height:1.8}body,html{height:100%}a{color:#0B71E0;font-weight:500;text-decoration:none}p{margin:1.25rem 0}strong{font-weight:600}a img{border:0}p,li{font-size:16px;font-weight:400;line-height:inherit}small{color:#999;display:inline-block;font-size:.85em;font-weight:500;letter-spacing:1px;margin-bottom:.5rem;text-transform:uppercase}.row{position:relative}article>.row{padding:.5rem 0}.container>.row{padding-top:10px;padding-bottom:10px}.center{text-align:center}#container{display:flex;flex-direction:column;height:100%;margin:0 auto;min-height:100%;padding:0}.container{max-width:1080px;width:100%}#date{display:none}.notification-bar{background:#283645;flex:1 0 auto;line-height:1;padding:0;text-align:right}.notification-bar:after{clear:both;content:;display:table}.notification-bar .container{line-height:1;margin:0 auto;padding:0 2rem}.notification-bar .container:after{clear:both;content:;display:table}.notification-contact{float:left}.notification-social{float:right;margin-left:2rem;padding:0 .5rem}.notification-bar .notification-social>span{display:none;font-size:16px;letter-spacing:0;line-height:1;padding:0;text-align:center;width:45px}.notification-bar .notification-social>span:nth-child(-n+2){display:block}.notification-bar .notification-social span a{border:0;display:block;padding:1rem}.notification-links+.notification-text{display:none}.notification-links{display:none;float:left}.notification-bar span{color:#FFF;float:left;font-size:13px;font-weight:500;letter-spacing:.75px;line-height:1.275;margin:0 auto;padding:1rem 0}.notification-bar .notification-contact span:nth-child(n+2){display:none;margin-left:1rem}.notification-text{display:inline-block}.notification-address{display:none}.notification-text{float:left}.notification-contact .phone-call,.notification-contact>span{color:#FFF;display:inline-block;font-weight:700;letter-spacing:.25px}.notification-contact .phone-call:before,.notification-contact>.fax-number-notification:before{content:\f4b9;font-family:Ionicons;font-style:normal;font-weight:normal;font-variant:normal;line-height:1;margin-right:.5rem;speak:none;text-align:center;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.notification-contact>.fax-number-notification:before{content:\f3a5}.notification-links span{letter-spacing:.25px;line-height:1.275;margin:0;margin-right:1rem;padding:1rem 0}.notification-bar .notification-links span a,.notification-bar .notification-social span a{border:0;color:#FFF}h1,h2,h3,h4{color:#1B252B;font-family:Nunito,sans-serif;font-weight:600;letter-spacing:1px}h1{font-family:Nunito,sans-serif;font-size:38px;line-height:38px;padding:0 0 1rem}h2{font-family:Nunito,sans-serif;font-size:30px;letter-spacing:.25px;line-height:1.2;margin:1rem 0}h3{font-family:Nunito,sans-serif;font-size:26px}h4{font-size:22px;letter-spacing:.25px;padding:.5rem 0 0}.display{margin:0}.display h1{font-size:2.5em;letter-spacing:0;text-transform:none}.display p{font-size:1.1em;font-style:normal;font-weight:400;letter-spacing:.5px;margin:0}#header_can{background:#FFF;left:0;position:absolute;right:0;z-index:10}#nav ul .nav_drop:after{filter:invert(1)}#header_can .header_logo{border:0;display:inline-block;line-height:1;margin:0;margin-right:.5rem;padding:0;vertical-align:middle}#header_can .header_logo img{display:inline-block;margin-right:.75rem;max-height:50px;max-width:125px;vertical-align:middle}#header_can .header_logo+h1{display:inline-block;margin:0;padding:0;vertical-align:middle}#header_can .company-branding{align-items:center;display:flex}#header_can .header_logo~h3,#header_can .company-branding~h3{border-left:2px solid #EEE;display:none;font-size:13px;font-weight:700;letter-spacing:.5px;max-width:300px;padding:.2rem 0;padding-left:1rem;text-transform:uppercase}header{align-items:center;display:flex;margin:0 auto;max-width:1080px;padding:.75rem 2rem;position:relative;text-align:left;width:100%}header h1,header .header_logo span{color:#222;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;font-size:20px;font-style:normal;font-weight:700;letter-spacing:0;line-height:1.3;margin:0 auto;padding:.75rem 0;position:relative;vertical-align:middle;z-index:11}header h3{color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;font-weight:400;letter-spacing:0;line-height:20px;*line-height:24px;margin:0 auto;padding:2px 0 0;*padding:0}header #header_contact{display:flex;flex-grow:1;justify-content:flex-end;margin-right:3.5rem;visibility:visible;white-space:nowrap}header #header_contact h4{border:0;color:#333;display:inline-block;font-family:Helvetica Neue,Arial,sans-serif;font-size:15px;font-weight:400;letter-spacing:0;line-height:18px;margin-left:1.25rem;position:relative;visibility:visible}header #header_contact h4:before,header #header_contact h4 a:before{color:#222;display:table-cell;font-family:Ionicons;font-size:28px;font-style:normal;font-weight:normal;font-variant:normal;line-height:1;padding-right:1rem;right:100%;speak:none;text-align:center;text-rendering:auto;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}header #header_contact h4.phone a:before{color:#222;content:\f2d2;padding:0;transform:rotate(-110deg)}header #header_contact h4.mobile a:before{color:#222;content:\f3a2}header #header_contact h4 a{border:0;color:#1EB797;display:inline-block;font-weight:700;height:28px;overflow:hidden;padding:0;vertical-align:middle;width:18px}header #header_contact h4.phone a{width:22px}header #header_contact h4 span{display:none}header #header_contact h4 strong{display:inline-block;font-size:16px;letter-spacing:.5px}#navigation_can{background:none;bottom:0;height:100%;left:0;line-height:0;margin:0 auto;position:absolute;right:0;text-align:left;top:0;visibility:hidden;width:100%;z-index:10}#navigation{background:#283645;bottom:0;clip:auto!important;display:block;display:flex;height:100%;left:0;margin:0 auto;max-height:100%!important;opacity:0;padding:0;position:fixed!important;right:0;visibility:hidden;width:100%;z-index:10}#navigation>ul{-webkit-overflow-scrolling:touch}#navigation ul{display:flex;flex-direction:column;height:100%;list-style:none;margin:auto;max-width:1080px;overflow-y:auto;padding:2.5rem 2rem;padding-right:5.5rem;width:100%}#navigation li{list-style:none}#nav ul{padding:0}#nav li{display:block;float:none;opacity:0;padding:0;padding:15px 0;transform:translateY(-20px);z-index:1000}#nav>li:nth-child(1){padding-top:0}#navigation a{border:0;color:#FFF;display:table;font-size:24px;font-weight:500;letter-spacing:.5px;line-height:1.5;margin:0;padding:0;position:relative;text-decoration:none}#nav ul{display:block;height:auto;left:0;margin:0;overflow-y:hidden;position:static;top:100%;transform:none;width:100%;-webkit-backface-visibility:hidden}#nav>li>ul{padding-top:15px}#nav ul li{display:inline-block;margin:.75rem 1.25rem;margin-left:0;padding:0;vertical-align:top}#nav ul li:last-child{margin-bottom:0}#nav ul a{color:#FFF;display:table;font-size:16px;font-weight:400;letter-spacing:.5px;line-height:1.3}#nav>li>.nav_drop:before{content:none;display:none}#nav li ul .nav_drop{margin:0}#nav li ul li ul{display:block\9;left:100%;margin:0;top:0}#nav>.nav_placeholder>ul>li>ul{background:none}#nav .nav_placeholder .nav_placeholder{flex-grow:1;margin:0;margin-top:1.5rem;text-align:left;width:100%}#nav .nav_placeholder .nav_placeholder:first-child{border:0;margin-top:.5rem}#nav .nav_placeholder .nav_placeholder>a{color:#444;font-family:Nunito,sans-serif;font-size:20px;font-weight:600;letter-spacing:0;padding:0}#nav .nav_placeholder .nav_placeholder>a{color:#FFF}#banner-wrapper{flex:1 0 auto}.is-wrapper>.is-section:first-child{padding-top:100px}.is-wrapper .is-box:first-child .is-container:only-child{margin:2rem auto}.is-wrapper>div.is-section-75{height:75vh}.is-container{max-width:1080px;padding:0}.is-content-1050{max-width:1080px!important}.is-wrapper .is-box:last-child .is-container{margin:0 auto}.is-wrapper .is-container>.row{justify-content:flex-start}.is-btn{border:0!important;border-radius:5px;font-size:13px;font-weight:600;letter-spacing:.5px;margin-top:1rem;padding:.8rem 1.75rem!important;text-transform:uppercase}.is-light-text .is-btn-ghost2{background:#1EB797;color:#FFF}#content_can{background:#FAFAFA;flex:1 0 auto;padding:0;position:relative}#content_container{display:flex;flex-direction:column;justify-content:center;margin:0 auto;overflow:visible;padding:0;width:100%}article{order:1;width:100%}#scroll{background:#161616;bottom:115px;display:none!important;font-weight:300;height:60px;letter-spacing:1px;opacity:0!important;overflow:hidden;padding:17px 20px;padding-left:45px;right:-60px;width:auto}#scroll:before{color:#666;content:Back to top;display:table;padding-bottom:20px;text-indent:0}#scroll:after{color:#666;content:\f30f;font-family:Ionicons;font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;line-height:.8;margin-top:-8px;position:absolute;right:20px;speak:none;text-indent:0;text-rendering:auto;text-transform:none;top:50%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article>.row>.column,.container>.row>.column{float:left;padding:0 2rem}article>.row>.column{margin:.5rem 0;width:100%}aside{background:#FFF;display:flex;flex-flow:row wrap;justify-content:center;margin:0;order:2;position:relative;text-align:left;width:100%}aside p{margin:0}aside .sidebar_container{border-top:1px solid #EEE;flex:1 0 100%;padding:2rem;position:relative}aside .sidebar_container:first-child{border:0;margin:0}.sidebar_container .sidebar_heading{margin:0 0 1rem}aside .sidebar_container .sidebar_heading h2,aside .sidebar_container .sidebar_heading h4{font-size:24px;line-height:1.1;margin:0;padding:0}aside .sidebar_container .sidebar_content strong{color:#222}aside .sidebar_container .sidebar_content a{border:0;padding:0}aside .sidebar_address .sidebar_content{align-items:flex-end;display:flex;flex-flow:row wrap;vertical-align:bottom}aside .sidebar_address .sidebar_content>p{margin-right:.4rem}aside .sidebar_address .sidebar_content>br~p{flex:1 0 100%;margin:0;margin-top:.25rem}aside .sidebar_address .sidebar_content:nth-child(2) br{content:;flex:1 0 100%}aside .sidebar_address .sidebar_content br:last-child{content:none;display:block}aside .sidebar_links ul{margin:0;padding:0}aside .sidebar_links ul:after{clear:both;content:;display:table}aside .sidebar_links li{float:left;list-style:none;margin-bottom:.5rem;padding:0;width:50%}#content_container aside .sidebar_links a{border:0;color:#0B71E0;display:inline-block;font-size:16px;font-weight:600;padding:0;position:relative}#footer_links li{display:none}#footer_links a{border:0;color:#999;display:inline-block;font-size:16px;font-weight:500;letter-spacing:0;line-height:1.4;margin:0 0 12px;padding:0;position:relative;text-decoration:none}#copy p span{display:inline-block;font-size:16px;font-weight:500;letter-spacing:0;padding-right:.25rem;padding-bottom:5px;text-align:left}#copy span.company{display:none}@media only screen and (min-width:40rem) and (max-width:60rem){#content_container{width:100%}}@media (min-width:40rem){.notification-bar{padding:0 2rem}.notification-bar .container{padding:0 1rem}.notification-bar .notification-contact span:nth-child(n+2){display:inline}.notification-links,.notification-text{display:none}.notification-text{float:none;margin:0}.notification-social{margin-left:0}.notification-bar .notification-social>span:nth-child(-n+4){display:block}article>.row,.container>.row{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}article>.row{padding:1rem 2rem}.container>.row{padding-left:2rem;padding-right:2rem}article>.row>.column{margin:1rem 0}article>.row>.column,.container>.row>.column{padding:0 1rem}article>.row>.full{max-width:840px;width:100%}.container>.row>.half{flex:1 0 50%;max-width:420px;width:100%}#header_can{padding:0 3rem}header{padding:1.5rem 0}header #header_contact{margin-right:4rem}header #header_contact h4{border-left:2px solid #EEE;display:table;padding-left:1rem}header #header_contact h4:first-child{border:0;margin:0;padding:0}header #header_contact h4:before{font-size:34px}header #header_contact h4.phone:before{color:#222;content:\f2d2;padding:0;transform:rotate(-110deg)}header #header_contact h4.mobile:before{color:#222;content:\f3a2}header #header_contact h4:nth-child(n+2){display:none}header #header_contact h4.phone span,header #header_contact h4.phone strong{padding-left:.5rem}header #header_contact h4 span{color:#222;display:block;font-size:14px;font-weight:700;text-align:left}header #header_contact h4class a{height:auto;width:auto}header #header_contact h4 a:before{content:none!important;display:none!important}#navigation>ul{padding:3rem;padding-right:5.5rem}#nav ul li:not(.nav_placeholder){flex-grow:1}#nav ul li:last-child{margin-bottom:.75rem}#nav .nav_placeholder .nav_placeholder{margin-top:.5rem}aside .sidebar_container{padding:3rem}aside .sidebar_address .sidebar_content>br~p{flex:1 0 50%;padding-right:2rem}aside .sidebar_address .sidebar_content>br+p,aside .sidebar_address .sidebar_content>br+p+p{margin-top:1rem}#footer_links li{float:left;width:50%}}@media (min-width:60rem){article>.row{padding:1rem 3rem}.container>.row{padding-left:3rem;padding-right:3rem}article>.row>.column,.container>.row>.column{float:left;padding:0 1.5rem}article>.row>.full{flex:1 0 100%;max-width:1080px;width:100%}.container>.row>.half{flex:1 0 50%;max-width:calc(1080px / 2);width:100%}.notification-bar{padding:0 3rem}.notification-bar .container{padding:0 1.5rem}.notification-links,.notification-text,.notification-address{display:block}.notification-contact{float:right}#header_can{padding:0 3rem}header{padding:1.5rem 1.5rem 3.5rem}header #header_contact{float:none;margin:0;text-align:right}header #header_contact h4:nth-child(n+2){display:table}#navigation_can{bottom:auto;height:auto;max-width:1080px;overflow:visible;padding:0 1.5rem;position:absolute;top:100px;visibility:visible}.notification-bar+div>#navigation_can:not(.off),.notification+div>#navigation_can:not(.off){top:140px}#navigation{border-radius:6px;max-height:none!important;max-width:1080px;opacity:1;position:static!important;text-align:left;visibility:visible}#navigation>ul{display:block;height:auto;margin:0 auto;overflow:visible;padding:0 1.5rem;position:relative;transform:none}#navigation a{font-size:14px;font-weight:600;letter-spacing:.25px;line-height:1.4;padding:1.8rem 0;z-index:1000}#nav>li>ul{background:#FFF;box-shadow:0 5px 10px rgba(0,0,0,.05);left:-1.25rem;opacity:0;overflow:visible;padding:0;position:absolute;text-align:left;top:auto;visibility:hidden;width:auto}#nav li{display:inline-block;opacity:1;margin-left:1.25rem;padding:0;position:relative;transform:none;width:auto}#nav>li:last-child{float:right;margin-right:1.25rem}#nav>li:last-child a{background:#1EB797;border-radius:5px;margin:.75rem 0;padding:1rem 1.25rem}#nav>li:not(.nav_placeholder):not(:last-child)>a:before{position:absolute;bottom:0;left:50%;margin-left:-20px;width:40px;height:3px;background:#FFF;border-radius:2px;content:;opacity:0;transform:scale3d(0,1,1)}#nav ul li{display:block;margin:0;min-width:200px;width:100%}#nav ul li:last-child{margin:0}#nav ul a{color:#555;display:block;font-size:14px;padding:1.1rem 1.25rem}#nav li ul li ul{background:#FAFAFA}#nav li ul li ul a{padding:.75rem 1.25rem}#nav .nav_drop:after{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%22http://www.w3.org/2000/svg%22%20viewBox%220%200%2048%2048%22%20width%227px%22%20preserveAspectRatio%22none%22%3E%3Cpath%20fill%22#FFF%22%20stroke%22#FFF%22%20stroke-width%228%22%20stroke-linecap%22round%22%20stroke-linejoin%22round%22%20d%22M%204%206%20L%2044%206%20L%2024%2037%20z%22%20%2F%3E%3C%2Fsvg%3E);content:;display:inline-block;height:7px;width:7px;content:;margin-top:-2px;margin-left:6px;vertical-align:middle}#nav li ul .nav_drop{padding-right:2.5rem}#nav ul .nav_drop:after{margin:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}#nav>.nav_placeholder{position:static}#nav>.nav_placeholder>ul{border-radius:5px;display:flex;flex-flow:row wrap;left:0;overflow:hidden;padding:0;width:100%}#nav>.nav_placeholder>ul li{flex-grow:1;min-width:auto;text-align:center;width:auto}#nav>.nav_placeholder>ul>.nav_placeholder{border-left:1px solid #EEE;flex:1 0 33%;padding:2rem}#nav>.nav_placeholder>ul>.nav_placeholder:nth-child(n+4){border-top:1px solid #EEE;padding-top:2rem}#nav>.nav_placeholder>ul>.nav_placeholder:nth-child(-n+3){padding-bottom:2rem}#nav>.nav_placeholder>ul li>a{padding:0}#nav>.nav_placeholder>ul>li>a{font-size:16px;padding:2rem}#nav>.nav_placeholder>ul>li>ul{display:flex;flex-flow:row wrap;left:0;padding:1.25rem 0 0;position:relative}#nav>.nav_placeholder>ul>li>ul li{flex:1 0 50%;text-align:left}#nav>.nav_placeholder>ul>li>ul li:nth-child(n+3){padding-top:.75rem}#nav>.nav_placeholder>ul>li>ul a{background:none;color:inherit;display:table;font-size:15px;font-weight:400;padding:0}#nav .nav_placeholder .nav_placeholder{margin:0!important}#nav ul .nav_placeholder{background:none}#nav .nav_placeholder .nav_placeholder>a{color:#444}#nav .nav_placeholder .nav_placeholder>a:after{content:none;display:none}.is-wrapper>.is-section:first-child{padding-top:175px}aside{padding:0 3rem}aside .sidebar_container{border:0;flex:1 0 25%;padding:4rem 1.5rem}div:not(.blog-feed-container)>aside .sidebar_container:first-child:nth-last-child(3),div:not(.blog-feed-container)>aside .sidebar_container:first-child:nth-last-child(3)~div{flex:0 0 33%;max-width:360px}aside .sidebar_links li{margin-right:1rem;width:auto}}#container #navigation { background: white;}#container #nav ul a { color: #333;}#container #header_can .header_logo + h1 + h3 { display: none;}#container #contact_page label:after { display: none;}#container #header_can .header_logo + h1 { display: none;}.bg-box { text-align: center; background: rgb(0 0 0 / 0.75); padding: 1rem;}@media (min-width: 50rem) {#container .is-wrapper > div.is-section-50 { height: 70vh;}}@media (min-width: 960px) {#container #navigation { max-width: 100%; background: white;}body #navigation a {color: #333;text-transform: uppercase;}body .map .embed-responsive iframe {height: 350px; }#container .embed-responsive.embed-responsive-16by9 { padding-bottom: 25%;}#container #header_can .header_logo img { max-width: 290px;}#container #navigation > ul { display: flex; flex-direction: row; justify-content: space-evenly;}#container #nav>li:last-child a { background: transparent;}}body aside, body #footer_can { background: #355baa; margin: 0!important;}body header #header_contact h4 a, article a, body header #header_contact h4 a { color: #355baa;}body aside .sidebar_form label, body aside h2, body aside p, body #footer_can p, body aside a, body aside .sidebar_container .sidebar_content strong { color: #fff;}body aside .sidebar_container {padding-bottom:0;} article p, article li, body #navigation a { font-family: Quicksand, sans-serif;font-size: 18px; color: #333; } article h2, article h3, article h4, body aside h2, body aside .sidebar_form label, header #header_contact h4 span, body aside p { font-family: Poppins, sans-serif;text-shadow: 0.5px 0.5px 0px rgb(34 34 34 / 15%); }body #footer_can p { color: white;} #container #footer_links a { color: white;}body #footer_can {padding-top: 2rem;}body .is-btn-ghost2, body #contact_page button.submit {width: 100%;border-radius: 2px;background: #355baa;color: white;font-family: Quicksand, sans-serif;font-size: 16px;font-weight: 600;transition: 0.5s ease;border: 2px solid #355baa!important;box-shadow: 0.5px 0.5px 0px rgb(34 34 34 / 25%);}body .is-btn-ghost2:hover, body #contact_page button.submit:hover {background: #fff;color: #355baa;}body inputtypesubmit {background: #fff;width: 100%;border-radius: 3px;color: #355baa;font-family: Quicksand, sans-serif;font-size: 16px;font-weight: 600;transition: 0.5s ease;box-shadow: 0.5px 0.5px 0px rgb(34 34 34 / 15%);}.accordion { background-color: #355baa;border: 2px solid #355baa!important; color: white; cursor: pointer; padding: 18px; width: 100%; border: none; text-align: left; outline: none; font-size: 20px; font-family: Poppins, sans-serif; transition: 0.4s;}.accordion.active, .accordion:hover { background-color: #eee; color: #355baa;border: 2px solid #355baa!important;}.panel { padding: 0 1rem; display: none; background-color: white; overflow: hidden;border: 2px solid #355baa;border-top: none;}.blog-section #news_feed .article_img img{ object-fit: cover; min-height: 17rem; max-height: 25rem; object-position: 50% 50%;}@media(min-width: 60rem) {#banner-wrapper { margin-top: 132px;}}@media (max-width: 500px) { body .row img.prightimage{ width: 100% !important; height: 50vw !important; object-fit: cover;}}body .row .prightimage { width: 40%; height: auto; float: right; margin-left: 2rem; min-width: 17rem; object-fit: contain; margin-top: 1rem; margin-bottom: 1rem;}aside{display:none !important}/style>style>#notification-bottom{background:#EEE;bottom:0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:500;left:0;padding: 1rem 1.5rem; position:fixed;right:0;z-index:99999999;border-top: 2px solid #DADADA;}#notification-bottom p{color:#666;font-size:13px;flex-grow:1;margin:0;font-weight:400;}#notification-bottom p a{color:#0069ca;}#notification-bottom>a{border:0;color:#0069ca;cursor:pointer;font-size:22px;font-weight:600;margin-left:1rem}/style>link hrefhttps://fonts.googleapis.com/css?familyNunito:400,600,700,800 relstylesheet>link hrefhttps://fonts.googleapis.com/css2?familyPoppins:wght@500&familyQuicksand:wght@400;600&displayswap relstylesheet> script typeapplication/ld+json> { @context: http://schema.org, @type: LocalBusiness, name : David Rudge Associates, telephone : 01889 504 219, address : { @type : PostalAddress, streetAddress : Green Farm Cottage, The Green, Hamstall Ridware, Rugeley, addressRegion : Staffordshire, addressCountry : United Kingdom, postalCode : WS15 3RP }, logo: https://www.easysites.uk/filestore/editor/8933744578/logo.png, image: https://www.easysites.uk/filestore/editor/8933744578/templateschemarudge.jpg, url : https://www.davidrudgeassociates.com/ ,openingHoursSpecification: { @type: OpeningHoursSpecification, dayOfWeek: Monday , opens: 9:00, closes: 17:00 },{ @type: OpeningHoursSpecification, dayOfWeek: Tuesday , opens: 9:00, closes: 17:00 },{ @type: OpeningHoursSpecification, dayOfWeek: Wednesday , opens: 9:00, closes: 17:00 },{ @type: OpeningHoursSpecification, dayOfWeek: Thursday , opens: 9:00, closes: 17:00 },{ @type: OpeningHoursSpecification, dayOfWeek: Friday , opens: 9:00, closes: 17:00 },{ @type: OpeningHoursSpecification, dayOfWeek: Saturday , opens: 00:00, closes: 00:00 },{ @type: OpeningHoursSpecification, dayOfWeek: Sunday , opens: 00:00, closes: 00:00 } } /script> /head>body classun23585 body-index> div idcontainer> div idheader_can> header> a href/ classheader_logo titleHome>img altDavid Rudge Associates srchttps://www.easysites.uk/filestore/editor/8933744578/logo.png>/a>h1>David Rudge Associates/h1>h3>Chartered Architects in Staffordshire/h3> div idheader_contact> h4 classphone>span>Phone Number:/span> strong>a classphone-call hreftel:01889504219>01889 504 219/a>/strong>/h4> /div> /header> /div> div idnavigation_can> div idnavigation> ul idnav> li>a classactive btn_ titleHome target_self href/>Home/a>/li>li>a classbtn_ titleAbout Us target_self href//www.davidrudgeassociates.com/architectural-consultancy>About Us/a>/li>li>a titleServices classnav_drop btn_ target_self href//www.davidrudgeassociates.com/architectural-services>Services/a>ul>li>a classbtn_ titleExtensions target_self href//www.davidrudgeassociates.com/home-extensions>Extensions/a>/li>li>a classbtn_ titleRenovation and Refurbishment target_self href//www.davidrudgeassociates.com/property-renovation>Renovation and Refurbishment/a>/li>li>a classbtn_ titleNew Builds target_self href//www.davidrudgeassociates.com/new-build-architects>New Builds/a>/li>li>a classbtn_ titleListed Buildings target_self href//www.davidrudgeassociates.com/listed-buildings-renovation-and-repairs>Listed Buildings/a>/li>/ul>/li>li>a classbtn_ titleGallery target_self href//www.davidrudgeassociates.com/architectural-projects>Gallery/a>/li>li classnav_placeholder>a titleMore Info classnav_drop btn_>More Info/a>ul>li>a classbtn_ titleBlog target_self href//www.davidrudgeassociates.com/blog>Blog/a>/li>/ul>/li>li>a classbtn_ titleContact target_self href//www.davidrudgeassociates.com/contact-us>Contact/a>/li>/ul> /div> /div> div idbanner-wrapper>div classis-wrapper>div classis-section is-box is-align-left is-bg-grey is-light-text is-section-30> div classis-overlay> div classis-overlay-content content-selectable data-moduleslider data-module-descSlider data-html%3Cdiv%20id%3D%22ohzfznw%22%20class%3D%22slider-on-box%22%20style%3D%22width%3A100%25%3Bheight%3A100%25%3Bdisplay%3Anone%3B%22%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('https%3A%2F%2Fwww.easysites.uk%2Ffilestore%2Feditor%2F8933744578%2Fkitchen-with-black-granite-isl-7092079083216.jpg')%3B%22%3E%3Cdiv%20class%3D%22is-box-centered%20is-content-bottom%20slider-content%22%20style%3D%22vertical-align%3Abottom%3B%22%3E%3Cdiv%20class%3D%22is-container%22%20style%3D%22margin-left%3Aauto%3Bmargin-right%3Aauto%3B%22%3E%20%20%3Cdiv%20class%3D%22bg-box%22%3E%3Ch1%3EChartered%20Architect%20Services%0A%09%09%3Cbr%3E%20%0A%09%09%3Cspan%20style%3D%22font-size%3A%2020px%3B%22%3ERugeley%2C%20Staffordshire%3C%2Fspan%3E%0A%09%3C%2Fh1%3E%3C%2Fdiv%3E%0A%3C%2Fdiv%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('https%3A%2F%2Fwww.easysites.uk%2Ffilestore%2Feditor%2F8933744578%2Foutsite-co-r-lk3sqlibw-unsplash083232.jpg')%3B%22%3E%3Cdiv%20class%3D%22is-box-centered%20is-content-bottom%20slider-content%22%20style%3D%22vertical-align%3Abottom%3B%22%3E%3Cdiv%20class%3D%22is-container%22%20style%3D%22margin-left%3Aauto%3Bmargin-right%3Aauto%3B%22%3E%20%20%3Cdiv%20class%3D%22bg-box%22%3E%3Cp%20style%3D%20%22font-family%3A%20'Nunito'%2C%20sans-serif%3B%0Afont-size%3A%2038px%3B%0Aline-height%3A%201.2%3B%0Apadding%3A%200%200%201rem%3B%0Afont-weight%3A%20600%3B%0Aletter-spacing%3A%201px%3B%22%3EArchitectural%20Consultancy%0A%09%09%3Cbr%3E%20%0A%09%09%3Cspan%20style%3D%22font-size%3A%2020px%3B%22%3EStafford%2C%20Cannock%2C%20Staffordshire%3C%2Fspan%3E%20%3Cp%3E%3C%2Fdiv%3E%0A%0A%3C%2Fdiv%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('https%3A%2F%2Fwww.easysites.uk%2Ffilestore%2Feditor%2F8933744578%2Fpexels-naim-benjelloun-2030037084642.jpg')%3B%22%3E%3Cdiv%20class%3D%22is-box-centered%20is-content-bottom%20slider-content%22%20style%3D%22vertical-align%3Abottom%3B%22%3E%3Cdiv%20class%3D%22is-container%22%20style%3D%22margin-left%3Aauto%3Bmargin-right%3Aauto%3B%22%3E%20%20%20%3Cdiv%20class%3D%22bg-box%22%3E%3Cp%20style%3D%20%22font-family%3A%20'Nunito'%2C%20sans-serif%3B%0Afont-size%3A%2038px%3B%0Aline-height%3A%201.2%3B%0Apadding%3A%200%200%201rem%3B%0Afont-weight%3A%20600%3B%0Aletter-spacing%3A%201px%3B%22%3EArchitectural%20Project%20Management%0A%09%09%3Cbr%3E%20%0A%09%09%3Cspan%20style%3D%22font-size%3A%2020px%3B%22%3EWolverhampton%2C%20Uttoxeter%2C%20Tamworth%3C%2Fspan%3E%20%3Cp%3E%3C%2Fdiv%3E%0A%0A%3C%2Fdiv%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cscript%3E%0Avar%20docReady%3Dfunction(fn)%7Bvar%20stateCheck%3DsetInterval(function%20()%7Bif(document.readyState!%3D%3D%22complete%22)return%3BclearInterval(stateCheck)%3Btry%7Bfn()%7Dcatch(e)%7B%7D%7D%2C1)%3B%7D%3B%0AdocReady(function()%20%7B%0AjQuery(%22%23ohzfznw%22).css(%22display%22%2C%22block%22)%3B%0AjQuery(%22%23ohzfznw%22).slick(%7B%0Adots%3A%20true%2Carrows%3A%20false%2Cinfinite%3A%20true%2Cspeed%3A%20500%2CcssEase%3A%20%22linear%22%2CslidesToShow%3A%201%2Cautoplay%3A%20true%2CautoplaySpeed%3A%2015000%2Cfade%3A%20true%2CadaptiveHeight%3A%20true%2Cresponsive%3A%20%5B%7Bbreakpoint%3A%20480%2Csettings%3A%20%7Barrows%3A%20false%2CslidesToShow%3A%201%7D%7D%5D%0A%7D)%3B%0A%7D)%3B%0A%3C%2Fscript%3E data-settings%5B%7B%22auto%22%3Atrue%2C%22arrow%22%3Afalse%2C%22dots%22%3Atrue%2C%22fade%22%3Atrue%2C%22height%22%3A%22100%25%22%2C%22images%22%3A%5B%7B%22src%22%3A%20%22https%3A%2F%2Fwww.easysites.uk%2Ffilestore%2Feditor%2F8933744578%2Fkitchen-with-black-granite-isl-7092079083216.jpg%22%2C%20%22caption%22%3A%20%22%2520%2520%253Cdiv%2520class%253D%2522bg-box%2522%253E%253Ch1%253EChartered%2520Architect%2520Services%250A%2509%2509%253Cbr%253E%2520%250A%2509%2509%253Cspan%2520style%253D%2522font-size%253A%252020px%253B%2522%253ERugeley%252C%2520Staffordshire%253C%252Fspan%253E%250A%2509%253C%252Fh1%253E%253C%252Fdiv%253E%250A%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20center%22%7D%2C%7B%22src%22%3A%20%22https%3A%2F%2Fwww.easysites.uk%2Ffilestore%2Feditor%2F8933744578%2Foutsite-co-r-lk3sqlibw-unsplash083232.jpg%22%2C%20%22caption%22%3A%20%22%2520%2520%253Cdiv%2520class%253D%2522bg-box%2522%253E%253Cp%2520style%253D%2520%2522font-family%253A%2520'Nunito'%252C%2520sans-serif%253B%250Afont-size%253A%252038px%253B%250Aline-height%253A%25201.2%253B%250Apadding%253A%25200%25200%25201rem%253B%250Afont-weight%253A%2520600%253B%250Aletter-spacing%253A%25201px%253B%2522%253EArchitectural%2520Consultancy%250A%2509%2509%253Cbr%253E%2520%250A%2509%2509%253Cspan%2520style%253D%2522font-size%253A%252020px%253B%2522%253EStafford%252C%2520Cannock%252C%2520Staffordshire%253C%252Fspan%253E%2520%253Cp%253E%253C%252Fdiv%253E%250A%250A%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20center%22%7D%2C%7B%22src%22%3A%20%22https%3A%2F%2Fwww.easysites.uk%2Ffilestore%2Feditor%2F8933744578%2Fpexels-naim-benjelloun-2030037084642.jpg%22%2C%20%22caption%22%3A%20%22%2520%2520%2520%253Cdiv%2520class%253D%2522bg-box%2522%253E%253Cp%2520style%253D%2520%2522font-family%253A%2520'Nunito'%252C%2520sans-serif%253B%250Afont-size%253A%252038px%253B%250Aline-height%253A%25201.2%253B%250Apadding%253A%25200%25200%25201rem%253B%250Afont-weight%253A%2520600%253B%250Aletter-spacing%253A%25201px%253B%2522%253EArchitectural%2520Project%2520Management%250A%2509%2509%253Cbr%253E%2520%250A%2509%2509%253Cspan%2520style%253D%2522font-size%253A%252020px%253B%2522%253EWolverhampton%252C%2520Uttoxeter%252C%2520Tamworth%253C%252Fspan%253E%2520%253Cp%253E%253C%252Fdiv%253E%250A%250A%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20center%22%7D%5D%7D%5D data-module-active1>div idohzfznw classslider-on-box stylewidth:100%;height:100%;display:none;>div classis-boxes slider-image stylebackground-image: url('https://www.easysites.uk/filestore/editor/8933744578/kitchen-with-black-granite-isl-7092079083216.jpg');>div classis-box-centered is-content-bottom slider-content stylevertical-align:bottom;>div classis-container stylemargin-left:auto;margin-right:auto;> div classbg-box>h1>Chartered Architect Services br> span stylefont-size: 20px;>Rugeley, Staffordshire/span> /h1>/div>/div>/div>/div>div classis-boxes slider-image stylebackground-image: url('https://www.easysites.uk/filestore/editor/8933744578/outsite-co-r-lk3sqlibw-unsplash083232.jpg');>div classis-box-centered is-content-bottom slider-content stylevertical-align:bottom;>div classis-container stylemargin-left:auto;margin-right:auto;> div classbg-box>p style font-family: 'Nunito', sans-serif;font-size: 38px;line-height: 1.2;padding: 0 0 1rem;font-weight: 600;letter-spacing: 1px;>Architectural Consultancy br> span stylefont-size: 20px;>Stafford, Cannock, Staffordshire/span> p>/div>/div>/div>/div>div classis-boxes slider-image stylebackground-image: url('https://www.easysites.uk/filestore/editor/8933744578/pexels-naim-benjelloun-2030037084642.jpg');>div classis-box-centered is-content-bottom slider-content stylevertical-align:bottom;>div classis-container stylemargin-left:auto;margin-right:auto;> div classbg-box>p style font-family: 'Nunito', sans-serif;font-size: 38px;line-height: 1.2;padding: 0 0 1rem;font-weight: 600;letter-spacing: 1px;>Architectural Project Management br> span stylefont-size: 20px;>Wolverhampton, Uttoxeter, Tamworth/span> p>/div>/div>/div>/div>/div>script>var docReadyfunction(fn){var stateChecksetInterval(function (){if(document.readyState!complete)return;clearInterval(stateCheck);try{fn()}catch(e){}},1);};docReady(function() {jQuery(#ohzfznw).css(display,block);jQuery(#ohzfznw).slick({dots: true,arrows: false,infinite: true,speed: 500,cssEase: linear,slidesToShow: 1,autoplay: true,autoplaySpeed: 15000,fade: true,adaptiveHeight: true,responsive: {breakpoint: 480,settings: {arrows: false,slidesToShow: 1}}});});/script>/div> /div> div classis-boxes> div classis-box-centered is-content-bottom> div classis-container is-builder is-content-640 container empty idcontentareaYXDGjwN> /div> /div> /div>/div> /div> /div> div idcontent_can> div idcontent_container>aside>div classsidebar_container sidebar_address>div classsidebar_heading>h2>Contact Details/h2>/div>div classsidebar_content>p>strong>Address:/strong>br/>Green Farm Cottage/p>p>The Green/p>p>Hamstall Ridware/p>p>Rugeley/p>p>Staffordshire/p>p>WS15 3RP/p>br/>p>strong>Phone/strong>: a classphone-call hreftel:01889504219>01889 504 219/a>/p>/div>/div>div classsidebar_container sidebar_html>div classsidebar_content>img srchttps://www.easysites.uk/filestore/editor/8933744578/arb_white_square.png alt stylewidth:75%> img srchttps://www.easysites.uk/filestore/editor/8933744578/riba-logowhite.png alt stylewidth:75%>/div>img srchttps://www.easysites.uk/filestore/editor/8933744578/logo-houzz-white.png alt stylewidth:75%>/div>/aside>article>div classrow clearfix> div classcolumn full> h2>RIBA Architects/h2> p stylefont-size: 20px; data-keep-font-size>Are you looking for chartered architect services in Staffordshire? We are a leading architectural consultancy offering our expertise across Staffordshire and beyond. /p> p stylefont-size: 20px; data-keep-font-size>We offer a complete range of Architect Services including consultancy, design services and project management./p> /div>/div>div classrow clearfix> div classcolumn full> h3>Architectural Consultancy and experienced chartered architects based in Staffordshire /h3> p>We are a leading architectural consultancy offering our expertise across Staffordshire and beyond; our work takes us to wherever an interesting project can be found. /p> p>Established for almost thirty years and with an extra twenty years of design and contract experience with a number of private practices, local authorities, and industries, we can offer the perfect solution to your architectural requirements./p> p>As a team, our architects have the skills, experience and expertise required to work within or on behalf of any industry across Staffordshire and beyond. /p> p>We have also undertaken substantial renovations and refurbishments of listed buildings throughout Staffordshire. In fact, our own offices are based in a peaceful 19th-century blacksmith's forge which has since been renovated to a very high standard./p> p>We are located within easy reach of major road links and the rest of the West Midlands. So, whether you require our architectural consultancy service where we can tailor a package to your needs. /p> p>With our design skills, or our project management expertise, we can help you to achieve exactly what you want from your renovation, new build or conservation project. Why not call us today?/p> /div>/div>div classrow clearfix> div classcolumn third> div> a href/home-extensions styledisplay: inline-block; text-decoration: none; transition: all 0.16s ease 0s; border-style: solid; cursor: pointer; background-color: rgb(220, 220, 220); color: rgb(0, 0, 0); border-color: rgb(220, 220, 220); border-width: 2px; border-radius: 0px; padding: 13px 28px; line-height: 1.5; text-transform: uppercase; font-weight: 400; font-size: 14px; letter-spacing: 3px; text-align: center; titleHome Extensions Architect Rugeley, Stafford, Wolverhampton, Stoke on Trent, Staffordshire>Home Extensions Architect/a> /div> /div> div classcolumn third> div> a href/property-renovation styledisplay: inline-block; text-decoration: none; transition: all 0.16s ease 0s; border-style: solid; cursor: pointer; background-color: rgb(220, 220, 220); color: rgb(0, 0, 0); border-color: rgb(220, 220, 220); border-width: 2px; border-radius: 0px; padding: 13px 28px; line-height: 1.5; text-transform: uppercase; font-weight: 400; font-size: 14px; letter-spacing: 3px; text-align: center; titleProperty Renovation Architects Rugeley, Stafford, Wolverhampton, Stoke on Trent, Staffordshire>Property Renovation Architects/a> /div> /div> div classcolumn third> div> a href/new-build-architects styledisplay: inline-block; text-decoration: none; transition: all 0.16s ease 0s; border-style: solid; cursor: pointer; background-color: rgb(220, 220, 220); color: rgb(0, 0, 0); border-color: rgb(220, 220, 220); border-width: 2px; border-radius: 0px; padding: 13px 28px; line-height: 1.5; text-transform: uppercase; font-weight: 400; font-size: 14px; letter-spacing: 3px; text-align: center; titleNew Build Architects Rugeley, Stafford, Wolverhampton, Stoke on Trent, Staffordshire>New Build Architects/a> /div> /div>/div>div classrow clearfix> div classcolumn third> img srchttps://www.easysites.uk/filestore/editor/8933744578/-lepm40.png alt> /div> div classcolumn third> img srchttps://www.easysites.uk/filestore/editor/8933744578/-nk9duv.png alt> /div> div classcolumn third> img srchttps://www.easysites.uk/filestore/editor/8933744578/home-design(4).jpg alt> /div>/div>div classrow clearfix style padding-top: 3rem; align-items: start;> div classcolumn third> h2>Why us? /h2> /div> div classcolumn two-third> p>All services provided by David Rudge Associates are delivered in-house by experienced architects who invite you to take full advantage of their expertise. We are passionate about what we do and take immense pride in our work. /p> p>It is our aim to maximise the potential of your property, taking space allocation into account and achieving an outstanding finish./p> p>Our architectural consultancy services are available for very competitive rates and could begin with something as simple as some free, impartial advice./p> p>If you are based in Staffordshire or the surrounding areas of the West Midlands and would like to find out more about how we could be of service to you, or if you would like to meet for an informal discussion, why not give the team at David Rudge Associates a call today? /p> /div>/div>div classrow clearfix> div classcolumn half stylepadding-right: 1rem; padding-left: 0;> button classaccordion> i classicon ion-help-circled>/i> Why use a Chartered Architect? /button> div classpanel> p>It is so important to use a chartered architect, as they have been fully trained and qualified in every aspect of the architecture industry. This means they can help you through the entire project, and ensure everything is done to a high standard. They are also usually a part of the RIBA membership, which is the Royal Institute of British Architects, which means they have been trained to the highest standards. Chartered Architects are very professional, and know the ins and outs of their jobs./p> p>They are completely dedicated to their customers and will do everything they can to ensure the project runs as smoothly as possible. This includes project management, problems with the construction work, advice on which materials and measurements would work best, and much more! It is essential to find an architect that is efficient, reliable and trustworthy, so you feel confident that you will get the results you wished for. To find out more information about our chartered architect service, please get in touch with us by giving us a call./p> /div> /div> div classcolumn half stylepadding: 0;padding-left: 1rem;> button classaccordion> i classicon ion-help-circled>/i> What is an Architectural Consultant? /button> div classpanel> p>An architectural consultant is someone who runs their own, or works for a professional architectural company. They will take on the entire project, including the initial designs. This means listening to precisely what you want to achieve and help you in every way, meaning planning permission, measurements, materials, drawing the plans, costs and affordability, budgets, hiring professional workers and much more./p> p>The process is called a consultation, which is the meeting between the architect and the client. The architect must be a trained professional with a lot of experience and knowledge in the industry. They must also be trustworthy and reliable, with a large customer base, a wide variety of architectural services and excellent reviews./p> /div> /div>/div>div classrow clearfix> div classcolumn full map> div classembed-responsive embed-responsive-16by9 stylemargin-top: 0;> iframe srchttps://www.google.com/maps/embed?pb!1m14!1m8!1m3!1d308969.536669058!2d-1.8586922405035424!3d52.7714390952957!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x25ba9b620aa6693d!2sDavid%20Rudge%20Associates!5e0!3m2!1sen!2suk!4v1603987396489!5m2!1sen!2suk styleborder:0; allowfullscreen aria-hiddenfalse tabindex0 width1920 height350 frameborder0>/iframe> /div> /div>/div>div classrow clearfix> div classcolumn full> h3 stylepadding-bottom: 0px;>Get In Touch/h3> p> If you would like to find out more information about our excellent architectural consultation service, here at David Rudge Associates, then please don't hesitate to get in touch with us today. /p> p>You can do this by giving us a call on a classphone-call hreftel:01889504219>01889 504 219/a> or by sending us an email, and we'll be happy to provide you with the help and advice you require. /p> p>Do require chartered architects in Staffordshire and the surrounding areas? We offer our services throughout the Midlands including the following areas. br> /p> /div>/div>div classrow clearfix> div classcolumn fourth> ul stylelist-style: initial;padding-left: 20px;> li>Rugeley/li> li>Stafford/li> li>Cannock/li> li>Sutton Coldfield/li> /ul> /div> div classcolumn fourth> ul stylelist-style: initial;padding-left: 20px;> li>Wolverhampton/li> li>Walsall/li> li>Uttoxeter/li> li>Telford/li> /ul> /div> div classcolumn fourth> ul stylelist-style: initial;padding-left: 20px;> li>Lichfield/li> li>Tamworth/li> li>Birmingham/li> li>Nuneaton/li> /ul> /div> div classcolumn fourth> ul stylelist-style: initial;padding-left: 20px;> li>Stoke on Trent/li> li>Burton Upon Trent/li> li>Derby/li> li>Leicester/li> /ul> /div>/div>div classrow clearfix> div classcolumn two-third stylepadding: 2rem;border-radius: 3px;box-shadow: 0 0 5px #efefef; background: white;> form actionhttps://www.easysites.uk/websites/contact/contactv5.php methodpost>input typehidden nameauth value893374457889307105679584821>div idcontact_page> fieldset> ol> li> label forfull_name>Full Name:/label> input namefirst_name typetext idfull_name placeholderFull Name value required> /li> li> label foremail_address>E-mail Address:/label> input placeholdername@domain.com nameemail_address typeemail idemail_address value required> span classform_hint>Proper format name@domain.com/span> /li> li> label forphone_number>Phone Number:/label> input namephone_number typetel placeholder01253 000000 idphone_number value> /li> li> label forenquiry>Enquiry:/label> textarea classtextarea nameenquiry idenquiry cols120 rows40 required>/textarea> /li>li>label classcontact_available> Please leave this field blank input nameavailable_check placeholderavailable_check typetext idavailable_check value>/label>/li>/ol> div idbutton>button classsubmit typesubmit>Submit Form/button>/div> /fieldset> /div>/form> /form>/div> div classcolumn third> div classlist styledisplay: flex; align-items: baseline;> i classicon ion-ios-location size-32 stylecolor: rgb(0, 0, 0);>/i> p>Green Farm Cottage, br>The Green, br>Hamstall Ridware, br>Staffordshire, br>WS15 3RP /p> /div> div classlist styledisplay: flex; align-items: baseline;> i classicon ion-ios-telephone size-32 stylecolor: rgb(0, 0, 0);>/i> p>a classphone-call hreftel:01889504219>01889 504 219/a>/p> /div> div classlist styledisplay: flex; align-items: baseline;> i classicon ion-ios-email size-32 stylecolor: rgb(0, 0, 0);>/i> p>a href/contact-us titleContact us>davidrudgeassoc@msn.com/a> br> br> /p> /div> div classcolumn half> img srchttps://www.easysites.uk/filestore/editor/8933744578/arb_white_squarecopy.png alt> /div> div classcolumn half> img srchttps://www.easysites.uk/filestore/editor/8933744578/unnamed.png alt> /div> /div> /div>div styleclear:both;>/div>/article> /div> /div> div idfooter_can> footer> div idfooter_links> ul> li>a titleHome target_self href/>Home/a>/li>li>a classbtn_ titleAbout Us target_self href//www.davidrudgeassociates.com/architectural-consultancy>About Us/a>/li>li>a classbtn_ titleExtensions target_self href//www.davidrudgeassociates.com/home-extensions>Extensions/a>/li>li>a classbtn_ titleRenovation and Refurbishment target_self href//www.davidrudgeassociates.com/property-renovation>Renovation and Refurbishment/a>/li>li>a classbtn_ titleNew Builds target_self href//www.davidrudgeassociates.com/new-build-architects>New Builds/a>/li>li>a classbtn_ titleListed Buildings target_self href//www.davidrudgeassociates.com/listed-buildings-renovation-and-repairs>Listed Buildings/a>/li>li>a classbtn_ titleGallery target_self href//www.davidrudgeassociates.com/architectural-projects>Gallery/a>/li>li>a classbtn_ titleBlog target_self href//www.davidrudgeassociates.com/blog>Blog/a>/li>li>a classbtn_ titleContact target_self href//www.davidrudgeassociates.com/contact-us>Contact/a>/li> li>a href/privacy-policy titlePrivacy Policy>Privacy Policy/a>/li>li>a href/cookie-policy titleCookie Policy>Cookie Policy/a>/li>li>a href/terms-and-conditions titleTerms and Conditions>Terms and Conditions/a>/li> li>a href/sitemap titlesitemap>Sitemap/a>/li> /ul> /div> div idcopy> p> span classcopyright>Copyright © 2024 /span> span classcompany> David Rudge Associates /span> /p> /div> /footer> /div> script> var responsiveNav (function(E, y) { var K !!E.getComputedStyle; if (!E.getComputedStyle) { E.getComputedStyle function(a) { this.el a; this.getPropertyValue function(b) { var c /(\-(a-z){1})/g; if (b float) { b styleFloat } if (c.test(b)) { b b.replace(c, function() { return arguments2.toUpperCase() }) } return a.currentStyleb ? a.currentStyleb : null }; return this } } var F, A, H, J y.documentElement, I y.getElementsByTagName(head)0, t y.createElement(style), u false, x function(b, d, c, e) { if (addEventListener in b) { try { b.addEventListener(d, c, e) } catch (a) { if (typeof c object && c.handleEvent) { b.addEventListener(d, function(f) { c.handleEvent.call(c, f) }, e) } else { throw a } } } else { if (attachEvent in b) { if (typeof c object && c.handleEvent) { b.attachEvent(on + d, function() { c.handleEvent.call(c) }) } else { b.attachEvent(on + d, c) } } } }, w function(b, d, c, e) { if (removeEventListener in b) { try { b.removeEventListener(d, c, e) } catch (a) { if (typeof c object && c.handleEvent) { b.removeEventListener(d, function(f) { c.handleEvent.call(c, f) }, e) } else { throw a } } } else { if (detachEvent in b) { if (typeof c object && c.handleEvent) { b.detachEvent(on + d, function() { c.handleEvent.call(c) }) } else { b.detachEvent(on + d, c) } } } }, G function(a) { var b a.firstChild; while (b ! null && b.nodeType ! 1) { b b.nextSibling } return b }, v function(a, c) { for (var b in c) { a.setAttribute(b, cb) } }, C function(a, b) { a.className + + b; a.className a.className.replace(/(^\s*)|(\s*$)/g, ) }, z function(a, c) { var b new RegExp((\\s|^) + c + (\\s|$)); a.className a.className.replace(b, ).replace(/(^\s*)|(\s*$)/g, ) }, B function(a, c) { var b; this.options { animate: true, transition: 400, label: Navigation, insert: after, customToggle: , openPos: relative, jsClass: js, init: function() {}, open: function() {}, close: function() {} }; for (b in c) { this.optionsb cb } C(J, this.options.jsClass); this.wrapperEl a.replace(#, ); if (y.getElementById(this.wrapperEl)) { this.wrapper y.getElementById(this.wrapperEl) } else { throw new Error(The nav element you are trying to select doesnt exist) } this.wrapper.inner G(this.wrapper); A this.options; F this.wrapper; this._init(this) }; B.prototype { destroy: function() { this._removeStyles(); z(F, closed); z(F, opened); F.removeAttribute(style); F.removeAttribute(aria-hidden); F null; L null; w(E, load, this, false); w(E, resize, this, false); w(H, mousedown, this, false); w(H, touchstart, this, false); w(H, touchend, this, false); w(H, keyup, this, false); w(H, click, this, false); if (!A.customToggle) { H.parentNode.removeChild(H) } else { H.removeAttribute(aria-hidden) } }, toggle: function() { if (!u) { z(F, closed); C(F, opened); F.style.position A.openPos; v(F, { aria-hidden: false }); u true; A.open() } else { z(F, opened); C(F, closed); v(F, { aria-hidden: true }); if (A.animate) { setTimeout(function() { F.style.position absolute }, A.transition + 10) } else { F.style.position absolute } u false; A.close() } }, handleEvent: function(a) { var b a || E.event; switch (b.type) { case mousedown: this._onmousedown(b); break; case touchstart: this._ontouchstart(b); break; case touchend: this._ontouchend(b); break; case keyup: this._onkeyup(b); break; case click: this._onclick(b); break; case load: this._transitions(b); this._resize(b); break; case resize: this._resize(b); break } }, _init: function() { C(F, closed); this._createToggle(); x(E, load, this, false); x(E, resize, this, false); x(H, mousedown, this, false); x(H, touchstart, this, false); x(H, touchend, this, false); x(H, keyup, this, false); x(H, click, this, false) }, _createStyles: function() { if (!t.parentNode) { I.appendChild(t) } }, _removeStyles: function() { if (t.parentNode) { t.parentNode.removeChild(t) } }, _createToggle: function() { if (!A.customToggle) { var a y.createElement(a); a.innerHTML A.label; v(a, { href: #, id: nav-toggle }); if (A.insert after) { F.parentNode.insertBefore(a, F.nextSibling) } else { F.parentNode.insertBefore(a, F) } H y.getElementById(nav-toggle) } else { var b A.customToggle.replace(#, ); if (y.getElementById(b)) { H y.getElementById(b) } else { throw new Error(The custom nav toggle you are trying to select doesnt exist) } } }, _preventDefault: function(a) { if (a.preventDefault) { a.preventDefault(); a.stopPropagation() } else { a.returnValue false } }, _onmousedown: function(a) { var b a || E.event; if (!(b.which 3 || b.button 2)) { this._preventDefault(a); this.toggle(a) } }, _ontouchstart: function(a) { H.onmousedown null; this._preventDefault(a); this.toggle(a) }, _ontouchend: function() { var a this; F.addEventListener(click, a._preventDefault, true); setTimeout(function() { F.removeEventListener(click, a._preventDefault, true) }, A.transition) }, _onkeyup: function(a) { var b a || E.event; if (b.keyCode 13) { this.toggle(a) } }, _onclick: function(a) { this._preventDefault(a) }, _transitions: function() { if (A.animate) { var b F.style, a max-height + A.transition + ms; b.WebkitTransition a; b.MozTransition a; b.OTransition a; b.transition a } }, _calcHeight: function() { var a F.inner.offsetHeight, b # + this.wrapperEl + .opened{max-height: + a + px}; if (K) { t.innerHTML b; b } }, _resize: function() { if (E.getComputedStyle(H, null).getPropertyValue(display) ! none) { v(H, { aria-hidden: false }); if (F.className.match(/(^|\s)closed(\s|$)/)) { v(F, { aria-hidden: true }); F.style.position absolute } this._createStyles(); this._calcHeight() } else { v(H, { aria-hidden: true }); v(F, { aria-hidden: false }); F.style.position A.openPos; this._removeStyles() } A.init() } }; var L; function D(a, b) { if (!L) { L new B(a, b) } return L } return D })(window, document); /script> !--if lte IE 9>script srchttps://s3-eu-west-1.amazonaws.com/easysites/responsive/responsiveIE-min.js>/script>script srchttps://s3-eu-west-1.amazonaws.com/easysites/ie/ieFix-min.js>/script>!endif--> script> var navigation responsiveNav(#navigation); (function() { function getScript(url, success) { var script document.createElement(script); script.src url; var head document.getElementsByTagName(head)0, done false; script.onload script.onreadystatechange function() { if (!done && (!this.readyState || this.readyState loaded || this.readyState complete)) { done true; success(); script.onload script.onreadystatechange null; head.removeChild(script); } }; head.appendChild(script); } getScript(https://www.easysites.uk/websites/js/masterSeven.js, function() { getScript(https://www.easysites.uk/websites/themes/17/theme.js, function() { var referrer document.referrer; var pathname window.location.pathname; var url window.location.href; var useragent navigator.userAgent; var browserid 9876750; var isMobile false; if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|501-6i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez(4-70|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-a-w)|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n100-2|n202-3|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-(1-8|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-2-7|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|50-3|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0, 4))) isMobile true; var userIP 000; var adwords false; var both referrer + § + pathname + § + url + § + useragent + § + userIP + § + isMobile + § + browserid + § + adwords; var dataString data + both; $.ajax({ type: POST, url: /statistics/theCollectorv2.php, data: dataString, cache: false, success: function(data) {} }); $(.phone-call).on(click, function(e) { var browserid 9876750; var dataString data + browserid; $.ajax({ type: POST, url: /statistics/callCollector.php, data: dataString, cache: false, success: function(data) {} }); }); window.onbeforeunload function(event) { xmlhttp new XMLHttpRequest(); xmlhttp.open(POST, /statistics/theCollectorv2.php, true); xmlhttp.setRequestHeader(Content-type, application/x-www-form-urlencoded); var timeSpentOnPage TimeMe.getTimeOnCurrentPageInSeconds(); var currentPage TimeMe.currentPageName; var task pageTime; var browserid 9876750; var send task + | + browserid + | + currentPage + | + timeSpentOnPage; xmlhttp.send(send); }; function applyAnimation(i) { var e 0; i.find(.is-animated).each(function() { done ! $(this).data(animated) && (e > 0 && $(this).css(animation-delay, e + s), e + .2, $(this).removeClass(fadeOut), $(this).hasClass(is-pulse) && $(this).addClass(pulse), $(this).hasClass(is-bounceIn) && $(this).addClass(bounceIn), $(this).hasClass(is-fadeIn) && $(this).addClass(fadeIn), $(this).hasClass(is-fadeInDown) && $(this).addClass(fadeInDown), $(this).hasClass(is-fadeInLeft) && $(this).addClass(fadeInLeft), $(this).hasClass(is-fadeInRight) && $(this).addClass(fadeInRight), $(this).hasClass(is-fadeInUp) && $(this).addClass(fadeInUp), $(this).hasClass(is-flipInX) && $(this).addClass(flipInX), $(this).hasClass(is-flipInY) && $(this).addClass(flipInY), $(this).hasClass(is-slideInUp) && $(this).addClass(slideInUp), $(this).hasClass(is-slideInDown) && $(this).addClass(slideInDown), $(this).hasClass(is-slideInLeft) && $(this).addClass(slideInLeft), $(this).hasClass(is-slideInRight) && $(this).addClass(slideInRight), $(this).hasClass(is-zoomIn) && $(this).addClass(zoomIn), $(this).hasClass(once) && $(this).data(animated, done)) }) } function removeAnimation(i) { i.find(.is-animated).each(function() { $(this).removeClass(pulse), $(this).removeClass(bounceIn), $(this).removeClass(fadeIn), $(this).removeClass(fadeInDown), $(this).removeClass(fadeInLeft), $(this).removeClass(fadeInRight), $(this).removeClass(fadeInUp), $(this).removeClass(flipInX), $(this).removeClass(flipInY), $(this).removeClass(slideInUp), $(this).removeClass(slideInDown), $(this).removeClass(slideInLeft), $(this).removeClass(slideInRight), $(this).removeClass(zoomIn), $(this).hasClass(once) || $(this).addClass(fadeOut) }) } function applyAnimationSection(i) { var e 0; i.hasClass(is-animated) && done ! i.data(animated) && (e > 0 && i.css(animation-delay, e + s), e + .2, i.removeClass(fadeOut), i.hasClass(is-pulse) && i.addClass(pulse), i.hasClass(is-bounceIn) && i.addClass(bounceIn), i.hasClass(is-fadeIn) && i.addClass(fadeIn), i.hasClass(is-fadeInDown) && i.addClass(fadeInDown), i.hasClass(is-fadeInLeft) && i.addClass(fadeInLeft), i.hasClass(is-fadeInRight) && i.addClass(fadeInRight), i.hasClass(is-fadeInUp) && i.addClass(fadeInUp), i.hasClass(is-flipInX) && i.addClass(flipInX), i.hasClass(is-flipInY) && i.addClass(flipInY), i.hasClass(is-slideInUp) && i.addClass(slideInUp), i.hasClass(is-slideInDown) && i.addClass(slideInDown), i.hasClass(is-slideInLeft) && i.addClass(slideInLeft), i.hasClass(is-slideInRight) && i.addClass(slideInRight), i.hasClass(is-zoomIn) && i.addClass(zoomIn), i.hasClass(once) && i.data(animated, done)), i.find(.is-box.is-animated).each(function() { done ! $(this).data(animated) && (e > 0 && $(this).css(animation-delay, e + s), e + .2, $(this).removeClass(fadeOut), $(this).hasClass(is-pulse) && $(this).addClass(pulse), $(this).hasClass(is-bounceIn) && $(this).addClass(bounceIn), $(this).hasClass(is-fadeIn) && $(this).addClass(fadeIn), $(this).hasClass(is-fadeInDown) && $(this).addClass(fadeInDown), $(this).hasClass(is-fadeInLeft) && $(this).addClass(fadeInLeft), $(this).hasClass(is-fadeInRight) && $(this).addClass(fadeInRight), $(this).hasClass(is-fadeInUp) && $(this).addClass(fadeInUp), $(this).hasClass(is-flipInX) && $(this).addClass(flipInX), $(this).hasClass(is-flipInY) && $(this).addClass(flipInY), $(this).hasClass(is-slideInUp) && $(this).addClass(slideInUp), $(this).hasClass(is-slideInDown) && $(this).addClass(slideInDown), $(this).hasClass(is-slideInLeft) && $(this).addClass(slideInLeft), $(this).hasClass(is-slideInRight) && $(this).addClass(slideInRight), $(this).hasClass(is-zoomIn) && $(this).addClass(zoomIn), $(this).hasClass(once) && $(this).data(animated, done)) }) } function removeAnimationSection(i) { i.hasClass(is-animated) && (i.removeClass(pulse), i.removeClass(bounceIn), i.removeClass(fadeIn), i.removeClass(fadeInDown), i.removeClass(fadeInLeft), i.removeClass(fadeInRight), i.removeClass(fadeInUp), i.removeClass(flipInX), i.removeClass(flipInY), i.removeClass(slideInUp), i.removeClass(slideInDown), i.removeClass(slideInLeft), i.removeClass(slideInRight), i.removeClass(zoomIn), i.hasClass(once) || i.addClass(fadeOut)), i.find(.is-animated).each(function() { $(this).removeClass(pulse), $(this).removeClass(bounceIn), $(this).removeClass(fadeIn), $(this).removeClass(fadeInDown), $(this).removeClass(fadeInLeft), $(this).removeClass(fadeInRight), $(this).removeClass(fadeInUp), $(this).removeClass(flipInX), $(this).removeClass(flipInY), $(this).removeClass(slideInUp), $(this).removeClass(slideInDown), $(this).removeClass(slideInLeft), $(this).removeClass(slideInRight), $(this).removeClass(zoomIn), $(this).hasClass(once) || $(this).addClass(fadeOut) }) } function playAllVideoBg() { jQuery(.is_video_bg).each(function() { var i jQuery(this).find(.screen).attr(id); $(# + i).data(youtubePlayer).onYouTubePlayerAPIReady() }) } function loadScript(i, e) { var s document.createElement(script); s.type text/javascript, s.readyState ? s.onreadystatechange function() { loaded ! s.readyState && complete ! s.readyState || (s.onreadystatechange null, e()) } : s.onload function() { e() }, s.src i, document.body.appendChild(s) } $(document).ready(function(i) { $(.is-arrow-down a).click(function(i) { return $(this).parents(.is-section).nextAll(div:not(.is-hidden)).html() && $(html,body).animate({ scrollTop: $(this).parents(.is-section).nextAll(div:not(.is-hidden)).offset().top - parseInt($(.is-wrapper).css(padding-top)) }, 800), i.preventDefault(), i.stopImmediatePropagation(), !1 }), $(.is-wrapper > div:first-child).find(.is-scale-animated).addClass(is-appeared), $(.is-scale-animated).appear(), $(.is-scale-animated).on(appear, function() { $(this).addClass(is-appeared) }), $(.is-scale-animated).on(disappear, function() { $(this).removeClass(is-appeared) }), $(.is-animated).each(function() { $(this).addClass(animated), $(this).addClass(fadeOut) }), $(.is-section).appear(), $(.is-section).each(function() { $(this).is(:appeared) && applyAnimationSection($(this)) }), 0 $(window).scrollTop() && setTimeout(applyAnimationSection($(.is-section).first()), 2e3), $(.is-section).on(appear, function() { applyAnimationSection($(this)) }), $(.is-section).on(disappear, function() { removeAnimationSection($(this)) }), $(.is-container).appear(), $(.is-container).each(function() { $(this).is(:appeared) && applyAnimation($(this)) }), 0 $(window).scrollTop() && $(.is-section).first().find(.is-container).each(function() { setTimeout(applyAnimation($(this)), 2e3) }), $(.is-container).on(appear, function() { applyAnimation($(this)) }), $(.is-container).on(disappear, function() { removeAnimation($(this)) }) }), function(i) { function e() { n !1; for (var e 0, s t.length; e s; e++) { var o i(te).filter(function() { return i(this).is(:appeared) }); if (o.trigger(appear, o), re) { var a re.not(o); a.trigger(disappear, a) } re o } } function s(i) { t.push(i), r.push() } var t , o !1, n !1, a { interval: 250, force_process: !1 }, l i(window), r ; i.expr:.appeared function(e) { var s i(e); if (!s.is(:visible)) return !1; var t l.scrollLeft(), o l.scrollTop(), n s.offset(), a n.left, r n.top; return r + s.height() > o && r - (s.data(appear-top-offset) || 0) o + l.height() - 200 && a + s.width() > t && a - (s.data(appear-left-offset) || 0) t + l.width() }, i.fn.extend({ appear: function(t) { var l i.extend({}, a, t || {}), r this.selector || this; if (!o) { var d function() { n || (n !0, setTimeout(e, l.interval)) }; i(window).scroll(d).resize(d), o !0 } return l.force_process && setTimeout(e, l.interval), s(r), i(r) } }), i.extend({ force_appear: function() { return !!o && (e(), !0) } }) }(undefined ! typeof module ? require(jquery) : jQuery), function(i) { use strict; function typeof define && define.amd ? define(jquery, i) : undefined ! typeof exports ? module.exports i(require(jquery)) : i(jQuery) }(function(i) { use strict; var e window.Slick || {}; (e function() { var e 0; return function(s, t) { var o, n this; n.defaults { accessibility: !0, adaptiveHeight: !1, appendArrows: i(s), appendDots: i(s), arrows: !0, asNavFor: null, prevArrow: button typebutton data-rolenone classslick-prev aria-labelPrevious tabindex0 rolebutton>Previous/button>, nextArrow: button typebutton data-rolenone classslick-next aria-labelNext tabindex0 rolebutton>Next/button>, autoplay: !1, autoplaySpeed: 3e3, centerMode: !1, centerPadding: 50px, cssEase: ease, customPaging: function(i, e) { return button typebutton data-rolenone rolebutton aria-requiredfalse tabindex0> + (e + 1) + /button> }, dots: !1, dotsClass: slick-dots, draggable: !0, easing: linear, edgeFriction: .35, fade: !1, focusOnSelect: !1, infinite: !0, initialSlide: 0, lazyLoad: ondemand, mobileFirst: !1, pauseOnHover: !0, pauseOnDotsHover: !1, respondTo: window, responsive: null, rows: 1, rtl: !1, slide: , slidesPerRow: 1, slidesToShow: 1, slidesToScroll: 1, speed: 500, swipe: !0, swipeToSlide: !1, touchMove: !0, touchThreshold: 5, useCSS: !0, useTransform: !1, variableWidth: !1, vertical: !1, verticalSwiping: !1, waitForAnimate: !0, zIndex: 1e3 }, n.initials { animating: !1, dragging: !1, autoPlayTimer: null, currentDirection: 0, currentLeft: null, currentSlide: 0, direction: 1, $dots: null, listWidth: null, listHeight: null, loadIndex: 0, $nextArrow: null, $prevArrow: null, slideCount: null, slideWidth: null, $slideTrack: null, $slides: null, sliding: !1, slideOffset: 0, swipeLeft: null, $list: null, touchObject: {}, transformsEnabled: !1, unslicked: !1 }, i.extend(n, n.initials), n.activeBreakpoint null, n.animType null, n.animProp null, n.breakpoints , n.breakpointSettings , n.cssTransitions !1, n.hidden hidden, n.paused !1, n.positionProp null, n.respondTo null, n.rowCount 1, n.shouldClick !0, n.$slider i(s), n.$slidesCache null, n.transformType null, n.transitionType null, n.visibilityChange visibilitychange, n.windowWidth 0, n.windowTimer null, o i(s).data(slick) || {}, n.options i.extend({}, n.defaults, o, t), n.currentSlide n.options.initialSlide, n.originalSettings n.options, void 0 ! document.mozHidden ? (n.hidden mozHidden, n.visibilityChange mozvisibilitychange) : void 0 ! document.webkitHidden && (n.hidden webkitHidden, n.visibilityChange webkitvisibilitychange), n.autoPlay i.proxy(n.autoPlay, n), n.autoPlayClear i.proxy(n.autoPlayClear, n), n.changeSlide i.proxy(n.changeSlide, n), n.clickHandler i.proxy(n.clickHandler, n), n.selectHandler i.proxy(n.selectHandler, n), n.setPosition i.proxy(n.setPosition, n), n.swipeHandler i.proxy(n.swipeHandler, n), n.dragHandler i.proxy(n.dragHandler, n), n.keyHandler i.proxy(n.keyHandler, n), n.autoPlayIterator i.proxy(n.autoPlayIterator, n), n.instanceUid e++, n.htmlExpr /^(?:\s*(\w\W+>)^>*)$/, n.registerBreakpoints(), n.init(!0), n.checkResponsive(!0) } }()).prototype.addSlide e.prototype.slickAdd function(e, s, t) { var o this; if (boolean typeof s) t s, s null; else if (0 > s || s > o.slideCount) return !1; o.unload(), number typeof s ? 0 s && 0 o.$slides.length ? i(e).appendTo(o.$slideTrack) : t ? i(e).insertBefore(o.$slides.eq(s)) : i(e).insertAfter(o.$slides.eq(s)) : !0 t ? i(e).prependTo(o.$slideTrack) : i(e).appendTo(o.$slideTrack), o.$slides o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slides.each(function(e, s) { i(s).attr(data-slick-index, e) }), o.$slidesCache o.$slides, o.reinit() }, e.prototype.animateHeight function() { var i this; if (1 i.options.slidesToShow && !0 i.options.adaptiveHeight && !1 i.options.vertical) { var e i.$slides.eq(i.currentSlide).outerHeight(!0); i.$list.animate({ height: e }, i.options.speed) } }, e.prototype.animateSlide function(e, s) { var t {}, o this; o.animateHeight(), !0 o.options.rtl && !1 o.options.vertical && (e -e), !1 o.transformsEnabled ? !1 o.options.vertical ? o.$slideTrack.animate({ left: e }, o.options.speed, o.options.easing, s) : o.$slideTrack.animate({ top: e }, o.options.speed, o.options.easing, s) : !1 o.cssTransitions ? (!0 o.options.rtl && (o.currentLeft -o.currentLeft), i({ animStart: o.currentLeft }).animate({ animStart: e }, { duration: o.options.speed, easing: o.options.easing, step: function(i) { i Math.ceil(i), !1 o.options.vertical ? (to.animType translate( + i + px, 0px), o.$slideTrack.css(t)) : (to.animType translate(0px, + i + px), o.$slideTrack.css(t)) }, complete: function() { s && s.call() } })) : (o.applyTransition(), e Math.ceil(e), !1 o.options.vertical ? to.animType translate3d( + e + px, 0px, 0px) : to.animType translate3d(0px, + e + px, 0px), o.$slideTrack.css(t), s && setTimeout(function() { o.disableTransition(), s.call() }, o.options.speed)) }, e.prototype.asNavFor function(e) { var s this, t s.options.asNavFor; t && null ! t && (t i(t).not(s.$slider)), null ! t && object typeof t && t.each(function() { var s i(this).slick(getSlick); s.unslicked || s.slideHandler(e, !0) }) }, e.prototype.applyTransition function(i) { var e this, s {}; !1 e.options.fade ? se.transitionType e.transformType + + e.options.speed + ms + e.options.cssEase : se.transitionType opacity + e.options.speed + ms + e.options.cssEase, !1 e.options.fade ? e.$slideTrack.css(s) : e.$slides.eq(i).css(s) }, e.prototype.autoPlay function() { var i this; i.autoPlayTimer && clearInterval(i.autoPlayTimer), i.slideCount > i.options.slidesToShow && !0 ! i.paused && (i.autoPlayTimer setInterval(i.autoPlayIterator, i.options.autoplaySpeed)) }, e.prototype.autoPlayClear function() { var i this; i.autoPlayTimer && clearInterval(i.autoPlayTimer) }, e.prototype.autoPlayIterator function() { var i this; !1 i.options.infinite ? 1 i.direction ? (i.currentSlide + 1 i.slideCount - 1 && (i.direction 0), i.slideHandler(i.currentSlide + i.options.slidesToScroll)) : (i.currentSlide - 1 0 && (i.direction 1), i.slideHandler(i.currentSlide - i.options.slidesToScroll)) : i.slideHandler(i.currentSlide + i.options.slidesToScroll) }, e.prototype.buildArrows function() { var e this; !0 e.options.arrows && (e.$prevArrow i(e.options.prevArrow).addClass(slick-arrow), e.$nextArrow i(e.options.nextArrow).addClass(slick-arrow), e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass(slick-hidden).removeAttr(aria-hidden tabindex), e.$nextArrow.removeClass(slick-hidden).removeAttr(aria-hidden tabindex), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), !0 ! e.options.infinite && e.$prevArrow.addClass(slick-disabled).attr(aria-disabled, true)) : e.$prevArrow.add(e.$nextArrow).addClass(slick-hidden).attr({ aria-disabled: true, tabindex: -1 })) }, e.prototype.buildDots function() { var e, s, t this; if (!0 t.options.dots && t.slideCount > t.options.slidesToShow) { for (s ul class + t.options.dotsClass + >, e 0; e t.getDotCount(); e + 1) s + li> + t.options.customPaging.call(this, t, e) + /li>; s + /ul>, t.$dots i(s).appendTo(t.options.appendDots), t.$dots.find(li).first().addClass(slick-active).attr(aria-hidden, false) } }, e.prototype.buildOut function() { var e this; e.$slides e.$slider.children(e.options.slide + :not(.slick-cloned)).addClass(slick-slide), e.slideCount e.$slides.length, e.$slides.each(function(e, s) { i(s).attr(data-slick-index, e).data(originalStyling, i(s).attr(style) || ) }), e.$slider.addClass(slick-slider), e.$slideTrack 0 e.slideCount ? i(div classslick-track/>).appendTo(e.$slider) : e.$slides.wrapAll(div classslick-track/>).parent(), e.$list e.$slideTrack.wrap(div aria-livepolite classslick-list/>).parent(), e.$slideTrack.css(opacity, 0), (!0 e.options.centerMode || !0 e.options.swipeToSlide) && (e.options.slidesToScroll 1), i(imgdata-lazy, e.$slider).not(src).addClass(slick-loading), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses(number typeof e.currentSlide ? e.currentSlide : 0), !0 e.options.draggable && e.$list.addClass(draggable) }, e.prototype.buildRows function() { var i, e, s, t, o, n, a, l this; if (t document.createDocumentFragment(), n l.$slider.children(), l.options.rows > 1) { for (a l.options.slidesPerRow * l.options.rows, o Math.ceil(n.length / a), i 0; o > i; i++) { var r document.createElement(div); for (e 0; e l.options.rows; e++) { var d document.createElement(div); for (s 0; s l.options.slidesPerRow; s++) { var c i * a + (e * l.options.slidesPerRow + s); n.get(c) && d.appendChild(n.get(c)) } r.appendChild(d) } t.appendChild(r) } l.$slider.html(t), l.$slider.children().children().children().css({ width: 100 / l.options.slidesPerRow + %, display: inline-block }) } }, e.prototype.checkResponsive function(e, s) { var t, o, n, a this, l !1, r a.$slider.width(), d window.innerWidth || i(window).width(); if (window a.respondTo ? n d : slider a.respondTo ? n r : min a.respondTo && (n Math.min(d, r)), a.options.responsive && a.options.responsive.length && null ! a.options.responsive) { o null; for (t in a.breakpoints) a.breakpoints.hasOwnProperty(t) && (!1 a.originalSettings.mobileFirst ? n a.breakpointst && (o a.breakpointst) : n > a.breakpointst && (o a.breakpointst)); null ! o ? null ! a.activeBreakpoint ? (o ! a.activeBreakpoint || s) && (a.activeBreakpoint o, unslick a.breakpointSettingso ? a.unslick(o) : (a.options i.extend({}, a.originalSettings, a.breakpointSettingso), !0 e && (a.currentSlide a.options.initialSlide), a.refresh(e)), l o) : (a.activeBreakpoint o, unslick a.breakpointSettingso ? a.unslick(o) : (a.options i.extend({}, a.originalSettings, a.breakpointSettingso), !0 e && (a.currentSlide a.options.initialSlide), a.refresh(e)), l o) : null ! a.activeBreakpoint && (a.activeBreakpoint null, a.options a.originalSettings, !0 e && (a.currentSlide a.options.initialSlide), a.refresh(e), l o), e || !1 l || a.$slider.trigger(breakpoint, a, l) } }, e.prototype.changeSlide function(e, s) { var t, o, n, a this, l i(e.target); switch (l.is(a) && e.preventDefault(), l.is(li) || (l l.closest(li)), n a.slideCount % a.options.slidesToScroll ! 0, t n ? 0 : (a.slideCount - a.currentSlide) % a.options.slidesToScroll, e.data.message) { case previous: o 0 t ? a.options.slidesToScroll : a.options.slidesToShow - t, a.slideCount > a.options.slidesToShow && a.slideHandler(a.currentSlide - o, !1, s); break; case next: o 0 t ? a.options.slidesToScroll : t, a.slideCount > a.options.slidesToShow && a.slideHandler(a.currentSlide + o, !1, s); break; case index: var r 0 e.data.index ? 0 : e.data.index || l.index() * a.options.slidesToScroll; a.slideHandler(a.checkNavigable(r), !1, s), l.children().trigger(focus); break; default: return } }, e.prototype.checkNavigable function(i) { var e, s; if (e this.getNavigableIndexes(), s 0, i > ee.length - 1) i ee.length - 1; else for (var t in e) { if (i et) { i s; break } s et } return i }, e.prototype.cleanUpEvents function() { var e this; e.options.dots && null ! e.$dots && (i(li, e.$dots).off(click.slick, e.changeSlide), !0 e.options.pauseOnDotsHover && !0 e.options.autoplay && i(li, e.$dots).off(mouseenter.slick, i.proxy(e.setPaused, e, !0)).off(mouseleave.slick, i.proxy(e.setPaused, e, !1))), !0 e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off(click.slick, e.changeSlide), e.$nextArrow && e.$nextArrow.off(click.slick, e.changeSlide)), e.$list.off(touchstart.slick mousedown.slick, e.swipeHandler), e.$list.off(touchmove.slick mousemove.slick, e.swipeHandler), e.$list.off(touchend.slick mouseup.slick, e.swipeHandler), e.$list.off(touchcancel.slick mouseleave.slick, e.swipeHandler), e.$list.off(click.slick, e.clickHandler), i(document).off(e.visibilityChange, e.visibility), e.$list.off(mouseenter.slick, i.proxy(e.setPaused, e, !0)), e.$list.off(mouseleave.slick, i.proxy(e.setPaused, e, !1)), !0 e.options.accessibility && e.$list.off(keydown.slick, e.keyHandler), !0 e.options.focusOnSelect && i(e.$slideTrack).children().off(click.slick, e.selectHandler), i(window).off(orientationchange.slick.slick- + e.instanceUid, e.orientationChange), i(window).off(resize.slick.slick- + e.instanceUid, e.resize), i(draggable!true, e.$slideTrack).off(dragstart, e.preventDefault), i(window).off(load.slick.slick- + e.instanceUid, e.setPosition), i(document).off(ready.slick.slick- + e.instanceUid, e.setPosition) }, e.prototype.cleanUpRows function() { var i, e this; e.options.rows > 1 && ((i e.$slides.children().children()).removeAttr(style), e.$slider.html(i)) }, e.prototype.clickHandler function(i) { !1 this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault()) }, e.prototype.destroy function(e) { var s this; s.autoPlayClear(), s.touchObject {}, s.cleanUpEvents(), i(.slick-cloned, s.$slider).detach(), s.$dots && s.$dots.remove(), s.$prevArrow && s.$prevArrow.length && (s.$prevArrow.removeClass(slick-disabled slick-arrow slick-hidden).removeAttr(aria-hidden aria-disabled tabindex).css(display, ), s.htmlExpr.test(s.options.prevArrow) && s.$prevArrow.remove()), s.$nextArrow && s.$nextArrow.length && (s.$nextArrow.removeClass(slick-disabled slick-arrow slick-hidden).removeAttr(aria-hidden aria-disabled tabindex).css(display, ), s.htmlExpr.test(s.options.nextArrow) && s.$nextArrow.remove()), s.$slides && (s.$slides.removeClass(slick-slide slick-active slick-center slick-visible slick-current).removeAttr(aria-hidden).removeAttr(data-slick-index).each(function() { i(this).attr(style, i(this).data(originalStyling)) }), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.detach(), s.$list.detach(), s.$slider.append(s.$slides)), s.cleanUpRows(), s.$slider.removeClass(slick-slider), s.$slider.removeClass(slick-initialized), s.unslicked !0, e || s.$slider.trigger(destroy, s) }, e.prototype.disableTransition function(i) { var e this, s {}; se.transitionType , !1 e.options.fade ? e.$slideTrack.css(s) : e.$slides.eq(i).css(s) }, e.prototype.fadeSlide function(i, e) { var s this; !1 s.cssTransitions ? (s.$slides.eq(i).css({ zIndex: s.options.zIndex }), s.$slides.eq(i).animate({ opacity: 1 }, s.options.speed, s.options.easing, e)) : (s.applyTransition(i), s.$slides.eq(i).css({ opacity: 1, zIndex: s.options.zIndex }), e && setTimeout(function() { s.disableTransition(i), e.call() }, s.options.speed)) }, e.prototype.fadeSlideOut function(i) { var e this; !1 e.cssTransitions ? e.$slides.eq(i).animate({ opacity: 0, zIndex: e.options.zIndex - 2 }, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({ opacity: 0, zIndex: e.options.zIndex - 2 })) }, e.prototype.filterSlides e.prototype.slickFilter function(i) { var e this; null ! i && (e.$slidesCache e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit()) }, e.prototype.getCurrent e.prototype.slickCurrentSlide function() { return this.currentSlide }, e.prototype.getDotCount function() { var i this, e 0, s 0, t 0; if (!0 i.options.infinite) for (; e i.slideCount;) ++t, e s + i.options.slidesToScroll, s + i.options.slidesToScroll i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow; else if (!0 i.options.centerMode) t i.slideCount; else for (; e i.slideCount;) ++t, e s + i.options.slidesToScroll, s + i.options.slidesToScroll i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow; return t - 1 }, e.prototype.getLeft function(i) { var e, s, t, o this, n 0; return o.slideOffset 0, s o.$slides.first().outerHeight(!0), !0 o.options.infinite ? (o.slideCount > o.options.slidesToShow && (o.slideOffset o.slideWidth * o.options.slidesToShow * -1, n s * o.options.slidesToShow * -1), o.slideCount % o.options.slidesToScroll ! 0 && i + o.options.slidesToScroll > o.slideCount && o.slideCount > o.options.slidesToShow && (i > o.slideCount ? (o.slideOffset (o.options.slidesToShow - (i - o.slideCount)) * o.slideWidth * -1, n (o.options.slidesToShow - (i - o.slideCount)) * s * -1) : (o.slideOffset o.slideCount % o.options.slidesToScroll * o.slideWidth * -1, n o.slideCount % o.options.slidesToScroll * s * -1))) : i + o.options.slidesToShow > o.slideCount && (o.slideOffset (i + o.options.slidesToShow - o.slideCount) * o.slideWidth, n (i + o.options.slidesToShow - o.slideCount) * s), o.slideCount o.options.slidesToShow && (o.slideOffset 0, n 0), !0 o.options.centerMode && !0 o.options.infinite ? o.slideOffset + o.slideWidth * Math.floor(o.options.slidesToShow / 2) - o.slideWidth : !0 o.options.centerMode && (o.slideOffset 0, o.slideOffset + o.slideWidth * Math.floor(o.options.slidesToShow / 2)), e !1 o.options.vertical ? i * o.slideWidth * -1 + o.slideOffset : i * s * -1 + n, !0 o.options.variableWidth && (t o.slideCount o.options.slidesToShow || !1 o.options.infinite ? o.$slideTrack.children(.slick-slide).eq(i) : o.$slideTrack.children(.slick-slide).eq(i + o.options.slidesToShow), e !0 o.options.rtl ? t0 ? -1 * (o.$slideTrack.width() - t0.offsetLeft - t.width()) : 0 : t0 ? -1 * t0.offsetLeft : 0, !0 o.options.centerMode && (t o.slideCount o.options.slidesToShow || !1 o.options.infinite ? o.$slideTrack.children(.slick-slide).eq(i) : o.$slideTrack.children(.slick-slide).eq(i + o.options.slidesToShow + 1), e !0 o.options.rtl ? t0 ? -1 * (o.$slideTrack.width() - t0.offsetLeft - t.width()) : 0 : t0 ? -1 * t0.offsetLeft : 0, e + (o.$list.width() - t.outerWidth()) / 2)), e }, e.prototype.getOption e.prototype.slickGetOption function(i) { return this.optionsi }, e.prototype.getNavigableIndexes function() { var i, e this, s 0, t 0, o ; for (!1 e.options.infinite ? i e.slideCount : (s -1 * e.options.slidesToScroll, t -1 * e.options.slidesToScroll, i 2 * e.slideCount); i > s;) o.push(s), s t + e.options.slidesToScroll, t + e.options.slidesToScroll e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow; return o }, e.prototype.getSlick function() { return this }, e.prototype.getSlideCount function() { var e, s, t this; return s !0 t.options.centerMode ? t.slideWidth * Math.floor(t.options.slidesToShow / 2) : 0, !0 t.options.swipeToSlide ? (t.$slideTrack.find(.slick-slide).each(function(o, n) { return n.offsetLeft - s + i(n).outerWidth() / 2 > -1 * t.swipeLeft ? (e n, !1) : void 0 }), Math.abs(i(e).attr(data-slick-index) - t.currentSlide) || 1) : t.options.slidesToScroll }, e.prototype.goTo e.prototype.slickGoTo function(i, e) { this.changeSlide({ data: { message: index, index: parseInt(i) } }, e) }, e.prototype.init function(e) { var s this; i(s.$slider).hasClass(slick-initialized) || (i(s.$slider).addClass(slick-initialized), s.buildRows(), s.buildOut(), s.setProps(), s.startLoad(), s.loadSlider(), s.initializeEvents(), s.updateArrows(), s.updateDots()), e && s.$slider.trigger(init, s), !0 s.options.accessibility && s.initADA() }, e.prototype.initArrowEvents function() { var i this; !0 i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.on(click.slick, { message: previous }, i.changeSlide), i.$nextArrow.on(click.slick, { message: next }, i.changeSlide)) }, e.prototype.initDotEvents function() { var e this; !0 e.options.dots && e.slideCount > e.options.slidesToShow && i(li, e.$dots).on(click.slick, { message: index }, e.changeSlide), !0 e.options.dots && !0 e.options.pauseOnDotsHover && !0 e.options.autoplay && i(li, e.$dots).on(mouseenter.slick, i.proxy(e.setPaused, e, !0)).on(mouseleave.slick, i.proxy(e.setPaused, e, !1)) }, e.prototype.initializeEvents function() { var e this; e.initArrowEvents(), e.initDotEvents(), e.$list.on(touchstart.slick mousedown.slick, { action: start }, e.swipeHandler), e.$list.on(touchmove.slick mousemove.slick, { action: move }, e.swipeHandler), e.$list.on(touchend.slick mouseup.slick, { action: end }, e.swipeHandler), e.$list.on(touchcancel.slick mouseleave.slick, { action: end }, e.swipeHandler), e.$list.on(click.slick, e.clickHandler), i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), e.$list.on(mouseenter.slick, i.proxy(e.setPaused, e, !0)), e.$list.on(mouseleave.slick, i.proxy(e.setPaused, e, !1)), !0 e.options.accessibility && e.$list.on(keydown.slick, e.keyHandler), !0 e.options.focusOnSelect && i(e.$slideTrack).children().on(click.slick, e.selectHandler), i(window).on(orientationchange.slick.slick- + e.instanceUid, i.proxy(e.orientationChange, e)), i(window).on(resize.slick.slick- + e.instanceUid, i.proxy(e.resize, e)), i(draggable!true, e.$slideTrack).on(dragstart, e.preventDefault), i(window).on(load.slick.slick- + e.instanceUid, e.setPosition), i(document).on(ready.slick.slick- + e.instanceUid, e.setPosition) }, e.prototype.initUI function() { var i this; !0 i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()), !0 i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show(), !0 i.options.autoplay && i.autoPlay() }, e.prototype.keyHandler function(i) { var e this; i.target.tagName.match(TEXTAREA|INPUT|SELECT) || (37 i.keyCode && !0 e.options.accessibility ? e.changeSlide({ data: { message: previous } }) : 39 i.keyCode && !0 e.options.accessibility && e.changeSlide({ data: { message: next } })) }, e.prototype.lazyLoad function() { function e(e) { i(imgdata-lazy, e).each(function() { var e i(this), s i(this).attr(data-lazy), t document.createElement(img); t.onload function() { e.animate({ opacity: 0 }, 100, function() { e.attr(src, s).animate({ opacity: 1 }, 200, function() { e.removeAttr(data-lazy).removeClass(slick-loading) }) }) }, t.src s }) } var s, t, o, n this; !0 n.options.centerMode ? !0 n.options.infinite ? (t n.currentSlide + (n.options.slidesToShow / 2 + 1), o t + n.options.slidesToShow + 2) : (t Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)), o n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (t n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide, o t + n.options.slidesToShow, !0 n.options.fade && (t > 0 && t--, o n.slideCount && o++)), e(n.$slider.find(.slick-slide).slice(t, o)), n.slideCount n.options.slidesToShow ? (s n.$slider.find(.slick-slide), e(s)) : n.currentSlide > n.slideCount - n.options.slidesToShow ? (s n.$slider.find(.slick-cloned).slice(0, n.options.slidesToShow), e(s)) : 0 n.currentSlide && (s n.$slider.find(.slick-cloned).slice(-1 * n.options.slidesToShow), e(s)) }, e.prototype.loadSlider function() { var i this; i.setPosition(), i.$slideTrack.css({ opacity: 1 }), i.$slider.removeClass(slick-loading), i.initUI(), progressive i.options.lazyLoad && i.progressiveLazyLoad() }, e.prototype.next e.prototype.slickNext function() { this.changeSlide({ data: { message: next } }) }, e.prototype.orientationChange function() { var i this; i.checkResponsive(), i.setPosition() }, e.prototype.pause e.prototype.slickPause function() { var i this; i.autoPlayClear(), i.paused !0 }, e.prototype.play e.prototype.slickPlay function() { var i this; i.paused !1, i.autoPlay() }, e.prototype.postSlide function(i) { var e this; e.$slider.trigger(afterChange, e, i), e.animating !1, e.setPosition(), e.swipeLeft null, !0 e.options.autoplay && !1 e.paused && e.autoPlay(), !0 e.options.accessibility && e.initADA() }, e.prototype.prev e.prototype.slickPrev function() { this.changeSlide({ data: { message: previous } }) }, e.prototype.preventDefault function(i) { i.preventDefault() }, e.prototype.progressiveLazyLoad function() { var e, s this; i(imgdata-lazy, s.$slider).length > 0 && ((e i(imgdata-lazy, s.$slider).first()).attr(src, null), e.attr(src, e.attr(data-lazy)).removeClass(slick-loading).load(function() { e.removeAttr(data-lazy), s.progressiveLazyLoad(), !0 s.options.adaptiveHeight && s.setPosition() }).error(function() { e.removeAttr(data-lazy), s.progressiveLazyLoad() })) }, e.prototype.refresh function(e) { var s, t, o this; t o.slideCount - o.options.slidesToShow, o.options.infinite || (o.slideCount o.options.slidesToShow ? o.currentSlide 0 : o.currentSlide > t && (o.currentSlide t)), s o.currentSlide, o.destroy(!0), i.extend(o, o.initials, { currentSlide: s }), o.init(), e || o.changeSlide({ data: { message: index, index: s } }, !1) }, e.prototype.registerBreakpoints function() { var e, s, t, o this, n o.options.responsive || null; if (array i.type(n) && n.length) { o.respondTo o.options.respondTo || window; for (e in n) if (t o.breakpoints.length - 1, s ne.breakpoint, n.hasOwnProperty(e)) { for (; t > 0;) o.breakpointst && o.breakpointst s && o.breakpoints.splice(t, 1), t--; o.breakpoints.push(s), o.breakpointSettingss ne.settings } o.breakpoints.sort(function(i, e) { return o.options.mobileFirst ? i - e : e - i }) } }, e.prototype.reinit function() { var e this; e.$slides e.$slideTrack.children(e.options.slide).addClass(slick-slide), e.slideCount e.$slides.length, e.currentSlide > e.slideCount && 0 ! e.currentSlide && (e.currentSlide e.currentSlide - e.options.slidesToScroll), e.slideCount e.options.slidesToShow && (e.currentSlide 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.checkResponsive(!1, !0), !0 e.options.focusOnSelect && i(e.$slideTrack).children().on(click.slick, e.selectHandler), e.setSlideClasses(0), e.setPosition(), e.$slider.trigger(reInit, e), !0 e.options.autoplay && e.focusHandler() }, e.prototype.resize function() { var e this; i(window).width() ! e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay window.setTimeout(function() { e.windowWidth i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition() }, 50)) }, e.prototype.removeSlide e.prototype.slickRemove function(i, e, s) { var t this; return boolean typeof i ? (e i, i !0 e ? 0 : t.slideCount - 1) : i !0 e ? --i : i, !(t.slideCount 1 || 0 > i || i > t.slideCount - 1) && (t.unload(), !0 s ? t.$slideTrack.children().remove() : t.$slideTrack.children(this.options.slide).eq(i).remove(), t.$slides t.$slideTrack.children(this.options.slide), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.append(t.$slides), t.$slidesCache t.$slides, void t.reinit()) }, e.prototype.setCSS function(i) { var e, s, t this, o {}; !0 t.options.rtl && (i -i), e left t.positionProp ? Math.ceil(i) + px : 0px, s top t.positionProp ? Math.ceil(i) + px : 0px, ot.positionProp i, !1 t.transformsEnabled ? t.$slideTrack.css(o) : (o {}, !1 t.cssTransitions ? (ot.animType translate( + e + , + s + ), t.$slideTrack.css(o)) : (ot.animType translate3d( + e + , + s + , 0px), t.$slideTrack.css(o))) }, e.prototype.setDimensions function() { var i this; !1 i.options.vertical ? !0 i.options.centerMode && i.$list.css({ padding: 0px + i.options.centerPadding }) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 i.options.centerMode && i.$list.css({ padding: i.options.centerPadding + 0px })), i.listWidth i.$list.width(), i.listHeight i.$list.height(), !1 i.options.vertical && !1 i.options.variableWidth ? (i.slideWidth Math.ceil(i.listWidth / i.options.slidesToShow), i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(.slick-slide).length))) : !0 i.options.variableWidth ? i.$slideTrack.width(5e3 * i.slideCount) : (i.slideWidth Math.ceil(i.listWidth), i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(.slick-slide).length))); var e i.$slides.first().outerWidth(!0) - i.$slides.first().width(); !1 i.options.variableWidth && i.$slideTrack.children(.slick-slide).width(i.slideWidth - e) }, e.prototype.setFade function() { var e, s this; s.$slides.each(function(t, o) { e s.slideWidth * t * -1, !0 s.options.rtl ? i(o).css({ position: relative, right: e, top: 0, zIndex: s.options.zIndex - 2, opacity: 0 }) : i(o).css({ position: relative, left: e, top: 0, zIndex: s.options.zIndex - 2, opacity: 0 }) }), s.$slides.eq(s.currentSlide).css({ zIndex: s.options.zIndex - 1, opacity: 1 }) }, e.prototype.setHeight function() { var i this; if (1 i.options.slidesToShow && !0 i.options.adaptiveHeight && !1 i.options.vertical) { var e i.$slides.eq(i.currentSlide).outerHeight(!0); i.$list.css(height, e) } }, e.prototype.setOption e.prototype.slickSetOption function(e, s, t) { var o, n, a this; if (responsive e && array i.type(s)) for (n in s) if (array ! i.type(a.options.responsive)) a.options.responsive sn; else { for (o a.options.responsive.length - 1; o > 0;) a.options.responsiveo.breakpoint sn.breakpoint && a.options.responsive.splice(o, 1), o--; a.options.responsive.push(sn) } else a.optionse s; !0 t && (a.unload(), a.reinit()) }, e.prototype.setPosition function() { var i this; i.setDimensions(), i.setHeight(), !1 i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger(setPosition, i) }, e.prototype.setProps function() { var i this, e document.body.style; i.positionProp !0 i.options.vertical ? top : left, top i.positionProp ? i.$slider.addClass(slick-vertical) : i.$slider.removeClass(slick-vertical), (void 0 ! e.WebkitTransition || void 0 ! e.MozTransition || void 0 ! e.msTransition) && !0 i.options.useCSS && (i.cssTransitions !0), i.options.fade && (number typeof i.options.zIndex ? i.options.zIndex 3 && (i.options.zIndex 3) : i.options.zIndex i.defaults.zIndex), void 0 ! e.OTransform && (i.animType OTransform, i.transformType -o-transform, i.transitionType OTransition, void 0 e.perspectiveProperty && void 0 e.webkitPerspective && (i.animType !1)), void 0 ! e.MozTransform && (i.animType MozTransform, i.transformType -moz-transform, i.transitionType MozTransition, void 0 e.perspectiveProperty && void 0 e.MozPerspective && (i.animType !1)), void 0 ! e.webkitTransform && (i.animType webkitTransform, i.transformType -webkit-transform, i.transitionType webkitTransition, void 0 e.perspectiveProperty && void 0 e.webkitPerspective && (i.animType !1)), void 0 ! e.msTransform && (i.animType msTransform, i.transformType -ms-transform, i.transitionType msTransition, void 0 e.msTransform && (i.animType !1)), void 0 ! e.transform && !1 ! i.animType && (i.animType transform, i.transformType transform, i.transitionType transition), i.transformsEnabled i.options.useTransform && null ! i.animType && !1 ! i.animType }, e.prototype.setSlideClasses function(i) { var e, s, t, o, n this; s n.$slider.find(.slick-slide).removeClass(slick-active slick-center slick-current).attr(aria-hidden, true), n.$slides.eq(i).addClass(slick-current), !0 n.options.centerMode ? (e Math.floor(n.options.slidesToShow / 2), !0 n.options.infinite && (i > e && i n.slideCount - 1 - e ? n.$slides.slice(i - e, i + e + 1).addClass(slick-active).attr(aria-hidden, false) : (t n.options.slidesToShow + i, s.slice(t - e + 1, t + e + 2).addClass(slick-active).attr(aria-hidden, false)), 0 i ? s.eq(s.length - 1 - n.options.slidesToShow).addClass(slick-center) : i n.slideCount - 1 && s.eq(n.options.slidesToShow).addClass(slick-center)), n.$slides.eq(i).addClass(slick-center)) : i > 0 && i n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass(slick-active).attr(aria-hidden, false) : s.length n.options.slidesToShow ? s.addClass(slick-active).attr(aria-hidden, false) : (o n.slideCount % n.options.slidesToShow, t !0 n.options.infinite ? n.options.slidesToShow + i : i, n.options.slidesToShow n.options.slidesToScroll && n.slideCount - i n.options.slidesToShow ? s.slice(t - (n.options.slidesToShow - o), t + o).addClass(slick-active).attr(aria-hidden, false) : s.slice(t, t + n.options.slidesToShow).addClass(slick-active).attr(aria-hidden, false)), ondemand n.options.lazyLoad && n.lazyLoad() }, e.prototype.setupInfinite function() { var e, s, t, o this; if (!0 o.options.fade && (o.options.centerMode !1), !0 o.options.infinite && !1 o.options.fade && (s null, o.slideCount > o.options.slidesToShow)) { for (t !0 o.options.centerMode ? o.options.slidesToShow + 1 : o.options.slidesToShow, e o.slideCount; e > o.slideCount - t; e - 1) s e - 1, i(o.$slidess).clone(!0).attr(id, ).attr(data-slick-index, s - o.slideCount).prependTo(o.$slideTrack).addClass(slick-cloned); for (e 0; t > e; e + 1) s e, i(o.$slidess).clone(!0).attr(id, ).attr(data-slick-index, s + o.slideCount).appendTo(o.$slideTrack).addClass(slick-cloned); o.$slideTrack.find(.slick-cloned).find(id).each(function() { i(this).attr(id, ) }) } }, e.prototype.setPaused function(i) { var e this; !0 e.options.autoplay && !0 e.options.pauseOnHover && (e.paused i, i ? e.autoPlayClear() : e.autoPlay()) }, e.prototype.selectHandler function(e) { var s this, t i(e.target).is(.slick-slide) ? i(e.target) : i(e.target).parents(.slick-slide), o parseInt(t.attr(data-slick-index)); return o || (o 0), s.slideCount s.options.slidesToShow ? (s.setSlideClasses(o), void s.asNavFor(o)) : void s.slideHandler(o) }, e.prototype.slideHandler function(i, e, s) { var t, o, n, a, l null, r this; return e e || !1, !0 r.animating && !0 r.options.waitForAnimate || !0 r.options.fade && r.currentSlide i || r.slideCount r.options.slidesToShow ? void 0 : (!1 e && r.asNavFor(i), t i, l r.getLeft(t), a r.getLeft(r.currentSlide), r.currentLeft null r.swipeLeft ? a : r.swipeLeft, !1 r.options.infinite && !1 r.options.centerMode && (0 > i || i > r.getDotCount() * r.options.slidesToScroll) ? void(!1 r.options.fade && (t r.currentSlide, !0 ! s ? r.animateSlide(a, function() { r.postSlide(t) }) : r.postSlide(t))) : !1 r.options.infinite && !0 r.options.centerMode && (0 > i || i > r.slideCount - r.options.slidesToScroll) ? void(!1 r.options.fade && (t r.currentSlide, !0 ! s ? r.animateSlide(a, function() { r.postSlide(t) }) : r.postSlide(t))) : (!0 r.options.autoplay && clearInterval(r.autoPlayTimer), o 0 > t ? r.slideCount % r.options.slidesToScroll ! 0 ? r.slideCount - r.slideCount % r.options.slidesToScroll : r.slideCount + t : t > r.slideCount ? r.slideCount % r.options.slidesToScroll ! 0 ? 0 : t - r.slideCount : t, r.animating !0, r.$slider.trigger(beforeChange, r, r.currentSlide, o), n r.currentSlide, r.currentSlide o, r.setSlideClasses(r.currentSlide), r.updateDots(), r.updateArrows(), !0 r.options.fade ? (!0 ! s ? (r.fadeSlideOut(n), r.fadeSlide(o, function() { r.postSlide(o) })) : r.postSlide(o), void r.animateHeight()) : void(!0 ! s ? r.animateSlide(l, function() { r.postSlide(o) }) : r.postSlide(o)))) }, e.prototype.startLoad function() { var i this; !0 i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()), !0 i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(), i.$slider.addClass(slick-loading) }, e.prototype.swipeDirection function() { var i, e, s, t, o this; return i o.touchObject.startX - o.touchObject.curX, e o.touchObject.startY - o.touchObject.curY, s Math.atan2(e, i), 0 > (t Math.round(180 * s / Math.PI)) && (t 360 - Math.abs(t)), 45 > t && t > 0 ? !1 o.options.rtl ? left : right : 360 > t && t > 315 ? !1 o.options.rtl ? left : right : t > 135 && 225 > t ? !1 o.options.rtl ? right : left : !0 o.options.verticalSwiping ? t > 35 && 135 > t ? left : right : vertical }, e.prototype.swipeEnd function(i) { var e, s this; if (s.dragging !1, s.shouldClick !(s.touchObject.swipeLength > 10), void 0 s.touchObject.curX) return !1; if (!0 s.touchObject.edgeHit && s.$slider.trigger(edge, s, s.swipeDirection()), s.touchObject.swipeLength > s.touchObject.minSwipe) switch (s.swipeDirection()) { case left: e s.options.swipeToSlide ? s.checkNavigable(s.currentSlide + s.getSlideCount()) : s.currentSlide + s.getSlideCount(), s.slideHandler(e), s.currentDirection 0, s.touchObject {}, s.$slider.trigger(swipe, s, left); break; case right: e s.options.swipeToSlide ? s.checkNavigable(s.currentSlide - s.getSlideCount()) : s.currentSlide - s.getSlideCount(), s.slideHandler(e), s.currentDirection 1, s.touchObject {}, s.$slider.trigger(swipe, s, right) } else s.touchObject.startX ! s.touchObject.curX && (s.slideHandler(s.currentSlide), s.touchObject {}) }, e.prototype.swipeHandler function(i) { var e this; if (!(!1 e.options.swipe || ontouchend in document && !1 e.options.swipe || !1 e.options.draggable && -1 ! i.type.indexOf(mouse))) switch (e.touchObject.fingerCount i.originalEvent && void 0 ! i.originalEvent.touches ? i.originalEvent.touches.length : 1, e.touchObject.minSwipe e.listWidth / e.options.touchThreshold, !0 e.options.verticalSwiping && (e.touchObject.minSwipe e.listHeight / e.options.touchThreshold), i.data.action) { case start: e.swipeStart(i); break; case move: e.swipeMove(i); break; case end: e.swipeEnd(i) } }, e.prototype.swipeMove function(i) { var e, s, t, o, n, a this; return n void 0 ! i.originalEvent ? i.originalEvent.touches : null, !(!a.dragging || n && 1 ! n.length) && (e a.getLeft(a.currentSlide), a.touchObject.curX void 0 ! n ? n0.pageX : i.clientX, a.touchObject.curY void 0 ! n ? n0.pageY : i.clientY, a.touchObject.swipeLength Math.round(Math.sqrt(Math.pow(a.touchObject.curX - a.touchObject.startX, 2))), !0 a.options.verticalSwiping && (a.touchObject.swipeLength Math.round(Math.sqrt(Math.pow(a.touchObject.curY - a.touchObject.startY, 2)))), s a.swipeDirection(), vertical ! s ? (void 0 ! i.originalEvent && a.touchObject.swipeLength > 4 && i.preventDefault(), o (!1 a.options.rtl ? 1 : -1) * (a.touchObject.curX > a.touchObject.startX ? 1 : -1), !0 a.options.verticalSwiping && (o a.touchObject.curY > a.touchObject.startY ? 1 : -1), t a.touchObject.swipeLength, a.touchObject.edgeHit !1, !1 a.options.infinite && (0 a.currentSlide && right s || a.currentSlide > a.getDotCount() && left s) && (t a.touchObject.swipeLength * a.options.edgeFriction, a.touchObject.edgeHit !0), !1 a.options.vertical ? a.swipeLeft e + t * o : a.swipeLeft e + t * (a.$list.height() / a.listWidth) * o, !0 a.options.verticalSwiping && (a.swipeLeft e + t * o), !0 ! a.options.fade && !1 ! a.options.touchMove && (!0 a.animating ? (a.swipeLeft null, !1) : void a.setCSS(a.swipeLeft))) : void 0) }, e.prototype.swipeStart function(i) { var e, s this; return 1 ! s.touchObject.fingerCount || s.slideCount s.options.slidesToShow ? (s.touchObject {}, !1) : (void 0 ! i.originalEvent && void 0 ! i.originalEvent.touches && (e i.originalEvent.touches0), s.touchObject.startX s.touchObject.curX void 0 ! e ? e.pageX : i.clientX, s.touchObject.startY s.touchObject.curY void 0 ! e ? e.pageY : i.clientY, void(s.dragging !0)) }, e.prototype.unfilterSlides e.prototype.slickUnfilter function() { var i this; null ! i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit()) }, e.prototype.unload function() { var e this; i(.slick-cloned, e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass(slick-slide slick-active slick-visible slick-current).attr(aria-hidden, true).css(width, ) }, e.prototype.unslick function(i) { var e this; e.$slider.trigger(unslick, e, i), e.destroy() }, e.prototype.updateArrows function() { var i this; Math.floor(i.options.slidesToShow / 2), !0 i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass(slick-disabled).attr(aria-disabled, false), i.$nextArrow.removeClass(slick-disabled).attr(aria-disabled, false), 0 i.currentSlide ? (i.$prevArrow.addClass(slick-disabled).attr(aria-disabled, true), i.$nextArrow.removeClass(slick-disabled).attr(aria-disabled, false)) : i.currentSlide > i.slideCount - i.options.slidesToShow && !1 i.options.centerMode ? (i.$nextArrow.addClass(slick-disabled).attr(aria-disabled, true), i.$prevArrow.removeClass(slick-disabled).attr(aria-disabled, false)) : i.currentSlide > i.slideCount - 1 && !0 i.options.centerMode && (i.$nextArrow.addClass(slick-disabled).attr(aria-disabled, true), i.$prevArrow.removeClass(slick-disabled).attr(aria-disabled, false))) }, e.prototype.updateDots function() { var i this; null ! i.$dots && (i.$dots.find(li).removeClass(slick-active).attr(aria-hidden, true), i.$dots.find(li).eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass(slick-active).attr(aria-hidden, false)) }, e.prototype.visibility function() { var i this; documenti.hidden ? (i.paused !0, i.autoPlayClear()) : !0 i.options.autoplay && (i.paused !1, i.autoPlay()) }, e.prototype.initADA function() { var e this; e.$slides.add(e.$slideTrack.find(.slick-cloned)).attr({ aria-hidden: true, tabindex: -1 }).find(a, input, button, select).attr({ tabindex: -1 }), e.$slideTrack.attr(role, listbox), e.$slides.not(e.$slideTrack.find(.slick-cloned)).each(function(s) { i(this).attr({ role: option, aria-describedby: slick-slide + e.instanceUid + s }) }), null ! e.$dots && e.$dots.attr(role, tablist).find(li).each(function(s) { i(this).attr({ role: presentation, aria-selected: false, aria-controls: navigation + e.instanceUid + s, id: slick-slide + e.instanceUid + s }) }).first().attr(aria-selected, true).end().find(button).attr(role, button).end().closest(div).attr(role, toolbar), e.activateADA() }, e.prototype.activateADA function() { this.$slideTrack.find(.slick-active).attr({ aria-hidden: false }).find(a, input, button, select).attr({ tabindex: 0 }) }, e.prototype.focusHandler function() { var e this; e.$slider.on(focus.slick blur.slick, *, function(s) { s.stopImmediatePropagation(); var t i(this); setTimeout(function() { e.isPlay && (t.is(:focus) ? (e.autoPlayClear(), e.paused !0) : (e.paused !1, e.autoPlay())) }, 0) }) }, i.fn.slick function() { var i, s, t this, o arguments0, n Array.prototype.slice.call(arguments, 1), a t.length; for (i 0; a > i; i++) if (object typeof o || void 0 o ? ti.slick new e(ti, o) : s ti.slicko.apply(ti.slick, n), void 0 ! s) return s; return t } }), function(i) { i.youtubePlayer function(e, s) { var t { vid: }; this.settings {}; var o, n, a i(e), e e, l { autoplay: 0, autohide: 1, modestbranding: 0, rel: 0, showinfo: 0, controls: 0, disablekb: 1, enablejsapi: 0, iv_load_policy: 3 }; this.init function() { this.settings i.extend({}, t, s), n 0, loadScript(https://www.youtube.com/player_api, function() { $(window).on(load resize, function() { a.data(youtubePlayer).vidRescale() }); try { a.data(youtubePlayer).onYouTubePlayerAPIReady() } catch (i) {} }) }, this.onYouTubePlayerAPIReady function() { o new YT.Player(a.attr(id), { events: { onReady: function() { o.loadVideoById(a.data(youtubePlayer).settings.vidn), o.mute() }, onStateChange: function(i) { 1 i.data ? $(# + a.attr(id)).addClass(active) : 2 i.data && ($(# + a.attr(id)).removeClass(active), (n + 1) > a.data(youtubePlayer).settings.vid.length - 1 && (n 0), o.loadVideoById(a.data(youtubePlayer).settings.vidn), o.seekTo(a.data(youtubePlayer).settings.vidn.startSeconds)) } }, playerVars: l }), a.data(youtubePlayer).vidRescale() }, this.vidRescale function() { var i $(window).width() + 200, e $(window).height() + 200; i / e > 16 / 9 ? (o.setSize(i, i / 16 * 9), $(.is_video_bg .screen).css({ left: 0px })) : (o.setSize(e / 9 * 16, e), $(.is_video_bg .screen).css({ left: -($(.is_video_bg .screen).outerWidth() - i) / 2 })) }, this.init() }, i.fn.youtubePlayer function(e) { return this.each(function() { if (void 0 i(this).data(youtubePlayer)) { var s new i.youtubePlayer(this, e); i(this).data(youtubePlayer, s) } }) } }(jQuery); // cookie function close() { var e document.getElementById(notification-bottom); e.parentNode.removeChild(e), document.cookie cookie1; path/ } function pageInit() { $(div idnotification-bottom>p>We use cookies to provide you with a better user experience. By continuing to use this website, you consent to our use of cookies in accordance with our a href/cookie-policy>cookie policy/a>./p>a idcloseBtn>×/a>/div>).hide().appendTo($(body)).fadeIn(200); var e document.getElementById(closeBtn); e.addEventListener ? e.addEventListener(click, close, !1) : e.attachEvent ? e.attachEvent(onclick, close) : e.onclick close } document.cookie.match(/^(.*;)?\s*cookie\s*\s*^;+(.*)?$/) || pageInit(); $(body).on(click, ahref*#:not(href#), function (e) { if (location.pathname.replace(/^\//, ) this.pathname.replace(/^\//, ) && location.hostname this.hostname) { var target $(this.hash); var row $(this.hash).closest(.row).offset().top - 90 target target.length ? target : $(name + this.hash.slice(1) + ); if (target.length) { event.preventDefault(); $(html, body).stop().animate({ scrollTop: target.offset().top - 60 }, 1000, function() { var $target $(target); $target.focus(); if ($target.is(:focus)) { return false; } else { $target.attr(tabindex,-1); $target.focus(); } }); } }});var keys {37: 1, 38: 1, 39: 1, 40: 1};function preventDefault(e) { e e || window.event; if (e.preventDefault) e.preventDefault(); e.returnValue false; }function preventDefaultForScrollKeys(e) { if (keyse.keyCode) { preventDefault(e); return false; }}function disableScroll() { if (window.addEventListener) window.addEventListener(DOMMouseScroll, preventDefault, false); window.onwheel preventDefault; window.onmousewheel document.onmousewheel preventDefault; window.ontouchmove preventDefault; document.onkeydown preventDefaultForScrollKeys;}function enableScroll() { if (window.removeEventListener) window.removeEventListener(DOMMouseScroll, preventDefault, false); window.onmousewheel document.onmousewheel null; window.onwheel null; window.ontouchmove null; document.onkeydown null; }$(document).ready(function(){ var pScroll 0; var els $(#header_can, #navigation_can) var notDevice window.matchMedia((min-width: 60rem)) $(window).on(scroll, function() { var cScroll $(this).scrollTop(); var offset if ($(#banner-wrapper).length) { offset #content_can } else if ($(.blog-feed-container).length) { offset .sidebar_links} else { offset .row.clearfix:eq(0) } if ($(this).scrollTop() > $(offset).offset().top && pScroll > cScroll) { if (!els.hasClass(fixed)) { els.addClass(off) setTimeout(function(){ els.addClass(transit fixed) }, 1) } } else { if (els.hasClass(fixed)) { if (!els.find(> *:hover).length) { els.removeClass(fixed) setTimeout(function(){ els.removeClass(off transit).removeAttr(class) }, 200) } } } pScroll cScroll; });});$.fn.scrollLimit function() { return this.on( wheel, function ( e ) { var $this $(this); if (0 > e.originalEvent.deltaY) { /* scrolling up */ return ($this.scrollTop() > 0); } else { /* scrolling down */ return ($this0.scrollHeight > $this.innerHeight() + $this.scrollTop()); } });};$(#nav).scrollLimit()$(#nav-toggle).on(mousedown touchstart, function (e) { if (e.which ! 3) { var state ($(this).prev().hasClass(closed)) ? auto : hidden; var offset window.innerWidth - document.documentElement.clientWidth; if (state hidden) { $(body).addClass(nav-active).css({ padding-right: offset }); $(html, body).css({ overflow: state }); } else { $(body, html).removeClass(nav-active).removeAttr(style) } }});function calcVH() { var iH $(.is-wrapper > div).innerHeight() var iOS /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; if (iOS true) { $(.is-wrapper > div).innerHeight( iH ); }}(function($) { calcVH(); $(window).on(orientationchange, function() { calcVH(); });})(jQuery);var acc document.getElementsByClassName(accordion);var i;for (i 0; i acc.length; i++) { acci.addEventListener(click, function() { this.classList.toggle(active); var panel this.nextElementSibling; if (panel.style.maxHeight) { panel.style.maxHeight null; } else { panel.style.maxHeight panel.scrollHeight + px; } });} var _paq window._paq window._paq || ; _paq.push(trackPageView); _paq.push(enableLinkTracking); (function() { var uhttps://matomo.easysites.uk/; _paq.push(setTrackerUrl, u+matomo.php); _paq.push(setSiteId, 368); var ddocument, gd.createElement(script), sd.getElementsByTagName(script)0; g.typetext/javascript; g.asynctrue; g.srcu+matomo.js; s.parentNode.insertBefore(g,s); })(); $(document).ready(function(){var btndocument.getElementsByClassName(description-toggle);let htmldocument.getElementsByTagName(html);for(var i0;ibtn.length;i++){var setbtni.nextElementSibling;set.style.maxHeightset.style.maxHeight0;if(html0.classList.contains(js)){set.classList.add(hide-content);set.previousElementSibling.querySelector(.icon).classList.remove(ion-chevron-up);set.previousElementSibling.querySelector(.icon).classList.add(ion-chevron-down)}btni.addEventListener(click,function(){var contentthis.nextElementSibling;var iconthis.querySelector(.icon);content.classList.toggle(toggled);if(content.style.maxHeight!0px){content.style.maxHeight0;icon.classList.remove(ion-chevron-up);icon.classList.add(ion-chevron-down)}else{content.style.maxHeightcontent.scrollHeight+px;icon.classList.add(ion-chevron-up);icon.classList.remove(ion-chevron-down)}})}}); }) }); })(); /script> a href# idscroll classscrollup>Scroll/a>/div> link href//www.davidrudgeassociates.com/includes/css/master.css relpreload asstyle />link href//www.davidrudgeassociates.com/includes/css/master.css relstylesheet/>style> body #nav > li:last-child a { background: transparent; margin: .75rem 0; padding: 1rem 1.25rem; width: 15%} body #nav > li:last-child a:hover { background: transparent; } /style> noscript>p>img srchttps://matomo.easysites.uk/matomo.php?idsite368&rec1 styleborder:0; alt />/p>/noscript>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]