├── .gitignore
├── LICENSE
├── README.md
├── about.html
├── contact.html
├── css
├── bootstrap.css
├── bootstrap.min.css
├── clean-blog.css
├── custom.css
├── docs.min.css
└── map.css
├── dicas.html
├── fonts
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
├── img
├── about-bg.jpg
├── contact-bg.jpg
├── home-bg.jpg
├── icon.png
├── logo.gif
├── logo.ico
├── logo.png
├── pin.png
├── post-bg.jpg
└── post-sample-image.jpg
├── index.html
├── js
├── bootstrap.js
├── bootstrap.min.js
├── clean-blog.js
├── custom.js
├── dados.js
├── jquery.js
├── jquery.min.js
└── map.js
├── less
├── clean-blog.less
├── mixins.less
└── variables.less
├── rank.html
└── relatos.html
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | Thumbs.db
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright 2013-2015 Iron Summit Media Strategies, LLC
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
203 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Não Me Calo
4 |
5 | O intuito do projeto Não Me Calo é mapear as áreas onde foram registrados assédios, tanto verbais como físicos, disponibilizando um espaço de compartilhamento de experiências, com depoimentos, rankings e avaliações dos estabelecimentos que possuem falhas na segurança para mulheres.
6 |
7 | Além de registrar ocorrências de abusos e assédios, as mulheres usuárias do website podem pesquisar registros de outros locais e até responder ocorrências de outras mulheres, como uma forma de apoio à vítima ou complemento de informações.
8 | Com base nas informações compartilhadas, podemos cobrar dos estabelecimentos avaliados que se responsabilizem por melhorias na segurança para as mulheres.
9 |
10 | ## Sobre o projeto
11 |
12 | Não Me Calo é um projeto criado por um grupo de cinco meninas durante a edição brasileira do evento [Ignite International Girls Hackaton 2015](http://ignite.globalfundforwomen.org/) , que tem como tema “Como construir iniciativas que resultem em ambientes mais seguros para garotas?”.
13 |
14 | ## Colabore
15 |
16 | O Não Me Calo é um projeto de código aberto, ou seja, você pode usar nosso código-fonte em seus próprios projetos, ou nos ajudar a aprimorar o Não Me Calo!
17 |
18 | Você pode baixar o projeto em [formato ZIP](https://github.com/karenkgs/NaoMeCalo/archive/master.zip), ou pela linha de comando, usando o Git:
19 |
20 | $ git clone https://github.com/karenkgs/NaoMeCalo.git
21 |
22 | Entrar na pasta do projeto:
23 |
24 | $ cd NaoMeCalo
25 |
26 | E para executá-lo, basta abrir as páginas com a extensão `.html` no navegador de sua preferência (Chrome, Firefox, Opera, etc).
27 |
--------------------------------------------------------------------------------
/about.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Não me calo!
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
51 |
52 |
53 |
64 |
65 |
66 |
67 |
68 |
O intuito do projeto é mapear as áreas onde foram registrados assédios, tanto verbais como físicos,
69 | disponibilizando um espaço de compartilhamento de experiências, com depoimentos, rankings e avaliações
70 | dos estabelecimentos que possuem falhas na segurança para mulheres.
71 |
72 |
Além de registrar ocorrências de abusos e assédios, as mulheres usuárias do website podem pesquisar
73 | registros de outros locais e até responder ocorrências de outras mulheres, como uma forma de apoio à
74 | vítima ou complemento de informações.
75 | Com base nas informações compartilhadas, podemos cobrar dos estabelecimentos avaliados que se
76 | responsabilizem por melhorias na segurança para as mulheres.
77 |
78 |
Não Me Calo é um projeto criado por um grupo de cinco meninas durante a edição brasileira do evento
79 | Ignite International Girls Hackathon 2015, que tem como tema “Como construir iniciativas que resultem em
80 | ambientes mais seguros para garotas?”.
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
--------------------------------------------------------------------------------
/contact.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Não me calo!
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
51 |
52 |
53 |
64 |
65 |
149 |
150 |
151 |
152 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 |
--------------------------------------------------------------------------------
/css/clean-blog.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Clean Blog v1.0.0 (http://startbootstrap.com)
3 | * Copyright 2014 Start Bootstrap
4 | * Licensed under Apache 2.0 (https://github.com/IronSummitMedia/startbootstrap/blob/gh-pages/LICENSE)
5 | */
6 |
7 | body {
8 | font-family: 'Lora', 'Times New Roman', serif;
9 | font-size: 20px;
10 | color: #404040;
11 | }
12 | p {
13 | line-height: 1.5;
14 | margin: 30px 0;
15 | }
16 | p a {
17 | text-decoration: underline;
18 | }
19 | h1,
20 | h2,
21 | h3,
22 | h4,
23 | h5,
24 | h6 {
25 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
26 | font-weight: 800;
27 | }
28 | a {
29 | color: #404040;
30 | }
31 | a:hover,
32 | a:focus {
33 | color: #0085a1;
34 | }
35 | a img:hover,
36 | a img:focus {
37 | cursor: zoom-in;
38 | }
39 | blockquote {
40 | color: #808080;
41 | font-style: italic;
42 | }
43 | hr.small {
44 | max-width: 100px;
45 | margin: 15px auto;
46 | border-width: 4px;
47 | border-color: white;
48 | }
49 | .navbar-custom {
50 | position: absolute;
51 | top: 0;
52 | left: 0;
53 | width: 100%;
54 | z-index: 3;
55 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
56 | }
57 | .navbar-custom .navbar-brand {
58 | font-weight: 800;
59 | }
60 | .navbar-custom .nav li a {
61 | text-transform: uppercase;
62 | font-size: 12px;
63 | font-weight: 800;
64 | letter-spacing: 1px;
65 | }
66 | @media only screen and (min-width: 768px) {
67 | .navbar-custom {
68 | background: transparent;
69 | border-bottom: 1px solid transparent;
70 | }
71 | .navbar-custom .navbar-brand {
72 | color: white;
73 | padding: 20px;
74 | }
75 | .navbar-custom .navbar-brand:hover,
76 | .navbar-custom .navbar-brand:focus {
77 | color: rgba(255, 255, 255, 0.8);
78 | }
79 | .navbar-custom .nav li a {
80 | color: white;
81 | padding: 20px;
82 | }
83 | .navbar-custom .nav li a:hover,
84 | .navbar-custom .nav li a:focus {
85 | color: rgba(255, 255, 255, 0.8);
86 | }
87 | }
88 | @media only screen and (min-width: 1170px) {
89 | .navbar-custom {
90 | -webkit-transition: background-color 0.3s;
91 | -moz-transition: background-color 0.3s;
92 | transition: background-color 0.3s;
93 | /* Force Hardware Acceleration in WebKit */
94 | -webkit-transform: translate3d(0, 0, 0);
95 | -moz-transform: translate3d(0, 0, 0);
96 | -ms-transform: translate3d(0, 0, 0);
97 | -o-transform: translate3d(0, 0, 0);
98 | transform: translate3d(0, 0, 0);
99 | -webkit-backface-visibility: hidden;
100 | backface-visibility: hidden;
101 | }
102 | .navbar-custom.is-fixed {
103 | /* when the user scrolls down, we hide the header right above the viewport */
104 | position: fixed;
105 | top: -61px;
106 | background-color: rgba(255, 255, 255, 0.9);
107 | border-bottom: 1px solid #f2f2f2;
108 | -webkit-transition: -webkit-transform 0.3s;
109 | -moz-transition: -moz-transform 0.3s;
110 | transition: transform 0.3s;
111 | }
112 | .navbar-custom.is-fixed .navbar-brand {
113 | color: #404040;
114 | }
115 | .navbar-custom.is-fixed .navbar-brand:hover,
116 | .navbar-custom.is-fixed .navbar-brand:focus {
117 | color: #0085a1;
118 | }
119 | .navbar-custom.is-fixed .nav li a {
120 | color: #404040;
121 | }
122 | .navbar-custom.is-fixed .nav li a:hover,
123 | .navbar-custom.is-fixed .nav li a:focus {
124 | color: #0085a1;
125 | }
126 | .navbar-custom.is-visible {
127 | /* if the user changes the scrolling direction, we show the header */
128 | -webkit-transform: translate3d(0, 100%, 0);
129 | -moz-transform: translate3d(0, 100%, 0);
130 | -ms-transform: translate3d(0, 100%, 0);
131 | -o-transform: translate3d(0, 100%, 0);
132 | transform: translate3d(0, 100%, 0);
133 | }
134 | }
135 | .intro-header {
136 | background-color: #808080;
137 | background: no-repeat center center;
138 | background-attachment: scroll;
139 | -webkit-background-size: cover;
140 | -moz-background-size: cover;
141 | background-size: cover;
142 | -o-background-size: cover;
143 | margin-bottom: 50px;
144 | }
145 | .intro-header .site-heading,
146 | .intro-header .post-heading,
147 | .intro-header .page-heading {
148 | padding: 100px 0 50px;
149 | color: white;
150 | }
151 | @media only screen and (min-width: 768px) {
152 | .intro-header .site-heading,
153 | .intro-header .post-heading,
154 | .intro-header .page-heading {
155 | padding: 150px 0;
156 | }
157 | }
158 | .intro-header .site-heading,
159 | .intro-header .page-heading {
160 | text-align: center;
161 | }
162 | .intro-header .site-heading h1,
163 | .intro-header .page-heading h1 {
164 | margin-top: 0;
165 | font-size: 50px;
166 | }
167 | .intro-header .site-heading .subheading,
168 | .intro-header .page-heading .subheading {
169 | font-size: 24px;
170 | line-height: 1.1;
171 | display: block;
172 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
173 | font-weight: 300;
174 | margin: 10px 0 0;
175 | }
176 | @media only screen and (min-width: 768px) {
177 | .intro-header .site-heading h1,
178 | .intro-header .page-heading h1 {
179 | font-size: 80px;
180 | }
181 | }
182 | .intro-header .post-heading h1 {
183 | font-size: 35px;
184 | }
185 | .intro-header .post-heading .subheading,
186 | .intro-header .post-heading .meta {
187 | line-height: 1.1;
188 | display: block;
189 | }
190 | .intro-header .post-heading .subheading {
191 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
192 | font-size: 24px;
193 | margin: 10px 0 30px;
194 | font-weight: 600;
195 | }
196 | .intro-header .post-heading .meta {
197 | font-family: 'Lora', 'Times New Roman', serif;
198 | font-style: italic;
199 | font-weight: 300;
200 | font-size: 20px;
201 | }
202 | .intro-header .post-heading .meta a {
203 | color: white;
204 | }
205 | @media only screen and (min-width: 768px) {
206 | .intro-header .post-heading h1 {
207 | font-size: 55px;
208 | }
209 | .intro-header .post-heading .subheading {
210 | font-size: 30px;
211 | }
212 | }
213 | .post-preview > a {
214 | color: #404040;
215 | }
216 | .post-preview > a:hover,
217 | .post-preview > a:focus {
218 | text-decoration: none;
219 | color: #0085a1;
220 | }
221 | .post-preview > a > .post-title {
222 | font-size: 30px;
223 | margin-top: 30px;
224 | margin-bottom: 10px;
225 | }
226 | .post-preview > a > .post-subtitle {
227 | margin: 0;
228 | font-weight: 300;
229 | margin-bottom: 10px;
230 | }
231 | .post-preview > .post-meta {
232 | color: #808080;
233 | font-size: 18px;
234 | font-style: italic;
235 | margin-top: 0;
236 | }
237 | .post-preview > .post-meta > a {
238 | text-decoration: none;
239 | color: #404040;
240 | }
241 | .post-preview > .post-meta > a:hover,
242 | .post-preview > .post-meta > a:focus {
243 | color: #0085a1;
244 | text-decoration: underline;
245 | }
246 | @media only screen and (min-width: 768px) {
247 | .post-preview > a > .post-title {
248 | font-size: 36px;
249 | }
250 | }
251 | .section-heading {
252 | font-size: 36px;
253 | margin-top: 60px;
254 | font-weight: 700;
255 | }
256 | .caption {
257 | text-align: center;
258 | font-size: 14px;
259 | padding: 10px;
260 | font-style: italic;
261 | margin: 0;
262 | display: block;
263 | border-bottom-right-radius: 5px;
264 | border-bottom-left-radius: 5px;
265 | }
266 | footer {
267 | padding: 50px 0 65px;
268 | }
269 | footer .list-inline {
270 | margin: 0;
271 | padding: 0;
272 | }
273 | footer .copyright {
274 | font-size: 14px;
275 | text-align: center;
276 | margin-bottom: 0;
277 | }
278 | .floating-label-form-group {
279 | font-size: 14px;
280 | position: relative;
281 | margin-bottom: 0;
282 | padding-bottom: 0.5em;
283 | border-bottom: 1px solid #eeeeee;
284 | }
285 | .floating-label-form-group input,
286 | .floating-label-form-group textarea {
287 | z-index: 1;
288 | position: relative;
289 | padding-right: 0;
290 | padding-left: 0;
291 | border: none;
292 | border-radius: 0;
293 | font-size: 1.5em;
294 | background: none;
295 | box-shadow: none !important;
296 | resize: none;
297 | }
298 | .floating-label-form-group label {
299 | display: block;
300 | z-index: 0;
301 | position: relative;
302 | top: 2em;
303 | margin: 0;
304 | font-size: 0.85em;
305 | line-height: 1.764705882em;
306 | vertical-align: middle;
307 | vertical-align: baseline;
308 | opacity: 0;
309 | -webkit-transition: top 0.3s ease,opacity 0.3s ease;
310 | -moz-transition: top 0.3s ease,opacity 0.3s ease;
311 | -ms-transition: top 0.3s ease,opacity 0.3s ease;
312 | transition: top 0.3s ease,opacity 0.3s ease;
313 | }
314 | .floating-label-form-group::not(:first-child) {
315 | padding-left: 14px;
316 | border-left: 1px solid #eeeeee;
317 | }
318 | .floating-label-form-group-with-value label {
319 | top: 0;
320 | opacity: 1;
321 | }
322 | .floating-label-form-group-with-focus label {
323 | color: #0085a1;
324 | }
325 | form .row:first-child .floating-label-form-group {
326 | border-top: 1px solid #eeeeee;
327 | }
328 | .btn {
329 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
330 | text-transform: uppercase;
331 | font-size: 14px;
332 | font-weight: 800;
333 | letter-spacing: 1px;
334 | border-radius: 0;
335 | padding: 15px 25px;
336 | }
337 | .btn-lg {
338 | font-size: 16px;
339 | padding: 25px 35px;
340 | }
341 | .btn-default:hover,
342 | .btn-default:focus {
343 | background-color: #0085a1;
344 | border: 1px solid #0085a1;
345 | color: white;
346 | }
347 | .pager {
348 | margin: 20px 0 0;
349 | }
350 | .pager li > a,
351 | .pager li > span {
352 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
353 | text-transform: uppercase;
354 | font-size: 14px;
355 | font-weight: 800;
356 | letter-spacing: 1px;
357 | padding: 15px 25px;
358 | background-color: white;
359 | border-radius: 0;
360 | }
361 | .pager li > a:hover,
362 | .pager li > a:focus {
363 | color: white;
364 | background-color: #0085a1;
365 | border: 1px solid #0085a1;
366 | }
367 | .pager .disabled > a,
368 | .pager .disabled > a:hover,
369 | .pager .disabled > a:focus,
370 | .pager .disabled > span {
371 | color: #808080;
372 | background-color: #404040;
373 | cursor: not-allowed;
374 | }
375 | ::-moz-selection {
376 | color: white;
377 | text-shadow: none;
378 | background: #0085a1;
379 | }
380 | ::selection {
381 | color: white;
382 | text-shadow: none;
383 | background: #0085a1;
384 | }
385 | img::selection {
386 | color: white;
387 | background: transparent;
388 | }
389 | img::-moz-selection {
390 | color: white;
391 | background: transparent;
392 | }
393 | body {
394 | webkit-tap-highlight-color: #0085a1;
395 | }
396 |
--------------------------------------------------------------------------------
/css/custom.css:
--------------------------------------------------------------------------------
1 | .lblForm{
2 | font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
3 | }
4 |
5 | #txtArea{
6 | height: 180px;
7 |
8 | }
9 |
10 | .inpt{
11 | margin-top: 4px;
12 | font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
13 |
14 | }
15 |
16 | .navbar-inverse .navbar-brand {
17 | color: #393040;
18 | }
19 |
20 | .navbar-inverse .navbar-toggle .icon-bar {
21 | background-color: #000;
22 |
23 | }
24 |
25 | .navbar-right{
26 | margin-top: 4%;
27 | }
28 |
29 | .navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.active>a:focus, .navbar-inverse .navbar-nav>.active>a:hover {
30 | color: #393040;
31 | background-color: #fff;
32 | }
33 |
34 | .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
35 | max-height: 180px;
36 | }
37 |
38 | .intro-header .site-heading, .intro-header .post-heading, .intro-header .page-heading {
39 | padding: 150px 0px 0px 0px;
40 | }
41 |
42 | .descricaomapa {
43 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
44 | font-weight: light;
45 | text-align: center;
46 | }
47 |
48 | .navbar-inverse{
49 | border-bottom: none;
50 | background-color: #fff;
51 | border-color: #fff;
52 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
53 | }
54 |
55 | .navbar-inverse .nav li a{
56 | text-transform: uppercase;
57 | font-size: 12px;
58 | font-weight: 800;
59 | letter-spacing: 1px;
60 | color: #393040;
61 | background-color: #fff;
62 | }
63 |
64 | .site-heading h1 {
65 | color: #393040;
66 | }
67 |
68 | span.subheading {
69 | color: #3c4759;
70 | }
71 |
72 | #registrar, #enviar{
73 | background-color: #9955bb;
74 | border: 1px solid #393040;
75 | color: #fff;
76 | }
77 |
78 | #registrar:hover, #registrar:focus, #enviar:hover, #enviar:focus{
79 | background-color: #bfb063;
80 | border-color: #6d5187;
81 | }
82 |
83 | #btnGroup{
84 | text-align: center;
85 | width: 100%;
86 | }
87 |
88 | .intro-header .site-heading h1 {
89 | font-size: 45px;
90 | }
91 |
92 | #enviar{
93 | width: 25em;
94 | }
95 |
96 | .navbar-inverse .nav li a:hover, .navbar-inverse .nav li a:focus {
97 | color: #75667f;
98 | }
99 |
100 |
101 | /* *********************************
102 | Variables
103 | ********************************** */
104 | /* *********************************
105 | Some Style Overrides on Bootstrap
106 | ********************************** */
107 |
108 |
109 | .navbar-inverse .navbar-toggle {
110 | border: 1px solid #333;
111 | }
112 |
113 | .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
114 | border-color: transparent;
115 | }
116 | @media (max-width: 767px) {
117 | .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
118 | background: #393040;
119 | }
120 | }
121 |
122 | /* *********************************
123 | Toolbar Logo
124 | ********************************** */
125 | .small-logo-container {
126 | padding-top: 50px;
127 | margin-top: 15%;
128 | height: 55px;
129 | overflow: hidden;
130 | }
131 |
132 | .small-logo {
133 | color: #393040;
134 | font-size: 1.7em;
135 | padding-bottom: 2px;
136 | font-family: 'Montserrat';
137 | }
138 |
139 | /* *********************************
140 | Big Logo
141 | ********************************** */
142 | .big-logo-row {
143 | background: white;
144 | }
145 | .big-logo-row .big-logo-container {
146 | padding-top: 10px;
147 | }
148 | #big-logo {
149 | height: 10em;
150 | margin: 0;
151 | padding: 0 0 15px 0;
152 | cursor: pointer;
153 | }
154 | @media (min-width: 300px) {
155 | #big-logo {
156 | height: 5em;
157 | }
158 | }
159 | @media (min-width: 440px) {
160 | #big-logo {
161 | height: 6em;
162 | }
163 | }
164 | @media (min-width: 500px) {
165 | #big-logo {
166 | height: 7em;
167 | }
168 | }
169 | @media (min-width: 630px) {
170 | #big-logo {
171 | height: 7.5em;
172 | }
173 | }
174 | @media (min-width: 768px) {
175 | #big-logo {
176 | height: 8em;
177 | padding-bottom: 30px;
178 | }
179 | }
180 | @media (min-width: 1200px) {
181 | #big-logo {
182 | height: 10em;
183 | }
184 | }
185 |
186 |
187 | /* .intro-header .site-heading, .intro-header .post-heading, .intro-header .page-heading {
188 | padding-bottom: 0px;
189 | padding-top: 150px;
190 | }
191 |
192 | .navbar-brand {
193 | float: left;
194 | // height: 170px;
195 | }
196 |
197 | .navbar-custom .navbar-brand {
198 | padding: 0px 20px 20px 20px;
199 | }
200 |
201 | .navbar-right {
202 | margin-top: 25px;
203 | }
204 |
205 | .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse {
206 | max-height: 80px;
207 |
208 | .container-fluid {
209 | padding-right: 40px;
210 | padding-left: 95px;
211 | margin-right: auto;
212 | margin-left: auto;
213 | }
214 |
215 | .navbar-custom .navbar-brand {
216 | color: #393040;
217 | padding: 20px;
218 | }
219 |
220 |
221 | .navbar-custom .nav li a{
222 | color: #393040;
223 | padding: 20px;
224 | background-color: #fff;
225 | }
226 |
227 | } */
228 |
229 |
230 |
--------------------------------------------------------------------------------
/css/docs.min.css:
--------------------------------------------------------------------------------
1 | .hll{background-color:#ffc}.c{color:#999}.err{color:#A00;background-color:#FAA}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#FCC;border:1px solid #C00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#CFC;border:1px solid #0C0}.go{color:#AAA}.gp{color:#009}.gu{color:#030}.gt{color:#9C6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#F60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0A8}.no{color:#360}.nd{color:#99F}.ni{color:#999}.ne{color:#C00}.nf{color:#C0F}.nl{color:#99F}.nn{color:#0CF}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#F60}.mh{color:#F60}.mi{color:#F60}.mo{color:#F60}.sb{color:#C30}.sc{color:#C30}.sd{color:#C30;font-style:italic}.s2{color:#C30}.se{color:#C30}.sh{color:#C30}.si{color:#A00}.sx{color:#C30}.sr{color:#3AA}.s1{color:#C30}.ss{color:#FC3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#F60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}@font-face{font-family:anchorjs-link;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg6v8yoAAAC8AAAAYGNtYXDL8RqdAAABHAAAADxnYXNwAAAAEAAAAVgAAAAIZ2x5Zkm2oNUAAAFgAAABWGhlYWQAHd4cAAACuAAAADZoaGVhB3sECwAAAvAAAAAkaG10eAYAAEcAAAMUAAAADGxvY2EACgCsAAADIAAAAAhtYXhwAAYAcAAAAygAAAAgbmFtZUQXtNYAAANIAAABOXBvc3QAAwAAAAAEhAAAACAAAwQAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACDmAAPA/8D/wAPAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEACgAAAAGAAQAAQACACDmAP//AAAAIOYA////4RoCAAEAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAIARwAHA7kDeQA2AG0AAAEnLgEiBg8BDgEUFh8BHgMXNy4DLwEuATQ2PwE+ATIWHwEeARQGDwEeAxU3PgE0JicBLgMnBx4DHwEeARQGDwEOASImLwEuATQ2PwEuAzUHDgEUFh8BHgEyNj8BPgE0Ji8BA7kEI1ldWiPaIyQkIwQDBgYGBFAEBwYHAwQTExMT2xMwMjETBBMTExNjBwkGA5gkIyMk/r4DBgYGBFAEBwYHAwQTExMT2xMwMjETBBMTExNjBwkGA5gkIyMkBCNZXVoj2iMkJCMEA3UEJCMjJNojWV1aIwQDBgUFA1ACBQUFAwQUMDIxE9oTExMTBBMxMjATYxAhISIRmSNaXVkj/sYDBgUFA1ACBQUFAwQUMDIxE9oTExMTBBMxMjATYxAhISIRmSNaXVkjBCQjIyTaI1ldWiMEAAEAAAABAABR/4xQXw889QALBAAAAAAAzqNM0wAAAADOo0zTAAAAAAO5A3kAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAABHA7kAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAgAAAAQAAEcAAAAAAAoArAABAAAAAwBuAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoAKABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoAKABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADAALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAATwAAsAAAAABKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDq/zKmNtYXAAAAFoAAAAPAAAADzL8RqdZ2FzcAAAAaQAAAAIAAAACAAAABBnbHlmAAABrAAAAVgAAAFYSbag1WhlYWQAAAMEAAAANgAAADYAHd4caGhlYQAAAzwAAAAkAAAAJAd7BAtobXR4AAADYAAAAAwAAAAMBgAAR2xvY2EAAANsAAAACAAAAAgACgCsbWF4cAAAA3QAAAAgAAAAIAAGAHBuYW1lAAADlAAAATkAAAE5RBe01nBvc3QAAATQAAAAIAAAACAAAwAAAAMEAAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAg5gADwP/A/8ADwABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAAoAAAABgAEAAEAAgAg5gD//wAAACDmAP///+EaAgABAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAACAEcABwO5A3kANgBtAAABJy4BIgYPAQ4BFBYfAR4DFzcuAy8BLgE0Nj8BPgEyFh8BHgEUBg8BHgMVNz4BNCYnAS4DJwceAx8BHgEUBg8BDgEiJi8BLgE0Nj8BLgM1Bw4BFBYfAR4BMjY/AT4BNCYvAQO5BCNZXVoj2iMkJCMEAwYGBgRQBAcGBwMEExMTE9sTMDIxEwQTExMTYwcJBgOYJCMjJP6+AwYGBgRQBAcGBwMEExMTE9sTMDIxEwQTExMTYwcJBgOYJCMjJAQjWV1aI9ojJCQjBAN1BCQjIyTaI1ldWiMEAwYFBQNQAgUFBQMEFDAyMRPaExMTEwQTMTIwE2MQISEiEZkjWl1ZI/7GAwYFBQNQAgUFBQMEFDAyMRPaExMTEwQTMTIwE2MQISEiEZkjWl1ZIwQkIyMk2iNZXVojBAABAAAAAQAAUf+MUF8PPPUACwQAAAAAAM6jTNMAAAAAzqNM0wAAAAADuQN5AAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAARwO5AAEAAAAAAAAAAAAAAAAAAAADAAAAAAIAAAAEAABHAAAAAAAKAKwAAQAAAAMAbgACAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA4AAAABAAAAAAACAA4ARwABAAAAAAADAA4AJAABAAAAAAAEAA4AVQABAAAAAAAFABYADgABAAAAAAAGAAcAMgABAAAAAAAKACgAYwADAAEECQABAA4AAAADAAEECQACAA4ARwADAAEECQADAA4AJAADAAEECQAEAA4AVQADAAEECQAFABYADgADAAEECQAGAA4AOQADAAEECQAKACgAYwBpAGMAbwBtAG8AbwBuAFYAZQByAHMAaQBvAG4AIAAwAC4AMABpAGMAbwBtAG8AbwBuaWNvbW9vbgBpAGMAbwBtAG8AbwBuAFIAZQBnAHUAbABhAHIAaQBjAG8AbQBvAG8AbgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4AAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');font-weight:400;font-style:normal}.anchorjs-icon{font-family:anchorjs-link;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.anchorjs-link{float:left;width:1em;height:1em;margin-left:-1.2em;opacity:0;color:inherit;text-align:center}@media (max-width:480px){.anchorjs-link{display:none}}.anchorjs-link:focus,:hover>.anchorjs-link{opacity:.75;transition:color .16s linear}:hover>.anchorjs-link:hover{opacity:1;text-decoration:none}.anchorjs-icon{font-size:60%;vertical-align:.2em}.anchorjs-icon:before{content:"\e600"}/*!
2 | * Bootstrap Docs (http://getbootstrap.com)
3 | * Copyright 2011-2014 Twitter, Inc.
4 | * Licensed under the Creative Commons Attribution 3.0 Unported License. For
5 | * details, see http://creativecommons.org/licenses/by/3.0/.
6 | */body{position:relative}.table code{font-size:13px;font-weight:400}.btn-outline{color:#563d7c;background-color:transparent;border-color:#563d7c}.btn-outline:active,.btn-outline:focus,.btn-outline:hover{color:#fff;background-color:#563d7c;border-color:#563d7c}.btn-outline-inverse{color:#fff;background-color:transparent;border-color:#cdbfe3}.btn-outline-inverse:active,.btn-outline-inverse:focus,.btn-outline-inverse:hover{color:#563d7c;text-shadow:none;background-color:#fff;border-color:#fff}.bs-docs-booticon{display:block;font-weight:500;color:#fff;text-align:center;cursor:default;background-color:#563d7c;border-radius:15%}.bs-docs-booticon-sm{width:30px;height:30px;font-size:20px;line-height:28px}.bs-docs-booticon-lg{width:144px;height:144px;font-size:108px;line-height:140px}.bs-docs-booticon-inverse{color:#563d7c;background-color:#fff}.bs-docs-booticon-outline{background-color:transparent;border:1px solid #cdbfe3}#skippy{display:block;padding:1em;color:#fff;background-color:#6f5499;outline:0}#skippy .skiplink-text{padding:.5em;outline:1px dotted}#content:focus{outline:0}.bs-docs-nav{margin-bottom:0;background-color:#fff;border-bottom:0}.bs-home-nav .bs-nav-b{display:none}.bs-docs-nav .navbar-brand,.bs-docs-nav .navbar-nav>li>a{font-weight:500;color:#563d7c}.bs-docs-nav .navbar-nav>.active>a,.bs-docs-nav .navbar-nav>.active>a:hover,.bs-docs-nav .navbar-nav>li>a:hover{color:#463265;background-color:#f9f9f9}.bs-docs-nav .navbar-toggle .icon-bar{background-color:#563d7c}.bs-docs-nav .navbar-header .navbar-toggle{border-color:#fff}.bs-docs-nav .navbar-header .navbar-toggle:focus,.bs-docs-nav .navbar-header .navbar-toggle:hover{background-color:#f9f9f9;border-color:#f9f9f9}.bs-docs-footer{padding-top:40px;padding-bottom:40px;margin-top:100px;color:#767676;text-align:center;border-top:1px solid #e5e5e5}.bs-docs-footer-links{padding-left:0;margin-top:20px}.bs-docs-footer-links li{display:inline;padding:0 2px}.bs-docs-footer-links li:first-child{padding-left:0}@media (min-width:768px){.bs-docs-footer p{margin-bottom:0}}.bs-docs-social{margin-bottom:20px;text-align:center}.bs-docs-social-buttons{display:inline-block;padding-left:0;margin-bottom:0;list-style:none}.bs-docs-social-buttons li{display:inline-block;padding:5px 8px;line-height:1}.bs-docs-social-buttons .twitter-follow-button{width:225px!important}.bs-docs-social-buttons .twitter-share-button{width:98px!important}.github-btn{overflow:hidden;border:0}.bs-docs-header,.bs-docs-masthead{position:relative;padding:30px 15px;color:#cdbfe3;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1);background-color:#6f5499;background-image:-webkit-gradient(linear,left top,left bottom,from(#563d7c),to(#6f5499));background-image:-webkit-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:-o-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:linear-gradient(to bottom,#563d7c 0,#6f5499 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#563d7c', endColorstr='#6F5499', GradientType=0);background-repeat:repeat-x}.bs-docs-masthead .bs-docs-booticon{margin:0 auto 30px}.bs-docs-masthead h1{font-weight:300;line-height:1;color:#fff}.bs-docs-masthead .lead{margin:0 auto 30px;font-size:20px;color:#fff}.bs-docs-masthead .version{margin-top:-15px;margin-bottom:30px;color:#9783b9}.bs-docs-masthead .btn{width:100%;padding:15px 30px;font-size:20px}@media (min-width:480px){.bs-docs-masthead .btn{width:auto}}@media (min-width:768px){.bs-docs-masthead{padding:80px 0}.bs-docs-masthead h1{font-size:60px}.bs-docs-masthead .lead{font-size:24px}}@media (min-width:992px){.bs-docs-masthead .lead{width:80%;font-size:30px}}.bs-docs-header{margin-bottom:40px;font-size:20px}.bs-docs-header h1{margin-top:0;color:#fff}.bs-docs-header p{margin-bottom:0;font-weight:300;line-height:1.4}.bs-docs-header .container{position:relative}@media (min-width:768px){.bs-docs-header{padding-top:60px;padding-bottom:60px;font-size:24px;text-align:left}.bs-docs-header h1{font-size:60px;line-height:1}}@media (min-width:992px){.bs-docs-header h1,.bs-docs-header p{margin-right:380px}}.carbonad{width:auto!important;height:auto!important;padding:20px!important;margin:30px -30px -31px!important;overflow:hidden;font-size:13px!important;line-height:16px!important;text-align:left;background:0 0!important;border:solid #866ab3!important;border-width:1px 0!important}.carbonad-img{margin:0!important}.carbonad-tag,.carbonad-text{display:block!important;float:none!important;width:auto!important;height:auto!important;margin-left:145px!important;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important}.carbonad-text{padding-top:0!important}.carbonad-tag{color:inherit!important;text-align:left!important}.carbonad-tag a,.carbonad-text a{color:#fff!important}.carbonad #azcarbon>img{display:none}@media (min-width:480px){.carbonad{width:330px!important;margin:20px auto!important;border-width:1px!important;border-radius:4px}.bs-docs-masthead .carbonad{margin:50px auto 0!important}}@media (min-width:768px){.carbonad{margin-right:0!important;margin-left:0!important}}@media (min-width:992px){.carbonad{position:absolute;top:0;right:15px;width:330px!important;padding:15px!important;margin:0!important}.bs-docs-masthead .carbonad{position:static}}.bs-docs-featurette{padding-top:40px;padding-bottom:40px;font-size:16px;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-bottom:1px solid #e5e5e5}.bs-docs-featurette+.bs-docs-footer{margin-top:0;border-top:0}.bs-docs-featurette-title{margin-bottom:5px;font-size:30px;font-weight:400;color:#333}.half-rule{width:100px;margin:40px auto}.bs-docs-featurette h3{margin-bottom:5px;font-weight:400;color:#333}.bs-docs-featurette-img{display:block;margin-bottom:20px;color:#333}.bs-docs-featurette-img:hover{color:#337ab7;text-decoration:none}.bs-docs-featurette-img img{display:block;margin-bottom:15px}@media (min-width:480px){.bs-docs-featurette .img-responsive{margin-top:30px}}@media (min-width:768px){.bs-docs-featurette{padding-top:100px;padding-bottom:100px}.bs-docs-featurette-title{font-size:40px}.bs-docs-featurette .lead{max-width:80%;margin-right:auto;margin-left:auto}.bs-docs-featurette .img-responsive{margin-top:0}}.bs-docs-featured-sites{margin-right:-1px;margin-left:-1px}.bs-docs-featured-sites .col-xs-6{padding:1px}.bs-docs-featured-sites .img-responsive{margin-top:0}@media (min-width:768px){.bs-docs-featured-sites .col-sm-3:first-child img{border-top-left-radius:4px;border-bottom-left-radius:4px}.bs-docs-featured-sites .col-sm-3:last-child img{border-top-right-radius:4px;border-bottom-right-radius:4px}}.bs-examples .thumbnail{margin-bottom:10px}.bs-examples h4{margin-bottom:5px}.bs-examples p{margin-bottom:20px}@media (max-width:480px){.bs-examples{margin-right:-10px;margin-left:-10px}.bs-examples>[class^=col-]{padding-right:10px;padding-left:10px}}.bs-docs-sidebar.affix{position:static}@media (min-width:768px){.bs-docs-sidebar{padding-left:20px}}.bs-docs-sidenav{margin-top:20px;margin-bottom:20px}.bs-docs-sidebar .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#767676}.bs-docs-sidebar .nav>li>a:focus,.bs-docs-sidebar .nav>li>a:hover{padding-left:19px;color:#563d7c;text-decoration:none;background-color:transparent;border-left:1px solid #563d7c}.bs-docs-sidebar .nav>.active:focus>a,.bs-docs-sidebar .nav>.active:hover>a,.bs-docs-sidebar .nav>.active>a{padding-left:18px;font-weight:700;color:#563d7c;background-color:transparent;border-left:2px solid #563d7c}.bs-docs-sidebar .nav .nav{display:none;padding-bottom:10px}.bs-docs-sidebar .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}.bs-docs-sidebar .nav .nav>li>a:focus,.bs-docs-sidebar .nav .nav>li>a:hover{padding-left:29px}.bs-docs-sidebar .nav .nav>.active:focus>a,.bs-docs-sidebar .nav .nav>.active:hover>a,.bs-docs-sidebar .nav .nav>.active>a{padding-left:28px;font-weight:500}.back-to-top,.bs-docs-theme-toggle{display:none;padding:4px 10px;margin-top:10px;margin-left:10px;font-size:12px;font-weight:500;color:#999}.back-to-top:hover,.bs-docs-theme-toggle:hover{color:#563d7c;text-decoration:none}.bs-docs-theme-toggle{margin-top:0}@media (min-width:768px){.back-to-top,.bs-docs-theme-toggle{display:block}}@media (min-width:992px){.bs-docs-sidebar .nav>.active>ul{display:block}.bs-docs-sidebar.affix,.bs-docs-sidebar.affix-bottom{width:213px}.bs-docs-sidebar.affix{position:fixed;top:20px}.bs-docs-sidebar.affix-bottom{position:absolute}.bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav{margin-top:0;margin-bottom:0}}@media (min-width:1200px){.bs-docs-sidebar.affix,.bs-docs-sidebar.affix-bottom{width:263px}}.bs-docs-section{margin-bottom:60px}.bs-docs-section:last-child{margin-bottom:0}h1[id]{padding-top:20px;margin-top:0}.bs-callout{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px}.bs-callout h4{margin-top:0;margin-bottom:5px}.bs-callout p:last-child{margin-bottom:0}.bs-callout code{border-radius:3px}.bs-callout+.bs-callout{margin-top:-5px}.bs-callout-danger{border-left-color:#ce4844}.bs-callout-danger h4{color:#ce4844}.bs-callout-warning{border-left-color:#aa6708}.bs-callout-warning h4{color:#aa6708}.bs-callout-info{border-left-color:#1b809e}.bs-callout-info h4{color:#1b809e}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:60px;height:60px;margin:0 5px;border-radius:3px}@media (min-width:768px){.color-swatch{width:100px;height:100px}}.color-swatches .gray-darker{background-color:#222}.color-swatches .gray-dark{background-color:#333}.color-swatches .gray{background-color:#555}.color-swatches .gray-light{background-color:#999}.color-swatches .gray-lighter{background-color:#eee}.color-swatches .brand-primary{background-color:#337ab7}.color-swatches .brand-success{background-color:#5cb85c}.color-swatches .brand-warning{background-color:#f0ad4e}.color-swatches .brand-danger{background-color:#d9534f}.color-swatches .brand-info{background-color:#5bc0de}.color-swatches .bs-purple{background-color:#563d7c}.color-swatches .bs-purple-light{background-color:#c7bfd3}.color-swatches .bs-purple-lighter{background-color:#e5e1ea}.color-swatches .bs-gray{background-color:#f9f9f9}.bs-team .team-member{line-height:32px;color:#555}.bs-team .team-member:hover{color:#333;text-decoration:none}.bs-team .github-btn{float:right;width:180px;height:20px;margin-top:6px}.bs-team img{float:left;width:32px;margin-right:10px;border-radius:4px}.bs-docs-browser-bugs td p{margin-bottom:0}.bs-docs-browser-bugs th:first-child{width:18%}.show-grid{margin-bottom:15px}.show-grid [class^=col-]{padding-top:10px;padding-bottom:10px;background-color:#eee;background-color:rgba(86,61,124,.15);border:1px solid #ddd;border:1px solid rgba(86,61,124,.2)}.bs-example{position:relative;padding:45px 15px 15px;margin:0 -15px 15px;border-color:#e5e5e5 #eee #eee;border-style:solid;border-width:1px 0;-webkit-box-shadow:inset 0 3px 6px rgba(0,0,0,.05);box-shadow:inset 0 3px 6px rgba(0,0,0,.05)}.bs-example:after{position:absolute;top:15px;left:15px;font-size:12px;font-weight:700;color:#959595;text-transform:uppercase;letter-spacing:1px;content:"Example"}.bs-example-padded-bottom{padding-bottom:24px}.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin:-15px -15px 15px;border-width:0 0 1px;border-radius:0}@media (min-width:768px){.bs-example{margin-right:0;margin-left:0;background-color:#fff;border-color:#ddd;border-width:1px;border-radius:4px 4px 0 0;-webkit-box-shadow:none;box-shadow:none}.bs-example+.highlight,.bs-example+.zero-clipboard+.highlight{margin-top:-16px;margin-right:0;margin-left:0;border-width:1px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.bs-example-standalone{border-radius:4px}}.bs-example .container{width:auto}.bs-example>.alert:last-child,.bs-example>.form-control:last-child,.bs-example>.jumbotron:last-child,.bs-example>.list-group:last-child,.bs-example>.navbar:last-child,.bs-example>.panel:last-child,.bs-example>.progress:last-child,.bs-example>.table-responsive:last-child>.table,.bs-example>.table:last-child,.bs-example>.well:last-child,.bs-example>blockquote:last-child,.bs-example>ol:last-child,.bs-example>p:last-child,.bs-example>ul:last-child{margin-bottom:0}.bs-example>p>.close{float:none}.bs-example-type .table .type-info{color:#767676;vertical-align:middle}.bs-example-type .table td{padding:15px 0;border-color:#eee}.bs-example-type .table tr:first-child td{border-top:0}.bs-example-type h1,.bs-example-type h2,.bs-example-type h3,.bs-example-type h4,.bs-example-type h5,.bs-example-type h6{margin:0}.bs-example-bg-classes p{padding:15px}.bs-example>.img-circle,.bs-example>.img-rounded,.bs-example>.img-thumbnail{margin:5px}.bs-example>.table-responsive>.table{background-color:#fff}.bs-example>.btn,.bs-example>.btn-group{margin-top:5px;margin-bottom:5px}.bs-example>.btn-toolbar+.btn-toolbar{margin-top:10px}.bs-example-control-sizing input[type=text]+input[type=text],.bs-example-control-sizing select{margin-top:10px}.bs-example-form .input-group{margin-bottom:10px}.bs-example>textarea.form-control{resize:vertical}.bs-example>.list-group{max-width:400px}.bs-example .navbar:last-child{margin-bottom:0}.bs-navbar-bottom-example,.bs-navbar-top-example{z-index:1;padding:0;overflow:hidden}.bs-navbar-bottom-example .navbar-header,.bs-navbar-top-example .navbar-header{margin-left:0}.bs-navbar-bottom-example .navbar-fixed-bottom,.bs-navbar-top-example .navbar-fixed-top{position:relative;margin-right:0;margin-left:0}.bs-navbar-top-example{padding-bottom:45px}.bs-navbar-top-example:after{top:auto;bottom:15px}.bs-navbar-top-example .navbar-fixed-top{top:-1px}.bs-navbar-bottom-example{padding-top:45px}.bs-navbar-bottom-example .navbar-fixed-bottom{bottom:-1px}.bs-navbar-bottom-example .navbar{margin-bottom:0}@media (min-width:768px){.bs-navbar-bottom-example .navbar-fixed-bottom,.bs-navbar-top-example .navbar-fixed-top{position:absolute}}.bs-example .pagination{margin-top:10px;margin-bottom:10px}.bs-example>.pager{margin-top:0}.bs-example-modal{background-color:#f5f5f5}.bs-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bs-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bs-example>.dropdown>.dropdown-toggle{float:left}.bs-example>.dropdown>.dropdown-menu{position:static;display:block;margin-bottom:5px;clear:left}.bs-example-tabs .nav-tabs{margin-bottom:15px}.bs-example-tooltips{text-align:center}.bs-example-tooltips>.btn{margin-top:5px;margin-bottom:5px}.bs-example-tooltip .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.bs-example-popover{padding-bottom:24px;background-color:#f9f9f9}.bs-example-popover .popover{position:relative;display:block;float:left;width:260px;margin:20px}.scrollspy-example{position:relative;height:200px;margin-top:10px;overflow:auto}.bs-example>.nav-pills-stacked-example{max-width:300px}#collapseExample .well{margin-bottom:0}.bs-events-table>tbody>tr>td:first-child,.bs-events-table>thead>tr>th:first-child{white-space:nowrap}.bs-events-table>thead>tr>th:first-child{width:150px}.js-options-table>thead>tr>th:nth-child(1),.js-options-table>thead>tr>th:nth-child(2){width:100px}.js-options-table>thead>tr>th:nth-child(3){width:50px}.highlight{padding:9px 14px;margin-bottom:14px;background-color:#f7f7f9;border:1px solid #e1e1e8;border-radius:4px}.highlight pre{padding:0;margin-top:0;margin-bottom:0;word-break:normal;white-space:nowrap;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#333}.highlight pre code:first-child{display:inline-block;padding-right:45px}.table-responsive .highlight pre{white-space:normal}.bs-table th small,.responsive-utilities th small{display:block;font-weight:400;color:#999}.responsive-utilities tbody th{font-weight:400}.responsive-utilities td{text-align:center}.responsive-utilities td.is-visible{color:#468847;background-color:#dff0d8!important}.responsive-utilities td.is-hidden{color:#ccc;background-color:#f9f9f9!important}.responsive-utilities-test{margin-top:5px}.responsive-utilities-test .col-xs-6{margin-bottom:10px}.responsive-utilities-test span{display:block;padding:15px 10px;font-size:14px;font-weight:700;line-height:1.1;text-align:center;border-radius:4px}.hidden-on .col-xs-6 .hidden-lg,.hidden-on .col-xs-6 .hidden-md,.hidden-on .col-xs-6 .hidden-sm,.hidden-on .col-xs-6 .hidden-xs,.visible-on .col-xs-6 .hidden-lg,.visible-on .col-xs-6 .hidden-md,.visible-on .col-xs-6 .hidden-sm,.visible-on .col-xs-6 .hidden-xs{color:#999;border:1px solid #ddd}.hidden-on .col-xs-6 .visible-lg-block,.hidden-on .col-xs-6 .visible-md-block,.hidden-on .col-xs-6 .visible-sm-block,.hidden-on .col-xs-6 .visible-xs-block,.visible-on .col-xs-6 .visible-lg-block,.visible-on .col-xs-6 .visible-md-block,.visible-on .col-xs-6 .visible-sm-block,.visible-on .col-xs-6 .visible-xs-block{color:#468847;background-color:#dff0d8;border:1px solid #d6e9c6}.bs-glyphicons{margin:0 -10px 20px;overflow:hidden}.bs-glyphicons-list{padding-left:0;list-style:none}.bs-glyphicons li{float:left;width:25%;height:115px;padding:10px;font-size:10px;line-height:1.4;text-align:center;background-color:#f9f9f9;border:1px solid #fff}.bs-glyphicons .glyphicon{margin-top:5px;margin-bottom:10px;font-size:24px}.bs-glyphicons .glyphicon-class{display:block;text-align:center;word-wrap:break-word}.bs-glyphicons li:hover{color:#fff;background-color:#563d7c}@media (min-width:768px){.bs-glyphicons{margin-right:0;margin-left:0}.bs-glyphicons li{width:12.5%;font-size:12px}}.bs-customizer .toggle{float:right;margin-top:25px}.bs-customizer label{margin-top:10px;font-weight:500;color:#555}.bs-customizer h2{padding-top:30px;margin-top:0;margin-bottom:5px}.bs-customizer h3{margin-bottom:0}.bs-customizer h4{margin-top:15px;margin-bottom:0}.bs-customizer .bs-callout h4{margin-top:0;margin-bottom:5px}.bs-customizer input[type=text]{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background-color:#fafafa}.bs-customizer .help-block{margin-bottom:5px;font-size:12px}#less-section label{font-weight:400}.bs-customize-download .btn-outline{padding:20px}.bs-customizer-alert{position:fixed;top:0;right:0;left:0;z-index:1030;padding:15px 0;color:#fff;background-color:#d9534f;border-bottom:1px solid #b94441;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.bs-customizer-alert .close{margin-top:-4px;font-size:24px}.bs-customizer-alert p{margin-bottom:0}.bs-customizer-alert .glyphicon{margin-right:5px}.bs-customizer-alert pre{margin:10px 0 0;color:#fff;background-color:#a83c3a;border-color:#973634;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.bs-dropzone{position:relative;padding:20px;margin-bottom:20px;color:#777;text-align:center;border:2px dashed #eee;border-radius:4px}.bs-dropzone .import-header{margin-bottom:5px}.bs-dropzone .glyphicon-download-alt{font-size:40px}.bs-dropzone hr{width:100px}.bs-dropzone .lead{margin-bottom:10px;font-weight:400;color:#333}#import-manual-trigger{cursor:pointer}.bs-dropzone p:last-child{margin-bottom:0}.bs-brand-logos{display:table;width:100%;margin-bottom:15px;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:4px}.bs-brand-item{padding:60px 0;text-align:center}.bs-brand-item+.bs-brand-item{border-top:1px solid #fff}.bs-brand-logos .inverse{color:#fff;background-color:#563d7c}.bs-brand-item h1,.bs-brand-item h3{margin-top:0;margin-bottom:0}.bs-brand-item .bs-docs-booticon{margin-right:auto;margin-left:auto}.bs-brand-item .glyphicon{width:30px;height:30px;margin:10px auto -10px;line-height:30px;color:#fff;border-radius:50%}.bs-brand-item .glyphicon-ok{background-color:#5cb85c}.bs-brand-item .glyphicon-remove{background-color:#d9534f}@media (min-width:768px){.bs-brand-item{display:table-cell;width:1%}.bs-brand-item+.bs-brand-item{border-top:0;border-left:1px solid #fff}.bs-brand-item h1{font-size:60px}}.zero-clipboard{position:relative;display:none}.btn-clipboard{position:absolute;top:0;right:0;z-index:10;display:block;padding:5px 8px;font-size:12px;color:#767676;cursor:pointer;background-color:#fff;border:1px solid #e1e1e8;border-radius:0 4px 0 4px}.btn-clipboard-hover{color:#fff;background-color:#563d7c;border-color:#563d7c}@media (min-width:768px){.zero-clipboard{display:block}.bs-example+.zero-clipboard .btn-clipboard{top:-16px;border-top-right-radius:0}}#focusedInput{border-color:#ccc;border-color:rgba(82,168,236,.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:0 0 8px rgba(82,168,236,.6);box-shadow:0 0 8px rgba(82,168,236,.6)}
--------------------------------------------------------------------------------
/css/map.css:
--------------------------------------------------------------------------------
1 | html, body, #map-canvas {
2 | height: 100%;
3 | margin: 0px;
4 | padding: 0px
5 | }
6 |
7 | .map{
8 | height: 60%;
9 | }
10 |
11 | .controls {
12 | margin-top: 16px;
13 | border: 1px solid transparent;
14 | border-radius: 2px 0 0 2px;
15 | box-sizing: border-box;
16 | -moz-box-sizing: border-box;
17 | height: 32px;
18 | outline: none;
19 | box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
20 | }
21 |
22 | #pac-input {
23 | background-color: #fff;
24 | font-family: Roboto;
25 | font-size: 15px;
26 | font-weight: 300;
27 | margin-left: 12px;
28 | padding: 0 11px 0 13px;
29 | text-overflow: ellipsis;
30 | width: 40%;
31 | }
32 |
33 | #pac-input:focus {
34 | border-color: #4d90fe;
35 | margin-left: -1px;
36 | padding-left: 14px; /* Regular padding-left + 1. */
37 | width: 401px;
38 | }
39 |
40 | .pac-container {
41 | font-family: Roboto;
42 | }
43 |
44 | #type-selector {
45 | color: #fff;
46 | background-color: #4d90fe;
47 | padding: 5px 11px 0px 11px;
48 | }
49 |
50 | #type-selector label {
51 | font-family: Roboto;
52 | font-size: 13px;
53 | font-weight: 300;
54 | }
55 |
56 | #target {
57 | width: 345px;
58 | }
59 |
60 | .local{
61 | font-family: 'Montserrat';
62 | font-weight: 200;
63 | color: #393040;
64 | }
65 |
66 | .data{
67 | font-family: 'Montserrat';
68 | font-weight: 200;
69 | font-size: 14px;
70 | color: #75667f;
71 | margin: 10px 0px;
72 | }
73 |
--------------------------------------------------------------------------------
/dicas.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Não me calo!
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
51 |
52 |
53 |
64 |
65 |
66 |
Dicas:
67 |
68 |
Para Falar Sobre Isso:
69 |
70 |
Falar sobre um acontecimento ou trauma é importante, pois é dessa forma que expressamos como nos sentimos.
71 | Enquanto expomos nossa história, recebemos apoio de outras pessoas da comunidade, trocando experiências e
72 | fortalecendo umas as outras. Existem muitos sites e fóruns onde as mulheres podem conversar entre si, conheça
73 | alguns:
74 |
75 |
76 |
77 |
É um site criado para ajudar mulheres que vítimas violência. Caso deseje conversar sobre o ocorrido, há uma seção
78 | anônima de desabafo onde você pode contar sua história, além de questionários que podem ajudar na situação.
79 |
80 |
81 |
82 |
Com mais de 20 mil engajados no Facebook, este site conta histórias de mulheres que receberam cantadas de rua ou
83 | outro tipo de assédio. No site é possível ler depoimentos de outras mulheres, além de escrever o seu
84 | próprio.
85 |
86 |
87 |
88 |
Essa é a página do Facebook de um aplicativo de apoio às vítimas de slut shaming ou revenge porn, isso é, quando
89 | é feita, sem autorização, a divulgação de fotos ou outros conteúdos íntimos na internet.
90 |
91 |
Para Se Informar:
92 |
93 |
Informação é poder. No Brasil, existem muitas ONGs e projetos que apoiam as mulheres vítimas de assédio e abuso.
94 | Informe-se, conheça as leis e projetos criados para proteger as mulheres e saiba onde denunciar abusos.
95 |
96 |
97 |
98 |
É uma Entidade das Nações Unidas para a Igualdade de Gênero e o Empoderamento feminino. Foi criada para resolver
99 | desafios cotidianos das mulheres, por meio da promoção da igualdade de gênero no mundo. A ONG trabalha para a
100 | eliminação da discriminação contra mulheres e meninas, instigar atitudes de autonomia nas mulheres, entre
101 | outros.
102 |
103 |
104 |
105 |
Site oficial da Secretaria de Políticas para Mulheres. Nesse site você encontra informações sobre programas de
106 | combate à violência contra mulher, problemas no mercado de trabalho, empoderamento e participação política,
107 | entre outros.
108 |
109 |
110 |
111 |
Site de apoio do aplicativo Clique180, desenvolvido tanto para as mulheres que são vítimas de violência, como
112 | para todas as pessoas que trabalham com o tema. É um site voltado tanto para as mulheres que sofrem violências
113 | ou abusos e para familiares e amigos que desejam ajuda-las.
114 | Este site e aplicativo foram desenvolvidos pela Secretaria de Políticas para as Mulheres, em parceria com a ONU
115 | Mulheres e a Embaixada Britânica.
116 |
117 |
Lugares úteis:
118 |
119 |
Existem muitos lugares onde você pode encontrar suporte e pedir ajuda. Encontre abaixo uma lista de lugares
120 | úteis
121 |
122 |
Delegacia Especializada de Atendimento a Mulher (DEAM) - Porto Alegre
123 |
124 |
Endereço: Avenida João Pessoa, nº 2050 - Bairro: Azenha - Referência: No Palácio da Polícia
125 | Telefone: (51)3288-2172
126 | E-mail: poa-dm@pc.rs.gov.br
127 |
128 |
Centro de Referência da Mulher Vânia Araújo Machado - Porto Alegre
129 |
130 |
Endereço: Rua Tuiuti, nº 10 - Bairro: Centro - Referência: Esquina com Desembargador André da Rocha
131 | Telefone: 08005410803
132 | E-mail: crm@spm.rs.gov.br
133 |
134 |
Centro de Referência de Atendimento á Mulher Municipal - Márcia Calixto - Porto Alegre
135 |
136 |
Endereço: Rua Siqueira Campos, nº 1184, 16º andar - Bairro: Centro Histórico
137 | Telefone: (51)3289-5102
138 | E-mail: cram@smdh.prefpoa.com.br
139 |
140 |
2º Juizado da Violência Doméstica e Familiar - Porto Alegre
141 |
142 |
Endereço: Rua Márcio Veras Vidor, nº 10, sala 518 - Bairro: Centro
143 | Telefone: (51)3210-6651
144 | E-mail: srposent2jzvdfamm@tj.rs.gov.br
145 |
146 |
1º Juizado da Violência Doméstica e Familiar - Porto Alegre
147 |
148 |
Endereço: Rua Márcio Veras Vidor, nº 10 , Fórum Central, 5º Andar, Sala 501 - Bairro: Praia de Belas
149 | Telefone: (51)3210-6670
150 | Site: http://www.tj.rs.jus.br
151 |
152 |
153 |
Núcleo de Família e de Defesa da Mulher Vítima de Violência - Porto Alegre
154 |
155 |
Endereço: Rua Sete de Setembro, n° 666 - Térreo e 7º Andar - Bairro: Centro
156 | Telefone: (51)3211-2233
157 | E-mail: nudem@dpe.rs.gov.br
158 |
159 |
Núcleo de Combate a Violência Doméstica (NUCLEVID) - Porto Alegre
160 |
161 |
Endereço: Avenida Aureliano de Figueiredo Pinto, nº 80,10º Andar, Torre Norte - Bairro: Praia de Belas
162 | Telefone: (51)3295-1167
163 | E-mail: caocrim@mp.rs.gov.br
164 |
165 |
Hospital Nossa Senhora Conceição - Porto Alegre
166 |
167 |
Endereço: Avenida Francisco Trein, nº 596 - Bairro Cristo Redentor
168 | Telefone: (51)3357-2161
169 | E-mail: alisete@ghc.com.br
170 |
171 |
Hospital Pronto Socorro de Porto Alegre
172 |
173 |
Endereço:Largo Teodoro Herzl, s/nº - Bairro Bom Fim
174 | Telefone: (51)3289-7999
175 |
176 |
Hospital Fêmina - Porto Alegre
177 |
178 |
Endereço: Rua Mostardeiro, nº 17 - Bairro: Moinhos do Vento
179 | Telefone: (51)3314-5200
180 | E-mail: hfe@ghc.com.br
181 |
182 |
Casa de Apoio Viva Maria - Porto Alegre
183 |
184 |
O endereço da casa é sigiloso. Para chegar até o abrigo, a mulher deve primeiro ser atendida nos serviços de
185 | saúde, na Delegacia para a Mulher, nos conselhos tutelares, o em qualquer outro serviço que tenha conhecimento
186 | deste tipo de encaminhamento.
187 |
188 |
189 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/img/about-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/about-bg.jpg
--------------------------------------------------------------------------------
/img/contact-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/contact-bg.jpg
--------------------------------------------------------------------------------
/img/home-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/home-bg.jpg
--------------------------------------------------------------------------------
/img/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/icon.png
--------------------------------------------------------------------------------
/img/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/logo.gif
--------------------------------------------------------------------------------
/img/logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/logo.ico
--------------------------------------------------------------------------------
/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/logo.png
--------------------------------------------------------------------------------
/img/pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/pin.png
--------------------------------------------------------------------------------
/img/post-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/post-bg.jpg
--------------------------------------------------------------------------------
/img/post-sample-image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/karenkgs/NaoMeCalo/ea3166097b34b3ef4f199fc5aa8c44e784e66453/img/post-sample-image.jpg
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Não me calo!
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
51 |
52 |
53 |
66 |
67 | Confira no mapa abaixo os acontecimentos registrados:
68 |
69 |
74 |
75 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
104 |
105 |
115 |
116 |
125 |
126 |
135 |
136 |
149 |
150 |
160 |
161 |
162 | Enviar
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
195 |
196 |
197 |
198 |
199 |
206 |
207 |
208 |
--------------------------------------------------------------------------------
/js/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.2 (http://getbootstrap.com)
3 | * Copyright 2011-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.2",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.2",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.2",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.2",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j ').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.2",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-mp.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.2",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.2",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.2",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()
7 | }var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.2",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
--------------------------------------------------------------------------------
/js/clean-blog.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Clean Blog v1.0.0 (http://startbootstrap.com)
3 | * Copyright 2014 Start Bootstrap
4 | * Licensed under Apache 2.0 (https://github.com/IronSummitMedia/startbootstrap/blob/gh-pages/LICENSE)
5 | */
6 |
7 | // Contact Form Scripts
8 |
9 | $(function() {
10 |
11 | $("input,textarea").jqBootstrapValidation({
12 | preventSubmit: true,
13 | submitError: function($form, event, errors) {
14 | // additional error messages or events
15 | },
16 | submitSuccess: function($form, event) {
17 | event.preventDefault(); // prevent default submit behaviour
18 | // get values from FORM
19 | var name = $("input#name").val();
20 | var email = $("input#email").val();
21 | var phone = $("input#phone").val();
22 | var message = $("textarea#message").val();
23 | var firstName = name; // For Success/Failure Message
24 | // Check for white space in name for Success/Fail message
25 | if (firstName.indexOf(' ') >= 0) {
26 | firstName = name.split(' ').slice(0, -1).join(' ');
27 | }
28 | $.ajax({
29 | url: "././mail/contact_me.php",
30 | type: "POST",
31 | data: {
32 | name: name,
33 | phone: phone,
34 | email: email,
35 | message: message
36 | },
37 | cache: false,
38 | success: function() {
39 | // Success message
40 | $('#success').html("");
41 | $('#success > .alert-success').html("×")
42 | .append(" ");
43 | $('#success > .alert-success')
44 | .append("Your message has been sent. ");
45 | $('#success > .alert-success')
46 | .append('
');
47 |
48 | //clear all fields
49 | $('#contactForm').trigger("reset");
50 | },
51 | error: function() {
52 | // Fail message
53 | $('#success').html("");
54 | $('#success > .alert-danger').html("×")
55 | .append(" ");
56 | $('#success > .alert-danger').append("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!");
57 | $('#success > .alert-danger').append('
');
58 | //clear all fields
59 | $('#contactForm').trigger("reset");
60 | },
61 | })
62 | },
63 | filter: function() {
64 | return $(this).is(":visible");
65 | },
66 | });
67 |
68 | $("a[data-toggle=\"tab\"]").click(function(e) {
69 | e.preventDefault();
70 | $(this).tab("show");
71 | });
72 | });
73 |
74 |
75 | /*When clicking on Full hide fail/success boxes */
76 | $('#name').focus(function() {
77 | $('#success').html('');
78 | });
79 |
80 | // jqBootstrapValidation
81 | // * A plugin for automating validation on Twitter Bootstrap formatted forms.
82 | // *
83 | // * v1.3.6
84 | // *
85 | // * License: MIT - see LICENSE file
86 | // *
87 | // * http://ReactiveRaven.github.com/jqBootstrapValidation/
88 |
89 |
90 | (function( $ ){
91 |
92 | var createdElements = [];
93 |
94 | var defaults = {
95 | options: {
96 | prependExistingHelpBlock: false,
97 | sniffHtml: true, // sniff for 'required', 'maxlength', etc
98 | preventSubmit: true, // stop the form submit event from firing if validation fails
99 | submitError: false, // function called if there is an error when trying to submit
100 | submitSuccess: false, // function called just before a successful submit event is sent to the server
101 | semanticallyStrict: false, // set to true to tidy up generated HTML output
102 | autoAdd: {
103 | helpBlocks: true
104 | },
105 | filter: function () {
106 | // return $(this).is(":visible"); // only validate elements you can see
107 | return true; // validate everything
108 | }
109 | },
110 | methods: {
111 | init : function( options ) {
112 |
113 | var settings = $.extend(true, {}, defaults);
114 |
115 | settings.options = $.extend(true, settings.options, options);
116 |
117 | var $siblingElements = this;
118 |
119 | var uniqueForms = $.unique(
120 | $siblingElements.map( function () {
121 | return $(this).parents("form")[0];
122 | }).toArray()
123 | );
124 |
125 | $(uniqueForms).bind("submit", function (e) {
126 | var $form = $(this);
127 | var warningsFound = 0;
128 | var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
129 | $inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
130 |
131 | $inputs.each(function (i, el) {
132 | var $this = $(el),
133 | $controlGroup = $this.parents(".form-group").first();
134 | if (
135 | $controlGroup.hasClass("warning")
136 | ) {
137 | $controlGroup.removeClass("warning").addClass("error");
138 | warningsFound++;
139 | }
140 | });
141 |
142 | $inputs.trigger("validationLostFocus.validation");
143 |
144 | if (warningsFound) {
145 | if (settings.options.preventSubmit) {
146 | e.preventDefault();
147 | }
148 | $form.addClass("error");
149 | if ($.isFunction(settings.options.submitError)) {
150 | settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true));
151 | }
152 | } else {
153 | $form.removeClass("error");
154 | if ($.isFunction(settings.options.submitSuccess)) {
155 | settings.options.submitSuccess($form, e);
156 | }
157 | }
158 | });
159 |
160 | return this.each(function(){
161 |
162 | // Get references to everything we're interested in
163 | var $this = $(this),
164 | $controlGroup = $this.parents(".form-group").first(),
165 | $helpBlock = $controlGroup.find(".help-block").first(),
166 | $form = $this.parents("form").first(),
167 | validatorNames = [];
168 |
169 | // create message container if not exists
170 | if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
171 | $helpBlock = $('
');
172 | $controlGroup.find('.controls').append($helpBlock);
173 | createdElements.push($helpBlock[0]);
174 | }
175 |
176 | // =============================================================
177 | // SNIFF HTML FOR VALIDATORS
178 | // =============================================================
179 |
180 | // *snort sniff snuffle*
181 |
182 | if (settings.options.sniffHtml) {
183 | var message = "";
184 | // ---------------------------------------------------------
185 | // PATTERN
186 | // ---------------------------------------------------------
187 | if ($this.attr("pattern") !== undefined) {
188 | message = "Not in the expected format";
189 | if ($this.data("validationPatternMessage")) {
190 | message = $this.data("validationPatternMessage");
191 | }
192 | $this.data("validationPatternMessage", message);
193 | $this.data("validationPatternRegex", $this.attr("pattern"));
194 | }
195 | // ---------------------------------------------------------
196 | // MAX
197 | // ---------------------------------------------------------
198 | if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {
199 | var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));
200 | message = "Too high: Maximum of '" + max + "'";
201 | if ($this.data("validationMaxMessage")) {
202 | message = $this.data("validationMaxMessage");
203 | }
204 | $this.data("validationMaxMessage", message);
205 | $this.data("validationMaxMax", max);
206 | }
207 | // ---------------------------------------------------------
208 | // MIN
209 | // ---------------------------------------------------------
210 | if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {
211 | var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));
212 | message = "Too low: Minimum of '" + min + "'";
213 | if ($this.data("validationMinMessage")) {
214 | message = $this.data("validationMinMessage");
215 | }
216 | $this.data("validationMinMessage", message);
217 | $this.data("validationMinMin", min);
218 | }
219 | // ---------------------------------------------------------
220 | // MAXLENGTH
221 | // ---------------------------------------------------------
222 | if ($this.attr("maxlength") !== undefined) {
223 | message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters";
224 | if ($this.data("validationMaxlengthMessage")) {
225 | message = $this.data("validationMaxlengthMessage");
226 | }
227 | $this.data("validationMaxlengthMessage", message);
228 | $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));
229 | }
230 | // ---------------------------------------------------------
231 | // MINLENGTH
232 | // ---------------------------------------------------------
233 | if ($this.attr("minlength") !== undefined) {
234 | message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters";
235 | if ($this.data("validationMinlengthMessage")) {
236 | message = $this.data("validationMinlengthMessage");
237 | }
238 | $this.data("validationMinlengthMessage", message);
239 | $this.data("validationMinlengthMinlength", $this.attr("minlength"));
240 | }
241 | // ---------------------------------------------------------
242 | // REQUIRED
243 | // ---------------------------------------------------------
244 | if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {
245 | message = settings.builtInValidators.required.message;
246 | if ($this.data("validationRequiredMessage")) {
247 | message = $this.data("validationRequiredMessage");
248 | }
249 | $this.data("validationRequiredMessage", message);
250 | }
251 | // ---------------------------------------------------------
252 | // NUMBER
253 | // ---------------------------------------------------------
254 | if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {
255 | message = settings.builtInValidators.number.message;
256 | if ($this.data("validationNumberMessage")) {
257 | message = $this.data("validationNumberMessage");
258 | }
259 | $this.data("validationNumberMessage", message);
260 | }
261 | // ---------------------------------------------------------
262 | // EMAIL
263 | // ---------------------------------------------------------
264 | if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {
265 | message = "Not a valid email address";
266 | if ($this.data("validationValidemailMessage")) {
267 | message = $this.data("validationValidemailMessage");
268 | } else if ($this.data("validationEmailMessage")) {
269 | message = $this.data("validationEmailMessage");
270 | }
271 | $this.data("validationValidemailMessage", message);
272 | }
273 | // ---------------------------------------------------------
274 | // MINCHECKED
275 | // ---------------------------------------------------------
276 | if ($this.attr("minchecked") !== undefined) {
277 | message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required";
278 | if ($this.data("validationMincheckedMessage")) {
279 | message = $this.data("validationMincheckedMessage");
280 | }
281 | $this.data("validationMincheckedMessage", message);
282 | $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));
283 | }
284 | // ---------------------------------------------------------
285 | // MAXCHECKED
286 | // ---------------------------------------------------------
287 | if ($this.attr("maxchecked") !== undefined) {
288 | message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required";
289 | if ($this.data("validationMaxcheckedMessage")) {
290 | message = $this.data("validationMaxcheckedMessage");
291 | }
292 | $this.data("validationMaxcheckedMessage", message);
293 | $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));
294 | }
295 | }
296 |
297 | // =============================================================
298 | // COLLECT VALIDATOR NAMES
299 | // =============================================================
300 |
301 | // Get named validators
302 | if ($this.data("validation") !== undefined) {
303 | validatorNames = $this.data("validation").split(",");
304 | }
305 |
306 | // Get extra ones defined on the element's data attributes
307 | $.each($this.data(), function (i, el) {
308 | var parts = i.replace(/([A-Z])/g, ",$1").split(",");
309 | if (parts[0] === "validation" && parts[1]) {
310 | validatorNames.push(parts[1]);
311 | }
312 | });
313 |
314 | // =============================================================
315 | // NORMALISE VALIDATOR NAMES
316 | // =============================================================
317 |
318 | var validatorNamesToInspect = validatorNames;
319 | var newValidatorNamesToInspect = [];
320 |
321 | do // repeatedly expand 'shortcut' validators into their real validators
322 | {
323 | // Uppercase only the first letter of each name
324 | $.each(validatorNames, function (i, el) {
325 | validatorNames[i] = formatValidatorName(el);
326 | });
327 |
328 | // Remove duplicate validator names
329 | validatorNames = $.unique(validatorNames);
330 |
331 | // Pull out the new validator names from each shortcut
332 | newValidatorNamesToInspect = [];
333 | $.each(validatorNamesToInspect, function(i, el) {
334 | if ($this.data("validation" + el + "Shortcut") !== undefined) {
335 | // Are these custom validators?
336 | // Pull them out!
337 | $.each($this.data("validation" + el + "Shortcut").split(","), function(i2, el2) {
338 | newValidatorNamesToInspect.push(el2);
339 | });
340 | } else if (settings.builtInValidators[el.toLowerCase()]) {
341 | // Is this a recognised built-in?
342 | // Pull it out!
343 | var validator = settings.builtInValidators[el.toLowerCase()];
344 | if (validator.type.toLowerCase() === "shortcut") {
345 | $.each(validator.shortcut.split(","), function (i, el) {
346 | el = formatValidatorName(el);
347 | newValidatorNamesToInspect.push(el);
348 | validatorNames.push(el);
349 | });
350 | }
351 | }
352 | });
353 |
354 | validatorNamesToInspect = newValidatorNamesToInspect;
355 |
356 | } while (validatorNamesToInspect.length > 0)
357 |
358 | // =============================================================
359 | // SET UP VALIDATOR ARRAYS
360 | // =============================================================
361 |
362 | var validators = {};
363 |
364 | $.each(validatorNames, function (i, el) {
365 | // Set up the 'override' message
366 | var message = $this.data("validation" + el + "Message");
367 | var hasOverrideMessage = (message !== undefined);
368 | var foundValidator = false;
369 | message =
370 | (
371 | message
372 | ? message
373 | : "'" + el + "' validation failed "
374 | )
375 | ;
376 |
377 | $.each(
378 | settings.validatorTypes,
379 | function (validatorType, validatorTemplate) {
380 | if (validators[validatorType] === undefined) {
381 | validators[validatorType] = [];
382 | }
383 | if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
384 | validators[validatorType].push(
385 | $.extend(
386 | true,
387 | {
388 | name: formatValidatorName(validatorTemplate.name),
389 | message: message
390 | },
391 | validatorTemplate.init($this, el)
392 | )
393 | );
394 | foundValidator = true;
395 | }
396 | }
397 | );
398 |
399 | if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {
400 |
401 | var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);
402 | if (hasOverrideMessage) {
403 | validator.message = message;
404 | }
405 | var validatorType = validator.type.toLowerCase();
406 |
407 | if (validatorType === "shortcut") {
408 | foundValidator = true;
409 | } else {
410 | $.each(
411 | settings.validatorTypes,
412 | function (validatorTemplateType, validatorTemplate) {
413 | if (validators[validatorTemplateType] === undefined) {
414 | validators[validatorTemplateType] = [];
415 | }
416 | if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {
417 | $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]);
418 | validators[validatorType].push(
419 | $.extend(
420 | validator,
421 | validatorTemplate.init($this, el)
422 | )
423 | );
424 | foundValidator = true;
425 | }
426 | }
427 | );
428 | }
429 | }
430 |
431 | if (! foundValidator) {
432 | $.error("Cannot find validation info for '" + el + "'");
433 | }
434 | });
435 |
436 | // =============================================================
437 | // STORE FALLBACK VALUES
438 | // =============================================================
439 |
440 | $helpBlock.data(
441 | "original-contents",
442 | (
443 | $helpBlock.data("original-contents")
444 | ? $helpBlock.data("original-contents")
445 | : $helpBlock.html()
446 | )
447 | );
448 |
449 | $helpBlock.data(
450 | "original-role",
451 | (
452 | $helpBlock.data("original-role")
453 | ? $helpBlock.data("original-role")
454 | : $helpBlock.attr("role")
455 | )
456 | );
457 |
458 | $controlGroup.data(
459 | "original-classes",
460 | (
461 | $controlGroup.data("original-clases")
462 | ? $controlGroup.data("original-classes")
463 | : $controlGroup.attr("class")
464 | )
465 | );
466 |
467 | $this.data(
468 | "original-aria-invalid",
469 | (
470 | $this.data("original-aria-invalid")
471 | ? $this.data("original-aria-invalid")
472 | : $this.attr("aria-invalid")
473 | )
474 | );
475 |
476 | // =============================================================
477 | // VALIDATION
478 | // =============================================================
479 |
480 | $this.bind(
481 | "validation.validation",
482 | function (event, params) {
483 |
484 | var value = getValue($this);
485 |
486 | // Get a list of the errors to apply
487 | var errorsFound = [];
488 |
489 | $.each(validators, function (validatorType, validatorTypeArray) {
490 | if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
491 | $.each(validatorTypeArray, function (i, validator) {
492 | if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
493 | errorsFound.push(validator.message);
494 | }
495 | });
496 | }
497 | });
498 |
499 | return errorsFound;
500 | }
501 | );
502 |
503 | $this.bind(
504 | "getValidators.validation",
505 | function () {
506 | return validators;
507 | }
508 | );
509 |
510 | // =============================================================
511 | // WATCH FOR CHANGES
512 | // =============================================================
513 | $this.bind(
514 | "submit.validation",
515 | function () {
516 | return $this.triggerHandler("change.validation", {submitting: true});
517 | }
518 | );
519 | $this.bind(
520 | [
521 | "keyup",
522 | "focus",
523 | "blur",
524 | "click",
525 | "keydown",
526 | "keypress",
527 | "change"
528 | ].join(".validation ") + ".validation",
529 | function (e, params) {
530 |
531 | var value = getValue($this);
532 |
533 | var errorsFound = [];
534 |
535 | $controlGroup.find("input,textarea,select").each(function (i, el) {
536 | var oldCount = errorsFound.length;
537 | $.each($(el).triggerHandler("validation.validation", params), function (j, message) {
538 | errorsFound.push(message);
539 | });
540 | if (errorsFound.length > oldCount) {
541 | $(el).attr("aria-invalid", "true");
542 | } else {
543 | var original = $this.data("original-aria-invalid");
544 | $(el).attr("aria-invalid", (original !== undefined ? original : false));
545 | }
546 | });
547 |
548 | $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");
549 |
550 | errorsFound = $.unique(errorsFound.sort());
551 |
552 | // Were there any errors?
553 | if (errorsFound.length) {
554 | // Better flag it up as a warning.
555 | $controlGroup.removeClass("success error").addClass("warning");
556 |
557 | // How many errors did we find?
558 | if (settings.options.semanticallyStrict && errorsFound.length === 1) {
559 | // Only one? Being strict? Just output it.
560 | $helpBlock.html(errorsFound[0] +
561 | ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
562 | } else {
563 | // Multiple? Being sloppy? Glue them together into an UL.
564 | $helpBlock.html("" + errorsFound.join(" ") + " " +
565 | ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
566 | }
567 | } else {
568 | $controlGroup.removeClass("warning error success");
569 | if (value.length > 0) {
570 | $controlGroup.addClass("success");
571 | }
572 | $helpBlock.html($helpBlock.data("original-contents"));
573 | }
574 |
575 | if (e.type === "blur") {
576 | $controlGroup.removeClass("success");
577 | }
578 | }
579 | );
580 | $this.bind("validationLostFocus.validation", function () {
581 | $controlGroup.removeClass("success");
582 | });
583 | });
584 | },
585 | destroy : function( ) {
586 |
587 | return this.each(
588 | function() {
589 |
590 | var
591 | $this = $(this),
592 | $controlGroup = $this.parents(".form-group").first(),
593 | $helpBlock = $controlGroup.find(".help-block").first();
594 |
595 | // remove our events
596 | $this.unbind('.validation'); // events are namespaced.
597 | // reset help text
598 | $helpBlock.html($helpBlock.data("original-contents"));
599 | // reset classes
600 | $controlGroup.attr("class", $controlGroup.data("original-classes"));
601 | // reset aria
602 | $this.attr("aria-invalid", $this.data("original-aria-invalid"));
603 | // reset role
604 | $helpBlock.attr("role", $this.data("original-role"));
605 | // remove all elements we created
606 | if (createdElements.indexOf($helpBlock[0]) > -1) {
607 | $helpBlock.remove();
608 | }
609 |
610 | }
611 | );
612 |
613 | },
614 | collectErrors : function(includeEmpty) {
615 |
616 | var errorMessages = {};
617 | this.each(function (i, el) {
618 | var $el = $(el);
619 | var name = $el.attr("name");
620 | var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});
621 | errorMessages[name] = $.extend(true, errors, errorMessages[name]);
622 | });
623 |
624 | $.each(errorMessages, function (i, el) {
625 | if (el.length === 0) {
626 | delete errorMessages[i];
627 | }
628 | });
629 |
630 | return errorMessages;
631 |
632 | },
633 | hasErrors: function() {
634 |
635 | var errorMessages = [];
636 |
637 | this.each(function (i, el) {
638 | errorMessages = errorMessages.concat(
639 | $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
640 | );
641 | });
642 |
643 | return (errorMessages.length > 0);
644 | },
645 | override : function (newDefaults) {
646 | defaults = $.extend(true, defaults, newDefaults);
647 | }
648 | },
649 | validatorTypes: {
650 | callback: {
651 | name: "callback",
652 | init: function ($this, name) {
653 | return {
654 | validatorName: name,
655 | callback: $this.data("validation" + name + "Callback"),
656 | lastValue: $this.val(),
657 | lastValid: true,
658 | lastFinished: true
659 | };
660 | },
661 | validate: function ($this, value, validator) {
662 | if (validator.lastValue === value && validator.lastFinished) {
663 | return !validator.lastValid;
664 | }
665 |
666 | if (validator.lastFinished === true)
667 | {
668 | validator.lastValue = value;
669 | validator.lastValid = true;
670 | validator.lastFinished = false;
671 |
672 | var rrjqbvValidator = validator;
673 | var rrjqbvThis = $this;
674 | executeFunctionByName(
675 | validator.callback,
676 | window,
677 | $this,
678 | value,
679 | function (data) {
680 | if (rrjqbvValidator.lastValue === data.value) {
681 | rrjqbvValidator.lastValid = data.valid;
682 | if (data.message) {
683 | rrjqbvValidator.message = data.message;
684 | }
685 | rrjqbvValidator.lastFinished = true;
686 | rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
687 | // Timeout is set to avoid problems with the events being considered 'already fired'
688 | setTimeout(function () {
689 | rrjqbvThis.trigger("change.validation");
690 | }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
691 | }
692 | }
693 | );
694 | }
695 |
696 | return false;
697 |
698 | }
699 | },
700 | ajax: {
701 | name: "ajax",
702 | init: function ($this, name) {
703 | return {
704 | validatorName: name,
705 | url: $this.data("validation" + name + "Ajax"),
706 | lastValue: $this.val(),
707 | lastValid: true,
708 | lastFinished: true
709 | };
710 | },
711 | validate: function ($this, value, validator) {
712 | if (""+validator.lastValue === ""+value && validator.lastFinished === true) {
713 | return validator.lastValid === false;
714 | }
715 |
716 | if (validator.lastFinished === true)
717 | {
718 | validator.lastValue = value;
719 | validator.lastValid = true;
720 | validator.lastFinished = false;
721 | $.ajax({
722 | url: validator.url,
723 | data: "value=" + value + "&field=" + $this.attr("name"),
724 | dataType: "json",
725 | success: function (data) {
726 | if (""+validator.lastValue === ""+data.value) {
727 | validator.lastValid = !!(data.valid);
728 | if (data.message) {
729 | validator.message = data.message;
730 | }
731 | validator.lastFinished = true;
732 | $this.data("validation" + validator.validatorName + "Message", validator.message);
733 | // Timeout is set to avoid problems with the events being considered 'already fired'
734 | setTimeout(function () {
735 | $this.trigger("change.validation");
736 | }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
737 | }
738 | },
739 | failure: function () {
740 | validator.lastValid = true;
741 | validator.message = "ajax call failed";
742 | validator.lastFinished = true;
743 | $this.data("validation" + validator.validatorName + "Message", validator.message);
744 | // Timeout is set to avoid problems with the events being considered 'already fired'
745 | setTimeout(function () {
746 | $this.trigger("change.validation");
747 | }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
748 | }
749 | });
750 | }
751 |
752 | return false;
753 |
754 | }
755 | },
756 | regex: {
757 | name: "regex",
758 | init: function ($this, name) {
759 | return {regex: regexFromString($this.data("validation" + name + "Regex"))};
760 | },
761 | validate: function ($this, value, validator) {
762 | return (!validator.regex.test(value) && ! validator.negative)
763 | || (validator.regex.test(value) && validator.negative);
764 | }
765 | },
766 | required: {
767 | name: "required",
768 | init: function ($this, name) {
769 | return {};
770 | },
771 | validate: function ($this, value, validator) {
772 | return !!(value.length === 0 && ! validator.negative)
773 | || !!(value.length > 0 && validator.negative);
774 | },
775 | blockSubmit: true
776 | },
777 | match: {
778 | name: "match",
779 | init: function ($this, name) {
780 | var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();
781 | element.bind("validation.validation", function () {
782 | $this.trigger("change.validation", {submitting: true});
783 | });
784 | return {"element": element};
785 | },
786 | validate: function ($this, value, validator) {
787 | return (value !== validator.element.val() && ! validator.negative)
788 | || (value === validator.element.val() && validator.negative);
789 | },
790 | blockSubmit: true
791 | },
792 | max: {
793 | name: "max",
794 | init: function ($this, name) {
795 | return {max: $this.data("validation" + name + "Max")};
796 | },
797 | validate: function ($this, value, validator) {
798 | return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative)
799 | || (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
800 | }
801 | },
802 | min: {
803 | name: "min",
804 | init: function ($this, name) {
805 | return {min: $this.data("validation" + name + "Min")};
806 | },
807 | validate: function ($this, value, validator) {
808 | return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)
809 | || (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
810 | }
811 | },
812 | maxlength: {
813 | name: "maxlength",
814 | init: function ($this, name) {
815 | return {maxlength: $this.data("validation" + name + "Maxlength")};
816 | },
817 | validate: function ($this, value, validator) {
818 | return ((value.length > validator.maxlength) && ! validator.negative)
819 | || ((value.length <= validator.maxlength) && validator.negative);
820 | }
821 | },
822 | minlength: {
823 | name: "minlength",
824 | init: function ($this, name) {
825 | return {minlength: $this.data("validation" + name + "Minlength")};
826 | },
827 | validate: function ($this, value, validator) {
828 | return ((value.length < validator.minlength) && ! validator.negative)
829 | || ((value.length >= validator.minlength) && validator.negative);
830 | }
831 | },
832 | maxchecked: {
833 | name: "maxchecked",
834 | init: function ($this, name) {
835 | var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
836 | elements.bind("click.validation", function () {
837 | $this.trigger("change.validation", {includeEmpty: true});
838 | });
839 | return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};
840 | },
841 | validate: function ($this, value, validator) {
842 | return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative)
843 | || (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
844 | },
845 | blockSubmit: true
846 | },
847 | minchecked: {
848 | name: "minchecked",
849 | init: function ($this, name) {
850 | var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
851 | elements.bind("click.validation", function () {
852 | $this.trigger("change.validation", {includeEmpty: true});
853 | });
854 | return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};
855 | },
856 | validate: function ($this, value, validator) {
857 | return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative)
858 | || (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
859 | },
860 | blockSubmit: true
861 | }
862 | },
863 | builtInValidators: {
864 | email: {
865 | name: "Email",
866 | type: "shortcut",
867 | shortcut: "validemail"
868 | },
869 | validemail: {
870 | name: "Validemail",
871 | type: "regex",
872 | regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",
873 | message: "Not a valid email address"
874 | },
875 | passwordagain: {
876 | name: "Passwordagain",
877 | type: "match",
878 | match: "password",
879 | message: "Does not match the given password"
880 | },
881 | positive: {
882 | name: "Positive",
883 | type: "shortcut",
884 | shortcut: "number,positivenumber"
885 | },
886 | negative: {
887 | name: "Negative",
888 | type: "shortcut",
889 | shortcut: "number,negativenumber"
890 | },
891 | number: {
892 | name: "Number",
893 | type: "regex",
894 | regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",
895 | message: "Must be a number"
896 | },
897 | integer: {
898 | name: "Integer",
899 | type: "regex",
900 | regex: "[+-]?\\\d+",
901 | message: "No decimal places allowed"
902 | },
903 | positivenumber: {
904 | name: "Positivenumber",
905 | type: "min",
906 | min: 0,
907 | message: "Must be a positive number"
908 | },
909 | negativenumber: {
910 | name: "Negativenumber",
911 | type: "max",
912 | max: 0,
913 | message: "Must be a negative number"
914 | },
915 | required: {
916 | name: "Required",
917 | type: "required",
918 | message: "This is required"
919 | },
920 | checkone: {
921 | name: "Checkone",
922 | type: "minchecked",
923 | minchecked: 1,
924 | message: "Check at least one option"
925 | }
926 | }
927 | };
928 |
929 | var formatValidatorName = function (name) {
930 | return name
931 | .toLowerCase()
932 | .replace(
933 | /(^|\s)([a-z])/g ,
934 | function(m,p1,p2) {
935 | return p1+p2.toUpperCase();
936 | }
937 | )
938 | ;
939 | };
940 |
941 | var getValue = function ($this) {
942 | // Extract the value we're talking about
943 | var value = $this.val();
944 | var type = $this.attr("type");
945 | if (type === "checkbox") {
946 | value = ($this.is(":checked") ? value : "");
947 | }
948 | if (type === "radio") {
949 | value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");
950 | }
951 | return value;
952 | };
953 |
954 | function regexFromString(inputstring) {
955 | return new RegExp("^" + inputstring + "$");
956 | }
957 |
958 | /**
959 | * Thanks to Jason Bunting via StackOverflow.com
960 | *
961 | * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910
962 | * Short link: http://tinyurl.com/executeFunctionByName
963 | **/
964 | function executeFunctionByName(functionName, context /*, args*/) {
965 | var args = Array.prototype.slice.call(arguments).splice(2);
966 | var namespaces = functionName.split(".");
967 | var func = namespaces.pop();
968 | for(var i = 0; i < namespaces.length; i++) {
969 | context = context[namespaces[i]];
970 | }
971 | return context[func].apply(this, args);
972 | }
973 |
974 | $.fn.jqBootstrapValidation = function( method ) {
975 |
976 | if ( defaults.methods[method] ) {
977 | return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
978 | } else if ( typeof method === 'object' || ! method ) {
979 | return defaults.methods.init.apply( this, arguments );
980 | } else {
981 | $.error( 'Method ' + method + ' does not exist on jQuery.jqBootstrapValidation' );
982 | return null;
983 | }
984 |
985 | };
986 |
987 | $.jqBootstrapValidation = function (options) {
988 | $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);
989 | };
990 |
991 | })( jQuery );
992 |
993 | // Floating label headings for the contact form
994 | $(function() {
995 | $("body").on("input propertychange", ".floating-label-form-group", function(e) {
996 | $(this).toggleClass("floating-label-form-group-with-value", !!$(e.target).val());
997 | }).on("focus", ".floating-label-form-group", function() {
998 | $(this).addClass("floating-label-form-group-with-focus");
999 | }).on("blur", ".floating-label-form-group", function() {
1000 | $(this).removeClass("floating-label-form-group-with-focus");
1001 | });
1002 | });
1003 |
1004 | // Navigation Scripts to Show Header on Scroll-Up
1005 | jQuery(document).ready(function($) {
1006 | var MQL = 1170;
1007 | });
1008 |
--------------------------------------------------------------------------------
/js/custom.js:
--------------------------------------------------------------------------------
1 | $(window).scroll(function() {
2 | var navbarColor = "255,255,255";//color attr for rgba
3 | var smallLogoHeight = $('.small-logo').height();
4 | var bigLogoHeight = $('.big-logo').height();
5 | var navbarHeight = $('.navbar').height();
6 |
7 | var smallLogoEndPos = 0;
8 | var smallSpeed = (smallLogoHeight / bigLogoHeight);
9 |
10 | var ySmall = ($(window).scrollTop() * smallSpeed);
11 |
12 | var smallPadding = navbarHeight - ySmall;
13 | if (smallPadding > navbarHeight) { smallPadding = navbarHeight; }
14 | if (smallPadding < smallLogoEndPos) { smallPadding = smallLogoEndPos; }
15 | if (smallPadding < 0) {
16 | smallPadding = 0;
17 | $('.navbar').css({"background-color": 'rgb('+navbarColor+')'});
18 | }
19 |
20 | $('.small-logo-container ').css({ "padding-top": smallPadding});
21 |
22 | var navOpacity = ySmall / smallLogoHeight;
23 | if (navOpacity > 1) { navOpacity = 1; }
24 | if (navOpacity < 0 ) { navOpacity = 0; }
25 | var navBackColor = 'rgba(' + navbarColor + ',' + navOpacity + ')';
26 | $('.navbar').css({"background-color": navBackColor});
27 |
28 |
29 | var shadowOpacity = navOpacity * 0.4;
30 | if ( ySmall > 1) {
31 | $('.navbar').css({"box-shadow": "0 2px 3px rgba(0,0,0," + shadowOpacity + ")"});
32 | } else {
33 | $('.navbar').css({"box-shadow": "none"});
34 | }
35 |
36 |
37 |
38 | });
--------------------------------------------------------------------------------
/js/dados.js:
--------------------------------------------------------------------------------
1 | var dados =
2 | {"Grande Porto Alegre" :
3 | {
4 | "Porto Alegre": [
5 | {
6 | "nome":"Delegacia Especializada de Atendimento a Mulher (DEAM) - Porto Alegre",
7 | "endereco":"Avenida João Pessoa, nº 2050 - Bairro: Azenha - Referência: No Palácio da Polícia",
8 | "telefone":"(51)3288-2172",
9 | "email":" poa-dm@pc.rs.gov.br"
10 | },
11 | {
12 | "nome":"Centro de Referência da Mulher Vânia Araújo Machado - Porto Alegre",
13 | "endereco":"Rua Tuiuti, nº 10 - Bairro: Centro - Referência: Esquina com Desembargador André da Rocha",
14 | "telefone":"08005410803",
15 | "email":"crm@spm.rs.gov.br"
16 | },
17 | {
18 | "nome":"Centro de Referência de Atendimento á Mulher Municipal - Márcia Calixto - Porto Alegre",
19 | "endereco":"Rua Siqueira Campos, nº 1184, 16º andar - Bairro: Centro Histórico",
20 | "telefone":"(51)3289-5102",
21 | "email":"cram@smdh.prefpoa.com.br"
22 | },
23 | {
24 | "nome":"2º Juizado da Violência Doméstica e Familiar - Porto Alegre",
25 | "endereco":"Rua Márcio Veras Vidor, nº 10, sala 518 - Bairro: Centro",
26 | "telefone":"(51)3210-6651",
27 | "email":"srposent2jzvdfamm@tj.rs.gov.br"
28 | },
29 | {
30 | "nome":"1º Juizado da Violência Doméstica e Familiar - Porto Alegre",
31 | "endereco":"Rua Márcio Veras Vidor, nº 10 , Fórum Central, 5º Andar, Sala 501 - Bairro: Praia de Belas",
32 | "telefone":"(51)3210-6670",
33 | "site":"http://www.tj.rs.jus.br"
34 | },
35 | {
36 | "nome":"Núcleo de Família e de Defesa da Mulher Vítima de Violência - Porto Alegre",
37 | "endereco":"Rua Sete de Setembro, n° 666 - Térreo e 7º Andar - Bairro: Centro",
38 | "telefone":"(51)3211-2233",
39 | "email":"nudem@dpe.rs.gov.br"
40 | },
41 | {
42 | "nome":"Núcleo de Combate a Violência Doméstica (NUCLEVID) - Porto Alegre",
43 | "endereco":"Avenida Aureliano de Figueiredo Pinto, nº 80,10º Andar, Torre Norte - Bairro: Praia de Belas",
44 | "telefone":"(51)3295-1167",
45 | "email":"caocrim@mp.rs.gov.br"
46 | },
47 | {
48 | "nome":"Hospital Nossa Senhora Conceição - Porto Alegre",
49 | "endereco":"Avenida Francisco Trein, nº 596 - Bairro Cristo Redentor",
50 | "telefone":"(51)3357-2161",
51 | "email":"alisete@ghc.com.br"
52 | },
53 | {
54 | "nome":"Hospital Pronto Socorro de Porto Alegre",
55 | "endereco":"Endereço:Largo Teodoro Herzl, s/nº - Bairro Bom Fim",
56 | "telefone":"(51)3289-7999"
57 | },
58 | {
59 | "nome":"Hospital Fêmina - Porto Alegre",
60 | "endereco":"Rua Mostardeiro, nº 17 - Bairro: Moinhos do Vento",
61 | "telefone":"(51)3314-5200",
62 | "email":"hfe@ghc.com.br"
63 | },
64 | {
65 | "nome":"Casa de Apoio Viva Maria - Porto Alegre"
66 | }
67 | ]
68 | }
69 | }
--------------------------------------------------------------------------------
/js/map.js:
--------------------------------------------------------------------------------
1 | function enableScrollingWithMouseWheel() {
2 | map.setOptions({ scrollwheel: true });
3 | }
4 |
5 | function disableScrollingWithMouseWheel() {
6 | map.setOptions({ scrollwheel: false });
7 | }
8 |
9 | function initialize() {
10 |
11 | var markers = [];
12 |
13 | var mapOptions = {
14 | center: new google.maps.LatLng(-30.03, -51.21),
15 | zoom: 13,
16 | scrollwheel: false,
17 | };
18 |
19 | var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
20 |
21 | google.maps.event.addListener(map, 'click', function(event){
22 | this.setOptions({scrollwheel:true});
23 | });
24 |
25 | var input = /** @type {HTMLInputElement} */(
26 | document.getElementById('pac-input'));
27 | map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
28 |
29 | var searchBox = new google.maps.places.SearchBox(
30 | /** @type {HTMLInputElement} */(input));
31 |
32 | google.maps.event.addListener(searchBox, 'places_changed', function() {
33 | var places = searchBox.getPlaces();
34 |
35 | if (places.length == 0) {
36 | return;
37 | }
38 | for (var i = 0, marker; marker = markers[i]; i++) {
39 | marker.setMap(null);
40 | }
41 |
42 | markers = [];
43 | var bounds = new google.maps.LatLngBounds();
44 | for (var i = 0, place; place = places[i]; i++) {
45 | var image = 'img/pin.png'
46 | var marker = new google.maps.Marker({
47 | map: map,
48 | icon: image,
49 | title: place.name,
50 | position: place.geometry.location
51 | });
52 |
53 | markers.push(marker);
54 |
55 | bounds.extend(place.geometry.location);
56 | }
57 |
58 | map.fitBounds(bounds);
59 | });
60 |
61 | google.maps.event.addListener(map, 'bounds_changed', function() {
62 | var bounds = map.getBounds();
63 | searchBox.setBounds(bounds);
64 | });
65 |
66 | var opiniaoLatLong = new google.maps.LatLng(-30.041778, -51.220882);
67 | var pinguimLatLong = new google.maps.LatLng(-30.037958, -51.222263);
68 | var image = 'img/pin.png';
69 |
70 |
71 | var infowindow = new google.maps.InfoWindow({
72 | content: 'Bar Olar 28/02/2015
Estava na fila da festa quando um rapaz alto e moreno, com cabelo ralo, e uma garrafa de cerveja na mão, me abordou e ofereceu sua comapnhia de uma forma agressiva. Chamei ajuda de outras pessoas na fila para afastá-lo.'
73 | });
74 |
75 | var markerOpiniao = new google.maps.Marker({
76 | position: opiniaoLatLong,
77 | map: map,
78 | icon: image,
79 | clickable: true,
80 | title: "opiniao"
81 | });
82 |
83 | google.maps.event.addListener(markerOpiniao, 'click', function() {
84 | infowindow.open(map,markerOpiniao);
85 | });
86 |
87 | }
88 |
89 | google.maps.event.addDomListener(window, 'load', initialize);
90 |
--------------------------------------------------------------------------------
/less/clean-blog.less:
--------------------------------------------------------------------------------
1 | @import "variables.less";
2 | @import "mixins.less";
3 |
4 | // Global Components
5 |
6 | body {
7 | .serif;
8 | font-size: 20px;
9 | color: @gray-dark;
10 | }
11 |
12 | // -- Typography
13 |
14 | p {
15 | line-height: 1.5;
16 | margin: 30px 0;
17 | a {
18 | text-decoration: underline;
19 | }
20 | }
21 |
22 | h1,
23 | h2,
24 | h3,
25 | h4,
26 | h5,
27 | h6 {
28 | .sans-serif;
29 | font-weight: 800;
30 | }
31 |
32 | a {
33 | color: @gray-dark;
34 | &:hover,
35 | &:focus {
36 | color: @brand-primary;
37 | }
38 | }
39 |
40 | a img {
41 | &:hover,
42 | &:focus {
43 | cursor: zoom-in;
44 | }
45 | }
46 |
47 | blockquote {
48 | color: @gray;
49 | font-style: italic;
50 | }
51 |
52 | hr.small {
53 | max-width: 100px;
54 | margin: 15px auto;
55 | border-width: 4px;
56 | border-color: white;
57 | }
58 |
59 | // Navigation
60 |
61 | .navbar-custom {
62 | position: absolute;
63 | top: 0;
64 | left: 0;
65 | width: 100%;
66 | z-index: 3;
67 | .sans-serif;
68 | .navbar-brand {
69 | font-weight: 800;
70 | }
71 | .nav {
72 | li {
73 | a {
74 | text-transform: uppercase;
75 | font-size: 12px;
76 | font-weight: 800;
77 | letter-spacing: 1px;
78 | }
79 | }
80 | }
81 | @media only screen and (min-width: 768px) {
82 | background: transparent;
83 | border-bottom: 1px solid transparent;
84 | .navbar-brand {
85 | color: white;
86 | padding: 20px;
87 | &:hover,
88 | &:focus {
89 | color: @white-faded;
90 | }
91 | }
92 | .nav {
93 | li {
94 | a {
95 | color: white;
96 | padding: 20px;
97 | &:hover,
98 | &:focus {
99 | color: @white-faded;
100 | }
101 | }
102 | }
103 | }
104 | }
105 | @media only screen and (min-width: 1170px) {
106 | -webkit-transition: background-color 0.3s;
107 | -moz-transition: background-color 0.3s;
108 | transition: background-color 0.3s;
109 | /* Force Hardware Acceleration in WebKit */
110 | -webkit-transform: translate3d(0, 0, 0);
111 | -moz-transform: translate3d(0, 0, 0);
112 | -ms-transform: translate3d(0, 0, 0);
113 | -o-transform: translate3d(0, 0, 0);
114 | transform: translate3d(0, 0, 0);
115 | -webkit-backface-visibility: hidden;
116 | backface-visibility: hidden;
117 | &.is-fixed {
118 | /* when the user scrolls down, we hide the header right above the viewport */
119 | position: fixed;
120 | top: -61px;
121 | background-color: fade(white, 90%);
122 | border-bottom: 1px solid darken(white, 5%);
123 | -webkit-transition: -webkit-transform 0.3s;
124 | -moz-transition: -moz-transform 0.3s;
125 | transition: transform 0.3s;
126 | .navbar-brand {
127 | color: @gray-dark;
128 | &:hover,
129 | &:focus {
130 | color: @brand-primary;
131 | }
132 | }
133 | .nav {
134 | li {
135 | a {
136 | color: @gray-dark;
137 | &:hover,
138 | &:focus {
139 | color: @brand-primary;
140 | }
141 | }
142 | }
143 | }
144 | }
145 | &.is-visible {
146 | /* if the user changes the scrolling direction, we show the header */
147 | -webkit-transform: translate3d(0, 100%, 0);
148 | -moz-transform: translate3d(0, 100%, 0);
149 | -ms-transform: translate3d(0, 100%, 0);
150 | -o-transform: translate3d(0, 100%, 0);
151 | transform: translate3d(0, 100%, 0);
152 | }
153 | }
154 | }
155 |
156 | // Header
157 |
158 | .intro-header {
159 | background-color: @gray;
160 | background: no-repeat center center;
161 | background-attachment: scroll;
162 | .background-cover;
163 | // NOTE: Background images are set within the HTML using inline CSS!
164 | margin-bottom: 50px;
165 | .site-heading,
166 | .post-heading,
167 | .page-heading {
168 | padding: 100px 0 50px;
169 | color: white;
170 | @media only screen and (min-width: 768px) {
171 | padding: 150px 0;
172 | }
173 | }
174 | .site-heading,
175 | .page-heading {
176 | text-align: center;
177 | h1 {
178 | margin-top: 0;
179 | font-size: 50px;
180 | }
181 | .subheading {
182 | font-size: 24px;
183 | line-height: 1.1;
184 | display: block;
185 | .sans-serif;
186 | font-weight: 300;
187 | margin: 10px 0 0;
188 | }
189 | @media only screen and (min-width: 768px) {
190 | h1 {
191 | font-size: 80px;
192 | }
193 | }
194 | }
195 | .post-heading {
196 | h1 {
197 | font-size: 35px;
198 | }
199 | .subheading,
200 | .meta {
201 | line-height: 1.1;
202 | display: block;
203 | }
204 | .subheading {
205 | .sans-serif;
206 | font-size: 24px;
207 | margin: 10px 0 30px;
208 | font-weight: 600;
209 | }
210 | .meta {
211 | .serif;
212 | font-style: italic;
213 | font-weight: 300;
214 | font-size: 20px;
215 | a {
216 | color: white;
217 | }
218 | }
219 | @media only screen and (min-width: 768px) {
220 | h1 {
221 | font-size: 55px;
222 | }
223 | .subheading {
224 | font-size: 30px;
225 | }
226 | }
227 | }
228 | }
229 |
230 | // Post Preview Pages
231 |
232 | .post-preview {
233 | > a {
234 | color: @gray-dark;
235 | &:hover,
236 | &:focus {
237 | text-decoration: none;
238 | color: @brand-primary;
239 | }
240 | > .post-title {
241 | font-size: 30px;
242 | margin-top: 30px;
243 | margin-bottom: 10px;
244 | }
245 | > .post-subtitle {
246 | margin: 0;
247 | font-weight: 300;
248 | margin-bottom: 10px;
249 | }
250 | }
251 | > .post-meta {
252 | color: @gray;
253 | font-size: 18px;
254 | font-style: italic;
255 | margin-top: 0;
256 | > a {
257 | text-decoration: none;
258 | color: @gray-dark;
259 | &:hover,
260 | &:focus {
261 | color: @brand-primary;
262 | text-decoration: underline;
263 | }
264 | }
265 | }
266 | @media only screen and (min-width: 768px) {
267 | > a {
268 | > .post-title {
269 | font-size: 36px;
270 | }
271 | }
272 | }
273 | }
274 |
275 | // Sections
276 |
277 | .section-heading {
278 | font-size: 36px;
279 | margin-top: 60px;
280 | font-weight: 700;
281 | }
282 |
283 | .caption {
284 | text-align: center;
285 | font-size: 14px;
286 | padding: 10px;
287 | font-style: italic;
288 | margin: 0;
289 | display: block;
290 | border-bottom-right-radius: 5px;
291 | border-bottom-left-radius: 5px;
292 | }
293 |
294 | footer {
295 | padding: 50px 0 65px;
296 | .list-inline {
297 | margin: 0;
298 | padding: 0;
299 | }
300 | .copyright {
301 | font-size: 14px;
302 | text-align: center;
303 | margin-bottom: 0;
304 | }
305 | }
306 |
307 | // Contact Form Styles
308 |
309 | .floating-label-form-group {
310 | font-size: 14px;
311 | position: relative;
312 | margin-bottom: 0;
313 | padding-bottom: 0.5em;
314 | border-bottom: 1px solid @gray-light;
315 | input,
316 | textarea {
317 | z-index: 1;
318 | position: relative;
319 | padding-right: 0;
320 | padding-left: 0;
321 | border: none;
322 | border-radius: 0;
323 | font-size: 1.5em;
324 | background: none;
325 | box-shadow: none !important;
326 | resize: none;
327 | }
328 | label {
329 | display: block;
330 | z-index: 0;
331 | position: relative;
332 | top: 2em;
333 | margin: 0;
334 | font-size: 0.85em;
335 | line-height: 1.764705882em;
336 | vertical-align: middle;
337 | vertical-align: baseline;
338 | opacity: 0;
339 | -webkit-transition: top 0.3s ease,opacity 0.3s ease;
340 | -moz-transition: top 0.3s ease,opacity 0.3s ease;
341 | -ms-transition: top 0.3s ease,opacity 0.3s ease;
342 | transition: top 0.3s ease,opacity 0.3s ease;
343 | }
344 | &::not(:first-child) {
345 | padding-left: 14px;
346 | border-left: 1px solid @gray-light;
347 | }
348 | }
349 |
350 | .floating-label-form-group-with-value {
351 | label {
352 | top: 0;
353 | opacity: 1;
354 | }
355 | }
356 |
357 | .floating-label-form-group-with-focus {
358 | label {
359 | color: @brand-primary;
360 | }
361 | }
362 |
363 | form .row:first-child .floating-label-form-group {
364 | border-top: 1px solid @gray-light;
365 | }
366 |
367 | // Button Styles
368 |
369 | .btn {
370 | .sans-serif;
371 | text-transform: uppercase;
372 | font-size: 14px;
373 | font-weight: 800;
374 | letter-spacing: 1px;
375 | border-radius: 0;
376 | padding: 15px 25px;
377 | }
378 |
379 | .btn-lg {
380 | font-size: 16px;
381 | padding: 25px 35px;
382 | }
383 |
384 | .btn-default {
385 | &:hover,
386 | &:focus {
387 | background-color: @brand-primary;
388 | border: 1px solid @brand-primary;
389 | color: white;
390 | }
391 | }
392 |
393 | // Pager Styling
394 |
395 | .pager {
396 |
397 | margin: 20px 0 0;
398 |
399 | li {
400 | > a,
401 | > span {
402 | .sans-serif;
403 | text-transform: uppercase;
404 | font-size: 14px;
405 | font-weight: 800;
406 | letter-spacing: 1px;
407 | padding: 15px 25px;
408 | background-color: white;
409 | border-radius: 0;
410 | }
411 |
412 | > a:hover,
413 | > a:focus {
414 | color: white;
415 | background-color: @brand-primary;
416 | border: 1px solid @brand-primary;
417 | }
418 | }
419 |
420 | .disabled {
421 | > a,
422 | > a:hover,
423 | > a:focus,
424 | > span {
425 | color: @gray;
426 | background-color: @gray-dark;
427 | cursor: not-allowed;
428 | }
429 | }
430 | }
431 |
432 | // -- Highlight Color Customization
433 |
434 | ::-moz-selection {
435 | color: white;
436 | text-shadow: none;
437 | background: @brand-primary;
438 | }
439 |
440 | ::selection {
441 | color: white;
442 | text-shadow: none;
443 | background: @brand-primary;
444 | }
445 |
446 | img::selection {
447 | color: white;
448 | background: transparent;
449 | }
450 |
451 | img::-moz-selection {
452 | color: white;
453 | background: transparent;
454 | }
455 |
456 | body {
457 | webkit-tap-highlight-color: @brand-primary;
458 | }
--------------------------------------------------------------------------------
/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 |
3 | .transition-all() {
4 | -webkit-transition: all 0.5s;
5 | -moz-transition: all 0.5s;
6 | transition: all 0.5s;
7 | }
8 |
9 | .background-cover() {
10 | -webkit-background-size: cover;
11 | -moz-background-size: cover;
12 | background-size: cover;
13 | -o-background-size: cover;
14 | }
15 |
16 | .serif() {
17 | font-family: 'Lora', 'Times New Roman', serif;
18 | }
19 |
20 | .sans-serif () {
21 | font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
22 | }
--------------------------------------------------------------------------------
/less/variables.less:
--------------------------------------------------------------------------------
1 | // Variables
2 |
3 | @brand-primary: #0085A1;
4 | @gray-dark: lighten(black, 25%);
5 | @gray: lighten(black, 50%);
6 | @white-faded: fade(white, 80%);
7 | @gray-light: #eee;
--------------------------------------------------------------------------------
/rank.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Não me calo!
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
52 |
53 |
64 |
65 |
66 |
67 |
68 |
69 |
70 | Posição
71 |
72 | Local
73 |
74 | Nº de Relatos
75 |
76 |
77 |
78 |
79 |
80 | 1º
81 |
82 | Bar Branco
83 |
84 | 100
85 |
86 |
87 |
88 | 2º
89 |
90 | Bar Cinza
91 |
92 | 90
93 |
94 |
95 |
96 | 3º
97 |
98 | Bar Verde
99 |
100 | 80
101 |
102 |
103 |
104 | 4º
105 |
106 | Bar Azul
107 |
108 | 70
109 |
110 |
111 |
112 | 5º
113 |
114 | Bar Roxo
115 |
116 | 60
117 |
118 |
119 |
120 | 6º
121 |
122 | Bar Amarelo
123 |
124 | 50
125 |
126 |
127 |
128 | 7º
129 |
130 | Bar Vermelho
131 |
132 | 40
133 |
134 |
135 |
136 | 8º
137 |
138 | Bar Marrom
139 |
140 | 30
141 |
142 |
143 |
144 | 9º
145 |
146 | Bar Salmão
147 |
148 | 20
149 |
150 |
151 |
152 | 10º
153 |
154 | Bar Preto
155 |
156 | 10
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
186 |
187 |
188 |
189 |
190 |
191 |
--------------------------------------------------------------------------------
/relatos.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Não me calo!
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
51 |
52 |
53 |
66 |
67 |
68 |
69 |
70 |
Nesse espaço você encontra relatos de garotas que sofreram assédio.
71 | É importante comunicar os abusos, tanto físicos como verbais, para todas as mulheres da sua comunidade.
72 | Dessa forma, você não se cala perante a violência, avisando outras mulheres dos perigos presentes em
73 | determinados locais e alertando a sociedade para os perigos desses estabelecimentos.
.
74 |
Leia os depoimentos, confira a reputação dos locais que você frequenta e insira seu relato. Cobre dos
75 | estabelecimentos melhorias para a segurança das mulheres. Participe dessa comunidade e ajude outras
76 | mulheres a construir ambientes mais seguros!
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
--------------------------------------------------------------------------------