Topic: D0779R0: Proposing operator try() draft 1 paper
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Tue, 3 Oct 2017 15:03:20 -0700 (PDT)
Raw View
------=_Part_3361_626761572.1507068200668
Content-Type: multipart/alternative;
boundary="----=_Part_3362_1295313014.1507068200668"
------=_Part_3362_1295313014.1507068200668
Content-Type: text/plain; charset="UTF-8"
I cannot stress strongly enough how unready this paper is for anyone else
to see it. But seeing as Vicente asked in the thread about monadic
operators, here it is.
Feedback is welcome, but be aware that Vicente already sent me a long list
of things to change and fix. I have yet to even reply to his list of stuff.
And Vicente also intends to submit an alternative proposal which is much
more comprehensive than this paper.
This proposal paper however, I wish to keep short, simple and sweet, and I
will do so and let Vicente's paper do the big picture stuff.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/13df2242-f7dd-405d-b8b9-23b47981c56e%40isocpp.org.
------=_Part_3362_1295313014.1507068200668
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">I cannot stress strongly enough how unready this paper is =
for anyone else to see it. But seeing as Vicente asked in the thread about =
monadic operators, here it is.<div><br></div><div>Feedback is welcome, but =
be aware that Vicente already sent me a long list of things to change and f=
ix. I have yet to even reply to his list of stuff. And Vicente also intends=
to submit an alternative proposal which is much more comprehensive than th=
is paper.</div><div><br></div><div>This proposal paper however, I wish to k=
eep short, simple and sweet, and I will do so and let Vicente's paper d=
o the big picture stuff.</div><div><br></div><div>Niall</div><div><br></div=
></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/13df2242-f7dd-405d-b8b9-23b47981c56e%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/13df2242-f7dd-405d-b8b9-23b47981c56e=
%40isocpp.org</a>.<br />
------=_Part_3362_1295313014.1507068200668--
------=_Part_3361_626761572.1507068200668
Content-Type: application/pdf; name=wg21_try_operator_20171003.pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=wg21_try_operator_20171003.pdf
X-Attachment-Id: 19e7b138-c406-42db-a88f-9c9fcf34862a
Content-ID: <19e7b138-c406-42db-a88f-9c9fcf34862a>
JVBERi0xLjUKJb/3ov4KMjcgMCBvYmoKPDwgL0xpbmVhcml6ZWQgMSAvTCAxMjg5NjYgL0ggWyAy
MTIwIDE5MSBdIC9PIDMxIC9FIDc1NTQ1IC9OIDQgL1QgMTI4NTM1ID4+CmVuZG9iagogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKMjggMCBvYmoKPDwg
L1R5cGUgL1hSZWYgL0xlbmd0aCA4MCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvRGVjb2RlUGFybXMg
PDwgL0NvbHVtbnMgNSAvUHJlZGljdG9yIDEyID4+IC9XIFsgMSAzIDEgXSAvSW5kZXggWyAyNyAy
MDggXSAvSW5mbyAxMSAwIFIgL1Jvb3QgMjkgMCBSIC9TaXplIDIzNSAvUHJldiAxMjg1MzYgICAg
ICAgICAgICAgICAgL0lEIFs8M2IzMzVjMjExNWU2ZGE0MjNkMzk4ZThhMmVjNzQwZTk+PDdkMDdi
YmQxMTMxMTRjMjIxYmRlMWM0MWYzOGMzZDcxPl0gPj4Kc3RyZWFtCnicY2JkYOBnYGJgYDgJItk/
gUjGOjC5Hyx+GkTybQWRBqdApOxtEOnOASQZ066D2PzFDEyM/x8sB6tnYBwlR0lKScb5A++GUXLo
kwB2Ng4qCmVuZHN0cmVhbQplbmRvYmoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoy
OSAwIG9iago8PCAvTmFtZXMgMjYgMCBSIC9PcGVuQWN0aW9uIDE0NiAwIFIgL091dGxpbmVzIDEy
MyAwIFIgL1BhZ2VNb2RlIC9Vc2VPdXRsaW5lcyAvUGFnZXMgNTAgMCBSIC9UeXBlIC9DYXRhbG9n
ID4+CmVuZG9iagozMCAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvUyA2NiAvTyAxMTEg
L0xlbmd0aCAxMDUgPj4Kc3RyZWFtCnicY2BgYGJg4PBgYGZgYGZkEGSAAjCbmYEFyGQ50NDb0bSs
JbeBgUE8ILklzMJ1mkUkXAgIOBgYY5PBNAMDF1jkNAM/A4PxyvKfBzmO73RmD2G9kH236ARYSpWB
UcCHAWytGB8AFOIXVgplbmRzdHJlYW0KZW5kb2JqCjMxIDAgb2JqCjw8IC9Bbm5vdHMgWyAxNDcg
MCBSIDE0OCAwIFIgMTQ5IDAgUiAxNTAgMCBSIDE1MSAwIFIgMTUyIDAgUiAxNTMgMCBSIDE1NCAw
IFIgMjAyIDAgUiAyMDMgMCBSIF0gL0NvbnRlbnRzIDMyIDAgUiAvTWVkaWFCb3ggWyAwIDAgNjEy
IDc5MiBdIC9QYXJlbnQgNTAgMCBSIC9SZXNvdXJjZXMgMTU1IDAgUiAvVHlwZSAvUGFnZSA+Pgpl
bmRvYmoKMzIgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAzNDM2ID4+CnN0
cmVhbQp42u1ca5PbthX97l/BTr9QTQQRDxKg22YySZy0mSRN7Z32g5PJ0BJXYi2JKkV5vdPpf+/F
g9BjJe1aEkGh9s5oxCUFnAvg3IMnbxSMgyj47ln0yPdXN88G32IeYI4IjllwcxvghKMUiyBJYsRI
GtyMgtfhNxHn6cvoea/PMA9/rspFr0+SsFwW83Hv15vvB99SyIShhFKiMokJEjQBDJW8XORVVpdV
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
rX0/DJvtw6rCKVSWls3wfndBTVd1uwFbW1d32FwvCbmWUxZZ5HlkGkrI0U4FMiiZd6DyF+TT+1CJ
MkFcRm0y5JFxnQk4f5xVDXGJ/bZULro59bvt8P1q1i4JMV5th0W1ns37job+M70f1qvb06okTuK+
VSGus8ZGMm7sJcaI/8Y+1B/rVbepe5ptkKE5zKvLnF3Nu5bzOfu5m1J39epT826onnVImJthN1vt
B94iYy/72XqNFP32JfjYzZZ19WPfd/0LZPAVhu/Ih02W0AhMfFwds1vxcQpXRkpOx4J8mdy5JvtL
2fCpuZIxHkaZjYVn81c1m1KdPT+F+vqvYV/wDqvFWBUVqqL6oioeBR2Wzq+ALPuMRigPNJEc+oQ8
UAfidiYP5OyD3igPlI48aMwCDTbSoxfMAyNqHHqYPDBoQv+ax3lFURVsCvpMikjFeaBJFFMB30aj
ApoCvg2yZgoFfBuUCakK+NaobNIV0IOLBclUwLcOllSBLxpNCl8a8kDuA3QB39oqgtYCIOo47iEF
QFRdY3N8GyXHAlIWiBO6KBondFFITuiiuJzQRcF5hS6L0AldFKYTuiRWJ3BRwE7ooqid0EWhO6GL
4ndCFwXxhC6K5Ct0WThP6KKYntAlgT2Bi6J7QheF+IQuivMJXRTsE/poxP+HOqWgSPJXI2PIpH/6
cWUt6ZD+d43jFR18veIPLxrpCtGmjMJxMGV0HH7y+Fpzd722+JjIhmPn8gCXFPGnvbw+XAnksbx8
gPOJ9LHscwBzkXQqcMPyRe5Y6B7gcLvni2AWpx3Zo2nmAIcLqnUFfuBWZ9Ox/Hkd55Im3ATzuKjI
hTzNLkjcLo/l1gMcbii+wDxc8ILM08yX2WDzNDvtKcQ8zU45igXHhe/3scAPvnQnmafZRk3J5mm2
gQM1T7NFsyDztFh0CTLkT71Ff6BUgT50BvyfAVkcegL+hp3FSU/a5Gk2ySGd52k2Efdm9SXNfwMR
uAz2ZW5kc3RyZWFtCmVuZG9iagoxIDAgb2JqCjw8IC9Db250ZW50cyAyIDAgUiAvTWVkaWFCb3gg
WyAwIDAgNjEyIDc5MiBdIC9QYXJlbnQgNTAgMCBSIC9SZXNvdXJjZXMgNTQgMCBSIC9UeXBlIC9Q
YWdlID4+CmVuZG9iagoyIDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMzMw
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
GVIJpOyjBW14kA1qGvZB6RgHjNsrPUaXdtiiJ+WCqjn3LIaKYCVUVI2/Z2cKoJgUwZu6DS0lrsWb
FiA91cQuxzUV2rM6LwAtIbDVdhQyjzyYEro6rUUrhJSYUZHyAE2kgs4yrtEKVDbbcoEN0X9adpKC
RqbkgpqIoNYw3iyWVA/bci2Csu3bRA5GaRPi0bSUJgWN5MoFNRGljfbTA2R0NttmgQ4BSFp+koJG
puSCmoif/h1ck1ovu0lu3RVpSHoYUi58Yr9lYRTjQu7S375YVGzKq6/0Ag5k2DLEdmkNmxQ0mlgu
qIkM2w9ICEx5a96DYdvPzaV6CgFIwfhuG1M0UYn5Dqv3QQrpAPzVvQxXZZh29fC1wPnAn4ev9SsZ
SE/axZjO/C0983fum3HMk0UVNSau0KEFjcKRC2oiufJWLwymvDUMbhkrAqilv4muEcAptsy3bcww
WMHuCz+gFz0MJujvsvwKlOCyUvIlCf7cntSD3Y7X4xiIw++8EM++86Ihzoju1uIxjmRAi5lyx7OJ
1gSD3j1dvx6jP2wgLZOSzpfW46m+GofDh5Coo3X4pKDR9eaCmsjhC2CS46xTizE6/Lgbw039dX99
2JnsTdiqfCeYId10dTWsp/MsLSkLBfXOxKPe6rYjA0RiNzCQfPOQYaSVb1LQKKS5oCaSb6iPQvmW
Y5NvI1jp5D6R6AFmutsXWvoPKuB77S0r999btp8e2tai3L4n2TERWDny2vqhJq9hxtjiTLqFiS1P
kLz2/h9G7326ZW5kc3RyZWFtCmVuZG9iagozIDAgb2JqCjw8IC9Bbm5vdHMgWyA4MCAwIFIgMTAw
IDAgUiBdIC9Db250ZW50cyA0IDAgUiAvTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBdIC9QYXJlbnQg
NTAgMCBSIC9SZXNvdXJjZXMgODIgMCBSIC9UeXBlIC9QYWdlID4+CmVuZG9iago0IDAgb2JqCjw8
IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjU0MCA+PgpzdHJlYW0KeNrVW91v47gRf89f
oUe5WDP8ECky15cW2BZ3aIHrXR4O2DsclFh21MhWKsn5uKL/e2dISrJkOd6s1846gCGZFDnDmd98
yqHBIqDB3y9ocyVGwF8AV2o0XLSQIigXwfjET1+y4j8XDGjRgAVKE814EFNJYpi7XV58+o0GM5j7
AZ4XsOrJPrnEp2EfaYI8+PniX+dHVEaCMK3Ph2qLBxFJBvuRSDAR41VqzR398Sng4K/XF5d/E1Eg
iYljFVzPgRMSA68xNYRGLLieBZ9CGU1+u/7hQFKHrQYu4yAmijOJXApJZKRgP8vfnyc8nE4YfN6b
zYBpwg0LGImNccz9Dsz9jowFhgDz042pGqZK+LwA76m9P5z/4JMIyVfapwa+HH/IfsSAf9U/mh0n
Mu6f6xHWJPDJYf0arulX4udXKilsBxf2VXbk4XeDfY7vUz9eb3s4ZcDoTHRat3paoo2DOxuqx3Gr
ymhC4RnnVuU36VYN2rLkkWPyT62N62Bj+PLbMBwtYF6d2HBOSrSF8LlQPZLh6JgwLrzhqB76RkAs
WZMb2GDROvr3wmnMiY7jE+P0pERbxJwL1SPhNFaEKe8kZfwaTrkiEZUNTv/3vgBVjBimTwzQkxJt
oXIuVI8EUCUJB9g5gOpBGJeATTwIllaWwObAT6MQbgB8a5N+ZosavL/rbb2RvhN4iNjrZir/XsCX
TuanBf5JibYQPBeqRwI+XHkUe+Cbz/fM/31fgEb0xOA8GcEWIt86xSMBEpjhwIwFmaKHeeJ+Q6y0
TRfni9e+ybQaEGCRoSgsGWGyTDRvxTg6YxsmU2li36lyn6LpWuGhdOy6Q3rYHYpcd0h3gQLXzZrO
kGuaReNrRW/tfIPucu/aPl3k+9kHJ7x/gA8KKANBFVsCagPWuxo/d13Y0zqAkxJtTfJcqB7JGQhO
BPf9U8UOttWBe4giooxo3EPlXcNsC/FXMHPlIf8lDkJY61pveIjUWhZaWusl9JdZK/PWyl+zVt4U
/N9G3c9cu++09ntSoq0lnQvVI9kvZ0T45FLxsyn7qeuqnRafJyXaIuVcqB4Jn0AkYv59rhKvAZTF
hAM7hwL0i18NjANVwDH29KEFETr2YuztoJiwOxghX9vBradbO8T8c1ZHSo+slVBpHEC6w9Ebz0+H
PxfxVwcQyNMjAJHiqG84nlSUUOq763wyZYzS8MeyeJhMBQ2LKp3BjYrDqk5Ws6ScVfhVhU8TnC1n
2WoxABRTFtXUMIso5CyYCga24FujjAzi91QCyeu7FHYWLLyfcCg0Xp4mXCMBfNai1BAec2251gDx
tuCpyxf3TJ8wBxGptkO1Kmq3+7zI8wIp2P3t4WD0Bkde3H0yQlFLuDW9rsCQniHMmI5cuXszriHd
a9m/GtsMLZa2zNfFvWV2hXvysLpL8rzhe4oT7sttsaqyWVo2h/K0I9rXByOaxhvCm6bPD+VEsjCt
qqxYjbGj8LWKbtYM1DeNIJE2YGZTFHmjZD6q5I+PEynDJF8ntS294ETcQFI3x+sOjjUYsXojv4bI
TvfZCqX3iCou8kcrycrRqxFzeONRocMnxLPlKVk/A4dZniWAL/e0BQnYBeKz+oD2QcMUn3ooHS84
yI0JwVL8wUBBcOB/p7d1dTV0vL1TTlExILyeEH+lbPgaYaBNe9scNBnHpYlb1WWVg0btjA1S7KSq
rUDxAFYj5HU2gT0NnuYQNotxNlVkemwyGc7SOi2X2coimik0U23NFO5Tq9X1Mi0BS6g0XODOBbPJ
w0Oe3cKBkps8HbNB8Eu6g1XxgNug0SrKd3mUGINus2K+Xt3WqHJHeG4NHgmv3EBSLoA3y2M9hmqA
B0SGCH88I+yL990ahFuskLqXmhSdKgG4YKGDOGwgBzEAiyYd3hUWpUXlJKOVlwzM33j81m68WKXN
A2WxXtz5UYS6M5UyL5KZGwWQFPkaT+2+N6wgGwRFp8LvQeRzR6jwVtfugcXe1B+md+revox69dMw
WSIbN9liXaxhX2tyIFonagpOFq8sfMxAyfZnVPZrTzOwSZm6m3mxXs0+9HBCwXKLRQl0enSzPJ+C
QpfpjIypDsRNdMT2wFkavgFne/aIGkCQGKrcGSJi1bl1AGAxMNMqzcGFNI69OeEeU/VWd4ippuNn
AyZ6psojewy41OnSOciitH4TxzacoBu4heQCDXmarbI6S/LsD3symJmX6IOWY1LnVBGu+R6pd3aS
zcd2Ac11gWH/Hv3DPZQQvhSGr/Q7HIFTgoaQ5aesSkejLWicdxXfG8S5cte8peggJJQgkRFD+5mn
ZelMHVFTeBQ1GRXY1zr3+Q+GWpxMu0iMYc5lcVvsx3QzVRmVF6QGgo+nBtuI1IrE6rDogRmAC//1
ulxNs+UynUgazrKkTtELjLpuSGohye3FF86b+A83TQRs0ok+A5BvchENlNgLJ5LEps2piI8fAXd9
PW7T+I2OF4hMY7rUjZf2MHZSOAWPLuK9RXh0d+wX9MTN+9StsMUhGWqPjhlKJDBXtKEpfa7X4HZe
nBhgdOpxBmxIo/o4887c+6HOTbks1Iec/PheaQCBx8Y8tk6uSdylui734faXrY1ffV3vGlLlKN6n
d/0mvfPD9W7P+5rGhSG0q4/2JXQaIjgXBytkpxYiFNI7KUFbeZodxmfeIk+5q/zhAuo5Nsjcxc4a
dyyhUFA7vq3CidGftS7pLhnm9VWy9M6/V7W4SZcrwlwTA5oCEnzJorBhG5/a2HMsHrOIQOX3dgh0
6h5KUihForaQ9C2J6KSS3AiL+BK16iLpCDUoiyPJ9wcmfH0BTno8MEEaz8S2bD60wl/tKRy5lETj
r/D3GPBWUbFhwN9jVkCj7qDDhoXpUhSfTYzZiSK6n8ngluU6tbWy8eiEsdt1WTa1kR1oMlr3rVma
Pmcu1uBYE+xAmBiucCzxzzWpXp9pxcD7Rx3XjafdTuc3veVAi03WpfAd/CAa7kI7iAvqos42Z71e
jeviYMqR3q5rX2Ls1i5wB6XGwbpl8S7dwi3/LNUa2c+LYct5kldWuZzushGpoLBXn+sl1Eaa1UUF
S6uhuWmhM0/bOTR8qPZPtSnvxkpf9OkQM/Z2XmNK7EpTpcGeB7XpjmMxTZQWB3fRhv1YIA0PYTDB
/7iJvAsUviv7lwk6aWy83kPtC/dPeTpbpNhmQFdRvYokpmw/tNeJfSOS/pm55kICifZUChn+iLEl
Ke/dN9sDwZslerx7W4/g18Q1E1BrtqNmWzJ2pr5D3eDdP5LriRZh+oufgDIyR2N3G9SeSWyL4+sD
e9O86e6wLCicLW7RfFfXD9XV5eUiq+/WN+S2WF4uH4DbS2/U/umeup8WnF2+KhIeE8PYjmSA4U+A
welMJSdKxo36Np/5eH3xf5AgxJRlbmRzdHJlYW0KZW5kb2JqCjUgMCBvYmoKPDwgL0ZpbHRlciAv
RmxhdGVEZWNvZGUgL0xlbmd0aDEgMTM4MSAvTGVuZ3RoMiA2MDI5IC9MZW5ndGgzIDAgL0xlbmd0
aCA2OTc5ID4+CnN0cmVhbQp42o14BzRc7dq2IFrUaNGH6HWG6NF79E5EGWMwjBnM6ESv0XsLIToJ
ovcgCKJHD6InSgiCCPFN8uY957zn/9f6vjVr7dnPfV93e57r2jNrc7DqGQoo2CFtoapIBFoAJAiU
AihpG5qDgAAgUEQQCBQm4uAwgqHh0L/tRBwmUHcUDImQ+g+EkjsUjMbYlMFoDFAbiQA88IADQCIA
kJgUSFwKCAQIA4GSfwOR7lIAZbAnzA6gLQh4gERAUUQcSkhXH3eYgyMaU+fvWwA3hAcAkpQU5/8d
DlBwgbrDIGAEQBuMdoS6YCpCwHCAIRICg6J9/pGC+74jGu0qJSTk5eUlCHZBCSLdHWR5+AFeMLQj
wACKgrp7Qu0Av0YG6IBdoH9GEyTiABg5wlB/OQyR9mgvsDsUgDHAYRAoAoUJ8UDYQd0BmOoAQw0t
gK4rFPEXWOsvAD/gz+YAQIKgf6X7E/0rEQzxOxgMgSBdXMEIHxjCAWAPg0MBuqpagmhvND8AjLD7
BQTDUUhMPNgTDIODbTGA362DAaoK+gAwZsI/86Eg7jBXNEoQBYP/mlHoVxrMNqsg7JSQLi5QBBpF
9Ks/ZZg7FILZdx+hP4frjEB6Ifz+XtnDEHb2v8aw83AVMkbA3DygGsp/MBgT0b9tDlA0QBQoKSYm
CgJA3QBQb4ij0K8CRj6u0N/O32bMDAF+rkhXgD1mDGgAzB6K+SLyQ4E9oQC0uwc0wO8/Hf9cEYFA
ADsYBA2whTrAEET/zo4xQ+3/WmPO3x3mDbAAYugHAgB/ff51Z4lhmB0SAff5N/z3EQupqSqYGqjx
/Rn5X05FRaQ3wE9AWBIgICkGBIBAIDGAuLgoIOCfefTAsD99/EesBsIeCZD8q13MPv3dsucfDnD/
EQgP4J+5dJAY5kIB3P8m+iOgKBCCuYD+z3T/HfL/Y/mvLP8r0f+7I1UPOPy3n/svwP/jB7vA4D5/
EBjmeqAxKtBGYrSA+G+oKfQv6WpD7WAeLv/t1UCDMWpQQDhgGC0AuicIvPeXHYZShXlD7fRgaIjj
X6z5y278S29wGAKqh0TBfj1hMFFA4H/5MCKDOGOeIigMNX+7oBgN/bOuCgKCtPslNmFRMQDY3R3s
Q4Q5a8xKFOAHwqjSDur9m8wAIUEEEo0JAWBmDADYI92Jfh0sSBQgZIvZIwzBMXaif+SGeLi7Y4T2
mwSYwn+vf6saCvWGQojmZ5AQ6TCnV2Ht5zUKDF4CmyN4K6ud0YnmfVGiaM7ZZ36OWvjZapNuijZ2
L+4MZ+jNlUdMzPgz8H45H/V+1J0bvJyuno/GUulbVzwUKBj8ftztAGW2Q9I7jIlnRK9THCTpM5HZ
WOBacKWYzlyGi/eIbL/cKrrqRG0/lNwFuABKTslZ0xnQcQp5nbvYT8xZ2VfRQ+aPyONvu1tkehhp
GI9dYT+BxZ8ptsfSffdZt4jPGlpaepvb35chclSo2Vst9iKCko7K9wFr3nDyAB11Uu6DJhQWp6Lo
qVJ5WiIbXbFLBOcyjo348o+pwv62pAERjwYHHaXgW7qP3zV61CFFZ2TyepaPGK03coy+C5HcaU6O
duSvyWBX5Ki2wzodyjyoFoHn9+LSMAPw6joXr7WnkKVlZ+Za2AuNsfiPQ0WstsbvnNvEZSeBhC3T
ZOASAx+fK4rpwZldh+1NFy7vpwEo6Tko9TRwdFidVj2G7/ILfnveB6s0Y0lBnHxqfts+1BN5iGT/
wkQ9GZxo1pG9+2YnqUlD9PQ9hQmvihi6VnMW2WXNk5CXMBVokJ+Hq9fWqSb9UF5ybpwtwUSErMCI
YtZIaxsrU4fQXCpcIWiKnJTS+Us508uFKrF3z2RCmmXSJIKAjxfHD28o6+8lkNeu39Lv+X7TKtHW
/VBImMBKM7/zoaNNqQ7XA/S9RFjjbuLlJ0XzyeBD8ZnlfMWfxoHWlGWPH+Xbx/2I/7Z90nCQb6ZQ
F/UQHp3aNRm4bv38HVPHw/54xszX43u9HVxp297qDRenuIeUtkNqUgNsYcXwysYE0ValpX7qaGOL
frBW+0kzgXvPO/vGk+/EIIsz6Xsbwa5Wnxp0Dlx/VLgpKgNuk3HNhUuKrL/QDuKU9MMljjIJVCb5
JnGbBDzeECI8gxDEcrRvJNqAy2ku0BTuWrA/aY6hqLtQcz087WVcomytZRR6MOALOcMpDlGV+OGp
J/Lho5CZrthbHwVkV+2Xx7vblqZuDMoh2i14Ueb3VkqPI5opCs0Tpt8VmumpHGpdCa9bC7fcetFS
jlRP8yMC0XpP0lEN7nB1tXvQ+bchSc5PL0x1WJgMslVSj0r2s1oSprBPfnCmrmfCWVSvaR4FalFg
GziCXjKr5tl+LXkxFsAXCSdROrcElBQv9nAThDF62k8jQ/nsx+7kau/us9QFnMHlGCG8y1FsX15Y
BRpUbVlWuERskL+HlYZpVugOTsazatyKfTX16sf2nW8GFD+t0VOm0lld775mDnjIc9+tQPO+K6Wc
umX8LNfPf/3bN/0AsMimahkcJ63zWMIbt4oBv2gSnaxuqlDW82JNuo51wWR5/CeJUusQVagJsi5j
0bM1by9ZrqculUU6NbdWZviDLH9Y/3ppZecjtsrvjWnZtBMG+zc9DZTS5opxc/WVHYnoSKfkrfnz
BmiGc8k6nG/TxNnaw7cVNM71rLAr6rK85rMpS+w0BtV9nbkhZyKh3j8SmWMGg/cMh4z1NOrs/TRH
y0dQ9OHEX0bMq9sL9oX2PLsTxiwKWn7MMTdrcegWyO9mqYdGpNy+v6zHFf/g+fBioGfSNH8/ez2b
o3GpttxJ3a7caoor70yYuCfpLK3Moh4IFbCuRpYiX6STLGp1KJIWbbRZJ2HfGgGg99EviQxt0eUJ
qyepAopPbU1ykIYThqkRF10kG/g+pzw+tv/sFzluRaHs+OHk/kahX1bWmmLa8M5MwMXr/vk8lLA9
l9Kxz/JajfXAy6mX8pYQZomUWgS9uBtXKN3WDc2oy3vOujK0+z8r5WeMAcllH+D8S3pIlSfLtFvO
2O+zeEnFCdxwLBZY8fbOLppG5z5NPUK2hVjNsjdxxm4eH1lSSMDTEjaaUC2cYWHdQolra1Y82axG
m2+CwCTH2KtVX+bH61ZpgjsM2QqkEz6lXXpYYRlGEymIHmWJKcpQLBZ6IhazjNYJXmQl1I61s4VP
nJVTWgrhjQgEBvhFTfQPyudPpfM9YcyGkd64KoeAR10Rg4vr9VMfp/0qSHTKQ7AOHDlQ3ys+H+YB
sFpmV3WKaEI2NqtMFjZGB0K7wOXZlief5Kb5ibH3j2zRBfCUTEdysaRr3SjPHutSPIPP7+okEw0B
Vjh6+6z6rmeE3YkMZy3uYmft3dLFdQ/TP3X1b3jOMUs6E/tQxNM0qCf7uErTKw/OrgNSnOj2Qbnj
UocGYZZVSzm2vmpKcmwcIf7QpWIv1k+16SNiccPFBnqf2LeaWqSuO97zDHbEq9yd+1Rsx1XVu9nF
INDSSPxWGEuIoQ/A8TU+IHK+iyF27gMtsctwePXDS/o3hVqkEmOvT+bjIMPHDWNIqnnsqpgcLfXi
962aH06OG/N4Mr/hu+XxzS5CzH3S+kbaivNzbhBRWmu/i72yEZCvwwfeNsG7YuA6yR2rHT8tRxuW
DRaR2ckt1ZpR41Jyh5qHhr85c9YxbTB/va86d/+TYkBd+mfnusVe/BWDfe6F6TEr4TkOciC2wuXV
nktYG1bsKNlnuL9LKHLq7V75PTr9zVbqF2EFPk8p/VMSFjxZbh/wPU4symd+k6rSAIl//2oeJ1m7
f3dW6MUpE80uei4c51Idmh0xr6dU/9lT58s2m5pYAHHJHskX/Pw8ywZQgQJt4uvYVD7/7RrujRaT
6a8rMWplVXDxEE17BlMq32X3fOt9mR9qbH5cFfeGI8y0ASXcXXd602ojDuh8hT7UNc77Tmr1Pgzz
b4lWvsHcf0+A7PsqUGXftTGG/qHhRfOxwsBqZBVBVN3bVbq5ZoWN1JbuDjS8s3ZU/arAAsso2Bs1
ql3IFK4XzVv/DAotTyixL+nE8nJeiLzDfK4O4hEnKEuAscWN9x6EsAOZ5n4G11f2msjBum7fjvY9
3pbo7/PvKpa1u3byMcqOC+5tMHEZ2MpYpXMrfeegNESXdJx0MPe6NfuGpO/Ntk2jKKXlQKE36Met
SX2ZETdLkUy8+xmSsf3uY9MaTwqQTtXG+5qnlN5OBa2ChPx4I+d8tqCamVdfiXs1cuDKWgf6D3FE
gs8a9QQQyJP2ow6u++PmHSt4UIE9kNA5aWy+eHAsr4ro3Qy7yK9FyPh0P0ulCln2nziqhL4OrONR
vM+RrVhTN51i3gvo/AjeHykeeYE8kkjo0/TSd1iKc83lBVlRkoYIzsREPR3t2a0l1jKJfnzy9vry
3IWECg4eJbHkoNoTZCuxSWwrt36p3wRjDKTfcH192hfPPISPj0rGFvURNAtNwGGcHHnJ83WLsdCo
YB+r5NQOpJlf6FxZ+S7GaSmwspCAAQH0pa1Qe8m0yuIW3ZSwCy431f/M4Rs2defBq5Y5syL6wh4R
tIYP8E3nc0HcqbvRfRYpd4uYQpXvqrwPSXZ1rVblrSz7Vruc6XngrjtlN4oQR9wqopjEsZcM5a1m
2DOT+ta5LTvQni3FO7KsxWSPPRJH3SuZzAlOdpLmY/KjbgNGEvKMLygkO/TWaPLuBJtp9mAvmjRy
+c4/PH6nwLTAQ4j4cjp2q27aqD2VojcrcVFrdIX0we7B0WcrZVjZlUXJoRTq/tMPzcI9rF+plo0j
L/xzsNLv4n0XNQnbtZ8wjtlx0wsOOLuc9Je5js3G/J/pEdX11+vF+4TKlvxayhwfsLGZwkvExOfg
qhDEX8PfLePvVCksSqE0GCKe822aOPkgvbohY46RPFDws5BqGQPDYMswsDAdbZC72hqDLcjG6AUl
dqSn6yLVC3oG3ZhxcT368iASWS9fU7uWHnxtfbijMBkoUrqmT/25S5HZ5OQx+6GkSmErTaKTDNET
SzlA5aenfl43q63JREXOilW/OEx11d17qpj1aSNnT6Gs8vZqh9urscNhMpaV18sT9xrwY5gjixLH
v4Be6tnfeU9Ydcw/Y9iXL3ay3n6T8Zl7UalF0lK3p81H4vaG2h9xtCddgd5nauzX+QxhxTtjggEF
LaO33qU2ldF+GOtUHclKhdTUZieFyNx50W3PSnuDhXe4o0IQT2jbC+9NtIFEK7f8/PyTbF8SSHOH
fK8Op4ZLRt7Sc1kz1rcuadCvQ/KjcBpS02u2SRMl9U/nTyXeO9NOJ92873Oeq+NBAk7F3yku6+gT
LOk/wEbr1Be/iYILvyJvdlbQsIzkodU+JwtsNCzcujZPn0c00IfE4eFlJUxzlvFaxTMNJHFdQuSx
yNbuXHI2DfrfXxntK8o462SeoN+vuX29M1/BlwohfRHUeL/gsQ+Xyx7qfpbx52BJV1brTuxS/faF
bxtcJTo5avUHqzczZUmx+8pGXjtZ1t9GHIuYyT4o8JWbV94PktE5D7/RYYsgYYrzc6O1NeeWZZuX
4P30pHNwxLnMR+QcuRZzjvUBEHQcrb7eQ5Kg7LXWcm5ZFETcwZBIvWv3zE8lmXqouPeJV/A83WoW
hSA7tcnqtiM9OvfU15nd2Znd8t5uNTXuIcS+ueCimrxNCdc0Xf5o+PiHyNPTDFcWuH71sxT9raxo
XNvVMmoh1+MbDcfPGI1S3DpVJyRwrX9OK1AkdyF2KfXf418XumjG+3H6St+f7srDC3Y5WreAib8b
o6nfzX3+lYuX5srNLMjoBuIIfZ9hOtb5SIhArlzYhY4nb3jM/qSlej9tda3w3Ocu93q1DceCXwUD
eSlruz5zrhCQE7Xi3XJiv61YyVc17f7kQGXlwAI9seCgq8kYp/+c/YL9lQwV/ceQ2Vy5HTt5EQgP
uaVIBX066c404zQWB692gDpjL33W5+I8aSW756uZNwfdXTvoakBUTlf5qhT05F1RkHAUEzptX43r
bE3pUXqrKw/uC55TvJ+51izZFIU8tdPcLRc5xQ23tLVbiRrqwkjc+j05G6uHzpRWNkV0sBq1HqLq
vIz0PPySaFDtrWM153p5T/gEnr4oLzB+klGr+s34XI+tTXM0IoKvsn3SvBMqTikHrOROOyWA2TEw
ZGvVSzs440t23+Y21xBIjIXbvPz2Rdpmmnp7S2GcQF2q/uWzVXN1JltQSsNam/qAX7NX6ICBlflE
Nh0pP9EzdtWy9+nqyvNHJvRyrkf4PhMZLVR6yxyqMm0hPQP9ipF4p/OnBWqac3qOdY916i2acTWG
rHeigpQIDo1ofJcn7Qm3Ce9PpafGXgbfsLmH+VVWAc084Gq/Wl1itwkwIMQjC8FfCHxUFkSxpiPs
bF8IPkZ6PBAXeRpIvlN/5Lm603USqLlo6perPbUsIjebEFeufWT5XcqUTpqKwpMlMZw886bZmvTN
MEWWZMLoUjPKBEG9VQ1puXxWo6IogOCtJhTNHs6pseXGy9BkmQmzmJ+3rpJF61/HBLkHaaNlfWSq
I3jXg22VcDofW5F0oPsYFNxrC+Bcjed9JWmXxzcenZzN5Q8yagVj74YW6KVwiqPRZNinHmq+0poO
9xaOJ+KYpZs8eNg+10lffDBMS+/x7Bg+vPym9LhOrutBaJtQsiqbmLFgDVB2Gw/7hO+Dpv5UGJCO
bWiqckJmN/gr6vPyfqg38oHl6mwF6zuvSzHdJcGAJ3lB6N3hQFGKw0KTteHyOr4qiuKmqhevL5nE
Y+qMUSHZL2fK+322N4fepOAb5ccqiV6quTusGeO9IRd9x54QmRHL6V+T0NAVQ/A4bUmtYmNOIi9j
h6SgGk/bc3OF24kWXRq6vgIg+TpWiPi6n2M5atmnj/3O9E647lwSfZQLqWDs8/gXh4QGFp2045lI
nftOd7cIfnKFbL9pB72gnCN9LR3AQnYY/kg78ClkhltqDppQK3caHrFO+TDrHrNmlEMkbnnfp6Ke
8m0ySvnYXKOqVMA0F/iUjaNf099GXzPgY+Hb9SMP5YjclGjSgGPOoKs3EpKCVzOlbdu29J6KEL5A
lS4+OeJB0ZIoTrjkiVmLnuw4wuGEUEN1W0quB506l4hnaKw7CukndRJWcrEo/lipKy4b7Gx64Vxc
WN6BPWxWzRX66gtTCU0uGXXPfePSV7M6ixJaSDunRdQsqQh5pCxx1l0G+q/pE2guszQ7akk+FfHa
Q50NPIIsu1gJvz7Lo1iXlqdCkXS3+r+S57XNxlMX29F70j0xx47AM08//cnihXSlPPmcxZql8kbv
qbiqHPLO2BsnPTLJtaMXbDndDimKMU9jR/vm9b7En0grWukn6JaniHzv4lW8JVIX6oFow2FvWtHo
J925zrfWxYP+tHlPxJLJ/nrFJiRAQJJaX+hN8aZ2HTQoT26ue2BwZ7Km4QYz+Z7jBo5lTIntYRfh
1ee2nUrrHeH7E+cj6f18uOR7aMaeihqLsdzaKLoHBT/LdeWLOLSTNEKWP5OgSxrmPPFCI6Yf0bcI
2a5P9B5pm6hSDwFFr0f5nDU2hU0lZe3TA8qbAOTj528aT0TQkY2V160FThURJb3+bKX1WydfEmeI
8gcGLaintGIc87HjzW9T1/HMIUXFnalXfqbc5QjEV09+hMVf5T3qf4KqRnnvF6vn3VfVpFjfiJy7
ObLvWHqr5aHY+J1wLBf+5QlHQwHTh7cTSHFGH9zhaqo5G5Ip2/jgpbP5tA4Mr5CKZj/XFV3R2wjz
6rUej1YBxrBqLotEjw+zWW1OfHdw+ykJrLVX6eeWdmWT+TlkD5kVzHFWQ+1PKw3vBq/HEOp+/7pr
c3uIoNQ1OdOveaVMQ4xWKV3zSglHyKvmqQsVfuWHIcP37C/1fzBPKGmdFB4nNdN4Z3oRfuwsYQpX
bV7OuclJ8pgtbEMlRXYkwr9R2gaXrI/Y8wfHOctCtZHFPmQGz/IgBIodw6aWYUzvFLdSiRfmE3OI
9vSelvKw00+i8XjoY031ysiOLaXiuS3fdrduhOUcvNr7I5eY19G6mNkrJfIuZU1mXXy67kj7HG4H
eS9L+xKTrOEei53Ax7uxINXvn5mtyBREPKsIB9Z0czwnqxkbhW94EhP5XmwaNS9fDAPnl6hs757m
3LDI8fUZS55mx4WCqhadp0Uz7AwU9my4+8Ll/RJlbvqYynYdRm3IXiRVb/vIb/VdtxivXhD8fqXQ
qy49APFLP7zvo2grXg5n5fROaD28KV8e+f4gjUDArgB3scNjY+cRVs8I9hZbZuAZl8eXIX9qVtlF
kR/A+jja3vbnVtMvU+/wTGcJ+DXpJrTU6M5cCJMblPXUk3m//bRLwBKl30dw4qXoMJ601n5leNWW
l8M2WwHPsT089ZVuqc3U8Jl+pDJ7s3t4J9rVvcxZm7hJHk++B8r5+plIWia8dygabXi29YaDKXif
55OQq8HA+fL86wq2O8INHkSZKtBk0XO+N/M1qNKHR1z0BFS1LaXfMj9u20bpv6I/OawxhN/Od+o7
BSTS0fvie9JhkS8HrT3mEKTU9H2kQ1UQE7Z9uX5Go7KDz78ONRGepJDRpkVS8lAJBD+ADJh8LJKa
pDeeF55olh0ERc2+TWEj69I3bX0Wqnv1bSLpHq+u749WQUjzsRMktdKc83Llw9zcGGXC3o7Mrvjt
VPM7WfWn528Pd/gVRBFDGiuqMWlCuXKX72KyVkkswSjBeh2ha4rcNH/xuSS4zkWVw67/uqqeBHP6
vNpjIyBBOyHnjWOmziIOL/2MeItbuRMuX2umcL/vbZVT9KTwGSAXGvWlL1ju5l/pc/nOBtKoHIz5
cdyLxr9lrXY5miuL+rD19KGWp2xPgTun+J2p168+ZHwjxdEkfQ4WnCPvEaKjxopZ8LkdgiPUIVpN
PoaYv3YLWvMacGt7+wCIn1ryZdiyYG5s2qpZkDj8WTRn3pKjyMmaHBUBZHpV69ETiuiHr7dzb7Ey
auxtJ9S/eqmqufct4tESKKRpkg7JGSwzK+DrFSgyHre0ZNmBM1gtSFaJ+EHy1bX7JtEUjmc03D6S
51FjTKmUyat3+maF3cjU7LNAwL1pludU8xQxJseRCXyu4z4vZ836dEO2OOvXCsvL3UTMujW1nKHX
38pLayM1+xc7Yk+fr9jid8XKRTXlpw2kwxcmtg49dxROVQ5ZxlSmxerJI46dLNk1mMalw0mPmPxN
GeosKEV8QSTVGzaIUcXPQSybadrRqoWiDsZlhlUt3c+z1eappxe/y2FpHx+nj9WrDdOKVW8ajxik
8j7LCvtAXBrZgL4laHqdfE34EUIE11vQrWkyl4E69zofr3NQ/Q+V04UEZW5kc3RyZWFtCmVuZG9i
ago2IDAgb2JqCjw8IC9Bbm5vdHMgWyA4MSAwIFIgMTAxIDAgUiAxMDIgMCBSIDEwMyAwIFIgXSAv
Q29udGVudHMgNyAwIFIgL01lZGlhQm94IFsgMCAwIDYxMiA3OTIgXSAvUGFyZW50IDUwIDAgUiAv
UmVzb3VyY2VzIDEwNCAwIFIgL1R5cGUgL1BhZ2UgPj4KZW5kb2JqCjcgMCBvYmoKPDwgL0ZpbHRl
ciAvRmxhdGVEZWNvZGUgL0xlbmd0aCA1NDYgPj4Kc3RyZWFtCnjavVVNU9swEL3nV+goD9j6tJ30
VjIJM0yhTPBwCRyMrSRmUskjKRj+fSXLoUmHTkvb4bSrlfZJ+55WwmANMDgf4cGeFSM0ZxkgPGE8
o6BYgZyCHE8SzAkoarCEPIoJwRguxEpoISthovvi4hUBzYlLx8kET4hPxyBmJCGUh+zlNc5SfH+U
ApZx6gBvm0rIiI6hFVHMGIUXibcEnikrbAjNTBURqJuHO8bJqUdBc44P9yOZc8cgJixJ+SRsOj05
celpCi+VLOumCoNGWqFXZRWlBIrhQA4KaH8q7yx8NSwHk4TmdDwUc4i7sbb9hFDXdYlqhYyjOOXQ
2DpReo0ebUWQqShF3ZoSVKvKoLZshTaIYpKj1hOhcdLWqyM2fkVkvK+M4oQd0Mko+2A6Pwf+Wu2Z
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
Z5JefiahdZSf69rIv+AAwv6eBPUbP9QZtJ79JMNkFNie6yjWuqYWm3X5R4Kt0Vgmps+c1DAl9w+P
yrphFLy3JZiAp62sr1aX+i11kpfoeQ4aG0AdmxAVhBqsEyYW6fARWKr7q0CNxq4Ts6a4RKFOtDiE
lovItmenRlraGWrutzYscKD9Hnzr62rn5SQqyU1+2rYZTlzTpMfk11QevZQy78j1TfEiM098v5v8
RNrZU0Jfio2ubLooGQR/66LmbGGOTUEval60SEbRNZrv+AqTml3763jd1FZKbH6GFzvPWC3EeAEN
tG1IjMYR9smP5lpj8dNzCCZWko+NUCB8XFNvPi63TnzaHs5fUd6PVU6+og8QSadwhTVbbxpHrxPC
NE50Y9JlU7prMqNBfDFo/WFdUIOq4kccJw7o02gYohWLJkOoh+rMmvZNwXAzwTxgWBmWX5SP9AvA
S16BIf3+GJcX2Ryfyr4VCCMut1hVVppLOaLkyKOhoe+n5AZkfeaW0GKJQXbKS/k2+x7dmL2b2ASE
1ZNkvMBWiZBt7I7WDPdhUKhdw64p1UmOMEPXYL3PmPWnFOBYnBWajjIKSSgq1NigWrLArc8OWwjY
96cWlgLcrdEnaYy2FW8ez1EOk/jKiX0UhfgpKLHWLYK/8rRnKfOl06Vnl//1YLgFtcsfOJ0BVB50
GxZbbmYcyk2rEI2cGwKXzmBLTylqrUsadQfeWFN/VNc150R8E6kfqCGURkV5Qn32Eif5/wHdXLga
ZW5kc3RyZWFtCmVuZG9iago5IDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGgx
IDcyNiAvTGVuZ3RoMiAyMzI3NCAvTGVuZ3RoMyAwIC9MZW5ndGggMjM4MjEgPj4Kc3RyZWFtCnja
bLpjdGbNtjYc23bu2LZtdGwnd2zbtq2OrQ46Tjrq2LZt+3vO3u/ZZ+wxvrH+TFxVNedVc41VVaso
SCQd7F3VvByBLAwsjMy8AFVJNRkWZh4OADMjGxwFhZgz0NjVysFe3NgVyAvQBJoBVIGOABZWACsz
MwscBUDMwdHL2crC0hVAbUrzLyNAw9bYzMrOyhmg4WDr4G5lagngd3d3F3Z3cWN0dhNk/KeRKhAI
cLUEAsytbIEAsR9K2jKKUgBqKUV1gBTQHuhsbAtQcjOxtTIFyFuZAu1dgDQAcwdngO2/FYCpg72Z
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
Iimg6Km3DTtsx6GHrDOGAEs7NN7/78lWgdjhPAMFWOs9ke/pKQqROgqJOGTCX4r4EpKELyUTfBmF
TvFZKHDpiCtdUQOIdSODiUWOoEYmTqDGQpxBxWYW1GIf7u/p7tPxdBzO9I1ufp2Hlz+n7/3b/jbu
Y9gtV2RHT3T3+XDqfXpWyP6yBBiAeUAEUDwg7QgeHSADCB4AZcIj8EQPD6u2dGkrhTVboEv0RhqA
5AEFQHYAuMKZe0CHHeIBUCa6yVbiK1u6YqvSxQslIRRxRUK+eqEkhKJeKAmhKHsAlGncZsuWtjKv
2QJdvVASQlEvFIjn4NnKCEW9UDJCUe+iV2Vqm2zleGXLVmxVunqhZIRint8MX+b6RSjm2kIo5tqC
MttoqyxtSVyzBbp5tqSG4l0pQSjFS0sQSnF3IJTiXcKqrGy7hPXF+H342e/XzGjV7A2yCngvSKlA
C29sDw8hy8UC1xfjkgEB9k/NIwMX4ubcPw/H15f6/6Xcdzx07WK88+rcaPM1jE7dfAnDE8+X0C2l
uZ6Pxx91WuBpPXBuVVrVVq3V0vZfOHl8fb79Ohzehvl14n0Yn+rFpDjpDDG0yq3GVpuSmK8nzbtf
vaGcvXnNSWvfujebDdPVUWgs/gOwGNXOaDoi7v7TdPz5zcKft+PpgHg6H570c1o/f6/fY38GsSWL
tb9nwEruZW5kc3RyZWFtCmVuZG9iagoxMSAwIG9iago8PCAvQXV0aG9yICgpIC9DcmVhdGlvbkRh
dGUgKEQ6MjAxNzEwMDMyMTU5MTNaKSAvQ3JlYXRvciAoTGFUZVggd2l0aCBoeXBlcnJlZiBwYWNr
YWdlKSAvS2V5d29yZHMgKCkgL01vZERhdGUgKEQ6MjAxNzEwMDMyMTU5MTNaKSAvUFRFWC5GdWxs
YmFubmVyIChUaGlzIGlzIHBkZlRlWCwgVmVyc2lvbiAzLjE0MTU5MjY1LTIuNi0xLjQwLjE4IFwo
VGVYIExpdmUgMjAxN1wpIGtwYXRoc2VhIHZlcnNpb24gNi4yLjMpIC9Qcm9kdWNlciAocGRmVGVY
LTEuNDAuMTgpIC9TdWJqZWN0ICgpIC9UaXRsZSAoKSAvVHJhcHBlZCAvRmFsc2UgPj4KZW5kb2Jq
CjEyIDAgb2JqCjw8IC9UeXBlIC9YUmVmIC9MZW5ndGggNjcgL0ZpbHRlciAvRmxhdGVEZWNvZGUg
L0RlY29kZVBhcm1zIDw8IC9Db2x1bW5zIDUgL1ByZWRpY3RvciAxMiA+PiAvVyBbIDEgMyAxIF0g
L1NpemUgMjcgL0lEIFs8M2IzMzVjMjExNWU2ZGE0MjNkMzk4ZThhMmVjNzQwZTk+PDdkMDdiYmQx
MTMxMTRjMjIxYmRlMWM0MWYzOGMzZDcxPl0gPj4Kc3RyZWFtCnicY2IAASZGRnVJBiYgKwdE8uqD
SMZ2EMllAiJlNoFlZ4BI5kwQabYTRMbVgkimBjDpADTnP9cnsEoGRmqRAHE8CFAKZW5kc3RyZWFt
CmVuZG9iagogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKc3RhcnR4cmVmCjIxNgolJUVPRgo=
------=_Part_3361_626761572.1507068200668--
.
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date: Wed, 04 Oct 2017 14:30:26 +0200
Raw View
On 10/04/2017 12:03 AM, Niall Douglas wrote:
> I cannot stress strongly enough how unready this paper is for anyone else=
to see it. But seeing as Vicente asked in the thread about monadic operato=
rs, here it is.
>=20
> Feedback is welcome, but be aware that Vicente already sent me a long lis=
t of things to change and fix. I have yet to even reply to his list of stuf=
f. And Vicente also intends to submit an alternative proposal which is much=
more comprehensive than this paper.
You're proposing a core language feature. That needs to go to EWG.
Please show the modified grammar; you mention a "cast-expression" that is
nowhere introduced.
Jens
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/59D4D462.9040106%40gmx.net.
.
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Wed, 4 Oct 2017 17:01:49 +0300
Raw View
On 4 October 2017 at 15:30, Jens Maurer <Jens.Maurer@gmx.net> wrote:
> On 10/04/2017 12:03 AM, Niall Douglas wrote:
>> I cannot stress strongly enough how unready this paper is for anyone els=
e to see it. But seeing as Vicente asked in the thread about monadic operat=
ors, here it is.
>>
>> Feedback is welcome, but be aware that Vicente already sent me a long li=
st of things to change and fix. I have yet to even reply to his list of stu=
ff. And Vicente also intends to submit an alternative proposal which is muc=
h more comprehensive than this paper.
>
> You're proposing a core language feature. That needs to go to EWG.
Indeed.
> Please show the modified grammar; you mention a "cast-expression" that is
> nowhere introduced.
Before we even go there, the paper needs to explain
a) why this is a problem that needs to be solved
b) why it needs a language extension
We can all see that it makes some code somewhere easier to write, and
we can grok that there are other
languages that have such a language facility. That alone doesn't
motivate a C++ language extension.
Furthermore,
c) why just an operator try and no other optional chaining facilities
like swift has?
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAFk2RUbWu1Pgdnm9o49cjrhd__5Ntn6bNFb_qCO3DWBQfev=
0jg%40mail.gmail.com.
.
Author: Nicol Bolas <jmckesson@gmail.com>
Date: Wed, 4 Oct 2017 07:48:00 -0700 (PDT)
Raw View
------=_Part_8050_214848547.1507128480593
Content-Type: multipart/alternative;
boundary="----=_Part_8051_1260660073.1507128480638"
------=_Part_8051_1260660073.1507128480638
Content-Type: text/plain; charset="UTF-8"
On Wednesday, October 4, 2017 at 10:01:54 AM UTC-4, Ville Voutilainen wrote:
>
> On 4 October 2017 at 15:30, Jens Maurer <Jens....@gmx.net <javascript:>>
> wrote:
> > On 10/04/2017 12:03 AM, Niall Douglas wrote:
> >> I cannot stress strongly enough how unready this paper is for anyone
> else to see it. But seeing as Vicente asked in the thread about monadic
> operators, here it is.
> >>
> >> Feedback is welcome, but be aware that Vicente already sent me a long
> list of things to change and fix. I have yet to even reply to his list of
> stuff. And Vicente also intends to submit an alternative proposal which is
> much more comprehensive than this paper.
> >
> > You're proposing a core language feature. That needs to go to EWG.
>
> Indeed.
>
> > Please show the modified grammar; you mention a "cast-expression" that
> is
> > nowhere introduced.
>
> Before we even go there, the paper needs to explain
>
> a) why this is a problem that needs to be solved
> b) why it needs a language extension
>
> We can all see that it makes some code somewhere easier to write, and
> we can grok that there are other
> languages that have such a language facility. That alone doesn't
> motivate a C++ language extension.
>
Why it has to be a a language extension is easy: it's impossible to do it
otherwise.
If you try to introduce a function that does what `try` does, it would be
unable to do the one thing that makes `try` work: *return*. A function
cannot force the *calling* function to return. You could make a macro that
does what `try` does, but we have no way to do that within the language.
This is also part of why `co_await` has to be a language feature. You can't
do what it does through the library. Or at least, not without a lot of pain.
> Furthermore,
>
> c) why just an operator try and no other optional chaining facilities
> like swift has?
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/602e9e20-1d2f-4545-be32-d0234639985c%40isocpp.org.
------=_Part_8051_1260660073.1507128480638
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><br>On Wednesday, October 4, 2017 at 10:01:54 AM UTC-4=
, Ville Voutilainen wrote:<blockquote class=3D"gmail_quote" style=3D"margin=
: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 4=
October 2017 at 15:30, Jens Maurer <<a href=3D"javascript:" target=3D"_=
blank" gdf-obfuscated-mailto=3D"_-sQKZtyBAAJ" rel=3D"nofollow" onmousedown=
=3D"this.href=3D'javascript:';return true;" onclick=3D"this.href=3D=
'javascript:';return true;">Jens....@gmx.net</a>> wrote:
<br>> On 10/04/2017 12:03 AM, Niall Douglas wrote:
<br>>> I cannot stress strongly enough how unready this paper is for =
anyone else to see it. But seeing as Vicente asked in the thread about mona=
dic operators, here it is.
<br>>>
<br>>> Feedback is welcome, but be aware that Vicente already sent me=
a long list of things to change and fix. I have yet to even reply to his l=
ist of stuff. And Vicente also intends to submit an alternative proposal wh=
ich is much more comprehensive than this paper.
<br>>
<br>> You're proposing a core language feature. =C2=A0That needs to =
go to EWG.
<br>
<br>Indeed.
<br>
<br>> Please show the modified grammar; you mention a "cast-express=
ion" that is
<br>> nowhere introduced.
<br>
<br>Before we even go there, the paper needs to explain
<br>
<br>a) why this is a problem that needs to be solved
<br>b) why it needs a language extension
<br>
<br>We can all see that it makes some code somewhere easier to write, and
<br>we can grok that there are other
<br>languages that have such a language facility. That alone doesn't
<br>motivate a C++ language extension.<br></blockquote><div><br></div><div>=
Why it has to be a a language extension is easy: it's impossible to do =
it otherwise.</div><div><br></div><div>If you try to introduce a function t=
hat does what `try` does, it would be unable to do the one thing that makes=
`try` work: <i>return</i>. A function cannot force the <i>calling</i> func=
tion to return. You could make a macro that does what `try` does, but we ha=
ve no way to do that within the language.<br></div><div><br></div><div>This=
is also part of why `co_await` has to be a language feature. You can't=
do what it does through the library. Or at least, not without a lot of pai=
n.<br></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"mar=
gin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">F=
urthermore,
<br>
<br>c) why just an operator try and no other optional chaining facilities
<br>like swift has?
<br></blockquote><style>HTML {margin: 0px !important; border: medium none !=
important;}
..dragdrop-handle {cursor: move; -moz-user-select: none;}
..dragdrop-draggable { }
..dragdrop-dragging { }
..dragdrop-positioner {border: 1px dashed rgb(30, 144, 255); margin: 0px !im=
portant; z-index: 100;}
..dragdrop-flow-panel-positioner {color: rgb(30, 144, 255); display: inline;=
text-align: center; vertical-align: middle;}
..dragdrop-proxy {background-color: rgb(119, 170, 255);}
..dragdrop-selected ,.dragdrop-dragging ,.dragdrop-proxy {opacity: 0.3;}
..dragdrop-movable-panel {z-index: 200; margin: 0px !important; border: medi=
um none !important;}
..gb_5a {display: none !important;}
..gb_6a {visibility: hidden;}
#gbsfw {min-width: 400px; overflow: visible;}
..gb_Xb ,#gbsfw.gb_g {display: block; outline: medium none;}
#gbsfw.gb_pa iframe {display: none;}
..gb_Zb {padding: 118px 0px; text-align: center;}
..gb_0b {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/gb/images/a/f5c=
dd88b65.png") no-repeat scroll center 0px; color: rgb(170, 170, 170); font-=
size: 13px; line-height: 20px; padding-top: 76px;}
..gb_0b a {color: rgb(66, 133, 244); text-decoration: none;}
..gb_Zc {display: inline-block; padding: 0px 0px 0px 15px; vertical-align: m=
iddle;}
..gb_Zc:first-child ,#gbsfw:first-child + .gb_Zc {padding-left: 0px;}
..gb_Fc {position: relative;}
..gb_b {display: inline-block; outline: medium none; vertical-align: middle;=
border-radius: 2px; box-sizing: border-box; height: 30px; width: 30px; col=
or: rgb(0, 0, 0); cursor: pointer; text-decoration: none;}
#gb#gb a.gb_b {color: rgb(0, 0, 0); cursor: pointer; text-decoration: none;=
}
..gb_lb {border-color: transparent transparent rgb(255, 255, 255); border-st=
yle: dashed dashed solid; border-width: 0px 8.5px 8.5px; display: none; pos=
ition: absolute; left: 6.5px; top: 37px; z-index: 1; height: 0px; width: 0p=
x; animation: 0.2s ease 0s normal none 1 running gb__a;}
..gb_mb {border-color: transparent transparent rgba(0, 0, 0, 0.2); border-st=
yle: dashed dashed solid; border-width: 0px 8.5px 8.5px; display: none; pos=
ition: absolute; left: 6.5px; z-index: 1; height: 0px; width: 0px; animatio=
n: 0.2s ease 0s normal none 1 running gb__a; top: 36px;}
..gb_fa {background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 1p=
x solid rgba(0, 0, 0, 0.2); color: rgb(0, 0, 0); box-shadow: 0px 2px 10px r=
gba(0, 0, 0, 0.2); display: none; outline: medium none; overflow: hidden; p=
osition: absolute; right: 0px; top: 44px; animation: 0.2s ease 0s normal no=
ne 1 running gb__a; border-radius: 2px; -moz-user-select: text;}
..gb_Zc.gb_g .gb_lb ,.gb_Zc.gb_g .gb_mb ,.gb_Zc.gb_g .gb_fa ,.gb_g.gb_fa {di=
splay: block;}
..gb_Zc.gb_g.gb_kf .gb_lb ,.gb_Zc.gb_g.gb_kf .gb_mb {display: none;}
..gb_lf {position: absolute; right: 0px; top: 44px; z-index: -1;}
..gb_9a .gb_lb ,.gb_9a .gb_mb ,.gb_9a .gb_fa {margin-top: -10px;}
..gb_Ib .gb_mb {border-width: 1px 0px 0px 1px; border-style: solid none none=
solid; border-color: rgba(0, 0, 0, 0.2) currentcolor currentcolor rgba(0, =
0, 0, 0.2); -moz-border-top-colors: none; -moz-border-right-colors: none; -=
moz-border-bottom-colors: none; -moz-border-left-colors: none; border-image=
: none; height: 14px; width: 14px; transform: rotate(45deg);}
..gb_Ib .gb_lb {border-width: 1px 0px 0px 1px; border-style: solid none none=
solid; -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-=
border-bottom-colors: none; -moz-border-left-colors: none; border-image: no=
ne; height: 14px; width: 14px; transform: rotate(45deg); border-color: rgb(=
255, 255, 255); background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..gb_da .gb_b {background-position: -35px -276px; opacity: 0.55;}
..gb_ea .gb_da .gb_b {background-position: -35px -276px;}
..gb_X .gb_da .gb_b {background-position: -35px -2010px; opacity: 1;}
..gb_fa.gb_ga {min-height: 196px; overflow-y: auto; width: 320px;}
..gb_ha {transition: height 0.2s ease-in-out 0s;}
..gb_ia {background: rgb(255, 255, 255) none repeat scroll 0% 0%; margin: 0p=
x; min-height: 100px; padding: 28px 27px 28px 28px; text-align: left; white=
-space: normal; width: 265px;}
..gb_ja {background: rgb(245, 245, 245) none repeat scroll 0% 0%; cursor: po=
inter; height: 40px; overflow: hidden;}
..gb_ka {position: relative;}
..gb_ja {display: block; line-height: 40px; text-align: center; width: 320px=
;}
..gb_ka {display: block; line-height: 40px; text-align: center;}
..gb_ka.gb_la {line-height: 0;}
..gb_ja ,.gb_ja:visited ,.gb_ja:active ,.gb_ka ,.gb_ka:visited {color: rgb(1=
15, 115, 115); text-decoration: none;}
..gb_ka:active {color: rgb(115, 115, 115);}
#gb a.gb_ja ,#gb a.gb_ja:visited ,#gb a.gb_ja:active ,#gb a.gb_ka ,#gb a.gb=
_ka:visited {color: rgb(115, 115, 115); text-decoration: none;}
#gb a.gb_ka:active {color: rgb(115, 115, 115);}
..gb_ka ,.gb_ia {display: none;}
..gb_ba ,.gb_ba + .gb_ka ,.gb_ma .gb_ka ,.gb_ma .gb_ia {display: block;}
..gb_ka:hover ,.gb_ka:active ,#gb a.gb_ka:hover ,#gb a.gb_ka:active {text-de=
coration: underline;}
..gb_ka {border-bottom: 1px solid rgb(235, 235, 235); left: 28px; width: 264=
px;}
..gb_ma .gb_ja {display: none;}
..gb_ka:last-child {border-bottom-width: 0px;}
..gb_na .gb_O {display: initial;}
..gb_na.gb_oa {height: 100px; text-align: center;}
..gb_na.gb_oa img {padding: 34px 0px; height: 32px; width: 32px;}
..gb_na .gb_2 {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc=
5.png"); background-size: 92px 2731px; background-position: 0px -1725px;}
..gb_na .gb_2 + img {border: 0px none; margin: 8px; height: 48px; width: 48p=
x;}
..gb_na div.gb_pa {background: rgb(255, 255, 170) none repeat scroll 0% 0%; =
border-radius: 5px; padding: 5px; text-align: center;}
..gb_na.gb_qa ,.gb_na.gb_ra {padding-bottom: 0px;}
..gb_na.gb_sa ,.gb_na.gb_ra {padding-top: 0px;}
..gb_na.gb_ra a ,.gb_na.gb_sa a {top: 0px;}
..gb_ta .gb_ja {margin-top: 0px; position: static;}
..gb_ua {display: inline-block;}
..gb_va {margin: -12px 28px 28px; position: relative; width: 264px; border-r=
adius: 2px; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1), 0px 0px 1px rgba(0,=
0, 0, 0.1);}
..gb_4 {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc5.png")=
; background-size: 92px 2731px; display: inline-block; margin: 8px; vertica=
l-align: middle; height: 64px; width: 64px;}
..gb_wa {color: rgb(38, 38, 38); display: inline-block; font: 13px/18px Aria=
l,sans-serif; margin-right: 80px; padding: 10px 10px 10px 0px; vertical-ali=
gn: middle; white-space: normal;}
..gb_xa {font: 16px/24px Arial,sans-serif;}
..gb_ya ,#gb#gb .gb_ya {color: rgb(66, 127, 237); text-decoration: none;}
..gb_ya:hover ,#gb#gb .gb_ya:hover {text-decoration: underline;}
..gb_za .gb_ia {position: relative;}
..gb_za .gb_O {position: absolute; top: 28px; left: 28px;}
..gb_ja.gb_Aa {display: none; height: 0px;}
..gb_N .gb_da .gb_b::before ,.gb_N.gb_ea .gb_da .gb_b::before {left: -35px; =
top: -276px;}
..gb_N.gb_X .gb_da .gb_b::before {left: -35px; top: -2010px;}
..gb_Ib .gb_ja {position: relative;}
..gb_da .gb_b:hover ,.gb_da .gb_b:focus {opacity: 0.85;}
..gb_X .gb_da .gb_b:hover ,.gb_X .gb_da .gb_b:focus {opacity: 1;}
#gb#gb a.gb_O {color: rgb(64, 64, 64); text-decoration: none;}
#gb#gb a.gb_P ,#gb#gb span.gb_P {text-decoration: none;}
#gb#gb a.gb_P ,#gb#gb span.gb_P {color: rgb(0, 0, 0);}
..gb_P {opacity: 0.75;}
#gb#gb a.gb_P:hover ,#gb#gb a.gb_P:focus {opacity: 0.85; text-decoration: u=
nderline;}
..gb_Q.gb_R {display: none; padding-left: 15px; vertical-align: middle;}
..gb_Q.gb_R:first-child {padding-left: 0px;}
..gb_S.gb_R {display: inline-block;}
..gb_Q span {opacity: 0.55; -moz-user-select: text;}
..gb_T .gb_S.gb_R {flex: 0 1 auto; display: flex;}
..gb_U .gb_S.gb_R {display: none;}
..gb_Q .gb_P {display: inline-block; line-height: 24px; outline: medium none=
; vertical-align: middle;}
..gb_S .gb_P {display: none;}
..gb_V .gb_S .gb_P {min-width: 0px;}
..gb_W .gb_S .gb_P {width: 0px !important;}
#gb#gb.gb_X a.gb_P ,#gb#gb.gb_X span.gb_P ,#gb#gb .gb_X a.gb_P ,#gb#gb .gb_=
X span.gb_P {color: rgb(255, 255, 255);}
#gb#gb.gb_X span.gb_P ,#gb#gb .gb_X span.gb_P {opacity: 0.7;}
..gb_M.gb_M {background-size: 64px 64px;}
#gb2 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/3a1e625196=
..png");}
..gb_N #gb2 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/3a1e6=
25196.png");}
#gb22 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/3daf4c1f8=
8.png");}
..gb_N #gb22 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/3daf=
4c1f88.png");}
#gb45 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/f420d06f6=
6.png");}
..gb_N #gb45 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/f420=
d06f66.png");}
#gb72 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/78b3d46de=
1.png");}
..gb_N #gb72 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/78b3=
d46de1.png");}
#gb117 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/142da275=
78.png");}
..gb_N #gb117 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/142=
da27578.png");}
#gb136 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/911e3628=
e6.png");}
..gb_N #gb136 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/911=
e3628e6.png");}
#gb166 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/41679a9e=
c5.png");}
..gb_N #gb166 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/416=
79a9ec5.png");}
#gb171 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/4244245d=
7e.png");}
..gb_N #gb171 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/424=
4245d7e.png");}
#gb177 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/4653513b=
7d.png");}
..gb_N #gb177 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/465=
3513b7d.png");}
#gb206 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/ad330d84=
59.png");}
..gb_N #gb206 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/ad3=
30d8459.png");}
#gb207 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/2c21041e=
16.png");}
..gb_N #gb207 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/2c2=
1041e16.png");}
#gb211 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/c03dda0b=
34.png");}
..gb_N #gb211 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/c03=
dda0b34.png");}
#gb217 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/71060be5=
b3.png");}
..gb_N #gb217 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/710=
60be5b3.png");}
#gb228 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/74aa55e0=
c2.png");}
..gb_N #gb228 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/74a=
a55e0c2.png");}
#gb249 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/afa40f6e=
42.png");}
..gb_N #gb249 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/afa=
40f6e42.png");}
#gb260 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/ea554714=
e7.png");}
..gb_N #gb260 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/ea5=
54714e7.png");}
#gb261 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/0b26f6f8=
e4.png");}
..gb_N #gb261 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/0b2=
6f6f8e4.png");}
#gb108 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/dfbeb247=
85.png");}
..gb_N #gb108 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/dfb=
eb24785.png");}
#gb60 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/85bb99a34=
1.png");}
..gb_N #gb60 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/85bb=
99a341.png");}
#gb175 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/eacd033c=
28.png");}
..gb_N #gb175 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/eac=
d033c28.png");}
..gb_Z {padding: 1px; display: inline-block; vertical-align: top; color: bla=
ck; z-index: 999; height: 98px; width: 86px;}
..gb_Z a {text-decoration: none;}
..gb_Z[aria-grabbed=3D"true"] {visibility: hidden;}
..gb_Z:hover {z-index: 1001;}
..gb_Z:hover a {border: 1px solid rgb(229, 229, 229); border-radius: 2px; ma=
rgin: 7px 1px;}
..gb_Z.gb_0 a {border: 1px solid rgb(229, 229, 229); box-shadow: 0px 1px 2px=
rgba(0, 0, 0, 0.1); background: rgb(255, 255, 255) none repeat scroll 0% 0=
%; cursor: grabbing; margin: -1px; visibility: visible; z-index: 1001;}
..gb_1 {opacity: 0.5;}
..gb_Z.gb_0 a {color: rgb(64, 64, 64) !important; cursor: grabbing; font: 13=
px/27px Arial,sans-serif; text-decoration: none !important;}
..gb_O {color: rgb(64, 64, 64); display: inline-block; font-size: 13px; marg=
in: 8px 2px; text-align: center; outline: medium none;}
..gb_O .gb_2 ,.gb_O .gb_M {display: inline-block; vertical-align: top; heigh=
t: 64px; width: 64px;}
..gb_3 {display: block; line-height: 20px; overflow: hidden; white-space: no=
wrap; width: 84px; text-overflow: ellipsis;}
..gb_Z:hover .gb_O {z-index: 1;}
..gb_Z:hover .gb_3 {background: rgba(255, 255, 255, 0.9) none repeat scroll =
0% 0%; white-space: normal; overflow-wrap: break-word;}
..gb_O .gb_2 {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc5=
..png"); background-size: 92px 2731px;}
..gb_N .gb_O .gb_2 ,.gb_N .gb_4.gb_2 {background-image: none; overflow: hidd=
en; position: relative;}
..gb_N .gb_O .gb_2::before ,.gb_N .gb_4.gb_2::before {content: url("//ssl.gs=
tatic.com/gb/images/v1_e3444bc5.png"); position: absolute;}
..gb_N .gb_M {background-image: none !important; position: relative;}
..gb_N .gb_M::before {left: 0px; position: absolute; top: 0px;}
..gb_5 .gb_O:focus ,#gb#gb .gb_5 a.gb_O:focus {text-decoration: underline;}
..gb_Z.gb_6[aria-grabbed=3D"true"] {visibility: visible;}
..gb_7 ,.gb_8 {position: relative; top: 27px; visibility: hidden;}
..gb_9 ,.gb_aa {left: 37px; visibility: hidden;}
..gb_7 {float: left; width: 0px; height: 0px; border-top: 5px solid transpar=
ent; border-bottom: 5px solid transparent; border-right: 5px solid rgb(66, =
115, 219);}
..gb_8 {float: right; width: 0px; height: 0px; border-top: 5px solid transpa=
rent; border-bottom: 5px solid transparent; border-left: 5px solid rgb(66, =
115, 219);}
..gb_9 {position: absolute; top: 0px; width: 0px; height: 0px; border-left: =
5px solid transparent; border-right: 5px solid transparent; border-bottom: =
5px solid rgb(66, 115, 219);}
..gb_aa {position: absolute; top: 59px; width: 0px; height: 0px; border-left=
: 5px solid transparent; border-right: 5px solid transparent; border-top: 5=
px solid rgb(66, 115, 219);}
ul.gb_ba li.gb_6:not(:first-child) .gb_7 ,ul.gb_ba li.gb_6:not(:nth-child(-=
n+3)) .gb_9 ,ul.gb_ba li.gb_6 .gb_8 ,ul.gb_ba li.gb_6 .gb_aa ,ul.gb_ca li.g=
b_6 .gb_7 ,ul.gb_ca li.gb_6 .gb_9 ,ul.gb_ca li.gb_6:not(:last-child) .gb_8 =
,ul.gb_ca li.gb_6:not(:nth-last-child(-n+3)) .gb_aa {visibility: visible;}
a.gb_Ba {border: medium none; color: rgb(66, 133, 244); cursor: default; fo=
nt-weight: bold; outline: medium none; position: relative; text-align: cent=
er; text-decoration: none; text-transform: uppercase; white-space: nowrap; =
-moz-user-select: none;}
a.gb_Ba:hover::after ,a.gb_Ba:focus::after {background-color: rgba(0, 0, 0,=
0.12); content: ""; height: 100%; left: 0px; position: absolute; top: 0px;=
width: 100%;}
a.gb_Ba:hover ,a.gb_Ba:focus {text-decoration: none;}
a.gb_Ba:active {background-color: rgba(153, 153, 153, 0.4); text-decoration=
: none;}
a.gb_Ca {background-color: rgb(66, 133, 244); color: rgb(255, 255, 255);}
a.gb_Ca:active {background-color: rgb(0, 67, 178);}
..gb_Da {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.16);}
..gb_Ba ,.gb_Ca ,.gb_Ea ,.gb_Fa {display: inline-block; line-height: 28px; p=
adding: 0px 12px; border-radius: 2px;}
..gb_Ea {background: rgb(248, 248, 248) none repeat scroll 0% 0%; border: 1p=
x solid rgb(198, 198, 198);}
..gb_Fa {background: rgb(248, 248, 248) none repeat scroll 0% 0%;}
..gb_Ea ,#gb a.gb_Ea.gb_Ea ,.gb_Fa {color: rgb(102, 102, 102); cursor: defau=
lt; text-decoration: none;}
#gb a.gb_Fa.gb_Fa {cursor: default; text-decoration: none;}
..gb_Fa {border: 1px solid rgb(66, 133, 244); font-weight: bold; outline: me=
dium none; background: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , r=
gb(67, 135, 253), rgb(70, 131, 234)) repeat scroll 0% 0%;}
#gb a.gb_Fa.gb_Fa {color: rgb(255, 255, 255);}
..gb_Fa:hover {box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.15);}
..gb_Fa:active {box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.15) inset; backgroun=
d: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , rgb(60, 122, 228), rg=
b(63, 118, 211)) repeat scroll 0% 0%;}
..gb_mf {display: inline-block; line-height: normal; position: relative; z-i=
ndex: 987;}
..gb_7a {background-size: 32px 32px; border-radius: 50%; display: block; mar=
gin: -1px; overflow: hidden; position: relative; height: 32px; width: 32px;=
z-index: 0;}
..gb_7a:hover ,.gb_7a:focus {box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.15);}
..gb_7a:active {box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.15) inset;}
..gb_7a:active::after {background: rgba(0, 0, 0, 0.1) none repeat scroll 0% =
0%; border-radius: 50%; content: ""; display: block; height: 100%;}
..gb_8a {cursor: pointer; line-height: 30px; min-width: 30px; opacity: 0.75;=
overflow: hidden; vertical-align: middle; text-overflow: ellipsis;}
..gb_b.gb_8a {width: auto;}
..gb_8a:hover ,.gb_8a:focus {opacity: 0.85;}
..gb_9a .gb_8a ,.gb_9a .gb_ab {line-height: 26px;}
#gb#gb.gb_9a a.gb_8a ,.gb_9a .gb_ab {font-size: 11px; height: auto;}
..gb_bb {border-top: 4px solid rgb(0, 0, 0); border-left: 4px dashed transpa=
rent; border-right: 4px dashed transparent; display: inline-block; margin-l=
eft: 6px; opacity: 0.75; vertical-align: middle;}
..gb_cb:hover .gb_bb {opacity: 0.85;}
..gb_X .gb_8a ,.gb_X .gb_bb {opacity: 1;}
#gb#gb.gb_X.gb_X a.gb_8a ,#gb#gb .gb_X.gb_X a.gb_8a {color: rgb(255, 255, 2=
55);}
..gb_X.gb_X .gb_bb {border-top-color: rgb(255, 255, 255); opacity: 1;}
..gb_ea .gb_7a:hover ,.gb_X .gb_7a:hover ,.gb_ea .gb_7a:focus ,.gb_X .gb_7a:=
focus {box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.15), 0px 1px 2px rgba(0, 0, =
0, 0.2);}
..gb_db .gb_eb ,.gb_fb .gb_eb {position: absolute; right: 1px;}
..gb_eb.gb_R ,.gb_gb.gb_R ,.gb_cb.gb_R {flex: 0 1 auto;}
..gb_hb.gb_W .gb_8a {width: 30px !important;}
..gb_ib.gb_6a {display: none;}
..gb_jb.gb_5a {display: none;}
..gb_jb {background-color: rgb(204, 204, 204); height: 3px; overflow: hidden=
;}
..gb_kb {background-color: rgb(244, 180, 0); height: 100%; width: 50%; anima=
tion: 1.5s linear 0s normal none infinite running progressmove;}
..gb_8a ~ .gb_lb ,.gb_8a ~ .gb_mb {left: auto; right: 6.5px;}
..gb_nb {outline: medium none;}
..gb_ob ,#gb a.gb_ob.gb_ob ,.gb_pb a ,#gb .gb_pb.gb_pb a {color: rgb(51, 102=
, 204); text-decoration: none;}
..gb_ob:active ,#gb a.gb_ob:active ,.gb_ob:hover ,#gb a.gb_ob:hover ,.gb_pb =
a:active ,#gb .gb_pb a:active ,.gb_pb a:hover ,#gb .gb_pb a:hover {text-dec=
oration: underline;}
..gb_qb {margin: 20px;}
..gb_rb ,.gb_sb {display: inline-block; vertical-align: top;}
..gb_rb {margin-right: 20px; position: relative;}
..gb_tb {border-radius: 50%; overflow: hidden;}
..gb_ub {background-size: 96px 96px; border: medium none; vertical-align: to=
p; height: 96px; width: 96px;}
..gb_ib {background: rgba(78, 144, 254, 0.7) none repeat scroll 0% 0%; botto=
m: 0px; color: rgb(255, 255, 255); font-size: 9px; font-weight: bold; left:=
0px; line-height: 9px; position: absolute; padding: 7px 0px; text-align: c=
enter; width: 96px;}
..gb_tb .gb_ib {background: rgba(0, 0, 0, 0.54) none repeat scroll 0% 0%;}
..gb_vb {font-weight: bold; margin: -4px 0px 1px;}
..gb_xb {color: rgb(102, 102, 102);}
..gb_pb {color: rgb(204, 204, 204); margin: 6px 0px;}
..gb_pb a {margin: 0px 10px;}
..gb_pb a:first-child {margin-left: 0px;}
..gb_pb a:last-child {margin-right: 0px;}
..gb_sb .gb_yb {background: rgb(77, 144, 254) none repeat scroll 0% 0%; bord=
er-color: rgb(48, 121, 237); font-weight: bold; margin: 10px 0px 0px; color=
: rgb(255, 255, 255);}
#gb .gb_sb a.gb_yb.gb_yb {color: rgb(255, 255, 255);}
..gb_sb .gb_yb:hover {background: rgb(53, 122, 232) none repeat scroll 0% 0%=
; border-color: rgb(47, 91, 183);}
..gb_zb.gb_oa {border-top: medium none;}
..gb_zb {background: rgb(245, 245, 245) none repeat scroll 0% 0%; border-top=
: 1px solid rgba(0, 0, 0, 0.2); border-color: rgba(0, 0, 0, 0.2); padding: =
10px 0px; width: 100%; display: table;}
..gb_zb .gb_yb {margin: 0px 20px;}
..gb_zb > div {display: table-cell; text-align: right;}
..gb_zb > div:first-child {text-align: left;}
..gb_zb .gb_Ab {display: block; text-align: center;}
..gb_Bb .gb_lb {border-bottom-color: rgb(254, 249, 219);}
..gb_Cb {background: rgb(254, 249, 219) none repeat scroll 0% 0%; font-size:=
11px; padding: 10px 20px; white-space: normal;}
..gb_Cb b ,.gb_ob {white-space: nowrap;}
..gb_Fb {background: rgb(245, 245, 245) none repeat scroll 0% 0%; border-top=
: 1px solid rgba(0, 0, 0, 0.2); max-height: 230px; overflow: auto;}
..gb_Hb {border-top: 1px solid rgba(0, 0, 0, 0.2); display: block; padding: =
10px 20px; position: relative; white-space: nowrap;}
..gb_Ib .gb_Hb:focus .gb_Jb {outline: 1px dotted rgb(255, 255, 255);}
..gb_Hb:hover {background: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..gb_Hb[selected=3D"true"] {overflow: hidden;}
..gb_Hb[selected=3D"true"] > .gb_Kb {background-color: rgba(117, 117, 117, 0=
..9);}
..gb_Hb[selected=3D"true"] > .gb_Lb {display: block; position: absolute; z-i=
ndex: 2;}
..gb_Lb::-moz-focus-inner {border: 0px none;}
..gb_Lb {background-color: transparent; border: medium none; color: rgb(255,=
255, 255); display: none; font-family: Roboto,Arial,sans-serif; font-weigh=
t: 400; font-size: 14px; height: 36px; min-width: 86px; text-align: center;=
top: 16px; width: auto;}
..gb_Hb[selected=3D"true"] > .gb_Lb:focus {background-color: rgba(0, 0, 0, 0=
..24); border-radius: 2px; outline: 0px none;}
..gb_Hb[selected=3D"true"] > .gb_Lb:hover ,.gb_Hb[selected=3D"true"] > .gb_L=
b:focus:hover {background-color: rgb(86, 86, 86); border-radius: 2px;}
..gb_Hb[selected=3D"true"] > .gb_Lb:active {border-radius: 2px; background-c=
olor: rgb(33, 33, 33);}
..gb_Mb {left: 0px; margin-left: 5%;}
..gb_Nb {margin-right: 5%; right: 0px;}
..gb_Hb:first-child ,.gb_Ob:first-child + .gb_Hb {border-top: 0px none;}
..gb_Ob {display: none;}
..gb_Pb {cursor: default;}
..gb_Pb:hover {background: transparent none repeat scroll 0% 0%;}
..gb_Qb {border: medium none; vertical-align: top; height: 48px; width: 48px=
;}
..gb_Jb {display: inline-block; margin: 6px 0px 0px 10px;}
..gb_Pb .gb_Qb ,.gb_Pb .gb_Jb {opacity: 0.4;}
..gb_Rb {color: rgb(0, 0, 0);}
..gb_Pb .gb_Rb {color: rgb(102, 102, 102);}
..gb_Sb {color: rgb(102, 102, 102);}
..gb_Tb {color: rgb(102, 102, 102); font-style: italic;}
..gb_Kb {background-color: transparent; height: 100%; left: 0px; position: a=
bsolute; text-align: center; top: 0px; width: 100%; z-index: 1;}
..gb_Lb:hover {background-color: rgba(100, 100, 100, 0.4);}
..gb_Ub {background: rgb(245, 245, 245) none repeat scroll 0% 0%; border-top=
: 1px solid rgba(0, 0, 0, 0.2); display: block; padding: 10px 20px;}
..gb_Vb {background-position: -35px -449px; display: inline-block; margin: 1=
px 0px; vertical-align: middle; height: 25px; width: 25px;}
..gb_N .gb_Vb::before {left: -35px; top: -449px;}
..gb_Wb {color: rgb(66, 127, 237); display: inline-block; padding: 0px 25px =
0px 10px; vertical-align: middle; white-space: normal;}
..gb_Ub:hover .gb_Wb {text-decoration: underline;}
..gb_zb .gb_yb:hover {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); border-col=
or: rgb(198, 198, 198); color: rgb(34, 34, 34); background-color: rgb(255, =
255, 255); background-image: -moz-linear-gradient(center top , rgb(255, 255=
, 255), rgb(248, 248, 248));}
..gb_og {color: rgb(0, 0, 0); font: 13px/27px Arial,sans-serif; left: 0px; m=
in-width: 1117px; position: absolute; top: 0px; -moz-user-select: none; wid=
th: 100%;}
..gb_uf {font: 13px/27px Arial,sans-serif; position: relative; height: 60px;=
width: 100%;}
..gb_9a .gb_uf {height: 28px;}
#gba {height: 60px;}
#gba.gb_9a {height: 28px;}
#gba.gb_pg {height: 90px;}
#gba.gb_qg {height: 132px;}
#gba.gb_pg.gb_9a {height: 58px;}
..gb_uf > .gb_R {height: 60px; line-height: 58px; vertical-align: middle;}
..gb_9a .gb_uf > .gb_R {height: 28px; line-height: 26px;}
..gb_uf::before {background: rgb(229, 229, 229) none repeat scroll 0% 0%; bo=
ttom: 0px; content: ""; display: none; height: 1px; left: 0px; position: ab=
solute; right: 0px;}
..gb_uf {background: rgb(241, 241, 241) none repeat scroll 0% 0%;}
..gb_rg .gb_uf {background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..gb_rg .gb_uf::before ,.gb_9a .gb_uf::before {display: none;}
..gb_ea .gb_uf ,.gb_X .gb_uf ,.gb_9a .gb_uf {background: transparent none re=
peat scroll 0% 0%;}
..gb_ea .gb_uf::before {background: rgba(0, 0, 0, 0.12) none repeat scroll 0=
% 0%;}
..gb_X .gb_uf::before {background: rgba(255, 255, 255, 0.2) none repeat scro=
ll 0% 0%;}
..gb_R {display: inline-block; flex: 0 0 auto;}
..gb_R.gb_sg {float: right; order: 1;}
..gb_tg {white-space: nowrap;}
..gb_T .gb_tg {display: flex;}
..gb_tg ,.gb_R {margin-left: 0px !important; margin-right: 0px !important;}
..gb_6b {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc5.png"=
); background-size: 92px 2731px;}
..gb_hb:not(.gb_N) .gb_7a::before ,.gb_hb:not(.gb_N) .gb_ub::before {content=
: none;}
..gb_N .gb_4b .gb_6b::before {left: 0px; top: -1139px;}
..gb_N.gb_X .gb_4b .gb_6b::before {left: 0px; top: -790px;}
..gb_N.gb_ea .gb_4b .gb_6b::before {left: 0px; top: -1454px;}
..gb_N .gb_Wa {background-image: none !important;}
..gb_N .gb_7b {visibility: visible;}
..gb_Ib .gb_8d span {background: transparent none repeat scroll 0% 0%;}
..gb_1b {min-width: 152px; overflow: hidden; position: relative; z-index: 98=
7;}
..gb_2b {position: absolute; padding: 0px 30px;}
..gb_3b .gb_2b {right: 100%; margin-right: -152px;}
..gb_4b {display: inline-block; outline: medium none; vertical-align: middle=
;}
..gb_5b .gb_4b {position: relative; top: 2px;}
..gb_4b .gb_6b ,.gb_Wa {display: block;}
..gb_7b {border: medium none; display: block; visibility: hidden;}
..gb_4b .gb_6b {background-position: 0px -1139px; height: 33px; width: 92px;=
}
..gb_Wa {background-repeat: no-repeat;}
..gb_X .gb_4b .gb_6b {background-position: 0px -790px;}
..gb_ea .gb_4b .gb_6b {background-position: 0px -1454px; opacity: 0.54;}
..gb_wc {background-position: 0px -1177px; opacity: 0.55; height: 100%; widt=
h: 100%;}
..gb_b:hover .gb_wc ,.gb_b:focus .gb_wc {opacity: 0.85;}
..gb_xc .gb_wc {background-position: -35px -1212px;}
..gb_yc {background-color: rgb(203, 68, 55); border-radius: 8px; font: bold =
11px/16px Arial; color: rgb(255, 255, 255); min-width: 14px; padding: 0px 1=
px; position: absolute; right: 0px; text-align: center; text-shadow: 0px 1p=
x 0px rgba(0, 0, 0, 0.1); top: 0px; visibility: hidden; z-index: 990;}
..gb_zc .gb_yc ,.gb_zc .gb_Ac ,.gb_zc .gb_Ac.gb_Bc {visibility: visible;}
..gb_Ac {padding: 0px 2px; visibility: hidden;}
..gb_Cc:not(.gb_Dc) .gb_mb ,.gb_Cc:not(.gb_Dc) .gb_lb {left: 3px;}
..gb_yc.gb_Ec {animation: 0.6s ease-in-out 1s normal both 1 running gb__nb; =
perspective-origin: right top; transform: scale(1, 1); transform-origin: ri=
ght top 0px;}
..gb_Ec .gb_Ac {visibility: visible;}
..gb_ea .gb_b .gb_wc {background-position: 0px -276px; opacity: 0.7;}
..gb_ea .gb_xc .gb_wc {background-position: 0px -1212px;}
..gb_ea .gb_b:hover .gb_wc ,.gb_ea .gb_b:focus .gb_wc {opacity: 0.85;}
..gb_X .gb_b .gb_wc {background-position: -35px -966px; opacity: 1;}
..gb_X .gb_xc .gb_wc {background-position: -56px -2321px;}
..gb_ea .gb_yc ,.gb_X .gb_yc {border: medium none;}
..gb_Cc .gb_Fc {font-size: 14px; font-weight: bold; top: 0px; right: 0px;}
..gb_Cc .gb_b {display: inline-block; vertical-align: middle; box-sizing: bo=
rder-box; height: 30px; width: 30px;}
..gb_Cc .gb_lb {border-bottom-color: rgb(229, 229, 229);}
..gb_Hc {background-color: rgba(0, 0, 0, 0.55); color: rgb(255, 255, 255); f=
ont-size: 12px; font-weight: bold; line-height: 20px; margin: 5px; padding:=
0px 2px; text-align: center; box-sizing: border-box; border-radius: 50%; h=
eight: 20px; width: 20px;}
..gb_Hc.gb_Ic {background-position: -70px -2010px;}
..gb_Hc.gb_Jc {background-position: 0px 0px;}
..gb_b:hover .gb_Hc ,.gb_b:focus .gb_Hc {background-color: rgba(0, 0, 0, 0.8=
5);}
#gbsfw.gb_Kc {background: rgb(229, 229, 229) none repeat scroll 0% 0%; bord=
er-color: rgb(204, 204, 204);}
..gb_ea .gb_Hc {background-color: rgba(0, 0, 0, 0.7);}
..gb_X .gb_Hc.gb_Hc ,.gb_X .gb_zc .gb_Hc.gb_Hc ,.gb_X .gb_zc .gb_b:hover .gb=
_Hc ,.gb_X .gb_zc .gb_b:focus .gb_Hc {background-color: rgb(255, 255, 255);=
color: rgb(64, 64, 64);}
..gb_X .gb_Hc.gb_Ic {background-position: -69px -2460px;}
..gb_X .gb_Hc.gb_Jc {background-position: 0px -583px;}
..gb_zc .gb_Hc.gb_Hc {background-color: rgb(219, 68, 55); color: rgb(255, 25=
5, 255);}
..gb_zc .gb_b:hover .gb_Hc ,.gb_zc .gb_b:focus .gb_Hc {background-color: rgb=
(165, 39, 20);}
..gb_N .gb_wc::before {left: 0px; top: -1177px;}
..gb_N .gb_xc .gb_wc::before {left: -35px; top: -1212px;}
..gb_N.gb_ea .gb_b .gb_wc::before {left: 0px; top: -276px;}
..gb_N.gb_ea .gb_xc .gb_wc::before {left: 0px; top: -1212px;}
..gb_N.gb_X .gb_b .gb_wc::before {left: -35px; top: -966px;}
..gb_N.gb_X .gb_xc .gb_wc::before {left: -56px; top: -2321px;}
..gb_Ib .gb_Hc {border: 1px solid rgb(255, 255, 255); color: rgb(255, 255, 2=
55);}
..gb_Ib.gb_ea .gb_Hc {border-color: rgb(0, 0, 0); color: rgb(0, 0, 0);}
..gb_N .gb_Hc.gb_Ic::before ,.gb_Ib.gb_N.gb_X .gb_Hc.gb_Ic::before {left: -7=
0px; top: -2010px;}
..gb_N .gb_Hc.gb_Jc::before ,.gb_Ib.gb_N.gb_X .gb_Hc.gb_Jc::before {left: 0p=
x; top: 0px;}
..gb_N.gb_X .gb_Hc.gb_Ic::before ,.gb_Ib.gb_N.gb_ea .gb_Hc.gb_Ic::before {le=
ft: -69px; top: -2460px;}
..gb_N.gb_X .gb_Hc.gb_Jc::before ,.gb_Ib.gb_N.gb_ea .gb_Hc.gb_Jc::before {le=
ft: 0px; top: -583px;}
..gb_nd {color: rgb(255, 255, 255); font-size: 13px; font-weight: bold; heig=
ht: 25px; line-height: 19px; padding-top: 5px; padding-left: 12px; position=
: relative; background-color: rgb(77, 144, 254);}
..gb_nd .gb_od {color: rgb(255, 255, 255); cursor: default; font-size: 22px;=
font-weight: normal; position: absolute; right: 12px; top: 5px;}
..gb_nd .gb_8c ,.gb_nd .gb_pd {color: rgb(255, 255, 255); display: inline-bl=
ock; font-size: 11px; margin-left: 16px; padding: 0px 8px; white-space: now=
rap;}
..gb_qd {background: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , rgba=
(0, 0, 0, 0.16), rgba(0, 0, 0, 0.2)) repeat scroll 0% 0%; border-radius: 2p=
x; border: 1px solid rgba(0, 0, 0, 0.1); cursor: default !important; text-d=
ecoration: none !important;}
..gb_qd:hover {background: rgba(0, 0, 0, 0) -moz-linear-gradient(center top =
, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.2)) repeat scroll 0% 0%; border: 1px=
solid rgba(0, 0, 0, 0.2); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);}
..gb_qd:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset;}
..gb_Zc.gb_0c {padding: 0px;}
..gb_0c .gb_fa {padding: 26px 26px 22px 13px; background: rgb(255, 255, 255)=
none repeat scroll 0% 0%;}
..gb_1c.gb_0c .gb_fa {background: rgb(77, 144, 254) none repeat scroll 0% 0%=
;}
a.gb_2c {color: rgb(102, 102, 102) !important; font-size: 22px; height: 9px=
; opacity: 0.8; position: absolute; right: 14px; top: 4px; text-decoration:=
none !important; width: 9px;}
..gb_1c a.gb_2c {color: rgb(193, 209, 244) !important;}
a.gb_2c:hover ,a.gb_2c:active {opacity: 1;}
..gb_3c {padding: 0px; width: 258px; white-space: normal; display: table;}
..gb_4c .gb_fa {top: 36px; border: 0px none; padding: 16px; box-shadow: 4px =
4px 12px rgba(0, 0, 0, 0.4);}
..gb_4c .gb_3c {width: 328px;}
..gb_4c .gb_Fa ,.gb_4c .gb_5c ,.gb_4c .gb_Xc ,.gb_4c .gb_Ba ,.gb_6c {line-he=
ight: normal; font-family: Roboto,RobotoDraft,Helvetica,Arial,sans-serif;}
..gb_4c .gb_Fa ,.gb_4c .gb_5c ,.gb_4c .gb_Ba {font-weight: 500;}
..gb_4c .gb_Fa ,.gb_4c .gb_Ba {border: 0px none; padding: 10px 8px;}
..gb_0c .gb_Fa:active {outline: medium none; box-shadow: 0px 4px 5px rgba(0,=
0, 0, 0.16);}
..gb_4c .gb_5c {color: rgb(34, 34, 34); margin-bottom: 8px;}
..gb_4c .gb_Xc {color: rgb(128, 128, 128); font-size: 14px;}
..gb_7c {text-align: right; font-size: 14px; padding-bottom: 0px; white-spac=
e: nowrap;}
..gb_7c .gb_8c {margin-left: 8px;}
..gb_7c .gb_9c.gb_8c img {background-color: inherit; border-radius: initial;=
height: 1.5em; margin: -0.25em 10px -0.25em 2px; vertical-align: text-top;=
width: 1.5em;}
..gb_4c .gb_3c .gb_ad .gb_9c {border: 2px solid transparent;}
..gb_4c .gb_3c .gb_ad .gb_9c:focus {border-color: rgb(187, 204, 255);}
..gb_4c .gb_3c .gb_ad .gb_9c:focus::after ,.gb_4c .gb_3c .gb_ad .gb_9c:hover=
::after {background-color: transparent;}
..gb_6c {background-color: rgb(64, 64, 64); color: rgb(255, 255, 255); paddi=
ng: 16px; position: absolute; top: 36px; min-width: 328px; max-width: 650px=
; right: 0px; border-radius: 2px; box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.=
4);}
..gb_6c a ,.gb_6c a:visited {color: rgb(94, 151, 246); text-decoration: none=
;}
..gb_bd {text-transform: uppercase;}
..gb_cd {padding-left: 50px;}
..gb_1c .gb_3c {width: 200px;}
..gb_5c {color: rgb(51, 51, 51); font-size: 16px; line-height: 20px; margin:=
0px 0px 16px;}
..gb_1c .gb_5c {color: rgb(255, 255, 255);}
..gb_Xc {color: rgb(102, 102, 102); line-height: 17px; margin: 0px 0px 5px;}
..gb_1c .gb_Xc {color: rgb(255, 255, 255);}
..gb_dd {text-decoration: none; color: rgb(94, 151, 246);}
..gb_dd:visited {color: rgb(94, 151, 246);}
..gb_dd:hover ,.gb_dd:active {text-decoration: underline;}
..gb_ed {position: absolute; background: transparent none repeat scroll 0% 0=
%; top: -999px; z-index: -1; visibility: hidden; margin-top: 1px; margin-le=
ft: 1px;}
#gb .gb_0c {margin: 0px;}
..gb_0c .gb_yb {background: rgb(77, 144, 254) none repeat scroll 0% 0%; bord=
er-color: rgb(48, 121, 237); margin-top: 15px;}
..gb_4c .gb_Fa {background: rgb(66, 133, 244) none repeat scroll 0% 0%;}
#gb .gb_0c a.gb_yb.gb_yb {color: rgb(255, 255, 255);}
..gb_0c .gb_yb:hover {background: rgb(53, 122, 232) none repeat scroll 0% 0%=
; border-color: rgb(47, 91, 183);}
..gb_fd .gb_Fc .gb_lb {border-bottom-color: rgb(255, 255, 255); display: blo=
ck;}
..gb_gd .gb_Fc .gb_lb {border-bottom-color: rgb(77, 144, 254); display: bloc=
k;}
..gb_fd .gb_Fc .gb_mb ,.gb_gd .gb_Fc .gb_mb {display: block;}
..gb_hd ,.gb_ad {display: table-cell;}
..gb_hd {vertical-align: middle;}
..gb_4c .gb_hd {vertical-align: top;}
..gb_ad {padding-left: 13px; width: 100%;}
..gb_4c .gb_ad {padding-left: 20px;}
..gb_id {display: inline-block; padding: 1em 0px 0px; position: relative; wi=
dth: 100%;}
..gb_jd {color: rgb(255, 0, 0); font-style: italic; margin: 0px; padding-lef=
t: 46px;}
..gb_id .gb_kd {float: right; margin: -20px 0px; width: calc(100% - 46px);}
..gb_ld svg {fill: grey;}
..gb_ld.gb_md svg {fill: rgb(66, 133, 244);}
..gb_id .gb_kd label::after {background-color: rgb(66, 133, 244);}
..gb_ld {display: inline; float: right; margin-right: 22px; position: relati=
ve; top: -4px;}
..gb_nf {margin-bottom: 32px; font-size: small;}
..gb_nf .gb_of {margin-right: 5px;}
..gb_nf .gb_pf {color: red;}
..gb_Nc {display: none;}
..gb_Nc.gb_g {display: block;}
..gb_Oc {background-color: rgb(255, 255, 255); box-shadow: 0px 1px 0px rgba(=
0, 0, 0, 0.08); color: rgb(0, 0, 0); position: relative; z-index: 986;}
..gb_Pc {height: 40px; padding: 16px 24px; white-space: nowrap;}
..gb_Qc {position: fixed; bottom: 16px; padding: 16px; right: 16px; white-sp=
ace: normal; width: 328px; transition: width 0.2s ease 0s, bottom 0.2s ease=
0s, right 0.2s ease 0s; border-radius: 2px; box-shadow: 0px 5px 5px -3px r=
gba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px r=
gba(0, 0, 0, 0.12);}
..gb_Oc .gb_yb {border: 0px none; font-weight: 500; font-size: 14px; line-he=
ight: 36px; min-width: 32px; padding: 0px 16px; vertical-align: middle;}
..gb_Oc .gb_yb::before {content: ""; height: 6px; left: 0px; position: absol=
ute; top: -6px; width: 100%;}
..gb_Oc .gb_yb::after {bottom: -6px; content: ""; height: 6px; left: 0px; po=
sition: absolute; width: 100%;}
..gb_Oc .gb_yb + .gb_yb {margin-left: 8px;}
..gb_Rc {height: 48px; padding: 4px; margin: -8px 0px 0px -8px;}
..gb_Qc .gb_Rc {float: left; margin: -4px;}
..gb_Sc {font-family: Roboto,RobotoDraft,Helvetica,Arial,sans-serif; overflo=
w: hidden; vertical-align: top;}
..gb_Pc .gb_Sc {display: inline-block; padding-left: 8px; width: 640px;}
..gb_Qc .gb_Sc {display: block; margin-left: 56px; padding-bottom: 16px;}
..gb_Tc {background-color: inherit;}
..gb_Pc .gb_Tc {display: inline-block; position: absolute; top: 18px; right:=
24px;}
..gb_Qc .gb_Tc {text-align: right; padding-right: 24px; padding-top: 6px;}
..gb_Tc .gb_Uc {height: 1.5em; margin: -0.25em 10px -0.25em 0px; vertical-al=
ign: text-top; width: 1.5em;}
..gb_Vc {line-height: 20px; font-size: 16px; font-weight: 700; color: rgba(0=
, 0, 0, 0.87);}
..gb_Qc .gb_Vc {color: rgba(0, 0, 0, 0.87); font-size: 16px; line-height: 20=
px; padding-top: 8px;}
..gb_Pc .gb_Vc ,.gb_Pc .gb_Wc {width: 640px;}
..gb_Wc .gb_Xc ,.gb_Wc {line-height: 20px; font-size: 13px; font-weight: 400=
; color: rgba(0, 0, 0, 0.54);}
..gb_Qc .gb_Wc .gb_Xc {font-size: 14px;}
..gb_Qc .gb_Wc {padding-top: 12px;}
..gb_Qc .gb_Wc a {color: rgb(66, 133, 244);}
..gb_qf {position: relative; width: 650px; z-index: 986;}
#gbq2 {padding-top: 15px;}
..gb_T .gb_qf {min-width: 200px; flex: 0 2 auto;}
..gb_V ~ .gb_qf {min-width: 0px;}
..gb_T #gbqf {margin-right: 0px; display: flex;}
..gb_T .gbqff {min-width: 0px; flex: 1 1 auto;}
..gb_N .gbqfi::before {left: 0px; top: -2321px;}
..gb_Ib .gbqfb:focus .gbqfi {outline: 1px dotted rgb(255, 255, 255);}
#gbq2 {display: block;}
#gbqf {display: block; margin: 0px 60px 0px 0px; white-space: nowrap;}
..gbqff {border: medium none; display: inline-block; margin: 0px; padding: 0=
px; vertical-align: top; width: 100%;}
..gbqfqw ,#gbqfb ,.gbqfwa {vertical-align: top;}
#gbqfaa ,#gbqfab ,#gbqfqwb {position: absolute;}
#gbqfaa {left: 0px;}
#gbqfab {right: 0px;}
..gbqfqwb ,.gbqfqwc {right: 0px; left: 0px; height: 100%;}
..gbqfqwb {padding: 0px 8px;}
#gbqfbw {display: inline-block; vertical-align: top;}
#gbqfb {border: 1px solid transparent; border-bottom-left-radius: 0px; bord=
er-top-left-radius: 0px; height: 30px; margin: 0px; outline: medium none; p=
adding: 0px; width: 60px; box-shadow: none; box-sizing: border-box; backgro=
und: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , rgb(67, 135, 253), =
rgb(70, 131, 234)) repeat scroll 0% 0%;}
#gbqfb:hover {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);}
#gbqfb:focus {box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;}
#gbqfb:hover:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) inset, 0=
px 1px 1px rgba(0, 0, 0, 0.1);}
#gbqfb:active:active {border: 1px solid transparent; box-shadow: 0px 2px 0p=
x rgba(0, 0, 0, 0.15) inset; background: rgba(0, 0, 0, 0) -moz-linear-gradi=
ent(center top , rgb(60, 122, 228), rgb(63, 118, 211)) repeat scroll 0% 0%;=
}
..gbqfi {background-position: 0px -2321px; display: inline-block; margin: -1=
px; height: 30px; width: 30px;}
..gbqfqw {background: rgb(255, 255, 255) none repeat scroll 0% 0% padding-bo=
x; border-width: 1px 0px 1px 1px; border-style: solid; -moz-border-top-colo=
rs: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; =
-moz-border-left-colors: none; border-image: none; border-color: rgba(0, 0,=
0, 0.15); height: 30px; box-sizing: border-box;}
#gbfwc .gbqfqw {border-right-width: 1px;}
#gbqfqw {position: relative;}
..gbqfqw.gbqfqw:hover {border-color: rgba(0, 0, 0, 0.3);}
..gbqfwa {display: inline-block; width: 100%;}
..gbqfwb {width: 40%;}
..gbqfwc {width: 60%;}
..gbqfwb .gbqfqw {margin-left: 10px;}
..gbqfqw.gbqfqw:active ,.gbqfqw.gbqfqwf.gbqfqwf {border-color: rgb(66, 133, =
244);}
#gbqfq ,#gbqfqb ,#gbqfqc {background: transparent none repeat scroll 0% 0%;=
border: medium none; height: 20px; margin-top: 4px; padding: 0px; vertical=
-align: top; width: 100%;}
#gbqfq:focus ,#gbqfqb:focus ,#gbqfqc:focus {outline: medium none;}
..gbqfif ,.gbqfsf {color: rgb(34, 34, 34); font: 16px arial,sans-serif;}
#gbqfbwa {display: none; text-align: center; height: 0px;}
#gbqfbwa .gbqfba {margin: 16px 8px;}
#gbqfsa ,#gbqfsb {font: bold 11px/27px Arial,sans-serif !important; vertica=
l-align: top;}
..gb_ea .gbqfqw.gbqfqw ,.gb_X .gbqfqw.gbqfqw {border-color: rgb(255, 255, 25=
5); box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gb_ea #gbqfb ,.gb_X #gbqfb {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gb_ea #gbqfb:hover ,.gb_X #gbqfb:hover {box-shadow: 0px 1px 1px rgba(0, 0,=
0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gb_ea #gbqfb:active ,.gb_X #gbqfb:active {box-shadow: 0px 2px 0px rgba(0, =
0, 0, 0.15) inset, 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gbqfb ,.gbqfba ,.gbqfbb {cursor: default !important; display: inline-block=
; font-weight: bold; height: 29px; line-height: 29px; min-width: 54px; padd=
ing: 0px 8px; text-align: center; text-decoration: none !important; border-=
radius: 2px; -moz-user-select: none;}
..gbqfba:focus {border: 1px solid rgb(77, 144, 254); outline: medium none; b=
ox-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;}
..gbqfba:hover {border-color: rgb(198, 198, 198); color: rgb(34, 34, 34) !im=
portant; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); background: rgba(0, 0,=
0, 0) -moz-linear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, =
241)) repeat scroll 0% 0%;}
..gbqfba:hover:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) inset, =
0px 1px 1px rgba(0, 0, 0, 0.1);}
..gbqfb::-moz-focus-inner {border: 0px none;}
..gbqfba::-moz-focus-inner {border: 0px none;}
..gbqfba {border: 1px solid rgba(0, 0, 0, 0.1); color: rgb(68, 68, 68) !impo=
rtant; font-size: 11px; background: rgba(0, 0, 0, 0) -moz-linear-gradient(c=
enter top , rgb(245, 245, 245), rgb(241, 241, 241)) repeat scroll 0% 0%;}
..gbqfba:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..gb_rf .gb_b {background-position: 0px -1699px; opacity: 0.55; height: 30px=
; width: 30px;}
..gb_rf .gb_b:hover ,.gb_rf .gb_b:focus {opacity: 0.85;}
..gb_rf .gb_lb {border-bottom-color: rgb(245, 245, 245);}
#gbsfw.gb_sf {background: rgb(245, 245, 245) none repeat scroll 0% 0%; bord=
er-color: rgb(204, 204, 204);}
..gb_X .gb_rf .gb_b {background-position: -35px -1699px; opacity: 1;}
..gb_ea .gb_rf .gb_b {background-position: 0px -966px; opacity: 0.7;}
..gb_ea .gb_rf .gb_b:hover ,.gb_ea .gb_rf .gb_b:focus {opacity: 0.85;}
..gb_N .gb_rf .gb_b::before {left: 0px; top: -1699px;}
..gb_N.gb_ea .gb_rf .gb_b::before {left: 0px; top: -966px;}
..gb_N.gb_X .gb_rf .gb_b::before {left: -35px; top: -1699px;}
..gb_Sf {width: 480px;}
..gb_Tf {background: rgba(0, 0, 0, 0.04) none repeat scroll 0% 0%; border-bo=
ttom-right-radius: 0px; line-height: 30px; position: relative; text-align: =
center; width: 100%;}
..gb_Tf:hover {background: rgba(0, 0, 0, 0.08) none repeat scroll 0% 0%;}
..gb_Tf .gb_Uf {margin: 0px 10px;}
..gb_Vf {position: relative; z-index: 1;}
..gb_Wf {background: rgb(238, 238, 238) none repeat scroll 0% 0%; border-bot=
tom: 1px solid rgb(227, 227, 227); border-left: 1px solid rgb(227, 227, 227=
); display: inline-block; line-height: 32px; text-align: center; width: 160=
px;}
..gb_Vf .gb_Wf:first-child {border-left: medium none;}
..gb_Vf .gb_g {background: rgb(255, 255, 255) none repeat scroll 0% 0%; bord=
er-bottom: medium none;}
..gb_Xf {display: none; text-align: center;}
..gb_Xf.gb_g {display: block;}
..gb_Zf {color: inherit; display: inline-block; padding: 15px; text-decorati=
on: none;}
..gb_0f {background-clip: content-box; background-origin: content-box; displ=
ay: inherit; height: 64px; width: 64px;}
..gb_1f {display: block; text-align: center;}
..gb_2f {border-top: medium none; top: 78px; z-index: 1; border-radius: 0px =
0px 2px 2px;}
..gb_3f {display: inline-block; vertical-align: middle;}
..gb_4f {display: inline-block; vertical-align: middle; background-size: 100=
% auto; height: 20px; width: 20px;}
..gb_5f {background-image: url("//ssl.gstatic.com/gb/images/a/5a1c013d3d.png=
");}
..gb_6f {background-image: url("//ssl.gstatic.com/gb/images/a/de580e5330.png=
");}
..gb_7f {background-image: url("//ssl.gstatic.com/gb/images/a/451603daf6.png=
");}
..gb_3f {margin-left: 4px;}
..gb_8f {margin: 5px; width: 470px;}
..gb_9f {border: medium none; display: block; margin: 0px 5px; outline: medi=
um none; padding: 0px 5px; height: 30px; width: 450px;}
..gb_ag {border-width: 1px medium medium; border-style: solid none none; bor=
der-color: rgb(227, 227, 227) currentcolor currentcolor; -moz-border-top-co=
lors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none=
; -moz-border-left-colors: none; border-image: none; display: block; margin=
: 0px 5px; outline: medium none; padding: 0px 5px; height: 30px; width: 450=
px;}
..gb_bg {border-color: rgb(227, 227, 227); display: block; font: inherit; ma=
rgin: 0px 5px; outline: medium none; padding: 5px; text-align: left; height=
: 320px; width: 450px;}
..gb_cg ,.gb_dg {border: 1px solid rgb(227, 227, 227); border-radius: 2px; c=
ursor: pointer; line-height: 27px; margin: 5px; padding: 0px 8px; width: 54=
px;}
..gb_cg {float: left;}
..gb_dg {float: right;}
..gb_hb {min-width: 255px; padding-left: 30px; padding-right: 30px; position=
: relative; text-align: right; z-index: 986; align-items: center; justify-c=
ontent: flex-end; -moz-user-select: none;}
..gb_9a .gb_hb {min-width: 0px;}
..gb_hb.gb_R {flex: 1 1 auto;}
..gb_uc {line-height: normal; position: relative; text-align: left;}
..gb_uc.gb_R ,.gb_ce.gb_R ,.gb_ab.gb_R {flex: 0 1 auto;}
..gb_eg ,.gb_fg {display: inline-block; padding: 0px 0px 0px 15px; position:=
relative; vertical-align: middle;}
..gb_ce {line-height: normal; padding-right: 15px;}
..gb_hb .gb_ce.gb_U {padding-right: 0px;}
..gb_ab {color: rgb(64, 64, 64); line-height: 30px; min-width: 30px; overflo=
w: hidden; vertical-align: middle; text-overflow: ellipsis;}
#gb.gb_9a.gb_9a .gb_Lf ,#gb.gb_9a.gb_9a .gb_uc > .gb_fg .gb_Mf {background:=
rgba(0, 0, 0, 0) none repeat scroll 0% 0%; border: medium none; color: rgb=
(51, 102, 204); cursor: pointer; filter: none; font-size: 11px; line-height=
: 26px; padding: 0px; box-shadow: none;}
#gb.gb_9a.gb_X .gb_Lf ,#gb.gb_9a.gb_X .gb_uc > .gb_fg .gb_Mf {color: rgb(25=
5, 255, 255);}
..gb_9a .gb_Lf {text-transform: uppercase;}
..gb_hb.gb_V {padding-left: 0px; padding-right: 29px;}
..gb_hb.gb_gg {max-width: 400px;}
..gb_hg {background-clip: content-box; background-origin: content-box; opaci=
ty: 0.27; padding: 22px; height: 16px; width: 16px;}
..gb_hg.gb_R {display: none;}
..gb_hg:hover ,.gb_hg:focus {opacity: 0.55;}
..gb_ig {background-position: -69px -2252px;}
..gb_jg {background-position: -35px -2321px; padding-left: 30px; padding-rig=
ht: 14px; position: absolute; right: 0px; top: 0px; z-index: 990;}
..gb_db:not(.gb_fb) .gb_jg ,.gb_V .gb_ig {display: inline-block;}
..gb_db .gb_ig {padding-left: 30px; padding-right: 0px; width: 0px;}
..gb_db:not(.gb_fb) .gb_kg {display: none;}
..gb_hb.gb_R.gb_V ,.gb_V:not(.gb_fb) .gb_uc {flex: 0 0 auto;}
..gb_hg ,.gb_V .gb_ce ,.gb_fb .gb_uc {overflow: hidden;}
..gb_db .gb_ce {padding-right: 0px;}
..gb_V .gb_uc {padding: 1px 1px 1px 0px;}
..gb_db .gb_uc {width: 75px;}
..gb_hb.gb_lg ,.gb_hb.gb_lg .gb_ig ,.gb_hb.gb_lg .gb_ig::before ,.gb_hb.gb_l=
g .gb_ce ,.gb_hb.gb_lg .gb_uc {transition: width 0.5s ease-in-out 0s, min-w=
idth 0.5s ease-in-out 0s, max-width 0.5s ease-in-out 0s, padding 0.5s ease-=
in-out 0s, left 0.5s ease-in-out 0s;}
..gb_T .gb_hb {min-width: 0px;}
..gb_hb.gb_W ,.gb_hb.gb_W .gb_uc ,.gb_hb.gb_mg ,.gb_hb.gb_mg .gb_uc {min-wid=
th: 0px !important;}
..gb_hb.gb_W ,.gb_hb.gb_W .gb_R {flex: 0 0 auto !important;}
..gb_hb.gb_W .gb_ab {width: 30px !important;}
..gb_ng {margin-right: 32px;}
..gb_6a {display: none;}
..gb_N .gb_ig::before {clip: rect(2252px, 85px, 2268px, 69px); left: -47px; =
top: -2230px;}
..gb_N .gb_6b.gb_jg {position: absolute;}
..gb_N .gb_jg::before {clip: rect(2321px, 51px, 2337px, 35px); left: -5px; t=
op: -2299px;}
..gb_N .gb_db .gb_ig::before {left: -39px;}
..gb_N .gb_6b ,.gb_N .gbii ,.gb_N .gbip {background-image: none; overflow: h=
idden; position: relative;}
..gb_N .gb_6b::before {content: url("//ssl.gstatic.com/gb/images/v1_e3444bc5=
..png"); position: absolute;}
..gb_Ib a:focus {outline: 1px dotted rgb(255, 255, 255) !important;}
sentinel { }
#gbq .gbgt-hvr ,#gbq .gbgt:focus {background-color: transparent; background=
-image: none;}
#gbq1.gbqfh {display: none;}
..gbxx {display: none !important;}
#gbq {line-height: normal; position: relative; top: 0px; white-space: nowra=
p;}
#gbq {left: 0px; width: 100%;}
#gbq2 {top: 0px; z-index: 986;}
#gbq4 {display: inline-block; max-height: 29px; overflow: hidden; position:=
relative;}
#gbq2.gbqfh {z-index: 985;}
#gbq2.gbqfh {margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin=
-left: 0px !important; padding-top: 0px; position: relative; top: 310px;}
..gbqfh #gbqf {margin: auto; min-width: 534px; padding: 0px !important;}
..gbqfh #gbqfbw {display: none;}
..gbqfh #gbqfbwa {display: block;}
..gbqfh #gbqf {max-width: 512px; min-width: 200px;}
..gbqfh .gbqfqw {border-right-width: 1px;}
..gbii::before {content: url("https://lh3.googleusercontent.com/-D_q2LHjgmDw=
/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s32-c-mo/photo.=
jpg");}
..gbip::before {content: url("https://lh3.googleusercontent.com/-D_q2LHjgmDw=
/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s96-c-mo/photo.=
jpg");}
..gbii {background-image: url("https://lh3.googleusercontent.com/-D_q2LHjgmD=
w/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s32-c-mo/photo=
..jpg");}
..gbip {background-image: url("https://lh3.googleusercontent.com/-D_q2LHjgmD=
w/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s96-c-mo/photo=
..jpg");}
..gb_va .gb_2::before {left: 0px; top: -1070px;}
#gb192 .gb_2::before {left: 0px; top: -1492px;}
#gb1 .gb_2::before {left: -25px; top: 0px;}
#gb8 .gb_2::before {left: 0px; top: -1630px;}
#gb36 .gb_2::before {left: 0px; top: -2183px;}
#gb78 .gb_2::before {left: 0px; top: -69px;}
#gb5 .gb_2::before {left: 0px; top: -138px;}
#gb23 .gb_2::before {left: 0px; top: -207px;}
#gb49 .gb_2::before {left: 0px; top: -1247px;}
#gb24 .gb_2::before {left: 0px; top: -1734px;}
#gb119 .gb_2::before {left: 0px; top: -828px;}
#gb51 .gb_2::before {left: 0px; top: -2598px;}
#gb31 .gb_2::before {left: 0px; top: -1941px;}
#gb6 .gb_2::before {left: 0px; top: -2529px;}
#gb212 .gb_2::before {left: 0px; top: -897px;}
#gb27 .gb_2::before {left: 0px; top: -514px;}
#gb25 .gb_2::before {left: 0px; top: -1803px;}
#gb10 .gb_2::before {left: 0px; top: -1001px;}
#gb30 .gb_2::before {left: 0px; top: -1316px;}
#gb53 .gb_2::before {left: 0px; top: -652px;}
#gb300 .gb_2::before {left: -25px; top: -583px;}
#gb265 .gb_2::before {left: 0px; top: -380px;}
..F0XO1GC-e-b {bottom: 24px; left: 24px; position: fixed; z-index: 2000;}
..F0XO1GC-e-b .F0XO1GC-e-a {background: rgb(50, 50, 50) none repeat scroll 0=
% 0%; border-radius: 2px; color: white; display: inline-block; font-size: 1=
4px; max-width: 568px; min-width: 288px; padding: 16px 24px 12px; will-chan=
ge: transform;}
..F0XO1GC-e-b .F0XO1GC-e-a > div {vertical-align: middle; display: inline-bl=
ock; max-width: 450px;}
..F0XO1GC-e-b .F0XO1GC-e-a > div > div {overflow: hidden; text-overflow: ell=
ipsis;}
..F0XO1GC-e-b .F0XO1GC-e-a .F0XO1GC-e-i {color: rgb(161, 194, 250); text-tra=
nsform: uppercase;}
..F0XO1GC-e-b.F0XO1GC-e-d .F0XO1GC-e-c {float: right; opacity: 0.8; padding-=
left: 10px;}
..F0XO1GC-e-b.F0XO1GC-e-d .F0XO1GC-e-c:hover {opacity: 1;}
..F0XO1GC-e-g {transition: opacity 4s ease 0s;}
..F0XO1GC-e-j {transition: opacity 6s ease 0s;}
..F0XO1GC-e-e {opacity: 0;}
body.F0XO1GC-e-m .F0XO1GC-e-b.F0XO1GC-e-f {display: none;}
..F0XO1GC-g-b {background-color: rgb(235, 238, 248); padding: 4px; color: rg=
b(34, 34, 34); box-shadow: 0px 4px 10px rgb(139, 139, 139);}
..F0XO1GC-g-a {height: 14px; width: 6px; overflow: hidden; background: rgba(=
0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAOCAYA=
AAAMn20lAAAAHUlEQVR42mNYsGDBahBmgAI4H6cE6WAk2LETmwQApE1Rb+RF60MAAAAASUVORK5=
CYII=3D") no-repeat scroll 0px 0px; display: inline-block;}
..gux-dropdown-c {background-color: rgb(249, 249, 249); border-width: 1px; b=
order-style: solid; border-color: rgb(229, 229, 229) rgb(229, 229, 229) rgb=
(179, 179, 179);}
..gux-dropdown-b {border-bottom: 1px solid rgb(229, 229, 229); margin-left: =
2px;}
..gux-combo-item {color: rgb(51, 51, 51); cursor: pointer; padding: 3px 8px;=
}
..gux-combo-item-disabled {color: rgb(102, 102, 102);}
..gux-combo-item-selected ,.gux-combo-item-selection {background-color: rgb(=
221, 221, 221);}
..gux-combo-item-current {background-color: rgb(238, 238, 238); font-weight:=
bold;}
..gux-combo-item-has-child {background-image: url("data:image/png;base64,iVB=
ORw0KGgoAAAANSUhEUgAAAAcAAAAHAQMAAAD+nMWQAAAABlBMVEX///9mZmaO7mygAAAAAXRSTl=
MAQObYZgAAABxJREFUeF4FwTEBAAAMAiCiGMHTY/1zDUTNmcoDCSIBTWrzi7sAAAAASUVORK5CY=
II=3D");}
..gux-combo-item-has-child {background-repeat: no-repeat; background-positio=
n: 97% 50%; padding-right: 20px;}
..gux-combo-item-separator {margin: 3px 0px; border-top: 1px solid rgb(207, =
207, 207);}
..F0XO1GC-l-a {overflow: auto; max-height: 400px; min-width: 150px;}
html ,body ,div ,span ,applet ,object ,body {margin: 0px; padding: 0px; bor=
der: 0px none;}
iframe {margin: 0px; padding: 0px;}
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,p ,pre ,a ,abbr ,acronym ,address ,big ,cite ,code =
,del ,dfn ,em ,font ,img ,ins ,kbd ,q ,s ,samp ,small ,strike ,strong ,sub =
,sup ,tt ,var ,dl ,dt ,dd ,fieldset ,form ,label ,legend ,table ,caption ,t=
body ,tfoot ,thead ,tr ,th ,td {margin: 0px; padding: 0px; border: 0px none=
;}
body {background: white none repeat scroll 0% 0%;}
table {border-collapse: separate; border-spacing: 0px;}
caption ,th ,td {font-weight: normal;}
input::-moz-focus-inner {border: 0px none;}
body {font-family: "Arial","Helvetica",sans-serif; color: rgb(34, 34, 34); =
font-size: 13px; height: 100%; background-color: rgb(255, 255, 255);}
html {height: 100%; background-color: rgb(255, 255, 255);}
body {overflow-y: hidden; overflow-x: auto;}
..F0XO1GC-b-q {position: fixed; overflow: hidden; width: 100%; height: 100%;=
}
h1 ,h2 ,h3 ,h4 ,h5 {font-size: 16px; line-height: 24px; font-weight: normal=
; color: rgb(34, 34, 34);}
li {line-height: 17px;}
a {text-decoration: none; color: rgb(17, 85, 204); cursor: pointer;}
a:visited {color: rgb(102, 17, 204);}
a:active {color: rgb(209, 72, 54);}
iframe {border: 0px none;}
strong {font-weight: bold; color: rgb(34, 34, 34);}
em {font-style: italic;}
input[type=3D"text"] ,input[type=3D"password"] ,textarea ,.editable ,body {=
border-width: 1px; border-style: solid; border-color: rgb(192, 192, 192) rg=
b(217, 217, 217) rgb(217, 217, 217); -moz-border-top-colors: none; -moz-bor=
der-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-c=
olors: none; border-image: none; vertical-align: top; box-sizing: border-bo=
x; border-radius: 1px;}
input[type=3D"text"] ,input[type=3D"password"] {background-color: rgb(255, =
255, 255); color: rgb(34, 34, 34); display: inline-block; height: 29px; lin=
e-height: 27px; padding-left: 8px;}
textarea ,.editable ,body {padding: 5px;}
input[type=3D"text"]:hover ,input[type=3D"password"]:hover ,textarea:hover =
,.editable:hover {border-width: 1px; border-style: solid; border-color: rgb=
(160, 160, 160) rgb(185, 185, 185) rgb(185, 185, 185); -moz-border-top-colo=
rs: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; =
-moz-border-left-colors: none; border-image: none; box-shadow: 0px 1px 2px =
rgba(0, 0, 0, 0.1) inset;}
input[type=3D"text"]:focus ,input[type=3D"password"]:focus ,textarea:focus =
,.editable:focus {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset; outline=
: medium none; border: 1px solid rgb(77, 144, 254);}
input[disabled] ,input[disabled]:hover ,textarea[disabled] ,textarea[disabl=
ed]:hover {border-width: 1px; border-style: solid; border-color: rgb(192, 1=
92, 192) rgb(217, 217, 217) rgb(217, 217, 217); -moz-border-top-colors: non=
e; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-bo=
rder-left-colors: none; border-image: none; box-shadow: none;}
..F0XO1GC-b-V ,.F0XO1GC-b-V:hover ,.F0XO1GC-b-V:focus {border: 1px solid rgb=
(221, 75, 57) !important;}
..F0XO1GC-b-R {color: rgb(221, 75, 57);}
..F0XO1GC-b-Hb textarea ,.F0XO1GC-b-Hb input[type=3D"text"] {width: 100%; ma=
x-width: 600px;}
..F0XO1GC-b-Hb textarea {height: 100px;}
..F0XO1GC-b-Jb:first-child {border-top: medium none;}
..F0XO1GC-b-Jb:last-child {border-bottom: 1px solid rgb(235, 235, 235);}
..F0XO1GC-b-Jb {border-top: 1px solid rgb(235, 235, 235); padding: 20px 0px;=
clear: both;}
..F0XO1GC-b-N .F0XO1GC-b-Jb {padding: 12px 0px;}
..F0XO1GC-b-O .F0XO1GC-b-Jb ,body .F0XO1GC-b-Jb {padding: 7px 0px;}
..F0XO1GC-b-Jb p {line-height: 13px;}
..F0XO1GC-b-Ib {padding-bottom: 0px; border: medium none;}
..F0XO1GC-b-Fb {display: block; float: left; width: 185px; font-weight: bold=
;}
..F0XO1GC-b-Fb a {font-size: 11px;}
..F0XO1GC-b-Gb {font-size: 11px; color: rgb(102, 102, 102); font-weight: nor=
mal;}
..F0XO1GC-b-Eb {margin-left: 210px;}
#gbqfq {border: medium none !important; box-shadow: none !important; line-h=
eight: normal !important;}
..F0XO1GC-b-w {position: absolute; width: 100%; text-align: center; height: =
0px;}
..F0XO1GC-b-w .gux-confirm-panel-c {display: inline-block; box-shadow: 0px 2=
px 4px rgba(0, 0, 0, 0.2);}
..gux-confirm-panel-r1 ,.gux-confirm-panel-r2 ,.gux-confirm-panel-r3 ,.gux-c=
onfirm-panel-r4 {display: none;}
..gux-confirm-panel-c {padding: 7px 16px !important; background: rgb(249, 23=
7, 190) none repeat scroll 0% 0% !important; border: 1px solid rgb(240, 195=
, 109); border-radius: 2px; line-height: 16px; font-size: 11px; position: r=
elative;}
..gux-confirm-panel-c a ,.gux-confirm-panel-c a:visited {color: rgb(51, 51, =
51); text-decoration: underline;}
..gux-confirm-panel-c a:hover {color: rgb(32, 32, 32);}
..gux-confirm-panel-message {color: inherit !important; font-weight: inherit=
!important;}
..F0XO1GC-b-y {text-align: center; padding: 16px;}
..F0XO1GC-b-y .gux-confirm-panel-c {display: inline-block;}
..F0XO1GC-b-o {position: relative; overflow: hidden; height: 58px; border-bo=
ttom: 1px solid rgb(235, 235, 235);}
..F0XO1GC-b-O .F0XO1GC-b-o ,body .F0XO1GC-b-o {min-height: 44px; height: 44p=
x;}
..F0XO1GC-b-p {font-size: 20px; position: absolute; left: 44px; top: 18px;}
..F0XO1GC-b-N .F0XO1GC-b-p {left: 28px;}
..F0XO1GC-b-O .F0XO1GC-b-p ,body .F0XO1GC-b-p {font-size: 16px; left: 16px; =
top: 11px;}
..F0XO1GC-b-dc .F0XO1GC-b-p ,body .F0XO1GC-b-p {left: 30px;}
..F0XO1GC-b-p ,.F0XO1GC-b-p a ,.F0XO1GC-b-p a:hover ,.F0XO1GC-b-p a:visited =
{color: rgb(221, 75, 57);}
..F0XO1GC-b-n {position: relative; font-size: 20px; font-weight: normal; col=
or: rgb(34, 34, 34); white-space: nowrap; overflow: hidden; margin-top: 14p=
x; min-height: 30px; margin-right: 44px;}
..F0XO1GC-b-N .F0XO1GC-b-n {margin-right: 28px;}
..F0XO1GC-b-O .F0XO1GC-b-n ,body .F0XO1GC-b-n {margin-top: 8px; margin-right=
: 16px;}
..F0XO1GC-b-dc .F0XO1GC-b-n ,body .F0XO1GC-b-n {margin-right: 30px;}
..F0XO1GC-b-m {position: absolute; left: 50px; top: 40px; font-size: 10px; p=
adding: 1px;}
..F0XO1GC-b-X {color: rgb(102, 102, 102);}
..F0XO1GC-b-W {background-color: rgb(249, 237, 190); border-radius: 6px;}
..F0XO1GC-b-W a {color: rgb(34, 34, 34); padding: 7px;}
..F0XO1GC-b-N .F0XO1GC-b-m {left: 34px;}
..F0XO1GC-b-O .F0XO1GC-b-m ,body .F0XO1GC-b-m {font-size: 8px; left: 21px; t=
op: 31px;}
..F0XO1GC-b-dc .F0XO1GC-b-m ,body .F0XO1GC-b-m {left: 36px;}
..F0XO1GC-b-Yb {display: inline-block; font-size: 16px; line-height: 24px; f=
ont-weight: normal; color: rgb(34, 34, 34);}
..F0XO1GC-b-Yb:focus {outline: medium none;}
..F0XO1GC-b-xb {height: 16px; margin-top: 4px;}
..F0XO1GC-b-yb {margin-right: 10px;}
..F0XO1GC-b-Rb {height: 32px; position: relative;}
..F0XO1GC-b-E {padding: 16px 44px 16px 0px;}
..F0XO1GC-b-N .F0XO1GC-b-E {padding: 16px 28px 16px 0px;}
..F0XO1GC-b-O .F0XO1GC-b-E ,body .F0XO1GC-b-E {padding: 7px 16px 7px 0px;}
..F0XO1GC-b-dc .F0XO1GC-b-E ,body .F0XO1GC-b-E {padding-right: 30px;}
..F0XO1GC-b-t {font-weight: bold; white-space: nowrap; margin-right: 4px; ve=
rtical-align: middle;}
..F0XO1GC-b-Zb {display: inline-block; width: 17px; z-index: 10; cursor: poi=
nter; text-align: center; position: relative;}
..F0XO1GC-b-j {display: inline-block;}
..F0XO1GC-b-Y {cursor: pointer; position: absolute; right: 5px; top: 5px;}
..F0XO1GC-b-Bb {font-size: 11px; color: rgb(102, 102, 102);}
..F0XO1GC-b-Cb {color: rgb(102, 102, 102);}
..F0XO1GC-b-jb ,.F0XO1GC-b-Mb ,.F0XO1GC-b-sb {color: rgb(17, 85, 204); text-=
decoration: none; cursor: pointer; white-space: nowrap;}
..F0XO1GC-b-Mb {font-size: 11px;}
..F0XO1GC-b-sb {padding-left: 8px;}
..F0XO1GC-b-wb[role=3D"listbox"] {z-index: 10000;}
..F0XO1GC-b-k {padding-right: 18px;}
..F0XO1GC-b-nb {font-weight: bold; cursor: pointer;}
#gbar ,#guser {padding-top: 4px !important;}
#gbar {padding-left: 8px;}
#guser {padding-right: 5px;}
..gwt-PopupGlass ,.gwt-PopupPanelGlass ,.modal-dialog-bg {background-color: =
rgb(255, 255, 255); opacity: 0.75; z-index: 1020; position: absolute; top: =
0px; bottom: 0px; left: 0px; right: 0px;}
..gwt-PopupPanel ,.gwt-SuggestBoxPopup ,.modal-dialog ,.F0XO1GC-b-i {z-index=
: 1021;}
..gwt-SuggestBoxPopup ,.gwt-PopupPanel ,.modal-dialog {background: rgb(255, =
255, 255) none repeat scroll 0% 0%; transition: opacity 0.218s ease 0s;}
..gwt-SuggestBoxPopup ,.F0XO1GC-b-i {min-width: 384px; padding: 0px; box-sha=
dow: 0px 2px 4px rgba(0, 0, 0, 0.2);}
..gwt-PopupPanel ,.modal-dialog {box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2)=
;}
..gwt-SuggestBoxPopup ,.gwt-PopupPanel ,.modal-dialog ,.F0XO1GC-b-i {outline=
: medium none; border: 1px solid rgb(204, 204, 204);}
..gwt-SuggestBoxPopup table {width: 100%;}
..gwt-SuggestBoxPopup .item {font-size: 13px; line-height: 30px; color: rgb(=
51, 51, 51); padding: 2px 44px 2px 16px;}
..gwt-SuggestBoxPopup .item-selected {background-color: rgb(238, 238, 238);}
..gwt-SuggestBoxPopup .menuSeparatorInner {height: 1px; background-color: rg=
b(235, 235, 235);}
..gux-comboPopup {z-index: 1022;}
..F0XO1GC-b-a {margin-right: 1em; cursor: pointer; padding: 4px 5px 4px 0px;=
display: inline-block; vertical-align: middle; color: rgb(102, 102, 102);}
..F0XO1GC-b-e {cursor: pointer; padding: 4px 5px 4px 0px; display: inline-bl=
ock; vertical-align: middle; color: rgb(102, 102, 102);}
..F0XO1GC-b-a:hover ,.F0XO1GC-b-e:hover {color: rgb(51, 51, 51);}
..F0XO1GC-b-a span ,.F0XO1GC-b-e span {white-space: nowrap; vertical-align: =
middle;}
..F0XO1GC-b-c {vertical-align: middle; margin-right: 2px; float: left; posit=
ion: relative; top: -2px; opacity: 0.667;}
..F0XO1GC-b-a:hover .F0XO1GC-b-c ,.F0XO1GC-b-e:hover .F0XO1GC-b-c {opacity: =
1;}
..F0XO1GC-b-d {padding-right: 1em;}
..F0XO1GC-b-b ,.F0XO1GC-b-b span {text-decoration: none; color: rgb(119, 119=
, 119);}
..F0XO1GC-b-Lb {height: 16px; width: 14px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCA=
YAAAAmlE46AAAAlklEQVR42mNQVFRcoKik+J8kDNTDQLImKKaaxgtKSkoNIAxkfwBhJP4FnBpBC=
higAKYBmU99jcDQ2qCgouCgoKBgAHMeGh9v4HwAKQQZgsZfgFejgrJCgIKSQgEKX1khgWbRQbxG=
sDOUFQ9A4w1VAUgcCwbpgYU2A1Qzsl8RkvgAksYPoABhIBbAnAsKegZSADjySdAEAJYO2XLdKlu=
NAAAAAElFTkSuQmCC") no-repeat scroll 0px 0px;}
..F0XO1GC-b-Db > a .F0XO1GC-b-Lb {height: 16px; width: 14px; overflow: hidde=
n; background: rgba(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAAN=
SUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAkUlEQVR42mO4722xAIj/k4gXMJChCYyppvHCfR+LBjD=
2tvgAxgj+BdwagQoYoACmAYVPfY3elhuAChzue1kZwJ2HyscbOB/ACkGGoPBRow1To69lAFBTAQ=
rfyyKBZtFBgkaQM7wsDkDjDVUBSBw7TmCABzdEM7ImhCQ+gKTxAyhAGIgFcOcCg56BFACONxI0A=
QA7poY7kpopQwAAAABJRU5ErkJggg=3D=3D") no-repeat scroll 0px 0px;}
..F0XO1GC-b-T {height: 13px; width: 13px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/gif;base64,R0lGODlhDQANAKIAAP///+/v7+vr68rKyr6=
+vpqammVlZQAAACH5BAEHAAMALAAAAAANAA0AAAM2ODpU/oWsUQK4N5RZrvkGsC0d9onNYwKhY4=
le7GBdiIml+GLCfKWQSO42UgxpnN2lNwFCJIsEADs=3D") no-repeat scroll 0px 0px; di=
splay: inline-block; margin-left: 4px;}
..gwt-HintingTextBox-hinting {color: rgb(136, 136, 136);}
..F0XO1GC-b-ab {color: rgb(170, 170, 170) !important;}
..F0XO1GC-b-tb {white-space: nowrap; display: inline;}
..F0XO1GC-b-U {color: red; vertical-align: baseline; font-size: 0.83em; posi=
tion: relative; top: -0.4em;}
..F0XO1GC-b-Kb {border: 0px none; overflow: hidden;}
..F0XO1GC-b-K {position: relative; top: -1px; border-style: solid dashed das=
hed; border-color: rgb(51, 102, 204) transparent transparent; display: inli=
ne-block; font-size: 0px; height: 0px; line-height: 0; width: 0px; border-w=
idth: 3px 3px 0px; padding-top: 1px; left: 4px;}
..F0XO1GC-b-x {text-align: center;}
..F0XO1GC-b-bc {width: 90%; left: 5% !important; z-index: 1020;}
..F0XO1GC-b-cc {color: rgb(255, 255, 255); background-color: rgb(0, 0, 0); o=
pacity: 0.9; border-radius: 10px; padding: 1em; width: 100%;}
..F0XO1GC-b-Qb {white-space: nowrap; padding: 0px 2px; font-size: 11px;}
..F0XO1GC-b-Qb img {position: relative; top: 1px; right: 2px; vertical-align=
: bottom;}
..F0XO1GC-b-l ,.F0XO1GC-b-qb {color: rgb(64, 178, 91);}
..F0XO1GC-b-L {color: rgb(238, 68, 68);}
..F0XO1GC-b-r {color: rgb(238, 68, 68); font-size: 13px;}
..F0XO1GC-b-s {font-size: 13px; padding-left: 2em;}
..F0XO1GC-b-S ,.F0XO1GC-b-fb ,.F0XO1GC-b-mb {color: rgb(238, 68, 68);}
..F0XO1GC-b-lb {display: inline-block;}
..F0XO1GC-b-lb img {vertical-align: bottom;}
..F0XO1GC-b-eb {border-top: 1px solid rgb(235, 235, 235); margin-top: 9px; m=
argin-bottom: 10px;}
..gux-comboPopup ,.ac-renderer {transition: opacity 0.218s ease 0s; box-shad=
ow: 0px 2px 4px rgba(0, 0, 0, 0.2);}
..gux-dropdown-c ,.ac-renderer {background-color: rgb(255, 255, 255); outlin=
e: 1px solid rgba(0, 0, 0, 0.2); padding: 6px 0px; white-space: nowrap;}
..gux-dropdown-c {box-shadow: none;}
..ac-renderer {position: absolute;}
..F0XO1GC-b-gb {padding-left: 32px !important;}
..gux-dropdown-c ,.ac-renderer {border: 1px solid rgb(204, 204, 204);}
..gux-combo-item ,.ac-renderer > div {display: block; padding: 6px 44px 6px =
16px; position: relative; color: rgb(51, 51, 51); font-size: 13px; font-wei=
ght: normal; cursor: pointer; line-height: 17px; transition: background 0.1=
3s ease 0s;}
..F0XO1GC-b-N .gux-combo-item ,.F0XO1GC-b-N .ac-renderer > div {padding: 4px=
28px 4px 16px;}
..F0XO1GC-b-O .gux-combo-item ,.F0XO1GC-b-O .ac-renderer > div ,body .gux-co=
mbo-item ,body .ac-renderer > div {padding: 2px 16px;}
..F0XO1GC-b-dc .gux-combo-item ,.F0XO1GC-b-dc .ac-render > div ,body .gux-co=
mbo-item ,body .ac-render > div {padding-right: 30px;}
..gux-combo-item:focus {outline: medium none !important;}
..gux-combo-item img {opacity: 0.667;}
..gux-combo-item:hover img {opacity: 1;}
..gux-combo-item-selected ,.gux-combo-item-selection ,.ac-active {background=
-color: rgb(241, 241, 241); color: rgb(34, 34, 34); outline: medium none !i=
mportant;}
..gux-combo-item-separator {border-top: 1px solid rgb(235, 235, 235); margin=
-top: 6px; margin-bottom: 6px;}
..gux-combo-item-disabled {color: rgb(153, 153, 153);}
..gux-combo-item-disabled img {opacity: 0.667;}
..F0XO1GC-b-J {overflow: hidden; background: rgba(0, 0, 0, 0) url("data:imag=
e/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAHCAYAAAAvZezQAAAAIklEQVR42mOIjI=
z8z4AMQAIogjABuCCyAFgQpwoUM5AtAQDYECCh1fwQRAAAAABJRU5ErkJggg=3D=3D") no-rep=
eat scroll 0px 0px; display: inline-block; width: 5px; height: 7px; transit=
ion: all 0.218s ease 0s; transform: rotate(90deg); opacity: 0.8;}
..F0XO1GC-b-Db .F0XO1GC-b-J {height: 7px; width: 4px; overflow: hidden; back=
ground: rgba(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA=
AAAQAAAAHCAYAAAAvZezQAAAAIklEQVR42mO46235nwEZgARQBGECcEFkAbAgThUoZiBbAgAyXi=
YBmRq/2AAAAABJRU5ErkJggg=3D=3D") no-repeat scroll 0px 0px;}
..F0XO1GC-b-C .F0XO1GC-b-J {transform: rotate(0deg);}
..F0XO1GC-b-C .F0XO1GC-b-J {transform: rotate(0deg);}
..F0XO1GC-b-C .F0XO1GC-b-J {transform: rotate(0deg);}
..F0XO1GC-b-C .F0XO1GC-b-J { }
..F0XO1GC-b-F {overflow-y: scroll !important;}
..F0XO1GC-b-G {padding-right: 28px;}
..F0XO1GC-b-N .F0XO1GC-b-G {padding-right: 12px;}
..F0XO1GC-b-O .F0XO1GC-b-G ,body .F0XO1GC-b-G {padding-right: 0px;}
..F0XO1GC-b-dc .F0XO1GC-b-G ,body .F0XO1GC-b-G {padding-right: 14px;}
..F0XO1GC-b-ob {padding: 16px 28px 16px 0px;}
..F0XO1GC-b-N .F0XO1GC-b-ob {padding: 16px 12px 16px 0px;}
..F0XO1GC-b-O .F0XO1GC-b-ob ,body .F0XO1GC-b-ob {padding: 7px 0px;}
..F0XO1GC-b-v {position: absolute; right: 44px; top: 3px; font-size: 11px; c=
olor: rgb(136, 136, 136);}
..F0XO1GC-b-v a ,.F0XO1GC-b-v a:visited {color: rgb(136, 170, 238);}
..F0XO1GC-b-v a:hover {color: rgb(17, 85, 204);}
..F0XO1GC-b-Ab {position: relative;}
..F0XO1GC-b-Nb ,.F0XO1GC-b-Nb .F0XO1GC-b-q {background-color: rgb(245, 245, =
245);}
..gwt-TabBar {border-bottom: 1px solid rgb(204, 204, 204);}
..gwt-TabBarItem {min-width: 54px; text-align: center; color: rgb(102, 102, =
102); font-size: 11px; font-weight: bold; height: 27px; padding: 0px 8px; l=
ine-height: 27px; margin-bottom: -1px; border: 1px solid transparent; curso=
r: default; border-top-left-radius: 2px; border-top-right-radius: 2px;}
..gwt-TabBarItem:hover {color: rgb(34, 34, 34);}
..gwt-TabBarItem:focus {outline: medium none; color: rgb(51, 51, 51);}
..gwt-TabBarItem:active {color: rgb(51, 51, 51);}
..gwt-TabBarItem-selected {color: rgb(32, 32, 32); background-color: rgb(255=
, 255, 255); border-width: 1px; border-style: solid; border-color: rgb(204,=
204, 204) rgb(204, 204, 204) rgb(255, 255, 255); -moz-border-top-colors: n=
one; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-=
border-left-colors: none; border-image: none;}
..gwt-TabBarFirst-wrapper {display: none;}
..gwt-ScrollTable td {height: 40px; line-height: 40px; padding: 0px 8px; bor=
der-bottom: 1px solid rgb(235, 235, 234); overflow: hidden; text-overflow: =
ellipsis; white-space: nowrap;}
..F0XO1GC-b-N .gwt-ScrollTable td {height: 34px; line-height: 34px;}
..F0XO1GC-b-O .gwt-ScrollTable td ,body .gwt-ScrollTable td {height: 30px; l=
ine-height: 30px;}
..gwt-ScrollTable .headerTable td {color: rgb(102, 102, 102); cursor: defaul=
t; border-bottom: 1px solid rgb(204, 204, 204);}
..gwt-ScrollTable .headerTable td:hover {color: rgb(34, 34, 34);}
..gwt-ScrollTable .headerTable td:active {color: rgb(51, 51, 51);}
..F0XO1GC-b-P {padding: 12px;}
..F0XO1GC-b-zb {position: absolute; left: -10000px;}
..F0XO1GC-b-u {display: block;}
..F0XO1GC-b-kb {height: 16px; width: 16px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/gif;base64,R0lGODlhEAAQAPeQANHR0fX19aampvDw8O=
/v7+zs7CgoKGBgYPf395iYmMPDw4CAgDMzM8LCwtbW1vv7+4SEhIWFhbe3t6Ojo25ubltbW+vr6=
+fn51paWjs7O0VFRXx8fKKiopubm7m5uUNDQ97e3pKSkqqqqvHx8W1tbc3NzTk5OYyMjEtLS4+P=
jzAwMKSkpO3t7ebm5ri4uG9vb5qamlhYWAkJCcjIyMzMzBgYGAUFBUpKStPT0zExMWRkZLq6ur6=
+vq+vr09PTzY2NgEBAfr6+vT09BkZGR0dHUdHR1ZWVmdnZ8/Pz9nZ2RYWFlNTU7a2tpmZma2trZ=
GRkUZGRsTExOPj4729vaioqAICAk1NTeDg4KmpqaGhoenp6SkpKcXFxR4eHtzc3EhISKCgoO7u7=
rKysl5eXp6eni8vL7W1tSMjI1JSUsfHx3p6eioqKiEhIeHh4T09PVBQUOXl5bOzs0lJSc7OzsrK=
ymZmZvPz88vLy2hoaEFBQT8/P3t7e9/f3z4+PpeXlx8fHxAQEAgICMbGxqysrOrq6jo6OvLy8tv=
b20BAQFVVVdTU1OLi4qurq8HBwf39/QAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAACQACwAAAAA=
EAAQAAAIfgAhCRzogYGJBgMTQoqy4A4kA48eZVAoUFCZR3kOqYioAZKjAY4GRogoI4GCDyhKQAo=
ggMBABz6GjGlBMUDIgYR6FKCoEEGHCQ94KkwRkYNQSAAaQRr5KMHRpJAKnAgx4qjVq44CCLWZkI=
AArQpZuhz48SYAAALLHm2k9OrVgAAh+QQJAACQACwAAAAAEAAQAAAIfgAhCRzoAMMBEAMTKqzw6=
BGFIGCWCAgyMA0FGoZINNzwRMkjJVgGxnj0RsKFBRAsGGj46MBAMVDMWEiYZQ2QLRIGXsBSQCEk=
EVZ2+BzqsxEAogIBNBJoFCkkpU6jShXoKADRAI4SEhBgVWEAAQQSOhqQ9elRSGPLDm20dCrSgAA=
h+QQJAACQACwAAAAAEAAQAAAIfQAhCRyIoMOEBwMTKkzx6BEHSA0WzEnoaIAjSBEaJqDz41EhRQ=
MJCAgAqcCJECP2VGkIY6Ajkgq9GKmBgY/Cm5C09GCBE6cHBiYaQGoEoCckAw0zDC3aU0VDDUYHK=
viAokTUni97BrgYcuTNAAIIULQoEADTilxxNmp0tW1AACH5BAkAAJAALAAAAAAQABAAAAh+ACEJ=
HEiwoEGBjRodFOhogCOBAABAYqHgBRKCBAQEKLiizyM8BB1tLCiFSpEpCwu2EFEgZUEHGA6AgNR=
I4sIKjx5RoGnzIImcG1wKvLAAggWhMHKsCDmS4BM2j7qIGJixqUADOR8dGNjwIaSIkLIQeXRGws=
KEAgcdceFVKMGAACH5BAkAAJAALAAAAAAQABAAAAh9ACEJHEiwoEGBjRodFOhogCOBAAAwdEiQg=
IAABgMIIEDQEcaDAR4uHElSIIIOEx5AaiRxYYpHjzisbHkwAswEJSEVOBFiRMkoL3B0/Ehwhp5A=
iIQKtIjRAwMTDdRUgdlkYMOHBmBmuILGRqJFB1XA1ADpihM4CxV8QFHCYEAAIfkECQAAkAAsAAA=
AABAAEAAACHsAIQkcSLCgQYGNGh0U6GiAI4EAADB0SJCAgAAGAwggQNARxoMBHi4cSfJgI4kjAS=
iEdJKkypILE+RYYdDODiEDYQx5ZEAAwTA8YtAYeOORUSgOMBwAMcHNozoDBdR4tEVCBaMUWsTRo=
WDgA0ZHJEAiYXQDzAsLIFgwGBAAIfkECQAAkAAsAAAAABAAEAAACH0AIQkcSLCgQYGNGh0U6GiA=
I4EAADB0SJCAgAAGAwggQNARxoMBHi4c6YGBiQYjBxp49CjDSAAKVbDU8FKhgg8oSqQkOOMFkp2=
QuPyQ8SVJRpGQILCU4QdBhwkPIGnkKDCJHBsVtKRgyQFSQ6SQ2jiRAikCywRAC5wIMcJgQAAh+Q=
QFAACQACwAAAAAEAAQAAAIfAAhCRxIsKBABGSWUHEEqVEjgwKbAHpERAAkAAAEOhrAUOCNRyCLF=
AwggMBAAX+AMHBhMEBHgSKsMIFI0AGGAyBoEqwAkoJOAA9JgNzw8+GFBRAs6Cw4wAWCpQMbGZkh=
pOVLSDEe+ZhJkKTJgVN08GBxMSOkjVcLOoTKNiAAOw=3D=3D") no-repeat scroll 0px 0px=
;}
..F0XO1GC-b-A {padding-left: 8px;}
..gux-combo-item .F0XO1GC-b-A {padding-left: 21px;}
..F0XO1GC-b-z {height: 21px; width: 21px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAY=
AAACpF6WWAAAAjElEQVR42mNgGAWDFUgCMTs1DTQH4klA7EwtA+2BeAkQR1HLwEAgngnEZUDMRK=
lhrECcDjUwhxqu4wbiSqiBpVALSAJTgNgfiFmgfDEgboYaWAfEnOS4yhFqQBUQWwBxH5QPMpiXE=
u+mQg2C4U4gFqI0DEFebIIa2APE0tRKOrJQAxWonQ05R0uiYQgAWowSH34q/8EAAAAASUVORK5C=
YII=3D") no-repeat scroll 0px 0px; position: relative; display: inline-bloc=
k; top: 5px; left: 3px;}
..gux-combo-item .F0XO1GC-b-z {top: -4px; left: -8px; vertical-align: bottom=
; height: 15px;}
..F0XO1GC-b-B {overflow-y: hidden !important;}
..F0XO1GC-b-B:hover {overflow-y: auto;}
input.F0XO1GC-b-hb {border: 1px solid rgb(221, 75, 57) !important; color: r=
gb(221, 75, 57) !important;}
..F0XO1GC-b-Q ,.F0XO1GC-b-Q strong {color: rgb(221, 75, 57);}
..F0XO1GC-b-f {cursor: pointer;}
..F0XO1GC-b-f img {opacity: 0.667; margin: 12px 6px 11px;}
..F0XO1GC-b-f:hover img {opacity: 1;}
..F0XO1GC-b-i .popupContent {margin: 12px;}
..F0XO1GC-b-i label {display: block; margin-bottom: 4px; color: rgb(102, 102=
, 102);}
..F0XO1GC-b-i input[type=3D"text"] {height: 24px; line-height: 24px; width: =
99%;}
..F0XO1GC-b-g {position: absolute; right: 14px; bottom: 18px;}
..F0XO1GC-b-h {margin-bottom: 8px;}
..datePicker {padding: 16px; outline: 1px solid rgba(0, 0, 0, 0.2); opacity:=
0; width: 144px; position: absolute; left: -9999px; top: 6px; z-index: 3; =
background: rgb(255, 255, 255) none repeat scroll 0% 0%; box-shadow: 0px 2p=
x 4px rgba(0, 0, 0, 0.2); border-radius: 2px; transition: all 0.13s linear =
0s;}
..dateBoxPopup {background-color: white; z-index: 1023;}
..gwt-DatePicker {border: 1px solid rgb(162, 187, 221); cursor: default;}
..gwt-DatePicker td ,.datePickerMonthSelector td:focus {outline: medium none=
;}
..datePickerDays {width: 100%; background: white none repeat scroll 0% 0%;}
..datePickerWeekendLabel ,.datePickerWeekdayLabel {min-width: 20px; width: 2=
0px; height: 20px; line-height: 20px; padding-left: 3px; padding-right: 3px=
; font-size: 11px; text-align: center; color: rgb(102, 102, 102); cursor: d=
efault;}
..datePickerDay {min-width: 20px; width: 20px; height: 20px; line-height: 20=
px; padding-left: 3px; padding-right: 3px; font-size: 11px; text-align: cen=
ter; color: rgb(102, 102, 102); cursor: pointer;}
..datePickerDayIsToday {border: 1px solid black;}
..datePickerDayIsFiller {color: rgb(204, 204, 204);}
..datePickerDayIsValue {background: rgb(170, 204, 238) none repeat scroll 0%=
0%;}
..datePickerDayIsDisabled {color: rgb(170, 170, 170); font-style: italic;}
..datePickerDayIsHighlighted ,.datePickerPreviousButton-up-hovering ,.datePi=
ckerNextButton-up-hovering {background: rgb(238, 238, 238) none repeat scro=
ll 0% 0%; color: rgb(51, 51, 51);}
..datePickerDayIsValueAndHighlighted {background: rgb(187, 221, 217) none re=
peat scroll 0% 0%;}
..datePickerMonthSelector {width: 100%;}
td.datePickerMonth {text-align: center; white-space: nowrap; font-size: 13p=
x; color: rgb(102, 102, 102); padding-left: 4px;}
..datePickerPreviousButton ,.datePickerNextButton {font-size: 120%; line-hei=
ght: 1em; cursor: pointer; padding: 0px 4px;}
..F0XO1GC-b-pb { }
..F0XO1GC-b-rb {position: absolute; left: -10000px; top: auto; width: 1px; h=
eight: 1px; overflow: hidden;}
..iph-dialog {z-index: 1010 !important;}
..F0XO1GC-b-H {background-color: rgb(255, 255, 255);}
..F0XO1GC-b-Vb {z-index: 1999;}
..F0XO1GC-b-Vb > div {background-color: rgb(125, 164, 253) !important; borde=
r: 1px solid rgb(125, 164, 253) !important;}
..F0XO1GC-b-bb {height: 16px; width: 16px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCA=
IAAACQkWg2AAAAqklEQVQoz2P4TyJgoIKGCZu2IyN8GiAqfqICNG0MyKohKp5+Q0FAcPXlW7ged=
A1AFXuuPU2YsB2Cbr37AhQ5+fAxuga4aiACqlt+/BaQUb/8GJANETx46w5ED0LDvbfvkV0CNBtZ=
w6azF9E13HjxElk1xElwESwaTtx/BJdGU41dw56rN9HCB58GqKvevMNqA1w1ugagBBBhmo1dAzy=
mISrgCGdMk5OWiAEA3zqvClm2uDoAAAAASUVORK5CYII=3D") no-repeat scroll 0px 0px;=
display: inline-block; position: relative; top: 3px; left: 3px;}
..F0XO1GC-b-db {background-color: rgba(255, 255, 255, 0); outline-style: non=
e; box-shadow: 0px 0px rgba(255, 255, 255, 0);}
..F0XO1GC-b-cb {overflow: hidden; padding: 10px; background-color: rgb(249, =
237, 190); border: 1px solid rgb(240, 195, 109); border-radius: 10px;}
..F0XO1GC-b-vb {margin-right: 15px;}
..F0XO1GC-b-Ub {font-weight: bold; color: rgb(119, 119, 119); margin: 10px;}
..F0XO1GC-b-ub {font-style: italic;}
..F0XO1GC-d-C {cursor: pointer; font-size: 13px; display: block;}
..F0XO1GC-d-x {position: relative; margin: 0px;}
..F0XO1GC-d-y {padding: 16px 0px 16px 28px;}
..F0XO1GC-b-N .F0XO1GC-d-y {padding: 16px 0px 16px 12px;}
..F0XO1GC-b-O .F0XO1GC-d-y ,body .F0XO1GC-d-y {padding: 7px 0px;}
..F0XO1GC-b-dc .F0XO1GC-d-y ,body .F0XO1GC-d-y {padding-left: 14px;}
..F0XO1GC-d-w {font-size: 13px; padding: 0px; margin: 0px; position: relativ=
e;}
..F0XO1GC-d-b {padding-bottom: 5px;}
..F0XO1GC-d-w div a {display: block; overflow: hidden; white-space: nowrap; =
text-decoration: none; color: rgb(51, 51, 51); cursor: pointer; font-size: =
13px; line-height: 30px; padding-left: 16px;}
..F0XO1GC-d-C a ,.F0XO1GC-d-C a:visited {display: block; overflow: hidden; p=
osition: relative; white-space: nowrap; text-decoration: none; color: rgb(5=
1, 51, 51); cursor: pointer; font-size: 13px; line-height: 30px; padding-le=
ft: 16px;}
..F0XO1GC-b-N .F0XO1GC-d-w div a ,.F0XO1GC-b-N .F0XO1GC-d-C a {line-height: =
24px;}
..F0XO1GC-b-O .F0XO1GC-d-w div a ,.F0XO1GC-b-O .F0XO1GC-d-C a ,body .F0XO1GC=
-d-w div a ,body .F0XO1GC-d-C a {line-height: 20px;}
..F0XO1GC-d-B ,.F0XO1GC-d-B .F0XO1GC-d-B {margin-left: 12px;}
..F0XO1GC-d-B .F0XO1GC-d-m a {padding-left: 4px;}
..F0XO1GC-d-w div a {position: relative;}
..F0XO1GC-d-d {position: absolute; top: 5px; bottom: 5px; left: 0px; right: =
0px;}
..F0XO1GC-d-w div.F0XO1GC-d-m a:hover ,.F0XO1GC-d-w div.F0XO1GC-d-c a:hover =
{color: rgb(34, 34, 34); background-color: rgb(238, 238, 238);}
..F0XO1GC-b-Db > div > a span ,.F0XO1GC-b-Db > a span {color: rgb(209, 72, 5=
4);}
..F0XO1GC-b-Z {background-color: rgb(238, 238, 238);}
..F0XO1GC-d-w div.F0XO1GC-d-c {cursor: default;}
..F0XO1GC-b-C .F0XO1GC-d-B {display: none;}
..F0XO1GC-d-p {display: block; overflow: hidden; text-overflow: ellipsis; pa=
dding-left: 12px;}
..F0XO1GC-d-p > h3 {display: inline;}
..F0XO1GC-d-p > * {font-size: 13px;}
..F0XO1GC-d-c > a .F0XO1GC-d-p {cursor: default;}
..F0XO1GC-d-w div.F0XO1GC-d-t > a .F0XO1GC-d-p {padding-left: 0px;}
..F0XO1GC-d-B div.F0XO1GC-d-t > a .F0XO1GC-d-p {padding-left: 4px;}
..F0XO1GC-d-g {vertical-align: middle; line-height: 1px; cursor: default;}
..F0XO1GC-d-g span {cursor: default;}
..F0XO1GC-d-D {display: inline-block; width: 17px; height: 20px; position: a=
bsolute; top: 4px; left: 0px; margin-left: -1px; z-index: 10; cursor: point=
er; text-align: center;}
..F0XO1GC-d-D:hover {background-color: rgb(238, 238, 238);}
..F0XO1GC-b-N .F0XO1GC-d-D {top: 2px;}
..F0XO1GC-b-O .F0XO1GC-d-D ,body .F0XO1GC-d-D {top: 0px;}
..F0XO1GC-d-e {height: 16px; width: 16px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAY=
AAAAf8/9hAAAAKUlEQVR42mNgoBQoKin+x4HfKygoGFBiAHGGEDCAIB41YNSA4WIApQAAAJwgHb=
r2Zo8AAAAASUVORK5CYII=3D") no-repeat scroll 0px 0px;}
..F0XO1GC-b-Db .F0XO1GC-d-e {height: 16px; width: 16px; overflow: hidden; ba=
ckground: rgba(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEU=
gAAABAAAAAQCAYAAAAf8/9hAAAAKklEQVR42mNgoBTc97b4jx2bv7/vZWVAgQFEGoLfAMJ41IBR=
A4aLAZQCAIrl74OY+yI3AAAAAElFTkSuQmCC") no-repeat scroll 0px 0px;}
..F0XO1GC-d-t .F0XO1GC-d-e {display: none;}
..F0XO1GC-d-t > div > a .F0XO1GC-d-p {padding-left: 0px;}
..F0XO1GC-d-z {height: 15px; width: 15px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAY=
AAAA71pVKAAAAsUlEQVR42q2SARHCMAxFKwEJ+RlCkIAEpCABCUiYBCRMQiXUQUlKAr1jWW93y9=
2/rV3z8pc0pZUgolPaE8x8B6OIqqno3hAkBxdPAPBsYmTbW0KAVayY8OoP6btBqj6jqmq1RHR3E=
CXH5M4ZnelyeLLaziPbq9+F/IiqDxvWuvobVVabZjV/Zw7MNNE1BniVXp+Zz74WwG3zwmhjmuwf=
tWIPHAL+gJJwKCDtDQfohHT9BkZLZOpNaW74AAAAAElFTkSuQmCC") no-repeat scroll 0px=
0px;}
..F0XO1GC-b-Db .F0XO1GC-d-z {height: 15px; width: 15px; overflow: hidden; ba=
ckground: rgba(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEU=
gAAAA8AAAAPCAYAAAA71pVKAAAAr0lEQVR42mNgwALuBzgIMJAC7vtYNNz3tvgAxP+h+ANYjJBB=
QIUX4Bq8LRZA8QOo2AWcBkBt/H/fy+IAsiIQG2oIyIAFuGz9AMY4TIe5AJdm3CYju8zHwoHqmj+=
AnUbA2Vjl73tZTsBlO+EAg4QqLKoegJ0JceoDRJxbbrjvaxmAz4AFSAkEhheANcL4XhYJhFKaAx=
hD/QiyEcVAQgZghotFAlUNYCAVwA0AxhCIDwC5ScL3UWrGqQAAAABJRU5ErkJggg=3D=3D") no=
-repeat scroll 0px 0px;}
..F0XO1GC-d-i {position: absolute; top: 7px; opacity: 0.7; left: 4px;}
..F0XO1GC-b-N .F0XO1GC-d-i {top: 4px;}
..F0XO1GC-b-O .F0XO1GC-d-i ,body .F0XO1GC-d-i {top: 2px;}
..F0XO1GC-d-w div.F0XO1GC-d-m a:hover .F0XO1GC-d-i ,.F0XO1GC-d-f:hover .F0XO=
1GC-d-i ,.F0XO1GC-b-Db .F0XO1GC-d-i {opacity: 1;}
..F0XO1GC-d-f .F0XO1GC-d-i {left: 16px;}
..F0XO1GC-d-m ,.F0XO1GC-d-c {position: relative;}
..F0XO1GC-d-q {padding-right: 20px;}
..F0XO1GC-d-n {display: block; float: right; position: relative; top: 7px; m=
argin-left: 3px; font-size: 11px; color: rgb(102, 102, 102) !important; bac=
kground-color: rgb(238, 238, 238); padding: 2px 3px; line-height: 12px; fon=
t-weight: normal;}
..F0XO1GC-b-N .F0XO1GC-d-n {top: 5px;}
..F0XO1GC-b-O .F0XO1GC-d-n ,body .F0XO1GC-d-n {top: 2px;}
..F0XO1GC-d-m a:hover .F0XO1GC-d-n ,.F0XO1GC-d-c a:hover .F0XO1GC-d-n {backg=
round-color: rgb(204, 204, 204); color: rgb(51, 51, 51) !important;}
..F0XO1GC-d-j {display: none;}
..F0XO1GC-d-m:hover .F0XO1GC-d-j ,.F0XO1GC-d-f:hover .F0XO1GC-d-j ,.F0XO1GC-=
d-a {display: inline;}
..F0XO1GC-d-m .F0XO1GC-d-v ,.F0XO1GC-d-c .F0XO1GC-d-v {top: 8px; right: 3px;=
z-index: 2; position: absolute; height: 13px; width: 13px; overflow: hidde=
n;}
..F0XO1GC-b-N .F0XO1GC-d-m .F0XO1GC-d-v ,.F0XO1GC-b-N .F0XO1GC-d-c .F0XO1GC-=
d-v {top: 6px;}
..F0XO1GC-b-O .F0XO1GC-d-m .F0XO1GC-d-v ,.F0XO1GC-b-O .F0XO1GC-d-c .F0XO1GC-=
d-v ,body .F0XO1GC-d-m .F0XO1GC-d-v ,body .F0XO1GC-d-c .F0XO1GC-d-v {top: 4=
px;}
..F0XO1GC-d-v input {border: 0px none; padding: 0px; outline: medium none;}
a.F0XO1GC-d-u {height: 13px; width: 13px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCA=
YAAABy6+R8AAAAN0lEQVR42mN49+7d/6dPnxKNQeoZQAxSAEj9UNJ05swZnBivTfg04HUeLg0E/=
YRNw1AJcnLSHgATt4m3KInFEAAAAABJRU5ErkJggg=3D=3D") no-repeat scroll 0px 0px;=
}
a.F0XO1GC-d-u:hover ,.F0XO1GC-d-a a.F0XO1GC-d-u {height: 13px; width: 13px;=
overflow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png;base64,=
iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOklEQVR42mO4fv36/2PHjhGNQeo=
ZQIx3794RjUHqh5KmyMhInBivTfg04HUeLg0E/YRNw1AJcnLSHgBW6U4stsXoZgAAAABJRU5Erk=
Jggg=3D=3D") no-repeat scroll 0px 0px;}
a.F0XO1GC-d-u {display: inline-block; padding: 0px !important;}
..F0XO1GC-d-E {font-weight: bold;}
..F0XO1GC-d-r {padding: 4px 8px;}
..F0XO1GC-d-r div {background-color: rgb(249, 237, 190); border: 2px solid r=
gb(249, 237, 190); color: rgb(34, 34, 34); padding: 4px; line-height: 16px;=
border-radius: 6px; text-align: center;}
div.dragdrop-dropTarget-engage .F0XO1GC-d-g {border: 1px solid red;}
..dragdrop-flow-panel-positioner {display: block; height: 2px; background-co=
lor: rgb(34, 34, 34); vertical-align: baseline !important;}
..F0XO1GC-d-f {position: relative; outline-style: none;}
..dragdrop-dropTarget-engage > .F0XO1GC-d-f a {background-color: rgb(136, 13=
6, 136);}
..F0XO1GC-d-s div.dragdrop-dropTarget-engage {border: 2px solid rgb(34, 34, =
34);}
..F0XO1GC-d-l {outline-style: none; margin-bottom: 9px;}
..F0XO1GC-d-h {font-size: 11px; color: rgb(68, 68, 68); text-align: center; =
padding: 16px 0px 20px 16px;}
..F0XO1GC-d-h a {white-space: nowrap;}
..F0XO1GC-d-h a:visited {color: rgb(17, 85, 204);}
..F0XO1GC-d-F {background-color: rgb(250, 250, 210) !important;}
..F0XO1GC-d-k {border-top: 1px solid rgb(235, 235, 235); margin-top: 4px; ma=
rgin-bottom: 10px;}
..F0XO1GC-c-d {color: rgb(184, 184, 184);}
..F0XO1GC-c-a {color: rgb(17, 85, 204); text-decoration: none; cursor: point=
er; white-space: nowrap;}
..F0XO1GC-c-b ,.F0XO1GC-c-b:visited ,.F0XO1GC-c-b:focus {color: rgb(184, 184=
, 184); text-decoration: none; cursor: text; outline: medium none;}
..F0XO1GC-A-a {position: relative; top: 3px; height: 15px; width: 15px;}
..F0XO1GC-w-a {width: 100%; margin-right: 0px; height: 8px; position: absolu=
te; top: 0px; left: 0px; opacity: 0; border-top: 1px solid rgb(235, 235, 23=
5);}
..F0XO1GC-m-c {text-align: left; border-bottom: 1px solid rgb(153, 153, 153)=
; font-size: 150%; padding-bottom: 4px;}
..F0XO1GC-m-g .F0XO1GC-m-d {width: 100%;}
..F0XO1GC-m-d th {text-align: left; padding-top: 16px;}
..F0XO1GC-m-d .F0XO1GC-m-a {vertical-align: top;}
..F0XO1GC-m-d .F0XO1GC-m-e {text-align: right; font-weight: bold; white-spac=
e: nowrap; padding-right: 0.3em;}
..F0XO1GC-m-d .F0XO1GC-m-b {font-size: 70%;}
..F0XO1GC-m-d .F0XO1GC-m-f {text-align: left;}
..F0XO1GC-m-g .F0XO1GC-m-a {width: 50%;}
..F0XO1GC-m-g .F0XO1GC-m-e ,.F0XO1GC-m-g th {color: rgb(221, 221, 0);}
..F0XO1GC-m-g .F0XO1GC-m-b ,.F0XO1GC-m-g td {color: rgb(255, 255, 255);}
..F0XO1GC-m-g th {font-weight: bold; padding: 16px 4px 4px;}
..F0XO1GC-m-g td {padding: 4px;}
..F0XO1GC-n-a {cursor: pointer; font-size: 11px; font-weight: bold; text-ali=
gn: center; margin-right: 16px; white-space: nowrap; height: 27px; line-hei=
ght: 27px; min-width: 54px; outline: 0px none; padding: 0px 8px; border-rad=
ius: 2px; display: inline-block;}
..F0XO1GC-c-c .F0XO1GC-n-a {min-width: 26px !important; margin-right: 10px;}
..chrome-theme .F0XO1GC-n-a {border-radius: 3px; font-size: 12px; font-weigh=
t: 700; padding: 0px 17px; text-align: center; text-decoration: none !impor=
tant;}
..F0XO1GC-n-a:hover {border: 1px solid rgb(198, 198, 198); box-shadow: 0px 1=
px 1px rgba(0, 0, 0, 0.1);}
..chrome-theme .F0XO1GC-n-a:hover {box-shadow: none;}
..F0XO1GC-n-j {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..F0XO1GC-n-a img.F0XO1GC-n-d {vertical-align: middle; margin-top: -2px; opa=
city: 0.667;}
..F0XO1GC-n-j img.F0XO1GC-n-d ,.F0XO1GC-n-c img.F0XO1GC-n-d ,.F0XO1GC-n-a:ho=
ver img.F0XO1GC-n-d {opacity: 1;}
..F0XO1GC-n-h {min-width: 34px; padding: 0px 4px;}
..F0XO1GC-n-b {cursor: default; opacity: 0.5; pointer-events: none;}
..F0XO1GC-n-f {border-right-color: transparent; margin-right: 0px;}
..F0XO1GC-n-g {border-radius: 0px; margin-left: -1px; margin-right: -1px;}
..F0XO1GC-n-i {border-left-color: transparent; margin-left: 0px;}
..F0XO1GC-n-f {border-radius: 2px 0px 0px 2px;}
..F0XO1GC-n-f { }
..F0XO1GC-n-f {border-radius: 2px 0px 0px 2px;}
..F0XO1GC-n-i {border-radius: 0px 2px 2px 0px;}
..F0XO1GC-n-i { }
..F0XO1GC-n-i {border-radius: 0px 2px 2px 0px;}
..F0XO1GC-n-i {margin-left: -1px;}
..chrome-theme .F0XO1GC-n-f {border-radius: 3px 0px 0px 3px;}
..chrome-theme .F0XO1GC-n-f { }
..chrome-theme .F0XO1GC-n-f {border-radius: 3px 0px 0px 3px;}
..chrome-theme .F0XO1GC-n-i {border-radius: 0px 3px 3px 0px;}
..chrome-theme .F0XO1GC-n-i { }
..chrome-theme .F0XO1GC-n-i {border-radius: 0px 3px 3px 0px;}
..chrome-theme .F0XO1GC-n-i {margin-left: -1px;}
..jfk-button-standard {color: rgb(102, 102, 102); border: 1px solid rgba(0, =
0, 0, 0.1); background-color: rgb(245, 245, 245); background-image: -moz-li=
near-gradient(center top , rgb(245, 245, 245), rgb(241, 241, 241));}
..jfk-button-standard:hover {border: 1px solid rgb(198, 198, 198); color: rg=
b(51, 51, 51); background-color: rgb(248, 248, 248); background-image: -moz=
-linear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, 241));}
..jfk-button-standard:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) ins=
et;}
..jfk-button-standard:focus {outline: medium none; border: 1px solid rgb(77,=
144, 254); z-index: 4;}
..chrome-theme .jfk-button-standard:focus {border: 1px solid rgb(170, 170, 1=
70);}
..jfk-button-standard.F0XO1GC-n-j {background-color: rgb(238, 238, 238); bor=
der: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51); background-image=
: -moz-linear-gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224))=
;}
..jfk-button-standard.F0XO1GC-n-b {background: rgb(255, 255, 255) none repea=
t scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(184, 184,=
184);}
..F0XO1GC-k-b {height: 4px; width: 7px; overflow: hidden; background: rgba(0=
, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAA=
ABCxiV9AAAAG0lEQVR42mOIjIz8jwszgABOCRjAKYGsAJkPAKT/IKHcRfUJAAAAAElFTkSuQmCC=
") no-repeat scroll 0px 0px; display: inline-block; margin-left: 7px; margi=
n-bottom: 1px; opacity: 0.8;}
..F0XO1GC-k-c:hover .F0XO1GC-k-b {opacity: 1;}
..F0XO1GC-f-F ,.F0XO1GC-f-x {position: relative;}
..F0XO1GC-f-q {height: 68px; background-color: rgb(245, 245, 245); padding: =
0px 44px; vertical-align: middle; border-top: 1px solid rgb(229, 229, 229);=
border-bottom: 1px solid rgb(229, 229, 229); position: relative;}
..F0XO1GC-b-N .F0XO1GC-f-q {padding: 0px 28px;}
..F0XO1GC-b-O .F0XO1GC-f-q ,body .F0XO1GC-f-q {height: 44px; padding: 0px 16=
px;}
..F0XO1GC-b-dc .F0XO1GC-f-q ,body .F0XO1GC-f-q {padding-right: 30px; padding=
-left: 30px;}
..F0XO1GC-f-p {position: absolute; left: 44px;}
..F0XO1GC-b-N .F0XO1GC-f-p {left: 28px;}
..F0XO1GC-b-O .F0XO1GC-f-p ,body .F0XO1GC-f-p {left: 16px; height: 60px; top=
: -7px;}
..F0XO1GC-b-dc .F0XO1GC-f-p ,body .F0XO1GC-f-p {left: 30px;}
..F0XO1GC-f-D {height: 68px; position: absolute; left: 220px; right: 0px;}
..F0XO1GC-b-N .F0XO1GC-f-D {left: 204px;}
..F0XO1GC-b-O .F0XO1GC-f-D ,body .F0XO1GC-f-D {left: 176px; height: 44px;}
..F0XO1GC-b-dc .F0XO1GC-f-D ,body .F0XO1GC-f-D {left: 204px;}
..F0XO1GC-f-E {padding: 12px 8px;}
..F0XO1GC-f-G ,.F0XO1GC-f-G > * ,body > * {outline: medium none !important;}
..F0XO1GC-f-v {width: 198px; position: absolute; left: 0px;}
..F0XO1GC-f-l {margin-left: 220px;}
..F0XO1GC-f-l:focus {outline: medium none;}
..F0XO1GC-f-f {position: absolute; top: 7px; left: 244px; cursor: pointer; z=
-index: 2;}
..F0XO1GC-f-j .F0XO1GC-f-v {display: none;}
..F0XO1GC-f-j .F0XO1GC-f-e {margin-left: 24px !important;}
..F0XO1GC-f-j .F0XO1GC-f-d {margin-left: 220px !important;}
..F0XO1GC-f-j .F0XO1GC-f-f {left: 0px;}
..F0XO1GC-f-o .F0XO1GC-f-q ,.F0XO1GC-f-o .F0XO1GC-f-v ,.F0XO1GC-f-o .F0XO1GC=
-b-p {display: none;}
..F0XO1GC-f-o .F0XO1GC-f-l {margin-left: 24px !important;}
..F0XO1GC-f-o .F0XO1GC-b-o ,.F0XO1GC-f-o .F0XO1GC-b-G {padding-right: 8px;}
..F0XO1GC-f-o .F0XO1GC-f-x {position: relative;}
..F0XO1GC-f-o .F0XO1GC-f-x .F0XO1GC-f-l {margin-left: 0px !important; positi=
on: absolute; top: 0px; bottom: 0px; right: 0px; left: 24px !important;}
..F0XO1GC-f-o .F0XO1GC-b-D {position: relative;}
..F0XO1GC-f-o .F0XO1GC-f-n {display: none !important;}
#gb.F0XO1GC-f-o ,#gba.F0XO1GC-f-o {display: none;}
..F0XO1GC-f-y {padding: 5px;}
..F0XO1GC-f-z {outline: medium none; border: medium none;}
..F0XO1GC-f-z img {outline: medium none; border: medium none; margin-top: 8p=
x;}
..F0XO1GC-f-A {position: absolute; width: 8px; top: 0px; bottom: 0px; right:=
-20px; cursor: col-resize;}
..F0XO1GC-f-A .F0XO1GC-f-C {display: block; position: absolute; left: 5px; t=
op: 0px; bottom: 0px; border-left: 1px solid rgb(235, 235, 235);}
..F0XO1GC-f-B .F0XO1GC-f-C {border-left: 1px solid rgb(235, 235, 235);}
..F0XO1GC-f-A .F0XO1GC-f-i {visibility: visible !important;}
..F0XO1GC-b-w {top: -15px;}
..F0XO1GC-f-q .F0XO1GC-b-w {top: 54px;}
html ,body ,#gb ,#gbx1 {min-width: 700px;}
html {overflow-x: auto; overflow-y: hidden;}
body {overflow: visible;}
..F0XO1GC-f-b {overflow: hidden; min-height: 30px;}
..F0XO1GC-f-w {position: absolute; right: 0px; top: 0px; padding-left: 16px;=
}
..F0XO1GC-f-w > div > div {display: inline-block; margin-right: 0px; margin-=
left: 16px;}
..F0XO1GC-c-c .F0XO1GC-f-w > div > div {margin-left: 10px; margin-right: 0px=
;}
..F0XO1GC-f-w > div > div:first-child {margin-left: 0px;}
..F0XO1GC-f-g {transform: rotate(180deg); vertical-align: middle;}
..F0XO1GC-f-m {transform: rotate(0deg); vertical-align: middle;}
..F0XO1GC-f-h {border: 1px solid rgb(235, 235, 235); padding: 4px; cursor: p=
ointer !important;}
..F0XO1GC-b-O .F0XO1GC-f-h ,body .F0XO1GC-f-h {padding: 3px 3px 4px;}
..F0XO1GC-f-h:hover {background-color: rgb(238, 238, 238);}
..F0XO1GC-f-i:hover {visibility: visible;}
..F0XO1GC-f-i {visibility: hidden; position: absolute; right: 2px; top: 0px;=
bottom: 0px; padding: 8px 0px 8px 8px;}
..F0XO1GC-f-n {display: none; position: absolute; padding: 8px 0px;}
..F0XO1GC-f-j .F0XO1GC-f-n {display: block;}
..F0XO1GC-b-N .F0XO1GC-f-i {padding: 7px 0px 7px 7px;}
..F0XO1GC-b-O .F0XO1GC-f-i ,body .F0XO1GC-f-i {padding: 6px 0px 6px 6px;}
..F0XO1GC-b-N .F0XO1GC-f-n {padding: 7px 0px;}
..F0XO1GC-b-O .F0XO1GC-f-n ,body .F0XO1GC-f-n {padding: 6px 0px;}
..F0XO1GC-r-d {padding-right: 144px; white-space: nowrap;}
..F0XO1GC-r-e {margin: 19px 16px 0px 0px; white-space: nowrap; min-width: 38=
4px; max-width: 512px; width: 100%; display: inline-block; position: relati=
ve; height: 29px; line-height: 27px; vertical-align: top;}
..F0XO1GC-b-O .F0XO1GC-r-e ,body .F0XO1GC-r-e {margin-top: 7px;}
..F0XO1GC-r-e input[type=3D"text"] {position: absolute; left: 0px; right: 0p=
x; width: 100%;}
..F0XO1GC-r-b {max-height: 250px; overflow-y: auto; overflow-x: hidden; whit=
e-space: nowrap;}
..F0XO1GC-r-b .F0XO1GC-r-c {padding-left: 20px;}
..suggestPopupContent {cursor: pointer;}
..suggestPopupContent .F0XO1GC-r-g {margin-left: 5px; color: rgb(0, 0, 0);}
..F0XO1GC-r-i {position: relative;}
..F0XO1GC-r-h {position: relative; float: left; margin: 8px 6px 0px 0px;}
..F0XO1GC-r-f {margin-top: 19px; vertical-align: top;}
..F0XO1GC-b-O .F0XO1GC-r-f ,body .F0XO1GC-r-f {margin-top: 7px;}
..F0XO1GC-r-f img {opacity: 1 !important;}
..F0XO1GC-r-a {cursor: pointer; position: absolute; right: 2px; text-align: =
center;}
..F0XO1GC-r-a img {opacity: 0.667; margin: 0px 6px 2px;}
..F0XO1GC-r-a:hover img {opacity: 1;}
..F0XO1GC-j-t {background-color: white; border: medium none; outline: medium=
none; padding: 0px;}
..F0XO1GC-j-m {font-size: 16px; line-height: 24px; color: rgb(34, 34, 34); f=
ont-weight: normal; margin-bottom: 8px;}
..F0XO1GC-b-wb .F0XO1GC-j-m ,.F0XO1GC-j-t .F0XO1GC-j-m ,.F0XO1GC-b-O .F0XO1G=
C-b-wb .F0XO1GC-j-m ,.F0XO1GC-b-N .F0XO1GC-b-wb .F0XO1GC-j-m ,.F0XO1GC-b-M =
..F0XO1GC-b-wb .F0XO1GC-j-m ,body .F0XO1GC-b-wb .F0XO1GC-j-m {background-col=
or: rgb(66, 133, 244); color: rgb(255, 255, 255); height: 36px; padding: 0p=
x; margin: 0px;}
..F0XO1GC-b-O .F0XO1GC-j-m ,body .F0XO1GC-j-m {padding: 20px 16px 0px;}
..F0XO1GC-j-e {overflow-y: auto; overflow-x: hidden; position: relative; max=
-width: 600px; min-width: 250px; font-size: 13px; line-height: 17px;}
..F0XO1GC-b-O .F0XO1GC-b-wb .F0XO1GC-j-f ,.F0XO1GC-b-N .F0XO1GC-b-wb .F0XO1G=
C-j-f ,.F0XO1GC-b-M .F0XO1GC-b-wb .F0XO1GC-j-f ,.F0XO1GC-b-wb .F0XO1GC-j-f =
,body .F0XO1GC-b-wb .F0XO1GC-j-f {margin: 0px;}
..F0XO1GC-j-f {margin: 24px;}
..F0XO1GC-b-O .F0XO1GC-j-f ,body .F0XO1GC-j-f {margin: 12px;}
..F0XO1GC-j-f .F0XO1GC-j-q {font-weight: bold;}
..F0XO1GC-j-f .F0XO1GC-j-n {color: rgb(102, 102, 102); margin-bottom: 12px; =
margin-left: 22px;}
..F0XO1GC-j-f .F0XO1GC-j-o {margin-top: 12px;}
..F0XO1GC-j-r {height: 24px; width: 24px;}
..F0XO1GC-j-j ,.F0XO1GC-j-h {display: table-cell;}
..F0XO1GC-j-i {margin: 24px;}
..F0XO1GC-j-g {margin-top: 24px; text-align: left;}
..F0XO1GC-j-h > .F0XO1GC-j-g {margin: 48px 24px 24px;}
..F0XO1GC-j-y.F0XO1GC-j-w .F0XO1GC-j-g {margin-top: 24px;}
..F0XO1GC-j-x .F0XO1GC-j-f {margin-top: 0px;}
..F0XO1GC-j-w .F0XO1GC-j-f {margin-bottom: 0px;}
..F0XO1GC-j-p .F0XO1GC-j-e {overflow: visible; max-width: none; padding: 0px=
;}
..F0XO1GC-j-u .F0XO1GC-j-c {display: none;}
..F0XO1GC-j-c {cursor: pointer; right: 10px; position: absolute; top: 6px;}
..F0XO1GC-b-wb .F0XO1GC-j-c ,.F0XO1GC-j-s .F0XO1GC-j-c {line-height: 36px; t=
op: 8px; vertical-align: text-bottom;}
..F0XO1GC-j-c img:hover {background-color: rgb(123, 170, 247);}
..F0XO1GC-j-s {background-color: rgb(66, 133, 244); bottom: 0px; height: 36p=
x; position: fixed; right: 25px; width: 260px; z-index: 1;}
..F0XO1GC-j-t .F0XO1GC-j-l ,.F0XO1GC-b-wb .F0XO1GC-j-l ,.F0XO1GC-j-s .F0XO1G=
C-j-l {color: rgb(255, 255, 255); font-family: "Roboto",Arial,sans-serif; f=
ont-size: 16px; font-weight: normal; line-height: 36px; padding-left: 15px;=
text-align: left;}
..F0XO1GC-b-i .F0XO1GC-j-c {top: 5px; right: 5px;}
..F0XO1GC-b-i .F0XO1GC-j-c img {display: block;}
..F0XO1GC-j-f .F0XO1GC-k-c ,.F0XO1GC-j-f .F0XO1GC-k-c:focus {background-imag=
e: none; background-repeat: repeat; background-attachment: scroll; backgrou=
nd-clip: border-box; background-origin: padding-box; background-position: 0=
% 0%; background-size: auto auto; background-color: inherit; border: 1px so=
lid rgba(0, 0, 0, 0); box-shadow: none; color: inherit; font-size: 13px; pa=
dding: 0px 3px; opacity: 0.6;}
..F0XO1GC-j-f .F0XO1GC-k-c:hover {background-color: lightgray;}
..F0XO1GC-v-a {height: 21px; width: 21px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAY=
AAACpF6WWAAAAjElEQVR42mNgGAWDFUgCMTs1DTQH4klA7EwtA+2BeAkQR1HLwEAgngnEZUDMRK=
lhrECcDjUwhxqu4wbiSqiBpVALSAJTgNgfiFmgfDEgboYaWAfEnOS4yhFqQBUQWwBxH5QPMpiXE=
u+mQg2C4U4gFqI0DEFebIIa2APE0tRKOrJQAxWonQ05R0uiYQgAWowSH34q/8EAAAAASUVORK5C=
YII=3D") no-repeat scroll 0px 0px; position: absolute; left: 3px;}
..gux-combo-item.F0XO1GC-v-b {padding-left: 28px;}
..goog-button-base {cursor: default; font: 0.846em/1 Arial,sans-serif; lette=
r-spacing: normal; margin: 0px 1px; outline: medium none; text-align: cente=
r; text-indent: 0px; text-transform: none; vertical-align: baseline; white-=
space: nowrap; word-spacing: normal;}
..goog-button-base-outer-box {border-top: 1px solid rgb(187, 187, 187); bord=
er-bottom: 1px solid rgb(170, 170, 170);}
..goog-button-base-inner-box {background: rgb(227, 227, 227) none repeat scr=
oll 0% 0%; border-left: 1px solid rgb(187, 187, 187); border-right: 1px sol=
id rgb(170, 170, 170); margin: 0px -1px;}
..goog-button-base-pos {height: 100%; position: relative;}
..goog-button-base-top-shadow {background: rgb(249, 249, 249) none repeat sc=
roll 0% 0%; border-bottom: 0.23em solid rgb(238, 238, 238); height: 0.692em=
; left: 0px; overflow: hidden; position: absolute; right: 0px; top: 0px;}
..goog-button-base-content {color: rgb(51, 51, 51); line-height: 1.7em; posi=
tion: relative; padding: 0px 0.545em; text-align: center;}
..goog-button-base-hover .goog-button-base-content ,.goog-button-base-focuse=
d .goog-button-base-content {color: rgb(0, 0, 0);}
..goog-button-base-hover .goog-button-base-outer-box ,.goog-button-base-hove=
r .goog-button-base-inner-box ,.goog-button-base-focused .goog-button-base-=
outer-box ,.goog-button-base-focused .goog-button-base-inner-box {border-co=
lor: rgb(136, 136, 136);}
..goog-button-base-active .goog-button-base-inner-box ,.goog-button-base-ope=
n .goog-button-base-inner-box {background: rgb(249, 249, 249) none repeat s=
croll 0% 0%;}
..goog-button-base-active .goog-button-base-top-shadow ,.goog-button-base-op=
en .goog-button-base-top-shadow {background: rgb(227, 227, 227) none repeat=
scroll 0% 0%;}
..goog-button-base-active .goog-button-base-content ,.goog-button-base-open =
..goog-button-base-content {color: rgb(0, 0, 0);}
..goog-button-base-primary .goog-button-base-content {font-weight: bold; col=
or: rgb(0, 0, 0);}
..goog-button-base-disabled {cursor: default;}
..goog-button-base-disabled .goog-button-base-inner-box {background: rgb(238=
, 238, 238) none repeat scroll 0% 0%;}
..goog-button-base-disabled .goog-button-base-top-shadow {background: rgb(23=
8, 238, 238) none repeat scroll 0% 0%; border-color: rgb(238, 238, 238);}
..goog-button-base-disabled .goog-button-base-content {color: rgb(153, 153, =
153);}
..goog-button-base-collapse-right ,.goog-button-base-collapse-right .goog-bu=
tton-base-inner-box {margin-right: 0px;}
..goog-button-base-collapse-left {margin-left: 0px;}
..goog-button-base-collapse-left .goog-button-base-inner-box {margin-left: 0=
px; border-left: 1px solid rgb(255, 255, 255);}
..goog-button-base-hover.goog-button-base-collapse-left ,.goog-button-base-f=
ocused.goog-button-base-collapse-left {border-left: 1px solid rgb(136, 136,=
136); margin-left: -1px; z-index: 1;}
..goog-button-base-selected .goog-button-base-outer-box ,.goog-button-base-s=
elected .goog-button-base-inner-box {background-color: rgb(119, 119, 119); =
border-color: rgb(136, 136, 136);}
..goog-button-base-selected .goog-button-base-top-shadow {border-bottom-colo=
r: rgb(136, 136, 136); background-color: rgb(153, 153, 153);}
..goog-button-base-selected .goog-button-base-content {color: rgb(238, 238, =
238);}
..goog-button-base-collapse-left.goog-button-base-selected .goog-button-base=
-inner-box {border-left: 1px solid rgb(85, 85, 85);}
..F0XO1GC-q-e {background-color: rgb(42, 42, 42); border: 1px solid rgb(255,=
255, 255); color: rgb(255, 255, 255); display: block; position: absolute; =
padding: 5px 7px; z-index: 10; white-space: nowrap;}
..F0XO1GC-q-g {z-index: 1021;}
..F0XO1GC-q-e strong {color: rgb(255, 255, 255);}
..F0XO1GC-q-e::before ,.F0XO1GC-q-e::after {border-style: solid; content: ""=
; display: block; height: 0px; position: absolute; width: 0px;}
..F0XO1GC-q-e.F0XO1GC-q-f::before ,.F0XO1GC-q-e.F0XO1GC-q-h::before ,.F0XO1G=
C-q-e.F0XO1GC-q-i::before ,.F0XO1GC-q-e.F0XO1GC-q-d::before {bottom: auto; =
margin-top: -7px; top: 50%;}
..F0XO1GC-q-e.F0XO1GC-q-f::after ,.F0XO1GC-q-e.F0XO1GC-q-h::after ,.F0XO1GC-=
q-e.F0XO1GC-q-i::after ,.F0XO1GC-q-e.F0XO1GC-q-d::after {bottom: auto; marg=
in-top: -6px; top: 50%;}
..F0XO1GC-q-e.F0XO1GC-q-l::before ,.F0XO1GC-q-e.F0XO1GC-q-c::before ,.F0XO1G=
C-q-e.F0XO1GC-q-l::after ,.F0XO1GC-q-e.F0XO1GC-q-c::after {left: 80% !impor=
tant;}
..F0XO1GC-q-e.F0XO1GC-q-k::before ,.F0XO1GC-q-e.F0XO1GC-q-b::before ,.F0XO1G=
C-q-e.F0XO1GC-q-k::after ,.F0XO1GC-q-e.F0XO1GC-q-b::after {left: 20% !impor=
tant;}
..F0XO1GC-q-e.F0XO1GC-q-j::before ,.F0XO1GC-q-e.F0XO1GC-q-a::before {left: 5=
0%; margin-left: -7px; right: auto;}
..F0XO1GC-q-e.F0XO1GC-q-j::after ,.F0XO1GC-q-e.F0XO1GC-q-a::after {left: 50%=
; margin-left: -6px; right: auto;}
..F0XO1GC-q-e.F0XO1GC-q-j::before {border-color: rgb(255, 255, 255) transpar=
ent; border-width: 8px 7px 0px; bottom: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-j::after {border-color: rgb(42, 42, 42) transparent;=
border-width: 7px 6px 0px; bottom: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-a::before {border-color: rgb(255, 255, 255) transpar=
ent; border-width: 0px 7px 8px; top: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-a::after {border-color: rgb(42, 42, 42) transparent;=
border-width: 0px 6px 7px; top: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-f::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 0px 7px 8px; right: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-f::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 0px 6px 7px; right: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-h::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 8px 7px 0px; left: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-h::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 7px 6px 0px; left: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-i::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 0px 7px 8px; right: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-i::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 0px 6px 7px; right: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-d::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 8px 7px 0px; left: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-d::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 7px 6px 0px; left: -7px;}
..F0XO1GC-nc-b {color: rgb(119, 119, 119); text-align: center; padding: 4px;=
}
..F0XO1GC-nc-a {color: rgb(5, 71, 192);}
..F0XO1GC-jb-c {display: inline; white-space: nowrap; padding: 0px 2px;}
..F0XO1GC-jb-a {color: rgb(238, 68, 68); font-size: 13px;}
..F0XO1GC-jb-b {font-size: 13px;}
..gux-confirm-panel-r1 {background-color: rgb(255, 238, 136); border-left: 1=
px solid rgb(255, 253, 240); border-right: 1px solid rgb(255, 253, 240); ma=
rgin: 0px 1px; padding-top: 1px;}
..gux-confirm-panel-r2 {background-color: rgb(255, 238, 136); border-left: 1=
px solid rgb(255, 253, 240); border-right: 1px solid rgb(255, 253, 240); pa=
dding-top: 1px;}
..gux-confirm-panel-c {background-color: rgb(255, 238, 136); padding: 2px 15=
px;}
..gux-confirm-panel-message {color: rgb(0, 0, 0); font-weight: bold;}
..F0XO1GC-mb-k {height: 5px; width: 100%; background-color: rgb(187, 204, 25=
5);}
..F0XO1GC-mb-q {overflow: hidden;}
..F0XO1GC-mb-J {padding: 5px; overflow: hidden;}
..F0XO1GC-mb-x {border-bottom: 1px solid rgb(235, 235, 235); padding-top: 8p=
x; padding-bottom: 8px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-y ,body .F0XO1GC-mb-y {padding-right: 20px;}
..F0XO1GC-mb-z {float: right;}
..F0XO1GC-mb-Z {display: inline;}
..F0XO1GC-mb-u {white-space: nowrap; font-weight: normal; float: right; font=
-size: 13px; color: rgb(102, 102, 102);}
..F0XO1GC-mb-v ,.F0XO1GC-mb-v:hover ,.F0XO1GC-mb-v:visited {text-decoration:=
none; color: rgb(136, 136, 136); cursor: default;}
..chrome-theme .F0XO1GC-mb-u {display: none;}
..F0XO1GC-mb-M {margin-right: 16px;}
..F0XO1GC-mb-cb {font-weight: bold;}
..F0XO1GC-nb-W.F0XO1GC-mb-o {border-top: 1px solid rgb(221, 221, 221);}
..F0XO1GC-nb-W.F0XO1GC-mb-l {border-bottom: 1px solid rgb(221, 221, 221);}
..F0XO1GC-mb-N ,.F0XO1GC-mb-P {padding-bottom: 5px; min-width: 100%;}
..F0XO1GC-mb-K {padding: 5px;}
..F0XO1GC-mb-Y {font-size: 18px;}
..F0XO1GC-mb-bb {font-size: 18px; background-color: rgb(235, 238, 248);}
..F0XO1GC-mb-V {white-space: nowrap;}
..F0XO1GC-mb-ab .F0XO1GC-mb-V ,body .F0XO1GC-mb-V {display: inline-block; ve=
rtical-align: baseline; margin-top: 4px;}
..F0XO1GC-mb-n {color: rgb(34, 34, 34); font-weight: normal;}
..F0XO1GC-mb-fb {vertical-align: middle; margin-right: 1.5em;}
..F0XO1GC-mb-eb {color: black; text-decoration: none; cursor: default; font-=
weight: bold;}
..F0XO1GC-mb-gb {color: rgb(34, 0, 204); cursor: pointer; font-weight: bold;=
}
..F0XO1GC-mb-db {color: rgb(34, 0, 204); cursor: pointer; white-space: nowra=
p; display: inline-block; vertical-align: bottom;}
..F0XO1GC-mb-ab .F0XO1GC-mb-db ,body .F0XO1GC-mb-db {position: relative; top=
: 1px;}
..F0XO1GC-mb-db span {margin-right: 2px;}
..F0XO1GC-mb-db img {opacity: 0.667;}
..F0XO1GC-mb-db img:hover {opacity: 1;}
..F0XO1GC-mb-A ,.F0XO1GC-mb-E {position: relative;}
..F0XO1GC-mb-E > .F0XO1GC-nb-W {margin-top: 20px;}
..F0XO1GC-mb-E > .F0XO1GC-nb-v {margin-top: 2px;}
..F0XO1GC-mb-C {padding-left: 20px; padding-top: 0px; margin-top: 2px;}
..F0XO1GC-mb-B {position: absolute; top: 1px; left: 10px; cursor: pointer;}
..F0XO1GC-mb-W {display: inline-block; position: relative;}
..F0XO1GC-mb-W .gwt-TabBarItem {cursor: pointer; font-weight: normal; positi=
on: relative; top: 1px; padding: 5px 10px; margin: 0px 3px; outline: medium=
none; background-color: rgb(245, 245, 245); border: 1px solid rgb(245, 245=
, 245);}
..F0XO1GC-mb-W .gwt-TabBarItem-selected {color: rgb(0, 0, 0); text-decoratio=
n: none; cursor: default; font-weight: bold; background-color: rgb(255, 255=
, 255); border-width: 1px; border-style: solid; border-color: rgb(235, 235,=
235) rgb(235, 235, 235) rgb(255, 255, 255); -moz-border-top-colors: none; =
-moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-borde=
r-left-colors: none; border-image: none;}
..F0XO1GC-mb-I {width: 100%;}
..F0XO1GC-mb-Q {margin: 16px 0px; border-bottom: 1px solid rgb(235, 235, 235=
);}
..F0XO1GC-mb-L {margin: 0px 3px; vertical-align: middle;}
..F0XO1GC-mb-S {padding: 5px;}
..F0XO1GC-mb-R {padding-bottom: 10px;}
..F0XO1GC-mb-U {font-size: 14px; font-weight: bold;}
..F0XO1GC-mb-T {font-weight: bold;}
..F0XO1GC-mb-a {position: relative; border: 1px solid rgb(235, 235, 235); di=
splay: inline-block; margin: 5px; padding: 5px 0px 0px 5px;}
..F0XO1GC-mb-b {position: absolute; color: rgb(102, 102, 102); left: 5px; bo=
ttom: 5px;}
..F0XO1GC-mb-r {margin-left: 10px;}
..F0XO1GC-mb-j {font-weight: bold; text-decoration: underline; cursor: point=
er;}
..F0XO1GC-mb-i {margin: 0px 5px; position: relative; border: 2px solid rgb(2=
04, 204, 204); padding: 2px 2px 2px 8px; line-height: 1.5em; background-col=
or: rgb(255, 255, 255);}
..F0XO1GC-mb-H {margin-left: 18px; position: relative;}
..F0XO1GC-mb-G {position: relative;}
..F0XO1GC-mb-F {position: absolute; top: 0px; left: 0px; cursor: pointer;}
..F0XO1GC-mb-p {padding: 8px 16px; color: rgb(34, 0, 204); background-color:=
rgb(255, 238, 136); border: 1px solid rgb(188, 188, 188); position: absolu=
te; bottom: 4px; right: 4px;}
..F0XO1GC-mb-p .F0XO1GC-mb-h {margin-left: 4px; color: rgb(128, 128, 128); c=
ursor: pointer; text-decoration: underline;}
..F0XO1GC-mb-O ,.F0XO1GC-mb-d {border-top: 1px solid rgb(221, 221, 221); pad=
ding: 4px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-O ,body .F0XO1GC-mb-O {border: 0px none; padding=
: 4px 8px; background-color: rgb(77, 144, 254); border-radius: 10px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-O.F0XO1GC-mb-d ,body .F0XO1GC-mb-O.F0XO1GC-mb-d =
{border-bottom: 0px none; padding: 4px 8px; background-color: rgb(61, 148, =
0); color: white; border-radius: 10px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-O span ,.F0XO1GC-mb-ab .F0XO1GC-mb-d span ,body =
..F0XO1GC-mb-O span ,body .F0XO1GC-mb-d span {font-size: 16px; font-weight: =
normal;}
..F0XO1GC-mb-O span ,.F0XO1GC-mb-d span {font-weight: bold;}
..F0XO1GC-mb-O span {color: rgb(102, 102, 102);}
..F0XO1GC-mb-d span {color: rgb(75, 195, 87);}
..F0XO1GC-mb-ab .F0XO1GC-mb-O span ,.F0XO1GC-mb-ab .F0XO1GC-mb-d span ,body =
..F0XO1GC-mb-O span ,body .F0XO1GC-mb-d span {color: white;}
..F0XO1GC-mb-g ,.F0XO1GC-mb-t ,.F0XO1GC-mb-e {display: inline-block;}
..F0XO1GC-mb-t {vertical-align: top; overflow: hidden; padding-left: 8px !im=
portant;}
..F0XO1GC-mb-ab .F0XO1GC-mb-t ,body .F0XO1GC-mb-t {position: relative; top: =
1px;}
..F0XO1GC-mb-s {text-align: right; padding-bottom: 10px;}
..F0XO1GC-mb-c {text-align: center;}
..F0XO1GC-mb-w img {height: 20px;}
..F0XO1GC-kb-c {display: inline; white-space: nowrap; padding: 0px 2px;}
..F0XO1GC-kb-b {color: rgb(238, 68, 68); font-size: 13px;}
..F0XO1GC-kb-a {font-size: 13px;}
..F0XO1GC-x-a .F0XO1GC-x-d {float: left;}
..F0XO1GC-x-a .F0XO1GC-x-e {float: right;}
..F0XO1GC-x-a .F0XO1GC-x-e td:last-child div {margin-right: 0px;}
..F0XO1GC-x-b {line-height: 24px; margin-bottom: 14px;}
..F0XO1GC-b-O .F0XO1GC-x-b ,body .F0XO1GC-x-b {line-height: 17px; margin-bot=
tom: 8px;}
..F0XO1GC-lb-a {color: rgb(102, 102, 102);}
..F0XO1GC-lb-e {border-radius: 2px; height: 22px;}
..F0XO1GC-lb-e > span {position: relative; top: -2px;}
..F0XO1GC-lb-d {z-index: 1021; padding: 10px; display: block; box-shadow: 0p=
x 2px 4px rgba(0, 0, 0, 0.2); outline: medium none; border: 1px solid rgb(2=
04, 204, 204);}
..F0XO1GC-lb-b {text-align: center; margin-bottom: 15px;}
..F0XO1GC-lb-c div {display: inline-block;}
..F0XO1GC-lb-c * {padding-left: 5px; padding-right: 5px;}
..gux-menu-button {background: rgba(0, 0, 0, 0) url("data:image/png;base64,i=
VBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ=
bWFnZVJlYWR5ccllPAAAAwBQTFRFZmZm////AgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCws=
LDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh=
4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwM=
TExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0ND=
RERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZ=
WV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaW=
lpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5enp6e3t7f=
Hx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIyMjY2Njo6O=
j4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5+foKCgoaG=
hoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxsrKys7OztL=
S0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTExcXFxsbGx=
8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19fX2NjY2dnZ=
2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6urq6+vr7Oz=
s7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/f39/v7+//=
//AADF2QAAAAJ0Uk5T/wDltzBKAAAAH0lEQVR42mJghAAGGJ0GAQyMYAokDqLA8mlI6gACDAC8p=
AaCn/ezogAAAABJRU5ErkJggg=3D=3D") no-repeat scroll right 50%; padding-right=
: 12px; text-align: left;}
..gux-menu-button-disabled {background: rgba(0, 0, 0, 0) url("data:image/png=
;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAAGXRFWHRTb2Z0d2FyZQB=
BZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRFmZmZ////AgICAwMDBAQEBQUFBgYGBwcHCAgICQ=
kJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbH=
BwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4u=
Ly8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUF=
BQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVF=
RUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ=
2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5=
enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIy=
MjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5=
+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxs=
rKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTE=
xcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19f=
X2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6u=
rq6+vr7Ozs7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/=
f39/v7+////uBOGsAAAAAJ0Uk5T/wDltzBKAAAAH0lEQVR42mJghAAGGD0TAhgYwRRIHESB5Wci=
qQMIMAAZIwmyA+lVoQAAAABJRU5ErkJggg=3D=3D") no-repeat scroll right 50%; padd=
ing-right: 12px;}
..gux-menu-button-selected {background: rgba(0, 0, 0, 0) url("data:image/png=
;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAAGXRFWHRTb2Z0d2FyZQB=
BZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRFZmZm////AgICAwMDBAQEBQUFBgYGBwcHCAgICQ=
kJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbH=
BwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4u=
Ly8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUF=
BQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVF=
RUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ=
2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5=
enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIy=
MjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5=
+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxs=
rKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTE=
xcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19f=
X2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6u=
rq6+vr7Ozs7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/=
f39/v7+////AADF2QAAAAJ0Uk5T/wDltzBKAAAAH0lEQVR42mJghAAGGP0fAhgYwRRIHESB5f8j=
qQMIMADSAxASsJSVyQAAAABJRU5ErkJggg=3D=3D") no-repeat scroll right 50%; padd=
ing-right: 12px;}
..goog-inline-block {position: relative; display: inline-block;}
..F0XO1GC-G-a {border: 1px solid transparent; color: rgb(255, 255, 255); bac=
kground-color: rgb(209, 72, 54); background-image: -moz-linear-gradient(cen=
ter top , rgb(221, 75, 57), rgb(209, 72, 54)); text-shadow: 0px 1px rgba(0,=
0, 0, 0.1); text-transform: uppercase;}
..chrome-theme .F0XO1GC-G-a {background-color: rgb(3, 112, 234); background-=
image: -webkit-linear-gradient(top, rgb(0, 141, 253) 0%, rgb(3, 112, 234) 1=
00%); border: 1px solid rgb(7, 107, 210); text-shadow: 1px 1px 1px rgb(7, 1=
07, 210); text-transform: none;}
..F0XO1GC-G-a:hover {border-width: 1px; border-style: solid; border-color: r=
gb(176, 40, 26) rgb(176, 40, 26) rgb(175, 48, 31); -moz-border-top-colors: =
none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz=
-border-left-colors: none; border-image: none; background-color: rgb(197, 5=
5, 39); background-image: -moz-linear-gradient(center top , rgb(221, 75, 57=
), rgb(197, 55, 39)); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);}
..F0XO1GC-G-a:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) inset; o=
utline: 0px none rgba(0, 0, 0, 0);}
..chrome-theme .F0XO1GC-G-a:focus {box-shadow: none; outline: medium none !i=
mportant; border: 1px solid rgb(6, 73, 144);}
..F0XO1GC-G-a:active {background-color: rgb(176, 40, 26); border: 1px solid =
rgb(153, 42, 27); background-image: -moz-linear-gradient(center top , rgb(2=
21, 75, 57), rgb(176, 40, 26)); box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) =
inset;}
..chrome-theme .F0XO1GC-G-a:hover ,.chrome-theme .F0XO1GC-G-a:active {backgr=
ound-color: rgb(3, 112, 234); border: 1px solid rgb(7, 107, 210); backgroun=
d-image: -webkit-linear-gradient(top, rgb(0, 141, 253) 30%, rgb(3, 112, 234=
) 100%);}
..F0XO1GC-G-a.F0XO1GC-n-b {background: rgb(209, 72, 54) none repeat scroll 0=
% 0%;}
..F0XO1GC-nb-W {position: relative; border-top: 1px solid transparent; borde=
r-bottom: 1px solid transparent; border-left: 1px solid transparent; margin=
-right: 0px; padding-right: 0px;}
..F0XO1GC-nb-F {margin-right: 0px;}
..F0XO1GC-nb-X {border-left: 1px solid rgb(77, 144, 240);}
..F0XO1GC-nb-X:focus {outline: medium none;}
..F0XO1GC-nb-Y {padding: 4px 0px;}
..F0XO1GC-nb-V {padding-top: 4px; padding-bottom: 4px; background-position: =
0px 9px;}
..F0XO1GC-b-Nb .F0XO1GC-nb-Y ,.F0XO1GC-b-Nb .F0XO1GC-nb-V {background-color:=
rgb(255, 255, 255);}
..F0XO1GC-nb-O {width: 100%;}
..F0XO1GC-nb-P {color: rgb(34, 34, 34); line-height: normal;}
..F0XO1GC-nb-P p {line-height: normal; margin: 1em 0px;}
..F0XO1GC-nb-p {width: 34px; padding: 5px;}
..F0XO1GC-nb-kb {border-bottom: 1px solid rgb(221, 221, 221); margin-bottom:=
8px;}
..F0XO1GC-nb-lb {margin-bottom: 8px;}
..F0XO1GC-nb-v {margin-top: 0px;}
..F0XO1GC-nb-w {padding: 2px 5px;}
..F0XO1GC-nb-w .F0XO1GC-nb-O {padding-bottom: 1px;}
..F0XO1GC-nb-a {position: relative; padding: 4px 0px;}
..F0XO1GC-nb-b {padding-left: 5px; margin-left: 39px; margin-right: 0px !imp=
ortant;}
..F0XO1GC-nb-c {display: inline-block;}
..F0XO1GC-nb-a .F0XO1GC-nb-jb {margin-right: 1em;}
..F0XO1GC-nb-G {vertical-align: inherit;}
..F0XO1GC-nb-G span {line-height: 27px; vertical-align: inherit;}
..F0XO1GC-nb-G img {top: 0px; vertical-align: top;}
..F0XO1GC-nb-d {float: right; text-align: right; line-height: 27px;}
..F0XO1GC-nb-d a {text-decoration: none; color: rgb(102, 136, 221); cursor: =
pointer; vertical-align: middle;}
..F0XO1GC-nb-U {font-size: 11px; float: right; line-height: 27px;}
..F0XO1GC-nb-O table {width: 100%;}
..F0XO1GC-nb-O td {vertical-align: top;}
..F0XO1GC-nb-Q {white-space: nowrap;}
..F0XO1GC-nb-R {height: 1.5em; cursor: pointer; padding-right: 5px; padding-=
bottom: 5px; padding-left: 5px; white-space: nowrap; overflow: hidden; padd=
ing-top: 6px !important;}
..F0XO1GC-nb-T {text-align: right;}
..F0XO1GC-nb-N {padding: 5px; vertical-align: middle;}
..F0XO1GC-nb-ab {white-space: pre-wrap; margin: 0px;}
..F0XO1GC-nb-H {background-color: rgb(211, 222, 255); padding: 5px;}
..F0XO1GC-nb-H input {width: 100%; display: block; border: 1px solid rgb(102=
, 136, 238); margin: 5px 0px;}
..F0XO1GC-nb-m {color: rgb(51, 51, 51); text-decoration: none; cursor: defau=
lt;}
..F0XO1GC-nb-m img {opacity: 1;}
..F0XO1GC-nb-hb ,.F0XO1GC-nb-D {padding: 4px 5px 3px 0px; white-space: nowra=
p;}
..F0XO1GC-nb-L {display: inline-block; margin-top: 4px;}
..F0XO1GC-nb-ib {display: inline-block;}
..F0XO1GC-nb-I {margin-left: -8px;}
..F0XO1GC-nb-J {margin-right: 0px;}
..F0XO1GC-nb-M {display: inline-block;}
..F0XO1GC-nb-K {margin-left: 13px;}
..F0XO1GC-nb-o {border-top: 1px solid rgb(221, 221, 221); padding: 5px; marg=
in-top: 5px;}
..F0XO1GC-nb-eb {color: rgb(136, 136, 136); height: 1.5em; overflow: hidden;=
line-height: 1.5em;}
..F0XO1GC-nb-w .F0XO1GC-nb-Q {line-height: 1.5em;}
..F0XO1GC-nb-fb {padding: 0px 4px; vertical-align: top;}
..F0XO1GC-nb-w .F0XO1GC-nb-Q {float: right; padding-right: 2px; padding-left=
: 8px;}
..F0XO1GC-nb-w .F0XO1GC-nb-z {float: right;}
..F0XO1GC-nb-w {cursor: pointer;}
..F0XO1GC-nb-v .F0XO1GC-nb-a ,.F0XO1GC-nb-v .F0XO1GC-nb-l {display: none;}
..F0XO1GC-nb-Z .gux-confirm-panel {padding: 4px; text-align: center;}
..F0XO1GC-nb-Z .F0XO1GC-nb-eb {padding: 4px;}
..F0XO1GC-nb-C {padding: 4px; text-align: center; background-color: rgb(239,=
239, 239);}
..F0XO1GC-nb-S {border-bottom: 1px solid rgb(221, 221, 221); margin-bottom: =
8px; padding-bottom: 8px;}
..F0XO1GC-nb-t {font-weight: bold;}
..F0XO1GC-nb-r {width: 15%; font-weight: bold;}
..F0XO1GC-nb-q {width: 85%;}
..F0XO1GC-nb-s {font-size: 12px; white-space: nowrap; text-decoration: under=
line; color: rgb(119, 136, 204); cursor: pointer;}
..F0XO1GC-nb-y {margin-top: 8px; border-top: 1px solid rgb(221, 221, 221);}
..F0XO1GC-nb-n {vertical-align: middle; margin-right: 5px; float: left;}
..F0XO1GC-nb-x .F0XO1GC-nb-gb ,body .F0XO1GC-nb-gb {float: left; margin: 0px=
10px;}
..F0XO1GC-nb-w .F0XO1GC-nb-gb ,.F0XO1GC-nb-x .F0XO1GC-nb-gb ,body .F0XO1GC-n=
b-gb {position: relative; top: -4px;}
..F0XO1GC-nb-e {float: right; white-space: nowrap; margin-top: 5px !importan=
t;}
..F0XO1GC-nb-i {display: inline-block; white-space: nowrap; text-align: cent=
er; height: 27px;}
..F0XO1GC-nb-f {padding: 0px;}
..F0XO1GC-nb-k {min-width: 0px; width: 13px; height: 27px; margin-right: 0px=
;}
..F0XO1GC-nb-k .F0XO1GC-k-b {margin-left: 0px;}
..F0XO1GC-nb-g span {margin-left: 24px; margin-right: 4px;}
..F0XO1GC-nb-g img {position: absolute; top: 4px; left: 12px;}
..F0XO1GC-nb-bb {display: inline-block;}
..chrome-theme .F0XO1GC-nb-P {color: rgb(119, 119, 119);}
..chrome-theme .F0XO1GC-nb-P a ,.chrome-theme .F0XO1GC-nb-P a:visited {color=
: rgb(0, 0, 0) !important; font-weight: 600 !important; text-decoration: no=
ne !important;}
..chrome-theme .F0XO1GC-nb-P a:hover ,.chrome-theme .F0XO1GC-nb-P a:active {=
color: rgb(51, 153, 255) !important;}
..F0XO1GC-nb-A {min-width: 34px;}
..F0XO1GC-nb-E {color: rgb(119, 119, 119);}
..F0XO1GC-nb-E > img {position: relative; top: 2px; padding-right: 4px;}
..F0XO1GC-nb-E > span {padding-right: 4px;}
..F0XO1GC-nb-u {padding-right: 4px; vertical-align: top;}
..F0XO1GC-nb-E .F0XO1GC-nb-u {vertical-align: baseline;}
..F0XO1GC-nb-E .F0XO1GC-D-c {vertical-align: middle !important;}
..F0XO1GC-nb-E .F0XO1GC-D-a {vertical-align: baseline;}
..F0XO1GC-H-d {display: inline-block; height: 13px; padding: 5px; text-align=
: center; width: 13px; cursor: pointer;}
..F0XO1GC-H-d .F0XO1GC-H-c {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/star/star2.png") no-repeat scroll 0% 0%; height: 13px; width: 13p=
x;}
..F0XO1GC-H-b .F0XO1GC-H-c {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/star/star2.png") no-repeat scroll 0% 0%;}
..F0XO1GC-H-a .F0XO1GC-H-c {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/star/star-lit.png") no-repeat scroll 0% 0%;}
..F0XO1GC-Db-a {color: rgb(153, 153, 153); cursor: pointer; font-size: 9px;}
..F0XO1GC-Db-b {color: rgb(136, 136, 136);}
..F0XO1GC-ld-d {margin-left: auto; margin-right: auto;}
..F0XO1GC-ld-c {width: 100%; min-width: 400px;}
..F0XO1GC-ld-a {resize: vertical;}
..F0XO1GC-ld-b {font-weight: bold;}
..F0XO1GC-F-a {background-color: rgba(255, 255, 255, 0.65); border: 1px soli=
d rgb(198, 198, 198); border-radius: 1px; height: 13px; margin: 0px 1px; ou=
tline: medium none; vertical-align: text-bottom; width: 13px; display: inli=
ne-block; position: relative;}
..F0XO1GC-F-h {display: block; position: absolute; width: 15px; height: 15px=
; top: -2px; left: 1px;}
..F0XO1GC-F-c .F0XO1GC-F-h {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/menu/checkmark.png") no-repeat scroll -5px -3px;}
..F0XO1GC-F-k .F0XO1GC-F-h {opacity: 0.3;}
..F0XO1GC-F-b {background-color: rgb(235, 235, 235);}
..F0XO1GC-F-f {border: 1px solid rgb(102, 102, 102); box-shadow: 0px 1px 1px=
rgba(0, 0, 0, 0.1) inset;}
..F0XO1GC-F-e {border: 1px solid rgb(77, 144, 254);}
..F0XO1GC-F-k .F0XO1GC-F-a {background-color: rgba(255, 255, 255, 0.45); bor=
der: 1px solid rgb(241, 241, 241);}
..F0XO1GC-F-g .F0XO1GC-F-h {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/menu/checkmark-partial.png") no-repeat scroll -5px -3px;}
..F0XO1GC-F-i {margin-left: 5px;}
..F0XO1GC-F-k .F0XO1GC-F-i {color: rgb(184, 184, 184);}
..F0XO1GC-F-j {cursor: default; outline: medium none; line-height: 24px;}
..jfk-button-action {border: 1px solid rgb(48, 121, 237); color: rgb(255, 25=
5, 255); background-color: rgb(77, 144, 254); background-image: -moz-linear=
-gradient(center top , rgb(77, 144, 254), rgb(71, 135, 237));}
..chrome-theme .jfk-button-action {background-color: rgb(3, 112, 234); backg=
round-image: -webkit-linear-gradient(top, rgb(0, 141, 253) 0%, rgb(3, 112, =
234) 100%); border: 1px solid rgb(7, 107, 210); text-shadow: 1px 1px 1px rg=
b(7, 107, 210);}
..jfk-button-action:hover {color: rgb(255, 255, 255); border: 1px solid rgb(=
47, 91, 183); background-color: rgb(53, 122, 232); background-image: -moz-l=
inear-gradient(center top , rgb(77, 144, 254), rgb(53, 122, 232));}
..chrome-theme .jfk-button-action:hover {background-color: rgb(3, 112, 234);=
background-image: -webkit-linear-gradient(top, rgb(0, 141, 253) 30%, rgb(3=
, 112, 234) 100%); border: 1px solid rgb(7, 107, 210);}
..jfk-button-action:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset=
;}
..jfk-button-action:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) in=
set; outline: 0px none rgba(0, 0, 0, 0);}
..chrome-theme .jfk-button-action:focus {box-shadow: none; outline: medium n=
one !important; border: 1px solid rgb(6, 73, 144);}
..F0XO1GC-ed-a {padding-left: 5px; margin-left: 44px;}
..F0XO1GC-D-d {vertical-align: top; padding-left: 2px;}
..F0XO1GC-D-c {padding-left: 4px; vertical-align: top;}
..F0XO1GC-D-a {font-weight: bold; white-space: nowrap; vertical-align: top; =
cursor: default;}
..F0XO1GC-D-b {color: rgb(102, 102, 102); vertical-align: top; white-space: =
nowrap; margin-left: 4px;}
..F0XO1GC-pb-d {background-color: rgb(255, 255, 255); box-shadow: 0px 2px 4p=
x 0px rgba(0, 0, 0, 0.2); padding: 10px; z-index: 1021;}
..F0XO1GC-pb-b {padding-top: 5px; padding-bottom: 5px; font-size: 11px; colo=
r: rgb(102, 102, 102);}
..F0XO1GC-pb-g {width: 100%;}
..F0XO1GC-pb-e {display: block;}
..F0XO1GC-pb-c {display: block; width: 100%;}
..F0XO1GC-pb-f {display: block;}
..gwt-SuggestBoxPopup {overflow: auto !important; max-height: 240px; z-index=
: 1021;}
..F0XO1GC-b-N .gwt-SuggestBoxPopup {line-height: 26px !important;}
..F0XO1GC-b-O .gwt-SuggestBoxPopup ,body .gwt-SuggestBoxPopup {line-height: =
20px !important;}
..item {position: relative;}
..F0XO1GC-b-N .item {line-height: 26px !important;}
..F0XO1GC-b-O .item ,body .item {line-height: 20px !important;}
..item-selected {position: relative;}
td > strong {color: orange;}
..F0XO1GC-j-f .F0XO1GC-pb-d {box-shadow: none;}
..F0XO1GC-vb-p {padding: 8px;}
..F0XO1GC-vb-r {padding-bottom: 20px;}
..F0XO1GC-vb-a {padding: 16px 0px;}
..F0XO1GC-vb-a .goog-button-base {margin-right: 1em;}
..F0XO1GC-vb-z {width: 99%; display: block; border: 1px solid rgb(102, 136, =
238); margin: 5px 0px;}
..F0XO1GC-vb-A {padding-top: 8px;}
..F0XO1GC-vb-i .gwt-CheckBox {white-space: nowrap; padding-right: 1em; displ=
ay: inline-block;}
..F0XO1GC-vb-g {width: 25px; font-weight: bold; text-align: left; padding: 1=
0px 18px 0px 0px; vertical-align: top; white-space: nowrap; color: rgb(153,=
153, 153);}
..F0XO1GC-vb-h {width: 99%; border: 1px solid rgb(102, 136, 238); margin: 3p=
x 0px 3px 3px; font-size: 13px;}
..F0XO1GC-vb-f {color: rgb(136, 136, 136); font-size: 85%; text-decoration: =
none;}
..F0XO1GC-vb-k {background-color: white; max-width: 99%;}
..F0XO1GC-vb-q ,.F0XO1GC-vb-l ,.F0XO1GC-vb-E ,.F0XO1GC-vb-F ,body {min-heigh=
t: 200px; max-width: 100%; overflow: auto; outline: medium none; margin-bot=
tom: 4px;}
..F0XO1GC-vb-q {resize: none;}
..F0XO1GC-vb-E ,.F0XO1GC-vb-F ,body {height: 200px; resize: vertical;}
..F0XO1GC-vb-q ,.F0XO1GC-vb-F {padding: 4px;}
..F0XO1GC-vb-b {margin: 8px 0px;}
..F0XO1GC-vb-b td {vertical-align: middle;}
..F0XO1GC-vb-b a {cursor: pointer; padding: 0px 4px;}
..F0XO1GC-vb-j {white-space: nowrap;}
..F0XO1GC-vb-j a {text-decoration: underline;}
..F0XO1GC-vb-v {cursor: pointer; margin-left: 4px;}
..F0XO1GC-vb-e {padding-left: 10px;}
..F0XO1GC-vb-B {font-weight: bold; margin-bottom: 8px;}
..F0XO1GC-vb-w {margin-bottom: 5px; margin-right: 5px;}
..F0XO1GC-vb-x {max-width: 99%; overflow: hidden; transition: all 0.15s ease=
-in-out 0s;}
..F0XO1GC-vb-C {margin-bottom: 8px;}
..F0XO1GC-vb-o {color: rgb(136, 136, 136); text-decoration: none;}
..F0XO1GC-vb-y {font-weight: bold;}
..F0XO1GC-vb-n {border-bottom: 1px solid rgb(235, 235, 235); padding: 14px 0=
px 8px;}
..F0XO1GC-vb-c {display: inline-block; margin-right: 8px; position: relative=
; top: 6px;}
..F0XO1GC-vb-d {display: inline-block;}
..F0XO1GC-vb-D {font-weight: bold;}
..F0XO1GC-vb-u {display: inline-block; vertical-align: middle;}
..F0XO1GC-vb-t {padding-top: 3px;}
..F0XO1GC-vb-s {padding: 0px 5px 0px 15px;}
..F0XO1GC-vb-m {margin-right: 12px;}
..F0XO1GC-Uc-a {background: white none repeat scroll 0% 0%; min-width: 140px=
; overflow: hidden; white-space: nowrap;}
..F0XO1GC-Uc-c {background-color: white; border: medium none; font-size: 11p=
x; overflow: hidden; outline: medium none; margin: 2px 0px; width: 100%;}
..F0XO1GC-Uc-d {display: inline-block; margin: 0px; padding: 0px; width: 100=
%;}
..F0XO1GC-Lc-h {width: 99%; display: block; border: 1px solid rgb(102, 136, =
238); margin: 5px 0px;}
..F0XO1GC-Lc-d {font-size: 11px; color: rgb(136, 136, 136);}
..F0XO1GC-Lc-e {font-size: 11px; text-decoration: none; white-space: nowrap;=
}
..F0XO1GC-Lc-c {white-space: nowrap; padding-bottom: 2px;}
..F0XO1GC-Lc-a {color: rgb(136, 136, 136);}
..F0XO1GC-Lc-b {color: rgb(153, 0, 0); font-size: 11px;}
..F0XO1GC-Lc-g {height: 2em; overflow: hidden; margin-right: 10px; padding-b=
ottom: 5px;}
..F0XO1GC-Lc-f {line-height: 14px;}
..F0XO1GC-vc-a {font-style: italic;}
..jfk-button-default {color: rgb(255, 255, 255); text-shadow: 0px 1px rgba(0=
, 0, 0, 0.1); border: 1px solid rgb(41, 105, 29); background-color: rgb(61,=
148, 0); background-image: -moz-linear-gradient(center top , rgb(61, 148, =
0), rgb(57, 138, 0));}
..jfk-button-default:hover {border: 1px solid rgb(45, 98, 0); text-shadow: 0=
px 1px rgba(0, 0, 0, 0.3); background-color: rgb(54, 130, 0); background-im=
age: -moz-linear-gradient(center top , rgb(61, 148, 0), rgb(54, 130, 0));}
..jfk-button-default:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inse=
t;}
..jfk-button-default:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) i=
nset; outline: 0px none rgba(0, 0, 0, 0);}
..F0XO1GC-rc-c {display: inline-block; cursor: default; padding: 4px; positi=
on: relative;}
..F0XO1GC-rc-e {height: 18px; width: 18px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCA=
QAAAD8x0bcAAABG0lEQVR4AZXRP04CQRiG8ekIibFhgG4rK2WR8KfVwitAaL2BsXgCFB7AgkAoC=
SE0XsATcAJtjSWCsbIjwFCsb7JkJiEWuk/zFr9kk/nMvz/ytOmpNhYTCrPIjD3JIceUwjGK+WRD=
nyoZVWPAlhUlAqIosuBCK+KOeyKtmKXKBzRjgwjXrEnUmisMZXZMDkh6Tx8tXnkjUu+8YNQQh01=
Rm4QqWjxwg1GPOIyqk9BKUU8zg/GdseAZLbIkdH9DMd/MOfWoE35X8+iJL04Ou0FCM0UWx8CjSy=
p+j3DkhFBM2RKT7rlKV4Ud4/BOBVYsKaPNrUrJig+sR6oktGVInaxqMGIncn584DwTXDgwYywmo=
JClRZcOTXKYkOEP/QCM69uSuWj5UAAAAABJRU5ErkJggg=3D=3D") no-repeat scroll 0px =
0px;}
..F0XO1GC-rc-b {display: inline-block;}
..F0XO1GC-rc-c:hover > .F0XO1GC-rc-d ,.F0XO1GC-rc-c:focus > .F0XO1GC-rc-d {d=
isplay: block; z-index: 10;}
..F0XO1GC-rc-g .F0XO1GC-rc-d {right: 0px;}
..F0XO1GC-rc-d {background-color: white; border: 1px solid rgb(187, 187, 187=
); color: black; display: none; font-family: "Roboto",Arial,sans-serif; fon=
t-size: 13px; font-variant: normal; font-weight: normal; line-height: 17px;=
margin: 10px -10px; max-width: 300px; padding: 15px; position: absolute; w=
hite-space: normal; width: 290px;}
..F0XO1GC-rc-a {left: 9px; position: absolute; top: -9px;}
..F0XO1GC-rc-g .F0XO1GC-rc-a {left: inherit; right: 33px;}
..F0XO1GC-rc-h {border-width: 0px 9px 9px; border-style: solid; -moz-border-=
top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors=
: none; -moz-border-left-colors: none; border-image: none; border-color: rg=
b(187, 187, 187) transparent; display: block; left: 0px; position: absolute=
; top: 0px;}
..F0XO1GC-rc-f {border-width: 0px 9px 9px; border-style: solid; -moz-border-=
top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors=
: none; -moz-border-left-colors: none; border-image: none; border-color: wh=
ite transparent; display: block; left: 0px; position: absolute; top: 1px; z=
-index: 120;}
..F0XO1GC-Q-a {margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 20=
4, 204); padding-left: 1ex;}
..F0XO1GC-Q-b {margin: 0px 0.8ex; border-style: solid; border-color: rgb(204=
, 204, 204); -moz-border-top-colors: none; -moz-border-right-colors: none; =
-moz-border-bottom-colors: none; -moz-border-left-colors: none; border-imag=
e: none; border-width: 0px 1px; padding: 0px 1ex;}
..F0XO1GC-Q-c {position: relative; top: 5px; height: 16px; width: 16px; over=
flow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png;base64,iVBOR=
w0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsElEQVR42mNgGGzADYivA/EfII5DEo+H=
il0DYhd8BtyFKkwBYgEkcRA7HYj/AvFtfAb8B+JHeOQfA/E/XJKMUAPu4zHgAVQNIzZJRajkSTw=
GnIKqkUOXqAXid0D8Coh98RjgB1XzFogrkSVagPgz1P8eeAzwhIbDJyBuQJdUgTrvBB4DTkLVKN=
IkECmORgao7aCElIolISVDE9JdfAaAAvAWVCFyUo6DGnwTmtwHEQAAzwI0Qf4MSWYAAAAASUVOR=
K5CYII=3D") no-repeat scroll 0px 0px;}
..picker-framepane-root {position: absolute; width: 100%; height: 100%;}
* .picker-framepane-root ,body .picker-framepane-root {overflow: hidden;}
..picker-framepane-content {position: absolute; top: 0px; left: 0px; right: =
0px; bottom: 0px; overflow: hidden;}
* html .picker-framepane-content ,body .picker-framepane-content {position:=
relative; top: 0px; left: 0px; right: 0px; bottom: 0px; width: 100%; heigh=
t: 100%;}
..picker-framepane-top ,.picker-framepane-bottom {position: absolute; left: =
0px; right: 0px;}
* html .picker-framepane-top ,* html .picker-framepane-bottom ,body .picker=
-framepane-top ,body .picker-framepane-bottom {width: 100%;}
..picker-framepane-top {top: 0px;}
..picker-framepane-bottom {bottom: 0px;}
..picker-framepane-left ,.picker-framepane-right {overflow: auto; position: =
absolute; top: 0px; bottom: 0px;}
* html .picker-framepane-left ,* html .picker-framepane-right ,body .picker=
-framepane-left ,body .picker-framepane-right {height: 100%;}
..picker-framepane-left {left: 0px;}
..picker-framepane-right {right: 0px;}
..picker-actionpane-frame {background-color: rgb(255, 255, 255); border-top:=
1px solid rgb(229, 229, 229);}
..picker-actionpane-content {overflow: hidden;}
..picker-actionpane-frame .jfk-button {margin-top: 20px;}
..picker-actionpane-icon {margin-right: 8px; font-size: 13px; vertical-align=
: middle; background-image: url("//ssl.gstatic.com/docs/picker/images/apps_=
upload_icons-v1.gif") !important; background-position: center 0px; height: =
16px; width: 16px;}
..picker-actionpane-photomove-div {padding: 4px;}
..picker-actionpane-photomove {font-size: 13px; padding-left: 6px; vertical-=
align: bottom;}
:first-child + html .picker-navhidden .picker-actionpane-root {padding-left=
: 10px;}
..picker-navhidden.picker-chrome-none .picker-actionpane-root {bottom: 0px; =
left: 0px; right: 0px;}
..picker-chrome-none .picker-actionpane-content {margin-bottom: 5px;}
..picker-chrome-none .picker-framepane-hidden .picker-actionpane-content {ma=
rgin-bottom: 0px;}
* html .picker-actionpane-content ,body .picker-actionpane-content {padding=
-right: 6px; padding-bottom: 6px;}
..picker-actionpane-float-item {-moz-user-select: none; float: left; margin:=
0px 20px; height: 100%;}
..picker-people-picker .picker-actionpane-float-item {float: right;}
..picker-actionpane-uploading-message {padding: 8px 20px 0px 0px;}
..picker-actionpane-upload-status {color: rgb(68, 68, 68); font-size: 12px; =
max-width: 320px; padding: 17px 0px; position: absolute; right: 0px; top: 0=
px;}
..picker-actionpane-upload-status .picker-progress-bar.progress-bar-horizont=
al {height: 9px; border: 1px solid rgb(153, 153, 153); margin: 1px; padding=
: 1px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; width: 100%=
; vertical-align: middle;}
..picker-actionpane-attachment-label {color: rgb(85, 85, 85); display: inlin=
e-block; font-size: 12px; margin-right: 10px;}
..picker-actionpane-attachment-type-float-item {float: right; margin: 20px;}
..picker-actionpane-attachment-type-float-item .jfk-button {vertical-align: =
middle; margin: 0px;}
..picker-segmentedbuttonbar .picker-actionpane-imagebutton-icon {display: in=
line-block; float: left; margin-top: 3px;}
..picker-segmentedbuttonbar .picker-actionpane-imagebutton-text {display: in=
line-block; font-size: 11px; line-height: 21px; margin-top: 3px;}
..picker-actionpane-frame .picker-segmentedbuttonbar {display: inline-block;=
outline: medium none; position: relative; z-index: 0;}
..picker-segmentedbuttonbar .jfk-button-standard.jfk-button-selected ,.picke=
r-segmentedbuttonbar .jfk-button-standard.jfk-button-clear-outline.jfk-butt=
on-selected {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; background-c=
olor: rgb(238, 238, 238); background-image: -moz-linear-gradient(center top=
, rgb(238, 238, 238), rgb(224, 224, 224)); transition: all 0.1s ease 0s; b=
order: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51);}
..picker-actionpane-upload-status .progress-bar-horizontal .progress-bar-thu=
mb {height: 100%; background-repeat: repeat-x; background-size: 20px 10px; =
background-color: rgb(204, 204, 204); background-attachment: scroll; backgr=
ound-image: linear-gradient(315deg, transparent, transparent 33%, rgba(0, 0=
, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, transparent 66%, transparent); ani=
mation-duration: 0.8s; animation-iteration-count: infinite; animation-timin=
g-function: linear;}
:first-child + html .picker-actionpane-float-item {float: right; margin: 0p=
x; padding-left: 4px;}
..picker-actionpane-frame .goog-imageless-button-content {padding: 6px 14px =
!important;}
..picker-actionpane-frame .goog-imageless-button {margin-left: 8px;}
:first-child + html .picker-actionpane-frame .goog-imageless-button {margin=
-left: 4px;}
..picker-actionpane-frame .goog-link-button {margin-top: 1px;}
..picker-actionpane-actionpanetext {float: right; font-size: 13px; margin: 2=
6px 37px 0px 0px; color: rgb(170, 170, 170);}
..picker-actionpane-upload-button-float-item {float: right;}
..picker-actionpane-upload-button {display: inline-block; float: right; marg=
in: 16px 23px;}
..picker-action-upload-button-img {margin-top: -3px; margin-right: 4px; vert=
ical-align: middle;}
..picker-main-overlay {position: absolute; background-color: rgb(255, 255, 2=
55); z-index: 2200; top: 0px; right: 0px; bottom: 0px; left: 0px; cursor: w=
ait;}
..picker-busy {opacity: 0.6; background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/loading-32-v1.gif") no-repeat scroll 50% 50%;}
..picker-gplus.picker-main-container {background-color: rgb(231, 231, 231);}
..picker-people-picker.picker-main-container {background-color: rgb(255, 255=
, 255);}
..picker-main-container .goog-link-button {color: rgb(17, 85, 204); text-dec=
oration: none; font-size: 13px; cursor: pointer; padding: 9px 2px; outline:=
medium none;}
..picker-main-container .goog-link-button-hover ,.picker-main-container .goo=
g-link-button-focused {text-decoration: underline;}
..picker-attributionbar-frame {background-color: rgb(255, 255, 255); border-=
top: 1px solid rgb(229, 229, 229); color: rgb(170, 170, 170); font-size: 11=
px; padding: 10px 20px; z-index: 2115;}
..picker-attributionbar-line {white-space: nowrap; overflow: hidden;}
..picker-actionpane-legal-text ,.picker-actionpane-notice {height: 100%; pad=
ding-right: 20px; cursor: default;}
..picker-actionpane-legal-text-td ,.picker-actionpane-notice-td {color: rgb(=
170, 170, 170); font-size: 13px; padding: 0px 20px 0px 10px; vertical-align=
: middle;}
..picker-actionpane-notice-link {cursor: pointer;}
..picker-actionpane-notice-error {color: rgb(204, 51, 51); font-size: 13px;}
..picker-actionpane-notice-warning {color: rgb(85, 85, 85); font-size: 11px;=
}
..picker-actionpane-notice-popup {font-size: 13px;}
..picker-actionpane-notice-popup .jfk-bubble-content-id {width: 300px;}
..picker-googlelogo-large {height: 44px; width: 120px;}
..picker-googlelogo-small {height: 20px; width: 52px;}
..picker-msgbar.jfk-butterBar {width: 75%; margin: auto; position: absolute;=
left: 0px; right: 0px; top: 10px; height: auto;}
..picker-msgbar.jfk-butterBar-shown {height: auto;}
..picker-msgbar.jfk-butterBar-warning .picker-link {color: rgb(255, 255, 255=
);}
..picker-main-container .goog-control {cursor: pointer;}
..picker-licensebar {color: rgb(68, 68, 68); font-size: 11px; margin-top: 7p=
x;}
..picker-loadingstatusbox {position: absolute; z-index: 100; padding: 2px 2p=
x 1px 4px; top: 50%; left: 50%; height: 32px; width: 32px; margin-top: -16p=
x; margin-left: -16px;}
..picker-loadingstatusbox-body {z-index: -1;}
..picker-photoupload-albumchooser-select {width: 242px; text-align: left; ma=
rgin: 0px; padding: 6px 10px;}
..picker-photoupload-albumchooser-select .goog-flat-menu-button-caption {wid=
th: 222px; padding: 0px 10px 0px 0px; overflow: hidden; text-overflow: elli=
psis; font-size: 11px; font-weight: bold; color: rgb(68, 68, 68); white-spa=
ce: nowrap; top: 1px; height: 16px;}
..picker-photoupload-albumchooser-select {height: 16px;}
..picker-photoupload-albumchooser-select .goog-flat-menu-button-caption ,.pi=
cker-photoupload-albumchooser-select .goog-flat-menu-button-dropdown ,.pick=
er-photoupload-albumchooser-select {line-height: normal;}
..picker-photoupload-albumchooser-select-menu {height: 180px; overflow: auto=
; z-index: 2200; width: 300px;}
..picker-photoupload-albumchooser-select-menu .goog-menuitem-content {text-o=
verflow: ellipsis; overflow: hidden;}
..picker-header-frame {padding: 17px 20px;}
..picker-header-content {border-top: 1px solid rgb(229, 229, 229);}
..picker-header-text {-moz-user-select: none; display: inline-block; font-si=
ze: 20px; vertical-align: top;}
..picker-header-icon {display: inline-block; margin: 0px 5px 5px 0px;}
..picker-dogfood-confidential-text {color: rgb(221, 75, 57); font-size: 13px=
; font-weight: bold; line-height: 25px; padding-left: 30px; text-transform:=
uppercase;}
..picker-header-close {line-height: 0; overflow: hidden; position: absolute;=
right: 11px; top: 20px;}
..picker-header-close .jfk-button-flat {cursor: pointer; height: inherit; ma=
rgin: 0px; width: inherit;}
..picker-debug-build-label {-moz-user-select: initial; background-color: rgb=
(255, 255, 255); color: rgb(153, 153, 153); font-size: 10px; position: abso=
lute; right: 10px; top: 0px;}
..picker-quotaview {padding: 21px; font-size: 13px;}
..picker-quotaview-div {margin-bottom: 10px;}
..picker-dropdown-menuitem {padding: 2px 7em 2px 30px; border: 0px none;}
..picker-dropdown-menuitem-header {color: rgb(153, 153, 153); cursor: defaul=
t; font-size: 11px; font-weight: bold; padding: 8px 7em 8px 30px; text-tran=
sform: uppercase;}
..picker-dropdown-menu {padding-bottom: 6px; width: 234px; z-index: 2108;}
..picker-url-input-frame {cursor: default; overflow: hidden; padding: 2px 10=
px 4px 8px; border-top: 1px solid rgb(229, 229, 229);}
..picker-url-input-text {font-size: 11px; color: rgb(68, 68, 68); margin: 5p=
x 0px 2px;}
..picker-url-input-box {border-width: 1px; border-style: solid; border-color=
: rgb(191, 191, 191) rgb(216, 216, 216) rgb(216, 216, 216); -moz-border-top=
-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: n=
one; -moz-border-left-colors: none; border-image: none; padding: 1px 0px; m=
argin: 1px 0px; font-size: 11px; width: 100%;}
..picker-url-input-box-selected {border: 2px solid rgb(77, 144, 254);}
..picker-urlview {padding: 14px 20px !important;}
..picker-urlview-header {color: rgb(68, 68, 68); font-size: 13px; font-weigh=
t: bold;}
..picker-urlview-input {width: 200px; border-width: 1px; border-style: solid=
; border-color: rgb(191, 191, 191) rgb(216, 216, 216) rgb(216, 216, 216); -=
moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bo=
ttom-colors: none; -moz-border-left-colors: none; border-image: none; margi=
n: 1px 1px 2px 8px; padding: 3px;}
input.picker-urlview-selected {border: 2px solid rgb(77, 144, 254); margin:=
0px 0px 1px 7px;}
..picker-urlview-loading-icon {background-image: url("//ssl.gstatic.com/docs=
/picker/images/apps_upload_icons-v1.gif") !important; background-position: =
center 0px; height: 16px; width: 16px; margin-left: 5px; margin-bottom: 2px=
; vertical-align: middle; opacity: 0.5;}
..picker-urlview-success-icon {background-image: url("//ssl.gstatic.com/docs=
/picker/images/apps_upload_icons-v1.gif") !important; width: 16px; margin-l=
eft: 5px; vertical-align: middle; opacity: 0.5;}
..picker-urlview-error-icon {background-image: url("//ssl.gstatic.com/docs/p=
icker/images/apps_upload_icons-v1.gif") !important; height: 16px; width: 16=
px; margin-left: 5px; margin-bottom: 2px; vertical-align: middle; opacity: =
0.5;}
..picker-urlview-success-icon {background-position: center -16px; height: 13=
px; margin-bottom: 0px;}
..picker-urlview-error-icon {background-position: center -30px;}
..picker-urlview-preview {position: absolute; margin-top: 8px;}
..picker-urlview-preview-td {vertical-align: middle; text-align: center; col=
or: rgb(170, 170, 170); font-size: 12px;}
..picker-urlview-preview-content {font-size: 14px; margin: 10px 0px;}
..picker-urlview-error-td {color: rgb(204, 51, 51);}
..picker-web-control {border: 6px solid rgb(255, 255, 255); cursor: pointer;=
margin: -2px 8px 4px; overflow: hidden; padding: 6px;}
..picker-web-control-hover ,.picker-web-control-focused {border: 6px solid r=
gb(243, 243, 243); background: rgb(243, 243, 243) none repeat scroll 0% 0%;=
}
..picker-web-control-checked {border: 6px solid rgb(77, 144, 254); backgroun=
d: rgb(242, 247, 255) none repeat scroll 0% 0%;}
..picker-web-control-title {font-size: small; text-decoration: underline;}
..picker-web-control-content {font-size: small; color: rgb(68, 68, 68);}
..picker-web-control-url {font-size: small; color: green;}
..picker-learnmore {position: absolute; bottom: 9px; left: 16px;}
..picker-actionpane-frame .picker-learnmore {float: right; margin-top: 16px;=
position: static;}
..picker-actionpane-frame .picker-learnmore .goog-link-button {margin-right:=
20px; width: auto;}
..picker-learnmore .goog-link-button {width: 134px; vertical-align: middle;}
..picker-spr-questionmark {display: inline-block; margin-right: 5px; vertica=
l-align: middle;}
..picker-iconview-container {height: 100%;}
..picker-iconview-img {border: 1px solid rgb(221, 221, 221); margin-right: a=
uto; margin-left: auto; display: block; position: relative; top: 5%;}
..picker-main-container .jfk-tooltip {z-index: 2103;}
..picker-main-container .jfk-textinput ,.picker-main-container .jfk-button {=
transition: all 0.218s ease 0s;}
..picker-menu-container .goog-menu {z-index: 2112;}
..picker-offscreen {position: absolute; left: -10000px; top: -10000px;}
..picker-content {position: absolute; top: 0px; bottom: 0px; left: 0px; righ=
t: 0px; overflow: hidden;}
..picker-chrome-none .picker-content {left: 0px; right: 0px; bottom: 0px; bo=
rder-top: 0px none; border-left: 0px none; border-right: 0px none;}
..picker-chrome-none .picker-framepane-hidden .picker-actionpane-content .pi=
cker-content {border: 0px none;}
* html .picker-content ,body .picker-content {position: relative; bottom: 0=
px; left: 0px; right: 0px; top: 0px; height: 100%; width: 100%;}
:first-child + html .picker-content {left: 0px; bottom: 0px; right: 0px; to=
p: 0px; overflow-x: hidden;}
:first-child + html .picker-chrome-none .picker-content {left: 0px;}
..picker-dataview {overflow-y: auto;}
..picker-dataview-message {font-size: 13px; padding: 18px 0px 0px 7px; color=
: rgb(51, 51, 51); line-height: 150%;}
..picker-messagelist .picker-dataview-message {margin-left: 13px; padding-to=
p: 5px;}
..picker-combosearchmessagelist .pickercombosearch-content {margin: 20px 0px=
0px 20px;}
..picker-combosearchmessagelist .jfk-button-flat {cursor: pointer; font-size=
: inherit; font-weight: inherit; height: auto;}
..picker-combosearchmessagelist .picker-spr-life-photo-archive-large {margin=
-left: 50px;}
..picker-combosearchmessagelist .picker-searchbar-stock-photos-large {color:=
rgb(102, 102, 102); font-size: 18px; font-weight: bold; height: 27px; marg=
in: 10px 0px 0px 50px; position: absolute; text-align: left; vertical-align=
: middle; width: auto;}
..picker-listrenderer-table {width: 100%; table-layout: fixed; border-spacin=
g: 0px;}
..picker-listrenderer-table .picker-dataview-message {padding: 20px;}
..picker-list-control-tablerow {font-size: 13px; width: 100%; cursor: pointe=
r;}
..picker-list-control-tablerow-with-checkbox {outline: medium none;}
..picker-list-control-focused .jfk-checkbox {border: 1px solid rgb(77, 144, =
254);}
..picker-list-control-unselectable .picker-list-control-cell {color: rgb(204=
, 204, 204);}
..picker-list-control-unselectable .picker-list-control-icon {opacity: 0.3;}
..picker-list-control-checked {background-color: rgb(255, 255, 204);}
..picker-list-control-checkbox-cell {width: 42px; margin: 0px; padding-left:=
20px;}
..picker-list-control-icon-cell {width: 23px; padding-left: 8px;}
..picker-list-control-icon {display: block; margin-top: 4px; padding-bottom:=
3px; width: 16px; height: 16px;}
..picker-list-control-icon-img {max-height: 16px; max-width: 16px;}
..picker-list-control-name-cell {margin-left: 5px; overflow: hidden; padding=
-left: 7px;}
..picker-list-control-lastedited-cell {margin-left: 5px; overflow: hidden; p=
adding-left: 7px; width: 115px;}
..picker-list-control-cell {white-space: nowrap; text-overflow: ellipsis; bo=
rder-bottom: 1px solid rgb(229, 229, 229); padding-top: 4px; padding-bottom=
: 4px;}
..picker-navpane-horizontal-content .picker-list-control-cell {border-color:=
rgb(221, 221, 221);}
..picker-breadcrumbs-frame {cursor: default; overflow: hidden; margin-top: 1=
9px; margin-left: 18px;}
..picker-chrome-none .picker-breadcrumbs-frame {border: 0px none; margin-lef=
t: 0px;}
:first-child + html .picker-breadcrumbs-frame ,* html .picker-breadcrumbs-f=
rame ,body .picker-breadcrumbs-frame {margin-left: 0px; margin-right: 0px;}
* html .picker-breadcrumbs-content ,body .picker-breadcrumbs-content {paddi=
ng-bottom: 6px;}
..picker-breadcrumbs-table {color: rgb(85, 85, 85); font-size: 13px; positio=
n: relative; top: 1px; left: 1px;}
..picker-breadcrumbs-parent {padding-right: 3px; padding-left: 3px; padding-=
bottom: 3px; white-space: nowrap;}
..picker-breadcrumbs-clickable {cursor: pointer;}
..picker-breadcrumbs-triangle {white-space: nowrap;}
..picker-breadcrumbs-triangle1 {border-color: transparent transparent transp=
arent rgb(85, 85, 85); border-style: solid; border-width: 4px; margin: -2px=
2px 3px 6px; width: 0px; height: 0px; vertical-align: middle; line-height:=
0;}
..picker-breadcrumbs-child {font-weight: bold; white-space: nowrap; padding-=
right: 3px; padding-left: 3px; padding-bottom: 3px;}
..picker-butterbar {color: rgb(34, 34, 34); background-color: rgb(249, 237, =
190); font-size: 11px; padding: 3px 0px 0px; height: 17px; text-align: cent=
er; border: 1px solid rgb(240, 195, 109); border-radius: 2px;}
..picker-butterbar .picker-link {color: rgb(0, 0, 0);}
..picker-navhorizontal-new .picker-header-content {border-top: medium none;}
..picker-navhorizontal-new .picker-navpane-horizontal-frame {border-bottom: =
1px solid rgb(225, 225, 225); box-shadow: 0px 1px 5px 1px rgb(225, 225, 225=
); z-index: 1;}
..picker-navpane-horizontal-tab-bar-wrapper {background-color: rgb(245, 245,=
245); height: 50px; text-align: center;}
..picker-navhorizontal-new .picker-navpane-horizontal-tab-bar-wrapper {text-=
align: left;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-bar {background: trans=
parent none repeat scroll 0% 0%; border-bottom: 0px none; display: inline-b=
lock; font-size: 12px; height: 50px; outline: medium none;}
..picker-navpane-horizontal-tab-bar-wrapper .picker-navpane-horizontal-tabco=
ntent {display: inline-block; font-size: 14px; vertical-align: middle;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab ,.picker-navpane-horiz=
ontal-tab-bar-wrapper .goog-menu-button {background: transparent none repea=
t scroll 0% 0%; border: medium none; color: rgb(34, 34, 34); float: left; h=
eight: 14px; margin: 0px 18px; padding: 16px 4px 7px; position: static;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-bar-top {border: mediu=
m none !important; padding: 0px !important;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-hover {background: tra=
nsparent none repeat scroll 0% 0%; border-bottom: 2px solid rgb(77, 144, 25=
4); color: rgb(38, 38, 38); cursor: pointer; padding-bottom: 18px;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-selected {background: =
transparent none repeat scroll 0% 0% !important; border-width: 0px 0px 2px;=
border-style: none none solid; border-color: currentcolor currentcolor rgb=
(77, 144, 254); color: rgb(38, 38, 38); font-weight: bold; padding-bottom: =
18px;}
..picker-navpane-horizontal-tab-bar-wrapper .picker-navpane-horizontal-divid=
er {border-left: 1px solid rgb(34, 34, 34); cursor: default; margin: 10px 1=
0px 0px; padding: 7px 0px;}
..picker-navpane-horizontal-back-icon {display: inline-block; margin-right: =
1px; opacity: 0.8; vertical-align: middle;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button {font-size: 14=
px; outline: medium none;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button-hover ,.picker=
-navpane-horizontal-tab-bar-wrapper .goog-menu-button-open {border-bottom: =
2px solid rgb(77, 144, 254); color: rgb(38, 38, 38); cursor: pointer; paddi=
ng-bottom: 17px;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button.picker-horizon=
tal-navpane-more-selected {border-bottom: 2px solid rgb(77, 144, 254); colo=
r: rgb(38, 38, 38); cursor: pointer; font-weight: bold; padding-bottom: 17p=
x;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button .picker-spr-ar=
row-dk-grey-down {opacity: 0.5; display: inline-block; margin: 0px 0px 2px =
5px;}
..picker-horizontal-navpane-more-menu {max-height: 50%; overflow-y: auto; z-=
index: 2200;}
..picker-navpane-horizontal-tab-bar-wrapper .picker-navpane-horizontal-paren=
t-tab {padding: 15px 2px 0px;}
..picker-navpane-horizontal-parent-tab.goog-tab-hover {padding-bottom: 19px;=
}
..picker-navpane-frame {background-color: rgb(255, 255, 255); border-right: =
1px solid rgb(229, 229, 229); overflow: visible; padding: 14px 0px 0px; z-i=
ndex: 2102;}
..picker-peoplesearchbar-showroom.picker-navpane-frame {background-color: rg=
b(245, 245, 245); border-right: 1px solid rgb(245, 245, 245);}
..picker-navpane-content {overflow: hidden; right: 0px;}
..picker-chrome-inline .picker-navpane-content {top: 10px;}
..picker-main-container .picker-navpane-frame .goog-tree-icon {width: 0px;}
..picker-main-container .picker-navpane-frame .picker-spr-arrow-dk-grey {cur=
sor: pointer; height: 7px; margin-bottom: 1px; margin-left: 2px; margin-rig=
ht: 6px; width: 4px;}
..picker-main-container .picker-navpane-frame .picker-spr-arrow-dk-grey-down=
{cursor: pointer; height: 4px; margin-right: 5px; width: 7px;}
..picker-main-container .picker-navpane-frame .picker-navpane-hascollapse .g=
oog-tree-expand-icon-blank {width: 12px;}
..picker-main-container .picker-navpaneitem .goog-tree-row .goog-tree-icon {=
left: 11px; position: relative;}
..picker-main-container .picker-navpane-frame .goog-tree-root.goog-tree-item=
{margin-top: -1px; outline: medium none; overflow: auto; padding: 2px 12px=
0px 0px;}
..picker-main-container .picker-navpaneitem .goog-tree-item-label {color: rg=
b(68, 68, 68); cursor: pointer; font-size: 13px; margin: 0px 20px 0px 0px; =
overflow: visible; white-space: normal; width: auto; z-index: 2103;}
..picker-main-container .goog-tree-item .picker-navpaneitem .selected {backg=
round-color: transparent; font-weight: normal;}
..picker-main-container .picker-navpane-frame .goog-tree-item .goog-tree-row=
{border-left: 5px solid transparent;}
..picker-main-container .picker-navpane-frame .goog-tree-root .picker-navpan=
eitem-active {border-left: 5px solid rgb(221, 75, 57); border-radius: 0px;}
..picker-main-container .picker-navpaneitem .goog-tree-item-label {margin-le=
ft: 11px;}
..picker-main-container .goog-tree-root .picker-navpaneitem-active .goog-tre=
e-item-label {color: rgb(207, 66, 54); font-weight: bold;}
..picker-main-container .picker-navpaneitem .goog-tree-row {height: auto; li=
ne-height: 90%; margin: 0px; padding: 3px 0px 6px; white-space: nowrap;}
..picker-main-container .picker-navpanedivider .goog-tree-row {line-height: =
0; margin: 0px 10px; padding: 10px 0px; white-space: nowrap;}
..picker-main-container .picker-navpane-frame .picker-navpanedivider .goog-t=
ree-expand-icon-blank ,.picker-main-container .picker-navpanedivider .picke=
r-navpanedivider-icon {height: 0px; position: absolute;}
..picker-main-container .picker-navpanedivider .picker-nav-hr {background-co=
lor: rgb(235, 235, 235); border-width: 0px; color: rgb(235, 235, 235); heig=
ht: 1px;}
..picker-main-container .goog-tree-item .picker-navpaneitem .picker-navpanei=
tem-root {margin-bottom: 1px; padding: 6px 0px 9px;}
..picker-main-container .goog-tree-item .picker-navpaneitem .picker-navpanei=
tem-hover ,.picker-main-container .focused .picker-navpaneitem .selected {b=
ackground-color: rgb(238, 238, 238);}
..picker-main-container .picker-navpane-frame .goog-tree-root .picker-navpan=
eitem .picker-navpaneitem-not-clickable {cursor: default;}
:first-child + html .picker-main-container .picker-navpane-frame .goog-tree=
-root .picker-navpaneitem .goog-tree-item-label {margin-right: 0px; padding=
-bottom: 4px;}
:first-child + html .picker-main-container .picker-navpaneitem .goog-tree-r=
ow {padding-bottom: 0px;}
:first-child + html .picker-main-container .goog-tree-item .picker-navpanei=
tem .picker-navpaneitem-root {padding-bottom: 5px;}
..picker-navpane-frame .picker-buildlabel {bottom: 0px; color: rgb(153, 153,=
153); font-size: 10px; left: 0px; padding: 5px; position: absolute;}
..picker-navpane-frame .picker-buildlabel-a {color: rgb(153, 153, 153);}
..picker-noticebar {font-size: 12px; padding: 7px 14px 15px; color: rgb(68, =
68, 68);}
..picker-progress-bar-spinner.progress-bar-horizontal {border: 0px none; bac=
kground: transparent url("//ssl.gstatic.com/docs/picker/images/loading-v1.g=
if") no-repeat scroll 0px 0px; height: 16px; width: 16px; margin: auto auto=
5px; opacity: 0.5;}
..picker-progress-bar-spinner .progress-bar-thumb {opacity: 0;}
..picker-progress-bar.progress-bar-horizontal {position: relative; border: 0=
px none; text-align: left; background: rgb(225, 225, 225) none repeat scrol=
l 0% 0%; vertical-align: top;}
..picker-main-container .progress-bar-thumb {transition: width 1s ease 0s;}
..picker-progress-bar .progress-bar-thumb {background: rgb(44, 117, 236) non=
e repeat scroll 0% 0%; height: 16px;}
..picker-jfk-tall-progressbar {border-width: 1px; border-style: solid; paddi=
ng: 1px;}
..picker-jfk-tall-progressbar .progress-bar-thumb {height: 8px;}
..picker-sspr-back-arrow-black {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -129=
px; height: 21px; width: 21px;}
..picker-sspr-back-arrow-inverted {background: rgba(0, 0, 0, 0) url("//ssl.g=
static.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -=
562px; height: 21px; width: 21px;}
..picker-sspr-close-tab {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -150px; hei=
ght: 15px; width: 15px;}
..picker-sspr-drive-logo-black {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -61p=
x; height: 20px; width: 20px;}
..picker-sspr-folder-new {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -349px; he=
ight: 21px; width: 21px;}
..picker-sspr-forward-arrow-black {background: rgba(0, 0, 0, 0) url("//ssl.g=
static.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -=
436px; height: 21px; width: 21px;}
..picker-sspr-forward-arrow-inverted {background: rgba(0, 0, 0, 0) url("//ss=
l.gstatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0p=
x -394px; height: 21px; width: 21px;}
..picker-sspr-group {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/doc=
s/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -481px; height:=
24px; width: 24px;}
..picker-sspr-group-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -601px; h=
eight: 24px; width: 24px;}
..picker-sspr-help-black {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -165px; he=
ight: 24px; width: 24px;}
..picker-sspr-help-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -538px; he=
ight: 24px; width: 24px;}
..picker-sspr-inline-image {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -517px; =
height: 21px; width: 21px;}
..picker-sspr-launch {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/do=
cs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -625px; height=
: 18px; width: 18px;}
..picker-sspr-launch-inverted {background: rgba(0, 0, 0, 0) url("//ssl.gstat=
ic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -583p=
x; height: 18px; width: 18px;}
..picker-sspr-minpicker-back-button {background: rgba(0, 0, 0, 0) url("//ssl=
..gstatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px=
-21px; height: 16px; width: 16px;}
..picker-sspr-minpicker-forward-button {background: rgba(0, 0, 0, 0) url("//=
ssl.gstatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll =
0px -309px; height: 16px; width: 16px;}
..picker-sspr-my-drive-new-black {background: rgba(0, 0, 0, 0) url("//ssl.gs=
tatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -4=
57px; height: 24px; width: 24px;}
..picker-sspr-my-drive-new-white {background: rgba(0, 0, 0, 0) url("//ssl.gs=
tatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -2=
37px; height: 24px; width: 24px;}
..picker-sspr-mydrive {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/d=
ocs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -370px; heigh=
t: 24px; width: 24px;}
..picker-sspr-mydrive-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -261px;=
height: 24px; width: 24px;}
..picker-sspr-open-link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -505px; hei=
ght: 12px; width: 12px;}
..picker-sspr-paper-clip {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -415px; he=
ight: 21px; width: 21px;}
..picker-sspr-plus {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/docs=
/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -37px; height: 2=
4px; width: 24px;}
..picker-sspr-plus-inverted {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -213px;=
height: 24px; width: 24px;}
..picker-sspr-search-icon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px 0px; heig=
ht: 21px; width: 21px;}
..picker-sspr-sort {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/docs=
/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -325px; height: =
24px; width: 24px;}
..picker-sspr-starred {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/d=
ocs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -81px; height=
: 24px; width: 24px;}
..picker-sspr-starred-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -285px;=
height: 24px; width: 24px;}
..picker-sspr-team-drive-black {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -105=
px; height: 24px; width: 24px;}
..picker-sspr-team-drive-white {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -189=
px; height: 24px; width: 24px;}
..picker-spr-add-people ,.picker-spr-added-check ,.picker-spr-arrow-back ,.p=
icker-spr-arrow-back-white ,.picker-spr-arrow-dk-grey ,.picker-spr-arrow-dk=
-grey-down ,.picker-spr-arrow-forward ,.picker-spr-arrow-forward-white ,.pi=
cker-spr-audience-acl-small-domain-public ,.picker-spr-audience-acl-small-e=
xtended-circles ,.picker-spr-audience-acl-small-limited ,.picker-spr-audien=
ce-acl-small-owner-only ,.picker-spr-audience-acl-small-public ,.picker-spr=
-back-folder-ltr ,.picker-spr-back-folder-rtl ,.picker-spr-black-close ,.pi=
cker-spr-check ,.picker-spr-checkbox-active ,.picker-spr-checkbox-selected =
,.picker-spr-checkbox-selected-blue ,.picker-spr-checkmark-checked ,.picker=
-spr-circle ,.picker-spr-circle-active ,.picker-spr-circle-big ,.picker-spr=
-circle-big-white ,.picker-spr-circle-hover ,.picker-spr-close-box-small-of=
f ,.picker-spr-close-box-small-on ,.picker-spr-close-box-tiny-black ,.picke=
r-spr-close-box-tiny-white ,.picker-spr-close-min ,.picker-spr-collection ,=
..picker-spr-drive-64 ,.picker-spr-drive-black-icon ,.picker-spr-drive-drag-=
upload-icon ,.picker-spr-drive-upload-icon ,.picker-spr-folder-shared-white=
,.picker-spr-folder-white ,.picker-spr-gmail ,.picker-spr-google-logo ,.pi=
cker-spr-google-logo-large ,.picker-spr-google-photos-20 ,.picker-spr-googl=
e-photos-24 ,.picker-spr-googleplus ,.picker-spr-grid-view ,.picker-spr-ic-=
dragfile-blue ,.picker-spr-ic-dragfile-bluepng ,.picker-spr-ic-dragfile-gre=
y ,.picker-spr-ic-dragphoto-blue ,.picker-spr-ic-dragphoto-grey ,.picker-sp=
r-ic-dragvideo-blue ,.picker-spr-ic-dragvideo-grey ,.picker-spr-ic-photos-1=
2 ,.picker-spr-ic-photos-20 ,.picker-spr-ic-remove ,.picker-spr-icon-autofi=
x-active ,.picker-spr-icon-computer ,.picker-spr-icon-cover-photo ,.picker-=
spr-icon-photos-delete ,.picker-spr-icon-photos-delete-white ,.picker-spr-i=
con-remove-active ,.picker-spr-icon-rotate-ccw-active ,.picker-spr-icon-rot=
ate-cw-active ,.picker-spr-icon-rotate-left-white ,.picker-spr-icon-rotate-=
right-white ,.picker-spr-icon-three-dots-active ,.picker-spr-icon-zoom-max =
,.picker-spr-icon-zoom-min ,.picker-spr-imagefilter-all-colors ,.picker-spr=
-imagefilter-monochrome ,.picker-spr-inline-image ,.picker-spr-large-plus-b=
lack ,.picker-spr-life-photo-archive ,.picker-spr-life-photo-archive-large =
,.picker-spr-list-view ,.picker-spr-maps-cancel-en ,.picker-spr-maps-next-d=
is ,.picker-spr-maps-next-en ,.picker-spr-maps-prev-dis ,.picker-spr-maps-p=
rev-en ,.picker-spr-mic ,.picker-spr-navpane-albums ,.picker-spr-navpane-al=
bums-selected ,.picker-spr-navpane-from-computer ,.picker-spr-navpane-from-=
computer-selected ,.picker-spr-navpane-gdrive ,.picker-spr-navpane-gdrive-s=
elected ,.picker-spr-navpane-instantupload ,.picker-spr-navpane-instantuplo=
ad-selected ,.picker-spr-navpane-url ,.picker-spr-navpane-webcam ,.picker-s=
pr-navpane-webcam-selected ,.picker-spr-navpane-youtube ,.picker-spr-new-fo=
lder ,.picker-spr-no-photo ,.picker-spr-no-photo-48 ,.picker-spr-no-photo-8=
4 ,.picker-spr-paper-clip ,.picker-spr-photo-discard ,.picker-spr-photo-ico=
n ,.picker-spr-photo-upload-cancel ,.picker-spr-picasa-rectangles ,.picker-=
spr-plus-black ,.picker-spr-plus-gray ,.picker-spr-profile-rotate-ccw ,.pic=
ker-spr-profile-rotate-cw ,.picker-spr-questionmark ,.picker-spr-rio-arrow-=
menu ,.picker-spr-rio-check-active ,.picker-spr-rio-check-checked ,.picker-=
spr-rio-checkmark-active ,.picker-spr-rio-checkmark-selected ,.picker-spr-r=
io-rotate ,.picker-spr-rio-trash ,.picker-spr-rio-upload ,.picker-spr-rio-u=
pload-big ,.picker-spr-sad-face ,.picker-spr-sort ,.picker-spr-sort-bar ,.p=
icker-spr-toolbar-gray-rotate-ccw ,.picker-spr-toolbar-gray-rotate-cw ,.pic=
ker-spr-toolbar-gray-trash ,.picker-spr-toolbar-white-rotate-ccw ,.picker-s=
pr-toolbar-white-rotate-cw ,.picker-spr-toolbar-white-trash ,.picker-spr-up=
load-arrow ,.picker-spr-upload-error ,.picker-spr-upload-retry ,.picker-spr=
-video-play-overlay ,.picker-spr-video-play-overlay-small ,.picker-spr-vide=
o-stars ,.picker-spr-video-stars-rtl ,.picker-spr-video-upload-icon ,.picke=
r-spr-white-checkmark ,.picker-spr-youtube {background: rgba(0, 0, 0, 0) ur=
l("//ssl.gstatic.com/docs/picker/images/picker_sprite-v107.png") no-repeat =
scroll 0% 0%;}
..picker-spr-add-people {background-position: -28px -230px; width: 27px; hei=
ght: 26px;}
..picker-spr-added-check {background-position: 0px -676px; width: 21px; heig=
ht: 21px;}
..picker-spr-arrow-back-white {background-position: -128px -1112px; width: 2=
1px; height: 21px;}
..picker-spr-arrow-back {background-position: -15px -1402px; width: 21px; he=
ight: 21px;}
..picker-spr-arrow-dk-grey-down {background-position: 0px -1240px; width: 7p=
x; height: 4px;}
..picker-spr-arrow-dk-grey {background-position: 0px -230px; width: 4px; hei=
ght: 7px;}
..picker-spr-arrow-forward-white {background-position: 0px -576px; width: 21=
px; height: 21px;}
..picker-spr-arrow-forward {background-position: -58px -676px; width: 21px; =
height: 21px;}
..picker-spr-audience-acl-small-domain-public {background-position: -110px -=
1402px; width: 12px; height: 12px;}
..picker-spr-audience-acl-small-extended-circles {background-position: -88px=
-1388px; width: 12px; height: 12px;}
..picker-spr-audience-acl-small-limited {background-position: -4px -310px; w=
idth: 12px; height: 12px;}
..picker-spr-audience-acl-small-owner-only {background-position: 0px -1112px=
; width: 12px; height: 12px;}
..picker-spr-audience-acl-small-public {background-position: 0px -985px; wid=
th: 12px; height: 12px;}
..picker-spr-back-folder-ltr {background-position: 0px -1012px; width: 21px;=
height: 21px;}
..picker-spr-back-folder-rtl {background-position: 0px -1304px; width: 21px;=
height: 21px;}
..picker-spr-black-close {background-position: -147px -244px; width: 11px; h=
eight: 11px;}
..picker-spr-checkbox-active {background-position: -15px -1140px; width: 24p=
x; height: 24px;}
..picker-spr-checkbox-selected-blue {background-position: 0px -1325px; width=
: 24px; height: 24px;}
..picker-spr-checkbox-selected {background-position: -46px -802px; width: 24=
px; height: 24px;}
..picker-spr-checkmark-checked {background-position: -19px -922px; width: 18=
px; height: 18px;}
..picker-spr-check {background-position: 0px -890px; width: 14px; height: 11=
px;}
..picker-spr-circle-active {background-position: 0px -1373px; width: 14px; h=
eight: 14px;}
..picker-spr-circle-big-white {background-position: -79px -676px; width: 26p=
x; height: 26px;}
..picker-spr-circle-big {background-position: -83px -1112px; width: 26px; he=
ight: 26px;}
..picker-spr-circle-hover {background-position: -147px -230px; width: 14px; =
height: 14px;}
..picker-spr-circle {background-position: -113px -64px; width: 14px; height:=
14px;}
..picker-spr-close-box-small-off {background-position: -79px -945px; width: =
15px; height: 15px;}
..picker-spr-close-box-small-on {background-position: -43px -676px; width: 1=
5px; height: 15px;}
..picker-spr-close-box-tiny-black {background-position: -19px -915px; width:=
7px; height: 7px;}
..picker-spr-close-box-tiny-white {background-position: -82px -985px; width:=
7px; height: 7px;}
..picker-spr-close-min {background-position: -105px -676px; width: 11px; hei=
ght: 11px;}
..picker-spr-collection {background-position: -21px -1077px; width: 16px; he=
ight: 13px;}
..picker-spr-drive-64 {background-position: -88px -1511px; width: 64px; heig=
ht: 64px;}
..picker-spr-drive-black-icon {background-position: -79px -960px; width: 21p=
x; height: 21px;}
..picker-spr-drive-drag-upload-icon {background-position: 0px -422px; width:=
35px; height: 45px;}
..picker-spr-drive-upload-icon {background-position: -149px -1112px; width: =
11px; height: 14px;}
..picker-spr-folder-shared-white {background-position: -4px -289px; width: 2=
1px; height: 21px;}
..picker-spr-folder-white {background-position: -32px -363px; width: 21px; h=
eight: 21px;}
..picker-spr-gmail {background-position: -72px -1388px; width: 16px; height:=
11px;}
..picker-spr-google-logo-large {background-position: -40px -826px; width: 11=
8px; height: 41px;}
..picker-spr-google-logo {background-position: -64px -915px; width: 61px; he=
ight: 28px;}
..picker-spr-google-photos-20 {background-position: -90px -802px; width: 20p=
x; height: 20px;}
..picker-spr-google-photos-24 {background-position: -4px -230px; width: 24px=
; height: 24px;}
..picker-spr-googleplus {background-position: -109px -390px; width: 48px; he=
ight: 48px;}
..picker-spr-grid-view {background-position: 0px -1140px; width: 15px; heigh=
t: 15px;}
..picker-spr-ic-dragfile-bluepng {background-position: 0px -130px; width: 10=
0px; height: 100px;}
..picker-spr-ic-dragfile-blue {background-position: -100px -130px; width: 64=
px; height: 64px;}
..picker-spr-ic-dragfile-grey {background-position: 0px -1447px; width: 64px=
; height: 64px;}
..picker-spr-ic-dragphoto-blue {background-position: -65px -278px; width: 64=
px; height: 64px;}
..picker-spr-ic-dragphoto-grey {background-position: -90px -1240px; width: 6=
4px; height: 64px;}
..picker-spr-ic-dragvideo-blue {background-position: 0px -1511px; width: 64p=
x; height: 64px;}
..picker-spr-ic-dragvideo-grey {background-position: 0px -702px; width: 100p=
x; height: 100px;}
..picker-spr-ic-photos-12 {background-position: -125px -915px; width: 12px; =
height: 12px;}
..picker-spr-ic-photos-20 {background-position: -70px -802px; width: 20px; h=
eight: 20px;}
..picker-spr-ic-remove {background-position: -24px -826px; width: 16px; heig=
ht: 16px;}
..picker-spr-icon-autofix-active {background-position: 0px -802px; width: 24=
px; height: 24px;}
..picker-spr-icon-computer {background-position: -21px -676px; width: 22px; =
height: 20px;}
..picker-spr-icon-cover-photo {background-position: -124px -702px; width: 14=
px; height: 21px;}
..picker-spr-icon-photos-delete-white {background-position: 0px -826px; widt=
h: 24px; height: 24px;}
..picker-spr-icon-photos-delete {background-position: -100px -702px; width: =
24px; height: 24px;}
..picker-spr-icon-remove-active {background-position: -100px -726px; width: =
24px; height: 24px;}
..picker-spr-icon-rotate-ccw-active {background-position: 0px 0px; width: 24=
px; height: 24px;}
..picker-spr-icon-rotate-cw-active {background-position: -64px -1511px; widt=
h: 24px; height: 24px;}
..picker-spr-icon-rotate-left-white {background-position: -43px -936px; widt=
h: 15px; height: 9px;}
..picker-spr-icon-rotate-right-white {background-position: 0px -1402px; widt=
h: 15px; height: 9px;}
..picker-spr-icon-three-dots-active {background-position: -104px 0px; width:=
24px; height: 24px;}
..picker-spr-icon-zoom-max {background-position: 0px -390px; width: 32px; he=
ight: 32px;}
..picker-spr-icon-zoom-min {background-position: 0px -342px; width: 32px; he=
ight: 32px;}
..picker-spr-imagefilter-all-colors {background-position: -21px -1304px; wid=
th: 19px; height: 19px;}
..picker-spr-imagefilter-monochrome {background-position: -109px -1112px; wi=
dth: 19px; height: 19px;}
..picker-spr-inline-image {background-position: -43px -915px; width: 21px; h=
eight: 21px;}
..picker-spr-large-plus-black {background-position: -87px -230px; width: 12p=
x; height: 12px;}
..picker-spr-life-photo-archive-large {background-position: 0px -945px; widt=
h: 79px; height: 40px;}
..picker-spr-life-photo-archive {background-position: -12px -1112px; width: =
55px; height: 28px;}
..picker-spr-list-view {background-position: -55px -262px; width: 15px; heig=
ht: 15px;}
..picker-spr-maps-cancel-en {background-position: 0px -883px; width: 7px; he=
ight: 7px;}
..picker-spr-maps-next-dis {background-position: -128px -867px; width: 6px; =
height: 11px;}
..picker-spr-maps-next-en {background-position: -37px -915px; width: 6px; he=
ight: 11px;}
..picker-spr-maps-prev-dis {background-position: -24px -32px; width: 6px; he=
ight: 11px;}
..picker-spr-maps-prev-en {background-position: -76px -985px; width: 6px; he=
ight: 11px;}
..picker-spr-mic {background-position: 0px -1349px; width: 9px; height: 14px=
;}
..picker-spr-navpane-albums-selected {background-position: -99px -230px; wid=
th: 48px; height: 48px;}
..picker-spr-navpane-albums {background-position: -100px -750px; width: 48px=
; height: 48px;}
..picker-spr-navpane-from-computer-selected {background-position: -109px -43=
8px; width: 30px; height: 28px;}
..picker-spr-navpane-from-computer {background-position: -21px -1049px; widt=
h: 30px; height: 28px;}
..picker-spr-navpane-gdrive-selected {background-position: -24px -1325px; wi=
dth: 48px; height: 48px;}
..picker-spr-navpane-gdrive {background-position: 0px -508px; width: 48px; h=
eight: 48px;}
..picker-spr-navpane-instantupload-selected {background-position: -56px 0px;=
width: 48px; height: 48px;}
..picker-spr-navpane-instantupload {background-position: -53px -342px; width=
: 48px; height: 48px;}
..picker-spr-navpane-url {background-position: -83px -64px; width: 30px; hei=
ght: 30px;}
..picker-spr-navpane-webcam-selected {background-position: 0px -1244px; widt=
h: 48px; height: 48px;}
..picker-spr-navpane-webcam {background-position: -101px -342px; width: 48px=
; height: 48px;}
..picker-spr-navpane-youtube {background-position: -21px -576px; width: 30px=
; height: 30px;}
..picker-spr-new-folder {background-position: -48px -1240px; width: 21px; he=
ight: 21px;}
..picker-spr-no-photo-48 {background-position: -80px -867px; width: 48px; he=
ight: 48px;}
..picker-spr-no-photo-84 {background-position: -72px -1304px; width: 84px; h=
eight: 84px;}
..picker-spr-no-photo {background-position: 0px -476px; width: 32px; height:=
32px;}
..picker-spr-paper-clip {background-position: -69px -1240px; width: 21px; he=
ight: 21px;}
..picker-spr-photo-discard {background-position: -41px -278px; width: 24px; =
height: 24px;}
..picker-spr-photo-icon {background-position: -105px -687px; width: 18px; he=
ight: 14px;}
..picker-spr-photo-upload-cancel {background-position: -41px -302px; width: =
10px; height: 10px;}
..picker-spr-picasa-rectangles {background-position: -19px -867px; width: 61=
px; height: 44px;}
..picker-spr-plus-black {background-position: -32px -342px; width: 21px; hei=
ght: 21px;}
..picker-spr-plus-gray {background-position: -148px -278px; width: 9px; heig=
ht: 9px;}
..picker-spr-profile-rotate-ccw {background-position: 0px -867px; width: 19p=
x; height: 16px;}
..picker-spr-profile-rotate-cw {background-position: -64px -1535px; width: 1=
9px; height: 16px;}
..picker-spr-questionmark {background-position: -123px -676px; width: 16px; =
height: 16px;}
..picker-spr-rio-arrow-menu {background-position: -83px -48px; width: 16px; =
height: 16px;}
..picker-spr-rio-check-active {background-position: -55px -230px; width: 32p=
x; height: 32px;}
..picker-spr-rio-check-checked {background-position: -24px 0px; width: 32px;=
height: 32px;}
..picker-spr-rio-checkmark-active {background-position: -137px -867px; width=
: 24px; height: 24px;}
..picker-spr-rio-checkmark-selected {background-position: -139px -676px; wid=
th: 24px; height: 24px;}
..picker-spr-rio-rotate {background-position: -25px -278px; width: 16px; hei=
ght: 16px;}
..picker-spr-rio-trash {background-position: -67px -1112px; width: 16px; hei=
ght: 16px;}
..picker-spr-rio-upload-big {background-position: -35px -390px; width: 74px;=
height: 86px;}
..picker-spr-rio-upload {background-position: -128px 0px; width: 25px; heigh=
t: 29px;}
..picker-spr-sad-face {background-position: -16px -48px; width: 67px; height=
: 58px;}
..picker-spr-sort-bar {background-position: -55px -1402px; width: 20px; heig=
ht: 20px;}
..picker-spr-sort {background-position: -139px -438px; width: 13px; height: =
18px;}
..picker-spr-toolbar-gray-rotate-ccw {background-position: -94px -945px; wid=
th: 19px; height: 14px;}
..picker-spr-toolbar-gray-rotate-cw {background-position: -36px -1402px; wid=
th: 19px; height: 14px;}
..picker-spr-toolbar-gray-trash {background-position: -75px -1402px; width: =
19px; height: 14px;}
..picker-spr-toolbar-white-rotate-ccw {background-position: -129px -278px; w=
idth: 19px; height: 14px;}
..picker-spr-toolbar-white-rotate-cw {background-position: 0px -915px; width=
: 19px; height: 14px;}
..picker-spr-toolbar-white-trash {background-position: 0px -850px; width: 19=
px; height: 14px;}
..picker-spr-upload-arrow {background-position: -4px -278px; width: 11px; he=
ight: 11px;}
..picker-spr-upload-error {background-position: 0px -48px; width: 16px; heig=
ht: 14px;}
..picker-spr-upload-retry {background-position: -100px -1388px; width: 14px;=
height: 14px;}
..picker-spr-video-play-overlay-small {background-position: -24px -802px; wi=
dth: 22px; height: 22px;}
..picker-spr-video-play-overlay {background-position: -21px -1012px; width: =
37px; height: 37px;}
..picker-spr-video-stars-rtl {background-position: 0px -106px; width: 110px;=
height: 24px;}
..picker-spr-video-stars {background-position: 0px -1423px; width: 110px; he=
ight: 24px;}
..picker-spr-video-upload-icon {background-position: -82px -992px; width: 22=
px; height: 14px;}
..picker-spr-white-checkmark {background-position: -64px -1551px; width: 12p=
x; height: 9px;}
..picker-spr-youtube {background-position: -12px -985px; width: 64px; height=
: 27px;}
..picker-searchbar {margin: 15px 0px 8px 20px;}
..picker-searchbar .jfk-button {background-image: none; vertical-align: midd=
le;}
..picker-searchbar .goog-menu {z-index: 2112;}
..picker-searchbar-input {font-size: 13px; text-align: left;}
..picker-searchbar-input-logo .picker-spr-google-logo {margin-right: 10px;}
..picker-searchbar .picker-searchbar-input-logo {position: relative;}
..picker-searchbar .picker-flat-menu-button {cursor: pointer; height: 14px; =
left: 221px; min-width: 0px; opacity: 0.5; padding: 11px 15px 0px 5px; posi=
tion: absolute; top: 6px;}
..picker-searchbar .picker-flat-menu-button.jfk-button-hover ,.picker-search=
bar .picker-flat-menu-button.jfk-button-focused {opacity: 1;}
..picker-searchbar-input-box.picker-searchbar-dropdownmenu-padding {width: 2=
10px; padding-right: 23px;}
..picker-searchbar .picker-flat-menu-button .picker-spr-arrow-dk-grey-down {=
position: absolute;}
..picker-searchbar-input-logo .picker-spr-life-photo-archive {margin: 0px 6p=
x 0px 2px;}
..picker-searchbar-input-item {vertical-align: bottom;}
..picker-searchbar-input-box {width: 225px; margin: 4px 15px 5px 0px; vertic=
al-align: middle;}
..picker-searchbar-logo .picker-searchbar-input-box {margin-top: 5px;}
..picker-searchbar-input-logo .picker-searchbar-stock-photos ,.goog-menuitem=
-content .picker-searchbar-stock-photos {text-align: left; color: rgb(102, =
102, 102); padding: 6px 4px 0px 0px; margin: 0px; width: auto; height: 22px=
; vertical-align: middle; font-size: 15px; font-weight: bold;}
..picker-searchbar-input-logo .goog-flat-menu-button-caption .picker-spr-goo=
gle-logo {margin: 2px 2px 2px 0px;}
..picker-searchbar-input-logo .goog-flat-menu-button-caption .picker-spr-lif=
e-photo-archive {margin: 2px 6px 2px 2px;}
..picker-searchbar-input-logo .goog-flat-menu-button-caption .picker-searchb=
ar-stock-photos {padding: 2px 0px 0px; height: 30px;}
..goog-menuitem.picker-searchbar-menuitem {padding-right: 13px; padding-left=
: 13px;}
..picker-searchbar-menuitem .goog-menuitem-content {margin-top: -2px;}
..picker-searchbar-input-logo .goog-flat-menu-button.picker-searchbar-combob=
ox-dropdown {border-bottom-right-radius: 0px; border-top-right-radius: 0px;=
height: 32px; margin: 0px; vertical-align: middle;}
..picker-searchbar-input-logo .goog-flat-menu-button.picker-searchbar-combob=
ox-dropdown.goog-flat-menu-button-focused {z-index: 2104;}
..picker-searchbar-combobox .picker-searchbar-input-box {padding-top: 4px; p=
adding-bottom: 3px; margin-left: -1px; position: relative; z-index: 2103;}
..picker-searchbar-combobox .jfk-button {height: 28px; padding-top: 4px;}
..picker-drive-view-switcher {display: inline-block; position: absolute; rig=
ht: 20px; top: 19px;}
..picker-drive-view-switcher-with-drive-sort {right: 58px;}
..picker-drive-view-switcher-button {opacity: 0.55; margin: 6px 12px;}
..picker-doctype-chip {background-color: rgb(218, 228, 246); border: 1px sol=
id rgb(218, 228, 246); border-radius: 2px; display: inline-block; height: 2=
3px; left: 22px; outline: medium none; position: absolute; top: 6px;}
..picker-videos-listview .picker-doctype-chip ,.picker-videos-grid .picker-d=
octype-chip {left: 2px;}
..picker-doctype-chip-label {display: inline-block; font-size: 12px; line-he=
ight: 23px; padding: 0px 3px; vertical-align: top;}
..picker-doctype-chip-dismiss {display: inline-block; padding: 8px 4px;}
..picker-dropdown-menu.picker-doctypes-dropdown-menu {max-height: 70%; width=
: 341px;}
..picker-navhorizontal-new .picker-dropdown-menu.picker-doctypes-dropdown-me=
nu {width: 441px;}
..picker-doctypes-dropdown-menu .picker-dropdown-menuitem-header {padding-bo=
ttom: 0px;}
..picker-dataview .picker-searchbar-input {position: relative;}
..picker-main-container .picker-dataview .picker-searchbar .picker-flat-menu=
-button {left: 321px;}
..picker-dataview .picker-searchbar-input-box.picker-searchbar-dropdownmenu-=
padding {width: 310px;}
..picker-dataview .picker-searchbar-input-box {width: 325px;}
..picker-bloggerinstructions-text {color: rgb(68, 68, 68); font-size: 11px; =
padding: 10px 15px 2px;}
..picker-docsortoptions-menu-button {display: inline-block; min-width: 22px;=
padding-right: 8px; position: absolute; right: 34px; top: 19px;}
..picker-docsortoptions-menu-button .goog-flat-menu-button-dropdown {display=
: none;}
..picker-docsortoptions-menu-button-content {height: 18px; margin: 4px 3px; =
opacity: 0.5;}
..picker-docsortoptions-selector {border-bottom: 1px solid rgb(229, 229, 229=
); padding-bottom: 4px; padding-top: 8px; position: relative;}
..picker-docsortoptions-title {color: rgb(170, 170, 170); cursor: pointer; d=
isplay: inline-block; font-size: 11px; font-weight: bold; margin-left: 70px=
; text-transform: uppercase; vertical-align: top;}
..picker-docsortoptions-label {color: rgb(170, 170, 170); display: inline-bl=
ock; font-size: 11px; font-weight: bold; position: absolute; right: 40px; t=
ext-transform: uppercase; vertical-align: top;}
..picker-docsortoptions-active.picker-docsortoptions-title ,.picker-docsorto=
ptions-active.picker-docsortoptions-label {color: rgb(221, 75, 57);}
..picker-docsortoptions-button {display: inline-block; position: absolute; r=
ight: 20px; vertical-align: top;}
..picker-docsortoptions-grid-view .picker-docsortoptions-label {display: inl=
ine-block; margin-left: 40px; position: static;}
..picker-docsortoptions-grid-view .picker-docsortoptions-button {display: in=
line-block; margin-left: 6px; position: static;}
..picker-dropdown-menu.picker-sort-dropdown-menu {max-width: 30%; width: ini=
tial;}
..picker-sort-dropdown-menu .goog-menuitem {min-width: 0px; padding-left: 20=
px;}
..picker-sort-dropdown-menu .goog-menuitem-content {overflow: hidden; text-o=
verflow: ellipsis;}
..picker-promo-table {position: absolute; top: 0px; left: 0px; height: 100%;=
width: 100%; border-spacing: 15px; margin-top: -15px;}
..picker-promo-logo {margin: 15px;}
..picker-promo-text {font-size: 13px; color: rgb(170, 170, 170); width: 420p=
x;}
..picker-promo-title {font-size: 13px; color: rgb(0, 0, 0); font-weight: bol=
d; margin-bottom: 10px; width: 420px;}
..picker-uploadbar {color: rgb(68, 68, 68); font-size: 11px; margin-bottom: =
15px; white-space: nowrap;}
..picker-uploadbar .jfk-button {margin: 15px 15px 5px;}
..picker-uploadbar .picker-spr-upload-arrow {margin-right: 6px;}
..picker-uploadbar-msg {padding: 4px 15px;}
..picker-uploadbar-separator {margin-top: 7px; border-top: 1px solid rgb(221=
, 221, 221);}
..picker-uploadbar-htmlfileinput {margin: 14px 14px 3px;}
..picker-main-container {position: absolute; height: 100%; width: 100%;}
..picker-modal-dialog {box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2); -moz-use=
r-select: none; background: rgb(255, 255, 255) none repeat scroll 0% 0%; bo=
rder: 1px solid rgb(172, 172, 172); color: rgb(0, 0, 0); position: absolute=
; z-index: 2101; outline: medium none;}
..picker-modal-dialog-content {width: 705px; height: 370px; padding: 0px; ma=
rgin: 0px; position: relative;}
..picker-modal-dialog-bg {background: rgb(255, 255, 255) none repeat scroll =
0% 0%; left: 0px; position: absolute; top: 0px; z-index: 2100;}
..picker-modal-dialog-title {-moz-user-select: none; background: rgb(255, 25=
5, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); cursor: move; font-s=
ize: 20px; padding: 6px 8px 15px; position: relative; vertical-align: middl=
e; border-top: 10px solid rgb(255, 255, 255); border-left: 10px solid rgb(2=
55, 255, 255); border-right: 10px solid rgb(255, 255, 255);}
..picker-modal-dialog-title-text {display: block; overflow: hidden; text-ove=
rflow: ellipsis; white-space: nowrap;}
..picker-modal-dialog-title-close {cursor: pointer; position: absolute; righ=
t: 0px; top: 10px; opacity: 0.7;}
..picker-modal-dialog-dogfood-confidential-text {color: rgb(221, 75, 57); fo=
nt-size: 13px; font-weight: bold; overflow: hidden; position: absolute; rig=
ht: 30px; top: 10px; text-transform: uppercase;}
..picker-modal-dialog-title-close-hover {opacity: 1;}
..picker-modal-dialog-buttons {display: none;}
..picker-modal-dialog-content {border: 0px none;}
..picker-main-container .goog-buttonset-default {font-weight: bold;}
div.picker-navpane-root {position: relative; left: 0px; right: 0px; width: =
auto;}
..picker-content {width: auto; height: auto;}
..picker-searchbar-input-box {font-size: 13px;}
..picker-form {margin: 0px; padding: 0px;}
..picker-main-container .goog-toolbar {border: 0px none; background: rgba(0,=
0, 0, 0) none repeat scroll 0px center;}
..picker-header-close {display: none;}
..picker-contactbin-chip-holder .picker-contactbin-input {width: 130px;}
..picker-album-control {border: 2px solid transparent; color: rgb(68, 68, 68=
); cursor: pointer; font-size: 11px; margin: 6px; position: relative; verti=
cal-align: top; outline: medium none;}
..picker-album-control-album-tile {box-shadow: 0px 1px 0px rgb(218, 218, 218=
); background-color: rgb(255, 255, 255); border: 1px solid rgb(229, 229, 22=
9); height: 158px; width: 163px;}
..picker-album-control:active ,.picker-album-control-checked {border: 2px so=
lid rgb(77, 144, 254);}
..picker-album-control-checked .picker-album-control-album-tile ,.picker-alb=
um-control-focused .picker-album-control-album-tile {box-shadow: none; bord=
er: 1px solid rgb(77, 144, 254);}
..picker-album-control-thumbs {height: 110px; width: 163px;}
..picker-album-control-thumb {border: medium none; height: 110px; padding: 0=
px; width: 163px;}
..picker-album-control-no-cover-thumb {background-color: rgb(238, 238, 238);=
opacity: 1 !important;}
..picker-album-control-title {margin: 0px; overflow: hidden; text-overflow: =
ellipsis; vertical-align: top; white-space: nowrap; width: 80%;}
..picker-album-control-photo-count-date {margin: 0px; overflow: hidden; text=
-overflow: ellipsis; vertical-align: top; white-space: nowrap; width: 80%; =
color: rgb(186, 186, 186); padding: 6px 0px 0px 7px;}
..picker-album-control-title {color: rgb(38, 38, 38); font-size: 13px; font-=
weight: bold; height: 20px; padding: 8px 10px 0px;}
..picker-album-control-photo-count {bottom: 9px; color: rgb(170, 170, 170); =
font-size: 11px; padding: 0px 10px; position: absolute;}
..picker-album-control-visibility .picker-spr-audience-acl-small-owner-only =
,.picker-album-control-visibility .picker-spr-audience-acl-small-limited ,.=
picker-album-control-visibility .picker-spr-audience-acl-small-extended-cir=
cles ,.picker-album-control-visibility .picker-spr-audience-acl-small-domai=
n-public ,.picker-album-control-visibility .picker-spr-audience-acl-small-p=
ublic {opacity: 0.4; bottom: 11px; display: inline-block; height: 12px; pos=
ition: absolute; right: 10px; vertical-align: top; width: 12px;}
..picker-album-control-thumbs .picker-spr-rio-checkmark-active ,.picker-albu=
m-control-thumbs .picker-spr-rio-checkmark-selected {display: inline-block;=
left: 5px; opacity: 0; position: absolute; top: 5px;}
..picker-album-control-hover .picker-spr-rio-checkmark-active ,.picker-album=
-control-focused .picker-spr-rio-checkmark-active {opacity: 0.7;}
..picker-album-control-checked .picker-spr-rio-checkmark-selected {opacity: =
1;}
..ozAppNoFocusOutline .picker-album-control {outline: 0px none;}
..picker-albumname .picker-photoupload-albumchooser {margin-right: 10px;}
..picker-albumname .picker-photoupload-albumchooser-select .goog-flat-menu-b=
utton-caption {overflow: hidden; text-overflow: ellipsis; white-space: nowr=
ap; width: 148px;}
..picker-albumname .picker-photoupload-albumchooser-select {margin-left: 2px=
; position: relative; top: -1px; width: 168px;}
..picker-camerasyncseparator {cursor: default; font-size: 12px; padding: 10p=
x 0px 7px;}
..picker-camerasyncseparator-checkbox {cursor: pointer; display: inline-bloc=
k; opacity: 0.3; transition: opacity 0.218s ease 0s; vertical-align: middle=
;}
..picker-camerasyncseparator-checkbox.picker-hover ,.picker-camerasyncsepara=
tor.picker-selected .picker-camerasyncseparator-checkbox {opacity: 1;}
..picker-camerasyncseparator.picker-selected .picker-camerasyncseparator-che=
ckbox.picker-hover {opacity: 0.8;}
..picker-camerasyncseparator-title {display: inline-block; font-size: 18px; =
padding: 2px 12px 0px 6px; vertical-align: middle;}
..picker-camerasyncseparator-details {display: inline-block; padding: 4px 12=
px 0px 0px; vertical-align: middle;}
..picker-camerasyncseparator-select-link {color: rgb(17, 85, 204); cursor: p=
ointer; display: inline-block; padding-top: 4px; vertical-align: middle;}
..picker-camerasyncseparator-select-link.picker-hover {text-decoration: unde=
rline;}
..picker-collection-control-title {color: rgb(68, 68, 68); display: inline-b=
lock; font-size: 14px; height: 16px; margin-bottom: 2px; margin-top: 10px; =
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
..picker-collection-control-totalitems ,.picker-collection-control-timestamp=
{color: rgb(170, 170, 170); display: inline-block; font-size: 11px; margin=
: 0px 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
..picker-collection-control-timestamp::before {color: rgb(170, 170, 170); co=
ntent: "*"; font-size: 5px; vertical-align: middle;}
..picker-collection-control .picker-photosgrid .picker-dataview-content {pad=
ding: 0px;}
..picker-collection-control .picker-content {height: 100%; position: relativ=
e; overflow: visible;}
..picker-collectionsgrid {padding-left: 18px;}
..picker-collection-control-border {opacity: 0; transition: opacity 0.218s e=
ase 0s; position: relative;}
..picker-collection-control-checked .picker-collection-control-border {borde=
r: 5px solid rgb(66, 133, 244); padding: 0px; max-height: 207px;}
..picker-collection-control {cursor: default; display: inline-block; margin:=
5px 10px 0px 0px; padding: 0px 10px; outline: medium none; text-align: lef=
t; vertical-align: middle;}
..picker-docscollection-control {position: relative; margin: 10px; cursor: p=
ointer;}
..picker-docscollection-control-preview-container {position: relative;}
..picker-docscollection-control-preview-content {border: 6px solid transpare=
nt; bottom: 0px; left: 31px; position: absolute;}
..picker-docscollection-control-checked .picker-docscollection-control-previ=
ew-content {border: 6px solid rgb(77, 144, 254);}
..picker-docscollection-control-hover .picker-docscollection-control-preview=
-content {background-color: rgb(252, 249, 204);}
..picker-docscollection-control-focused .picker-docscollection-control-previ=
ew-content {outline: 1px solid rgb(66, 133, 244);}
..picker-docscollection-control-preview {background: rgb(238, 238, 238) none=
repeat scroll 0% 0%; border: 1px solid rgb(206, 206, 206); height: 116px; =
outline: medium none; position: relative; width: 116px;}
..picker-docscollection-control-child-1 {position: absolute; border: 1px sol=
id rgb(206, 206, 206); width: 116px; height: 116px; left: 2px; top: 2px;}
..picker-docscollection-control-child-2 {position: absolute; border: 1px sol=
id rgb(206, 206, 206); width: 116px; height: 116px; left: 4px; top: 4px;}
..picker-docscollection-control-preview .picker-spr-collection {display: inl=
ine-block; position: absolute; left: 51px; top: 51px;}
..picker-docscollection-control .jfk-checkbox {background-color: rgb(252, 24=
9, 204); display: none; outline: 4px solid rgb(252, 249, 204); position: ab=
solute; top: 1px;}
..picker-docscollection-control .jfk-checkbox.jfk-checkbox-checked {backgrou=
nd-color: rgb(255, 255, 255); display: inline-block; outline: medium none;}
..picker-docscollection-control-hover .jfk-checkbox {display: inline-block;}
..picker-dataview.picker-docs-images-view {padding-top: 0px;}
..picker-docs-images-view .new-upload-box .picker-photo-control-placeholder =
{border: 0px none;}
..picker-docs-images-label {font-size: 12px; overflow: hidden; padding-botto=
m: 6px; padding-top: 6px; text-align: center; text-overflow: ellipsis; whit=
e-space: nowrap;}
..picker-docs-images-preview {position: relative;}
..picker-docs-images-preview-content {border: 6px solid transparent; bottom:=
0px; outline: medium none; position: absolute;}
..picker-docs-images-focused .picker-docs-images-preview-content {outline: 1=
px solid rgb(66, 133, 244);}
..picker-docs-images-checked .picker-docs-images-preview-content {border: 6p=
x solid rgb(77, 144, 254);}
..picker-docs-images-preview-content .jfk-checkbox {background-color: rgb(25=
2, 249, 204); display: none; outline: 4px solid rgb(252, 249, 204); positio=
n: absolute; top: 1px;}
..picker-docs-images-preview-content .jfk-checkbox.jfk-checkbox-checked {bac=
kground-color: rgb(255, 255, 255); display: inline-block; outline: medium n=
one;}
..picker-docs-images-hover .picker-docs-images-preview-content .jfk-checkbox=
{display: inline-block;}
..picker-docs-images-preview-placeholder {border: 1px solid rgb(229, 229, 22=
9); bottom: 0px; outline: medium none; position: absolute;}
..picker-docs-images-hover .picker-docs-images-preview-content {background-c=
olor: rgb(252, 249, 204);}
..picker-photo-control-unselectable.picker-docs-images-hover .picker-docs-im=
ages-preview-content {background-color: transparent;}
..picker-photo-control-unselectable.picker-docs-images-hover .jfk-checkbox {=
display: none;}
..picker-photo-control-unselectable.picker-docs-images-container {opacity: 0=
..3; position: relative;}
..picker-docs-images-container {margin: 10px;}
..picker-docs-images-preview .nub-loading {display: none;}
..picker-drive-view .picker-searchbar {border-bottom: 1px solid rgb(229, 229=
, 229); margin-bottom: 0px; margin-left: 0px; padding-bottom: 15px;}
..picker-main-container .picker-drive-view.picker-dataview .picker-searchbar=
.picker-flat-menu-button {left: 341px;}
..picker-drive-view .picker-searchbar-input-logo ,.picker-drive-view .picker=
-searchbar-input {padding-left: 20px;}
..picker-dataview.picker-drive-view {overflow-y: hidden;}
..picker-drive-view .picker-content-container {bottom: 0px; left: 0px; overf=
low-y: auto; position: absolute; right: 0px; top: 69px;}
..picker-docs-images-view .picker-dataview-content {padding-left: 13px; padd=
ing-top: 10px;}
..picker-caption-bubble .picker-edit-caption-instructions {color: rgb(0, 0, =
0); font-size: 13px; margin-top: 3px;}
..picker-caption-bubble .picker-edit-caption-popup {padding: 0px 16px 0px 0p=
x; border: 0px none; margin: 0px;}
..picker-caption-bubble {z-index: 2112 !important;}
..picker-edit-caption {z-index: 2109; position: absolute;}
..picker-crop-content .picker-edit-caption {margin-top: 8px;}
..picker-crop-content .picker-edit-caption-hint {margin-top: 2px;}
..picker-crop-content .picker-edit-caption-popup {margin: 1px 0px 2px;}
..picker-edit-caption-hint ,.picker-crop-content .picker-edit-caption-hover =
..picker-edit-caption-hint {color: rgb(17, 85, 204); font-size: 13px; width:=
100%; overflow: hidden; text-align: center; text-overflow: ellipsis; white=
-space: nowrap; position: absolute; cursor: pointer;}
..picker-crop-content .picker-edit-caption-hint {color: rgb(153, 153, 153);}
..picker-edit-caption-hint.picker-video-control-metadata {text-align: left; =
width: 100%; margin-left: 0px;}
..picker-edit-caption-hint .picker-video-control-title {color: rgb(17, 85, 2=
04);}
..picker-edit-caption-input {width: 100%; margin: 0px 0px 0px -2px;}
..picker-edit-caption-instructions {color: rgb(102, 102, 102); font-size: 10=
px; margin-top: 2px;}
..picker-edit-caption-popup {background: rgb(255, 255, 255) none repeat scro=
ll 0% 0%; padding: 4px; border: 1px solid rgb(102, 102, 102); margin: 0px 0=
px 2px;}
..picker-crop-content .picker-edit-caption-popup {border: 1px solid transpar=
ent;}
..picker-main-container .picker-edit-toolbar-overlay {background-attachment:=
scroll; background-clip: border-box; position: relative; z-index: 2106; fo=
nt: 12px Roboto,Arial,sans-serif; margin: 0px; outline: medium none; paddin=
g: 0px;}
..picker-main-container .picker-edit-toolbar-overlay-background-dark {positi=
on: absolute; z-index: 2107; background-color: rgb(0, 0, 0); opacity: 0.6; =
width: 100%; height: 100%;}
..picker-main-container .picker-edit-toolbar-overlay-container {position: re=
lative; z-index: 2108;}
..picker-edit-toolbar-manager {position: relative;}
..picker-edit-toolbar {cursor: default; position: relative; z-index: 2106; f=
ont: 12px Roboto,Arial,sans-serif; margin: 0px; outline: medium none; paddi=
ng: 2px; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%; border: 0px=
none;}
..picker-edit-toolbar .goog-toolbar-button {margin: 0px; border: 0px none; p=
adding: 0px; font-family: Roboto,Arial,sans-serif; color: rgb(51, 51, 51); =
text-decoration: none; list-style: outside none none; vertical-align: middl=
e; cursor: default; outline: medium none; opacity: 0.8;}
..picker-edit-toolbar .goog-toolbar-button-outer-box ,.picker-edit-toolbar .=
goog-toolbar-button-inner-box {border: 0px none; vertical-align: top;}
..picker-edit-toolbar .goog-toolbar-button-outer-box {margin: 0px; padding: =
1px 0px;}
..picker-edit-toolbar .goog-toolbar-button-inner-box {margin: 0px -1px; padd=
ing: 3px 4px;}
* html .picker-edit-toolbar .goog-toolbar-button-inner-box ,body .picker-ed=
it-toolbar .goog-toolbar-button-inner-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-button-o=
uter-box ,body .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-=
button-outer-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-button-i=
nner-box ,body .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-=
button-inner-box {right: auto;}
:first-child + html .picker-edit-toolbar .goog-toolbar-button-inner-box {le=
ft: -1px;}
:first-child + html .picker-edit-toolbar .goog-toolbar-button-rtl .goog-too=
lbar-button-inner-box {left: 1px; right: auto;}
..picker-edit-toolbar .goog-toolbar-button-disabled {opacity: 0.3;}
..picker-edit-toolbar .goog-toolbar-button-disabled .goog-toolbar-button-out=
er-box ,.picker-edit-toolbar .goog-toolbar-button-disabled .goog-toolbar-bu=
tton-inner-box {color: rgb(51, 51, 51) !important; border-color: rgb(153, 1=
53, 153) !important;}
* html .picker-edit-toolbar .goog-toolbar-button-disabled ,:first-child + h=
tml .picker-edit-toolbar .goog-toolbar-button-disabled ,body .picker-edit-t=
oolbar .goog-toolbar-button-disabled {background-color: rgb(238, 238, 238);=
margin: 0px 1px; padding: 0px 1px;}
..picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-outer-=
box ,.picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button-=
outer-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-toolbar-=
button-outer-box ,.picker-edit-toolbar .goog-toolbar-button-selected .goog-=
toolbar-button-outer-box {border-width: 1px 0px; border-style: solid; paddi=
ng: 0px;}
..picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-inner-=
box ,.picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button-=
inner-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-toolbar-=
button-inner-box ,.picker-edit-toolbar .goog-toolbar-button-selected .goog-=
toolbar-button-inner-box {border-width: 0px 1px; border-style: solid; paddi=
ng: 3px;}
..picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-outer-=
box ,.picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-i=
nner-box {border-color: transparent !important;}
..picker-edit-toolbar .goog-toolbar-button-hover ,.picker-edit-toolbar .goog=
-toolbar-button-active ,.picker-edit-toolbar .goog-toolbar-button-checked ,=
..picker-edit-toolbar .goog-toolbar-button-selected {background-color: trans=
parent !important; opacity: 1;}
..picker-edit-toolbar .goog-toolbar-button-hover ,.picker-edit-toolbar .goog=
-toolbar-button-active ,.picker-edit-toolbar .goog-toolbar-button-checked ,=
..picker-edit-toolbar .goog-toolbar-button-selected {background: rgba(0, 0, =
0, 0) none repeat scroll 0% 0%;}
..picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button-outer=
-box ,.picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button=
-inner-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-toolbar=
-button-outer-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-=
toolbar-button-inner-box ,.picker-edit-toolbar .goog-toolbar-button-selecte=
d .goog-toolbar-button-outer-box ,.picker-edit-toolbar .goog-toolbar-button=
-selected .goog-toolbar-button-inner-box {border-color: transparent;}
..picker-edit-toolbar .goog-toolbar-button-collapse-right ,.picker-edit-tool=
bar .goog-toolbar-button-collapse-right .goog-toolbar-button-outer-box ,.pi=
cker-edit-toolbar .goog-toolbar-button-collapse-right .goog-toolbar-button-=
inner-box {margin-right: 0px;}
..picker-edit-toolbar .goog-toolbar-button-collapse-left ,.picker-edit-toolb=
ar .goog-toolbar-button-collapse-left .goog-toolbar-button-outer-box ,.pick=
er-edit-toolbar .goog-toolbar-button-collapse-left .goog-toolbar-button-inn=
er-box {margin-left: 0px;}
* html .picker-edit-toolbar .goog-toolbar-button-collapse-left .goog-toolba=
r-button-inner-box ,:first-child + html .picker-edit-toolbar .goog-toolbar-=
button-collapse-left .picker-edit-toolbar .goog-toolbar-button-inner-box ,b=
ody .picker-edit-toolbar .goog-toolbar-button-collapse-left .goog-toolbar-b=
utton-inner-box {left: 0px;}
..picker-edit-toolbar .goog-toolbar-menu-button {margin: 0px 2px; border: 0p=
x none; padding: 0px; font-family: Roboto,Arial,sans-serif; color: rgb(51, =
51, 51); text-decoration: none; list-style: outside none none; vertical-ali=
gn: middle; cursor: default; outline: medium none;}
..picker-edit-toolbar .goog-toolbar-menu-button-outer-box ,.picker-edit-tool=
bar .goog-toolbar-menu-button-inner-box {border: 0px none; vertical-align: =
top;}
..picker-edit-toolbar .goog-toolbar-menu-button-outer-box {margin: 0px; padd=
ing: 1px 0px;}
..picker-edit-toolbar .goog-toolbar-menu-button-inner-box {margin: 0px -1px;=
padding: 3px 4px;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-inner-box ,body .pick=
er-edit-toolbar .goog-toolbar-menu-button-inner-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-rtl .goog-toolbar-men=
u-button-outer-box ,body .picker-edit-toolbar .goog-toolbar-menu-button-rtl=
.goog-toolbar-menu-button-outer-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-rtl .goog-toolbar-men=
u-button-inner-box ,body .picker-edit-toolbar .goog-toolbar-menu-button-rtl=
.goog-toolbar-menu-button-inner-box {right: auto;}
:first-child + html .picker-edit-toolbar .goog-toolbar-menu-button-inner-bo=
x {left: -1px;}
:first-child + html .picker-edit-toolbar .goog-toolbar-menu-button-rtl .pic=
ker-edit-toolbar .goog-toolbar-menu-button-inner-box {left: 1px; right: aut=
o;}
..picker-edit-toolbar .goog-toolbar-menu-button-disabled {opacity: 0.3;}
..picker-edit-toolbar .goog-toolbar-menu-button-disabled .goog-toolbar-menu-=
button-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-disabled .=
goog-toolbar-menu-button-inner-box {color: rgb(51, 51, 51) !important; bord=
er-color: rgb(153, 153, 153) !important;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-disabled ,:first-chil=
d + html .picker-edit-toolbar .goog-toolbar-menu-button-disabled ,body .pic=
ker-edit-toolbar .goog-toolbar-menu-button-disabled {background-color: rgb(=
238, 238, 238); margin: 0px 1px; padding: 0px 1px;}
..picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-toolbar-menu-but=
ton-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-active .goog-=
toolbar-menu-button-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-butt=
on-open .goog-toolbar-menu-button-outer-box {border-width: 1px 0px; border-=
style: solid; padding: 0px;}
..picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-toolbar-menu-but=
ton-inner-box ,.picker-edit-toolbar .goog-toolbar-menu-button-active .goog-=
toolbar-menu-button-inner-box ,.picker-edit-toolbar .goog-toolbar-menu-butt=
on-open .goog-toolbar-menu-button-inner-box {border-width: 0px 1px; border-=
style: solid; padding: 3px;}
..picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-toolbar-menu-but=
ton-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-t=
oolbar-menu-button-inner-box {border-color: rgb(192, 192, 192) !important;}
..picker-edit-toolbar .goog-toolbar-menu-button-active ,.picker-edit-toolbar=
.goog-toolbar-menu-button-open {background-color: rgb(238, 238, 238) !impo=
rtant;}
..picker-edit-toolbar .goog-toolbar-menu-button-active .goog-toolbar-menu-bu=
tton-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-active .goog=
-toolbar-menu-button-inner-box ,.picker-edit-toolbar .goog-toolbar-menu-but=
ton-open .goog-toolbar-menu-button-outer-box ,.picker-edit-toolbar .goog-to=
olbar-menu-button-open .goog-toolbar-menu-button-inner-box {border-color: r=
gb(187, 187, 187);}
..picker-edit-toolbar .goog-toolbar-menu-button-caption {padding: 0px 4px 0p=
x 0px; vertical-align: middle;}
..picker-edit-toolbar .goog-toolbar-menu-button-dropdown {width: 7px; backgr=
ound: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/editortoolbar.png") no=
-repeat scroll -388px center; vertical-align: middle;}
..picker-edit-toolbar .goog-toolbar-separator {margin: 0px 2px; border-left:=
1px solid rgb(214, 214, 214); border-right: 1px solid rgb(247, 247, 247); =
padding: 0px; width: 0px; text-decoration: none; list-style: outside none n=
one; outline: medium none; vertical-align: middle; line-height: normal; fon=
t-size: 120%; overflow: hidden;}
..picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-outer-b=
ox {border-width: 1px 0px; border-style: solid; padding: 0px;}
..picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-inner-b=
ox {border-width: 0px 1px; border-style: solid; padding: 3px;}
..picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-outer-b=
ox ,.picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-inn=
er-box {border-color: rgb(191, 203, 223);}
..picker-actionpane-evph-message {position: absolute; top: 50%; height: 18px=
; margin-top: -9px; font-size: 13px; color: rgb(102, 102, 102);}
..picker-actionpane-evph-people {font-size: 13px; color: rgb(34, 34, 34); wi=
dth: 284px;}
..picker-actionpane-evph-people-title {font-weight: bold; padding-bottom: 8p=
x;}
..picker-actionpane-evph-people-img {border-radius: 2px; margin-right: 1px; =
border: 0px none;}
..picker-evph-people-jfk-bubble {z-index: 2200 !important;}
..picker-evph-plain-link {color: rgb(17, 85, 204); text-decoration: none; cu=
rsor: pointer;}
..picker-eventtheme-view .picker-listrenderer-table {margin: 15px 0px;}
..picker-eventtheme-border {position: relative; border: 1px solid rgb(204, 2=
04, 204);}
..picker-eventtheme-control-tablerow {outline: medium none;}
..picker-eventtheme-media {vertical-align: middle; cursor: pointer;}
..picker-eventtheme-control-tablerow.picker-list-control-checked {background=
-color: transparent;}
..picker-eventtheme {border: 6px solid transparent; margin: 5px 20px;}
..picker-list-control-checked.picker-list-control-focused .picker-eventtheme=
,.picker-list-control-checked .picker-eventtheme {border: 6px solid rgb(74=
, 151, 223);}
..picker-list-control-focused .picker-eventtheme-border {border: 1px solid r=
gb(77, 144, 254);}
..picker-flatphotosgrid .picker-flatphoto-control-wrapper.picker-featuredpho=
to-control {font-size: 12px; height: 170px; position: relative;}
..picker-featuredphoto-caption {overflow: hidden; position: absolute; text-a=
lign: left; text-overflow: ellipsis; white-space: nowrap;}
..picker-gmailfeaturedphoto-caption {bottom: 5px; box-sizing: border-box; ov=
erflow: hidden; position: absolute; text-overflow: ellipsis; white-space: n=
owrap; width: 100%;}
..picker-flatphotosgrid .picker-flatphoto-control-border {opacity: 0; transi=
tion: opacity 0.218s ease 0s; padding: 5px; position: relative;}
..picker-flatphoto-control-checked .picker-flatphoto-control-border {border:=
5px solid rgb(66, 133, 244); padding: 0px;}
..picker-flatphoto-control-focused .picker-flatphoto-control-border {outline=
: 1px solid rgb(66, 133, 244);}
..picker-flatphotosgrid .picker-flatphoto-control-wrapper {cursor: pointer; =
display: inline-block; margin: 10px; outline: medium none; text-align: cent=
er; vertical-align: middle;}
..picker-flatphotosgrid .picker-flatphoto-control-wrapper-with-description {=
position: relative;}
..picker-flatphoto-control-description {font-size: 12px; bottom: 5px; box-si=
zing: border-box; overflow: hidden; padding: 0px 5px; position: absolute; t=
ext-overflow: ellipsis; white-space: nowrap; width: 100%;}
..picker-flatphotosgrid .picker-flatphoto-control-thumbnail {max-height: 100=
%; max-width: 100%;}
..picker-flatphotosgrid .picker-flatphoto-control-hover .picker-flatphoto-co=
ntrol-check {opacity: 0.7;}
..picker-flatphotosgrid .picker-flatphoto-control-checked .picker-flatphoto-=
control-check {opacity: 1; top: 5px; left: 5px;}
..picker-flatphotosgrid .picker-flatphoto-control-check {opacity: 0; transit=
ion: opacity 0.218s ease 0s; position: absolute; top: 10px; left: 10px; z-i=
ndex: 2104;}
..picker-flatphotosgrid .picker-spr-rio-checkmark-selected {animation: 0.3s =
linear 0s normal none 1 running pickerPhotosSelectionOverlayCheckmarkSelect=
edTransition;}
..picker-flatphoto-control-unselectable {opacity: 0.3;}
..picker-flatphoto-control-unselectable .picker-flatphoto-control-check {dis=
play: none;}
..picker-flatphoto-message .picker-dataview-message {color: rgb(51, 51, 51);=
font-size: 16px; height: 16px; line-height: 16px; margin-top: -8px; positi=
on: absolute; text-align: center; top: 50%; width: 100%;}
..picker-highlightsphoto-control-border {opacity: 0; transition: opacity 0.2=
18s ease 0s; overflow: hidden;}
..picker-highlightsphoto-control-checked .picker-highlightsphoto-control-bor=
der {display: inline-block; position: relative;}
..picker-highlightsphoto-control-checked .picker-highlightsphoto-control-inn=
er-border {border: 3px solid rgb(66, 133, 244); display: inline-block; left=
: 0px; opacity: 1; position: absolute; top: 0px; z-index: 2104;}
..picker-highlightsphoto-control-focused {outline: medium none;}
..picker-highlightsphoto-control-focused .picker-highlightsphoto-control-bor=
der {outline: 1px solid rgb(66, 133, 244);}
..picker-highlightsphoto-control {cursor: pointer; display: inline-block; ve=
rtical-align: top;}
..picker-highlightsphoto-control-border {display: inline-block; margin: 1px;=
position: relative;}
..picker-highlightsphoto-control-inner-border {border: 3px solid transparent=
; display: none;}
..picker-highlightsphoto-control-hover {opacity: 0.7;}
..picker-highlightsphoto-control-checked {opacity: 1;}
..picker-highlightsphoto-control-hover .picker-highlightsphoto-control-check=
{opacity: 0.7;}
..picker-highlightsphoto-control-checked .picker-highlightsphoto-control-che=
ck {opacity: 1; left: 10px; top: 10px;}
..picker-highlightsphoto-control-check {transition: opacity 0.218s ease 0s; =
left: 10px; opacity: 0; position: absolute; top: 10px; z-index: 2104;}
..picker-highlightsphoto-control-unselectable {opacity: 0.3;}
..picker-highlightsphoto-control-unselectable .picker-highlightsphoto-contro=
l-check {display: none;}
..picker-momentscontrol-wrapper .picker-flatphoto-control-border {display: i=
nline-block; vertical-align: middle;}
..picker-momentscontrol-wrapper .picker-flatphoto-control-thumbnail {display=
: block;}
..picker-momentscontrol-wrapper.picker-flatphoto-control-wrapper {line-heigh=
t: 140px;}
..picker-momentchapter-title {color: rgb(85, 85, 85); font-size: 15px; font-=
weight: bold; padding: 20px 0px 0px 20px;}
..picker-collection-more-control {transition: background-color 130ms ease-in=
-out 0s; background-color: rgb(229, 229, 229); cursor: pointer; display: in=
line-block; margin: 1px; text-align: center; vertical-align: top; width: 40=
px;}
..picker-collection-more-control-content ,.picker-collection-more-control-im=
g {display: inline-block; margin: auto;}
..picker-collection-more-control-text {color: rgb(153, 153, 153); display: i=
nline-block; font-size: 12px; margin: 0px 2px; text-align: center; width: 3=
5px;}
..picker-collection-more-control-focused {outline: 1px solid rgb(66, 133, 24=
4);}
..picker-collection-more-control-hover {background-color: rgb(224, 224, 224)=
;}
..picker-noitemszone {height: 100%; left: 0px; position: absolute; text-alig=
n: center; top: 0px; width: 100%;}
..picker-noitemszone-container {text-align: center;}
..picker-noitemszone-text {color: rgb(170, 170, 170); font-size: 14px; font-=
weight: bold; margin: 20px 0px; text-align: center;}
..picker-noitemszone-title {color: rgb(170, 170, 170); font-size: 20pt; font=
-weight: bold; margin: 20px 0px; text-align: center;}
..picker-noitemszone-container .jfk-button {margin: 20px 0px;}
..picker-photo-album-control {border-bottom: 1px solid rgb(218, 218, 218); c=
ursor: pointer; font-size: 13px; left: -18px; outline: 0px none; padding: 2=
0px 25px; position: relative; top: -15px; width: 100%;}
..picker-photo-album-control-hover ,.picker-photo-album-control-focused {bac=
kground: rgb(243, 243, 243) none repeat scroll 0% 0%;}
..picker-photo-album-control-checked {background: rgb(77, 144, 254) none rep=
eat scroll 0% 0%; color: rgb(255, 255, 255);}
..picker-photo-album-control-title {padding-right: 10px;}
..picker-photo-album-control-new-album-label {padding-bottom: 8px;}
..picker-photo-album-control-name-edit {border-radius: 1px; box-sizing: bord=
er-box; border: 1px solid rgb(216, 216, 216); color: rgb(51, 51, 51); displ=
ay: inline-block; height: 29px; line-height: 20px; margin: 0px; padding: 8p=
x; width: 325px;}
..picker-photo-album-control-date {color: rgb(153, 153, 153); font-size: 12p=
x; padding-right: 5px;}
..picker-photo-album-control-checked .picker-photo-album-control-date {color=
: rgb(204, 204, 204);}
..picker-photo-album-control-caption {color: rgb(102, 102, 102); font-size: =
12px; padding-right: 8px;}
..picker-photo-album-control-checked .picker-photo-album-control-caption {co=
lor: rgb(204, 204, 204);}
..picker-photo-album-control-thumbs {height: 65px; overflow: hidden;}
..picker-photo-album-control-thumb {background-color: rgb(255, 255, 255); bo=
rder: 1px solid rgb(221, 221, 221); height: 48px; margin: 5px 8px 3px 1px; =
padding: 2px; width: 48px;}
..picker-photoalbumsview-actionpane-notice {cursor: default; float: right; h=
eight: 100%; margin-left: -30px;}
..picker-photoalbumsview-actionpane-notice .picker-actionpane-notice-td {col=
or: rgb(119, 119, 119); font-size: 11px; padding-right: 20px; text-align: r=
ight;}
..picker-curation-album-name-bar-album-select ,.picker-curation-album-name-b=
ar-album-select.goog-flat-menu-button-hover {background: rgb(255, 255, 255)=
none repeat scroll 0% 0%; height: 37px; line-height: 37px; margin-left: 15=
px; max-width: 300px; padding-left: 10px; text-align: left;}
..picker-curation-album-name-bar-album-select .goog-flat-menu-button-caption=
{max-width: 200px; overflow: hidden; padding: 0px 15px 0px 5px; text-overf=
low: ellipsis;}
..picker-curation-album-name-bar-album-select .goog-flat-menu-button-dropdow=
n {border: medium none; right: 10px; top: 10px;}
..picker-curation-album-name-bar .goog-menu {max-height: 300px; overflow-x: =
hidden; overflow-y: scroll; text-overflow: ellipsis; width: 280px; z-index:=
2115;}
..picker-curation-album-name-bar-empty-menu .goog-menu {height: 100px;}
..picker-curation-album-name-bar .picker-curation-album-name-bar-empty-menu =
..picker-loadingstatusbox {top: 70%; display: inline-block;}
..picker-curation-album-name-bar .picker-loadingstatusbox {display: none;}
..picker-curation-album-name-bar .picker-curation-album-name-bar-select-labe=
l-input {border-bottom: 1px solid rgb(204, 204, 204); margin-bottom: 4px; h=
eight: 36px; line-height: 36px;}
..picker-curation-album-name-bar .picker-curation-album-name-bar-select-labe=
l-input .jfk-textinput {box-shadow: none; border: medium none; padding: 0px=
16px; position: absolute; top: 0px; left: 0px; vertical-align: top; width:=
232px;}
..picker-curation-album-name-bar .goog-menuitem {padding: 6px 15px; width: 2=
32px;}
..picker-curation-album-name-bar .goog-menuitem-highlight {border-width: 0px=
;}
..picker-curation-album-name-bar .goog-menuitem-content {line-height: 24px; =
overflow: hidden; text-align: left; text-overflow: ellipsis; width: 250px;}
..picker-curation-album-name-bar-album-label-input {display: inline-block; m=
argin-left: 15px; position: relative;}
..picker-curation-album-name-bar-album-label-input .jfk-textinput {padding-r=
ight: 30px;}
..picker-curation-album-name-bar-album-label-input .picker-spr-black-close {=
opacity: 0.5; cursor: pointer; position: absolute; right: 14px; top: 28px;}
..picker-curation-order-dropdown-menu.goog-flat-menu-button-disabled {opacit=
y: 0.1;}
..picker-curation-view {height: 100%; position: absolute; top: 0px; bottom: =
0px; left: 0px; right: 0px;}
..picker-curation-grid-parent {position: absolute; top: 0px; bottom: 0px; le=
ft: 0px; right: 0px;}
..picker-curation-grid-wrapper {position: absolute; bottom: 0px; left: 0px; =
right: 0px;}
..picker-curation-bar {border-bottom: 1px solid rgb(229, 229, 229); line-hei=
ght: 64px; padding: 0px 20px;}
..picker-curation-bar .jfk-button ,.picker-curation-bar .goog-flat-button ,.=
picker-curation-bar .goog-flat-menu-button {cursor: pointer;}
..picker-curation-grid-wrapper {top: 71px; overflow-y: auto; overflow-x: hid=
den;}
..picker-curation-grid-parent {margin: 35px 15px 0px;}
..picker-curation-grid-parent .picker-dataview {overflow: visible; margin: 0=
px 0px 0px 20px; right: 20px;}
..picker-curation-hidden-input {position: absolute; top: -9999px; width: 1px=
; height: 1px;}
..picker-curation-bar .jfk-textinput {color: rgb(34, 34, 34); font-weight: b=
old; height: 37px; left: 20px; padding-bottom: 0px; padding-top: 0px; top: =
13px; width: 200px;}
..picker-curation-order-dropdown-menu {transition: all 0.218s ease 0s; backg=
round: rgb(241, 241, 241) none repeat scroll 0% 0%; border: 1px solid rgb(2=
16, 216, 216); height: 33px; line-height: 30px; vertical-align: middle; dis=
play: inline-block; margin-left: 20px;}
..picker-curation-order-dropdown-menu .goog-flat-menu-button-dropdown {borde=
r: medium none; display: inline-block; right: 10px; top: 10px;}
..picker-curation-bar {background: rgb(255, 255, 255) none repeat scroll 0% =
0%; height: 65px; text-align: right;}
..picker-curation-bar-left {position: absolute; text-align: left; z-index: 2=
120;}
..picker-curation-bar-toggles {border-radius: 2px; display: inline-block; he=
ight: 37px; line-height: 37px; margin-left: 20px; vertical-align: middle; b=
order: 1px solid rgb(216, 216, 216);}
..picker-curation-bar-toggles .goog-flat-button {opacity: 0.4; transition: a=
ll 0.218s ease 0s; background: rgb(255, 255, 255) none repeat scroll 0% 0%;=
margin: 0px; outline: medium none;}
..picker-curation-bar-toggles .goog-flat-button-checked {opacity: 1; backgro=
und: rgb(229, 229, 229) none repeat scroll 0% 0%;}
..picker-curation-bar-toggles .goog-flat-button.picker-curation-bar-large-th=
umb {padding: 9px;}
..picker-curation-bar-toggles .goog-flat-button.picker-curation-bar-small-th=
umb {padding: 13px;}
..picker-curation-upload-button-content {color: rgb(115, 115, 115); font-siz=
e: 13px; margin: 0px 4px;}
..picker-curation-view .picker-dropdown-menu.picker-curation-order-dropdown-=
menu {background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 37px=
; min-width: 37px; padding: 0px; text-align: center; vertical-align: middle=
; width: 37px; z-index: auto;}
..picker-curation-progress-parent {display: inline-block; vertical-align: mi=
ddle; transition: margin-top 0.218s ease 0s, opacity 0.218s ease 0s;}
..picker-curation-bar .picker-progress-bar {display: inline-block; font-size=
: 12px; vertical-align: middle;}
..picker-curation-bar .picker-curation-progress-label {display: inline-block=
; vertical-align: middle;}
..picker-curation-bar .picker-curation-progress-stop-upload ,.picker-curatio=
n-bar .jfk-textinput {display: inline-block; font-size: 12px; vertical-alig=
n: middle;}
..picker-curation-bar .picker-progress-bar {margin-left: 20px; width: 150px;=
}
..picker-curation-view .picker-progress-bar {border: 1px solid rgb(187, 187,=
187); background-color: rgb(229, 229, 229); box-shadow: 0px 0px 1px rgba(0=
, 0, 0, 0.2) inset;}
..picker-curation-view .progress-bar-thumb {border: 1px solid rgb(33, 117, 2=
55); background-color: rgb(77, 144, 254);}
..picker-curation-view .picker-progress-bar {height: 4px;}
..picker-curation-view .progress-bar-thumb {height: 4px; position: absolute;=
left: -1px; top: -1px;}
..picker-curation-bar .picker-curation-progress-label {margin-left: 10px; co=
lor: rgb(153, 153, 153); font-size: 12px;}
..picker-curation-bar .picker-curation-progress-stop-upload {margin-left: 10=
px; padding: 0px;}
..picker-curation-bar .jfk-button {transition: all 0.218s ease 0s; backgroun=
d: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 1px solid rgb(216, =
216, 216); height: 38px; line-height: 37px; margin: 0px; position: static; =
right: 20px; top: 17px;}
..picker-curation-bar .picker-spr-icon-computer {display: inline-block; marg=
in-right: 8px; vertical-align: middle; opacity: 0.8;}
..picker-curation-bar .jfk-button.jfk-button-focused .picker-spr-icon-comput=
er ,.picker-curation-bar .jfk-button.jfk-button-active .picker-spr-icon-com=
puter ,.picker-curation-bar .jfk-button.jfk-button-hover .picker-spr-icon-c=
omputer {opacity: 1;}
..picker-curation-drop-notice-parent {color: rgb(153, 153, 153); cursor: def=
ault; font-weight: bold; font-size: 13px; height: 65px; margin: auto; line-=
height: 65px; text-align: center; top: 0px;}
..picker-curation-drop-notice-text {padding: 0px 10px;}
..picker-spr-icon-zoom-min ,.picker-spr-icon-zoom-max ,.picker-curation-albu=
m-name-bar {display: inline-block;}
..picker-spr-icon-zoom-max {margin-left: 10px;}
..picker-spr-icon-zoom-min {margin-right: 5px;}
..picker-curation-drag-selector {z-index: 2200; position: absolute; border: =
1px solid rgba(136, 190, 190, 0.3); background: rgba(136, 187, 255, 0.4) no=
ne repeat scroll 0% 0%; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); border=
-radius: 2px; opacity: 0.8;}
..picker-curation-drag-scroll-mask {position: absolute; top: 0px; bottom: 0p=
x; left: 0px; right: 0px; opacity: 0; z-index: 2200;}
..picker-curation-drag-pile {position: absolute;}
..picker-curation-view .tt-photos-tagging-tcontent-button-container {display=
: none;}
..picker-curation-upload.picker-actionpane-frame {z-index: 2115; background-=
color: rgb(255, 255, 255);}
..picker-curation-drop-notice-parent .picker-actionpane-notice-td {border-ri=
ght: 128px solid transparent;}
..picker-curationview-autobackup-icon {height: 20px; margin: 8px; top: 14px;=
width: 20px;}
..picker-curationview-autobackup-promo {color: rgb(170, 170, 170); font-size=
: 13px; text-align: center; top: -53px; vertical-align: middle; width: 100%=
;}
..picker-curation-control {transition: border-color 0.2s ease 0s, margin 0.5=
s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.5s ease-out 0=
s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.5s ease 0s, b=
ox-shadow 0.5s ease 0s; border-radius: 4px; outline: medium none; backgroun=
d-color: rgb(245, 245, 245); border-color: rgb(208, 208, 208); border-style=
: solid; border-width: 1px; overflow: hidden;}
..picker-curation-control.picker-curation-fast ,.picker-curation-control.pic=
ker-curation-fast .picker-curation-control-card ,.picker-curation-control.p=
icker-curation-fast-thumb .picker-curation-control-thumb-wrapper ,.picker-c=
uration-control.picker-curation-fast-thumb .picker-curation-control-thumb ,=
..picker-curation-control.picker-curation-fast-thumb .picker-curation-contro=
l-thumb-border ,.picker-curation-control.picker-curation-control-selected-r=
eordering .picker-curation-control-thumb-wrapper {transition: margin 0s eas=
e 0s, height 0s ease 0s, width 0s ease 0s, opacity 0.5s ease-out 0s, top 0s=
ease 0s, left 0s ease 0s;}
..picker-curation-control.picker-curation-fast .picker-curation-control-thum=
b-wrapper ,.picker-curation-control.picker-curation-fast .picker-curation-c=
ontrol-thumb ,.picker-curation-control.picker-curation-fast .picker-curatio=
n-control-thumb-border {transition: margin 0s ease 0s, height 0s ease 0s, w=
idth 0s ease 0s, opacity 0.5s ease-out 0s, top 0.5s ease 0s, left 0.5s ease=
0s;}
..picker-curation-control.picker-curation-control-rotating .picker-curation-=
control-thumb ,.picker-curation-control.picker-curation-control-rotating .p=
icker-curation-control-thumb-wrapper { }
..picker-curation-control.picker-curation-control-rotating .picker-curation-=
control-thumb-wrapper .picker-curation-control-thumb-border {transition: -w=
ebkit-transform 0.2s ease-in-out 0s;}
..picker-curation-control-card {transition: border-color 0.2s ease 0s, margi=
n 0.5s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.5s ease-=
out 0s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.5s ease =
0s, box-shadow 0.5s ease 0s;}
..picker-curation-control ,.picker-curation-control-card ,.picker-curation-c=
ontrol-thumb-wrapper ,.picker-curation-control-upload-preview {position: ab=
solute;}
..picker-curation-control-thumb-wrapper {text-align: center; transition: bor=
der-color 0.2s ease 0s, margin 0.5s ease 0s, height 0.5s ease 0s, width 0.5=
s ease 0s, opacity 0.5s ease-out 0s, top 0.5s ease-out 0s, left 0.5s ease-o=
ut 0s, line-height 0.5s ease 0s, box-shadow 0.5s ease 0s; border-radius: 1p=
x; margin-top: -2px;}
..picker-curation-control-thumb {transition: border-color 0.2s ease 0s, marg=
in 0.5s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.5s ease=
-out 0s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.5s ease=
0s, box-shadow 0.5s ease 0s; cursor: default; position: relative; line-hei=
ght: 0;}
..picker-curation-control-thumb-border {transition: border-color 0.2s ease 0=
s, margin 0.5s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.=
5s ease-out 0s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.=
5s ease 0s, box-shadow 0.5s ease 0s; cursor: default; line-height: 0; posit=
ion: relative; display: inline-block; vertical-align: middle; background-co=
lor: rgb(255, 255, 255);}
..picker-curation-control-thumb-border-lines {transition: border-color 0.2s =
ease 0s; position: absolute; top: -3px; left: -3px; right: -3px; bottom: -3=
px; border: 2px solid transparent; z-index: 2107;}
..picker-curation-control-selected.picker-curation-control {border-color: rg=
b(77, 144, 254);}
..picker-curation-control-tag-adding-mode {position: absolute; display: inli=
ne-block; z-index: 2114;}
..picker-curation-control-toolbar {background: rgb(255, 255, 255) none repea=
t scroll 0% 0%; border-top: 1px solid rgb(208, 208, 208); overflow: hidden;=
cursor: default; line-height: 42px; height: 42px; position: absolute; bott=
om: 0px; width: 100%; outline: medium none;}
..picker-curation-control-small .picker-curation-control-toolbar {opacity: 0=
; transition: opacity 0.4s ease-out 0s, border-color 0.5s ease-in 0s, backg=
round-color 0.5s ease-in 0s; line-height: 0; height: 0px;}
..picker-curation-control-small.picker-curation-control-hover .picker-curati=
on-control-toolbar {opacity: 1; line-height: 42px; height: 42px;}
..picker-curation-control-caption-input.picker-curation-control-toolbar-disa=
bled ,.picker-curation-control-toolbar-icon.picker-curation-control-toolbar=
-rotate-disabled ,.picker-curation-control-toolbar-icon.picker-curation-con=
trol-toolbar-icon-hover.picker-curation-control-toolbar-rotate-disabled {op=
acity: 0; cursor: default; visibility: hidden;}
..picker-curation-control-hover .picker-curation-control-caption-input {opac=
ity: 1;}
..picker-curation-control-has-caption-focus .picker-curation-control-caption=
-input {opacity: 1; overflow: visible; color: rgb(51, 51, 51);}
..picker-curation-control-caption-input {transition: color 0.3s ease 0s, opa=
city 0.3s ease 0s, border-color 0.3s ease 0s, width 0.5s ease 0s, height 0.=
5s ease 0s, box-shadow 0.5s ease 0s; color: rgb(153, 153, 153); font-family=
: Roboto,Arial,sans-serif; font-size: 13px; border: 0px none; margin: auto;=
outline: medium none; overflow: hidden; padding: 0px 8px; resize: none; wi=
dth: 70%; height: 16px;}
..picker-curation-control-caption-input.picker-curation-control-disabled {ba=
ckground-color: transparent;}
..picker-curation-control-upload-preview {left: 0px; right: 0px; bottom: 0px=
; height: 40px; min-width: 40px;}
..picker-curation-control-upload-preview.picker-curation-control-upload-prev=
iew-empty {left: -156px; height: 40px; width: 312px;}
..picker-curation-control-upload-preview .picker-progress-bar {width: 50%; p=
osition: absolute; bottom: 24px; margin-top: -4px; left: 50%; margin-left: =
-25%;}
..picker-curation-view .picker-curation-control-upload-preview .picker-progr=
ess-bar ,.picker-curation-view .picker-curation-control-upload-preview .pro=
gress-bar-thumb {height: 2px;}
..picker-curation-control.picker-curation-control-nudge-left ,.picker-curati=
on-control.picker-curation-control-nudge-right {transition: margin 0.3s eas=
e 0s;}
..picker-curation-control.picker-curation-control-nudge-left {margin-left: -=
50px; z-index: 2104;}
..picker-curation-control.picker-curation-control-nudge-left .picker-curatio=
n-control-thumb {transition: color 0.3s ease 0s, opacity 0.3s ease 0s, bord=
er-color 0.3s ease 0s, width 0s ease 0s, height 0s ease 0s, box-shadow 0.5s=
ease 0s; box-shadow: -5px 0px 8px rgba(0, 0, 0, 0.3);}
..picker-curation-control.picker-curation-control-nudge-right {margin-left: =
50px; z-index: 2104;}
..picker-curation-control.picker-curation-control-nudge-right .picker-curati=
on-control-thumb {transition: color 0.3s ease 0s, opacity 0.3s ease 0s, bor=
der-color 0.3s ease 0s, width 0s ease 0s, height 0s ease 0s, box-shadow 0.5=
s ease 0s; box-shadow: 5px 0px 8px rgba(0, 0, 0, 0.3);}
..picker-curation-control.picker-curation-control-selected.picker-curation-c=
ontrol-nudge-left ,.picker-curation-control.picker-curation-control-selecte=
d.picker-curation-control-nudge-right {margin-left: 0px;}
..picker-curation-control.picker-curation-control-unselected-reordering {tra=
nsition: opacity 0.6s ease 0s, top 0.2s ease-out 0s, left 0.2s ease-out 0s,=
line-height 0.2s ease 0s;}
..picker-curation-control.picker-curation-control-unselected-reordering .pic=
ker-curation-control-thumb ,.picker-curation-control.picker-curation-contro=
l-unselected-reordering .picker-curation-control-thumb-wrapper {transition:=
top 0.3s ease-out 0s, left 0.3s ease-out 0s, line-height 0.3s ease 0s;}
..picker-curation-control.picker-curation-control-unselected-reordering.pick=
er-curation-control-changelines {opacity: 0;}
..picker-curation-control.picker-curation-control-selected-reordering {z-ind=
ex: 2103; transition: top 0.1s ease-out 0s, left 0.3s ease-out 0s;}
..picker-curation-control.picker-curation-control-selected-reordering.picker=
-curation-control-dropped {transition: none 0s ease 0s ;}
..picker-curation-control.picker-curation-control-dragging {opacity: 0; tran=
sition: opacity 0.2s ease-out 0s, top 0.5s ease-out 0s, left 0.5s ease-out =
0s, margin 0.2s ease-out 0s;}
..picker-curation-drag-control-img {position: absolute; bottom: 0px; left: 5=
0%; width: 100%; height: 100%; cursor: pointer; box-shadow: 0px 3px 25px rg=
ba(0, 0, 0, 0.6);}
..picker-curation-drag-control-img-box {position: relative;}
..picker-curation-drag-control-img ,.picker-curation-drag-control-img-box {z=
-index: 2106;}
..picker-curation-drag-control-img-box.picker-curation-drag-control-stack-1 =
{z-index: 2105; position: absolute; margin-top: 5px; margin-left: 5px; tran=
sform: rotate(7deg);}
..picker-curation-drag-control-img-box.picker-curation-drag-control-stack-2 =
{z-index: 2105; position: absolute; margin-top: -5px; margin-left: -5px; tr=
ansform: rotate(-10deg);}
..picker-curation-drag-control-count {position: absolute; height: 23px; line=
-height: 23px; border-radius: 3px; background: rgb(77, 144, 254) none repea=
t scroll 0% 0%; color: rgb(255, 255, 255); text-align: center; font-size: 1=
3px; font-weight: bold; top: 0px; margin-top: -15px; left: 50%; margin-left=
: -36px; width: 72px; z-index: 2109; box-shadow: 0px 2px 20px rgba(0, 0, 0,=
0.8);}
..picker-curation-control-toolbar.jfk-bubble {z-index: 2113 !important; line=
-height: 0; margin: 0px; padding: 0px; min-width: 124px;}
..picker-curation-control-error-bubble.jfk-bubble {z-index: 2112 !important;=
}
..picker-curation-control-toolbar-top-buttons {border-left: 1px dashed rgb(2=
21, 221, 221); overflow: hidden; position: absolute; cursor: default; top: =
0px; right: 0px; display: inline;}
..picker-curation-control-small .picker-curation-control-toolbar-top-buttons=
{border: 0px none; text-align: center; width: 100%; z-index: 2108;}
..picker-curation-control-toolbar-icon {cursor: pointer; display: inline-blo=
ck; opacity: 0.4; transition: color 0.3s ease 0s, opacity 0.13s ease 0s, bo=
rder-color 0.3s ease 0s, width 0s ease 0s, height 0s ease 0s, box-shadow 0.=
5s ease 0s; margin: 0px 7px; vertical-align: middle;}
..picker-curation-control-toolbar.picker-curation-control-toolbar-is-cover .=
picker-curation-control-toolbar-icon.picker-spr-checkbox-active {opacity: 0=
;}
..picker-curation-control-toolbar-top-buttons .picker-curation-control-toolb=
ar-icon-hover {opacity: 0.7;}
..picker-curation-control-toolbar-icon.picker-curation-control-toolbar-icon-=
active {opacity: 1;}
..tt-photos-ttagoverlay .tt-photos-tagging-bubble {font-size: 10px; line-hei=
ght: 1em; padding: 8px; z-index: 2108 !important;}
..picker-curation-control .tt-photos-tagging-acl-msg {margin-top: 2px;}
..picker-curation-control .tt-photos-tagging-bubble-spinner {margin-left: 2p=
x;}
..picker-main-container .tacotown-autocomplete-box {z-index: 2115;}
..picker-curation-control .tt-photos-tagging-tcontent-remove-button {backgro=
und: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/docs/picker/images/dialog_clos=
e_small.gif") no-repeat scroll 0% 0% padding-box content-box; height: 15px;=
margin-bottom: -3px; width: 15px;}
..picker-curation-control .tt-photos-ttagoverlay-cursor.tt-photos-ttagoverla=
y-tagged .tt-photos-ttagoverlay-cursor-ring-inner ,.picker-curation-control=
.tt-photos-ttagoverlay-cursor.tt-photos-ttagoverlay-tagged .tt-photos-ttag=
overlay-cursor-ring-outer ,.picker-curation-control .tt-photos-ttr-ring .tt=
-photos-ttr-ring-inner ,.picker-curation-control .tt-photos-ttr-ring .tt-ph=
otos-ttr-ring-outer {border-width: 6px;}
..picker-curation-control .tt-photos-ttagoverlay-cursor.tt-photos-ttagoverla=
y-tagged .tt-photos-ttagoverlay-cursor-ring ,.picker-curation-control .tt-p=
hotos-ttr-ring .tt-photos-ttr-ring-inner ,.picker-curation-control .tt-phot=
os-ttr-ring .tt-photos-ttr-ring-outer {bottom: -6px; left: -6px; right: -6p=
x; top: -6px;}
..picker-curation-control-is-cover.picker-curation-control-small .picker-cur=
ation-control-cover-selected ,.picker-curation-control-small.picker-curatio=
n-control-hover .picker-curation-control-cover ,.picker-curation-control-is=
-cover.picker-curation-control-hover .picker-curation-control-cover ,.picke=
r-curation-control-error-holder ,.picker-curation-control-thumb ,.picker-cu=
ration-control-loaded .picker-curation-control-upload-preview ,.picker-cura=
tion-control-cancel .picker-curation-control-upload-preview ,.picker-curati=
on-control-error .picker-curation-control-upload-preview ,.picker-curation-=
control-small .picker-curation-control-caption-container ,.picker-curation-=
control-caption-input.picker-curation-control-toolbar-disabled ,.picker-cur=
ation-control-toolbar-icon.picker-curation-control-toolbar-rotate-disabled =
,.picker-curation-control-toolbar-icon.picker-curation-control-toolbar-icon=
-hover.picker-curation-control-toolbar-rotate-disabled {display: none;}
..picker-curation-control-caption-container ,.picker-curation-control-error =
..picker-curation-control-error-holder ,.picker-curation-control-loaded .pic=
ker-curation-control-thumb {display: inline;}
..picker-curation-control-cover {background-color: rgb(38, 38, 38);}
..picker-curation-control-hover .picker-curation-control-cover {opacity: 0.7=
; z-index: 2108;}
..picker-curation-control-tag-adding-mode .picker-curation-control-cover {op=
acity: 0.7;}
..picker-curation-control-cover-selected {background-color: rgb(77, 144, 254=
);}
..picker-curation-control-hover .picker-curation-control-is-hover-cover.pick=
er-curation-control-cover ,.picker-curation-control-is-hover-cover.picker-c=
uration-control-cover ,.picker-curation-control-is-cover .picker-curation-c=
ontrol-cover-selected {opacity: 1;}
..picker-curation-control-cover-selected .picker-spr-checkmark-checked {disp=
lay: inline-block; margin: 5px; vertical-align: middle;}
..picker-curation-control-cover-selected .picker-curation-control-cover-text=
{padding-left: 0px;}
..picker-curation-control-cover ,.picker-curation-control-tag-adding-mode.pi=
cker-curation-control-is-cover .picker-curation-control-cover ,.picker-cura=
tion-control-cover-selected {border-radius: 5px; opacity: 0; bottom: 10px; =
cursor: pointer; display: inline-block; left: 10px; position: absolute;}
..picker-curation-control-cover-text {color: rgb(255, 255, 255); display: in=
line-block; font-size: 13px; font-weight: bold; line-height: 13px; padding:=
8px;}
..picker-curation-control.picker-curation-control-loaded.picker-curation-con=
trol-small.picker-curation-control-hover {transition: opacity 0.4s ease-out=
0s, border-color 0.5s ease-in 0s, background-color 0.5s ease-in 0s; backgr=
ound-color: rgb(245, 245, 245); border-color: rgb(208, 208, 208);}
..picker-curation-control.picker-curation-control-loaded.picker-curation-con=
trol-small.picker-curation-control-selected {background-color: rgb(245, 245=
, 245); border-color: rgb(77, 144, 254);}
..picker-curation-control.picker-curation-control-loaded.picker-curation-con=
trol-small {background-color: transparent; border: 1px solid transparent;}
..picker-curation-control-error-holder {z-index: 2111; bottom: 0px; left: 0p=
x; position: absolute; right: 0px; text-align: center; top: 0px;}
..picker-curation-control-retry ,.picker-curation-control-error-delete {marg=
in: 5px; color: rgb(17, 85, 204); cursor: pointer;}
..picker-curation-control-error-separator {color: rgb(204, 204, 204);}
..picker-curation-control-error-icon {display: inline-block; height: 66px; l=
eft: 50%; margin-top: -33px; margin-left: -33px; position: absolute; top: 5=
0%; width: 66px; vertical-align: middle; transition: all 0.5s ease 0s; back=
ground-repeat: no-repeat;}
..picker-curation-control-error-text {font-size: 11px; text-align: center; w=
idth: 110px;}
..picker-curation-control-small .picker-curation-control-error-icon {height:=
14px; margin-left: -7px; margin-top: -7px; width: 14px;}
..picker-curation-control-preview-background {background-color: rgb(255, 255=
, 255); bottom: 0px; left: 0px; position: absolute; right: 0px; top: 0px;}
..picker-photo-control-thumbframe .picker-photo-control-description {width: =
auto; position: static; margin: 0px 5px;}
..picker-photo-control-thumbframe .picker-photo-control-bottom-controls {wid=
th: 158px;}
..picker-photo-control-attribution {cursor: pointer;}
..picker-photo-control-thumbframe .picker-video-play-icon {position: absolut=
e; left: 60px; top: 40px;}
..new-upload-box .picker-photo-control-thumbframe .picker-video-play-icon {t=
op: 60px;}
..picker-photo-control-thumbframe .picker-video-filename {width: 158px;}
..picker-photo-control-thumbframe .picker-photo-control-preview.picker-proce=
ssing-video {width: 158px; height: 158px;}
..picker-photo-control-thumbframe .picker-video-processing-box {height: 158p=
x;}
..picker-photo-control-thumbframe .picker-photo-control-preview.picker-proce=
ssing-video ,.picker-dataview-content .picker-photo-control ,.picker-datavi=
ew-content .picker-photo-control-focused.picker-photo-control ,.picker-data=
view-content .picker-photosuploadview .picker-photo-control.picker-photo-co=
ntrol-focused ,.picker-dataview-content .picker-photosgrid-edit .picker-pho=
to-control.picker-photo-control-focused {border: 0px none transparent;}
..picker-photo-control-thumbframe .picker-photo-control-preview.picker-proce=
ssing-video {background-color: transparent;}
..picker-photo-control-thumbframe .picker-photo-control-description {height:=
auto;}
..picker-albumname-album-cell {font-size: 13px;}
..picker-albumname-label {margin-right: 5px;}
..picker-albumname-input {margin: 0px 10px 1px 2px; width: 172px;}
..picker-albumname .goog-link-button {padding: 6px 0px;}
:first-child + html .picker-albumname .picker-albumname-album-cell .goog-li=
nk-button {position: relative; top: 6px;}
..picker-photosgrid-edit .picker-albumname {padding: 0px 7px;}
..picker-photosgrid-edit .picker-photo-control {padding: 0px 2px 12px;}
..picker-photosgrid-edit {padding: 12px 0px 0px 1px;}
..picker-albumsgrid .picker-dataview-content ,.picker-photosgrid .picker-dat=
aview-content {padding: 0px 13px 15px;}
..picker-dataview.picker-albumsgrid ,.picker-dataview.picker-photosgrid-came=
rasync {padding-top: 0px;}
..picker-breadcrumbs-content .picker-photosgrid .picker-dataview-content {pa=
dding-top: 14px;}
..picker-photo-control {vertical-align: middle; text-align: center; margin: =
1px; font-size: 0px; border: 1px solid rgb(255, 255, 255);}
..picker-photosuploadview .picker-photo-control.picker-photo-control-focused=
,.picker-photosgrid-edit .picker-photo-control.picker-photo-control-focuse=
d {border: 1px solid rgb(255, 255, 255);}
..picker-photo-control-focused.picker-photo-control {border: 1px solid rgb(7=
4, 151, 223);}
..picker-photo-control-preview {font-size: 0px; position: relative;}
..picker-photo-control-placeholder {background: transparent url("//ssl.gstat=
ic.com/docs/picker/images/placeholder-v1.gif") repeat scroll 0% 0%;}
..picker-photo-control-preview-content {cursor: pointer; outline: medium non=
e;}
..picker-upload-control-error .picker-photo-control-uploading {border: 1px s=
olid rgb(221, 221, 221); background-color: rgb(255, 255, 255);}
..picker-photo-control-preview-content .uploader-thumb-img {display: block; =
position: relative;}
..picker-photo-control-unselectable .picker-photo-control-preview-content {c=
ursor: default;}
..picker-photo-control-attribution {position: absolute; bottom: 0px; left: 7=
px; right: 7px; overflow: hidden; white-space: nowrap; text-overflow: ellip=
sis; font-size: 10px; text-align: left;}
* html .picker-photo-control-attribution ,body .picker-photo-control-attrib=
ution {width: 100%;}
..picker-photo-control-attribution-spacer {font-size: 10px; visibility: hidd=
en;}
..picker-photo-control-bottom-controls {bottom: -8px; width: 100%;}
..picker-photo-control-description {position: absolute; left: 0px; font-size=
: 13px; color: rgb(153, 153, 153); width: 100%; height: 1.2em; overflow: hi=
dden; text-align: center; text-overflow: ellipsis; white-space: nowrap;}
..picker-photosgrid-edit .picker-photo-control-description.goog-control-hove=
r {text-decoration: underline; cursor: pointer;}
..picker-photosgrid-camerasync {padding: 10px 13px;}
..picker-photosgrid-separator {font-size: 11px; color: rgb(170, 170, 170); m=
argin: 0px 10px 0px 8px;}
..picker-photosgrid-separatorhr {border-width: 1px 0px 0px; border-style: so=
lid none none; border-color: rgb(221, 221, 221) currentcolor currentcolor; =
-moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-b=
ottom-colors: none; -moz-border-left-colors: none; border-image: none; marg=
in-left: -1px;}
..picker-photo-control-border ,.picker-photosgrid-edit .picker-photo-control=
-checked .picker-photo-control-border {border: 6px solid transparent;}
..picker-photo-control-checked .picker-photo-control-border {border: 6px sol=
id rgb(77, 144, 254);}
..picker-photo-control .photo-image-edit-controls {position: absolute; top: =
-20px; right: 0px;}
..picker-photo-control-checked .photo-image-edit-controls {top: -26px; right=
: -6px;}
..picker-photo-control .photo-image-edit-caption {left: 50%; top: -35px; mar=
gin-left: -144px;}
..picker-photo-control .progress-bar-horizontal {position: absolute; bottom:=
4px; left: 4px; right: 4px; height: 5px; border: 0px none; text-align: lef=
t; background: transparent none repeat scroll 0% 0%;}
* html .picker-photo-control .progress-bar-horizontal ,body .picker-photo-c=
ontrol .progress-bar-horizontal {left: 0px; right: 0px; width: 100%;}
..picker-photo-control .progress-bar-thumb {background: rgb(136, 136, 136) n=
one repeat scroll 0% 0%; height: 5px;}
..picker-upload-control-canceled .picker-photo-control-preview .progress-bar=
-horizontal ,.picker-upload-control-default .picker-photo-control-preview .=
progress-bar-horizontal ,.picker-upload-control-error .picker-photo-control=
-preview .progress-bar-horizontal ,.picker-upload-control-scheduled .picker=
-photo-control-preview .progress-bar-horizontal ,.picker-upload-control-suc=
cess .picker-photo-control-preview .progress-bar-horizontal {display: none;=
}
..picker-upload-control-error .picker-photo-control-message {position: absol=
ute; bottom: 0px; left: 0px; right: 0px; height: 10px; border: 0px none; pa=
dding: 2px; text-align: left; background: rgb(215, 0, 0) none repeat scroll=
0% 0%; color: rgb(255, 255, 255); white-space: nowrap; overflow: hidden; t=
ext-overflow: ellipsis; font-size: 9px; cursor: default;}
* html .picker-photo-control .picker-photo-control-message ,body .picker-ph=
oto-control .picker-photo-control-message {left: 0px; right: 0px; width: 10=
0%; padding: 0px;}
..new-upload-box .picker-photo-control-uploading ,.new-upload-box .picker-ph=
oto-control-placeholder {background: rgb(238, 238, 238) none repeat scroll =
0% 0%; border: 1px solid rgb(206, 206, 206);}
..picker-upload-control-error .picker-photo-control-preview .picker-photo-co=
ntrol-uploading {background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..picker-upload-control-running .picker-photo-control-preview .progress-bar-=
horizontal {display: inline;}
..new-upload-box .progress-bar-thumb {height: 100%; background-repeat: repea=
t-x; background-size: 20px 10px; background-color: rgb(204, 204, 204); back=
ground-attachment: scroll; background-image: linear-gradient(315deg, transp=
arent, transparent 33%, rgba(0, 0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, t=
ransparent 66%, transparent); animation-duration: 0.8s; animation-iteration=
-count: infinite; animation-timing-function: linear;}
..new-upload-box .progress-bar-horizontal {right: 0px; bottom: 0px; left: 0p=
x; height: 8px; border: 1px solid rgb(153, 153, 153); margin: 0px 8px 8px; =
padding: 1px; background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..new-upload-box .picker-progress-bar-spinner.progress-bar-horizontal {borde=
r: 0px none; background: transparent url("//ssl.gstatic.com/docs/picker/ima=
ges/loading-v1.gif") no-repeat scroll 0px 0px; height: 16px; width: 16px; m=
argin: auto auto 5px; opacity: 0.5;}
..picker-video-control-thumb-table {width: 100%; position: relative; top: 10=
5px; z-index: 2200; opacity: 0.8; color: rgb(153, 153, 153); font-size: 10p=
x; height: 20px;}
..picker-video-filename {position: relative; top: 38px; z-index: 2104; heigh=
t: 13px; width: 120px; text-overflow: ellipsis; white-space: nowrap; overfl=
ow: hidden; font-size: 12px; color: rgb(153, 153, 153);}
..picker-video-spinner {position: relative; top: 5px; right: 1px; z-index: 2=
100; background-image: url("//ssl.gstatic.com/docs/picker/images/loading-v1=
..gif"); height: 16px; width: 16px; opacity: 0.5;}
..picker-photo-control-preview.picker-processing-video {background-color: rg=
b(238, 238, 238); border: 1px solid rgb(206, 206, 206); width: 120px; heigh=
t: 120px;}
..picker-video-processing-box {height: 120px; left: 0px; position: absolute;=
top: 0px; width: auto;}
..picker-video-play-icon {position: absolute; left: 12px; top: 12px;}
..jfk-bubble.picker-video-bubble {padding-top: 30px; z-index: 2200 !importan=
t; top: 0px;}
..picker-photo-control-unselectable .picker-photo-control-preview-content .u=
ploader-thumb-img {opacity: 0.3; position: relative;}
..picker-albumslist {padding: 15px 0px 0px 15px;}
..picker-content.picker-gridview-bandselect.picker-flatphotosgrid .picker-fl=
atphoto-control-wrapper ,.picker-content.picker-gridview-bandselect {cursor=
: crosshair;}
..picker-photosview .picker-dataview {padding-top: 0px;}
..picker-profile-toolbar.picker-edit-toolbar {padding: 0px; width: 160px;}
..picker-profile-toolbar .goog-button {margin: 3px; padding: 7px; text-trans=
form: uppercase; font-size: 11px; cursor: pointer; white-space: nowrap;}
..picker-profile-toolbar .goog-button-hover {background-color: rgb(238, 238,=
238);}
..picker-profile-toolbar-icon {opacity: 0.4; margin-right: 8px; vertical-ali=
gn: middle;}
..picker-profile-toolbar-label {vertical-align: middle;}
..picker-profileview {font-size: 13px; padding: 20px;}
..picker-profileview-photo {border: 6px solid rgb(77, 144, 254); width: 96px=
; height: 96px;}
..picker-profileview-text {margin-left: 115px;}
..picker-searchbarimagefilter {margin-right: 5px; padding-top: 2px;}
..picker-searchbarimagefilter-type-button {margin: 0px 5px 0px 0px; vertical=
-align: middle;}
..picker-searchbarimagefilter-colorbox {border: 3px solid transparent; heigh=
t: 19px; margin: 0px; opacity: 0.5; padding: 1px; width: 19px; vertical-ali=
gn: middle;}
..picker-searchbarimagefilter-colorbox-inner {border: 1px solid rgb(153, 153=
, 153); cursor: pointer; height: 19px; margin: -1px 0px 0px -1px; padding: =
0px; width: 19px;}
..picker-gplus .picker-searchbarimagefilter-colorbox-inner {margin: 0px; bor=
der: 0px none;}
..picker-searchbarimagefilter-colorbox[aria-selected=3D"true"] {background-c=
olor: rgb(255, 255, 255); border-color: rgb(77, 144, 254); opacity: 1;}
..picker-webcam-control {overflow: hidden;}
..picker-webcam {padding: 20px; text-align: center; z-index: 2110;}
..picker-webcam-buttons.goog-inline-block {width: auto; position: absolute;}
..picker-webcam .picker-webcam-buttons .jfk-button {z-index: 1;}
..picker-webcam .goog-slider-horizontal {height: 5px; background: rgb(229, 2=
29, 229) none repeat scroll 0% 0%; -moz-user-select: none; border-radius: 3=
px;}
..picker-webcam .goog-slider-horizontal.picker-slider-hover {background: rgb=
(209, 209, 209) none repeat scroll 0% 0%;}
..picker-webcam .goog-slider-horizontal .goog-slider-thumb {display: block; =
position: absolute; top: -7px; left: 0px; width: 15px; height: 15px; z-inde=
x: 1; border: 1px solid rgb(153, 153, 153); background-color: rgb(153, 153,=
153); cursor: col-resize; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); tran=
sition: left 0.1s ease 0s; border-radius: 8px;}
..picker-webcam .goog-slider-horizontal.picker-slider-hover .goog-slider-thu=
mb {background-color: rgb(255, 255, 255);}
..picker-webcam .goog-slider-horizontal .goog-slider-thumb .goog-slider-drag=
ging {background-color: rgb(83, 82, 82);}
..picker-webcam-icon {background: rgb(255, 255, 255) none repeat scroll 0% 0=
%; border: medium none; border-radius: 0px; height: 10px; width: 10px; disp=
lay: inline-block; margin-bottom: -1px; margin-right: 1px;}
..picker-webcam .picker-webcam-play-icon {background: transparent none repea=
t scroll 0% 0%; border-top: 5px solid transparent; border-bottom: 5px solid=
transparent; border-left: 10px solid rgb(51, 51, 51); height: 0px; width: =
0px;}
..picker-webcam .picker-webcam-stop-icon {background: rgb(51, 51, 51) none r=
epeat scroll 0% 0%;}
..picker-webcam .picker-webcam-working-icon {border-radius: 5px;}
..picker-webcam-timer {font-size: 13px; color: rgb(68, 68, 68); width: 80px;=
text-align: right; margin-left: 16px;}
..picker-webcam-working .picker-webcam-timer {background: rgb(245, 245, 245)=
none repeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); text-alig=
n: center; position: absolute; top: 0px; padding: 5px 5px 6px; margin-left:=
0px;}
..picker-webcam-volume-button {padding: 6px; border: 1px solid transparent; =
position: absolute; height: 16px; width: 36px; top: 0px;}
..picker-spr-mic {margin-right: 7px;}
..picker-webcam-volume-button.goog-control-hover {border: 1px solid rgb(153,=
153, 153); border-radius: 2px;}
..picker-webcam-volume-meter {margin-right: 2px; margin-bottom: 4px; backgro=
und: rgb(153, 153, 153) none repeat scroll 0% 0%; width: 2px; height: 2px;}
..picker-webcam-volume-meter.picker-webcam-volume-meter-on {height: 7px; bac=
kground: rgb(0, 153, 51) none repeat scroll 0% 0%;}
..picker-webcam-volume-meter.picker-webcam-volume-meter-red.picker-webcam-vo=
lume-meter-on {background: rgb(209, 72, 54) none repeat scroll 0% 0%;}
..picker-youtube-banner-preview {margin: 20px; color: rgb(68, 68, 68);}
..picker-youtube-banner-preview-header {font-size: 20px; font-weight: normal=
;}
..picker-youtube-banner-preview-message {font-size: 13px; margin-top: 15px;}
..picker-youtube-banner-preview-container {margin-right: 20px; display: inli=
ne-block;}
..picker-youtube-banner-preview-icon-header {text-transform: uppercase; colo=
r: rgb(102, 102, 102); font-size: 13px; text-align: center;}
..picker-youtube-banner-preview-icon {background: rgba(0, 0, 0, 0) url("//ss=
l.gstatic.com/docs/picker/images/youtube-banner-sprite-v2.png") no-repeat s=
croll 0% 0%; position: relative;}
..picker-youtube-banner-preview-tv-icon {background-position: 0px 0px; width=
: 271px; height: 165px;}
..picker-youtube-banner-preview-laptop-icon {background-position: -271px 0px=
; width: 294px; height: 168px;}
..picker-youtube-banner-preview-mobile-icon {background-position: -565px 0px=
; width: 85px; height: 164px;}
..picker-youtube-banner-preview-desktop-image ,.picker-youtube-banner-previe=
w-tv-image ,.picker-youtube-banner-preview-mobile-image {position: absolute=
;}
..picker-youtube-banner-preview-desktop-image {top: 29px; left: 65px; width:=
168px; height: 29px;}
..picker-youtube-banner-preview-tv-image {top: 5px; left: 5px; width: 260px;=
height: 144px;}
..picker-youtube-banner-preview-mobile-image {top: 13px; left: 6px; width: 7=
3px; height: 20px;}
..picker-youtube-banner-preview-button-container {position: absolute; left: =
10px; bottom: 10px;}
..picker-youtube-banner-preview-loadingstatusbox {opacity: 0.8; font-size: 0=
px; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-i=
ndex: 2111; background: white url("//ssl.gstatic.com/docs/picker/images/loa=
ding-32-v1.gif") no-repeat scroll center center;}
..picker-youtube-banner-preview-auto-enhance {float: right; margin: 20px;}
..picker-youtube-banner-preview-toggle-label-container {display: inline-bloc=
k;}
..picker-youtube-banner-preview-toggle-label-container .picker-spr-icon-auto=
fix-active {display: inline-block; vertical-align: middle;}
..picker-content.picker-draguploadview {height: 100%; padding: 0px; overflow=
: hidden;}
..picker-upload-button-hidden .picker-draguploadview .picker-photos-upload-d=
ropzone-parent {height: 100%;}
..picker-draguploadview .picker-jfk-tall-progressbar {width: 70%;}
..picker-draguploadview-tip {font-size: 13px; padding: 5px;}
..picker-drag-drop-supported .picker-draguploadview-progress-parent {positio=
n: absolute; height: 50px; top: 50%; margin-top: -25px;}
..picker-draguploadview-progress-parent {position: relative; height: 40px; w=
idth: 100%; top: -20px;}
..picker-draguploadview-msg-bar {position: absolute; top: 10px; width: 80%; =
left: 10%; z-index: 2200;}
..picker-draguploadview-msg-bar .jfk-butterBar-shown {height: 30px;}
..picker-photos-upload-album-bar {z-index: 2102; position: relative;}
..picker-photos-upload-album-bar-cell {height: 1px;}
..picker-photos-upload-dropzone ,.picker-photos-upload-dropzone-cell {width:=
100%; text-align: center; position: relative;}
:first-child + html .picker-photos-upload-dropzone-cell {height: 100%; padd=
ing-top: 100px;}
..picker-upload-button-visible .picker-drag-drop-supported .picker-photos-up=
load-dropzone-cell {border: 4px dashed rgb(221, 221, 221); border-radius: 2=
px;}
..picker-drag-active .picker-upload-button-visible .picker-photos-upload-dro=
pzone-cell {border-color: rgb(77, 144, 254);}
..picker-photos-upload-dropzone-cell .jfk-button {margin: 0px;}
..picker-photos-upload-drop-alt {display: none; padding: 15px 0px 5px; font-=
weight: bold; font-size: 13px; color: rgb(204, 204, 204);}
..picker-photos-upload-drop-here {font-size: 20pt; color: rgb(204, 204, 204)=
; padding: 0px 10px; display: none;}
..picker-drag-active .picker-photos-upload-drop-here {color: rgb(57, 137, 21=
2);}
..picker-drag-drop-supported .picker-photos-upload-drop-alt ,.picker-drag-dr=
op-supported .picker-photos-upload-drop-here {display: block;}
..picker-photos-upload-dropzone-parent {height: 100%; width: 100%; position:=
relative; border-spacing: 20px;}
..picker-upload-button-hidden .picker-photos-upload-dropzone-parent {height:=
auto;}
..picker-photos-upload-dropzone-parent.picker-collapsed {margin: 0px 0px -40=
px;}
..picker-photos-upload-hidden-button {position: absolute; top: -1000px; left=
: -1000px;}
..jfk-butterBar-error .picker-link {color: rgb(255, 255, 255); text-decorati=
on: underline;}
..picker-photo-control-thumbframe {box-shadow: 0px 1px 0px rgb(218, 218, 218=
); width: 158px; height: 188px; background: rgb(255, 255, 255) none repeat =
scroll 0% 0%; border: 1px solid transparent; cursor: pointer;}
..picker-photo-control-thumbframe .picker-photo-control-uploading ,.picker-p=
hoto-control-thumbframe .new-upload-box-error .picker-photos-error-text {bo=
rder: 0px none transparent;}
..picker-upload-control-error .picker-photo-control-thumbframe .picker-photo=
-control-uploading {height: 158px;}
..picker-photosuploadview .new-upload-box .picker-photo-control-thumbframe .=
picker-photo-control-uploading .new-upload-box-error ,.picker-photo-control=
-thumbframe .new-upload-box-error .picker-photos-upload-filename {backgroun=
d: rgb(245, 245, 245) none repeat scroll 0% 0%;}
..new-upload-box .picker-photo-control-thumbframe .new-upload-box-error .pic=
ker-spr-upload-error {margin: 50px 74px 40px 73px;}
..picker-video-control-duration {position: absolute; display: inline-block; =
left: 9px; bottom: 8px; color: rgb(255, 255, 255); background: rgb(199, 199=
, 199) none repeat scroll 0% 0%; border-radius: 20px; font-weight: bold; pa=
dding: 2px 10px 3px 25px; font-size: 11px; text-shadow: 0px 0px 2px rgba(0,=
0, 0, 0.5);}
..picker-photosuploadview .picker-video-control-duration {padding: 2px 10px;=
}
..picker-photo-control-toolbar {background-color: rgb(255, 255, 255); bottom=
: 2px; height: 32px; left: 2px; position: absolute; width: 158px;}
..picker-photo-control-toolbar .picker-spr-checkbox-selected {cursor: pointe=
r; position: relative; right: 62px; top: 4px;}
..picker-photo-control-toolbar .picker-spr-checkbox-active {cursor: pointer;=
position: relative; right: 62px; top: 4px; opacity: 0.2;}
..picker-photo-control-toolbar .picker-spr-checkbox-active.picker-spr-checkb=
ox-active-hover {opacity: 1;}
..picker-photo-control-toolbar .picker-spr-checkbox-selected {display: none;=
}
..picker-photo-control-toolbar .picker-spr-checkbox-active {display: inline-=
block;}
..picker-photosuploadview .picker-photo-control-thumbframe {cursor: default;=
}
..new-upload-box .picker-photos-upload-filename ,.new-upload-box .picker-vid=
eos-upload-loadingthumb {color: rgb(153, 153, 153); font-size: 11px; overfl=
ow: hidden; background: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..picker-photosuploadview .new-upload-box .picker-photo-control-uploading {b=
ackground: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..picker-photosuploadview .new-upload-box .picker-photo-control-uploading .n=
ew-upload-box-error {background: rgb(255, 255, 255) none repeat scroll 0% 0=
%;}
..new-upload-box-error .picker-photos-upload-filename ,.new-upload-box-error=
.picker-videos-upload-loadingthumb {color: rgb(153, 153, 153); font-size: =
11px; overflow: hidden; background: rgb(255, 255, 255) none repeat scroll 0=
% 0%;}
..new-upload-box .picker-photos-upload-filename ,.new-upload-box-error .pick=
er-photos-upload-filename {width: 120px; height: 120px; padding: 0px;}
..new-upload-box .picker-upload-filename-inner ,.new-upload-box-error .picke=
r-upload-filename-inner {padding-top: 58px; text-overflow: ellipsis; white-=
space: nowrap; overflow: hidden; font-size: 12px;}
..new-upload-box .picker-spr-photo-icon {display: inline-block; opacity: 0.5=
; position: absolute; left: 51px; top: 40px;}
..new-upload-box-error .picker-spr-photo-icon {display: none;}
..new-upload-box .new-upload-box-error .picker-spr-upload-error {position: a=
bsolute; margin: 40px 55px 40px 50px; top: 0px;}
..nub-loading .picker-spr-upload-error {display: none;}
..picker-upload-control-error .picker-spr-photo-upload-cancel ,.picker-uploa=
d-control-scheduled .picker-spr-photo-upload-cancel {opacity: 0.5; position=
: absolute; right: 8px; bottom: 8px; cursor: pointer;}
..picker-upload-control-running .picker-spr-photo-upload-cancel ,.picker-upl=
oad-control-success .picker-spr-photo-upload-cancel ,.picker-photo-control-=
placeholder .picker-spr-photo-upload-cancel {display: none;}
..picker-upload-control-error .picker-spr-upload-retry {opacity: 0.5; positi=
on: absolute; left: 8px; bottom: 8px; cursor: pointer;}
..picker-upload-control-error .picker-photos-upload-retry-text {position: ab=
solute; left: 19px; bottom: -1px; cursor: pointer; color: rgb(0, 0, 0); fon=
t-size: 12px;}
..picker-upload-control-running .picker-spr-upload-retry ,.picker-upload-con=
trol-success .picker-spr-upload-retry ,.picker-photo-control-placeholder .p=
icker-spr-upload-retry ,.picker-upload-control-scheduled .picker-spr-upload=
-retry {display: none;}
..new-upload-box-error .picker-photos-error-text {position: absolute; top: 0=
px; left: 0px; right: 0px; bottom: 27px; font-weight: bold; font-size: 12px=
; background-color: rgb(238, 238, 238); border: 1px solid rgb(204, 204, 204=
); padding-top: 15px;}
..new-upload-box-error .picker-photos-error-details {position: absolute; top=
: 44px; left: 11px; right: 11px; padding: 2px; background: rgb(238, 238, 23=
8) none repeat scroll 0% 0%; font-size: 12px; font-weight: normal;}
..new-upload-box .picker-photos-upload-controls ,.new-upload-box-error .pick=
er-photos-upload-controls {background: transparent none repeat scroll 0% 0%=
; position: absolute !important; height: 20px; bottom: 0px; left: 0px; text=
-decoration: none; width: 100%;}
..picker-photo-control-preview-content {transition: opacity 250ms ease 0s;}
..picker-photo-control-preview-smartcrop-content {transition: opacity 450ms =
linear 100ms; opacity: 0; position: absolute; top: 0px;}
..picker-edit-toolbar-overlay-container .picker-spr-icon-photos-delete-white=
,.picker-edit-toolbar-overlay-container .picker-spr-icon-rotate-left-white=
,.picker-edit-toolbar-overlay-container .picker-spr-icon-rotate-right-whit=
e {display: none;}
..picker-photosuploadview-albumbar-visible .picker-albumname {position: rela=
tive;}
..picker-photosuploadview .picker-dataview {position: relative; margin: -10p=
x; overflow: visible;}
..picker-photosuploadview.picker-photosuploadview-albumbar-visible .picker-d=
ataview {margin: 10px -10px -10px;}
..picker-photosuploadview .picker-photosgrid .picker-dataview-content ,.pick=
er-photosuploadview .picker-photosgrid-edit {padding: 0px;}
..picker-photosuploadview .picker-dataview-message {display: none;}
..picker-photosuploadview-albumbar-visible .picker-dropzone ,.picker-photosu=
ploadview-albumbar-visible .picker-progress-wrapper {top: 50px;}
..picker-photosuploadview .goog-toolbar-button {cursor: pointer;}
..picker-photosuploadview .picker-photo-control-preview-content {outline: me=
dium none; cursor: default;}
..picker-photosuploadview .picker-photo-control-checked .picker-photo-contro=
l-border {border: 6px solid transparent;}
..picker-localphotosprofilephoto .picker-photo-control-border ,.picker-local=
photosprofilephoto.picker-photo-control-checked .picker-photo-control-borde=
r {border: 4px solid rgb(221, 75, 57); margin: 2px;}
..picker-photosuploadview-progress-wrapper ,.picker-photosuploadview-progres=
s-text ,.picker-photosuploadview-progress {position: absolute; top: 0px; ri=
ght: 0px; bottom: 0px; left: 0px;}
..picker-photosuploadview-progress-text {width: 70%; margin: auto;}
..picker-photosuploadview-progress {height: 9px; width: 70%; margin: auto;}
..picker-photosuploadview-progress-text {height: 41px; padding: 0px 0px 6px =
4px; font-size: 13px;}
..picker-photosuploadview-progress-wrapper .picker-progress-bar {width: 100%=
;}
..picker-photosuploadview-msgbar {position: absolute; top: 10px; width: 80%;=
left: 10%; z-index: 2200;}
..picker-photosuploadview-msgbar .jfk-butterBar-shown {height: 30px;}
..picker-photosuploadview .picker-photo-control-uploading {background: rgb(2=
43, 243, 243) none repeat scroll 0% 0%;}
..picker-photosuploadview .picker-photosgrid .picker-photo-control {padding:=
0px 0px 12px;}
..picker-photosuploadview-progress .progress-bar-horizontal ,.picker-photosu=
ploadview-actionpane .progress-bar-horizontal {height: 9px; border: 1px sol=
id rgb(153, 153, 153); margin: 2px; padding: 1px; background: rgb(255, 255,=
255) none repeat scroll 0% 0%;}
..picker-photosuploadview-progress .picker-progress-bar-spinner.progress-bar=
-horizontal ,.picker-photosuploadview-actionpane .picker-progress-bar-spinn=
er.progress-bar-horizontal {border: 0px none; background: transparent url("=
//ssl.gstatic.com/docs/picker/images/loading-v1.gif") no-repeat scroll 0px =
0px; height: 16px; width: 16px; padding-left: 7px; padding-top: 2px; margin=
: auto auto 5px; opacity: 0.5;}
..picker-photosuploadview-progress .progress-bar-thumb ,.picker-photosupload=
view-actionpane .progress-bar-thumb {height: 100%; background-repeat: repea=
t-x; background-size: 20px 10px; background-color: rgb(77, 144, 254); backg=
round-image: linear-gradient(315deg, transparent, transparent 33%, rgba(0, =
0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, transparent 66%, transparent); ba=
ckground-attachment: scroll; animation-duration: 0.8s; animation-iteration-=
count: infinite; animation-timing-function: linear;}
..picker-upload-photo-album-bar {position: absolute; top: 20px; left: 20px; =
height: 30px; padding: 0px;}
..picker-photo-upload-dropzone {position: absolute; top: 50px; left: 0px; ri=
ght: 0px; bottom: 0px;}
..picker-youtube-banner-recommended-size-messages {position: absolute; botto=
m: 20px; right: 20px; padding: 20px; color: rgb(204, 204, 204); text-align:=
right;}
..picker-youtube-banner-channel-art-link {text-decoration: none;}
..picker-docsuploadview-drive-promo {background-color: rgb(229, 229, 229); c=
ursor: default; height: 125px; left: 0px; overflow: hidden; position: absol=
ute; top: 0px; width: 100%; z-index: 1; transition: height 0.218s ease 0s;}
..picker-docsuploadview-with-drive-promo .picker-docsuploadview-drive-promo =
{border-bottom: 1px solid rgb(229, 229, 229);}
..picker-docsuploadview-drive-promo-text {padding-right: 40px; position: abs=
olute; top: 0px;}
..picker-docsuploadview-drive-promo-title {font-size: 18px; padding: 15px 5p=
x 5px 0px; white-space: nowrap;}
..picker-docsuploadview-drive-promo-paragraph {color: rgb(68, 68, 68); font-=
size: 13px; max-width: 650px;}
..picker-docsuploadview-drive-promo-dismiss {padding-top: 5px;}
..picker-docsuploadview-drive-promo-learnmore ,.picker-docsuploadview-drive-=
promo-up-to-link {color: rgb(17, 85, 204); cursor: pointer; text-decoration=
: none; white-space: nowrap;}
..picker-docsuploadview-drive-promo-learnmore.picker-hover ,.picker-docsuplo=
adview-drive-promo-up-to-link.picker-hover {text-decoration: underline;}
..picker-docsuploadview-drive-promo-img {margin: 15px 30px;}
..picker-docsuploadview-drive-promo-close {padding: 10px; position: absolute=
; right: 0px; top: 0px;}
..picker-folderbar {border-bottom: 1px solid rgb(221, 221, 221); height: 49p=
x; position: absolute; top: 0px; left: 0px; width: 100%;}
..picker-folderbar-menu {position: absolute; top: 10px; left: 10px;}
..picker-folderbar-menu .jfk-bubble-content-id {width: 300px;}
..picker-du-folderpopup-buttons .jfk-button {margin-top: 13px;}
..picker-docsuploadview.picker-upload {overflow: hidden; padding: 0px;}
..picker-docsuploadview .picker-dataview ,.picker-docsuploadview .picker-dro=
pzone {top: 50px;}
..picker-docsuploadview-with-drive-promo .picker-dataview ,.picker-docsuploa=
dview-with-drive-promo .picker-dropzone {top: 120px;}
..picker-doc-upload-control-cell {border-bottom: 1px solid rgb(221, 221, 221=
);}
..picker-doc-upload-control-row {height: 50px;}
..picker-doc-upload-control-icon-cell {width: 36px;}
..picker-doc-upload-control-icon {display: block; margin-top: 4px; margin-le=
ft: 10px; padding-top: 3px; width: 16px; height: 16px; background-repeat: n=
o-repeat;}
..picker-doc-upload-control-text ,.picker-doc-upload-control-retry-text ,.pi=
cker-docs-upload-error-dialog {font-size: 13px;}
..picker-doc-upload-control-retry-text {color: rgb(17, 85, 204);}
..picker-doc-upload-control-retry-text .jfk-button {cursor: pointer;}
..picker-doc-upload-control-retry-text .jfk-button-hover {text-decoration: u=
nderline;}
..picker-docsuploadview-uploadmore-button {display: inline-block; margin: 16=
px 20px;}
..picker-doc-upload-control-error-message {color: rgb(204, 51, 51);}
..picker-doc-upload-control-cell .picker-spr-upload-error {display: inline-b=
lock; margin-top: 5px; vertical-align: text-bottom;}
..picker-doc-upload-control-error-message {margin-left: 8px;}
..picker-docs-upload-error-dialog {width: 300px; z-index: 2112;}
..picker-docs-upload-error-dialog-bg {z-index: 2111;}
..picker-docs-upload-error-dialog-button::-moz-focus-inner {border: 0px none=
;}
..picker-doc-upload-control-progress {text-align: right; width: 130px;}
..picker-doc-upload-control-progress .progress-bar-horizontal {height: 9px; =
border: 1px solid rgb(153, 153, 153); margin: 2px; padding: 1px; background=
: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..picker-doc-upload-control-progress .progress-bar-thumb {height: 100%; back=
ground-repeat: repeat-x; background-size: 20px 10px; background-color: rgb(=
77, 144, 254); background-image: linear-gradient(315deg, transparent, trans=
parent 33%, rgba(0, 0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, transparent 6=
6%, transparent); background-attachment: scroll; animation-duration: 0.8s; =
animation-iteration-count: infinite; animation-timing-function: linear;}
..picker-doc-upload-control-cancel {width: 45px;}
..picker-doc-upload-control-cancel-x .jfk-button {cursor: pointer; height: a=
uto; margin: 0px 17px; width: auto;}
..picker-doc-upload-control-size {margin-left: 15px; font-size: 12px; color:=
rgb(102, 102, 102);}
..picker-doc-upload-control-name ,.picker-doc-upload-control-size {cursor: d=
efault;}
..picker-doc-upload-control-row.picker-upload-control-scheduled .picker-spr-=
photo-upload-cancel {display: none;}
..picker-doc-upload-control-complete {color: rgb(204, 204, 204);}
..picker-doc-upload-more {margin-left: 10px;}
..picker-doc-upload-control-row.picker-upload-control-error .picker-spr-phot=
o-upload-cancel {position: static; opacity: 1;}
..picker-upload-control-error .progress-bar-horizontal {display: none;}
..picker-drag-indicator-top ,.picker-drag-indicator-left ,.picker-drag-indic=
ator-right ,.picker-drag-indicator-bottom {position: absolute; z-index: 220=
0; background-color: rgb(77, 144, 254);}
..picker-drag-indicator-top ,.picker-drag-indicator-bottom {height: 3px; wid=
th: 100%; left: 0px;}
..picker-drag-indicator-left ,.picker-drag-indicator-right {height: 100%; wi=
dth: 3px; top: 0px;}
..picker-drag-indicator-top {top: 0px;}
..picker-drag-indicator-left {left: 0px;}
..picker-drag-indicator-right {right: 0px;}
..picker-drag-indicator-bottom {bottom: 0px;}
..picker-drag-tooltip {position: absolute; display: table; top: 50%; left: 5=
0%; width: 350px; margin-left: -175px; height: 40px; margin-top: -20px; bac=
kground-color: rgb(77, 144, 254); color: rgb(255, 255, 255); font-weight: b=
old; padding: 10px; font-size: 13px; z-index: 2200; text-align: center; box=
-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2); border-radius: 2px;}
..picker-drag-tooltip-inner {display: table-cell; vertical-align: middle;}
..picker-dropzone ,.picker-dropzone-target ,.picker-dropzone-targetcontent ,=
..picker-dropzone-targetcontentwrapper {position: absolute; top: 0px; right:=
0px; bottom: 0px; left: 0px;}
..picker-drag-drop-supported .picker-dropzone-targetpointer {cursor: pointer=
;}
..picker-dropzone.goog-control-focused {border: 1px solid rgb(221, 221, 221)=
;}
..picker-drag-drop-supported .picker-dropzone-text ,.picker-drag-drop-suppor=
ted .picker-dropzone-alttext {display: block;}
..picker-dropzone-or {color: rgb(170, 170, 170); font-size: 14px; padding: 0=
px 0px 16px;}
..picker-dropzone-upload-button {padding: 5px 12px;}
..picker-dropzone-text ,.picker-dropzone-alttext ,.picker-spr-rio-upload-big=
{display: none;}
..picker-dropzone.picker-drag-drop-supported .picker-spr-rio-upload-big {opa=
city: 0.4; display: inline-block;}
..picker-dropzone .picker-dropzone-target {border-width: 3px;}
..picker-drag-active .picker-dropzone-target {background: rgb(245, 245, 245)=
none repeat scroll 0% 0%; border-color: rgb(77, 144, 254);}
..picker-dropzone-targetcontent {text-align: center;}
..picker-dropzone-targetcontentwrapper {margin: auto; height: 30px;}
..picker-dropzone-largetargetcontentwrapper {height: 200px;}
..picker-dropzone-text {color: rgb(170, 170, 170); font-size: 20pt; padding:=
0px 10px;}
..picker-dropzone-alttext {color: rgb(204, 204, 204); font-size: 13px; font-=
weight: bold; padding: 15px 0px 5px;}
..picker-dropzone-targetcontent .jfk-button {cursor: pointer; margin-right: =
0px;}
..picker-upload.picker-inline-upload {border-bottom: 1px solid rgb(229, 229,=
229); height: 119px; position: relative;}
..picker-inline-upload-icon {display: inline-block; left: 20px; opacity: 0.4=
; position: absolute; top: 15px;}
..picker-drag-drop-supported.picker-inline-upload-container {visibility: vis=
ible;}
..picker-inline-upload-container {border: 2px dashed rgb(221, 221, 221); bor=
der-radius: 2px; bottom: 20px; left: 20px; position: absolute; right: 30px;=
top: 20px; visibility: hidden;}
..picker-drag-active .picker-inline-upload-container {border: 2px dashed rgb=
(77, 144, 254);}
..picker-inline-upload-dropzone {height: 100%;}
..picker-inline-upload-dropzone-text {bottom: 26px; color: rgb(170, 170, 170=
); display: inline-block; font-size: 20px; left: 90px; padding-right: 5px; =
position: absolute;}
..picker-drag-active .picker-inline-upload-dropzone-text {color: rgb(57, 137=
, 212);}
..picker-inline-upload-button-container {bottom: 20px; position: absolute; r=
ight: 10px;}
..picker-upload-button-visible .picker-inline-upload-button {visibility: vis=
ible;}
..picker-inline-upload-button-pre-text {color: rgb(170, 170, 170); display: =
inline-block; font-size: 20px; padding-right: 10px;}
..picker-inline-upload .picker-draguploadview-progress-parent {text-align: c=
enter;}
..picker-inline-upload-actionpane-button {float: right; margin-right: 31px;}
..picker-main-container .goog-tree-hide-root {display: none;}
..picker-main-container .goog-tree-item {-moz-user-select: none;}
..picker-main-container .goog-tree-item .selected {-moz-user-select: none; v=
ertical-align: middle; cursor: default; white-space: nowrap; background-col=
or: rgb(77, 144, 254); color: rgb(255, 255, 255); font-weight: bold;}
..picker-main-container .goog-tree-row {padding: 2px 0px 3px 8px; vertical-a=
lign: middle; cursor: default; white-space: nowrap; height: 15px;}
..picker-main-container .goog-tree-item-label {overflow: hidden; white-space=
: nowrap; empty-cells: show; font-size: 13px; font-weight: normal; font-fam=
ily: Roboto,Arial,sans-serif; width: 95%;}
..picker-main-container .goog-tree-expand-icon {background-repeat: no-repeat=
; height: 12px; width: 12px; cursor: pointer; vertical-align: middle;}
..picker-main-container .goog-tree-expand-icon-minus ,.picker-main-container=
.goog-tree-expand-icon-lminus ,.picker-main-container .goog-tree-expand-ic=
on-tminus {background-image: url("//ssl.gstatic.com/docs/picker/images/icon=
s-v9.png"); background-position: -402px center;}
..picker-main-container .goog-tree-expand-icon-plus ,.picker-main-container =
..goog-tree-expand-icon-tplus ,.picker-main-container .goog-tree-expand-icon=
-lplus {background-image: url("//ssl.gstatic.com/docs/picker/images/icons-v=
9.png"); background-position: -384px center;}
..picker-main-container .goog-tree-expand-icon-blank {background-position: c=
enter center; background-repeat: no-repeat; height: 8px;}
..picker-content .goog-tree-root {min-height: 200px; max-height: 300px; over=
flow: auto; border: 1px solid rgb(217, 217, 217);}
..picker-treedoclistview-node-name {font-size: 13px; padding: 2px 3px 3px; f=
ont-weight: normal; vertical-align: middle;}
..picker-treedoclistview-node-message {color: rgb(102, 102, 102); padding-le=
ft: 4px;}
..picker-treedoclistview-node-error {color: rgb(204, 51, 51); padding-left: =
4px;}
..picker-upload {overflow-y: auto; padding: 20px;}
..picker-upload .picker-dataview ,.picker-upload .picker-dropzone {transitio=
n: top 0.218s ease 0s;}
* html .picker-upload ,body .picker-upload {height: 100%; width: 100%;}
..apps-upload-sprite {background-image: url("//ssl.gstatic.com/docs/picker/i=
mages/apps_upload_icons-v1.gif") !important;}
..picker-upload-container.picker-collapsed .picker-upload-button ,.picker-up=
load-container.picker-collapsed .picker-upload-header ,.picker-upload-conta=
iner.picker-collapsed .picker-upload-text {display: none;}
..picker-upload-container.picker-collapsed .upload-uploader-flash-content {p=
osition: absolute; top: -1000px !important; left: -1000px !important;}
..picker-upload-header {font-size: 13px; font-weight: bold; color: rgb(68, 6=
8, 68); margin-bottom: 4px;}
..upload-file-col {padding: 4px;}
..upload-state-default .upload-file-col {padding: 2px;}
..upload-file {border-bottom: 0px none;}
..upload-file .goog-flat-button {color: rgb(153, 153, 153); text-decoration:=
underline; cursor: pointer; margin-right: 5px;}
..upload-file-progress {display: none;}
..upload-file-status {width: 16px; background-position: 20px 20px; backgroun=
d-repeat: no-repeat;}
..upload-state-start .upload-file-status ,.upload-state-upload .upload-file-=
status ,.upload-state-backoff .upload-file-status {width: 16px; height: 16p=
x; background-position: center top;}
..upload-state-complete .upload-file-status {width: 16px; height: 13px; back=
ground-position: center -16px;}
..upload-state-error .upload-file-status {width: 16px; height: 13px; backgro=
und-position: center -31px;}
..upload-state-default .progress-bar-horizontal ,.upload-state-inqueue .prog=
ress-bar-horizontal ,.upload-state-error .progress-bar-horizontal ,.upload-=
state-complete .progress-bar-horizontal ,.upload-state-cancel .upload-file-=
size ,.upload-state-cancel .upload-file-progress ,.upload-state-cancel .upl=
oad-file-actions ,.upload-state-error .upload-file-size {display: none;}
..upload-file-size {text-align: right;}
..upload-file-progress {width: 88px;}
..upload-file-message {font-size: 11px; padding-left: 0.5em; color: rgb(153,=
153, 153);}
..upload-message .progress-bar-horizontal {display: none;}
..upload-file-actions {text-align: right;}
..upload-file-hidden {visibility: hidden; cursor: auto;}
..picker-upload-text {color: rgb(102, 102, 102); font-size: 10px; margin: 5p=
x 0px 4px;}
..picker-upload-text-a {color: rgb(153, 153, 153);}
..upload-uploader {font-size: 13px;}
..upload-uploader-table {width: auto;}
..picker-upload.picker-videoupload {padding: 0px;}
..picker-videoupload .upload-uploader-table {width: 100%;}
..upload-uploader-file-list {width: auto;}
..upload-uploader-hidden {display: none !important;}
..picker-upload-input-flash {font-size: 11px;}
..picker-upload-input-noflash {padding: 8px; font-size: 11px;}
..picker-upload-input-flash {border-top: 1px solid rgb(221, 221, 221); borde=
r-left: 1px solid rgb(221, 221, 221); background-color: rgb(245, 245, 245);=
padding: 4px 11px 2px; margin: 8px; text-align: center; vertical-align: mi=
ddle;}
..picker-upload-input-flash .picker-spr-upload-arrow {margin-right: 5px;}
..picker-upload-input-noflash .upload-uploader-input {font-size: 9px;}
..picker-docsuploadview .picker-upload-header {font-weight: normal; color: r=
gb(0, 0, 0);}
..picker-docsuploadview-title {font-weight: bold; color: rgb(68, 68, 68); ma=
rgin-bottom: 10px; font-size: 13px;}
..picker-doplaruploadview-uploading ,.picker-geouploadview-uploading {font-s=
ize: 13px; margin: 10px;}
..picker-doplaruploadview-error ,.picker-geouploadview-error {font-size: 13p=
x; margin: 10px; color: rgb(204, 51, 51);}
..picker-docsuploadview-checkbox {font-size: 12px; margin: 15px 0px 0px -4px=
;}
..picker-docsuploadview-checkbox-input {margin-right: 7px;}
..picker-docsuploadview-move-to-folder {font-size: 13px; margin: 0px 0px 10p=
x 27px;}
..picker-docsuploadview-folder-header {margin-top: 10px;}
..picker-docsuploadview-icon {background-image: url("//ssl.gstatic.com/docs/=
picker/images/folder_sprite-v1.gif"); background-position: -24px 0px; heigh=
t: 16px; vertical-align: middle; width: 16px;}
..picker-du-folder-icon {height: 11px; vertical-align: middle; width: 11px; =
margin: -1px 0px 0px 5px;}
..picker-docsuploadview-icon {margin-bottom: 3px;}
..picker-docsuploadview-spacing {width: 5px;}
..picker-du-folders-popup {border: 1px solid rgb(221, 221, 221); padding: 13=
px; font-size: 12px; width: 300px; color: rgb(0, 0, 0); background-color: r=
gb(255, 255, 255); position: absolute; z-index: 20; margin: -3px 0px 0px 2p=
x;}
..picker-docsuploadview-dropdown {background-image: url("//ssl.gstatic.com/d=
ocs/picker/images/folder_sprite-v1.gif"); background-position: -40px 0px; w=
idth: 12px; height: 16px; vertical-align: middle; margin: 0px -2px 3px 3px;=
}
..picker-docsuploadview .goog-tree-root {height: 125px; overflow-x: hidden; =
overflow-y: auto;}
..picker-videos-listview .picker-dataview-content {padding: 15px;}
..picker-video-control {border: 5px solid transparent; cursor: pointer; marg=
in: 5px; padding: 2px;}
..picker-video-control-checked {border: 5px solid rgb(77, 144, 254); backgro=
und: rgb(245, 245, 245) none repeat scroll 0% 0%;}
..picker-videoupload .picker-video-control-checked {border: 5px solid rgb(25=
5, 255, 255); background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..picker-video-control-inner {overflow: hidden;}
..picker-video-control-preview {padding: 1px; border: 1px solid rgb(153, 153=
, 153);}
..picker-video-control-thumb {z-index: 3; width: 96px; height: 72px; cursor:=
pointer;}
..picker-video-control-thumb-img {width: 96px; height: 72px; cursor: pointer=
;}
..picker-photos-upload .picker-video-control-thumb ,.picker-photos-upload .p=
icker-video-control-thumb-img {width: 240px; height: 182px;}
..picker-video-control-previewing .picker-video-control-thumb {display: none=
;}
..picker-video-control-star-mask {width: 55px; height: 11px; margin-right: 7=
px; overflow: hidden; vertical-align: middle; line-height: 9pt;}
..picker-video-control-star-mask .picker-spr-video-stars {position: relative=
;}
..picker-video-control .picker-spr-video-play-overlay {position: relative; z=
-index: 2; top: -50%; left: 50%; margin-left: -18px; margin-top: -20px;}
..picker-video-control-metadata {margin-left: 4px;}
..picker-video-control-previewing .picker-video-control-metadata {padding-to=
p: 3px;}
..picker-video-control-title {font-size: 13px; font-weight: bold; color: rgb=
(80, 80, 80); white-space: nowrap; text-overflow: ellipsis; height: 1.3em; =
overflow: hidden;}
..picker-video-control-previewing .picker-video-control-title {font-size: 12=
px;}
..picker-video-control-content {font-size: 12px; height: 3em; line-height: 1=
..5em; margin-bottom: -2px; overflow: hidden; overflow-wrap: break-word;}
..picker-video-control-time {color: rgb(133, 133, 133); font-size: 12px; ver=
tical-align: middle;}
..picker-video-control-previewing .picker-video-control-time {font-size: 11p=
x;}
..picker-video-control-publisher {color: rgb(0, 128, 0); font-size: 12px;}
..picker-video-control-previewing .picker-video-control-publisher {font-size=
: 11px;}
..picker-spr-youtube {margin: 0px 13px 6px 0px;}
..picker-videos-grid .picker-dataview-content {padding-left: 20px;}
..picker-videos-grid .picker-video-grid-control-border {opacity: 0; transiti=
on: opacity 0.218s ease 0s; padding: 5px; position: relative;}
..picker-video-grid-control-checked .picker-video-grid-control-border {borde=
r: 5px solid rgb(66, 133, 244); padding: 0px;}
..picker-video-grid-control-focused .picker-video-grid-control-border {outli=
ne: 1px solid rgb(66, 133, 244);}
..picker-videos-grid .picker-video-grid-control-wrapper {cursor: pointer; di=
splay: inline-block; height: 140px; outline: medium none; text-align: cente=
r; vertical-align: middle; width: 140px;}
..picker-videos-grid .picker-video-grid-control-thumbnail {max-height: 100%;=
max-width: 100%;}
..picker-videos-grid .picker-video-grid-control-hover .picker-video-grid-con=
trol-check {opacity: 0.7;}
..picker-videos-grid .picker-video-grid-control-checked .picker-video-grid-c=
ontrol-check {opacity: 1; left: 5px; top: 5px;}
..picker-videos-grid .picker-video-grid-control-check {opacity: 0; transitio=
n: opacity 0.218s ease 0s; left: 10px; position: absolute; top: 10px; z-ind=
ex: 2104;}
..picker-videos-grid .picker-spr-rio-checkmark-selected {animation: 0.3s lin=
ear 0s normal none 1 running pickerPhotosSelectionOverlayCheckmarkSelectedT=
ransition;}
..picker-video-control-disabled ,.picker-video-grid-control-disabled ,.picke=
r-video-grid-control-unselectable {opacity: 0.3;}
..picker-video-grid-control-unselectable .picker-video-grid-control-check {d=
isplay: none;}
..picker-video-duration-overlay {background: rgb(0, 0, 0) none repeat scroll=
0% 0%; bottom: 5px; color: rgb(255, 255, 255); font-size: 11px; font-weigh=
t: bold; height: 14px; line-height: 14px; opacity: 0.75; padding: 0px 4px; =
position: absolute; right: 5px; vertical-align: top; z-index: 2104;}
..picker-videos-grid .picker-video-grid-control-checked .picker-video-durati=
on-overlay {opacity: 1; bottom: 0px; right: 0px;}
..picker-video-grid-control-title {display: block; font-size: 13px; position=
: relative; height: 13px; line-height: 13px; margin: 2px 0px; overflow: hid=
den; text-align: center; text-overflow: ellipsis; white-space: nowrap;}
..picker-video-grid-control-timestamp {color: rgb(153, 153, 153); display: b=
lock; position: relative; font-size: 11px; height: 11px; line-height: 11px;=
margin: 2px 0px; text-align: center;}
..picker-videos-grid .picker-video-grid-control-preview {display: inline-blo=
ck; margin: 10px; outline: medium none;}
..picker-videos-grid .picker-spr-video-play-overlay {opacity: 0.8; left: 0px=
; top: 0px;}
..picker-video-grid-control-hover .picker-spr-video-play-overlay {opacity: 1=
;}
..picker-video-grid-control-checked .picker-spr-video-play-overlay {opacity:=
1; left: -5px; top: -5px;}
..upload-uploader .picker-photos-upload .progress-bar-horizontal {width: aut=
o; height: 5px; border: medium none; margin: 3px; padding: 0px; background:=
transparent none repeat scroll 0% 0%;}
..upload-uploader .picker-photos-upload .progress-bar-thumb {background: rgb=
(136, 136, 136) none repeat scroll 0% 0%; height: 100%;}
..picker-photos-upload-progress {position: absolute !important; bottom: 3px;=
left: 0px; width: 100%;}
..picker-photos-upload-controls {position: absolute !important; bottom: 3px;=
left: 0px; width: 100%; background: rgb(215, 0, 0) none repeat scroll 0% 0=
%; color: rgb(255, 255, 255);}
..picker-photos-upload-actions {text-decoration: underline; cursor: pointer;=
margin: 5px;}
..picker-photos-upload-message {margin: 5px;}
..picker-videos-upload .picker-video-control {cursor: auto;}
..picker-photos-upload-filename ,.picker-videos-upload-loadingthumb {color: =
rgb(153, 153, 153); background: transparent url("//ssl.gstatic.com/docs/pic=
ker/images/placeholder-v1.gif") repeat scroll 0% 0%;}
..picker-videos-upload-error .picker-videos-upload-loadingthumb {background:=
rgb(215, 0, 0) none repeat scroll 0% 0%;}
..picker-videos-upload-loadingthumb {width: 240px; height: 180px;}
..picker-photos-upload-filename {padding-top: 5px; height: 115px; width: 160=
px;}
..picker-videos-upload-metadata {vertical-align: top; width: 100%;}
..picker-videos-upload-processing {font-size: 12px; color: rgb(170, 170, 170=
);}
..picker-videos-upload-error {font-size: 12px; color: rgb(204, 51, 51);}
..upload-state-complete .picker-photos-upload-filename {background-color: rg=
b(245, 245, 245);}
..picker-photos-upload-rotating ,.upload-state-complete .picker-photos-uploa=
d-filename .picker-photos-upload-loading-icon ,.upload-state-complete .pick=
er-videos-upload-loadingthumb .picker-videos-upload-loading-icon {position:=
absolute !important; top: 50%; left: 50%; background-image: url("//ssl.gst=
atic.com/docs/picker/images/loading-32-v1.gif") !important; height: 32px; w=
idth: 32px; margin: -16px 0px 0px -16px; opacity: 0.3;}
..picker-videos-upload-error.upload-state-complete .picker-videos-upload-loa=
dingthumb .picker-videos-upload-loading-icon {display: none;}
..picker-videos-upload-loadingthumb .picker-videos-upload-loading-icon {posi=
tion: relative !important;}
..upload-state-default .picker-photos-upload-controls ,.upload-state-start .=
picker-photos-upload-controls ,.upload-state-cancel .picker-photos-upload-c=
ontrols ,.upload-state-complete .picker-photos-upload-controls ,.upload-sta=
te-upload .picker-photos-upload-controls ,.upload-state-inqueue .picker-pho=
tos-upload-controls {display: none;}
..picker-videos-upload-control {margin: 2px; border: 6px solid rgb(255, 255,=
255);}
..picker-videos-upload-preview {height: 182px; overflow: hidden; padding: 1p=
x; margin-right: 4px; border: 1px solid rgb(153, 153, 153); position: relat=
ive;}
..picker-photos-upload-preview {opacity: 0.8; overflow: hidden;}
..picker-photos-upload-preview .uploader-thumb-img {border: 1px solid rgb(10=
2, 102, 102); position: relative;}
..picker-photos-upload-description {color: rgb(153, 153, 153); width: 100%; =
height: 1.2em; overflow: hidden; text-align: center; text-overflow: ellipsi=
s; white-space: nowrap; position: absolute;}
..picker-videoupload .upload-state-complete .picker-photos-upload-preview .u=
ploader-thumb-img {border: 1px solid rgb(192, 192, 192); position: relative=
;}
..picker-videoupload .upload-state-complete .picker-photos-upload-preview {o=
pacity: 1; overflow: visible;}
..picker-videoupload .upload-state-default .progress-bar-horizontal ,.picker=
-videoupload .upload-state-inqueue .progress-bar-horizontal ,.picker-videou=
pload .upload-state-error .progress-bar-horizontal ,.picker-videoupload .up=
load-state-cancel .progress-bar-horizontal ,.picker-videoupload .upload-sta=
te-complete .progress-bar-horizontal {display: none;}
..photo-zoomview {position: relative; z-index: 2105;}
:first-child + html .photo-zoomview {background-color: rgb(255, 255, 255); =
padding-top: 3px;}
..picker-zoomview-image {background: rgb(255, 255, 255) none repeat scroll 0=
% 0%; margin: 0px 3px; padding-top: 22px;}
..photo-loading .photo-loading-indicator {display: block; font-size: 20pt; f=
ont-weight: bold; font-family: Roboto,Arial,sans-serif; text-align: center;=
width: 100%; position: absolute; top: 0px; margin: 1em;}
..scaledimage-onscreenpane {display: inline-block; position: relative;}
..upload-uploader-file-grid {margin: 10px 5px 0px;}
..picker-photos-welcome {bottom: 10px;}
..picker-photos-welcome-text {font-size: 13px; padding-left: 15px;}
..picker-photos-welcome-section {padding: 15px 15px 0px;}
..picker-photos-welcome-line {border-bottom: 1px solid rgb(221, 221, 221); p=
adding-top: 20px;}
..picker-photos-welcome-link {color: rgb(153, 153, 153);}
..picker-photos-welcome-icon-top {vertical-align: top;}
..picker-photos-welcome-desc {margin: 10px 0px 20px; font-size: 12px;}
..picker-photos-welcome-source-link {font-weight: bold; color: rgb(17, 85, 2=
04); cursor: pointer;}
..picker-photos-welcome-title {font-weight: bold; color: rgb(0, 0, 0);}
..picker-main-container .picker-photos-welcome .goog-imageless-button {font-=
weight: bold; color: rgb(34, 34, 34);}
..picker-html5-video {background: rgb(0, 0, 0) none repeat scroll 0% 0%;}
..picker-video-upload-processing ,.video-upload-box .picker-photo-control-lo=
ading {height: 270px; width: 360px; background-color: rgb(238, 238, 238);}
..picker-videosgrid .picker-photo-control {margin-top: 20px; margin-left: 20=
px;}
..picker-video-processing-text {position: absolute; bottom: 5px; left: 0px; =
right: 0px; height: 20px; text-align: center; z-index: 2109; opacity: 0.8; =
color: rgb(153, 153, 153); font-size: 12px;}
..picker-video-upload-spinner {z-index: 2109; background-image: url("//ssl.g=
static.com/docs/picker/images/loading-v1.gif"); height: 16px; width: 16px; =
opacity: 0.5; position: absolute; top: 50%; margin-top: -20px; left: 50%; m=
argin-left: -8px;}
..video-upload-box .picker-upload-filename-inner ,.video-upload-box-error .p=
icker-upload-filename-inner ,.picker-video-upload-filename {position: absol=
ute; top: 50%; margin-top: 3px; text-align: center; padding-top: 0px; z-ind=
ex: 2104; height: 14px; width: 120px; text-overflow: ellipsis; white-space:=
nowrap; overflow: hidden; font-size: 12px; color: rgb(153, 153, 153);}
..video-upload-box .picker-spr-video-upload-icon {opacity: 0.5; position: ab=
solute; top: 50%; margin-top: -20px; left: 50%; margin-left: -11px;}
..video-upload-box .picker-photos-upload-filename {background-color: rgb(238=
, 238, 238); background-image: none;}
..video-upload-box .picker-photos-upload-controls {display: none;}
..picker-videosgrid .picker-photo-control-focused ,.picker-videosgrid .picke=
r-photo-control-focused.picker-photo-control ,.picker-videosgrid .picker-ph=
oto-control ,.picker-videosgrid .picker-photo-control.picker-photo-control-=
focused {outline: medium none; border: medium none;}
..picker-remove-video-single {position: relative; margin-left: 600px; margin=
-top: 10px; cursor: pointer;}
..video-upload-box .progress-bar-horizontal {right: 0px; bottom: 0px; left: =
0px; height: 8px; border: 1px solid rgb(153, 153, 153); margin: 0px 8px 8px=
; padding: 1px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; z-=
index: 2109;}
..video-upload-box .progress-bar-thumb {height: 100%; background-repeat: rep=
eat-x; background-size: 20px 10px; background-color: rgb(204, 204, 204); ba=
ckground-attachment: scroll; background-image: linear-gradient(315deg, tran=
sparent, transparent 33%, rgba(0, 0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%,=
transparent 66%, transparent); animation-duration: 0.8s; animation-iterati=
on-count: infinite; animation-timing-function: linear;}
..video-upload-box .picker-spr-close-box-small-off {position: absolute; opac=
ity: 0.5; cursor: pointer; z-index: 2109; top: 5px; right: 5px;}
..video-upload-box .picker-spr-upload-error {position: absolute; top: 50%; m=
argin-top: -20px; left: 50%; margin-left: -8px;}
..picker-videosgrid .picker-edit-toolbar {display: none;}
..picker-videomsgbar.picker-msgbar.jfk-butterBar {width: 180px; z-index: 220=
0 !important;}
..picker-videosgrid .picker-photo-control-preview.picker-video-player {z-ind=
ex: 2103;}
..picker-videosgrid .new-upload-box-error .picker-photos-error-text {bottom:=
0px;}
..picker-html5-player-wrapper ,.picker-video-thumbnail {position: absolute; =
top: 0px; bottom: 0px; left: 0px; right: 0px;}
..picker-ribbon-wrapper {overflow: hidden; position: absolute; top: -3px; le=
ft: -3px; width: 85px; height: 88px;}
..picker-ribbon {position: relative; padding: 6px 0px; left: -24px; top: 24p=
x; width: 120px; font-size: 10px; font-weight: bold; color: rgb(255, 255, 2=
55); text-align: center; text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.5); text-=
transform: uppercase; opacity: 0.9; transform: rotate(-45deg); background-c=
olor: rgb(170, 0, 0); background-image: -moz-linear-gradient(center top , r=
gb(255, 0, 0), rgb(170, 0, 0)); box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);=
}
..goog-inline-block {position: relative; display: inline-block;}
* html .goog-inline-block ,:first-child + html .goog-inline-block ,body .go=
og-inline-block {display: inline;}
..jfk-button {border-radius: 2px; cursor: default; font-size: 11px; font-wei=
ght: bold; text-align: center; white-space: nowrap; margin-right: 16px; hei=
ght: 27px; line-height: 27px; min-width: 54px; outline: 0px none; padding: =
0px 8px;}
..jfk-button-hover {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);}
..jfk-button-selected {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..jfk-button .jfk-button-img {margin-top: -3px; vertical-align: middle;}
..jfk-button-label {margin-left: 5px;}
..jfk-button-narrow {min-width: 34px; padding: 0px;}
..jfk-button-collapse-left ,.jfk-button-collapse-right {z-index: 1;}
..jfk-button-collapse-left.jfk-button-disabled {z-index: 0;}
..jfk-button-checked.jfk-button-collapse-left ,.jfk-button-checked.jfk-butto=
n-collapse-right {z-index: 2;}
..jfk-button-collapse-left:focus ,.jfk-button-collapse-right:focus ,.jfk-but=
ton-hover.jfk-button-collapse-left ,.jfk-button-hover.jfk-button-collapse-r=
ight {z-index: 3;}
..jfk-button-collapse-left {margin-left: -1px; border-bottom-left-radius: 0p=
x; border-top-left-radius: 0px;}
..jfk-button-collapse-right {margin-right: 0px; border-top-right-radius: 0px=
; border-bottom-right-radius: 0px;}
..jfk-button.jfk-button-disabled:active {box-shadow: none;}
..jfk-button-action {box-shadow: none; background-color: rgb(77, 144, 254); =
background-image: -moz-linear-gradient(center top , rgb(77, 144, 254), rgb(=
71, 135, 237)); border: 1px solid rgb(48, 121, 237); color: rgb(255, 255, 2=
55);}
..jfk-button-action.jfk-button-hover {box-shadow: none; background-color: rg=
b(53, 122, 232); background-image: -moz-linear-gradient(center top , rgb(77=
, 144, 254), rgb(53, 122, 232)); border: 1px solid rgb(47, 91, 183);}
..jfk-button-action:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) in=
set; border: 1px solid rgba(0, 0, 0, 0); outline: 0px none rgba(0, 0, 0, 0)=
;}
..jfk-button-action.jfk-button-clear-outline {box-shadow: none; outline: med=
ium none;}
..jfk-button-action:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset=
; background: rgb(53, 122, 232) none repeat scroll 0% 0%; border: 1px solid=
rgb(47, 91, 183);}
..jfk-button-action.jfk-button-disabled {background: rgb(77, 144, 254) none =
repeat scroll 0% 0%; opacity: 0.5;}
..jfk-button-contrast {box-shadow: none; background-color: rgb(245, 245, 245=
); background-image: -moz-linear-gradient(center top , rgb(245, 245, 245), =
rgb(241, 241, 241)); color: rgb(68, 68, 68); border: 1px solid rgba(0, 0, 0=
, 0.1);}
..jfk-button-contrast.jfk-button-hover ,.jfk-button-contrast.jfk-button-clea=
r-outline.jfk-button-hover {box-shadow: none; background-color: rgb(248, 24=
8, 248); background-image: -moz-linear-gradient(center top , rgb(248, 248, =
248), rgb(241, 241, 241)); border: 1px solid rgb(198, 198, 198); color: rgb=
(51, 51, 51);}
..jfk-button-contrast:active ,.jfk-button-contrast.jfk-button-hover:active {=
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; background: rgb(248, 248,=
248) none repeat scroll 0% 0%;}
..jfk-button-contrast.jfk-button-selected ,.jfk-button-contrast.jfk-button-c=
lear-outline.jfk-button-selected {background-color: rgb(238, 238, 238); bac=
kground-image: -moz-linear-gradient(center top , rgb(248, 248, 248), rgb(24=
1, 241, 241)); border: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51)=
;}
..jfk-button-contrast.jfk-button-checked ,.jfk-button-contrast.jfk-button-cl=
ear-outline.jfk-button-checked {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) =
inset; background-color: rgb(238, 238, 238); background-image: -moz-linear-=
gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224)); border: 1px =
solid rgb(204, 204, 204); color: rgb(51, 51, 51);}
..jfk-button-contrast:focus {border: 1px solid rgb(77, 144, 254); outline: m=
edium none;}
..jfk-button-contrast.jfk-button-clear-outline {border: 1px solid rgb(220, 2=
20, 220); outline: medium none;}
..jfk-button-contrast.jfk-button-disabled {background: rgb(255, 255, 255) no=
ne repeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(1=
84, 184, 184);}
..jfk-button-contrast .jfk-button-img {opacity: 0.55;}
..jfk-button-contrast.jfk-button-checked .jfk-button-img ,.jfk-button-contra=
st.jfk-button-selected .jfk-button-img ,.jfk-button-contrast.jfk-button-hov=
er .jfk-button-img {opacity: 0.9;}
..jfk-button-contrast.jfk-button-disabled .jfk-button-img {opacity: 0.333;}
..jfk-button-default {box-shadow: none; background-color: rgb(61, 148, 0); b=
ackground-image: -moz-linear-gradient(center top , rgb(61, 148, 0), rgb(57,=
138, 0)); border: 1px solid rgb(41, 105, 29); color: rgb(255, 255, 255); t=
ext-shadow: 0px 1px rgba(0, 0, 0, 0.1);}
..jfk-button-default.jfk-button-hover {box-shadow: none; background-color: r=
gb(54, 130, 0); background-image: -moz-linear-gradient(center top , rgb(61,=
148, 0), rgb(54, 130, 0)); border: 1px solid rgb(45, 98, 0); text-shadow: =
0px 1px rgba(0, 0, 0, 0.3);}
..jfk-button-default:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) i=
nset; border: 1px solid rgba(0, 0, 0, 0); outline: 0px none rgba(0, 0, 0, 0=
);}
..jfk-button-default.jfk-button-clear-outline {box-shadow: none; outline: me=
dium none;}
..jfk-button-default:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inse=
t; background: rgb(54, 130, 0) none repeat scroll 0% 0%; border: 1px solid =
rgb(45, 98, 0);}
..jfk-button-default.jfk-button-disabled {background: rgb(61, 148, 0) none r=
epeat scroll 0% 0%; opacity: 0.5;}
..jfk-button-primary {box-shadow: none; background-color: rgb(209, 72, 54); =
background-image: -moz-linear-gradient(center top , rgb(221, 75, 57), rgb(2=
09, 72, 54)); border: 1px solid transparent; color: rgb(255, 255, 255); tex=
t-shadow: 0px 1px rgba(0, 0, 0, 0.1); text-transform: uppercase;}
..jfk-button-primary.jfk-button-hover {box-shadow: 0px 1px 1px rgba(0, 0, 0,=
0.2); background-color: rgb(197, 55, 39); background-image: -moz-linear-gr=
adient(center top , rgb(221, 75, 57), rgb(197, 55, 39)); border-width: 1px;=
border-style: solid; border-color: rgb(176, 40, 26) rgb(176, 40, 26) rgb(1=
75, 48, 31); -moz-border-top-colors: none; -moz-border-right-colors: none; =
-moz-border-bottom-colors: none; -moz-border-left-colors: none; border-imag=
e: none;}
..jfk-button-primary:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) i=
nset; border: 1px solid rgba(0, 0, 0, 0); outline: 0px none rgba(0, 0, 0, 0=
);}
..jfk-button-primary.jfk-button-clear-outline {box-shadow: none; outline: me=
dium none;}
..jfk-button-primary:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inse=
t; background-color: rgb(176, 40, 26); background-image: -moz-linear-gradie=
nt(center top , rgb(221, 75, 57), rgb(176, 40, 26)); border: 1px solid rgb(=
153, 42, 27);}
..jfk-button-primary.jfk-button-disabled {background: rgb(209, 72, 54) none =
repeat scroll 0% 0%; opacity: 0.5;}
..jfk-slideToggle {border-radius: 2px; box-shadow: 0px 1px 2px 0px rgba(0, 0=
, 0, 0.1) inset; background-color: rgb(245, 245, 245); background-image: -m=
oz-linear-gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224)); bo=
rder: 1px solid rgb(204, 204, 204); color: rgb(102, 102, 102); font-weight:=
bold; height: 27px; line-height: 27px; margin-right: 16px; outline: medium=
none; overflow: hidden; padding: 0px; position: relative; width: 94px;}
..jfk-slideToggle-on ,.jfk-slideToggle-off ,.jfk-slideToggle-thumb {display:=
inline-block; text-align: center; text-transform: uppercase; width: 47px;}
..jfk-slideToggle-on {box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1) inset; =
background-color: rgb(57, 139, 242); background-image: -moz-linear-gradient=
(center top , rgb(59, 147, 255), rgb(54, 137, 238)); color: rgb(255, 255, 2=
55); height: 27px;}
..jfk-slideToggle-off {border-radius: 2px 2px 0px 0px;}
..jfk-slideToggle-thumb {box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1); bac=
kground-color: rgb(245, 245, 245); background-image: -moz-linear-gradient(c=
enter top , rgb(248, 248, 248), rgb(241, 241, 241)); transition: all 0.13s =
ease-out 0s; border: 1px solid rgb(204, 204, 204); display: block; height: =
27px; left: -1px; position: absolute; top: -1px;}
..jfk-slideToggle-thumb::after {content: ""; background-image: -moz-linear-g=
radient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-linear=
-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-line=
ar-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-li=
near-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-=
linear-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%); bac=
kground-position: 0px 0px, 0px 2px, 0px 4px, 0px 6px, 0px 8px; background-r=
epeat: repeat-x; background-size: 2px 1px; display: block; height: 9px; lef=
t: 15px; position: absolute; top: 9px; width: 17px;}
..jfk-slideToggle.jfk-slideToggle-checked .jfk-slideToggle-thumb {left: 47px=
;}
..jfk-slideToggle:focus {border: 1px solid rgb(77, 144, 254);}
..jfk-slideToggle.jfk-slideToggle-clearOutline {border: 1px solid rgb(204, 2=
04, 204);}
..jfk-button-standard {box-shadow: none; background-color: rgb(245, 245, 245=
); background-image: -moz-linear-gradient(center top , rgb(245, 245, 245), =
rgb(241, 241, 241)); color: rgb(68, 68, 68); border: 1px solid rgba(0, 0, 0=
, 0.1);}
..jfk-button-standard.jfk-button-hover ,.jfk-button-standard.jfk-button-clea=
r-outline.jfk-button-hover {box-shadow: none; background-color: rgb(248, 24=
8, 248); background-image: -moz-linear-gradient(center top , rgb(248, 248, =
248), rgb(241, 241, 241)); border: 1px solid rgb(198, 198, 198); color: rgb=
(51, 51, 51);}
..jfk-button-standard:active ,.jfk-button-standard.jfk-button-hover:active {=
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; background: rgb(248, 248,=
248) none repeat scroll 0% 0%; color: rgb(51, 51, 51);}
..jfk-button-standard.jfk-button-selected ,.jfk-button-standard.jfk-button-c=
lear-outline.jfk-button-selected {background-color: rgb(238, 238, 238); bac=
kground-image: -moz-linear-gradient(center top , rgb(248, 248, 248), rgb(24=
1, 241, 241)); border: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51)=
;}
..jfk-button-standard.jfk-button-checked ,.jfk-button-standard.jfk-button-cl=
ear-outline.jfk-button-checked {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) =
inset; background-color: rgb(238, 238, 238); background-image: -moz-linear-=
gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224)); border: 1px =
solid rgb(204, 204, 204); color: rgb(51, 51, 51);}
..jfk-button-standard:focus {border: 1px solid rgb(77, 144, 254); outline: m=
edium none;}
..jfk-button-standard.jfk-button-clear-outline {border: 1px solid rgba(0, 0,=
0, 0.1); outline: medium none;}
..jfk-button-standard.jfk-button-disabled {background: rgb(255, 255, 255) no=
ne repeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(1=
84, 184, 184);}
..jfk-button-standard .jfk-button-img {opacity: 0.55;}
..jfk-button-standard.jfk-button-checked .jfk-button-img ,.jfk-button-standa=
rd.jfk-button-selected .jfk-button-img ,.jfk-button-standard.jfk-button-hov=
er .jfk-button-img {opacity: 0.9;}
..jfk-button-standard.jfk-button-disabled .jfk-button-img {opacity: 0.333;}
..jfk-button-flat {border-radius: 0px; border: 1px solid transparent; font-s=
ize: 13px; font-weight: normal; height: 21px; line-height: 21px; margin-rig=
ht: 1px; min-width: 0px; padding: 0px;}
..jfk-button-flat.jfk-button-hover ,.jfk-button-flat.jfk-button-selected ,.j=
fk-button-flat:focus ,.jfk-button-flat:active {box-shadow: none;}
..jfk-button-flat .jfk-button-img {height: 21px; opacity: 0.55; width: 21px;=
}
..jfk-button-flat .jfk-button-label {display: inline-block; margin: 0px; pad=
ding: 0px 1px;}
..jfk-button-flat.jfk-button-selected .jfk-button-img ,.jfk-button-flat.jfk-=
button-hover .jfk-button-img {opacity: 0.9;}
..jfk-button-flat.jfk-button-disabled .jfk-button-img {opacity: 0.333;}
..jfk-button-flat:focus {border: 1px solid rgb(77, 144, 254);}
..jfk-button-flat.jfk-button-clear-outline {border: 1px solid transparent;}
..jfk-button-mini {background-color: rgb(245, 245, 245); background-image: -=
moz-linear-gradient(center top , rgb(245, 245, 245), rgb(241, 241, 241)); b=
order: 1px solid rgba(0, 0, 0, 0.1); color: rgb(68, 68, 68); height: 17px; =
line-height: 17px; min-width: 22px; text-shadow: 0px 1px rgba(0, 0, 0, 0.1)=
;}
..jfk-button-mini.jfk-button-hover ,.jfk-button-mini.jfk-button-clear-outlin=
e.jfk-button-hover {background-color: rgb(248, 248, 248); background-image:=
-moz-linear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, 241));=
border: 1px solid rgb(198, 198, 198); text-shadow: 0px 1px rgba(0, 0, 0, 0=
..3);}
..jfk-button-mini:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..jfk-button-mini.jfk-button-checked ,.jfk-button-mini.jfk-button-clear-outl=
ine.jfk-button-checked {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; b=
ackground-color: rgb(224, 224, 224); background-image: -moz-linear-gradient=
(center top , rgb(238, 238, 238), rgb(224, 224, 224)); border: 1px solid rg=
b(204, 204, 204); color: rgb(51, 51, 51);}
..jfk-button-mini:focus {border: 1px solid rgb(77, 144, 254);}
..jfk-button-mini.jfk-button-clear-outline {border: 1px solid rgb(220, 220, =
220);}
..jfk-button-mini.jfk-button-disabled {background: rgb(255, 255, 255) none r=
epeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(184, =
184, 184);}
..jfk-butterBar {border-radius: 2px; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0=
..2); transition: all 0s linear 1s, opacity 1s ease 0s; border-style: solid;=
border-width: 0px; font-size: 11px; height: 0px; opacity: 0; visibility: h=
idden; overflow: hidden; padding: 0px; text-align: center;}
..jfk-butterBar-info {background-color: rgb(249, 237, 190); border-color: rg=
b(240, 195, 109); color: rgb(51, 51, 51);}
..jfk-butterBar-error {background-color: rgb(72, 72, 72); border-color: rgb(=
32, 32, 32); color: rgb(255, 255, 255);}
..jfk-butterBar-promo {background-color: rgb(214, 233, 248); border-color: r=
gb(77, 144, 240); color: rgb(51, 51, 51);}
..jfk-butterBar-warning {background-color: rgb(221, 75, 57); border-color: r=
gb(96, 32, 25); color: rgb(255, 255, 255);}
..jfk-butterBar-shown {transition: opacity 0.218s ease 0s; border-width: 1px=
; min-height: 14px; height: auto; opacity: 1; visibility: visible; padding:=
6px 16px;}
..jfk-butterBar-mini.jfk-butterBar-shown {padding: 2px 16px;}
..picker-dialog {background: rgb(255, 255, 255) none repeat scroll 0% 0%; bo=
rder: 1px solid rgb(172, 172, 172); position: absolute; box-shadow: 0px 4px=
16px rgba(0, 0, 0, 0.2); z-index: 1021; outline: medium none; padding: 0px=
;}
..picker.modal-dialog-content {width: 705px; height: 370px; padding: 0px; ma=
rgin: 0px; position: relative; border: 0px none;}
..picker.modal-dialog-bg {background: rgb(255, 255, 255) none repeat scroll =
0% 0%; left: 0px; position: absolute; top: 0px; z-index: 1001;}
..picker.modal-dialog-title ,.picker.modal-dialog-buttons {display: none;}
..picker-frame {width: 100%; height: 100%; border: 0px none; overflow: hidde=
n;}
..picker-upload-button-visible .picker-drag-drop-supported .picker-photos-up=
load-dropzone-cell {vertical-align: middle;}
..picker-photos-upload-dropzone td {text-align: center;}
..picker .progress-bar-thumb {background-color: rgb(93, 128, 239);}
..goog-inline-block {position: relative; display: inline-block;}
* html .goog-inline-block ,body .goog-inline-block {display: inline;}
:first-child + html .goog-inline-block {display: inline;}
..sketchy-dialog-bg ,.sketchy-dialog-fg {left: 0px; overflow: auto; position=
: absolute; top: 0px;}
..sketchy-dialog-bg {background-color: rgb(238, 238, 238); opacity: 0.75;}
..sketchy-dialog-fg {cursor: move;}
..sketchy-dialog {background-color: rgb(193, 217, 255); border: 1px solid rg=
b(58, 87, 116); padding: 8px; position: absolute; cursor: move;}
..sketchy-dialog-title {background-color: rgb(224, 237, 254); color: rgb(0, =
0, 0); font: bold 14px Arial,sans-serif; padding: 8px 15px 8px 8px; positio=
n: relative; vertical-align: middle;}
..sketchy-dialog-title-close {height: 24px; position: absolute; right: 8px; =
top: 4px; font-weight: normal; padding: 0px 6px;}
..sketchy-dialog-title-autosave {color: rgb(102, 102, 102); font: 12px Arial=
,sans-serif; position: absolute;}
..sketchy-dialog-content {background-color: rgb(255, 255, 255);}
..goog-tab-bar {margin: 0px; border: 0px none; padding: 0px; list-style: out=
side none none; cursor: default; outline: medium none; background: rgb(235,=
239, 249) none repeat scroll 0% 0%;}
..goog-tab-bar-clear {clear: both; height: 0px; overflow: hidden;}
..goog-tab-bar-start {float: left;}
..goog-tab-bar-end {float: right;}
* html .goog-tab-bar-start ,body .goog-tab-bar-start {margin-right: -3px;}
* html .goog-tab-bar-end ,body .goog-tab-bar-end {margin-left: -3px;}
div.tr_bubble {position: absolute;}
..tr_bubble_link {color: rgb(0, 0, 204); text-decoration: underline; cursor:=
pointer; font-size: 100%;}
..tr_bubble .tr_option-link ,.tr_bubble #tr_delete-image ,.tr_bubble #tr_mod=
ule-options-link {font-size: 83%;}
..tr_bubble .tr_body ,.tr_bubble .tr_t ,.tr_bubble .tr_l ,.tr_bubble .tr_r ,=
..tr_bubble .tr_b {background-color: rgb(224, 236, 255);}
..tr_bubble .tr_body {padding: 0px 19px 4px 4px; white-space: nowrap;}
..tr_bubble .tr_spacer {padding: 1px;}
..tr_bubble .tr_body ,.tr_bubble .tr_td ,.tr_bubble .tr_th {font-size: 83%; =
font-family: Arial,Helvetica,sans-serif;}
..tr_bubble .tr_tr ,.tr_bubble .tr_tl ,.tr_bubble .tr_bl ,.tr_bubble .tr_br =
{background-repeat: no-repeat; height: 0px; width: 2px;}
..tr_bubble .tr_tr {background-image: url("//ssl.gstatic.com/editor/bubble2_=
tr.gif");}
..tr_bubble .tr_tl {background-image: url("//ssl.gstatic.com/editor/bubble2_=
tl.gif");}
..tr_bubble .tr_bl {background-image: url("//ssl.gstatic.com/editor/bubble2_=
bl.gif");}
..tr_bubble .tr_br {background-image: url("//ssl.gstatic.com/editor/bubble2_=
br.gif");}
..tr_bubble .tr_t {border-top: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_b {border-bottom: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_l {border-left: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_r {border-right: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_tr ,.tr_bubble .tr_tl ,.tr_bubble .tr_bl ,.tr_bubble .tr_br =
,.tr_bubble .tr_b ,.tr_bubble .tr_t {line-height: 0; font-size: 1px;}
..tr_bubble_closebox {position: absolute; cursor: default; background: rgba(=
0, 0, 0, 0) url("//ssl.gstatic.com/editor/bubble_closebox.gif") no-repeat s=
croll left top; padding: 0px; margin: 0px; width: 10px; height: 10px; top: =
3px; right: 5px;}
div.tr_bubble_panel {padding: 2px 0px 1px;}
div.tr_bubble_panel_title {display: none;}
div.tr_multi_bubble div.tr_bubble_panel_title {margin-right: 1px; display: =
block; float: left; width: 50px;}
div.tr_multi_bubble div.tr_bubble_panel {padding: 2px 0px 1px; margin-right=
: 50px;}
..ee-content {width: 400px; height: 200px; overflow: auto; padding: 4px 8px;=
background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 1px solid=
rgb(51, 102, 153);}
..ee-tex {width: 388px; height: 60px; border: 1px solid rgb(0, 0, 0); margin=
-top: 4px; margin-bottom: 10px; display: block;}
..ee-preview-container {width: 380px; height: 80px; overflow: auto; border: =
1px solid rgb(204, 204, 204); padding: 4px;}
..editable a ,body a {cursor: text;}
..tr_well .tr_tl {background-image: url("//ssl.gstatic.com/editor/well_tl2.g=
if"); background-repeat: no-repeat;}
..tr_well .tr_t {background-image: url("//ssl.gstatic.com/editor/well_top2.g=
if"); background-repeat: repeat-x;}
..tr_well .tr_tr {background-image: url("//ssl.gstatic.com/editor/well_tr.gi=
f"); background-repeat: no-repeat;}
..tr_well .tr_l {background-image: url("//ssl.gstatic.com/editor/well_left.g=
if"); background-repeat: repeat-y;}
..tr_well .tr_r {background-image: url("//ssl.gstatic.com/editor/well_right.=
gif"); background-repeat: repeat-y;}
..tr_well .tr_r2 {background-image: url("//ssl.gstatic.com/editor/well_right=
2.gif"); background-repeat: repeat-y; background-position: right center;}
..tr_well .tr_bl {background-image: url("//ssl.gstatic.com/editor/well_bl.gi=
f"); background-repeat: no-repeat;}
..tr_well .tr_b {background-image: url("//ssl.gstatic.com/editor/well_bottom=
..gif"); background-repeat: repeat-x;}
..tr_well .tr_br {background-image: url("//ssl.gstatic.com/editor/well_br.gi=
f"); background-repeat: no-repeat;}
..tr_toolbar-styles .tr_well {border: medium none; padding: 0px; font-size: =
83%; text-align: center;}
..tr_toolbar-vertical .tr_toolbar-styles .tr_well .tr_separator {height: 5px=
; display: block;}
..tr_toolbar-styles .tr_well .tr_selected-style {background: rgb(250, 209, 9=
9) none repeat scroll 0% 0%;}
..tr_toolbar-styles .tr_well .tr_unselected-style span {color: rgb(97, 97, 1=
88); text-decoration: underline; font-weight: normal; cursor: pointer;}
..tr_toolbar-styles .tr_well .tr_selected-style span {font-weight: bold; cur=
sor: pointer;}
..tr_toolbar-vertical .tr_toolbar-styles {float: left;}
..tr_toolbar-vertical .tr_toolbar-styles .tr_well {width: 7.8em;}
..goog-tab {position: relative; border: 1px solid rgb(51, 102, 153); padding=
: 4px 8px; color: rgb(51, 51, 51); background: rgb(221, 221, 221) none repe=
at scroll 0% 0%; cursor: default;}
..goog-tab-bar-top .goog-tab {margin: 1px 4px 0px 0px; border-bottom: 0px no=
ne; float: left;}
..goog-tab-bar-bottom .goog-tab {margin: 0px 4px 1px 0px; border-top: 0px no=
ne; float: left;}
..goog-tab-bar-start .goog-tab {margin: 0px 0px 4px 1px; border-right: 0px n=
one;}
..goog-tab-bar-end .goog-tab {margin: 0px 1px 4px 0px; border-left: 0px none=
;}
..goog-tab-hover {background: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..goog-tab-disabled {color: rgb(255, 255, 255); background: rgb(204, 204, 20=
4) none repeat scroll 0% 0%; border-color: rgb(204, 204, 204);}
..goog-tab-selected {background: rgb(255, 255, 255) none repeat scroll 0% 0%=
!important;}
..goog-tab-bar-top .goog-tab-selected {top: 1px; margin-top: 0px; padding-bo=
ttom: 5px;}
..goog-tab-bar-bottom .goog-tab-selected {top: -1px; margin-bottom: 0px; pad=
ding-top: 5px;}
..goog-tab-bar-start .goog-tab-selected {left: 1px; margin-left: 0px; paddin=
g-right: 9px;}
..goog-tab-bar-end .goog-tab-selected {left: -1px; margin-right: 0px; paddin=
g-left: 9px;}
..tr_tabbed-pane-tabs {line-height: 1.3; vertical-align: top; font-size: 10p=
t;}
..tr_tabbed-pane-tabs p {margin-bottom: 0.7ex; font-size: 10pt;}
..tr_tabbed-pane-tabs div {cursor: pointer; width: 148px;}
..tr_tabbed-pane-tabs .tr_tabbed-pane-tab-label {color: blue; text-decoratio=
n: underline;}
..tr_tabbed-pane-tabs td {font-size: 13px;}
..tr_vertical-tab div {padding: 0.5ex 0px 0.5ex 0.7ex;}
..tr_tabbed-pane {padding: 1.3ex 0px; font-size: 10pt;}
..tr_tabbed-pane-tabs .tr_selected-tab-in-tabbed-pane {background: white non=
e repeat scroll 0% 0%;}
..tr_tabbed-pane-tabs .tr_selected-tab-in-tabbed-pane .tr_tabbed-pane-tab-la=
bel {color: black; font-weight: bold; text-decoration: none;}
..tr_tabbed-pane-tab-content {width: 100%; vertical-align: top; padding: 5px=
7px 1px; background: white none repeat scroll 0% 0%; font-size: 10pt;}
..goog-palette {cursor: default; outline: medium none;}
..goog-palette-table {border: 1px solid rgb(102, 102, 102); border-collapse:=
collapse; margin: 5px;}
..goog-palette-cell {border-width: 0px 1px 0px 0px; border-style: none solid=
none none; border-color: currentcolor rgb(102, 102, 102) currentcolor curr=
entcolor; -moz-border-top-colors: none; -moz-border-right-colors: none; -mo=
z-border-bottom-colors: none; -moz-border-left-colors: none; border-image: =
none; cursor: pointer; height: 18px; margin: 0px; text-align: center; verti=
cal-align: middle; width: 18px;}
..goog-palette-cell .goog-palette-colorswatch {border: medium none; font-siz=
e: x-small; height: 18px; position: relative; width: 18px;}
..goog-palette-cell-hover .goog-palette-colorswatch {border: 1px solid rgb(2=
55, 255, 255); height: 16px; width: 16px;}
..goog-palette-cell-selected .goog-palette-colorswatch {background: rgba(0, =
0, 0, 0) url("//ssl.gstatic.com/editor/editortoolbar.png") no-repeat scroll=
-368px 0px; border: 1px solid rgb(51, 51, 51); color: rgb(255, 255, 255); =
font-weight: bold; height: 16px; width: 16px;}
..goog-palette-customcolor {background-color: rgb(250, 250, 250); border: 1p=
x solid rgb(238, 238, 238); color: rgb(102, 102, 102); font-size: x-small; =
height: 15px; position: relative; width: 15px;}
..goog-palette-cell-hover .goog-palette-customcolor {background-color: rgb(2=
55, 238, 238); border: 1px solid rgb(255, 102, 102); color: rgb(255, 102, 1=
02);}
..goog-menu-button {background: rgb(221, 221, 221) url("//ssl.gstatic.com/ed=
itor/button-bg.png") repeat-x scroll left top; border: 0px none; color: rgb=
(0, 0, 0); cursor: pointer; list-style: outside none none; margin: 2px; out=
line: medium none; padding: 0px; text-decoration: none; vertical-align: mid=
dle;}
..goog-menu-button-outer-box ,.goog-menu-button-inner-box {border-style: sol=
id; border-color: rgb(170, 170, 170); vertical-align: top;}
..goog-menu-button-outer-box {margin: 0px; border-width: 1px 0px; padding: 0=
px;}
..goog-menu-button-inner-box {margin: 0px -1px; border-width: 0px 1px; paddi=
ng: 3px 4px;}
* html .goog-menu-button-inner-box ,body .goog-menu-button-inner-box {left:=
-1px;}
* html .goog-menu-button-rtl .goog-menu-button-outer-box ,body .goog-menu-b=
utton-rtl .goog-menu-button-outer-box {left: -1px; right: auto;}
* html .goog-menu-button-rtl .goog-menu-button-inner-box ,body .goog-menu-b=
utton-rtl .goog-menu-button-inner-box {right: auto;}
:first-child + html .goog-menu-button-inner-box {left: -1px;}
:first-child + html .goog-menu-button-rtl .goog-menu-button-inner-box {left=
: 1px; right: auto;}
..goog-menu-button-disabled {background-image: none !important; opacity: 0.3=
;}
..goog-menu-button-disabled .goog-menu-button-outer-box ,.goog-menu-button-d=
isabled .goog-menu-button-inner-box ,.goog-menu-button-disabled .goog-menu-=
button-caption ,.goog-menu-button-disabled .goog-menu-button-dropdown {colo=
r: rgb(51, 51, 51) !important; border-color: rgb(153, 153, 153) !important;=
}
* html .goog-menu-button-disabled ,body .goog-menu-button-disabled {margin:=
2px 1px !important; padding: 0px 1px !important;}
:first-child + html .goog-menu-button-disabled {margin: 2px 1px !important;=
padding: 0px 1px !important;}
..goog-menu-button-hover .goog-menu-button-outer-box ,.goog-menu-button-hove=
r .goog-menu-button-inner-box {border-color: rgb(153, 204, 255) rgb(102, 15=
3, 238) rgb(102, 153, 238) rgb(119, 170, 255) !important;}
..goog-menu-button-active ,.goog-menu-button-open {background-color: rgb(187=
, 187, 187); background-position: left bottom;}
..goog-menu-button-focused .goog-menu-button-outer-box ,.goog-menu-button-fo=
cused .goog-menu-button-inner-box {border-color: orange;}
..goog-menu-button-caption {padding: 0px 4px 0px 0px; vertical-align: top;}
..goog-menu-button-dropdown {height: 15px; width: 7px; background: rgba(0, 0=
, 0, 0) url("//ssl.gstatic.com/editor/editortoolbar.png") no-repeat scroll =
-388px 0px; vertical-align: top;}
..goog-menu-button-collapse-right ,.goog-menu-button-collapse-right .goog-me=
nu-button-outer-box ,.goog-menu-button-collapse-right .goog-menu-button-inn=
er-box {margin-right: 0px;}
..goog-menu-button-collapse-left ,.goog-menu-button-collapse-left .goog-menu=
-button-outer-box ,.goog-menu-button-collapse-left .goog-menu-button-inner-=
box {margin-left: 0px;}
..goog-menu-button-collapse-left .goog-menu-button-inner-box {border-left: 1=
px solid rgb(255, 255, 255);}
..goog-menu-button-collapse-left.goog-menu-button-checked .goog-menu-button-=
inner-box {border-left: 1px solid rgb(221, 221, 221);}
..goog-color-menu-button-indicator {border-bottom: 4px solid rgb(240, 240, 2=
40);}
..goog-color-menu-button .goog-menu-button-inner-box ,.goog-toolbar-color-me=
nu-button .goog-toolbar-menu-button-inner-box {padding-top: 2px !important;=
padding-bottom: 2px !important;}
..goog-custom-button {margin: 2px; border: 0px none; padding: 0px; font-fami=
ly: Arial,sans-serif; color: rgb(0, 0, 0); background: rgb(221, 221, 221) u=
rl("//ssl.gstatic.com/editor/button-bg.png") repeat-x scroll left top; text=
-decoration: none; list-style: outside none none; vertical-align: middle; c=
ursor: default; outline: medium none;}
..goog-custom-button-outer-box ,.goog-custom-button-inner-box {border-style:=
solid; border-color: rgb(170, 170, 170); vertical-align: top;}
..goog-custom-button-outer-box {margin: 0px; border-width: 1px 0px; padding:=
0px;}
..goog-custom-button-inner-box {margin: 0px -1px; border-width: 0px 1px; pad=
ding: 3px 4px; white-space: nowrap;}
* html .goog-custom-button-inner-box ,body .goog-custom-button-inner-box {l=
eft: -1px;}
* html .goog-custom-button-rtl .goog-custom-button-outer-box ,body .goog-cu=
stom-button-rtl .goog-custom-button-outer-box {left: -1px;}
* html .goog-custom-button-rtl .goog-custom-button-inner-box ,body .goog-cu=
stom-button-rtl .goog-custom-button-inner-box {right: auto;}
:first-child + html .goog-custom-button-inner-box {left: -1px;}
:first-child + html .goog-custom-button-rtl .goog-custom-button-inner-box {=
left: 1px;}
..goog-custom-button-disabled {background-image: none !important; opacity: 0=
..3;}
..goog-custom-button-disabled .goog-custom-button-outer-box ,.goog-custom-bu=
tton-disabled .goog-custom-button-inner-box {color: rgb(51, 51, 51) !import=
ant; border-color: rgb(153, 153, 153) !important;}
* html .goog-custom-button-disabled ,body .goog-custom-button-disabled {mar=
gin: 2px 1px !important; padding: 0px 1px !important;}
:first-child + html .goog-custom-button-disabled {margin: 2px 1px !importan=
t; padding: 0px 1px !important;}
..goog-custom-button-hover .goog-custom-button-outer-box ,.goog-custom-butto=
n-hover .goog-custom-button-inner-box {border-color: rgb(153, 204, 255) rgb=
(102, 153, 238) rgb(102, 153, 238) rgb(119, 170, 255) !important;}
..goog-custom-button-active ,.goog-custom-button-checked {background-color: =
rgb(187, 187, 187); background-position: left bottom;}
..goog-custom-button-focused .goog-custom-button-outer-box ,.goog-custom-but=
ton-focused .goog-custom-button-inner-box {border-color: orange;}
..goog-custom-button-collapse-right ,.goog-custom-button-collapse-right .goo=
g-custom-button-outer-box ,.goog-custom-button-collapse-right .goog-custom-=
button-inner-box {margin-right: 0px;}
..goog-custom-button-collapse-left ,.goog-custom-button-collapse-left .goog-=
custom-button-outer-box ,.goog-custom-button-collapse-left .goog-custom-but=
ton-inner-box {margin-left: 0px;}
..goog-custom-button-collapse-left .goog-custom-button-inner-box {border-lef=
t: 1px solid rgb(255, 255, 255);}
..goog-custom-button-collapse-left.goog-custom-button-checked .goog-custom-b=
utton-inner-box {border-left: 1px solid rgb(221, 221, 221);}
* html .goog-custom-button-collapse-left .goog-custom-button-inner-box ,bod=
y .goog-custom-button-collapse-left .goog-custom-button-inner-box {left: 0p=
x;}
:first-child + html .goog-custom-button-collapse-left .goog-custom-button-i=
nner-box {left: 0px;}
..goog-menu {background: rgb(255, 255, 255) none repeat scroll 0% 0%; border=
-color: rgb(204, 204, 204) rgb(102, 102, 102) rgb(102, 102, 102) rgb(204, 2=
04, 204); border-style: solid; border-width: 1px; cursor: default; font: 13=
px Arial,sans-serif; margin: 0px; outline: medium none; padding: 4px 0px; p=
osition: absolute; z-index: 20000;}
..goog-menuitem {color: rgb(0, 0, 0); font: 13px Arial,sans-serif; list-styl=
e: outside none none; margin: 0px; padding: 4px 7em 4px 28px; white-space: =
nowrap;}
..goog-menuitem.goog-menuitem-rtl {padding-left: 7em; padding-right: 28px;}
..goog-menu-nocheckbox .goog-menuitem ,.goog-menu-noicon .goog-menuitem {pad=
ding-left: 12px;}
..goog-menu-noaccel .goog-menuitem {padding-right: 20px;}
..goog-menuitem-content {color: rgb(0, 0, 0); font: 13px Arial,sans-serif;}
..goog-menuitem-disabled .goog-menuitem-accel ,.goog-menuitem-disabled .goog=
-menuitem-content {color: rgb(204, 204, 204) !important;}
..goog-menuitem-disabled .goog-menuitem-icon {opacity: 0.3;}
..goog-menuitem-highlight ,.goog-menuitem-hover {background-color: rgb(214, =
233, 248); border-color: rgb(214, 233, 248); border-style: dotted; border-w=
idth: 1px 0px; padding-bottom: 3px; padding-top: 3px;}
..goog-menuitem-checkbox ,.goog-menuitem-icon {background-repeat: no-repeat;=
height: 16px; left: 6px; position: absolute; right: auto; vertical-align: =
middle; width: 16px;}
..goog-menuitem-rtl .goog-menuitem-checkbox ,.goog-menuitem-rtl .goog-menuit=
em-icon {left: auto; right: 6px;}
..goog-option-selected .goog-menuitem-checkbox ,.goog-option-selected .goog-=
menuitem-icon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/e=
ditortoolbar.png") no-repeat scroll -512px 0px;}
..goog-menuitem-accel {color: rgb(153, 153, 153); direction: ltr; left: auto=
; padding: 0px 6px; position: absolute; right: 0px; text-align: right;}
..goog-menuitem-rtl .goog-menuitem-accel {left: 0px; right: auto; text-align=
: left;}
..goog-menuitem-mnemonic-hint {text-decoration: underline;}
..goog-menuitem-mnemonic-separator {color: rgb(153, 153, 153); font-size: 12=
px; padding-left: 4px;}
..goog-menuseparator {border-top: 1px solid rgb(204, 204, 204); margin: 4px =
0px; padding: 0px;}
..goog-toolbar {background: rgb(250, 250, 250) url("//ssl.gstatic.com/editor=
/toolbar-bg.png") repeat-x scroll left bottom; border-bottom: 1px solid rgb=
(213, 213, 213); cursor: default; font: 12px Arial,sans-serif; margin: 0px;=
outline: medium none; padding: 2px; position: relative;}
..goog-toolbar-button {margin: 0px 2px; border: 0px none; padding: 0px; font=
-family: Arial,sans-serif; color: rgb(51, 51, 51); text-decoration: none; l=
ist-style: outside none none; vertical-align: middle; cursor: default; outl=
ine: medium none;}
..goog-toolbar-button-outer-box ,.goog-toolbar-button-inner-box {border: 0px=
none; vertical-align: top;}
..goog-toolbar-button-outer-box {margin: 0px; padding: 1px 0px;}
..goog-toolbar-button-inner-box {margin: 0px -1px; padding: 3px 4px;}
* html .goog-toolbar-button-inner-box ,body .goog-toolbar-button-inner-box =
{left: -1px;}
* html .goog-toolbar-button-rtl .goog-toolbar-button-outer-box ,body .goog-=
toolbar-button-rtl .goog-toolbar-button-outer-box {left: -1px;}
* html .goog-toolbar-button-rtl .goog-toolbar-button-inner-box ,body .goog-=
toolbar-button-rtl .goog-toolbar-button-inner-box {right: auto;}
:first-child + html .goog-toolbar-button-inner-box {left: -1px;}
:first-child + html .goog-toolbar-button-rtl .goog-toolbar-button-inner-box=
{left: 1px; right: auto;}
..goog-toolbar-button-disabled {opacity: 0.3;}
..goog-toolbar-button-disabled .goog-toolbar-button-outer-box ,.goog-toolbar=
-button-disabled .goog-toolbar-button-inner-box {color: rgb(51, 51, 51) !im=
portant; border-color: rgb(153, 153, 153) !important;}
* html .goog-toolbar-button-disabled ,body .goog-toolbar-button-disabled {b=
ackground-color: rgb(240, 240, 240); margin: 0px 1px; padding: 0px 1px;}
:first-child + html .goog-toolbar-button-disabled {background-color: rgb(24=
0, 240, 240); margin: 0px 1px; padding: 0px 1px;}
..goog-toolbar-button-hover .goog-toolbar-button-outer-box ,.goog-toolbar-bu=
tton-active .goog-toolbar-button-outer-box ,.goog-toolbar-button-checked .g=
oog-toolbar-button-outer-box ,.goog-toolbar-button-selected .goog-toolbar-b=
utton-outer-box {border-width: 1px 0px; border-style: solid; padding: 0px;}
..goog-toolbar-button-hover .goog-toolbar-button-inner-box ,.goog-toolbar-bu=
tton-active .goog-toolbar-button-inner-box ,.goog-toolbar-button-checked .g=
oog-toolbar-button-inner-box ,.goog-toolbar-button-selected .goog-toolbar-b=
utton-inner-box {border-width: 0px 1px; border-style: solid; padding: 3px;}
..goog-toolbar-button-hover .goog-toolbar-button-outer-box ,.goog-toolbar-bu=
tton-hover .goog-toolbar-button-inner-box {border-color: rgb(161, 186, 223)=
!important;}
..goog-toolbar-button-active ,.goog-toolbar-button-checked ,.goog-toolbar-bu=
tton-selected {background-color: rgb(221, 225, 235) !important;}
..goog-toolbar-button-active .goog-toolbar-button-outer-box ,.goog-toolbar-b=
utton-active .goog-toolbar-button-inner-box ,.goog-toolbar-button-checked .=
goog-toolbar-button-outer-box ,.goog-toolbar-button-checked .goog-toolbar-b=
utton-inner-box ,.goog-toolbar-button-selected .goog-toolbar-button-outer-b=
ox ,.goog-toolbar-button-selected .goog-toolbar-button-inner-box {border-co=
lor: rgb(114, 155, 209);}
..goog-toolbar-button-collapse-right ,.goog-toolbar-button-collapse-right .g=
oog-toolbar-button-outer-box ,.goog-toolbar-button-collapse-right .goog-too=
lbar-button-inner-box {margin-right: 0px;}
..goog-toolbar-button-collapse-left ,.goog-toolbar-button-collapse-left .goo=
g-toolbar-button-outer-box ,.goog-toolbar-button-collapse-left .goog-toolba=
r-button-inner-box {margin-left: 0px;}
* html .goog-toolbar-button-collapse-left .goog-toolbar-button-inner-box ,b=
ody .goog-toolbar-button-collapse-left .goog-toolbar-button-inner-box {left=
: 0px;}
:first-child + html .goog-toolbar-button-collapse-left .goog-toolbar-button=
-inner-box {left: 0px;}
..goog-toolbar-menu-button {margin: 0px 2px; border: 0px none; padding: 0px;=
font-family: Arial,sans-serif; color: rgb(51, 51, 51); text-decoration: no=
ne; list-style: outside none none; vertical-align: middle; cursor: default;=
outline: medium none;}
..goog-toolbar-menu-button-outer-box ,.goog-toolbar-menu-button-inner-box {b=
order: 0px none; vertical-align: top;}
..goog-toolbar-menu-button-outer-box {margin: 0px; padding: 1px 0px;}
..goog-toolbar-menu-button-inner-box {margin: 0px -1px; padding: 3px 4px;}
* html .goog-toolbar-menu-button-inner-box ,body .goog-toolbar-menu-button-=
inner-box {left: -1px;}
* html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-outer-box ,b=
ody .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-outer-box {left=
: -1px;}
* html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-inner-box ,b=
ody .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-inner-box {righ=
t: auto;}
:first-child + html .goog-toolbar-menu-button-inner-box {left: -1px;}
:first-child + html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button=
-inner-box {left: 1px; right: auto;}
..goog-toolbar-menu-button-disabled {opacity: 0.3;}
..goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-outer-box ,.go=
og-toolbar-menu-button-disabled .goog-toolbar-menu-button-inner-box {color:=
rgb(51, 51, 51) !important; border-color: rgb(153, 153, 153) !important;}
* html .goog-toolbar-menu-button-disabled ,body .goog-toolbar-menu-button-d=
isabled {background-color: rgb(240, 240, 240); margin: 0px 1px; padding: 0p=
x 1px;}
:first-child + html .goog-toolbar-menu-button-disabled {background-color: r=
gb(240, 240, 240); margin: 0px 1px; padding: 0px 1px;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-outer-box ,.goog-=
toolbar-menu-button-active .goog-toolbar-menu-button-outer-box ,.goog-toolb=
ar-menu-button-open .goog-toolbar-menu-button-outer-box {border-width: 1px =
0px; border-style: solid; padding: 0px;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-inner-box ,.goog-=
toolbar-menu-button-active .goog-toolbar-menu-button-inner-box ,.goog-toolb=
ar-menu-button-open .goog-toolbar-menu-button-inner-box {border-width: 0px =
1px; border-style: solid; padding: 3px;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-outer-box ,.goog-=
toolbar-menu-button-hover .goog-toolbar-menu-button-inner-box {border-color=
: rgb(161, 186, 223) !important;}
..goog-toolbar-menu-button-active ,.goog-toolbar-menu-button-open {backgroun=
d-color: rgb(221, 225, 235) !important;}
..goog-toolbar-menu-button-active .goog-toolbar-menu-button-outer-box ,.goog=
-toolbar-menu-button-active .goog-toolbar-menu-button-inner-box ,.goog-tool=
bar-menu-button-open .goog-toolbar-menu-button-outer-box ,.goog-toolbar-men=
u-button-open .goog-toolbar-menu-button-inner-box {border-color: rgb(114, 1=
55, 209);}
..goog-toolbar-menu-button-caption {padding: 0px 4px 0px 0px; vertical-align=
: middle;}
..goog-toolbar-menu-button-dropdown {width: 7px; background: rgba(0, 0, 0, 0=
) url("//ssl.gstatic.com/editor/editortoolbar.png") no-repeat scroll -388px=
0px; vertical-align: middle;}
..goog-toolbar-separator {margin: 0px 2px; border-left: 1px solid rgb(214, 2=
14, 214); border-right: 1px solid rgb(247, 247, 247); padding: 0px; width: =
0px; text-decoration: none; list-style: outside none none; outline: medium =
none; vertical-align: middle; line-height: normal; font-size: 120%; overflo=
w: hidden;}
..goog-toolbar-select .goog-toolbar-menu-button-outer-box {border-width: 1px=
0px; border-style: solid; padding: 0px;}
..goog-toolbar-select .goog-toolbar-menu-button-inner-box {border-width: 0px=
1px; border-style: solid; padding: 3px;}
..goog-toolbar-select .goog-toolbar-menu-button-outer-box ,.goog-toolbar-sel=
ect .goog-toolbar-menu-button-inner-box {border-color: rgb(191, 203, 223);}
..tr-icon {width: 16px; height: 16px; background: rgba(0, 0, 0, 0) url("//ss=
l.gstatic.com/editor/editortoolbar.png") no-repeat scroll 0% 0%; vertical-a=
lign: middle;}
..goog-color-menu-button-indicator .tr-icon {height: 14px;}
..tr-undo ,.goog-toolbar-button-rtl .tr-redo {background-position: 0px cente=
r;}
..tr-redo ,.goog-toolbar-button-rtl .tr-undo {background-position: -16px cen=
ter;}
..tr-fontName .goog-toolbar-menu-button-caption {color: rgb(34, 68, 102); wi=
dth: 16ex; height: 16px; overflow: hidden;}
..tr-fontSize .goog-toolbar-menu-button-caption {color: rgb(34, 68, 102); wi=
dth: 8ex; height: 16px; overflow: hidden;}
..tr-bold {background-position: -32px center;}
..tr-italic {background-position: -48px center;}
..tr-underline {background-position: -64px center;}
..tr-foreColor {height: 14px; background-position: -80px center;}
..tr-backColor {height: 14px; background-position: -96px center;}
..tr-link {font-weight: bold; color: rgb(0, 0, 153); text-decoration: underl=
ine;}
..tr-image {background-position: -112px center;}
..tr-newDrawing {background-position: -592px center;}
..tr-spChar {font-weight: bold; color: rgb(153, 0, 0);}
..tr-indent {background-position: -128px center;}
..tr-rtl-mode .tr-indent {background-position: -400px center;}
..tr-outdent {background-position: -144px center;}
..tr-rtl-mode .tr-outdent {background-position: -416px center;}
..tr-insertUnorderedList {background-position: -160px center;}
..tr-rtl-mode .tr-insertUnorderedList {background-position: -432px center;}
..tr-insertOrderedList {background-position: -176px center;}
..tr-rtl-mode .tr-insertOrderedList {background-position: -448px center;}
..tr-justifyLeft {background-position: -192px center;}
..tr-justifyCenter {background-position: -208px center;}
..tr-justifyRight {background-position: -224px center;}
..tr-justifyFull {background-position: -480px center;}
..tr-BLOCKQUOTE {background-position: -240px center;}
..tr-rtl-mode .tr-BLOCKQUOTE {background-position: -464px center;}
..tr-removeFormat {background-position: -256px center;}
..tr-spell {background-position: -272px center;}
..tr-ltr {background-position: -288px center;}
..tr-rtl {background-position: -304px center;}
..tr-insertModule {background-position: -496px center;}
..tr-strikeThrough {background-position: -544px center;}
..tr-subscript {background-position: -560px center;}
..tr-superscript {background-position: -576px center;}
..tr-equation {background-position: -608px center;}
..tr-editHtml {color: rgb(0, 0, 153);}
..tr-formatBlock .goog-toolbar-menu-button-caption {color: rgb(34, 68, 102);=
width: 12ex; height: 16px; overflow: hidden;}
..goog-menu .goog-palette {outline: medium none; cursor: default;}
..goog-menu .goog-palette-table {margin: 5px; border: 1px solid rgb(102, 102=
, 102); border-collapse: collapse;}
..goog-menu .goog-palette-cell {height: 18px; width: 18px; margin: 0px; bord=
er-width: 0px 1px 0px 0px; border-style: none solid none none; border-color=
: currentcolor rgb(102, 102, 102) currentcolor currentcolor; -moz-border-to=
p-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: =
none; -moz-border-left-colors: none; border-image: none; text-align: center=
; vertical-align: middle; cursor: pointer;}
..goog-menu .goog-palette-cell .goog-palette-colorswatch {position: relative=
; height: 18px; width: 18px; border: medium none; font-size: x-small;}
..goog-menu .goog-palette-cell-hover .goog-palette-colorswatch {height: 16px=
; width: 16px; border: 1px solid rgb(255, 255, 255);}
..goog-menu .goog-palette-cell-selected .goog-palette-colorswatch {height: 1=
6px; width: 16px; border: 1px solid rgb(51, 51, 51); color: rgb(255, 255, 2=
55); font-weight: bold; background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/editortoolbar.png") no-repeat scroll -368px center;}
..goog-menu .goog-palette-customcolor {position: relative; height: 15px; wid=
th: 15px; font-size: x-small; background-color: rgb(250, 250, 250); color: =
rgb(102, 102, 102); border: 1px solid rgb(238, 238, 238);}
..goog-menu .goog-palette-cell-hover .goog-palette-customcolor {background-c=
olor: rgb(255, 238, 238); border: 1px solid rgb(255, 102, 102); color: rgb(=
255, 102, 102);}
..tr_toolbar {font-family: arial; font-size: 90%;}
..container ,.containerhover ,.containeron {float: left; margin: 2px 3px 2px=
0px !important; padding: 0px !important; color: rgb(0, 0, 0); cursor: defa=
ult;}
..desc {margin: 0px !important; line-height: 0.2em !important; background: r=
gba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/cbleft_ltr.gif") no-repeat=
scroll left top;}
..link {margin: 0px !important; padding: 4px 0px 0px 9px !important; backgro=
und: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/cbleft_ltr.gif") no-=
repeat scroll left bottom;}
..link em {display: block !important; padding: 0px 8px 6px 0px !important; f=
ont-style: normal; line-height: 1em !important; text-decoration: none; text=
-align: center !important; background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/bg/cbright_ltr.gif") no-repeat scroll right bottom;}
div.leftpill ,div.leftpillhover ,div.leftpillon {margin-right: 0px !importa=
nt;}
div.leftpill p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edit=
or/bg/cbpillbg.gif") no-repeat scroll right bottom;}
div.middlepill ,div.middlepillhover ,div.middlepillon {margin-right: 0px !i=
mportant;}
div.middlepill {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
bg/cbpillbg.gif") no-repeat scroll right top;}
div.middlepill p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/=
editor/bg/cbleftpill_ltr.gif") no-repeat scroll left top;}
div.middlepill p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/=
editor/bg/cbleftpill_ltr.gif") no-repeat scroll left bottom;}
div.middlepill p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbpillbg.gif") no-repeat scroll right bottom;}
div.rightpill p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/e=
ditor/bg/cbleftpill_ltr.gif") no-repeat scroll left top;}
div.rightpill p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/e=
ditor/bg/cbleftpill_ltr.gif") no-repeat scroll left bottom;}
..container {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/c=
bright_ltr.gif") no-repeat scroll right top;}
..leftpill {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/cb=
pillbg.gif") no-repeat scroll right top;}
..containerhover {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor=
/bg/cbright_h_ltr.gif") no-repeat scroll right top;}
..containerhover .p1 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbleft_h_ltr.gif") no-repeat scroll left top;}
..containerhover .p2 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbleft_h_ltr.gif") no-repeat scroll left bottom;}
..containerhover .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbright_h_ltr.gif") no-repeat scroll right bottom;}
div.middlepillhover {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbpillbg_h.gif") no-repeat scroll right top;}
div.middlepillhover p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left top;}
div.middlepillhover p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left bottom;}
div.middlepillhover p.p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstati=
c.com/editor/bg/cbpillbg_h.gif") no-repeat scroll right bottom;}
div.leftpillhover {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edit=
or/bg/cbpillbg_h.gif") no-repeat scroll right top;}
div.leftpillhover p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbpillbg_h.gif") no-repeat scroll right bottom;}
div.leftpillhover .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/editor/bg/cbpillbg_h.gif") no-repeat scroll right bottom;}
div.rightpillhover p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left top;}
div.rightpillhover p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left bottom;}
..containeron {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg=
/cbright_o_ltr.gif") no-repeat scroll right top;}
..containeron .p1 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/bg/cbleft_o_ltr.gif") no-repeat scroll left top;}
..containeron .p2 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/bg/cbleft_o_ltr.gif") no-repeat scroll left bottom;}
..containeron .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbright_o_ltr.gif") no-repeat scroll right bottom;}
div.middlepillon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/bg/cbpillbg_o.gif") no-repeat scroll right top;}
div.middlepillon p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left top;}
div.middlepillon p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left bottom;}
div.middlepillon p.p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/editor/bg/cbpillbg_o.gif") no-repeat scroll right bottom;}
div.leftpillon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
bg/cbpillbg_o.gif") no-repeat scroll right top;}
div.leftpillon p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbpillbg_o.gif") no-repeat scroll right bottom;}
div.leftpillon .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/=
editor/bg/cbpillbg_o.gif") no-repeat scroll right bottom;}
div.rightpillon p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left top;}
div.rightpillon p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left bottom;}
..container span ,.containerhover span ,.containeron span {background-positi=
on: 0% 50%; padding: 2px 0px 2px 20px !important; margin: -2px 0px !importa=
nt; width: 1px !important; white-space: nowrap !important;}
..container .icon_none ,.containerhover .icon_none ,.containeron .icon_none =
{padding: 2px 0px 2px 2px !important;}
..icon {width: 1.5em !important; font-family: times; line-height: 1.2em !imp=
ortant; font-weight: bold;}
..container .imageOnly ,.containerhover .imageOnly ,.containeron .imageOnly =
{margin-right: -1ex !important; white-space: normal !important; direction: =
ltr;}
..container span.justify ,.containerhover span.justify ,.containeron span.ju=
stify {padding: 0px 0px 0px 12px !important;}
..icon_image {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ico=
ns/icon_image.gif") no-repeat scroll 0% 0%;}
..icon_link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_link.gif") no-repeat scroll 0% 0%;}
..icon_bullet {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_bullet.gif") no-repeat scroll 0% 0%;}
..icon_numbered {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
icons/icon_numbered.gif") no-repeat scroll 0% 0%;}
..icon_outdent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/i=
cons/icon_outdent.gif") no-repeat scroll 0% 0%;}
..icon_indent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_indent.gif") no-repeat scroll 0% 0%;}
..icon_text {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_text.gif") no-repeat scroll 0% 0%;}
..icon_textbg {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_textbg.gif") no-repeat scroll 0% 0%;}
..icon_font {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_font.gif") no-repeat scroll 0% 0%;}
..icon_size {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_size.gif") no-repeat scroll 0% 0%;}
..icon_justleft {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
icons/icon_left.gif") no-repeat scroll 0% 0%;}
..icon_justmiddle {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/icons/icon_middle.gif") no-repeat scroll 0% 0%;}
..icon_justright {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor=
/icons/icon_right.gif") no-repeat scroll 0% 0%;}
..icon_wfield {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_wfield.gif") no-repeat scroll 0% 0%;}
..icon_removeformat {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edi=
tor/icons/icon_removeformatting.gif") no-repeat scroll 0% 0%;}
..icon_blockquote {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/icons/icon_blockquote.gif") no-repeat scroll 0% 0%;}
..icon_gadget {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_gadget.gif") no-repeat scroll 0% 0%;}
..icon_ltr {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icons=
/icon_ltr_dir.gif") no-repeat scroll 0% 0%;}
..icon_rtl {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icons=
/icon_rtl_dir.gif") no-repeat scroll 0% 0%;}
..toolbar_rtl .icon_bullet {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/icons/icon_bullet_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_numbered {background: rgba(0, 0, 0, 0) url("//ssl.gstati=
c.com/editor/icons/icon_numbered_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_outdent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/editor/icons/icon_outdent_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_indent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/icons/icon_indent_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_blockquote {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/editor/icons/icon_blockquote_rtl.gif") no-repeat scroll left center=
;}
..link em b {padding-left: 0.2em !important; background: rgba(0, 0, 0, 0) ur=
l("//ssl.gstatic.com/editor/bg/downarrow.gif") no-repeat scroll 80% 50%;}
..disabled {opacity: 0.5; cursor: default;}
#tr_preloadImages {width: 0px; height: 0px; display: inline;}
..cbleft {background-image: url("//ssl.gstatic.com/editor/bg/cbleft_ltr.gif"=
);}
..cbleft_h {background-image: url("//ssl.gstatic.com/editor/bg/cbleft_h_ltr.=
gif");}
..cbleft_o {background-image: url("//ssl.gstatic.com/editor/bg/cbleft_o_ltr.=
gif");}
..cbleftpill {background-image: url("//ssl.gstatic.com/editor/bg/cbleftpill_=
ltr.gif");}
..cbleftpill_h {background-image: url("//ssl.gstatic.com/editor/bg/cbleftpil=
l_h_ltr.gif");}
..cbleftpill_o {background-image: url("//ssl.gstatic.com/editor/bg/cbleftpil=
l_o_ltr.gif");}
..cbpillbggif {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg.g=
if");}
..cbpillbgpng {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg.p=
ng");}
..cbpillbg_h {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg_h.=
gif");}
..cbright {background-image: url("//ssl.gstatic.com/editor/bg/cbright_ltr.gi=
f");}
..cbright_h {background-image: url("//ssl.gstatic.com/editor/bg/cbright_h_lt=
r.gif");}
..cbright_o {background-image: url("//ssl.gstatic.com/editor/bg/cbright_o_lt=
r.gif");}
..downarrow {background-image: url("//ssl.gstatic.com/editor/bg/downarrow.gi=
f");}
..cbpillbg_o {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg_o.=
gif");}
..tr_popupmenu {position: absolute; z-index: 1000;}
..tr_popupmenu .goog-menu {-moz-user-select: none; background-attachment: sc=
roll; background-color: rgb(195, 217, 255); background-image: none; backgro=
und-repeat: repeat; border-width: 2px; border-style: solid; border-color: r=
gb(232, 241, 255) rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);=
cursor: pointer; padding: 2px;}
..tr_popupmenu .goog-menuitem {background-attachment: scroll; background-col=
or: rgb(195, 217, 255); background-image: none; background-repeat: repeat; =
color: rgb(0, 0, 0);}
..tr_popupmenu .goog-menuitem-highlight {background-color: rgb(85, 112, 204)=
; color: rgb(255, 255, 255);}
..tr_colorpicker {position: absolute; z-index: 1000; background-color: rgb(1=
87, 187, 187);}
..tr_colorpicker .goog-palette {outline: medium none; -moz-user-select: none=
; cursor: default;}
..tr_colorpicker .goog-palette-table {border: 1px solid rgb(102, 102, 102); =
border-collapse: collapse !important; padding: 0px; margin: 0px;}
..tr_colorpicker .goog-palette-cell {height: 13px; width: 15px; margin: 0px;=
border: 0px none; padding: 0px; text-align: center; vertical-align: middle=
;}
..tr_colorpicker .goog-palette-colorswatch {position: relative; height: 13px=
; width: 15px; border: 1px solid rgb(102, 102, 102); font-size: 1px;}
..tr_colorpicker .goog-palette-cell-hover .goog-palette-colorswatch {border:=
1px solid rgb(255, 255, 255);}
..tr_colorpicker .goog-palette-cell-selected .goog-palette-colorswatch {bord=
er: 1px solid rgb(0, 0, 0); color: rgb(255, 255, 255);}
..ac-renderer {border: 1px solid rgb(102, 102, 102); background: rgb(224, 23=
6, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 204); margin: 0px; paddi=
ng: 0px 0px 1px; z-index: 10; position: absolute;}
..ac-renderer div {margin: 2px; cursor: pointer; padding: 0px 10px;}
..ac-renderer div b {color: rgb(0, 0, 255);}
..ac-renderer div.active {background: rgb(195, 217, 255) none repeat scroll =
0% 0%;}
..picker-dialog {background: rgb(255, 255, 255) none repeat scroll 0% 0%; bo=
rder: 1px solid rgb(172, 172, 172); position: absolute; box-shadow: 0px 4px=
16px rgba(0, 0, 0, 0.2); z-index: 1021; outline: medium none; padding: 0px=
;}
..picker.modal-dialog-content {width: 705px; height: 370px; padding: 0px; ma=
rgin: 0px; position: relative; border: 0px none;}
..picker.modal-dialog-bg {background: rgb(255, 255, 255) none repeat scroll =
0% 0%; left: 0px; position: absolute; top: 0px; z-index: 1001;}
..picker.modal-dialog-title ,.picker.modal-dialog-buttons {display: none;}
..picker-frame {width: 100%; height: 100%; border: 0px none; overflow: hidde=
n;}
..goog-toolbar {padding: 6px; border-top: 1px solid rgb(229, 229, 229); bord=
er-bottom: 1px solid rgb(235, 235, 235); background: rgb(245, 245, 245) non=
e repeat scroll 0% 0%;}
..goog-toolbar-button ,.goog-toolbar-menu-button {display: inline-block; tex=
t-align: center; color: rgb(85, 85, 85); font-size: 11px; font-weight: bold=
; height: 27px; padding: 0px 8px; line-height: 27px; transition: all 0.218s=
ease 0s; background-color: rgb(245, 245, 245); background-image: -moz-line=
ar-gradient(center top , rgb(245, 245, 245), rgb(241, 241, 241)); -moz-user=
-select: none; cursor: default; border: 1px solid transparent;}
..goog-toolbar-button-hover ,.goog-toolbar-menu-button-hover {border: 1px so=
lid rgb(198, 198, 198); color: rgb(51, 51, 51); transition: all 0s ease 0s;=
background-color: rgb(248, 248, 248); background-image: -moz-linear-gradie=
nt(center top , rgb(248, 248, 248), rgb(241, 241, 241)); box-shadow: 0px 1p=
x 1px rgba(0, 0, 0, 0.1);}
..goog-toolbar-button-active ,.goog-toolbar-menu-button-active {background-c=
olor: rgb(246, 246, 246); background-image: -moz-linear-gradient(center top=
, rgb(246, 246, 246), rgb(241, 241, 241)); box-shadow: 0px 1px 2px rgba(0,=
0, 0, 0.1) inset;}
..goog-toolbar-button-checked ,.goog-toolbar-menu-button-checked {background=
-color: rgb(238, 238, 238); background-image: -moz-linear-gradient(center t=
op , rgb(238, 238, 238), rgb(224, 224, 224)); box-shadow: 0px 1px 2px rgba(=
0, 0, 0, 0.1) inset; border: 1px solid rgb(204, 204, 204); color: rgb(51, 5=
1, 51);}
..goog-toolbar-button-inner-box ,.goog-toolbar-button-outer-box ,.goog-toolb=
ar-menu-button-inner-box ,.goog-toolbar-menu-button-outer-box {border: medi=
um none !important; padding: 0px !important; margin: 0px !important;}
..goog-toolbar-menu-button-inner-box {padding-top: 1px !important;}
..goog-toolbar-menu-button-caption {padding-bottom: 4px; height: auto !impor=
tant; color: rgb(85, 85, 85) !important;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-caption {color: r=
gb(51, 51, 51) !important;}
..goog-toolbar-menu-button-dropdown {position: relative; top: 3px;}
..goog-color-menu-button-indicator {line-height: 0;}
..tr-icon {display: inline-block;}
..tr-dialog {position: absolute; width: 475px; background: rgb(255, 255, 255=
) none repeat scroll 0% 0%; padding: 38px 42px 30px;}
..tr-dialog button {color: rgb(102, 102, 102); font-size: 11px; font-weight:=
bold; text-align: center; margin-right: 16px; white-space: nowrap; height:=
29px; line-height: 27px; min-width: 74px; outline: 0px none; padding: 0px =
8px; border-radius: 2px; cursor: pointer; transition: all 0.218s ease 0s; d=
isplay: inline-block; border: 1px solid rgba(0, 0, 0, 0.1); background-colo=
r: rgb(245, 245, 245); background-image: -moz-linear-gradient(center top , =
rgb(245, 245, 245), rgb(241, 241, 241));}
..tr-dialog button:hover {transition: all 0.218s ease 0s; box-shadow: 0px 1p=
x 1px rgba(0, 0, 0, 0.1); border: 1px solid rgb(198, 198, 198); color: rgb(=
51, 51, 51); background-color: rgb(248, 248, 248); background-image: -moz-l=
inear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, 241));}
..tr-dialog button.goog-buttonset-default {border: 1px solid rgb(48, 121, 23=
7); color: rgb(255, 255, 255); background-color: rgb(77, 144, 254); backgro=
und-image: -moz-linear-gradient(center top , rgb(77, 144, 254), rgb(71, 135=
, 237));}
..tr-dialog button.goog-buttonset-default:hover {color: rgb(255, 255, 255); =
border: 1px solid rgb(47, 91, 183); background-color: rgb(53, 122, 232); ba=
ckground-image: -moz-linear-gradient(center top , rgb(77, 144, 254), rgb(53=
, 122, 232));}
..tr-link-dialog-target-input ,#linkdialog-text {border-width: 1px; border-s=
tyle: solid; border-color: rgb(192, 192, 192) rgb(217, 217, 217) rgb(217, 2=
17, 217); -moz-border-top-colors: none; -moz-border-right-colors: none; -mo=
z-border-bottom-colors: none; -moz-border-left-colors: none; border-image: =
none; vertical-align: top; box-sizing: border-box; border-radius: 1px; disp=
lay: inline-block; background-color: rgb(255, 255, 255); line-height: 27px;=
padding-left: 8px; color: rgb(51, 51, 51); height: 29px;}
..tr-link-dialog-target-input:hover ,#linkdialog-text:hover {border-width: 1=
px; border-style: solid; border-color: rgb(160, 160, 160) rgb(185, 185, 185=
) rgb(185, 185, 185); -moz-border-top-colors: none; -moz-border-right-color=
s: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; bo=
rder-image: none; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..tr-link-dialog-target-input:focus ,#linkdialog-text:focus {box-shadow: 0px=
1px 2px rgba(0, 0, 0, 0.3) inset; outline: medium none; border: 1px solid =
rgb(77, 144, 254);}
..tr-dialog .modal-dialog-title {display: none;}
#linkdialog-text {position: relative; top: -7px; margin-bottom: 12px;}
..tr-tabpane-caption {margin-bottom: 4px;}
..tr-tabpane .goog-tab-bar {background: rgba(0, 0, 0, 0) none repeat scroll =
0% 0%; margin-right: 12px; height: 160px;}
..tr-tabpane .goog-tab {border: medium none; background: rgb(255, 255, 255) =
none repeat scroll 0% 0%; padding: 8px; left: 0px; margin-left: 0px;}
..tr-tabpane .goog-tab-selected {border: medium none; background: rgb(255, 2=
55, 255) none repeat scroll 0% 0%; padding: 8px; left: 0px;}
..tr-tabpane .goog-tab-hover {background: rgb(238, 238, 238) none repeat scr=
oll 0% 0%;}
..tr-tabpane .goog-tab input {margin-left: 0px;}
..tr-dialog .modal-dialog-buttons {margin-top: 24px;}
..tr-dialog .goog-link-button {text-decoration: none; color: rgb(17, 85, 204=
); cursor: pointer; margin-top: 0px !important; margin-bottom: 8px;}
..tr-link-dialog-target-input {display: block; margin: 8px 0px; width: 280px=
!important;}
..tr-link-dialog-explanation-text {line-height: 17px;}
..tr-fontSize .goog-toolbar-menu-button-caption {min-width: 8ex; width: auto=
; overflow: auto; white-space: nowrap;}
plaintext {display: none;}
html {color:rgb(34, 34, 34);visibility:visible;quotes:"=E2=80=9C" "=E2=80=
=9D" "=E2=80=98" "=E2=80=99";list-style-type:disc;list-style-image:none;lis=
t-style-position:outside;page-break-inside:auto;font-family:"Arial","Helvet=
ica",sans-serif;font-style:normal;font-variant:normal;font-weight:400;text-=
indent:0px;text-align:start;text-transform:none;white-space:normal;caption-=
side:top;border-collapse:separate;border-spacing:0px 0px;empty-cells:show;c=
ursor:auto;}
body {position:relative !important;top:0 !important;left:0 !important;right=
:auto !important;display:block !important;visibility:visible !important;fon=
t-family:"Arial","Helvetica",sans-serif !important;font-size:13px !importan=
t;font-weight:400 !important;font-variant:normal !important;font-style:norm=
al !important;color:rgb(34, 34, 34) !important;text-align:start !important;=
text-decoration:none !important;text-indent:0px !important;text-transform:n=
one !important;letter-spacing:normal !important;white-space:normal !importa=
nt;word-spacing:0px !important;}
img {-moz-force-broken-image-icon: 1;}</style><br></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/602e9e20-1d2f-4545-be32-d0234639985c%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/602e9e20-1d2f-4545-be32-d0234639985c=
%40isocpp.org</a>.<br />
------=_Part_8051_1260660073.1507128480638--
------=_Part_8050_214848547.1507128480593--
.
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Wed, 4 Oct 2017 17:54:15 +0300
Raw View
On 4 October 2017 at 17:48, Nicol Bolas <jmckesson@gmail.com> wrote:
>> Before we even go there, the paper needs to explain
>>
>> a) why this is a problem that needs to be solved
>> b) why it needs a language extension
>>
>> We can all see that it makes some code somewhere easier to write, and
>> we can grok that there are other
>> languages that have such a language facility. That alone doesn't
>> motivate a C++ language extension.
>
>
> Why it has to be a a language extension is easy: it's impossible to do it
> otherwise.
That's great, but that explanation needs to be in the paper regardless of how
easy it supposedly is.
> If you try to introduce a function that does what `try` does, it would be
> unable to do the one thing that makes `try` work: return. A function cannot
> force the calling function to return. You could make a macro that does what
> `try` does, but we have no way to do that within the language.
Yes, well, perhaps we should look at adding something more general
than individual
keywords that perform specific transformations that then return (or
not) via a nettle bush
of traits and hooks.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAFk2RUbH2Y31ZdBfDOgzWcyu3vnz1CgpZBSxsu8wGdY8bhqCXA%40mail.gmail.com.
.
Author: "Vicente J. Botet Escriba" <vicente.botet@wanadoo.fr>
Date: Wed, 4 Oct 2017 22:11:26 +0200
Raw View
Le 04/10/2017 =C3=A0 16:54, Ville Voutilainen a =C3=A9crit=C2=A0:
> On 4 October 2017 at 17:48, Nicol Bolas <jmckesson@gmail.com> wrote:
>>> Before we even go there, the paper needs to explain
>>>
>>> a) why this is a problem that needs to be solved
When we want to propagate the failure or get the value the current code=20
is something like
=C2=A0=C2=A0=C2=A0 auto res =3D expr();
=C2=A0=C2=A0=C2=A0 if (! res) return unexpected(res.error());=C2=A0 // ide=
aly this should=20
be using the removed get_unexpected.
When you have a lot of them nested in a expression , you need to extract=20
the rerun logic outside the expression, e.g. if you need to add the=20
result of two calculations
=C2=A0=C2=A0=C2=A0 auto res1 =3D expr1();
=C2=A0=C2=A0=C2=A0 if (! res1) return unexpected(res1.error());
=C2=A0=C2=A0=C2=A0 auto res2 =3D expr2();
=C2=A0=C2=A0=C2=A0 if (! res2) return unexpected(res2.error());
=C2=A0=C2=A0=C2=A0 return *res1+ * res2
Using the try expression we can just do
=C2=A0=C2=A0=C2=A0 return try expr1()+ try expr2();
Clearly the last is much more readable and express better the intent=20
than the more elaborated code above.
LESS CODE MORE SOFTWARE
KISS
Ville, is this the kind of motivation you are asking for?
>>> b) why it needs a language extension
>>>
>>> We can all see that it makes some code somewhere easier to write, and
>>> we can grok that there are other
>>> languages that have such a language facility. That alone doesn't
>>> motivate a C++ language extension.
>>
>> Why it has to be a a language extension is easy: it's impossible to do i=
t
>> otherwise.
> That's great, but that explanation needs to be in the paper regardless of=
how
> easy it supposedly is.
>
>> If you try to introduce a function that does what `try` does, it would b=
e
>> unable to do the one thing that makes `try` work: return. A function can=
not
>> force the calling function to return. You could make a macro that does w=
hat
>> `try` does, but we have no way to do that within the language.
> Yes, well, perhaps we should look at adding something more general
> than individual
> keywords that perform specific transformations that then return (or
> not) via a nettle bush
> of traits and hooks.
>
Yes, maybe there is something generalizing co_await and try. I don't=20
know. For me we need to go from concrete needs to more generic ones.
Do you have an idea of what this generic thing could be?
Vicente
Vicente
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/229b9108-ece9-28a1-dbf5-c845e338f557%40wanadoo.f=
r.
.
Author: Hyman Rosen <hyman.rosen@gmail.com>
Date: Wed, 4 Oct 2017 16:44:33 -0400
Raw View
--001a1147c28416d0ac055abeaeba
Content-Type: text/plain; charset="UTF-8"
On Wed, Oct 4, 2017 at 4:11 PM, Vicente J. Botet Escriba <
vicente.botet@wanadoo.fr> wrote:
>
> auto res1 = expr1(); if (! res1) return unexpected(res1.error());
> auto res2 = expr2(); if (! res2) return unexpected(res2.error());
> return *res1+ * res2;
> Using the try expression we can just do
> return try expr1()+ try expr2();
Does that mean that strict left-to-right ordering is part of the proposal?
Otherwise, expr2() could be attempted and failed first, correct?
It seems to me that the "lambda parameters" that I've occasionally mentioned
here would subsume a lot of these special cases:
template <typename T>
operator+([] can_fail<T> e1, [] can_fail<T> e2) -> auto
{
auto v1 = e1; if (!v1) return unexpected(v1.error());
auto v2 = e2; if (!v2) return unexpected(v2.error());
return *v1 + *v2;
}
return expr1() + expr2();
The evaluation order is then up to you, and it's all implemented via a
general purpose
language feature that's useful in many other contexts rather than being
tied to one specific
special case.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdZnShy0rZs6bSp0PemxUiAm_kWT%2BxH2Or2VJw1k0_7QSw%40mail.gmail.com.
--001a1147c28416d0ac055abeaeba
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On W=
ed, Oct 4, 2017 at 4:11 PM, Vicente J. Botet Escriba <span dir=3D"ltr"><=
<a href=3D"mailto:vicente.botet@wanadoo.fr" target=3D"_blank">vicente.botet=
@wanadoo.fr</a>></span> wrote:<blockquote class=3D"gmail_quote" style=3D=
"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">
=C2=A0=C2=A0=C2=A0 auto res1 =3D expr1();=C2=A0if (! res1) return unexpecte=
d(res1.error());<br>
=C2=A0=C2=A0=C2=A0 auto res2 =3D expr2();=C2=A0if (! res2) return unexpecte=
d(res2.error());<br>
=C2=A0=C2=A0=C2=A0 return *res1+ * res2;<br>
Using the try expression we can just do<br>
=C2=A0=C2=A0=C2=A0 return try expr1()+ try expr2();</blockquote><div><br>Do=
es that mean that strict left-to-right ordering is part of the proposal?<br=
>Otherwise, expr2() could be attempted and failed first, correct?<br><br>It=
seems to me that the "lambda parameters" that I've occasiona=
lly mentioned<br>here would subsume a lot of these special cases:<br><font =
face=3D"monospace, monospace">=C2=A0 =C2=A0 template <typename T><br>=
=C2=A0 =C2=A0 operator+([] can_fail<T> e1, [] can_fail<T> e2) -=
> auto<br>=C2=A0 =C2=A0 {<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 auto v1 =3D e1;=
if (!v1) return unexpected(v1.error());</font></div><span style=3D"font-fa=
mily:monospace,monospace">=C2=A0 =C2=A0 =C2=A0 =C2=A0 auto v2 =3D e2; if (!=
v2) return unexpected(v2.error());<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 return *v=
1 + *v2;<br>=C2=A0 =C2=A0 }<br></span></div><div class=3D"gmail_quote"><fon=
t face=3D"monospace, monospace">=C2=A0 =C2=A0 return expr1() + expr2();</fo=
nt><br><font face=3D"arial, helvetica, sans-serif"><br>The evaluation order=
is then up to you, and it's all implemented via a general purpose<br>l=
anguage feature that's useful in many other contexts rather than being =
tied to one specific<br>special case.<br><br></font></div></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAHSYqdZnShy0rZs6bSp0PemxUiAm_kWT%2Bx=
H2Or2VJw1k0_7QSw%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdZnShy0rZ=
s6bSp0PemxUiAm_kWT%2BxH2Or2VJw1k0_7QSw%40mail.gmail.com</a>.<br />
--001a1147c28416d0ac055abeaeba--
.
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Wed, 4 Oct 2017 23:55:08 +0300
Raw View
On 4 October 2017 at 23:11, Vicente J. Botet Escriba
<vicente.botet@wanadoo.fr> wrote:
> Le 04/10/2017 =C3=A0 16:54, Ville Voutilainen a =C3=A9crit :
>>
>> On 4 October 2017 at 17:48, Nicol Bolas <jmckesson@gmail.com> wrote:
>>>>
>>>> Before we even go there, the paper needs to explain
>>>>
>>>> a) why this is a problem that needs to be solved
>
> When we want to propagate the failure or get the value the current code i=
s
> something like
>
> auto res =3D expr();
> if (! res) return unexpected(res.error()); // idealy this should be
> using the removed get_unexpected.
>
>
> When you have a lot of them nested in a expression , you need to extract =
the
> rerun logic outside the expression, e.g. if you need to add the result of
> two calculations
>
> auto res1 =3D expr1();
> if (! res1) return unexpected(res1.error());
>
> auto res2 =3D expr2();
> if (! res2) return unexpected(res2.error());
>
> return *res1+ * res2
>
>
> Using the try expression we can just do
>
> return try expr1()+ try expr2();
>
>
> Clearly the last is much more readable and express better the intent than
> the more elaborated code above.
>
> LESS CODE MORE SOFTWARE
> KISS
>
> Ville, is this the kind of motivation you are asking for?
No. The paper needs to explain why such code is so common that it
needs a core language facility
to help it.
>>> If you try to introduce a function that does what `try` does, it would =
be
>>> unable to do the one thing that makes `try` work: return. A function
>>> cannot
>>> force the calling function to return. You could make a macro that does
>>> what
>>> `try` does, but we have no way to do that within the language.
>>
>> Yes, well, perhaps we should look at adding something more general
>> than individual
>> keywords that perform specific transformations that then return (or
>> not) via a nettle bush
>> of traits and hooks.
>>
>
> Yes, maybe there is something generalizing co_await and try. I don't know=
..
> For me we need to go from concrete needs to more generic ones.
>
> Do you have an idea of what this generic thing could be?
Well, we could look at providing code transformation facilities
powerful enough that you
can provide what you need via a specific transformation. As a more limited =
idea,
there seems to be an occasional need to write operations that can exit
the surrounding
scope via break/continue/return, but functions can't do that, so
perhaps we could add
a block facility that can.
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CAFk2RUZcpy7Fy2YPf_55zjBdH_3SavqZb_guGwQizp-iUuK=
%3DhQ%40mail.gmail.com.
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Wed, 4 Oct 2017 14:46:51 -0700 (PDT)
Raw View
------=_Part_2418_98645077.1507153611316
Content-Type: multipart/alternative;
boundary="----=_Part_2419_183844974.1507153611316"
------=_Part_2419_183844974.1507153611316
Content-Type: text/plain; charset="UTF-8"
>
>
> You're proposing a core language feature. That needs to go to EWG.
>
Good point.
>
> Please show the modified grammar; you mention a "cast-expression" that is
> nowhere introduced.
>
> Yeah, I literally cannot make head nor tails of standardese. Might as well
be Russian to me.
I did mention that the paper you've seen was a dump of a very early draft.
I never would have posted it here without Vicente asking. Now I'm done with
the Expected critique paper, I'll turn my full attention to the operator
try paper. I'll be scanning the C++ standard and copying and pasting the
standardese for operator new and trying to mash it up with the current
standardese which I copy and pasted from the Coroutines TS.
So please don't have high hopes that the next revision I post here will be
any better, but I will try my best.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/48dbf03e-71f9-437b-8c63-c0d99eb9019d%40isocpp.org.
------=_Part_2419_183844974.1507153611316
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><br>You'r=
e proposing a core language feature. =C2=A0That needs to go to EWG.
<br></blockquote><div><br></div><div>Good point.</div><div>=C2=A0</div><blo=
ckquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-=
left: 1px #ccc solid;padding-left: 1ex;">
<br>Please show the modified grammar; you mention a "cast-expression&q=
uot; that is
<br>nowhere introduced.
<br>
<br></blockquote><div>Yeah, I literally cannot make head nor tails of stand=
ardese. Might as well be Russian to me.</div><div><br></div><div>I did ment=
ion that the paper you've seen was a dump of a very early draft. I neve=
r would have posted it here without Vicente asking. Now I'm done with t=
he Expected critique paper, I'll turn my full attention to the operator=
try paper. I'll be scanning the C++ standard and copying and pasting t=
he standardese for operator new and trying to mash it up with the current s=
tandardese which I copy and pasted from the Coroutines TS.</div><div><br></=
div><div>So please don't have high hopes that the next revision I post =
here will be any better, but I will try my best.</div><div><br></div><div>N=
iall</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/48dbf03e-71f9-437b-8c63-c0d99eb9019d%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/48dbf03e-71f9-437b-8c63-c0d99eb9019d=
%40isocpp.org</a>.<br />
------=_Part_2419_183844974.1507153611316--
------=_Part_2418_98645077.1507153611316--
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Wed, 4 Oct 2017 14:54:59 -0700 (PDT)
Raw View
------=_Part_8830_824859184.1507154099999
Content-Type: multipart/alternative;
boundary="----=_Part_8831_397981587.1507154099999"
------=_Part_8831_397981587.1507154099999
Content-Type: text/plain; charset="UTF-8"
>
>
> Before we even go there, the paper needs to explain
>
> a) why this is a problem that needs to be solved
> b) why it needs a language extension
>
> We can all see that it makes some code somewhere easier to write, and
> we can grok that there are other
> languages that have such a language facility. That alone doesn't
> motivate a C++ language extension.
>
Dunno, that seems a pretty great motivator to me. It saves boilerplate,
clarifies code, and closely replicates standard practice in at least two
other systems languages. Not sure what more you would want there.
> Furthermore,
>
> c) why just an operator try and no other optional chaining facilities
> like swift has?
>
Purely because I want this proposal paper as simple and as short as
possible. For example, I won't be proposing member function operator try
either even though that makes a lot of sense too.
Remember I'm not on WG21, this paper is for others who are able to
regularly attend to take up and champion. I'm just getting the ball rolling
because Vicente is busy and I'm currently unemployed and have the time to
put something on this together.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/1f242866-7531-4d6d-ad48-e8b4d36ca1e2%40isocpp.org.
------=_Part_8831_397981587.1507154099999
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><br>Before we=
even go there, the paper needs to explain
<br>
<br>a) why this is a problem that needs to be solved
<br>b) why it needs a language extension
<br>
<br>We can all see that it makes some code somewhere easier to write, and
<br>we can grok that there are other
<br>languages that have such a language facility. That alone doesn't
<br>motivate a C++ language extension.
<br></blockquote><div><br></div><div>Dunno, that seems a pretty great motiv=
ator to me. It saves boilerplate, clarifies code, and closely replicates st=
andard practice in at least two other systems languages. Not sure what more=
you would want there.</div><div>=C2=A0</div><blockquote class=3D"gmail_quo=
te" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;paddi=
ng-left: 1ex;">Furthermore,
<br>
<br>c) why just an operator try and no other optional chaining facilities
<br>like swift has?
<br></blockquote><div><br></div><div>Purely because I want this proposal pa=
per as simple and as short as possible. For example, I won't be proposi=
ng member function operator try either even though that makes a lot of sens=
e too.</div><div><br></div><div>Remember I'm not on WG21, this paper is=
for others who are able to regularly attend to take up and champion. I'=
;m just getting the ball rolling because Vicente is busy and I'm curren=
tly unemployed and have the time to put something on this together.</div><d=
iv><br></div><div>Niall</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/1f242866-7531-4d6d-ad48-e8b4d36ca1e2%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/1f242866-7531-4d6d-ad48-e8b4d36ca1e2=
%40isocpp.org</a>.<br />
------=_Part_8831_397981587.1507154099999--
------=_Part_8830_824859184.1507154099999--
.
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Thu, 5 Oct 2017 00:55:07 +0300
Raw View
On 5 October 2017 at 00:46, Niall Douglas <nialldouglas14@gmail.com> wrote:
>> Please show the modified grammar; you mention a "cast-expression" that is
>> nowhere introduced.
>>
> Yeah, I literally cannot make head nor tails of standardese. Might as well
> be Russian to me.
>
> I did mention that the paper you've seen was a dump of a very early draft. I
> never would have posted it here without Vicente asking. Now I'm done with
> the Expected critique paper, I'll turn my full attention to the operator try
> paper. I'll be scanning the C++ standard and copying and pasting the
> standardese for operator new and trying to mash it up with the current
> standardese which I copy and pasted from the Coroutines TS.
>
> So please don't have high hopes that the next revision I post here will be
> any better, but I will try my best.
I recommend focusing on the motivation/rationale and design
alternatives before diving head first
into wording.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAFk2RUaNQngcZitigLvWJy0KfBDKdfaTHDF08FGQn9MEUSPo_Q%40mail.gmail.com.
.
Author: Bengt Gustafsson <bengt.gustafsson@beamways.com>
Date: Wed, 4 Oct 2017 14:58:50 -0700 (PDT)
Raw View
------=_Part_3799_846088521.1507154330213
Content-Type: multipart/alternative;
boundary="----=_Part_3800_1253663357.1507154330214"
------=_Part_3800_1253663357.1507154330214
Content-Type: text/plain; charset="UTF-8"
>
> Well, we could look at providing code transformation facilities
> powerful enough that you
> can provide what you need via a specific transformation. As a more limited
> idea,
> there seems to be an occasional need to write operations that can exit
> the surrounding
> scope via break/continue/return, but functions can't do that, so
> perhaps we could add
> a block facility that can.
>
Unfortunately we don't know in the function originally producing the error
how many levels of functions to exit.
Let me remind you all that we have a feature that does what you desire
without any new keywords or chaining of operations. It is called
exceptions. To me it seems that the longer this debate runs the closer we
get to exception throwing/catching. I know exception unwinding mechanisms
have a bad reputation for both performance and code size, but who has
really done the measurements to prove this? Notably:
- We know that exception throwing/catching can have very small performance
impact when no throwing occurs. But to be noted here is that each test of
the optional/expected status involves some code that has to run every time
and which includes a conditional jump, which can have a high performance
impact. Hiding this behind a try operator or a bind() function may hide
some gorier details but does not affect the generated code.
- The unwinding code that has to be generated for exception throwing
consumes code bytes but do we know that this is necessarily or even
typically more bytes than the code to test and dispatch on return values
(regardless if this is explicit or generated code)? What is the impact of
not having to load this code into the I-cache unless an exception actually
occurs?
- Unless the program is done very carefully with nothrow on each level we
will end up with both having unwind and if-based error handling code which
will definitely be both larger and slower than today. As many common
libraries are designed without nothrow declarations (regardless of if they
actually throw or not) enforcing a no throwing policy may be very costly in
terms of limitations of what libraries you may use.
I agree that error handling is boring and tedious to implement, but I don't
see that expected helps that much compared to try blocks. So to make the
case for any new mechanisms I think the performance/code size advantages
must be substantial and investigated by testing on several compilers and
platforms.
This said, I think that both std::optional and std::expected hare useful as
they make it less tempting to encode error conditions in -1 or nullptr
returns.
An alternative approach would be to continue on the path started with
structured bindings and make it easier to specify to return a value + error
code/flag pair, for instance by allowing anonymous struct as return type.
While in theory there are some bytes to be saved by "unionify" the error
code and the value the alignment requirements of the bool selector will
usually make the expected object as large as the pair for typical error
code sizes.
BTW: Will this be allowed:
if (auto a = f()) {
if (auto c = g(a)) {
...
}}
I know you can use this style to test for nullptr pointer returns but does
in generalize to any type with an operator bool()? If so this could be
decent enough solution, maybe?
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/32606f9f-1525-43c5-b6f3-50e789b7d234%40isocpp.org.
------=_Part_3800_1253663357.1507154330214
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><br><blockquote class=3D"gmail_quote" style=3D"margin: 0;m=
argin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><br>Well,=
we could look at providing code transformation facilities
<br>powerful enough that you
<br>can provide what you need via a specific transformation. As a more limi=
ted idea,
<br>there seems to be an occasional need to write operations that can exit
<br>the surrounding
<br>scope via break/continue/return, but functions can't do that, so
<br>perhaps we could add
<br>a block facility that can.
<br></blockquote><div>Unfortunately we don't know in the function origi=
nally producing the error how many levels of functions to exit.</div><div><=
br></div><div>Let me remind you all that we have a feature that does what y=
ou desire without any new keywords or chaining of operations. It is called =
exceptions. To me it seems that the longer this debate runs the closer we g=
et to exception throwing/catching. I know exception unwinding mechanisms ha=
ve a bad reputation for both performance and code size, but who has really =
done the measurements to prove this? Notably:</div><div><br></div><div>- We=
know that exception throwing/catching can have very small performance impa=
ct when no throwing occurs. But to be noted here is that each test of the o=
ptional/expected status involves some code that has to run every time and w=
hich includes a conditional jump, which can have a high performance impact.=
Hiding this behind a try operator or a bind() function may hide some gorie=
r details but does not affect the generated code.</div><div><br></div><div>=
- The unwinding code that has to be generated for exception throwing consum=
es code bytes but do we know that this is necessarily or even typically mor=
e bytes than the code to test and dispatch on return values (regardless if =
this is explicit or generated code)? What is the impact of not having to lo=
ad this code into the I-cache unless an exception actually occurs?</div><di=
v><br></div><div>- Unless the program is done very carefully with nothrow o=
n each level we will end up with both having unwind and if-based error hand=
ling code which will definitely be both larger and slower than today. As ma=
ny common libraries are designed without nothrow declarations (regardless o=
f if they actually throw or not) enforcing a no throwing policy may be very=
costly in terms of limitations of what libraries you may use.</div><div><b=
r></div><div>I agree that error handling is boring and tedious to implement=
, but I don't see that expected helps that much compared to try blocks.=
So to make the case for any new mechanisms I think the performance/code si=
ze advantages must be substantial and investigated by testing on several co=
mpilers and platforms.</div><div><br></div><div>This said, I think that bot=
h std::optional and std::expected hare useful as they make it less tempting=
to encode error conditions in -1 or nullptr returns.</div><div><br></div><=
div>An alternative approach would be to continue on the path started with s=
tructured bindings and make it easier to specify to return a value + error =
code/flag pair, for instance by allowing anonymous struct as return type. W=
hile in theory there are some bytes to be saved by "unionify" the=
error code and the value the alignment requirements of the bool selector w=
ill usually make the expected object as large as the pair for typical error=
code sizes.</div><div><br></div><div>BTW: Will this be allowed:</div><div>=
<br></div><div>if (auto a =3D f()) {</div><div>=C2=A0 =C2=A0 if (auto c =3D=
g(a)) {</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0...</div><div>}}</div><div><b=
r></div><div>I know you can use this style to test for nullptr pointer retu=
rns but does in generalize to any type with an operator bool()? If so this =
could be decent enough solution, maybe?</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/32606f9f-1525-43c5-b6f3-50e789b7d234%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/32606f9f-1525-43c5-b6f3-50e789b7d234=
%40isocpp.org</a>.<br />
------=_Part_3800_1253663357.1507154330214--
------=_Part_3799_846088521.1507154330213--
.
Author: Nicol Bolas <jmckesson@gmail.com>
Date: Wed, 4 Oct 2017 15:23:16 -0700 (PDT)
Raw View
------=_Part_8642_1895638132.1507155796664
Content-Type: multipart/alternative;
boundary="----=_Part_8643_915900373.1507155796697"
------=_Part_8643_915900373.1507155796697
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wednesday, October 4, 2017 at 4:55:11 PM UTC-4, Ville Voutilainen wrote:
>
> On 4 October 2017 at 23:11, Vicente J. Botet Escriba=20
> <vicent...@wanadoo.fr <javascript:>> wrote:=20
> > Le 04/10/2017 =C3=A0 16:54, Ville Voutilainen a =C3=A9crit :=20
> >>=20
> >> On 4 October 2017 at 17:48, Nicol Bolas <jmck...@gmail.com=20
> <javascript:>> wrote:=20
> >>>>=20
> >>>> Before we even go there, the paper needs to explain=20
> >>>>=20
> >>>> a) why this is a problem that needs to be solved=20
> >=20
> > When we want to propagate the failure or get the value the current code=
=20
> is=20
> > something like=20
> >=20
> > auto res =3D expr();=20
> > if (! res) return unexpected(res.error()); // idealy this should b=
e=20
> > using the removed get_unexpected.=20
> >=20
> >=20
> > When you have a lot of them nested in a expression , you need to extrac=
t=20
> the=20
> > rerun logic outside the expression, e.g. if you need to add the result=
=20
> of=20
> > two calculations=20
> >=20
> > auto res1 =3D expr1();=20
> > if (! res1) return unexpected(res1.error());=20
> >=20
> > auto res2 =3D expr2();=20
> > if (! res2) return unexpected(res2.error());=20
> >=20
> > return *res1+ * res2=20
> >=20
> >=20
> > Using the try expression we can just do=20
> >=20
> > return try expr1()+ try expr2();=20
> >=20
> >=20
> > Clearly the last is much more readable and express better the intent=20
> than=20
> > the more elaborated code above.=20
> >=20
> > LESS CODE MORE SOFTWARE=20
> > KISS=20
> >=20
> > Ville, is this the kind of motivation you are asking for?=20
>
> No. The paper needs to explain why such code is so common that it=20
> needs a core language facility=20
> to help it.=20
>
I disagree. It doesn't have to be "so common" currently. It does however=20
have to explain why we should want to write such code, and explain why such=
=20
idioms would become common if they were easy to write.
=20
> >>> If you try to introduce a function that does what `try` does, it woul=
d=20
> be=20
> >>> unable to do the one thing that makes `try` work: return. A function=
=20
> >>> cannot=20
> >>> force the calling function to return. You could make a macro that doe=
s=20
> >>> what=20
> >>> `try` does, but we have no way to do that within the language.=20
> >>=20
> >> Yes, well, perhaps we should look at adding something more general=20
> >> than individual=20
> >> keywords that perform specific transformations that then return (or=20
> >> not) via a nettle bush=20
> >> of traits and hooks.=20
> >>=20
> >=20
> > Yes, maybe there is something generalizing co_await and try. I don't=20
> know.=20
> > For me we need to go from concrete needs to more generic ones.=20
> >=20
> > Do you have an idea of what this generic thing could be?=20
>
> Well, we could look at providing code transformation facilities=20
> powerful enough that you=20
> can provide what you need via a specific transformation. As a more limite=
d=20
> idea,=20
> there seems to be an occasional need to write operations that can exit=20
> the surrounding=20
> scope via break/continue/return, but functions can't do that, so=20
> perhaps we could add=20
> a block facility that can.
>
See, the problem with that kind of thinking is that it leads down a never=
=20
ending rabbit hole, where no problem *ever* gets solved because the=20
solution isn't generic enough, thus forcing everyone to spend lots of=20
fruitless time trying to get a solution for 1% of the stuff they want, even=
=20
though the proposed one covers 99% of what they want.
Or to put in simpler language, the committee should not use the possibility=
=20
of Reflection/Metaclasses/etc as an excuse to not improve the language. The=
=20
possibility of such tools should not be used as an excuse for inaction on=
=20
real problems.
Now, whether this is a real problem is a matter of debate. But you=20
shouldn't disregard a tool just because it's not as generic as you might=20
like. Such reasoning could easily be used to say that we shouldn't have=20
Concepts, because it's not as generic as it could be.
=20
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/9add1b3e-c1f2-4c15-9a7a-582840448f95%40isocpp.or=
g.
------=_Part_8643_915900373.1507155796697
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Wednesday, October 4, 2017 at 4:55:11 PM UTC-4, Ville V=
outilainen wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 4 October =
2017 at 23:11, Vicente J. Botet Escriba
<br><<a href=3D"javascript:" target=3D"_blank" gdf-obfuscated-mailto=3D"=
UxKLKBb5AAAJ" rel=3D"nofollow" onmousedown=3D"this.href=3D'javascript:&=
#39;;return true;" onclick=3D"this.href=3D'javascript:';return true=
;">vicent...@wanadoo.fr</a>> wrote:
<br>> Le 04/10/2017 =C3=A0 16:54, Ville Voutilainen a =C3=A9crit :
<br>>>
<br>>> On 4 October 2017 at 17:48, Nicol Bolas <<a href=3D"javascr=
ipt:" target=3D"_blank" gdf-obfuscated-mailto=3D"UxKLKBb5AAAJ" rel=3D"nofol=
low" onmousedown=3D"this.href=3D'javascript:';return true;" onclick=
=3D"this.href=3D'javascript:';return true;">jmck...@gmail.com</a>&g=
t; wrote:
<br>>>>>
<br>>>>> Before we even go there, the paper needs to explain
<br>>>>>
<br>>>>> a) why this is a problem that needs to be solved
<br>>
<br>> When we want to propagate the failure or get the value the current=
code is
<br>> something like
<br>>
<br>> =C2=A0 =C2=A0 auto res =3D expr();
<br>> =C2=A0 =C2=A0 if (! res) return unexpected(res.error()); =C2=A0// =
idealy this should be
<br>> using the removed get_unexpected.
<br>>
<br>>
<br>> When you have a lot of them nested in a expression , you need to e=
xtract the
<br>> rerun logic outside the expression, e.g. if you need to add the re=
sult of
<br>> two calculations
<br>>
<br>> =C2=A0 =C2=A0 auto res1 =3D expr1();
<br>> =C2=A0 =C2=A0 if (! res1) return unexpected(res1.error());
<br>>
<br>> =C2=A0 =C2=A0 auto res2 =3D expr2();
<br>> =C2=A0 =C2=A0 if (! res2) return unexpected(res2.error());
<br>>
<br>> =C2=A0 =C2=A0 return *res1+ * res2
<br>>
<br>>
<br>> Using the try expression we can just do
<br>>
<br>> =C2=A0 =C2=A0 return try expr1()+ try expr2();
<br>>
<br>>
<br>> Clearly the last is much more readable and express better the inte=
nt than
<br>> the more elaborated code above.
<br>>
<br>> LESS CODE MORE SOFTWARE
<br>> KISS
<br>>
<br>> Ville, is this the kind of motivation you are asking for?
<br>
<br>No. The paper needs to explain why such code is so common that it
<br>needs a core language facility
<br>to help it.
<br></blockquote><div><br></div><div>I disagree. It doesn't have to be =
"so common" currently. It does however have to explain why we sho=
uld want to write such code, and explain why such idioms would become commo=
n if they were easy to write.<br></div><div>=C2=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #cc=
c solid;padding-left: 1ex;">
>>> If you try to introduce a function that does what `try` does, =
it would be
<br>>>> unable to do the one thing that makes `try` work: return. =
A function
<br>>>> cannot
<br>>>> force the calling function to return. You could make a mac=
ro that does
<br>>>> what
<br>>>> `try` does, but we have no way to do that within the langu=
age.
<br>>>
<br>>> Yes, well, perhaps we should look at adding something more gen=
eral
<br>>> than individual
<br>>> keywords that perform specific transformations that then retur=
n (or
<br>>> not) via a nettle bush
<br>>> of traits and hooks.
<br>>>
<br>>
<br>> Yes, maybe there is something generalizing co_await and try. I don=
't know.
<br>> For me we need to go from concrete needs to more generic ones.
<br>>
<br>> Do you have an idea of what this generic thing could be?
<br>
<br>Well, we could look at providing code transformation facilities
<br>powerful enough that you
<br>can provide what you need via a specific transformation. As a more limi=
ted idea,
<br>there seems to be an occasional need to write operations that can exit
<br>the surrounding
<br>scope via break/continue/return, but functions can't do that, so
<br>perhaps we could add
<br>a block facility that can.<br></blockquote><div><br></div><div>See, the=
problem with that kind of thinking is that it leads down a never ending ra=
bbit hole, where no problem <i>ever</i> gets solved because the solution is=
n't generic enough, thus forcing everyone to spend lots of fruitless ti=
me trying to get a solution for 1% of the stuff they want, even though the =
proposed one covers 99% of what they want.</div><div><br></div><div>Or to p=
ut in simpler language, the committee should not use the possibility of Ref=
lection/Metaclasses/etc as an excuse to not improve the language. The possi=
bility of such tools should not be used as an excuse for inaction on real p=
roblems.</div><div><br></div><div>Now, whether this is a real problem is a =
matter of debate. But you shouldn't disregard a tool just because it=
9;s not as generic as you might like. Such reasoning could easily be used t=
o say that we shouldn't have Concepts, because it's not as generic =
as it could be.<br></div><div>=C2=A0</div><style>HTML {margin: 0px !importa=
nt; border: medium none !important;}
..dragdrop-handle {cursor: move; -moz-user-select: none;}
..dragdrop-draggable { }
..dragdrop-dragging { }
..dragdrop-positioner {border: 1px dashed rgb(30, 144, 255); margin: 0px !im=
portant; z-index: 100;}
..dragdrop-flow-panel-positioner {color: rgb(30, 144, 255); display: inline;=
text-align: center; vertical-align: middle;}
..dragdrop-proxy {background-color: rgb(119, 170, 255);}
..dragdrop-selected ,.dragdrop-dragging ,.dragdrop-proxy {opacity: 0.3;}
..dragdrop-movable-panel {z-index: 200; margin: 0px !important; border: medi=
um none !important;}
..gb_5a {display: none !important;}
..gb_6a {visibility: hidden;}
#gbsfw {min-width: 400px; overflow: visible;}
..gb_Xb ,#gbsfw.gb_g {display: block; outline: medium none;}
#gbsfw.gb_pa iframe {display: none;}
..gb_Zb {padding: 118px 0px; text-align: center;}
..gb_0b {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/gb/images/a/f5c=
dd88b65.png") no-repeat scroll center 0px; color: rgb(170, 170, 170); font-=
size: 13px; line-height: 20px; padding-top: 76px;}
..gb_0b a {color: rgb(66, 133, 244); text-decoration: none;}
..gb_Zc {display: inline-block; padding: 0px 0px 0px 15px; vertical-align: m=
iddle;}
..gb_Zc:first-child ,#gbsfw:first-child + .gb_Zc {padding-left: 0px;}
..gb_Fc {position: relative;}
..gb_b {display: inline-block; outline: medium none; vertical-align: middle;=
border-radius: 2px; box-sizing: border-box; height: 30px; width: 30px; col=
or: rgb(0, 0, 0); cursor: pointer; text-decoration: none;}
#gb#gb a.gb_b {color: rgb(0, 0, 0); cursor: pointer; text-decoration: none;=
}
..gb_lb {border-color: transparent transparent rgb(255, 255, 255); border-st=
yle: dashed dashed solid; border-width: 0px 8.5px 8.5px; display: none; pos=
ition: absolute; left: 6.5px; top: 37px; z-index: 1; height: 0px; width: 0p=
x; animation: 0.2s ease 0s normal none 1 running gb__a;}
..gb_mb {border-color: transparent transparent rgba(0, 0, 0, 0.2); border-st=
yle: dashed dashed solid; border-width: 0px 8.5px 8.5px; display: none; pos=
ition: absolute; left: 6.5px; z-index: 1; height: 0px; width: 0px; animatio=
n: 0.2s ease 0s normal none 1 running gb__a; top: 36px;}
..gb_fa {background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 1p=
x solid rgba(0, 0, 0, 0.2); color: rgb(0, 0, 0); box-shadow: 0px 2px 10px r=
gba(0, 0, 0, 0.2); display: none; outline: medium none; overflow: hidden; p=
osition: absolute; right: 0px; top: 44px; animation: 0.2s ease 0s normal no=
ne 1 running gb__a; border-radius: 2px; -moz-user-select: text;}
..gb_Zc.gb_g .gb_lb ,.gb_Zc.gb_g .gb_mb ,.gb_Zc.gb_g .gb_fa ,.gb_g.gb_fa {di=
splay: block;}
..gb_Zc.gb_g.gb_kf .gb_lb ,.gb_Zc.gb_g.gb_kf .gb_mb {display: none;}
..gb_lf {position: absolute; right: 0px; top: 44px; z-index: -1;}
..gb_9a .gb_lb ,.gb_9a .gb_mb ,.gb_9a .gb_fa {margin-top: -10px;}
..gb_Ib .gb_mb {border-width: 1px 0px 0px 1px; border-style: solid none none=
solid; border-color: rgba(0, 0, 0, 0.2) currentcolor currentcolor rgba(0, =
0, 0, 0.2); -moz-border-top-colors: none; -moz-border-right-colors: none; -=
moz-border-bottom-colors: none; -moz-border-left-colors: none; border-image=
: none; height: 14px; width: 14px; transform: rotate(45deg);}
..gb_Ib .gb_lb {border-width: 1px 0px 0px 1px; border-style: solid none none=
solid; -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-=
border-bottom-colors: none; -moz-border-left-colors: none; border-image: no=
ne; height: 14px; width: 14px; transform: rotate(45deg); border-color: rgb(=
255, 255, 255); background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..gb_da .gb_b {background-position: -35px -276px; opacity: 0.55;}
..gb_ea .gb_da .gb_b {background-position: -35px -276px;}
..gb_X .gb_da .gb_b {background-position: -35px -2010px; opacity: 1;}
..gb_fa.gb_ga {min-height: 196px; overflow-y: auto; width: 320px;}
..gb_ha {transition: height 0.2s ease-in-out 0s;}
..gb_ia {background: rgb(255, 255, 255) none repeat scroll 0% 0%; margin: 0p=
x; min-height: 100px; padding: 28px 27px 28px 28px; text-align: left; white=
-space: normal; width: 265px;}
..gb_ja {background: rgb(245, 245, 245) none repeat scroll 0% 0%; cursor: po=
inter; height: 40px; overflow: hidden;}
..gb_ka {position: relative;}
..gb_ja {display: block; line-height: 40px; text-align: center; width: 320px=
;}
..gb_ka {display: block; line-height: 40px; text-align: center;}
..gb_ka.gb_la {line-height: 0;}
..gb_ja ,.gb_ja:visited ,.gb_ja:active ,.gb_ka ,.gb_ka:visited {color: rgb(1=
15, 115, 115); text-decoration: none;}
..gb_ka:active {color: rgb(115, 115, 115);}
#gb a.gb_ja ,#gb a.gb_ja:visited ,#gb a.gb_ja:active ,#gb a.gb_ka ,#gb a.gb=
_ka:visited {color: rgb(115, 115, 115); text-decoration: none;}
#gb a.gb_ka:active {color: rgb(115, 115, 115);}
..gb_ka ,.gb_ia {display: none;}
..gb_ba ,.gb_ba + .gb_ka ,.gb_ma .gb_ka ,.gb_ma .gb_ia {display: block;}
..gb_ka:hover ,.gb_ka:active ,#gb a.gb_ka:hover ,#gb a.gb_ka:active {text-de=
coration: underline;}
..gb_ka {border-bottom: 1px solid rgb(235, 235, 235); left: 28px; width: 264=
px;}
..gb_ma .gb_ja {display: none;}
..gb_ka:last-child {border-bottom-width: 0px;}
..gb_na .gb_O {display: initial;}
..gb_na.gb_oa {height: 100px; text-align: center;}
..gb_na.gb_oa img {padding: 34px 0px; height: 32px; width: 32px;}
..gb_na .gb_2 {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc=
5.png"); background-size: 92px 2731px; background-position: 0px -1725px;}
..gb_na .gb_2 + img {border: 0px none; margin: 8px; height: 48px; width: 48p=
x;}
..gb_na div.gb_pa {background: rgb(255, 255, 170) none repeat scroll 0% 0%; =
border-radius: 5px; padding: 5px; text-align: center;}
..gb_na.gb_qa ,.gb_na.gb_ra {padding-bottom: 0px;}
..gb_na.gb_sa ,.gb_na.gb_ra {padding-top: 0px;}
..gb_na.gb_ra a ,.gb_na.gb_sa a {top: 0px;}
..gb_ta .gb_ja {margin-top: 0px; position: static;}
..gb_ua {display: inline-block;}
..gb_va {margin: -12px 28px 28px; position: relative; width: 264px; border-r=
adius: 2px; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1), 0px 0px 1px rgba(0,=
0, 0, 0.1);}
..gb_4 {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc5.png")=
; background-size: 92px 2731px; display: inline-block; margin: 8px; vertica=
l-align: middle; height: 64px; width: 64px;}
..gb_wa {color: rgb(38, 38, 38); display: inline-block; font: 13px/18px Aria=
l,sans-serif; margin-right: 80px; padding: 10px 10px 10px 0px; vertical-ali=
gn: middle; white-space: normal;}
..gb_xa {font: 16px/24px Arial,sans-serif;}
..gb_ya ,#gb#gb .gb_ya {color: rgb(66, 127, 237); text-decoration: none;}
..gb_ya:hover ,#gb#gb .gb_ya:hover {text-decoration: underline;}
..gb_za .gb_ia {position: relative;}
..gb_za .gb_O {position: absolute; top: 28px; left: 28px;}
..gb_ja.gb_Aa {display: none; height: 0px;}
..gb_N .gb_da .gb_b::before ,.gb_N.gb_ea .gb_da .gb_b::before {left: -35px; =
top: -276px;}
..gb_N.gb_X .gb_da .gb_b::before {left: -35px; top: -2010px;}
..gb_Ib .gb_ja {position: relative;}
..gb_da .gb_b:hover ,.gb_da .gb_b:focus {opacity: 0.85;}
..gb_X .gb_da .gb_b:hover ,.gb_X .gb_da .gb_b:focus {opacity: 1;}
#gb#gb a.gb_O {color: rgb(64, 64, 64); text-decoration: none;}
#gb#gb a.gb_P ,#gb#gb span.gb_P {text-decoration: none;}
#gb#gb a.gb_P ,#gb#gb span.gb_P {color: rgb(0, 0, 0);}
..gb_P {opacity: 0.75;}
#gb#gb a.gb_P:hover ,#gb#gb a.gb_P:focus {opacity: 0.85; text-decoration: u=
nderline;}
..gb_Q.gb_R {display: none; padding-left: 15px; vertical-align: middle;}
..gb_Q.gb_R:first-child {padding-left: 0px;}
..gb_S.gb_R {display: inline-block;}
..gb_Q span {opacity: 0.55; -moz-user-select: text;}
..gb_T .gb_S.gb_R {flex: 0 1 auto; display: flex;}
..gb_U .gb_S.gb_R {display: none;}
..gb_Q .gb_P {display: inline-block; line-height: 24px; outline: medium none=
; vertical-align: middle;}
..gb_S .gb_P {display: none;}
..gb_V .gb_S .gb_P {min-width: 0px;}
..gb_W .gb_S .gb_P {width: 0px !important;}
#gb#gb.gb_X a.gb_P ,#gb#gb.gb_X span.gb_P ,#gb#gb .gb_X a.gb_P ,#gb#gb .gb_=
X span.gb_P {color: rgb(255, 255, 255);}
#gb#gb.gb_X span.gb_P ,#gb#gb .gb_X span.gb_P {opacity: 0.7;}
..gb_M.gb_M {background-size: 64px 64px;}
#gb2 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/3a1e625196=
..png");}
..gb_N #gb2 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/3a1e6=
25196.png");}
#gb22 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/3daf4c1f8=
8.png");}
..gb_N #gb22 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/3daf=
4c1f88.png");}
#gb45 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/f420d06f6=
6.png");}
..gb_N #gb45 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/f420=
d06f66.png");}
#gb72 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/78b3d46de=
1.png");}
..gb_N #gb72 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/78b3=
d46de1.png");}
#gb117 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/142da275=
78.png");}
..gb_N #gb117 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/142=
da27578.png");}
#gb136 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/911e3628=
e6.png");}
..gb_N #gb136 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/911=
e3628e6.png");}
#gb166 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/41679a9e=
c5.png");}
..gb_N #gb166 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/416=
79a9ec5.png");}
#gb171 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/4244245d=
7e.png");}
..gb_N #gb171 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/424=
4245d7e.png");}
#gb177 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/4653513b=
7d.png");}
..gb_N #gb177 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/465=
3513b7d.png");}
#gb206 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/ad330d84=
59.png");}
..gb_N #gb206 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/ad3=
30d8459.png");}
#gb207 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/2c21041e=
16.png");}
..gb_N #gb207 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/2c2=
1041e16.png");}
#gb211 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/c03dda0b=
34.png");}
..gb_N #gb211 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/c03=
dda0b34.png");}
#gb217 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/71060be5=
b3.png");}
..gb_N #gb217 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/710=
60be5b3.png");}
#gb228 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/74aa55e0=
c2.png");}
..gb_N #gb228 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/74a=
a55e0c2.png");}
#gb249 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/afa40f6e=
42.png");}
..gb_N #gb249 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/afa=
40f6e42.png");}
#gb260 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/ea554714=
e7.png");}
..gb_N #gb260 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/ea5=
54714e7.png");}
#gb261 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/0b26f6f8=
e4.png");}
..gb_N #gb261 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/0b2=
6f6f8e4.png");}
#gb108 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/dfbeb247=
85.png");}
..gb_N #gb108 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/dfb=
eb24785.png");}
#gb60 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/85bb99a34=
1.png");}
..gb_N #gb60 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/85bb=
99a341.png");}
#gb175 .gb_M {background-image: url("//ssl.gstatic.com/gb/images/a/eacd033c=
28.png");}
..gb_N #gb175 .gb_M::before {content: url("//ssl.gstatic.com/gb/images/a/eac=
d033c28.png");}
..gb_Z {padding: 1px; display: inline-block; vertical-align: top; color: bla=
ck; z-index: 999; height: 98px; width: 86px;}
..gb_Z a {text-decoration: none;}
..gb_Z[aria-grabbed=3D"true"] {visibility: hidden;}
..gb_Z:hover {z-index: 1001;}
..gb_Z:hover a {border: 1px solid rgb(229, 229, 229); border-radius: 2px; ma=
rgin: 7px 1px;}
..gb_Z.gb_0 a {border: 1px solid rgb(229, 229, 229); box-shadow: 0px 1px 2px=
rgba(0, 0, 0, 0.1); background: rgb(255, 255, 255) none repeat scroll 0% 0=
%; cursor: grabbing; margin: -1px; visibility: visible; z-index: 1001;}
..gb_1 {opacity: 0.5;}
..gb_Z.gb_0 a {color: rgb(64, 64, 64) !important; cursor: grabbing; font: 13=
px/27px Arial,sans-serif; text-decoration: none !important;}
..gb_O {color: rgb(64, 64, 64); display: inline-block; font-size: 13px; marg=
in: 8px 2px; text-align: center; outline: medium none;}
..gb_O .gb_2 ,.gb_O .gb_M {display: inline-block; vertical-align: top; heigh=
t: 64px; width: 64px;}
..gb_3 {display: block; line-height: 20px; overflow: hidden; white-space: no=
wrap; width: 84px; text-overflow: ellipsis;}
..gb_Z:hover .gb_O {z-index: 1;}
..gb_Z:hover .gb_3 {background: rgba(255, 255, 255, 0.9) none repeat scroll =
0% 0%; white-space: normal; overflow-wrap: break-word;}
..gb_O .gb_2 {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc5=
..png"); background-size: 92px 2731px;}
..gb_N .gb_O .gb_2 ,.gb_N .gb_4.gb_2 {background-image: none; overflow: hidd=
en; position: relative;}
..gb_N .gb_O .gb_2::before ,.gb_N .gb_4.gb_2::before {content: url("//ssl.gs=
tatic.com/gb/images/v1_e3444bc5.png"); position: absolute;}
..gb_N .gb_M {background-image: none !important; position: relative;}
..gb_N .gb_M::before {left: 0px; position: absolute; top: 0px;}
..gb_5 .gb_O:focus ,#gb#gb .gb_5 a.gb_O:focus {text-decoration: underline;}
..gb_Z.gb_6[aria-grabbed=3D"true"] {visibility: visible;}
..gb_7 ,.gb_8 {position: relative; top: 27px; visibility: hidden;}
..gb_9 ,.gb_aa {left: 37px; visibility: hidden;}
..gb_7 {float: left; width: 0px; height: 0px; border-top: 5px solid transpar=
ent; border-bottom: 5px solid transparent; border-right: 5px solid rgb(66, =
115, 219);}
..gb_8 {float: right; width: 0px; height: 0px; border-top: 5px solid transpa=
rent; border-bottom: 5px solid transparent; border-left: 5px solid rgb(66, =
115, 219);}
..gb_9 {position: absolute; top: 0px; width: 0px; height: 0px; border-left: =
5px solid transparent; border-right: 5px solid transparent; border-bottom: =
5px solid rgb(66, 115, 219);}
..gb_aa {position: absolute; top: 59px; width: 0px; height: 0px; border-left=
: 5px solid transparent; border-right: 5px solid transparent; border-top: 5=
px solid rgb(66, 115, 219);}
ul.gb_ba li.gb_6:not(:first-child) .gb_7 ,ul.gb_ba li.gb_6:not(:nth-child(-=
n+3)) .gb_9 ,ul.gb_ba li.gb_6 .gb_8 ,ul.gb_ba li.gb_6 .gb_aa ,ul.gb_ca li.g=
b_6 .gb_7 ,ul.gb_ca li.gb_6 .gb_9 ,ul.gb_ca li.gb_6:not(:last-child) .gb_8 =
,ul.gb_ca li.gb_6:not(:nth-last-child(-n+3)) .gb_aa {visibility: visible;}
a.gb_Ba {border: medium none; color: rgb(66, 133, 244); cursor: default; fo=
nt-weight: bold; outline: medium none; position: relative; text-align: cent=
er; text-decoration: none; text-transform: uppercase; white-space: nowrap; =
-moz-user-select: none;}
a.gb_Ba:hover::after ,a.gb_Ba:focus::after {background-color: rgba(0, 0, 0,=
0.12); content: ""; height: 100%; left: 0px; position: absolute; top: 0px;=
width: 100%;}
a.gb_Ba:hover ,a.gb_Ba:focus {text-decoration: none;}
a.gb_Ba:active {background-color: rgba(153, 153, 153, 0.4); text-decoration=
: none;}
a.gb_Ca {background-color: rgb(66, 133, 244); color: rgb(255, 255, 255);}
a.gb_Ca:active {background-color: rgb(0, 67, 178);}
..gb_Da {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.16);}
..gb_Ba ,.gb_Ca ,.gb_Ea ,.gb_Fa {display: inline-block; line-height: 28px; p=
adding: 0px 12px; border-radius: 2px;}
..gb_Ea {background: rgb(248, 248, 248) none repeat scroll 0% 0%; border: 1p=
x solid rgb(198, 198, 198);}
..gb_Fa {background: rgb(248, 248, 248) none repeat scroll 0% 0%;}
..gb_Ea ,#gb a.gb_Ea.gb_Ea ,.gb_Fa {color: rgb(102, 102, 102); cursor: defau=
lt; text-decoration: none;}
#gb a.gb_Fa.gb_Fa {cursor: default; text-decoration: none;}
..gb_Fa {border: 1px solid rgb(66, 133, 244); font-weight: bold; outline: me=
dium none; background: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , r=
gb(67, 135, 253), rgb(70, 131, 234)) repeat scroll 0% 0%;}
#gb a.gb_Fa.gb_Fa {color: rgb(255, 255, 255);}
..gb_Fa:hover {box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.15);}
..gb_Fa:active {box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.15) inset; backgroun=
d: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , rgb(60, 122, 228), rg=
b(63, 118, 211)) repeat scroll 0% 0%;}
..gb_mf {display: inline-block; line-height: normal; position: relative; z-i=
ndex: 987;}
..gb_7a {background-size: 32px 32px; border-radius: 50%; display: block; mar=
gin: -1px; overflow: hidden; position: relative; height: 32px; width: 32px;=
z-index: 0;}
..gb_7a:hover ,.gb_7a:focus {box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.15);}
..gb_7a:active {box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.15) inset;}
..gb_7a:active::after {background: rgba(0, 0, 0, 0.1) none repeat scroll 0% =
0%; border-radius: 50%; content: ""; display: block; height: 100%;}
..gb_8a {cursor: pointer; line-height: 30px; min-width: 30px; opacity: 0.75;=
overflow: hidden; vertical-align: middle; text-overflow: ellipsis;}
..gb_b.gb_8a {width: auto;}
..gb_8a:hover ,.gb_8a:focus {opacity: 0.85;}
..gb_9a .gb_8a ,.gb_9a .gb_ab {line-height: 26px;}
#gb#gb.gb_9a a.gb_8a ,.gb_9a .gb_ab {font-size: 11px; height: auto;}
..gb_bb {border-top: 4px solid rgb(0, 0, 0); border-left: 4px dashed transpa=
rent; border-right: 4px dashed transparent; display: inline-block; margin-l=
eft: 6px; opacity: 0.75; vertical-align: middle;}
..gb_cb:hover .gb_bb {opacity: 0.85;}
..gb_X .gb_8a ,.gb_X .gb_bb {opacity: 1;}
#gb#gb.gb_X.gb_X a.gb_8a ,#gb#gb .gb_X.gb_X a.gb_8a {color: rgb(255, 255, 2=
55);}
..gb_X.gb_X .gb_bb {border-top-color: rgb(255, 255, 255); opacity: 1;}
..gb_ea .gb_7a:hover ,.gb_X .gb_7a:hover ,.gb_ea .gb_7a:focus ,.gb_X .gb_7a:=
focus {box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.15), 0px 1px 2px rgba(0, 0, =
0, 0.2);}
..gb_db .gb_eb ,.gb_fb .gb_eb {position: absolute; right: 1px;}
..gb_eb.gb_R ,.gb_gb.gb_R ,.gb_cb.gb_R {flex: 0 1 auto;}
..gb_hb.gb_W .gb_8a {width: 30px !important;}
..gb_ib.gb_6a {display: none;}
..gb_jb.gb_5a {display: none;}
..gb_jb {background-color: rgb(204, 204, 204); height: 3px; overflow: hidden=
;}
..gb_kb {background-color: rgb(244, 180, 0); height: 100%; width: 50%; anima=
tion: 1.5s linear 0s normal none infinite running progressmove;}
..gb_8a ~ .gb_lb ,.gb_8a ~ .gb_mb {left: auto; right: 6.5px;}
..gb_nb {outline: medium none;}
..gb_ob ,#gb a.gb_ob.gb_ob ,.gb_pb a ,#gb .gb_pb.gb_pb a {color: rgb(51, 102=
, 204); text-decoration: none;}
..gb_ob:active ,#gb a.gb_ob:active ,.gb_ob:hover ,#gb a.gb_ob:hover ,.gb_pb =
a:active ,#gb .gb_pb a:active ,.gb_pb a:hover ,#gb .gb_pb a:hover {text-dec=
oration: underline;}
..gb_qb {margin: 20px;}
..gb_rb ,.gb_sb {display: inline-block; vertical-align: top;}
..gb_rb {margin-right: 20px; position: relative;}
..gb_tb {border-radius: 50%; overflow: hidden;}
..gb_ub {background-size: 96px 96px; border: medium none; vertical-align: to=
p; height: 96px; width: 96px;}
..gb_ib {background: rgba(78, 144, 254, 0.7) none repeat scroll 0% 0%; botto=
m: 0px; color: rgb(255, 255, 255); font-size: 9px; font-weight: bold; left:=
0px; line-height: 9px; position: absolute; padding: 7px 0px; text-align: c=
enter; width: 96px;}
..gb_tb .gb_ib {background: rgba(0, 0, 0, 0.54) none repeat scroll 0% 0%;}
..gb_vb {font-weight: bold; margin: -4px 0px 1px;}
..gb_xb {color: rgb(102, 102, 102);}
..gb_pb {color: rgb(204, 204, 204); margin: 6px 0px;}
..gb_pb a {margin: 0px 10px;}
..gb_pb a:first-child {margin-left: 0px;}
..gb_pb a:last-child {margin-right: 0px;}
..gb_sb .gb_yb {background: rgb(77, 144, 254) none repeat scroll 0% 0%; bord=
er-color: rgb(48, 121, 237); font-weight: bold; margin: 10px 0px 0px; color=
: rgb(255, 255, 255);}
#gb .gb_sb a.gb_yb.gb_yb {color: rgb(255, 255, 255);}
..gb_sb .gb_yb:hover {background: rgb(53, 122, 232) none repeat scroll 0% 0%=
; border-color: rgb(47, 91, 183);}
..gb_zb.gb_oa {border-top: medium none;}
..gb_zb {background: rgb(245, 245, 245) none repeat scroll 0% 0%; border-top=
: 1px solid rgba(0, 0, 0, 0.2); border-color: rgba(0, 0, 0, 0.2); padding: =
10px 0px; width: 100%; display: table;}
..gb_zb .gb_yb {margin: 0px 20px;}
..gb_zb > div {display: table-cell; text-align: right;}
..gb_zb > div:first-child {text-align: left;}
..gb_zb .gb_Ab {display: block; text-align: center;}
..gb_Bb .gb_lb {border-bottom-color: rgb(254, 249, 219);}
..gb_Cb {background: rgb(254, 249, 219) none repeat scroll 0% 0%; font-size:=
11px; padding: 10px 20px; white-space: normal;}
..gb_Cb b ,.gb_ob {white-space: nowrap;}
..gb_Fb {background: rgb(245, 245, 245) none repeat scroll 0% 0%; border-top=
: 1px solid rgba(0, 0, 0, 0.2); max-height: 230px; overflow: auto;}
..gb_Hb {border-top: 1px solid rgba(0, 0, 0, 0.2); display: block; padding: =
10px 20px; position: relative; white-space: nowrap;}
..gb_Ib .gb_Hb:focus .gb_Jb {outline: 1px dotted rgb(255, 255, 255);}
..gb_Hb:hover {background: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..gb_Hb[selected=3D"true"] {overflow: hidden;}
..gb_Hb[selected=3D"true"] > .gb_Kb {background-color: rgba(117, 117, 117, 0=
..9);}
..gb_Hb[selected=3D"true"] > .gb_Lb {display: block; position: absolute; z-i=
ndex: 2;}
..gb_Lb::-moz-focus-inner {border: 0px none;}
..gb_Lb {background-color: transparent; border: medium none; color: rgb(255,=
255, 255); display: none; font-family: Roboto,Arial,sans-serif; font-weigh=
t: 400; font-size: 14px; height: 36px; min-width: 86px; text-align: center;=
top: 16px; width: auto;}
..gb_Hb[selected=3D"true"] > .gb_Lb:focus {background-color: rgba(0, 0, 0, 0=
..24); border-radius: 2px; outline: 0px none;}
..gb_Hb[selected=3D"true"] > .gb_Lb:hover ,.gb_Hb[selected=3D"true"] > .gb_L=
b:focus:hover {background-color: rgb(86, 86, 86); border-radius: 2px;}
..gb_Hb[selected=3D"true"] > .gb_Lb:active {border-radius: 2px; background-c=
olor: rgb(33, 33, 33);}
..gb_Mb {left: 0px; margin-left: 5%;}
..gb_Nb {margin-right: 5%; right: 0px;}
..gb_Hb:first-child ,.gb_Ob:first-child + .gb_Hb {border-top: 0px none;}
..gb_Ob {display: none;}
..gb_Pb {cursor: default;}
..gb_Pb:hover {background: transparent none repeat scroll 0% 0%;}
..gb_Qb {border: medium none; vertical-align: top; height: 48px; width: 48px=
;}
..gb_Jb {display: inline-block; margin: 6px 0px 0px 10px;}
..gb_Pb .gb_Qb ,.gb_Pb .gb_Jb {opacity: 0.4;}
..gb_Rb {color: rgb(0, 0, 0);}
..gb_Pb .gb_Rb {color: rgb(102, 102, 102);}
..gb_Sb {color: rgb(102, 102, 102);}
..gb_Tb {color: rgb(102, 102, 102); font-style: italic;}
..gb_Kb {background-color: transparent; height: 100%; left: 0px; position: a=
bsolute; text-align: center; top: 0px; width: 100%; z-index: 1;}
..gb_Lb:hover {background-color: rgba(100, 100, 100, 0.4);}
..gb_Ub {background: rgb(245, 245, 245) none repeat scroll 0% 0%; border-top=
: 1px solid rgba(0, 0, 0, 0.2); display: block; padding: 10px 20px;}
..gb_Vb {background-position: -35px -449px; display: inline-block; margin: 1=
px 0px; vertical-align: middle; height: 25px; width: 25px;}
..gb_N .gb_Vb::before {left: -35px; top: -449px;}
..gb_Wb {color: rgb(66, 127, 237); display: inline-block; padding: 0px 25px =
0px 10px; vertical-align: middle; white-space: normal;}
..gb_Ub:hover .gb_Wb {text-decoration: underline;}
..gb_zb .gb_yb:hover {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); border-col=
or: rgb(198, 198, 198); color: rgb(34, 34, 34); background-color: rgb(255, =
255, 255); background-image: -moz-linear-gradient(center top , rgb(255, 255=
, 255), rgb(248, 248, 248));}
..gb_og {color: rgb(0, 0, 0); font: 13px/27px Arial,sans-serif; left: 0px; m=
in-width: 1117px; position: absolute; top: 0px; -moz-user-select: none; wid=
th: 100%;}
..gb_uf {font: 13px/27px Arial,sans-serif; position: relative; height: 60px;=
width: 100%;}
..gb_9a .gb_uf {height: 28px;}
#gba {height: 60px;}
#gba.gb_9a {height: 28px;}
#gba.gb_pg {height: 90px;}
#gba.gb_qg {height: 132px;}
#gba.gb_pg.gb_9a {height: 58px;}
..gb_uf > .gb_R {height: 60px; line-height: 58px; vertical-align: middle;}
..gb_9a .gb_uf > .gb_R {height: 28px; line-height: 26px;}
..gb_uf::before {background: rgb(229, 229, 229) none repeat scroll 0% 0%; bo=
ttom: 0px; content: ""; display: none; height: 1px; left: 0px; position: ab=
solute; right: 0px;}
..gb_uf {background: rgb(241, 241, 241) none repeat scroll 0% 0%;}
..gb_rg .gb_uf {background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..gb_rg .gb_uf::before ,.gb_9a .gb_uf::before {display: none;}
..gb_ea .gb_uf ,.gb_X .gb_uf ,.gb_9a .gb_uf {background: transparent none re=
peat scroll 0% 0%;}
..gb_ea .gb_uf::before {background: rgba(0, 0, 0, 0.12) none repeat scroll 0=
% 0%;}
..gb_X .gb_uf::before {background: rgba(255, 255, 255, 0.2) none repeat scro=
ll 0% 0%;}
..gb_R {display: inline-block; flex: 0 0 auto;}
..gb_R.gb_sg {float: right; order: 1;}
..gb_tg {white-space: nowrap;}
..gb_T .gb_tg {display: flex;}
..gb_tg ,.gb_R {margin-left: 0px !important; margin-right: 0px !important;}
..gb_6b {background-image: url("//ssl.gstatic.com/gb/images/v1_e3444bc5.png"=
); background-size: 92px 2731px;}
..gb_hb:not(.gb_N) .gb_7a::before ,.gb_hb:not(.gb_N) .gb_ub::before {content=
: none;}
..gb_N .gb_4b .gb_6b::before {left: 0px; top: -1139px;}
..gb_N.gb_X .gb_4b .gb_6b::before {left: 0px; top: -790px;}
..gb_N.gb_ea .gb_4b .gb_6b::before {left: 0px; top: -1454px;}
..gb_N .gb_Wa {background-image: none !important;}
..gb_N .gb_7b {visibility: visible;}
..gb_Ib .gb_8d span {background: transparent none repeat scroll 0% 0%;}
..gb_1b {min-width: 152px; overflow: hidden; position: relative; z-index: 98=
7;}
..gb_2b {position: absolute; padding: 0px 30px;}
..gb_3b .gb_2b {right: 100%; margin-right: -152px;}
..gb_4b {display: inline-block; outline: medium none; vertical-align: middle=
;}
..gb_5b .gb_4b {position: relative; top: 2px;}
..gb_4b .gb_6b ,.gb_Wa {display: block;}
..gb_7b {border: medium none; display: block; visibility: hidden;}
..gb_4b .gb_6b {background-position: 0px -1139px; height: 33px; width: 92px;=
}
..gb_Wa {background-repeat: no-repeat;}
..gb_X .gb_4b .gb_6b {background-position: 0px -790px;}
..gb_ea .gb_4b .gb_6b {background-position: 0px -1454px; opacity: 0.54;}
..gb_wc {background-position: 0px -1177px; opacity: 0.55; height: 100%; widt=
h: 100%;}
..gb_b:hover .gb_wc ,.gb_b:focus .gb_wc {opacity: 0.85;}
..gb_xc .gb_wc {background-position: -35px -1212px;}
..gb_yc {background-color: rgb(203, 68, 55); border-radius: 8px; font: bold =
11px/16px Arial; color: rgb(255, 255, 255); min-width: 14px; padding: 0px 1=
px; position: absolute; right: 0px; text-align: center; text-shadow: 0px 1p=
x 0px rgba(0, 0, 0, 0.1); top: 0px; visibility: hidden; z-index: 990;}
..gb_zc .gb_yc ,.gb_zc .gb_Ac ,.gb_zc .gb_Ac.gb_Bc {visibility: visible;}
..gb_Ac {padding: 0px 2px; visibility: hidden;}
..gb_Cc:not(.gb_Dc) .gb_mb ,.gb_Cc:not(.gb_Dc) .gb_lb {left: 3px;}
..gb_yc.gb_Ec {animation: 0.6s ease-in-out 1s normal both 1 running gb__nb; =
perspective-origin: right top; transform: scale(1, 1); transform-origin: ri=
ght top 0px;}
..gb_Ec .gb_Ac {visibility: visible;}
..gb_ea .gb_b .gb_wc {background-position: 0px -276px; opacity: 0.7;}
..gb_ea .gb_xc .gb_wc {background-position: 0px -1212px;}
..gb_ea .gb_b:hover .gb_wc ,.gb_ea .gb_b:focus .gb_wc {opacity: 0.85;}
..gb_X .gb_b .gb_wc {background-position: -35px -966px; opacity: 1;}
..gb_X .gb_xc .gb_wc {background-position: -56px -2321px;}
..gb_ea .gb_yc ,.gb_X .gb_yc {border: medium none;}
..gb_Cc .gb_Fc {font-size: 14px; font-weight: bold; top: 0px; right: 0px;}
..gb_Cc .gb_b {display: inline-block; vertical-align: middle; box-sizing: bo=
rder-box; height: 30px; width: 30px;}
..gb_Cc .gb_lb {border-bottom-color: rgb(229, 229, 229);}
..gb_Hc {background-color: rgba(0, 0, 0, 0.55); color: rgb(255, 255, 255); f=
ont-size: 12px; font-weight: bold; line-height: 20px; margin: 5px; padding:=
0px 2px; text-align: center; box-sizing: border-box; border-radius: 50%; h=
eight: 20px; width: 20px;}
..gb_Hc.gb_Ic {background-position: -70px -2010px;}
..gb_Hc.gb_Jc {background-position: 0px 0px;}
..gb_b:hover .gb_Hc ,.gb_b:focus .gb_Hc {background-color: rgba(0, 0, 0, 0.8=
5);}
#gbsfw.gb_Kc {background: rgb(229, 229, 229) none repeat scroll 0% 0%; bord=
er-color: rgb(204, 204, 204);}
..gb_ea .gb_Hc {background-color: rgba(0, 0, 0, 0.7);}
..gb_X .gb_Hc.gb_Hc ,.gb_X .gb_zc .gb_Hc.gb_Hc ,.gb_X .gb_zc .gb_b:hover .gb=
_Hc ,.gb_X .gb_zc .gb_b:focus .gb_Hc {background-color: rgb(255, 255, 255);=
color: rgb(64, 64, 64);}
..gb_X .gb_Hc.gb_Ic {background-position: -69px -2460px;}
..gb_X .gb_Hc.gb_Jc {background-position: 0px -583px;}
..gb_zc .gb_Hc.gb_Hc {background-color: rgb(219, 68, 55); color: rgb(255, 25=
5, 255);}
..gb_zc .gb_b:hover .gb_Hc ,.gb_zc .gb_b:focus .gb_Hc {background-color: rgb=
(165, 39, 20);}
..gb_N .gb_wc::before {left: 0px; top: -1177px;}
..gb_N .gb_xc .gb_wc::before {left: -35px; top: -1212px;}
..gb_N.gb_ea .gb_b .gb_wc::before {left: 0px; top: -276px;}
..gb_N.gb_ea .gb_xc .gb_wc::before {left: 0px; top: -1212px;}
..gb_N.gb_X .gb_b .gb_wc::before {left: -35px; top: -966px;}
..gb_N.gb_X .gb_xc .gb_wc::before {left: -56px; top: -2321px;}
..gb_Ib .gb_Hc {border: 1px solid rgb(255, 255, 255); color: rgb(255, 255, 2=
55);}
..gb_Ib.gb_ea .gb_Hc {border-color: rgb(0, 0, 0); color: rgb(0, 0, 0);}
..gb_N .gb_Hc.gb_Ic::before ,.gb_Ib.gb_N.gb_X .gb_Hc.gb_Ic::before {left: -7=
0px; top: -2010px;}
..gb_N .gb_Hc.gb_Jc::before ,.gb_Ib.gb_N.gb_X .gb_Hc.gb_Jc::before {left: 0p=
x; top: 0px;}
..gb_N.gb_X .gb_Hc.gb_Ic::before ,.gb_Ib.gb_N.gb_ea .gb_Hc.gb_Ic::before {le=
ft: -69px; top: -2460px;}
..gb_N.gb_X .gb_Hc.gb_Jc::before ,.gb_Ib.gb_N.gb_ea .gb_Hc.gb_Jc::before {le=
ft: 0px; top: -583px;}
..gb_nd {color: rgb(255, 255, 255); font-size: 13px; font-weight: bold; heig=
ht: 25px; line-height: 19px; padding-top: 5px; padding-left: 12px; position=
: relative; background-color: rgb(77, 144, 254);}
..gb_nd .gb_od {color: rgb(255, 255, 255); cursor: default; font-size: 22px;=
font-weight: normal; position: absolute; right: 12px; top: 5px;}
..gb_nd .gb_8c ,.gb_nd .gb_pd {color: rgb(255, 255, 255); display: inline-bl=
ock; font-size: 11px; margin-left: 16px; padding: 0px 8px; white-space: now=
rap;}
..gb_qd {background: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , rgba=
(0, 0, 0, 0.16), rgba(0, 0, 0, 0.2)) repeat scroll 0% 0%; border-radius: 2p=
x; border: 1px solid rgba(0, 0, 0, 0.1); cursor: default !important; text-d=
ecoration: none !important;}
..gb_qd:hover {background: rgba(0, 0, 0, 0) -moz-linear-gradient(center top =
, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.2)) repeat scroll 0% 0%; border: 1px=
solid rgba(0, 0, 0, 0.2); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);}
..gb_qd:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset;}
..gb_Zc.gb_0c {padding: 0px;}
..gb_0c .gb_fa {padding: 26px 26px 22px 13px; background: rgb(255, 255, 255)=
none repeat scroll 0% 0%;}
..gb_1c.gb_0c .gb_fa {background: rgb(77, 144, 254) none repeat scroll 0% 0%=
;}
a.gb_2c {color: rgb(102, 102, 102) !important; font-size: 22px; height: 9px=
; opacity: 0.8; position: absolute; right: 14px; top: 4px; text-decoration:=
none !important; width: 9px;}
..gb_1c a.gb_2c {color: rgb(193, 209, 244) !important;}
a.gb_2c:hover ,a.gb_2c:active {opacity: 1;}
..gb_3c {padding: 0px; width: 258px; white-space: normal; display: table;}
..gb_4c .gb_fa {top: 36px; border: 0px none; padding: 16px; box-shadow: 4px =
4px 12px rgba(0, 0, 0, 0.4);}
..gb_4c .gb_3c {width: 328px;}
..gb_4c .gb_Fa ,.gb_4c .gb_5c ,.gb_4c .gb_Xc ,.gb_4c .gb_Ba ,.gb_6c {line-he=
ight: normal; font-family: Roboto,RobotoDraft,Helvetica,Arial,sans-serif;}
..gb_4c .gb_Fa ,.gb_4c .gb_5c ,.gb_4c .gb_Ba {font-weight: 500;}
..gb_4c .gb_Fa ,.gb_4c .gb_Ba {border: 0px none; padding: 10px 8px;}
..gb_0c .gb_Fa:active {outline: medium none; box-shadow: 0px 4px 5px rgba(0,=
0, 0, 0.16);}
..gb_4c .gb_5c {color: rgb(34, 34, 34); margin-bottom: 8px;}
..gb_4c .gb_Xc {color: rgb(128, 128, 128); font-size: 14px;}
..gb_7c {text-align: right; font-size: 14px; padding-bottom: 0px; white-spac=
e: nowrap;}
..gb_7c .gb_8c {margin-left: 8px;}
..gb_7c .gb_9c.gb_8c img {background-color: inherit; border-radius: initial;=
height: 1.5em; margin: -0.25em 10px -0.25em 2px; vertical-align: text-top;=
width: 1.5em;}
..gb_4c .gb_3c .gb_ad .gb_9c {border: 2px solid transparent;}
..gb_4c .gb_3c .gb_ad .gb_9c:focus {border-color: rgb(187, 204, 255);}
..gb_4c .gb_3c .gb_ad .gb_9c:focus::after ,.gb_4c .gb_3c .gb_ad .gb_9c:hover=
::after {background-color: transparent;}
..gb_6c {background-color: rgb(64, 64, 64); color: rgb(255, 255, 255); paddi=
ng: 16px; position: absolute; top: 36px; min-width: 328px; max-width: 650px=
; right: 0px; border-radius: 2px; box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.=
4);}
..gb_6c a ,.gb_6c a:visited {color: rgb(94, 151, 246); text-decoration: none=
;}
..gb_bd {text-transform: uppercase;}
..gb_cd {padding-left: 50px;}
..gb_1c .gb_3c {width: 200px;}
..gb_5c {color: rgb(51, 51, 51); font-size: 16px; line-height: 20px; margin:=
0px 0px 16px;}
..gb_1c .gb_5c {color: rgb(255, 255, 255);}
..gb_Xc {color: rgb(102, 102, 102); line-height: 17px; margin: 0px 0px 5px;}
..gb_1c .gb_Xc {color: rgb(255, 255, 255);}
..gb_dd {text-decoration: none; color: rgb(94, 151, 246);}
..gb_dd:visited {color: rgb(94, 151, 246);}
..gb_dd:hover ,.gb_dd:active {text-decoration: underline;}
..gb_ed {position: absolute; background: transparent none repeat scroll 0% 0=
%; top: -999px; z-index: -1; visibility: hidden; margin-top: 1px; margin-le=
ft: 1px;}
#gb .gb_0c {margin: 0px;}
..gb_0c .gb_yb {background: rgb(77, 144, 254) none repeat scroll 0% 0%; bord=
er-color: rgb(48, 121, 237); margin-top: 15px;}
..gb_4c .gb_Fa {background: rgb(66, 133, 244) none repeat scroll 0% 0%;}
#gb .gb_0c a.gb_yb.gb_yb {color: rgb(255, 255, 255);}
..gb_0c .gb_yb:hover {background: rgb(53, 122, 232) none repeat scroll 0% 0%=
; border-color: rgb(47, 91, 183);}
..gb_fd .gb_Fc .gb_lb {border-bottom-color: rgb(255, 255, 255); display: blo=
ck;}
..gb_gd .gb_Fc .gb_lb {border-bottom-color: rgb(77, 144, 254); display: bloc=
k;}
..gb_fd .gb_Fc .gb_mb ,.gb_gd .gb_Fc .gb_mb {display: block;}
..gb_hd ,.gb_ad {display: table-cell;}
..gb_hd {vertical-align: middle;}
..gb_4c .gb_hd {vertical-align: top;}
..gb_ad {padding-left: 13px; width: 100%;}
..gb_4c .gb_ad {padding-left: 20px;}
..gb_id {display: inline-block; padding: 1em 0px 0px; position: relative; wi=
dth: 100%;}
..gb_jd {color: rgb(255, 0, 0); font-style: italic; margin: 0px; padding-lef=
t: 46px;}
..gb_id .gb_kd {float: right; margin: -20px 0px; width: calc(100% - 46px);}
..gb_ld svg {fill: grey;}
..gb_ld.gb_md svg {fill: rgb(66, 133, 244);}
..gb_id .gb_kd label::after {background-color: rgb(66, 133, 244);}
..gb_ld {display: inline; float: right; margin-right: 22px; position: relati=
ve; top: -4px;}
..gb_nf {margin-bottom: 32px; font-size: small;}
..gb_nf .gb_of {margin-right: 5px;}
..gb_nf .gb_pf {color: red;}
..gb_Nc {display: none;}
..gb_Nc.gb_g {display: block;}
..gb_Oc {background-color: rgb(255, 255, 255); box-shadow: 0px 1px 0px rgba(=
0, 0, 0, 0.08); color: rgb(0, 0, 0); position: relative; z-index: 986;}
..gb_Pc {height: 40px; padding: 16px 24px; white-space: nowrap;}
..gb_Qc {position: fixed; bottom: 16px; padding: 16px; right: 16px; white-sp=
ace: normal; width: 328px; transition: width 0.2s ease 0s, bottom 0.2s ease=
0s, right 0.2s ease 0s; border-radius: 2px; box-shadow: 0px 5px 5px -3px r=
gba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px r=
gba(0, 0, 0, 0.12);}
..gb_Oc .gb_yb {border: 0px none; font-weight: 500; font-size: 14px; line-he=
ight: 36px; min-width: 32px; padding: 0px 16px; vertical-align: middle;}
..gb_Oc .gb_yb::before {content: ""; height: 6px; left: 0px; position: absol=
ute; top: -6px; width: 100%;}
..gb_Oc .gb_yb::after {bottom: -6px; content: ""; height: 6px; left: 0px; po=
sition: absolute; width: 100%;}
..gb_Oc .gb_yb + .gb_yb {margin-left: 8px;}
..gb_Rc {height: 48px; padding: 4px; margin: -8px 0px 0px -8px;}
..gb_Qc .gb_Rc {float: left; margin: -4px;}
..gb_Sc {font-family: Roboto,RobotoDraft,Helvetica,Arial,sans-serif; overflo=
w: hidden; vertical-align: top;}
..gb_Pc .gb_Sc {display: inline-block; padding-left: 8px; width: 640px;}
..gb_Qc .gb_Sc {display: block; margin-left: 56px; padding-bottom: 16px;}
..gb_Tc {background-color: inherit;}
..gb_Pc .gb_Tc {display: inline-block; position: absolute; top: 18px; right:=
24px;}
..gb_Qc .gb_Tc {text-align: right; padding-right: 24px; padding-top: 6px;}
..gb_Tc .gb_Uc {height: 1.5em; margin: -0.25em 10px -0.25em 0px; vertical-al=
ign: text-top; width: 1.5em;}
..gb_Vc {line-height: 20px; font-size: 16px; font-weight: 700; color: rgba(0=
, 0, 0, 0.87);}
..gb_Qc .gb_Vc {color: rgba(0, 0, 0, 0.87); font-size: 16px; line-height: 20=
px; padding-top: 8px;}
..gb_Pc .gb_Vc ,.gb_Pc .gb_Wc {width: 640px;}
..gb_Wc .gb_Xc ,.gb_Wc {line-height: 20px; font-size: 13px; font-weight: 400=
; color: rgba(0, 0, 0, 0.54);}
..gb_Qc .gb_Wc .gb_Xc {font-size: 14px;}
..gb_Qc .gb_Wc {padding-top: 12px;}
..gb_Qc .gb_Wc a {color: rgb(66, 133, 244);}
..gb_qf {position: relative; width: 650px; z-index: 986;}
#gbq2 {padding-top: 15px;}
..gb_T .gb_qf {min-width: 200px; flex: 0 2 auto;}
..gb_V ~ .gb_qf {min-width: 0px;}
..gb_T #gbqf {margin-right: 0px; display: flex;}
..gb_T .gbqff {min-width: 0px; flex: 1 1 auto;}
..gb_N .gbqfi::before {left: 0px; top: -2321px;}
..gb_Ib .gbqfb:focus .gbqfi {outline: 1px dotted rgb(255, 255, 255);}
#gbq2 {display: block;}
#gbqf {display: block; margin: 0px 60px 0px 0px; white-space: nowrap;}
..gbqff {border: medium none; display: inline-block; margin: 0px; padding: 0=
px; vertical-align: top; width: 100%;}
..gbqfqw ,#gbqfb ,.gbqfwa {vertical-align: top;}
#gbqfaa ,#gbqfab ,#gbqfqwb {position: absolute;}
#gbqfaa {left: 0px;}
#gbqfab {right: 0px;}
..gbqfqwb ,.gbqfqwc {right: 0px; left: 0px; height: 100%;}
..gbqfqwb {padding: 0px 8px;}
#gbqfbw {display: inline-block; vertical-align: top;}
#gbqfb {border: 1px solid transparent; border-bottom-left-radius: 0px; bord=
er-top-left-radius: 0px; height: 30px; margin: 0px; outline: medium none; p=
adding: 0px; width: 60px; box-shadow: none; box-sizing: border-box; backgro=
und: rgba(0, 0, 0, 0) -moz-linear-gradient(center top , rgb(67, 135, 253), =
rgb(70, 131, 234)) repeat scroll 0% 0%;}
#gbqfb:hover {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);}
#gbqfb:focus {box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;}
#gbqfb:hover:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) inset, 0=
px 1px 1px rgba(0, 0, 0, 0.1);}
#gbqfb:active:active {border: 1px solid transparent; box-shadow: 0px 2px 0p=
x rgba(0, 0, 0, 0.15) inset; background: rgba(0, 0, 0, 0) -moz-linear-gradi=
ent(center top , rgb(60, 122, 228), rgb(63, 118, 211)) repeat scroll 0% 0%;=
}
..gbqfi {background-position: 0px -2321px; display: inline-block; margin: -1=
px; height: 30px; width: 30px;}
..gbqfqw {background: rgb(255, 255, 255) none repeat scroll 0% 0% padding-bo=
x; border-width: 1px 0px 1px 1px; border-style: solid; -moz-border-top-colo=
rs: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; =
-moz-border-left-colors: none; border-image: none; border-color: rgba(0, 0,=
0, 0.15); height: 30px; box-sizing: border-box;}
#gbfwc .gbqfqw {border-right-width: 1px;}
#gbqfqw {position: relative;}
..gbqfqw.gbqfqw:hover {border-color: rgba(0, 0, 0, 0.3);}
..gbqfwa {display: inline-block; width: 100%;}
..gbqfwb {width: 40%;}
..gbqfwc {width: 60%;}
..gbqfwb .gbqfqw {margin-left: 10px;}
..gbqfqw.gbqfqw:active ,.gbqfqw.gbqfqwf.gbqfqwf {border-color: rgb(66, 133, =
244);}
#gbqfq ,#gbqfqb ,#gbqfqc {background: transparent none repeat scroll 0% 0%;=
border: medium none; height: 20px; margin-top: 4px; padding: 0px; vertical=
-align: top; width: 100%;}
#gbqfq:focus ,#gbqfqb:focus ,#gbqfqc:focus {outline: medium none;}
..gbqfif ,.gbqfsf {color: rgb(34, 34, 34); font: 16px arial,sans-serif;}
#gbqfbwa {display: none; text-align: center; height: 0px;}
#gbqfbwa .gbqfba {margin: 16px 8px;}
#gbqfsa ,#gbqfsb {font: bold 11px/27px Arial,sans-serif !important; vertica=
l-align: top;}
..gb_ea .gbqfqw.gbqfqw ,.gb_X .gbqfqw.gbqfqw {border-color: rgb(255, 255, 25=
5); box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gb_ea #gbqfb ,.gb_X #gbqfb {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gb_ea #gbqfb:hover ,.gb_X #gbqfb:hover {box-shadow: 0px 1px 1px rgba(0, 0,=
0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gb_ea #gbqfb:active ,.gb_X #gbqfb:active {box-shadow: 0px 2px 0px rgba(0, =
0, 0, 0.15) inset, 0px 1px 2px rgba(0, 0, 0, 0.2);}
..gbqfb ,.gbqfba ,.gbqfbb {cursor: default !important; display: inline-block=
; font-weight: bold; height: 29px; line-height: 29px; min-width: 54px; padd=
ing: 0px 8px; text-align: center; text-decoration: none !important; border-=
radius: 2px; -moz-user-select: none;}
..gbqfba:focus {border: 1px solid rgb(77, 144, 254); outline: medium none; b=
ox-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0.5) inset;}
..gbqfba:hover {border-color: rgb(198, 198, 198); color: rgb(34, 34, 34) !im=
portant; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); background: rgba(0, 0,=
0, 0) -moz-linear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, =
241)) repeat scroll 0% 0%;}
..gbqfba:hover:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) inset, =
0px 1px 1px rgba(0, 0, 0, 0.1);}
..gbqfb::-moz-focus-inner {border: 0px none;}
..gbqfba::-moz-focus-inner {border: 0px none;}
..gbqfba {border: 1px solid rgba(0, 0, 0, 0.1); color: rgb(68, 68, 68) !impo=
rtant; font-size: 11px; background: rgba(0, 0, 0, 0) -moz-linear-gradient(c=
enter top , rgb(245, 245, 245), rgb(241, 241, 241)) repeat scroll 0% 0%;}
..gbqfba:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..gb_rf .gb_b {background-position: 0px -1699px; opacity: 0.55; height: 30px=
; width: 30px;}
..gb_rf .gb_b:hover ,.gb_rf .gb_b:focus {opacity: 0.85;}
..gb_rf .gb_lb {border-bottom-color: rgb(245, 245, 245);}
#gbsfw.gb_sf {background: rgb(245, 245, 245) none repeat scroll 0% 0%; bord=
er-color: rgb(204, 204, 204);}
..gb_X .gb_rf .gb_b {background-position: -35px -1699px; opacity: 1;}
..gb_ea .gb_rf .gb_b {background-position: 0px -966px; opacity: 0.7;}
..gb_ea .gb_rf .gb_b:hover ,.gb_ea .gb_rf .gb_b:focus {opacity: 0.85;}
..gb_N .gb_rf .gb_b::before {left: 0px; top: -1699px;}
..gb_N.gb_ea .gb_rf .gb_b::before {left: 0px; top: -966px;}
..gb_N.gb_X .gb_rf .gb_b::before {left: -35px; top: -1699px;}
..gb_Sf {width: 480px;}
..gb_Tf {background: rgba(0, 0, 0, 0.04) none repeat scroll 0% 0%; border-bo=
ttom-right-radius: 0px; line-height: 30px; position: relative; text-align: =
center; width: 100%;}
..gb_Tf:hover {background: rgba(0, 0, 0, 0.08) none repeat scroll 0% 0%;}
..gb_Tf .gb_Uf {margin: 0px 10px;}
..gb_Vf {position: relative; z-index: 1;}
..gb_Wf {background: rgb(238, 238, 238) none repeat scroll 0% 0%; border-bot=
tom: 1px solid rgb(227, 227, 227); border-left: 1px solid rgb(227, 227, 227=
); display: inline-block; line-height: 32px; text-align: center; width: 160=
px;}
..gb_Vf .gb_Wf:first-child {border-left: medium none;}
..gb_Vf .gb_g {background: rgb(255, 255, 255) none repeat scroll 0% 0%; bord=
er-bottom: medium none;}
..gb_Xf {display: none; text-align: center;}
..gb_Xf.gb_g {display: block;}
..gb_Zf {color: inherit; display: inline-block; padding: 15px; text-decorati=
on: none;}
..gb_0f {background-clip: content-box; background-origin: content-box; displ=
ay: inherit; height: 64px; width: 64px;}
..gb_1f {display: block; text-align: center;}
..gb_2f {border-top: medium none; top: 78px; z-index: 1; border-radius: 0px =
0px 2px 2px;}
..gb_3f {display: inline-block; vertical-align: middle;}
..gb_4f {display: inline-block; vertical-align: middle; background-size: 100=
% auto; height: 20px; width: 20px;}
..gb_5f {background-image: url("//ssl.gstatic.com/gb/images/a/5a1c013d3d.png=
");}
..gb_6f {background-image: url("//ssl.gstatic.com/gb/images/a/de580e5330.png=
");}
..gb_7f {background-image: url("//ssl.gstatic.com/gb/images/a/451603daf6.png=
");}
..gb_3f {margin-left: 4px;}
..gb_8f {margin: 5px; width: 470px;}
..gb_9f {border: medium none; display: block; margin: 0px 5px; outline: medi=
um none; padding: 0px 5px; height: 30px; width: 450px;}
..gb_ag {border-width: 1px medium medium; border-style: solid none none; bor=
der-color: rgb(227, 227, 227) currentcolor currentcolor; -moz-border-top-co=
lors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none=
; -moz-border-left-colors: none; border-image: none; display: block; margin=
: 0px 5px; outline: medium none; padding: 0px 5px; height: 30px; width: 450=
px;}
..gb_bg {border-color: rgb(227, 227, 227); display: block; font: inherit; ma=
rgin: 0px 5px; outline: medium none; padding: 5px; text-align: left; height=
: 320px; width: 450px;}
..gb_cg ,.gb_dg {border: 1px solid rgb(227, 227, 227); border-radius: 2px; c=
ursor: pointer; line-height: 27px; margin: 5px; padding: 0px 8px; width: 54=
px;}
..gb_cg {float: left;}
..gb_dg {float: right;}
..gb_hb {min-width: 255px; padding-left: 30px; padding-right: 30px; position=
: relative; text-align: right; z-index: 986; align-items: center; justify-c=
ontent: flex-end; -moz-user-select: none;}
..gb_9a .gb_hb {min-width: 0px;}
..gb_hb.gb_R {flex: 1 1 auto;}
..gb_uc {line-height: normal; position: relative; text-align: left;}
..gb_uc.gb_R ,.gb_ce.gb_R ,.gb_ab.gb_R {flex: 0 1 auto;}
..gb_eg ,.gb_fg {display: inline-block; padding: 0px 0px 0px 15px; position:=
relative; vertical-align: middle;}
..gb_ce {line-height: normal; padding-right: 15px;}
..gb_hb .gb_ce.gb_U {padding-right: 0px;}
..gb_ab {color: rgb(64, 64, 64); line-height: 30px; min-width: 30px; overflo=
w: hidden; vertical-align: middle; text-overflow: ellipsis;}
#gb.gb_9a.gb_9a .gb_Lf ,#gb.gb_9a.gb_9a .gb_uc > .gb_fg .gb_Mf {background:=
rgba(0, 0, 0, 0) none repeat scroll 0% 0%; border: medium none; color: rgb=
(51, 102, 204); cursor: pointer; filter: none; font-size: 11px; line-height=
: 26px; padding: 0px; box-shadow: none;}
#gb.gb_9a.gb_X .gb_Lf ,#gb.gb_9a.gb_X .gb_uc > .gb_fg .gb_Mf {color: rgb(25=
5, 255, 255);}
..gb_9a .gb_Lf {text-transform: uppercase;}
..gb_hb.gb_V {padding-left: 0px; padding-right: 29px;}
..gb_hb.gb_gg {max-width: 400px;}
..gb_hg {background-clip: content-box; background-origin: content-box; opaci=
ty: 0.27; padding: 22px; height: 16px; width: 16px;}
..gb_hg.gb_R {display: none;}
..gb_hg:hover ,.gb_hg:focus {opacity: 0.55;}
..gb_ig {background-position: -69px -2252px;}
..gb_jg {background-position: -35px -2321px; padding-left: 30px; padding-rig=
ht: 14px; position: absolute; right: 0px; top: 0px; z-index: 990;}
..gb_db:not(.gb_fb) .gb_jg ,.gb_V .gb_ig {display: inline-block;}
..gb_db .gb_ig {padding-left: 30px; padding-right: 0px; width: 0px;}
..gb_db:not(.gb_fb) .gb_kg {display: none;}
..gb_hb.gb_R.gb_V ,.gb_V:not(.gb_fb) .gb_uc {flex: 0 0 auto;}
..gb_hg ,.gb_V .gb_ce ,.gb_fb .gb_uc {overflow: hidden;}
..gb_db .gb_ce {padding-right: 0px;}
..gb_V .gb_uc {padding: 1px 1px 1px 0px;}
..gb_db .gb_uc {width: 75px;}
..gb_hb.gb_lg ,.gb_hb.gb_lg .gb_ig ,.gb_hb.gb_lg .gb_ig::before ,.gb_hb.gb_l=
g .gb_ce ,.gb_hb.gb_lg .gb_uc {transition: width 0.5s ease-in-out 0s, min-w=
idth 0.5s ease-in-out 0s, max-width 0.5s ease-in-out 0s, padding 0.5s ease-=
in-out 0s, left 0.5s ease-in-out 0s;}
..gb_T .gb_hb {min-width: 0px;}
..gb_hb.gb_W ,.gb_hb.gb_W .gb_uc ,.gb_hb.gb_mg ,.gb_hb.gb_mg .gb_uc {min-wid=
th: 0px !important;}
..gb_hb.gb_W ,.gb_hb.gb_W .gb_R {flex: 0 0 auto !important;}
..gb_hb.gb_W .gb_ab {width: 30px !important;}
..gb_ng {margin-right: 32px;}
..gb_6a {display: none;}
..gb_N .gb_ig::before {clip: rect(2252px, 85px, 2268px, 69px); left: -47px; =
top: -2230px;}
..gb_N .gb_6b.gb_jg {position: absolute;}
..gb_N .gb_jg::before {clip: rect(2321px, 51px, 2337px, 35px); left: -5px; t=
op: -2299px;}
..gb_N .gb_db .gb_ig::before {left: -39px;}
..gb_N .gb_6b ,.gb_N .gbii ,.gb_N .gbip {background-image: none; overflow: h=
idden; position: relative;}
..gb_N .gb_6b::before {content: url("//ssl.gstatic.com/gb/images/v1_e3444bc5=
..png"); position: absolute;}
..gb_Ib a:focus {outline: 1px dotted rgb(255, 255, 255) !important;}
sentinel { }
#gbq .gbgt-hvr ,#gbq .gbgt:focus {background-color: transparent; background=
-image: none;}
#gbq1.gbqfh {display: none;}
..gbxx {display: none !important;}
#gbq {line-height: normal; position: relative; top: 0px; white-space: nowra=
p;}
#gbq {left: 0px; width: 100%;}
#gbq2 {top: 0px; z-index: 986;}
#gbq4 {display: inline-block; max-height: 29px; overflow: hidden; position:=
relative;}
#gbq2.gbqfh {z-index: 985;}
#gbq2.gbqfh {margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin=
-left: 0px !important; padding-top: 0px; position: relative; top: 310px;}
..gbqfh #gbqf {margin: auto; min-width: 534px; padding: 0px !important;}
..gbqfh #gbqfbw {display: none;}
..gbqfh #gbqfbwa {display: block;}
..gbqfh #gbqf {max-width: 512px; min-width: 200px;}
..gbqfh .gbqfqw {border-right-width: 1px;}
..gbii::before {content: url("https://lh3.googleusercontent.com/-D_q2LHjgmDw=
/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s32-c-mo/photo.=
jpg");}
..gbip::before {content: url("https://lh3.googleusercontent.com/-D_q2LHjgmDw=
/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s96-c-mo/photo.=
jpg");}
..gbii {background-image: url("https://lh3.googleusercontent.com/-D_q2LHjgmD=
w/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s32-c-mo/photo=
..jpg");}
..gbip {background-image: url("https://lh3.googleusercontent.com/-D_q2LHjgmD=
w/AAAAAAAAAAI/AAAAAAAAAAA/ACnBePZNKkVYfVjOzriuNcfl8bfet745YQ/s96-c-mo/photo=
..jpg");}
..gb_va .gb_2::before {left: 0px; top: -1070px;}
#gb192 .gb_2::before {left: 0px; top: -1492px;}
#gb1 .gb_2::before {left: -25px; top: 0px;}
#gb8 .gb_2::before {left: 0px; top: -1630px;}
#gb36 .gb_2::before {left: 0px; top: -2183px;}
#gb78 .gb_2::before {left: 0px; top: -69px;}
#gb5 .gb_2::before {left: 0px; top: -138px;}
#gb23 .gb_2::before {left: 0px; top: -207px;}
#gb49 .gb_2::before {left: 0px; top: -1247px;}
#gb24 .gb_2::before {left: 0px; top: -1734px;}
#gb119 .gb_2::before {left: 0px; top: -828px;}
#gb51 .gb_2::before {left: 0px; top: -2598px;}
#gb31 .gb_2::before {left: 0px; top: -1941px;}
#gb6 .gb_2::before {left: 0px; top: -2529px;}
#gb212 .gb_2::before {left: 0px; top: -897px;}
#gb27 .gb_2::before {left: 0px; top: -514px;}
#gb25 .gb_2::before {left: 0px; top: -1803px;}
#gb10 .gb_2::before {left: 0px; top: -1001px;}
#gb30 .gb_2::before {left: 0px; top: -1316px;}
#gb53 .gb_2::before {left: 0px; top: -652px;}
#gb300 .gb_2::before {left: -25px; top: -583px;}
#gb265 .gb_2::before {left: 0px; top: -380px;}
..F0XO1GC-e-b {bottom: 24px; left: 24px; position: fixed; z-index: 2000;}
..F0XO1GC-e-b .F0XO1GC-e-a {background: rgb(50, 50, 50) none repeat scroll 0=
% 0%; border-radius: 2px; color: white; display: inline-block; font-size: 1=
4px; max-width: 568px; min-width: 288px; padding: 16px 24px 12px; will-chan=
ge: transform;}
..F0XO1GC-e-b .F0XO1GC-e-a > div {vertical-align: middle; display: inline-bl=
ock; max-width: 450px;}
..F0XO1GC-e-b .F0XO1GC-e-a > div > div {overflow: hidden; text-overflow: ell=
ipsis;}
..F0XO1GC-e-b .F0XO1GC-e-a .F0XO1GC-e-i {color: rgb(161, 194, 250); text-tra=
nsform: uppercase;}
..F0XO1GC-e-b.F0XO1GC-e-d .F0XO1GC-e-c {float: right; opacity: 0.8; padding-=
left: 10px;}
..F0XO1GC-e-b.F0XO1GC-e-d .F0XO1GC-e-c:hover {opacity: 1;}
..F0XO1GC-e-g {transition: opacity 4s ease 0s;}
..F0XO1GC-e-j {transition: opacity 6s ease 0s;}
..F0XO1GC-e-e {opacity: 0;}
body.F0XO1GC-e-m .F0XO1GC-e-b.F0XO1GC-e-f {display: none;}
..F0XO1GC-g-b {background-color: rgb(235, 238, 248); padding: 4px; color: rg=
b(34, 34, 34); box-shadow: 0px 4px 10px rgb(139, 139, 139);}
..F0XO1GC-g-a {height: 14px; width: 6px; overflow: hidden; background: rgba(=
0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAOCAYA=
AAAMn20lAAAAHUlEQVR42mNYsGDBahBmgAI4H6cE6WAk2LETmwQApE1Rb+RF60MAAAAASUVORK5=
CYII=3D") no-repeat scroll 0px 0px; display: inline-block;}
..gux-dropdown-c {background-color: rgb(249, 249, 249); border-width: 1px; b=
order-style: solid; border-color: rgb(229, 229, 229) rgb(229, 229, 229) rgb=
(179, 179, 179);}
..gux-dropdown-b {border-bottom: 1px solid rgb(229, 229, 229); margin-left: =
2px;}
..gux-combo-item {color: rgb(51, 51, 51); cursor: pointer; padding: 3px 8px;=
}
..gux-combo-item-disabled {color: rgb(102, 102, 102);}
..gux-combo-item-selected ,.gux-combo-item-selection {background-color: rgb(=
221, 221, 221);}
..gux-combo-item-current {background-color: rgb(238, 238, 238); font-weight:=
bold;}
..gux-combo-item-has-child {background-image: url("data:image/png;base64,iVB=
ORw0KGgoAAAANSUhEUgAAAAcAAAAHAQMAAAD+nMWQAAAABlBMVEX///9mZmaO7mygAAAAAXRSTl=
MAQObYZgAAABxJREFUeF4FwTEBAAAMAiCiGMHTY/1zDUTNmcoDCSIBTWrzi7sAAAAASUVORK5CY=
II=3D");}
..gux-combo-item-has-child {background-repeat: no-repeat; background-positio=
n: 97% 50%; padding-right: 20px;}
..gux-combo-item-separator {margin: 3px 0px; border-top: 1px solid rgb(207, =
207, 207);}
..F0XO1GC-l-a {overflow: auto; max-height: 400px; min-width: 150px;}
html ,body ,div ,span ,applet ,object ,body {margin: 0px; padding: 0px; bor=
der: 0px none;}
iframe {margin: 0px; padding: 0px;}
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,p ,pre ,a ,abbr ,acronym ,address ,big ,cite ,code =
,del ,dfn ,em ,font ,img ,ins ,kbd ,q ,s ,samp ,small ,strike ,strong ,sub =
,sup ,tt ,var ,dl ,dt ,dd ,fieldset ,form ,label ,legend ,table ,caption ,t=
body ,tfoot ,thead ,tr ,th ,td {margin: 0px; padding: 0px; border: 0px none=
;}
body {background: white none repeat scroll 0% 0%;}
table {border-collapse: separate; border-spacing: 0px;}
caption ,th ,td {font-weight: normal;}
input::-moz-focus-inner {border: 0px none;}
body {font-family: "Arial","Helvetica",sans-serif; color: rgb(34, 34, 34); =
font-size: 13px; height: 100%; background-color: rgb(255, 255, 255);}
html {height: 100%; background-color: rgb(255, 255, 255);}
body {overflow-y: hidden; overflow-x: auto;}
..F0XO1GC-b-q {position: fixed; overflow: hidden; width: 100%; height: 100%;=
}
h1 ,h2 ,h3 ,h4 ,h5 {font-size: 16px; line-height: 24px; font-weight: normal=
; color: rgb(34, 34, 34);}
li {line-height: 17px;}
a {text-decoration: none; color: rgb(17, 85, 204); cursor: pointer;}
a:visited {color: rgb(102, 17, 204);}
a:active {color: rgb(209, 72, 54);}
iframe {border: 0px none;}
strong {font-weight: bold; color: rgb(34, 34, 34);}
em {font-style: italic;}
input[type=3D"text"] ,input[type=3D"password"] ,textarea ,.editable ,body {=
border-width: 1px; border-style: solid; border-color: rgb(192, 192, 192) rg=
b(217, 217, 217) rgb(217, 217, 217); -moz-border-top-colors: none; -moz-bor=
der-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-c=
olors: none; border-image: none; vertical-align: top; box-sizing: border-bo=
x; border-radius: 1px;}
input[type=3D"text"] ,input[type=3D"password"] {background-color: rgb(255, =
255, 255); color: rgb(34, 34, 34); display: inline-block; height: 29px; lin=
e-height: 27px; padding-left: 8px;}
textarea ,.editable ,body {padding: 5px;}
input[type=3D"text"]:hover ,input[type=3D"password"]:hover ,textarea:hover =
,.editable:hover {border-width: 1px; border-style: solid; border-color: rgb=
(160, 160, 160) rgb(185, 185, 185) rgb(185, 185, 185); -moz-border-top-colo=
rs: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; =
-moz-border-left-colors: none; border-image: none; box-shadow: 0px 1px 2px =
rgba(0, 0, 0, 0.1) inset;}
input[type=3D"text"]:focus ,input[type=3D"password"]:focus ,textarea:focus =
,.editable:focus {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset; outline=
: medium none; border: 1px solid rgb(77, 144, 254);}
input[disabled] ,input[disabled]:hover ,textarea[disabled] ,textarea[disabl=
ed]:hover {border-width: 1px; border-style: solid; border-color: rgb(192, 1=
92, 192) rgb(217, 217, 217) rgb(217, 217, 217); -moz-border-top-colors: non=
e; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-bo=
rder-left-colors: none; border-image: none; box-shadow: none;}
..F0XO1GC-b-V ,.F0XO1GC-b-V:hover ,.F0XO1GC-b-V:focus {border: 1px solid rgb=
(221, 75, 57) !important;}
..F0XO1GC-b-R {color: rgb(221, 75, 57);}
..F0XO1GC-b-Hb textarea ,.F0XO1GC-b-Hb input[type=3D"text"] {width: 100%; ma=
x-width: 600px;}
..F0XO1GC-b-Hb textarea {height: 100px;}
..F0XO1GC-b-Jb:first-child {border-top: medium none;}
..F0XO1GC-b-Jb:last-child {border-bottom: 1px solid rgb(235, 235, 235);}
..F0XO1GC-b-Jb {border-top: 1px solid rgb(235, 235, 235); padding: 20px 0px;=
clear: both;}
..F0XO1GC-b-N .F0XO1GC-b-Jb {padding: 12px 0px;}
..F0XO1GC-b-O .F0XO1GC-b-Jb ,body .F0XO1GC-b-Jb {padding: 7px 0px;}
..F0XO1GC-b-Jb p {line-height: 13px;}
..F0XO1GC-b-Ib {padding-bottom: 0px; border: medium none;}
..F0XO1GC-b-Fb {display: block; float: left; width: 185px; font-weight: bold=
;}
..F0XO1GC-b-Fb a {font-size: 11px;}
..F0XO1GC-b-Gb {font-size: 11px; color: rgb(102, 102, 102); font-weight: nor=
mal;}
..F0XO1GC-b-Eb {margin-left: 210px;}
#gbqfq {border: medium none !important; box-shadow: none !important; line-h=
eight: normal !important;}
..F0XO1GC-b-w {position: absolute; width: 100%; text-align: center; height: =
0px;}
..F0XO1GC-b-w .gux-confirm-panel-c {display: inline-block; box-shadow: 0px 2=
px 4px rgba(0, 0, 0, 0.2);}
..gux-confirm-panel-r1 ,.gux-confirm-panel-r2 ,.gux-confirm-panel-r3 ,.gux-c=
onfirm-panel-r4 {display: none;}
..gux-confirm-panel-c {padding: 7px 16px !important; background: rgb(249, 23=
7, 190) none repeat scroll 0% 0% !important; border: 1px solid rgb(240, 195=
, 109); border-radius: 2px; line-height: 16px; font-size: 11px; position: r=
elative;}
..gux-confirm-panel-c a ,.gux-confirm-panel-c a:visited {color: rgb(51, 51, =
51); text-decoration: underline;}
..gux-confirm-panel-c a:hover {color: rgb(32, 32, 32);}
..gux-confirm-panel-message {color: inherit !important; font-weight: inherit=
!important;}
..F0XO1GC-b-y {text-align: center; padding: 16px;}
..F0XO1GC-b-y .gux-confirm-panel-c {display: inline-block;}
..F0XO1GC-b-o {position: relative; overflow: hidden; height: 58px; border-bo=
ttom: 1px solid rgb(235, 235, 235);}
..F0XO1GC-b-O .F0XO1GC-b-o ,body .F0XO1GC-b-o {min-height: 44px; height: 44p=
x;}
..F0XO1GC-b-p {font-size: 20px; position: absolute; left: 44px; top: 18px;}
..F0XO1GC-b-N .F0XO1GC-b-p {left: 28px;}
..F0XO1GC-b-O .F0XO1GC-b-p ,body .F0XO1GC-b-p {font-size: 16px; left: 16px; =
top: 11px;}
..F0XO1GC-b-dc .F0XO1GC-b-p ,body .F0XO1GC-b-p {left: 30px;}
..F0XO1GC-b-p ,.F0XO1GC-b-p a ,.F0XO1GC-b-p a:hover ,.F0XO1GC-b-p a:visited =
{color: rgb(221, 75, 57);}
..F0XO1GC-b-n {position: relative; font-size: 20px; font-weight: normal; col=
or: rgb(34, 34, 34); white-space: nowrap; overflow: hidden; margin-top: 14p=
x; min-height: 30px; margin-right: 44px;}
..F0XO1GC-b-N .F0XO1GC-b-n {margin-right: 28px;}
..F0XO1GC-b-O .F0XO1GC-b-n ,body .F0XO1GC-b-n {margin-top: 8px; margin-right=
: 16px;}
..F0XO1GC-b-dc .F0XO1GC-b-n ,body .F0XO1GC-b-n {margin-right: 30px;}
..F0XO1GC-b-m {position: absolute; left: 50px; top: 40px; font-size: 10px; p=
adding: 1px;}
..F0XO1GC-b-X {color: rgb(102, 102, 102);}
..F0XO1GC-b-W {background-color: rgb(249, 237, 190); border-radius: 6px;}
..F0XO1GC-b-W a {color: rgb(34, 34, 34); padding: 7px;}
..F0XO1GC-b-N .F0XO1GC-b-m {left: 34px;}
..F0XO1GC-b-O .F0XO1GC-b-m ,body .F0XO1GC-b-m {font-size: 8px; left: 21px; t=
op: 31px;}
..F0XO1GC-b-dc .F0XO1GC-b-m ,body .F0XO1GC-b-m {left: 36px;}
..F0XO1GC-b-Yb {display: inline-block; font-size: 16px; line-height: 24px; f=
ont-weight: normal; color: rgb(34, 34, 34);}
..F0XO1GC-b-Yb:focus {outline: medium none;}
..F0XO1GC-b-xb {height: 16px; margin-top: 4px;}
..F0XO1GC-b-yb {margin-right: 10px;}
..F0XO1GC-b-Rb {height: 32px; position: relative;}
..F0XO1GC-b-E {padding: 16px 44px 16px 0px;}
..F0XO1GC-b-N .F0XO1GC-b-E {padding: 16px 28px 16px 0px;}
..F0XO1GC-b-O .F0XO1GC-b-E ,body .F0XO1GC-b-E {padding: 7px 16px 7px 0px;}
..F0XO1GC-b-dc .F0XO1GC-b-E ,body .F0XO1GC-b-E {padding-right: 30px;}
..F0XO1GC-b-t {font-weight: bold; white-space: nowrap; margin-right: 4px; ve=
rtical-align: middle;}
..F0XO1GC-b-Zb {display: inline-block; width: 17px; z-index: 10; cursor: poi=
nter; text-align: center; position: relative;}
..F0XO1GC-b-j {display: inline-block;}
..F0XO1GC-b-Y {cursor: pointer; position: absolute; right: 5px; top: 5px;}
..F0XO1GC-b-Bb {font-size: 11px; color: rgb(102, 102, 102);}
..F0XO1GC-b-Cb {color: rgb(102, 102, 102);}
..F0XO1GC-b-jb ,.F0XO1GC-b-Mb ,.F0XO1GC-b-sb {color: rgb(17, 85, 204); text-=
decoration: none; cursor: pointer; white-space: nowrap;}
..F0XO1GC-b-Mb {font-size: 11px;}
..F0XO1GC-b-sb {padding-left: 8px;}
..F0XO1GC-b-wb[role=3D"listbox"] {z-index: 10000;}
..F0XO1GC-b-k {padding-right: 18px;}
..F0XO1GC-b-nb {font-weight: bold; cursor: pointer;}
#gbar ,#guser {padding-top: 4px !important;}
#gbar {padding-left: 8px;}
#guser {padding-right: 5px;}
..gwt-PopupGlass ,.gwt-PopupPanelGlass ,.modal-dialog-bg {background-color: =
rgb(255, 255, 255); opacity: 0.75; z-index: 1020; position: absolute; top: =
0px; bottom: 0px; left: 0px; right: 0px;}
..gwt-PopupPanel ,.gwt-SuggestBoxPopup ,.modal-dialog ,.F0XO1GC-b-i {z-index=
: 1021;}
..gwt-SuggestBoxPopup ,.gwt-PopupPanel ,.modal-dialog {background: rgb(255, =
255, 255) none repeat scroll 0% 0%; transition: opacity 0.218s ease 0s;}
..gwt-SuggestBoxPopup ,.F0XO1GC-b-i {min-width: 384px; padding: 0px; box-sha=
dow: 0px 2px 4px rgba(0, 0, 0, 0.2);}
..gwt-PopupPanel ,.modal-dialog {box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2)=
;}
..gwt-SuggestBoxPopup ,.gwt-PopupPanel ,.modal-dialog ,.F0XO1GC-b-i {outline=
: medium none; border: 1px solid rgb(204, 204, 204);}
..gwt-SuggestBoxPopup table {width: 100%;}
..gwt-SuggestBoxPopup .item {font-size: 13px; line-height: 30px; color: rgb(=
51, 51, 51); padding: 2px 44px 2px 16px;}
..gwt-SuggestBoxPopup .item-selected {background-color: rgb(238, 238, 238);}
..gwt-SuggestBoxPopup .menuSeparatorInner {height: 1px; background-color: rg=
b(235, 235, 235);}
..gux-comboPopup {z-index: 1022;}
..F0XO1GC-b-a {margin-right: 1em; cursor: pointer; padding: 4px 5px 4px 0px;=
display: inline-block; vertical-align: middle; color: rgb(102, 102, 102);}
..F0XO1GC-b-e {cursor: pointer; padding: 4px 5px 4px 0px; display: inline-bl=
ock; vertical-align: middle; color: rgb(102, 102, 102);}
..F0XO1GC-b-a:hover ,.F0XO1GC-b-e:hover {color: rgb(51, 51, 51);}
..F0XO1GC-b-a span ,.F0XO1GC-b-e span {white-space: nowrap; vertical-align: =
middle;}
..F0XO1GC-b-c {vertical-align: middle; margin-right: 2px; float: left; posit=
ion: relative; top: -2px; opacity: 0.667;}
..F0XO1GC-b-a:hover .F0XO1GC-b-c ,.F0XO1GC-b-e:hover .F0XO1GC-b-c {opacity: =
1;}
..F0XO1GC-b-d {padding-right: 1em;}
..F0XO1GC-b-b ,.F0XO1GC-b-b span {text-decoration: none; color: rgb(119, 119=
, 119);}
..F0XO1GC-b-Lb {height: 16px; width: 14px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCA=
YAAAAmlE46AAAAlklEQVR42mNQVFRcoKik+J8kDNTDQLImKKaaxgtKSkoNIAxkfwBhJP4FnBpBC=
higAKYBmU99jcDQ2qCgouCgoKBgAHMeGh9v4HwAKQQZgsZfgFejgrJCgIKSQgEKX1khgWbRQbxG=
sDOUFQ9A4w1VAUgcCwbpgYU2A1Qzsl8RkvgAksYPoABhIBbAnAsKegZSADjySdAEAJYO2XLdKlu=
NAAAAAElFTkSuQmCC") no-repeat scroll 0px 0px;}
..F0XO1GC-b-Db > a .F0XO1GC-b-Lb ,body > a .F0XO1GC-b-Lb {height: 16px; widt=
h: 14px; overflow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png=
;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAAkUlEQVR42mO4722xAIj=
/k4gXMJChCYyppvHCfR+LBjD2tvgAxgj+BdwagQoYoACmAYVPfY3elhuAChzue1kZwJ2HyscbOB=
/ACkGGoPBRow1To69lAFBTAQrfyyKBZtFBgkaQM7wsDkDjDVUBSBw7TmCABzdEM7ImhCQ+gKTxA=
yhAGIgFcOcCg56BFACONxI0AQA7poY7kpopQwAAAABJRU5ErkJggg=3D=3D") no-repeat scr=
oll 0px 0px;}
..F0XO1GC-b-T {height: 13px; width: 13px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/gif;base64,R0lGODlhDQANAKIAAP///+/v7+vr68rKyr6=
+vpqammVlZQAAACH5BAEHAAMALAAAAAANAA0AAAM2ODpU/oWsUQK4N5RZrvkGsC0d9onNYwKhY4=
le7GBdiIml+GLCfKWQSO42UgxpnN2lNwFCJIsEADs=3D") no-repeat scroll 0px 0px; di=
splay: inline-block; margin-left: 4px;}
..gwt-HintingTextBox-hinting {color: rgb(136, 136, 136);}
..F0XO1GC-b-ab {color: rgb(170, 170, 170) !important;}
..F0XO1GC-b-tb {white-space: nowrap; display: inline;}
..F0XO1GC-b-U {color: red; vertical-align: baseline; font-size: 0.83em; posi=
tion: relative; top: -0.4em;}
..F0XO1GC-b-Kb {border: 0px none; overflow: hidden;}
..F0XO1GC-b-K {position: relative; top: -1px; border-style: solid dashed das=
hed; border-color: rgb(51, 102, 204) transparent transparent; display: inli=
ne-block; font-size: 0px; height: 0px; line-height: 0; width: 0px; border-w=
idth: 3px 3px 0px; padding-top: 1px; left: 4px;}
..F0XO1GC-b-x {text-align: center;}
..F0XO1GC-b-bc {width: 90%; left: 5% !important; z-index: 1020;}
..F0XO1GC-b-cc {color: rgb(255, 255, 255); background-color: rgb(0, 0, 0); o=
pacity: 0.9; border-radius: 10px; padding: 1em; width: 100%;}
..F0XO1GC-b-Qb {white-space: nowrap; padding: 0px 2px; font-size: 11px;}
..F0XO1GC-b-Qb img {position: relative; top: 1px; right: 2px; vertical-align=
: bottom;}
..F0XO1GC-b-l ,.F0XO1GC-b-qb {color: rgb(64, 178, 91);}
..F0XO1GC-b-L {color: rgb(238, 68, 68);}
..F0XO1GC-b-r {color: rgb(238, 68, 68); font-size: 13px;}
..F0XO1GC-b-s {font-size: 13px; padding-left: 2em;}
..F0XO1GC-b-S ,.F0XO1GC-b-fb ,.F0XO1GC-b-mb {color: rgb(238, 68, 68);}
..F0XO1GC-b-lb {display: inline-block;}
..F0XO1GC-b-lb img {vertical-align: bottom;}
..F0XO1GC-b-eb {border-top: 1px solid rgb(235, 235, 235); margin-top: 9px; m=
argin-bottom: 10px;}
..gux-comboPopup ,.ac-renderer {transition: opacity 0.218s ease 0s; box-shad=
ow: 0px 2px 4px rgba(0, 0, 0, 0.2);}
..gux-dropdown-c ,.ac-renderer {background-color: rgb(255, 255, 255); outlin=
e: 1px solid rgba(0, 0, 0, 0.2); padding: 6px 0px; white-space: nowrap;}
..gux-dropdown-c {box-shadow: none;}
..ac-renderer {position: absolute;}
..F0XO1GC-b-gb {padding-left: 32px !important;}
..gux-dropdown-c ,.ac-renderer {border: 1px solid rgb(204, 204, 204);}
..gux-combo-item ,.ac-renderer > div {display: block; padding: 6px 44px 6px =
16px; position: relative; color: rgb(51, 51, 51); font-size: 13px; font-wei=
ght: normal; cursor: pointer; line-height: 17px; transition: background 0.1=
3s ease 0s;}
..F0XO1GC-b-N .gux-combo-item ,.F0XO1GC-b-N .ac-renderer > div {padding: 4px=
28px 4px 16px;}
..F0XO1GC-b-O .gux-combo-item ,.F0XO1GC-b-O .ac-renderer > div ,body .gux-co=
mbo-item ,body .ac-renderer > div {padding: 2px 16px;}
..F0XO1GC-b-dc .gux-combo-item ,.F0XO1GC-b-dc .ac-render > div ,body .gux-co=
mbo-item ,body .ac-render > div {padding-right: 30px;}
..gux-combo-item:focus {outline: medium none !important;}
..gux-combo-item img {opacity: 0.667;}
..gux-combo-item:hover img {opacity: 1;}
..gux-combo-item-selected ,.gux-combo-item-selection ,.ac-active {background=
-color: rgb(241, 241, 241); color: rgb(34, 34, 34); outline: medium none !i=
mportant;}
..gux-combo-item-separator {border-top: 1px solid rgb(235, 235, 235); margin=
-top: 6px; margin-bottom: 6px;}
..gux-combo-item-disabled {color: rgb(153, 153, 153);}
..gux-combo-item-disabled img {opacity: 0.667;}
..F0XO1GC-b-J {overflow: hidden; background: rgba(0, 0, 0, 0) url("data:imag=
e/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAHCAYAAAAvZezQAAAAIklEQVR42mOIjI=
z8z4AMQAIogjABuCCyAFgQpwoUM5AtAQDYECCh1fwQRAAAAABJRU5ErkJggg=3D=3D") no-rep=
eat scroll 0px 0px; display: inline-block; width: 5px; height: 7px; transit=
ion: all 0.218s ease 0s; transform: rotate(90deg); opacity: 0.8;}
..F0XO1GC-b-Db .F0XO1GC-b-J ,body .F0XO1GC-b-J {height: 7px; width: 4px; ove=
rflow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png;base64,iVBO=
Rw0KGgoAAAANSUhEUgAAAAQAAAAHCAYAAAAvZezQAAAAIklEQVR42mO46235nwEZgARQBGECcEF=
kAbAgThUoZiBbAgAyXiYBmRq/2AAAAABJRU5ErkJggg=3D=3D") no-repeat scroll 0px 0p=
x;}
..F0XO1GC-b-C .F0XO1GC-b-J {transform: rotate(0deg);}
..F0XO1GC-b-C .F0XO1GC-b-J {transform: rotate(0deg);}
..F0XO1GC-b-C .F0XO1GC-b-J {transform: rotate(0deg);}
..F0XO1GC-b-C .F0XO1GC-b-J { }
..F0XO1GC-b-F {overflow-y: scroll !important;}
..F0XO1GC-b-G {padding-right: 28px;}
..F0XO1GC-b-N .F0XO1GC-b-G {padding-right: 12px;}
..F0XO1GC-b-O .F0XO1GC-b-G ,body .F0XO1GC-b-G {padding-right: 0px;}
..F0XO1GC-b-dc .F0XO1GC-b-G ,body .F0XO1GC-b-G {padding-right: 14px;}
..F0XO1GC-b-ob {padding: 16px 28px 16px 0px;}
..F0XO1GC-b-N .F0XO1GC-b-ob {padding: 16px 12px 16px 0px;}
..F0XO1GC-b-O .F0XO1GC-b-ob ,body .F0XO1GC-b-ob {padding: 7px 0px;}
..F0XO1GC-b-v {position: absolute; right: 44px; top: 3px; font-size: 11px; c=
olor: rgb(136, 136, 136);}
..F0XO1GC-b-v a ,.F0XO1GC-b-v a:visited {color: rgb(136, 170, 238);}
..F0XO1GC-b-v a:hover {color: rgb(17, 85, 204);}
..F0XO1GC-b-Ab {position: relative;}
..F0XO1GC-b-Nb ,.F0XO1GC-b-Nb .F0XO1GC-b-q {background-color: rgb(245, 245, =
245);}
..gwt-TabBar {border-bottom: 1px solid rgb(204, 204, 204);}
..gwt-TabBarItem {min-width: 54px; text-align: center; color: rgb(102, 102, =
102); font-size: 11px; font-weight: bold; height: 27px; padding: 0px 8px; l=
ine-height: 27px; margin-bottom: -1px; border: 1px solid transparent; curso=
r: default; border-top-left-radius: 2px; border-top-right-radius: 2px;}
..gwt-TabBarItem:hover {color: rgb(34, 34, 34);}
..gwt-TabBarItem:focus {outline: medium none; color: rgb(51, 51, 51);}
..gwt-TabBarItem:active {color: rgb(51, 51, 51);}
..gwt-TabBarItem-selected {color: rgb(32, 32, 32); background-color: rgb(255=
, 255, 255); border-width: 1px; border-style: solid; border-color: rgb(204,=
204, 204) rgb(204, 204, 204) rgb(255, 255, 255); -moz-border-top-colors: n=
one; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-=
border-left-colors: none; border-image: none;}
..gwt-TabBarFirst-wrapper {display: none;}
..gwt-ScrollTable td {height: 40px; line-height: 40px; padding: 0px 8px; bor=
der-bottom: 1px solid rgb(235, 235, 234); overflow: hidden; text-overflow: =
ellipsis; white-space: nowrap;}
..F0XO1GC-b-N .gwt-ScrollTable td {height: 34px; line-height: 34px;}
..F0XO1GC-b-O .gwt-ScrollTable td ,body .gwt-ScrollTable td {height: 30px; l=
ine-height: 30px;}
..gwt-ScrollTable .headerTable td {color: rgb(102, 102, 102); cursor: defaul=
t; border-bottom: 1px solid rgb(204, 204, 204);}
..gwt-ScrollTable .headerTable td:hover {color: rgb(34, 34, 34);}
..gwt-ScrollTable .headerTable td:active {color: rgb(51, 51, 51);}
..F0XO1GC-b-P {padding: 12px;}
..F0XO1GC-b-zb {position: absolute; left: -10000px;}
..F0XO1GC-b-u {display: block;}
..F0XO1GC-b-kb {height: 16px; width: 16px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/gif;base64,R0lGODlhEAAQAPeQANHR0fX19aampvDw8O=
/v7+zs7CgoKGBgYPf395iYmMPDw4CAgDMzM8LCwtbW1vv7+4SEhIWFhbe3t6Ojo25ubltbW+vr6=
+fn51paWjs7O0VFRXx8fKKiopubm7m5uUNDQ97e3pKSkqqqqvHx8W1tbc3NzTk5OYyMjEtLS4+P=
jzAwMKSkpO3t7ebm5ri4uG9vb5qamlhYWAkJCcjIyMzMzBgYGAUFBUpKStPT0zExMWRkZLq6ur6=
+vq+vr09PTzY2NgEBAfr6+vT09BkZGR0dHUdHR1ZWVmdnZ8/Pz9nZ2RYWFlNTU7a2tpmZma2trZ=
GRkUZGRsTExOPj4729vaioqAICAk1NTeDg4KmpqaGhoenp6SkpKcXFxR4eHtzc3EhISKCgoO7u7=
rKysl5eXp6eni8vL7W1tSMjI1JSUsfHx3p6eioqKiEhIeHh4T09PVBQUOXl5bOzs0lJSc7OzsrK=
ymZmZvPz88vLy2hoaEFBQT8/P3t7e9/f3z4+PpeXlx8fHxAQEAgICMbGxqysrOrq6jo6OvLy8tv=
b20BAQFVVVdTU1OLi4qurq8HBwf39/QAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAACQACwAAAAA=
EAAQAAAIfgAhCRzogYGJBgMTQoqy4A4kA48eZVAoUFCZR3kOqYioAZKjAY4GRogoI4GCDyhKQAo=
ggMBABz6GjGlBMUDIgYR6FKCoEEGHCQ94KkwRkYNQSAAaQRr5KMHRpJAKnAgx4qjVq44CCLWZkI=
AArQpZuhz48SYAAALLHm2k9OrVgAAh+QQJAACQACwAAAAAEAAQAAAIfgAhCRzoAMMBEAMTKqzw6=
BGFIGCWCAgyMA0FGoZINNzwRMkjJVgGxnj0RsKFBRAsGGj46MBAMVDMWEiYZQ2QLRIGXsBSQCEk=
EVZ2+BzqsxEAogIBNBJoFCkkpU6jShXoKADRAI4SEhBgVWEAAQQSOhqQ9elRSGPLDm20dCrSgAA=
h+QQJAACQACwAAAAAEAAQAAAIfQAhCRyIoMOEBwMTKkzx6BEHSA0WzEnoaIAjSBEaJqDz41EhRQ=
MJCAgAqcCJECP2VGkIY6Ajkgq9GKmBgY/Cm5C09GCBE6cHBiYaQGoEoCckAw0zDC3aU0VDDUYHK=
viAokTUni97BrgYcuTNAAIIULQoEADTilxxNmp0tW1AACH5BAkAAJAALAAAAAAQABAAAAh+ACEJ=
HEiwoEGBjRodFOhogCOBAABAYqHgBRKCBAQEKLiizyM8BB1tLCiFSpEpCwu2EFEgZUEHGA6AgNR=
I4sIKjx5RoGnzIImcG1wKvLAAggWhMHKsCDmS4BM2j7qIGJixqUADOR8dGNjwIaSIkLIQeXRGws=
KEAgcdceFVKMGAACH5BAkAAJAALAAAAAAQABAAAAh9ACEJHEiwoEGBjRodFOhogCOBAAAwdEiQg=
IAABgMIIEDQEcaDAR4uHElSIIIOEx5AaiRxYYpHjzisbHkwAswEJSEVOBFiRMkoL3B0/Ehwhp5A=
iIQKtIjRAwMTDdRUgdlkYMOHBmBmuILGRqJFB1XA1ADpihM4CxV8QFHCYEAAIfkECQAAkAAsAAA=
AABAAEAAACHsAIQkcSLCgQYGNGh0U6GiAI4EAADB0SJCAgAAGAwggQNARxoMBHi4cSfJgI4kjAS=
iEdJKkypILE+RYYdDODiEDYQx5ZEAAwTA8YtAYeOORUSgOMBwAMcHNozoDBdR4tEVCBaMUWsTRo=
WDgA0ZHJEAiYXQDzAsLIFgwGBAAIfkECQAAkAAsAAAAABAAEAAACH0AIQkcSLCgQYGNGh0U6GiA=
I4EAADB0SJCAgAAGAwggQNARxoMBHi4c6YGBiQYjBxp49CjDSAAKVbDU8FKhgg8oSqQkOOMFkp2=
QuPyQ8SVJRpGQILCU4QdBhwkPIGnkKDCJHBsVtKRgyQFSQ6SQ2jiRAikCywRAC5wIMcJgQAAh+Q=
QFAACQACwAAAAAEAAQAAAIfAAhCRxIsKBABGSWUHEEqVEjgwKbAHpERAAkAAAEOhrAUOCNRyCLF=
AwggMBAAX+AMHBhMEBHgSKsMIFI0AGGAyBoEqwAkoJOAA9JgNzw8+GFBRAs6Cw4wAWCpQMbGZkh=
pOVLSDEe+ZhJkKTJgVN08GBxMSOkjVcLOoTKNiAAOw=3D=3D") no-repeat scroll 0px 0px=
;}
..F0XO1GC-b-A {padding-left: 8px;}
..gux-combo-item .F0XO1GC-b-A {padding-left: 21px;}
..F0XO1GC-b-z {height: 21px; width: 21px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAY=
AAACpF6WWAAAAjElEQVR42mNgGAWDFUgCMTs1DTQH4klA7EwtA+2BeAkQR1HLwEAgngnEZUDMRK=
lhrECcDjUwhxqu4wbiSqiBpVALSAJTgNgfiFmgfDEgboYaWAfEnOS4yhFqQBUQWwBxH5QPMpiXE=
u+mQg2C4U4gFqI0DEFebIIa2APE0tRKOrJQAxWonQ05R0uiYQgAWowSH34q/8EAAAAASUVORK5C=
YII=3D") no-repeat scroll 0px 0px; position: relative; display: inline-bloc=
k; top: 5px; left: 3px;}
..gux-combo-item .F0XO1GC-b-z {top: -4px; left: -8px; vertical-align: bottom=
; height: 15px;}
..F0XO1GC-b-B {overflow-y: hidden !important;}
..F0XO1GC-b-B:hover {overflow-y: auto;}
input.F0XO1GC-b-hb {border: 1px solid rgb(221, 75, 57) !important; color: r=
gb(221, 75, 57) !important;}
..F0XO1GC-b-Q ,.F0XO1GC-b-Q strong {color: rgb(221, 75, 57);}
..F0XO1GC-b-f {cursor: pointer;}
..F0XO1GC-b-f img {opacity: 0.667; margin: 12px 6px 11px;}
..F0XO1GC-b-f:hover img {opacity: 1;}
..F0XO1GC-b-i .popupContent {margin: 12px;}
..F0XO1GC-b-i label {display: block; margin-bottom: 4px; color: rgb(102, 102=
, 102);}
..F0XO1GC-b-i input[type=3D"text"] {height: 24px; line-height: 24px; width: =
99%;}
..F0XO1GC-b-g {position: absolute; right: 14px; bottom: 18px;}
..F0XO1GC-b-h {margin-bottom: 8px;}
..datePicker {padding: 16px; outline: 1px solid rgba(0, 0, 0, 0.2); opacity:=
0; width: 144px; position: absolute; left: -9999px; top: 6px; z-index: 3; =
background: rgb(255, 255, 255) none repeat scroll 0% 0%; box-shadow: 0px 2p=
x 4px rgba(0, 0, 0, 0.2); border-radius: 2px; transition: all 0.13s linear =
0s;}
..dateBoxPopup {background-color: white; z-index: 1023;}
..gwt-DatePicker {border: 1px solid rgb(162, 187, 221); cursor: default;}
..gwt-DatePicker td ,.datePickerMonthSelector td:focus {outline: medium none=
;}
..datePickerDays {width: 100%; background: white none repeat scroll 0% 0%;}
..datePickerWeekendLabel ,.datePickerWeekdayLabel {min-width: 20px; width: 2=
0px; height: 20px; line-height: 20px; padding-left: 3px; padding-right: 3px=
; font-size: 11px; text-align: center; color: rgb(102, 102, 102); cursor: d=
efault;}
..datePickerDay {min-width: 20px; width: 20px; height: 20px; line-height: 20=
px; padding-left: 3px; padding-right: 3px; font-size: 11px; text-align: cen=
ter; color: rgb(102, 102, 102); cursor: pointer;}
..datePickerDayIsToday {border: 1px solid black;}
..datePickerDayIsFiller {color: rgb(204, 204, 204);}
..datePickerDayIsValue {background: rgb(170, 204, 238) none repeat scroll 0%=
0%;}
..datePickerDayIsDisabled {color: rgb(170, 170, 170); font-style: italic;}
..datePickerDayIsHighlighted ,.datePickerPreviousButton-up-hovering ,.datePi=
ckerNextButton-up-hovering {background: rgb(238, 238, 238) none repeat scro=
ll 0% 0%; color: rgb(51, 51, 51);}
..datePickerDayIsValueAndHighlighted {background: rgb(187, 221, 217) none re=
peat scroll 0% 0%;}
..datePickerMonthSelector {width: 100%;}
td.datePickerMonth {text-align: center; white-space: nowrap; font-size: 13p=
x; color: rgb(102, 102, 102); padding-left: 4px;}
..datePickerPreviousButton ,.datePickerNextButton {font-size: 120%; line-hei=
ght: 1em; cursor: pointer; padding: 0px 4px;}
..F0XO1GC-b-pb { }
..F0XO1GC-b-rb {position: absolute; left: -10000px; top: auto; width: 1px; h=
eight: 1px; overflow: hidden;}
..iph-dialog {z-index: 1010 !important;}
..F0XO1GC-b-H {background-color: rgb(255, 255, 255);}
..F0XO1GC-b-Vb {z-index: 1999;}
..F0XO1GC-b-Vb > div {background-color: rgb(125, 164, 253) !important; borde=
r: 1px solid rgb(125, 164, 253) !important;}
..F0XO1GC-b-bb {height: 16px; width: 16px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCA=
IAAACQkWg2AAAAqklEQVQoz2P4TyJgoIKGCZu2IyN8GiAqfqICNG0MyKohKp5+Q0FAcPXlW7ged=
A1AFXuuPU2YsB2Cbr37AhQ5+fAxuga4aiACqlt+/BaQUb/8GJANETx46w5ED0LDvbfvkV0CNBtZ=
w6azF9E13HjxElk1xElwESwaTtx/BJdGU41dw56rN9HCB58GqKvevMNqA1w1ugagBBBhmo1dAzy=
mISrgCGdMk5OWiAEA3zqvClm2uDoAAAAASUVORK5CYII=3D") no-repeat scroll 0px 0px;=
display: inline-block; position: relative; top: 3px; left: 3px;}
..F0XO1GC-b-db {background-color: rgba(255, 255, 255, 0); outline-style: non=
e; box-shadow: 0px 0px rgba(255, 255, 255, 0);}
..F0XO1GC-b-cb {overflow: hidden; padding: 10px; background-color: rgb(249, =
237, 190); border: 1px solid rgb(240, 195, 109); border-radius: 10px;}
..F0XO1GC-b-vb {margin-right: 15px;}
..F0XO1GC-b-Ub {font-weight: bold; color: rgb(119, 119, 119); margin: 10px;}
..F0XO1GC-b-ub {font-style: italic;}
..F0XO1GC-d-C {cursor: pointer; font-size: 13px; display: block;}
..F0XO1GC-d-x {position: relative; margin: 0px;}
..F0XO1GC-d-y {padding: 16px 0px 16px 28px;}
..F0XO1GC-b-N .F0XO1GC-d-y {padding: 16px 0px 16px 12px;}
..F0XO1GC-b-O .F0XO1GC-d-y ,body .F0XO1GC-d-y {padding: 7px 0px;}
..F0XO1GC-b-dc .F0XO1GC-d-y ,body .F0XO1GC-d-y {padding-left: 14px;}
..F0XO1GC-d-w {font-size: 13px; padding: 0px; margin: 0px; position: relativ=
e;}
..F0XO1GC-d-b {padding-bottom: 5px;}
..F0XO1GC-d-w div a {display: block; overflow: hidden; white-space: nowrap; =
text-decoration: none; color: rgb(51, 51, 51); cursor: pointer; font-size: =
13px; line-height: 30px; padding-left: 16px;}
..F0XO1GC-d-C a ,.F0XO1GC-d-C a:visited {display: block; overflow: hidden; p=
osition: relative; white-space: nowrap; text-decoration: none; color: rgb(5=
1, 51, 51); cursor: pointer; font-size: 13px; line-height: 30px; padding-le=
ft: 16px;}
..F0XO1GC-b-N .F0XO1GC-d-w div a ,.F0XO1GC-b-N .F0XO1GC-d-C a {line-height: =
24px;}
..F0XO1GC-b-O .F0XO1GC-d-w div a ,.F0XO1GC-b-O .F0XO1GC-d-C a ,body .F0XO1GC=
-d-w div a ,body .F0XO1GC-d-C a {line-height: 20px;}
..F0XO1GC-d-B ,.F0XO1GC-d-B .F0XO1GC-d-B {margin-left: 12px;}
..F0XO1GC-d-B .F0XO1GC-d-m a {padding-left: 4px;}
..F0XO1GC-d-w div a {position: relative;}
..F0XO1GC-d-d {position: absolute; top: 5px; bottom: 5px; left: 0px; right: =
0px;}
..F0XO1GC-d-w div.F0XO1GC-d-m a:hover ,.F0XO1GC-d-w div.F0XO1GC-d-c a:hover =
{color: rgb(34, 34, 34); background-color: rgb(238, 238, 238);}
..F0XO1GC-b-Db > div > a span ,.F0XO1GC-b-Db > a span ,body > div > a span ,=
body > a span {color: rgb(209, 72, 54);}
..F0XO1GC-b-Z {background-color: rgb(238, 238, 238);}
..F0XO1GC-d-w div.F0XO1GC-d-c {cursor: default;}
..F0XO1GC-b-C .F0XO1GC-d-B {display: none;}
..F0XO1GC-d-p {display: block; overflow: hidden; text-overflow: ellipsis; pa=
dding-left: 12px;}
..F0XO1GC-d-p > h3 {display: inline;}
..F0XO1GC-d-p > * {font-size: 13px;}
..F0XO1GC-d-c > a .F0XO1GC-d-p {cursor: default;}
..F0XO1GC-d-w div.F0XO1GC-d-t > a .F0XO1GC-d-p {padding-left: 0px;}
..F0XO1GC-d-B div.F0XO1GC-d-t > a .F0XO1GC-d-p {padding-left: 4px;}
..F0XO1GC-d-g {vertical-align: middle; line-height: 1px; cursor: default;}
..F0XO1GC-d-g span {cursor: default;}
..F0XO1GC-d-D {display: inline-block; width: 17px; height: 20px; position: a=
bsolute; top: 4px; left: 0px; margin-left: -1px; z-index: 10; cursor: point=
er; text-align: center;}
..F0XO1GC-d-D:hover {background-color: rgb(238, 238, 238);}
..F0XO1GC-b-N .F0XO1GC-d-D {top: 2px;}
..F0XO1GC-b-O .F0XO1GC-d-D ,body .F0XO1GC-d-D {top: 0px;}
..F0XO1GC-d-e {height: 16px; width: 16px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAY=
AAAAf8/9hAAAAKUlEQVR42mNgoBQoKin+x4HfKygoGFBiAHGGEDCAIB41YNSA4WIApQAAAJwgHb=
r2Zo8AAAAASUVORK5CYII=3D") no-repeat scroll 0px 0px;}
..F0XO1GC-b-Db .F0XO1GC-d-e ,body .F0XO1GC-d-e {height: 16px; width: 16px; o=
verflow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png;base64,iV=
BORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAKklEQVR42mNgoBTc97b4jx2bv7/vZ=
WVAgQFEGoLfAMJ41IBRA4aLAZQCAIrl74OY+yI3AAAAAElFTkSuQmCC") no-repeat scroll =
0px 0px;}
..F0XO1GC-d-t .F0XO1GC-d-e {display: none;}
..F0XO1GC-d-t > div > a .F0XO1GC-d-p {padding-left: 0px;}
..F0XO1GC-d-z {height: 15px; width: 15px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAY=
AAAA71pVKAAAAsUlEQVR42q2SARHCMAxFKwEJ+RlCkIAEpCABCUiYBCRMQiXUQUlKAr1jWW93y9=
2/rV3z8pc0pZUgolPaE8x8B6OIqqno3hAkBxdPAPBsYmTbW0KAVayY8OoP6btBqj6jqmq1RHR3E=
CXH5M4ZnelyeLLaziPbq9+F/IiqDxvWuvobVVabZjV/Zw7MNNE1BniVXp+Zz74WwG3zwmhjmuwf=
tWIPHAL+gJJwKCDtDQfohHT9BkZLZOpNaW74AAAAAElFTkSuQmCC") no-repeat scroll 0px=
0px;}
..F0XO1GC-b-Db .F0XO1GC-d-z ,body .F0XO1GC-d-z {height: 15px; width: 15px; o=
verflow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png;base64,iV=
BORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAr0lEQVR42mNgwALuBzgIMJAC7vtYN=
Nz3tvgAxP+h+ANYjJBBQIUX4Bq8LRZA8QOo2AWcBkBt/H/fy+IAsiIQG2oIyIAFuGz9AMY4TIe5=
AJdm3CYju8zHwoHqmj+AnUbA2Vjl73tZTsBlO+EAg4QqLKoegJ0JceoDRJxbbrjvaxmAz4AFSAk=
EhheANcL4XhYJhFKaAxhD/QiyEcVAQgZghotFAlUNYCAVwA0AxhCIDwC5ScL3UWrGqQAAAABJRU=
5ErkJggg=3D=3D") no-repeat scroll 0px 0px;}
..F0XO1GC-d-i {position: absolute; top: 7px; opacity: 0.7; left: 4px;}
..F0XO1GC-b-N .F0XO1GC-d-i {top: 4px;}
..F0XO1GC-b-O .F0XO1GC-d-i ,body .F0XO1GC-d-i {top: 2px;}
..F0XO1GC-d-w div.F0XO1GC-d-m a:hover .F0XO1GC-d-i ,.F0XO1GC-d-f:hover .F0XO=
1GC-d-i ,.F0XO1GC-b-Db .F0XO1GC-d-i ,body .F0XO1GC-d-i {opacity: 1;}
..F0XO1GC-d-f .F0XO1GC-d-i {left: 16px;}
..F0XO1GC-d-m ,.F0XO1GC-d-c {position: relative;}
..F0XO1GC-d-q {padding-right: 20px;}
..F0XO1GC-d-n {display: block; float: right; position: relative; top: 7px; m=
argin-left: 3px; font-size: 11px; color: rgb(102, 102, 102) !important; bac=
kground-color: rgb(238, 238, 238); padding: 2px 3px; line-height: 12px; fon=
t-weight: normal;}
..F0XO1GC-b-N .F0XO1GC-d-n {top: 5px;}
..F0XO1GC-b-O .F0XO1GC-d-n ,body .F0XO1GC-d-n {top: 2px;}
..F0XO1GC-d-m a:hover .F0XO1GC-d-n ,.F0XO1GC-d-c a:hover .F0XO1GC-d-n {backg=
round-color: rgb(204, 204, 204); color: rgb(51, 51, 51) !important;}
..F0XO1GC-d-j {display: none;}
..F0XO1GC-d-m:hover .F0XO1GC-d-j ,.F0XO1GC-d-f:hover .F0XO1GC-d-j ,.F0XO1GC-=
d-a {display: inline;}
..F0XO1GC-d-m .F0XO1GC-d-v ,.F0XO1GC-d-c .F0XO1GC-d-v {top: 8px; right: 3px;=
z-index: 2; position: absolute; height: 13px; width: 13px; overflow: hidde=
n;}
..F0XO1GC-b-N .F0XO1GC-d-m .F0XO1GC-d-v ,.F0XO1GC-b-N .F0XO1GC-d-c .F0XO1GC-=
d-v {top: 6px;}
..F0XO1GC-b-O .F0XO1GC-d-m .F0XO1GC-d-v ,.F0XO1GC-b-O .F0XO1GC-d-c .F0XO1GC-=
d-v ,body .F0XO1GC-d-m .F0XO1GC-d-v ,body .F0XO1GC-d-c .F0XO1GC-d-v {top: 4=
px;}
..F0XO1GC-d-v input {border: 0px none; padding: 0px; outline: medium none;}
a.F0XO1GC-d-u {height: 13px; width: 13px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCA=
YAAABy6+R8AAAAN0lEQVR42mN49+7d/6dPnxKNQeoZQAxSAEj9UNJ05swZnBivTfg04HUeLg0E/=
YRNw1AJcnLSHgATt4m3KInFEAAAAABJRU5ErkJggg=3D=3D") no-repeat scroll 0px 0px;=
}
a.F0XO1GC-d-u:hover ,.F0XO1GC-d-a a.F0XO1GC-d-u {height: 13px; width: 13px;=
overflow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png;base64,=
iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAOklEQVR42mO4fv36/2PHjhGNQeo=
ZQIx3794RjUHqh5KmyMhInBivTfg04HUeLg0E/YRNw1AJcnLSHgBW6U4stsXoZgAAAABJRU5Erk=
Jggg=3D=3D") no-repeat scroll 0px 0px;}
a.F0XO1GC-d-u {display: inline-block; padding: 0px !important;}
..F0XO1GC-d-E {font-weight: bold;}
..F0XO1GC-d-r {padding: 4px 8px;}
..F0XO1GC-d-r div {background-color: rgb(249, 237, 190); border: 2px solid r=
gb(249, 237, 190); color: rgb(34, 34, 34); padding: 4px; line-height: 16px;=
border-radius: 6px; text-align: center;}
div.dragdrop-dropTarget-engage .F0XO1GC-d-g {border: 1px solid red;}
..dragdrop-flow-panel-positioner {display: block; height: 2px; background-co=
lor: rgb(34, 34, 34); vertical-align: baseline !important;}
..F0XO1GC-d-f {position: relative; outline-style: none;}
..dragdrop-dropTarget-engage > .F0XO1GC-d-f a {background-color: rgb(136, 13=
6, 136);}
..F0XO1GC-d-s div.dragdrop-dropTarget-engage {border: 2px solid rgb(34, 34, =
34);}
..F0XO1GC-d-l {outline-style: none; margin-bottom: 9px;}
..F0XO1GC-d-h {font-size: 11px; color: rgb(68, 68, 68); text-align: center; =
padding: 16px 0px 20px 16px;}
..F0XO1GC-d-h a {white-space: nowrap;}
..F0XO1GC-d-h a:visited {color: rgb(17, 85, 204);}
..F0XO1GC-d-F {background-color: rgb(250, 250, 210) !important;}
..F0XO1GC-d-k {border-top: 1px solid rgb(235, 235, 235); margin-top: 4px; ma=
rgin-bottom: 10px;}
..F0XO1GC-c-d {color: rgb(184, 184, 184);}
..F0XO1GC-c-a {color: rgb(17, 85, 204); text-decoration: none; cursor: point=
er; white-space: nowrap;}
..F0XO1GC-c-b ,.F0XO1GC-c-b:visited ,.F0XO1GC-c-b:focus {color: rgb(184, 184=
, 184); text-decoration: none; cursor: text; outline: medium none;}
..F0XO1GC-A-a {position: relative; top: 3px; height: 15px; width: 15px;}
..F0XO1GC-w-a {width: 100%; margin-right: 0px; height: 8px; position: absolu=
te; top: 0px; left: 0px; opacity: 0; border-top: 1px solid rgb(235, 235, 23=
5);}
..F0XO1GC-m-c {text-align: left; border-bottom: 1px solid rgb(153, 153, 153)=
; font-size: 150%; padding-bottom: 4px;}
..F0XO1GC-m-g .F0XO1GC-m-d {width: 100%;}
..F0XO1GC-m-d th {text-align: left; padding-top: 16px;}
..F0XO1GC-m-d .F0XO1GC-m-a {vertical-align: top;}
..F0XO1GC-m-d .F0XO1GC-m-e {text-align: right; font-weight: bold; white-spac=
e: nowrap; padding-right: 0.3em;}
..F0XO1GC-m-d .F0XO1GC-m-b {font-size: 70%;}
..F0XO1GC-m-d .F0XO1GC-m-f {text-align: left;}
..F0XO1GC-m-g .F0XO1GC-m-a {width: 50%;}
..F0XO1GC-m-g .F0XO1GC-m-e ,.F0XO1GC-m-g th {color: rgb(221, 221, 0);}
..F0XO1GC-m-g .F0XO1GC-m-b ,.F0XO1GC-m-g td {color: rgb(255, 255, 255);}
..F0XO1GC-m-g th {font-weight: bold; padding: 16px 4px 4px;}
..F0XO1GC-m-g td {padding: 4px;}
..F0XO1GC-n-a {cursor: pointer; font-size: 11px; font-weight: bold; text-ali=
gn: center; margin-right: 16px; white-space: nowrap; height: 27px; line-hei=
ght: 27px; min-width: 54px; outline: 0px none; padding: 0px 8px; border-rad=
ius: 2px; display: inline-block;}
..F0XO1GC-c-c .F0XO1GC-n-a {min-width: 26px !important; margin-right: 10px;}
..chrome-theme .F0XO1GC-n-a {border-radius: 3px; font-size: 12px; font-weigh=
t: 700; padding: 0px 17px; text-align: center; text-decoration: none !impor=
tant;}
..F0XO1GC-n-a:hover {border: 1px solid rgb(198, 198, 198); box-shadow: 0px 1=
px 1px rgba(0, 0, 0, 0.1);}
..chrome-theme .F0XO1GC-n-a:hover {box-shadow: none;}
..F0XO1GC-n-j {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..F0XO1GC-n-a img.F0XO1GC-n-d {vertical-align: middle; margin-top: -2px; opa=
city: 0.667;}
..F0XO1GC-n-j img.F0XO1GC-n-d ,.F0XO1GC-n-c img.F0XO1GC-n-d ,.F0XO1GC-n-a:ho=
ver img.F0XO1GC-n-d {opacity: 1;}
..F0XO1GC-n-h {min-width: 34px; padding: 0px 4px;}
..F0XO1GC-n-b {cursor: default; opacity: 0.5; pointer-events: none;}
..F0XO1GC-n-f {border-right-color: transparent; margin-right: 0px;}
..F0XO1GC-n-g {border-radius: 0px; margin-left: -1px; margin-right: -1px;}
..F0XO1GC-n-i {border-left-color: transparent; margin-left: 0px;}
..F0XO1GC-n-f {border-radius: 2px 0px 0px 2px;}
..F0XO1GC-n-f { }
..F0XO1GC-n-f {border-radius: 2px 0px 0px 2px;}
..F0XO1GC-n-i {border-radius: 0px 2px 2px 0px;}
..F0XO1GC-n-i { }
..F0XO1GC-n-i {border-radius: 0px 2px 2px 0px;}
..F0XO1GC-n-i {margin-left: -1px;}
..chrome-theme .F0XO1GC-n-f {border-radius: 3px 0px 0px 3px;}
..chrome-theme .F0XO1GC-n-f { }
..chrome-theme .F0XO1GC-n-f {border-radius: 3px 0px 0px 3px;}
..chrome-theme .F0XO1GC-n-i {border-radius: 0px 3px 3px 0px;}
..chrome-theme .F0XO1GC-n-i { }
..chrome-theme .F0XO1GC-n-i {border-radius: 0px 3px 3px 0px;}
..chrome-theme .F0XO1GC-n-i {margin-left: -1px;}
..jfk-button-standard {color: rgb(102, 102, 102); border: 1px solid rgba(0, =
0, 0, 0.1); background-color: rgb(245, 245, 245); background-image: -moz-li=
near-gradient(center top , rgb(245, 245, 245), rgb(241, 241, 241));}
..jfk-button-standard:hover {border: 1px solid rgb(198, 198, 198); color: rg=
b(51, 51, 51); background-color: rgb(248, 248, 248); background-image: -moz=
-linear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, 241));}
..jfk-button-standard:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) ins=
et;}
..jfk-button-standard:focus {outline: medium none; border: 1px solid rgb(77,=
144, 254); z-index: 4;}
..chrome-theme .jfk-button-standard:focus {border: 1px solid rgb(170, 170, 1=
70);}
..jfk-button-standard.F0XO1GC-n-j {background-color: rgb(238, 238, 238); bor=
der: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51); background-image=
: -moz-linear-gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224))=
;}
..jfk-button-standard.F0XO1GC-n-b {background: rgb(255, 255, 255) none repea=
t scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(184, 184,=
184);}
..F0XO1GC-k-b {height: 4px; width: 7px; overflow: hidden; background: rgba(0=
, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAA=
ABCxiV9AAAAG0lEQVR42mOIjIz8jwszgABOCRjAKYGsAJkPAKT/IKHcRfUJAAAAAElFTkSuQmCC=
") no-repeat scroll 0px 0px; display: inline-block; margin-left: 7px; margi=
n-bottom: 1px; opacity: 0.8;}
..F0XO1GC-k-c:hover .F0XO1GC-k-b {opacity: 1;}
..F0XO1GC-f-F ,.F0XO1GC-f-x {position: relative;}
..F0XO1GC-f-q {height: 68px; background-color: rgb(245, 245, 245); padding: =
0px 44px; vertical-align: middle; border-top: 1px solid rgb(229, 229, 229);=
border-bottom: 1px solid rgb(229, 229, 229); position: relative;}
..F0XO1GC-b-N .F0XO1GC-f-q {padding: 0px 28px;}
..F0XO1GC-b-O .F0XO1GC-f-q ,body .F0XO1GC-f-q {height: 44px; padding: 0px 16=
px;}
..F0XO1GC-b-dc .F0XO1GC-f-q ,body .F0XO1GC-f-q {padding-right: 30px; padding=
-left: 30px;}
..F0XO1GC-f-p {position: absolute; left: 44px;}
..F0XO1GC-b-N .F0XO1GC-f-p {left: 28px;}
..F0XO1GC-b-O .F0XO1GC-f-p ,body .F0XO1GC-f-p {left: 16px; height: 60px; top=
: -7px;}
..F0XO1GC-b-dc .F0XO1GC-f-p ,body .F0XO1GC-f-p {left: 30px;}
..F0XO1GC-f-D {height: 68px; position: absolute; left: 220px; right: 0px;}
..F0XO1GC-b-N .F0XO1GC-f-D {left: 204px;}
..F0XO1GC-b-O .F0XO1GC-f-D ,body .F0XO1GC-f-D {left: 176px; height: 44px;}
..F0XO1GC-b-dc .F0XO1GC-f-D ,body .F0XO1GC-f-D {left: 204px;}
..F0XO1GC-f-E {padding: 12px 8px;}
..F0XO1GC-f-G ,.F0XO1GC-f-G > * ,body > * {outline: medium none !important;}
..F0XO1GC-f-v {width: 198px; position: absolute; left: 0px;}
..F0XO1GC-f-l {margin-left: 220px;}
..F0XO1GC-f-l:focus {outline: medium none;}
..F0XO1GC-f-f {position: absolute; top: 7px; left: 244px; cursor: pointer; z=
-index: 2;}
..F0XO1GC-f-j .F0XO1GC-f-v {display: none;}
..F0XO1GC-f-j .F0XO1GC-f-e {margin-left: 24px !important;}
..F0XO1GC-f-j .F0XO1GC-f-d {margin-left: 220px !important;}
..F0XO1GC-f-j .F0XO1GC-f-f {left: 0px;}
..F0XO1GC-f-o .F0XO1GC-f-q ,.F0XO1GC-f-o .F0XO1GC-f-v ,.F0XO1GC-f-o .F0XO1GC=
-b-p {display: none;}
..F0XO1GC-f-o .F0XO1GC-f-l {margin-left: 24px !important;}
..F0XO1GC-f-o .F0XO1GC-b-o ,.F0XO1GC-f-o .F0XO1GC-b-G {padding-right: 8px;}
..F0XO1GC-f-o .F0XO1GC-f-x {position: relative;}
..F0XO1GC-f-o .F0XO1GC-f-x .F0XO1GC-f-l {margin-left: 0px !important; positi=
on: absolute; top: 0px; bottom: 0px; right: 0px; left: 24px !important;}
..F0XO1GC-f-o .F0XO1GC-b-D {position: relative;}
..F0XO1GC-f-o .F0XO1GC-f-n {display: none !important;}
#gb.F0XO1GC-f-o ,#gba.F0XO1GC-f-o {display: none;}
..F0XO1GC-f-y {padding: 5px;}
..F0XO1GC-f-z {outline: medium none; border: medium none;}
..F0XO1GC-f-z img {outline: medium none; border: medium none; margin-top: 8p=
x;}
..F0XO1GC-f-A {position: absolute; width: 8px; top: 0px; bottom: 0px; right:=
-20px; cursor: col-resize;}
..F0XO1GC-f-A .F0XO1GC-f-C {display: block; position: absolute; left: 5px; t=
op: 0px; bottom: 0px; border-left: 1px solid rgb(235, 235, 235);}
..F0XO1GC-f-B .F0XO1GC-f-C {border-left: 1px solid rgb(235, 235, 235);}
..F0XO1GC-f-A .F0XO1GC-f-i {visibility: visible !important;}
..F0XO1GC-b-w {top: -15px;}
..F0XO1GC-f-q .F0XO1GC-b-w {top: 54px;}
html ,body ,#gb ,#gbx1 {min-width: 700px;}
html {overflow-x: auto; overflow-y: hidden;}
body {overflow: visible;}
..F0XO1GC-f-b {overflow: hidden; min-height: 30px;}
..F0XO1GC-f-w {position: absolute; right: 0px; top: 0px; padding-left: 16px;=
}
..F0XO1GC-f-w > div > div {display: inline-block; margin-right: 0px; margin-=
left: 16px;}
..F0XO1GC-c-c .F0XO1GC-f-w > div > div {margin-left: 10px; margin-right: 0px=
;}
..F0XO1GC-f-w > div > div:first-child {margin-left: 0px;}
..F0XO1GC-f-g {transform: rotate(180deg); vertical-align: middle;}
..F0XO1GC-f-m {transform: rotate(0deg); vertical-align: middle;}
..F0XO1GC-f-h {border: 1px solid rgb(235, 235, 235); padding: 4px; cursor: p=
ointer !important;}
..F0XO1GC-b-O .F0XO1GC-f-h ,body .F0XO1GC-f-h {padding: 3px 3px 4px;}
..F0XO1GC-f-h:hover {background-color: rgb(238, 238, 238);}
..F0XO1GC-f-i:hover {visibility: visible;}
..F0XO1GC-f-i {visibility: hidden; position: absolute; right: 2px; top: 0px;=
bottom: 0px; padding: 8px 0px 8px 8px;}
..F0XO1GC-f-n {display: none; position: absolute; padding: 8px 0px;}
..F0XO1GC-f-j .F0XO1GC-f-n {display: block;}
..F0XO1GC-b-N .F0XO1GC-f-i {padding: 7px 0px 7px 7px;}
..F0XO1GC-b-O .F0XO1GC-f-i ,body .F0XO1GC-f-i {padding: 6px 0px 6px 6px;}
..F0XO1GC-b-N .F0XO1GC-f-n {padding: 7px 0px;}
..F0XO1GC-b-O .F0XO1GC-f-n ,body .F0XO1GC-f-n {padding: 6px 0px;}
..F0XO1GC-r-d {padding-right: 144px; white-space: nowrap;}
..F0XO1GC-r-e {margin: 19px 16px 0px 0px; white-space: nowrap; min-width: 38=
4px; max-width: 512px; width: 100%; display: inline-block; position: relati=
ve; height: 29px; line-height: 27px; vertical-align: top;}
..F0XO1GC-b-O .F0XO1GC-r-e ,body .F0XO1GC-r-e {margin-top: 7px;}
..F0XO1GC-r-e input[type=3D"text"] {position: absolute; left: 0px; right: 0p=
x; width: 100%;}
..F0XO1GC-r-b {max-height: 250px; overflow-y: auto; overflow-x: hidden; whit=
e-space: nowrap;}
..F0XO1GC-r-b .F0XO1GC-r-c {padding-left: 20px;}
..suggestPopupContent {cursor: pointer;}
..suggestPopupContent .F0XO1GC-r-g {margin-left: 5px; color: rgb(0, 0, 0);}
..F0XO1GC-r-i {position: relative;}
..F0XO1GC-r-h {position: relative; float: left; margin: 8px 6px 0px 0px;}
..F0XO1GC-r-f {margin-top: 19px; vertical-align: top;}
..F0XO1GC-b-O .F0XO1GC-r-f ,body .F0XO1GC-r-f {margin-top: 7px;}
..F0XO1GC-r-f img {opacity: 1 !important;}
..F0XO1GC-r-a {cursor: pointer; position: absolute; right: 2px; text-align: =
center;}
..F0XO1GC-r-a img {opacity: 0.667; margin: 0px 6px 2px;}
..F0XO1GC-r-a:hover img {opacity: 1;}
..F0XO1GC-j-t {background-color: white; border: medium none; outline: medium=
none; padding: 0px;}
..F0XO1GC-j-m {font-size: 16px; line-height: 24px; color: rgb(34, 34, 34); f=
ont-weight: normal; margin-bottom: 8px;}
..F0XO1GC-b-wb .F0XO1GC-j-m ,.F0XO1GC-j-t .F0XO1GC-j-m ,.F0XO1GC-b-O .F0XO1G=
C-b-wb .F0XO1GC-j-m ,.F0XO1GC-b-N .F0XO1GC-b-wb .F0XO1GC-j-m ,.F0XO1GC-b-M =
..F0XO1GC-b-wb .F0XO1GC-j-m ,body .F0XO1GC-b-wb .F0XO1GC-j-m {background-col=
or: rgb(66, 133, 244); color: rgb(255, 255, 255); height: 36px; padding: 0p=
x; margin: 0px;}
..F0XO1GC-b-O .F0XO1GC-j-m ,body .F0XO1GC-j-m {padding: 20px 16px 0px;}
..F0XO1GC-j-e {overflow-y: auto; overflow-x: hidden; position: relative; max=
-width: 600px; min-width: 250px; font-size: 13px; line-height: 17px;}
..F0XO1GC-b-O .F0XO1GC-b-wb .F0XO1GC-j-f ,.F0XO1GC-b-N .F0XO1GC-b-wb .F0XO1G=
C-j-f ,.F0XO1GC-b-M .F0XO1GC-b-wb .F0XO1GC-j-f ,.F0XO1GC-b-wb .F0XO1GC-j-f =
,body .F0XO1GC-b-wb .F0XO1GC-j-f {margin: 0px;}
..F0XO1GC-j-f {margin: 24px;}
..F0XO1GC-b-O .F0XO1GC-j-f ,body .F0XO1GC-j-f {margin: 12px;}
..F0XO1GC-j-f .F0XO1GC-j-q {font-weight: bold;}
..F0XO1GC-j-f .F0XO1GC-j-n {color: rgb(102, 102, 102); margin-bottom: 12px; =
margin-left: 22px;}
..F0XO1GC-j-f .F0XO1GC-j-o {margin-top: 12px;}
..F0XO1GC-j-r {height: 24px; width: 24px;}
..F0XO1GC-j-j ,.F0XO1GC-j-h {display: table-cell;}
..F0XO1GC-j-i {margin: 24px;}
..F0XO1GC-j-g {margin-top: 24px; text-align: left;}
..F0XO1GC-j-h > .F0XO1GC-j-g {margin: 48px 24px 24px;}
..F0XO1GC-j-y.F0XO1GC-j-w .F0XO1GC-j-g {margin-top: 24px;}
..F0XO1GC-j-x .F0XO1GC-j-f {margin-top: 0px;}
..F0XO1GC-j-w .F0XO1GC-j-f {margin-bottom: 0px;}
..F0XO1GC-j-p .F0XO1GC-j-e {overflow: visible; max-width: none; padding: 0px=
;}
..F0XO1GC-j-u .F0XO1GC-j-c {display: none;}
..F0XO1GC-j-c {cursor: pointer; right: 10px; position: absolute; top: 6px;}
..F0XO1GC-b-wb .F0XO1GC-j-c ,.F0XO1GC-j-s .F0XO1GC-j-c {line-height: 36px; t=
op: 8px; vertical-align: text-bottom;}
..F0XO1GC-j-c img:hover {background-color: rgb(123, 170, 247);}
..F0XO1GC-j-s {background-color: rgb(66, 133, 244); bottom: 0px; height: 36p=
x; position: fixed; right: 25px; width: 260px; z-index: 1;}
..F0XO1GC-j-t .F0XO1GC-j-l ,.F0XO1GC-b-wb .F0XO1GC-j-l ,.F0XO1GC-j-s .F0XO1G=
C-j-l {color: rgb(255, 255, 255); font-family: "Roboto",Arial,sans-serif; f=
ont-size: 16px; font-weight: normal; line-height: 36px; padding-left: 15px;=
text-align: left;}
..F0XO1GC-b-i .F0XO1GC-j-c {top: 5px; right: 5px;}
..F0XO1GC-b-i .F0XO1GC-j-c img {display: block;}
..F0XO1GC-j-f .F0XO1GC-k-c ,.F0XO1GC-j-f .F0XO1GC-k-c:focus {background-imag=
e: none; background-repeat: repeat; background-attachment: scroll; backgrou=
nd-clip: border-box; background-origin: padding-box; background-position: 0=
% 0%; background-size: auto auto; background-color: inherit; border: 1px so=
lid rgba(0, 0, 0, 0); box-shadow: none; color: inherit; font-size: 13px; pa=
dding: 0px 3px; opacity: 0.6;}
..F0XO1GC-j-f .F0XO1GC-k-c:hover {background-color: lightgray;}
..F0XO1GC-v-a {height: 21px; width: 21px; overflow: hidden; background: rgba=
(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAY=
AAACpF6WWAAAAjElEQVR42mNgGAWDFUgCMTs1DTQH4klA7EwtA+2BeAkQR1HLwEAgngnEZUDMRK=
lhrECcDjUwhxqu4wbiSqiBpVALSAJTgNgfiFmgfDEgboYaWAfEnOS4yhFqQBUQWwBxH5QPMpiXE=
u+mQg2C4U4gFqI0DEFebIIa2APE0tRKOrJQAxWonQ05R0uiYQgAWowSH34q/8EAAAAASUVORK5C=
YII=3D") no-repeat scroll 0px 0px; position: absolute; left: 3px;}
..gux-combo-item.F0XO1GC-v-b {padding-left: 28px;}
..goog-button-base {cursor: default; font: 0.846em/1 Arial,sans-serif; lette=
r-spacing: normal; margin: 0px 1px; outline: medium none; text-align: cente=
r; text-indent: 0px; text-transform: none; vertical-align: baseline; white-=
space: nowrap; word-spacing: normal;}
..goog-button-base-outer-box {border-top: 1px solid rgb(187, 187, 187); bord=
er-bottom: 1px solid rgb(170, 170, 170);}
..goog-button-base-inner-box {background: rgb(227, 227, 227) none repeat scr=
oll 0% 0%; border-left: 1px solid rgb(187, 187, 187); border-right: 1px sol=
id rgb(170, 170, 170); margin: 0px -1px;}
..goog-button-base-pos {height: 100%; position: relative;}
..goog-button-base-top-shadow {background: rgb(249, 249, 249) none repeat sc=
roll 0% 0%; border-bottom: 0.23em solid rgb(238, 238, 238); height: 0.692em=
; left: 0px; overflow: hidden; position: absolute; right: 0px; top: 0px;}
..goog-button-base-content {color: rgb(51, 51, 51); line-height: 1.7em; posi=
tion: relative; padding: 0px 0.545em; text-align: center;}
..goog-button-base-hover .goog-button-base-content ,.goog-button-base-focuse=
d .goog-button-base-content {color: rgb(0, 0, 0);}
..goog-button-base-hover .goog-button-base-outer-box ,.goog-button-base-hove=
r .goog-button-base-inner-box ,.goog-button-base-focused .goog-button-base-=
outer-box ,.goog-button-base-focused .goog-button-base-inner-box {border-co=
lor: rgb(136, 136, 136);}
..goog-button-base-active .goog-button-base-inner-box ,.goog-button-base-ope=
n .goog-button-base-inner-box {background: rgb(249, 249, 249) none repeat s=
croll 0% 0%;}
..goog-button-base-active .goog-button-base-top-shadow ,.goog-button-base-op=
en .goog-button-base-top-shadow {background: rgb(227, 227, 227) none repeat=
scroll 0% 0%;}
..goog-button-base-active .goog-button-base-content ,.goog-button-base-open =
..goog-button-base-content {color: rgb(0, 0, 0);}
..goog-button-base-primary .goog-button-base-content {font-weight: bold; col=
or: rgb(0, 0, 0);}
..goog-button-base-disabled {cursor: default;}
..goog-button-base-disabled .goog-button-base-inner-box {background: rgb(238=
, 238, 238) none repeat scroll 0% 0%;}
..goog-button-base-disabled .goog-button-base-top-shadow {background: rgb(23=
8, 238, 238) none repeat scroll 0% 0%; border-color: rgb(238, 238, 238);}
..goog-button-base-disabled .goog-button-base-content {color: rgb(153, 153, =
153);}
..goog-button-base-collapse-right ,.goog-button-base-collapse-right .goog-bu=
tton-base-inner-box {margin-right: 0px;}
..goog-button-base-collapse-left {margin-left: 0px;}
..goog-button-base-collapse-left .goog-button-base-inner-box {margin-left: 0=
px; border-left: 1px solid rgb(255, 255, 255);}
..goog-button-base-hover.goog-button-base-collapse-left ,.goog-button-base-f=
ocused.goog-button-base-collapse-left {border-left: 1px solid rgb(136, 136,=
136); margin-left: -1px; z-index: 1;}
..goog-button-base-selected .goog-button-base-outer-box ,.goog-button-base-s=
elected .goog-button-base-inner-box {background-color: rgb(119, 119, 119); =
border-color: rgb(136, 136, 136);}
..goog-button-base-selected .goog-button-base-top-shadow {border-bottom-colo=
r: rgb(136, 136, 136); background-color: rgb(153, 153, 153);}
..goog-button-base-selected .goog-button-base-content {color: rgb(238, 238, =
238);}
..goog-button-base-collapse-left.goog-button-base-selected .goog-button-base=
-inner-box {border-left: 1px solid rgb(85, 85, 85);}
..F0XO1GC-q-e {background-color: rgb(42, 42, 42); border: 1px solid rgb(255,=
255, 255); color: rgb(255, 255, 255); display: block; position: absolute; =
padding: 5px 7px; z-index: 10; white-space: nowrap;}
..F0XO1GC-q-g {z-index: 1021;}
..F0XO1GC-q-e strong {color: rgb(255, 255, 255);}
..F0XO1GC-q-e::before ,.F0XO1GC-q-e::after {border-style: solid; content: ""=
; display: block; height: 0px; position: absolute; width: 0px;}
..F0XO1GC-q-e.F0XO1GC-q-f::before ,.F0XO1GC-q-e.F0XO1GC-q-h::before ,.F0XO1G=
C-q-e.F0XO1GC-q-i::before ,.F0XO1GC-q-e.F0XO1GC-q-d::before {bottom: auto; =
margin-top: -7px; top: 50%;}
..F0XO1GC-q-e.F0XO1GC-q-f::after ,.F0XO1GC-q-e.F0XO1GC-q-h::after ,.F0XO1GC-=
q-e.F0XO1GC-q-i::after ,.F0XO1GC-q-e.F0XO1GC-q-d::after {bottom: auto; marg=
in-top: -6px; top: 50%;}
..F0XO1GC-q-e.F0XO1GC-q-l::before ,.F0XO1GC-q-e.F0XO1GC-q-c::before ,.F0XO1G=
C-q-e.F0XO1GC-q-l::after ,.F0XO1GC-q-e.F0XO1GC-q-c::after {left: 80% !impor=
tant;}
..F0XO1GC-q-e.F0XO1GC-q-k::before ,.F0XO1GC-q-e.F0XO1GC-q-b::before ,.F0XO1G=
C-q-e.F0XO1GC-q-k::after ,.F0XO1GC-q-e.F0XO1GC-q-b::after {left: 20% !impor=
tant;}
..F0XO1GC-q-e.F0XO1GC-q-j::before ,.F0XO1GC-q-e.F0XO1GC-q-a::before {left: 5=
0%; margin-left: -7px; right: auto;}
..F0XO1GC-q-e.F0XO1GC-q-j::after ,.F0XO1GC-q-e.F0XO1GC-q-a::after {left: 50%=
; margin-left: -6px; right: auto;}
..F0XO1GC-q-e.F0XO1GC-q-j::before {border-color: rgb(255, 255, 255) transpar=
ent; border-width: 8px 7px 0px; bottom: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-j::after {border-color: rgb(42, 42, 42) transparent;=
border-width: 7px 6px 0px; bottom: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-a::before {border-color: rgb(255, 255, 255) transpar=
ent; border-width: 0px 7px 8px; top: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-a::after {border-color: rgb(42, 42, 42) transparent;=
border-width: 0px 6px 7px; top: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-f::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 0px 7px 8px; right: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-f::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 0px 6px 7px; right: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-h::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 8px 7px 0px; left: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-h::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 7px 6px 0px; left: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-i::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 0px 7px 8px; right: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-i::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 0px 6px 7px; right: -7px;}
..F0XO1GC-q-e.F0XO1GC-q-d::before {border-color: transparent rgb(255, 255, 2=
55); border-width: 7px 8px 7px 0px; left: -8px;}
..F0XO1GC-q-e.F0XO1GC-q-d::after {border-color: transparent rgb(42, 42, 42);=
border-width: 6px 7px 6px 0px; left: -7px;}
..F0XO1GC-nc-b {color: rgb(119, 119, 119); text-align: center; padding: 4px;=
}
..F0XO1GC-nc-a {color: rgb(5, 71, 192);}
..F0XO1GC-jb-c {display: inline; white-space: nowrap; padding: 0px 2px;}
..F0XO1GC-jb-a {color: rgb(238, 68, 68); font-size: 13px;}
..F0XO1GC-jb-b {font-size: 13px;}
..gux-confirm-panel-r1 {background-color: rgb(255, 238, 136); border-left: 1=
px solid rgb(255, 253, 240); border-right: 1px solid rgb(255, 253, 240); ma=
rgin: 0px 1px; padding-top: 1px;}
..gux-confirm-panel-r2 {background-color: rgb(255, 238, 136); border-left: 1=
px solid rgb(255, 253, 240); border-right: 1px solid rgb(255, 253, 240); pa=
dding-top: 1px;}
..gux-confirm-panel-c {background-color: rgb(255, 238, 136); padding: 2px 15=
px;}
..gux-confirm-panel-message {color: rgb(0, 0, 0); font-weight: bold;}
..F0XO1GC-mb-k {height: 5px; width: 100%; background-color: rgb(187, 204, 25=
5);}
..F0XO1GC-mb-q {overflow: hidden;}
..F0XO1GC-mb-J {padding: 5px; overflow: hidden;}
..F0XO1GC-mb-x {border-bottom: 1px solid rgb(235, 235, 235); padding-top: 8p=
x; padding-bottom: 8px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-y ,body .F0XO1GC-mb-y {padding-right: 20px;}
..F0XO1GC-mb-z {float: right;}
..F0XO1GC-mb-Z {display: inline;}
..F0XO1GC-mb-u {white-space: nowrap; font-weight: normal; float: right; font=
-size: 13px; color: rgb(102, 102, 102);}
..F0XO1GC-mb-v ,.F0XO1GC-mb-v:hover ,.F0XO1GC-mb-v:visited {text-decoration:=
none; color: rgb(136, 136, 136); cursor: default;}
..chrome-theme .F0XO1GC-mb-u {display: none;}
..F0XO1GC-mb-M {margin-right: 16px;}
..F0XO1GC-mb-cb {font-weight: bold;}
..F0XO1GC-nb-W.F0XO1GC-mb-o {border-top: 1px solid rgb(221, 221, 221);}
..F0XO1GC-nb-W.F0XO1GC-mb-l {border-bottom: 1px solid rgb(221, 221, 221);}
..F0XO1GC-mb-N ,.F0XO1GC-mb-P {padding-bottom: 5px; min-width: 100%;}
..F0XO1GC-mb-K {padding: 5px;}
..F0XO1GC-mb-Y {font-size: 18px;}
..F0XO1GC-mb-bb {font-size: 18px; background-color: rgb(235, 238, 248);}
..F0XO1GC-mb-V {white-space: nowrap;}
..F0XO1GC-mb-ab .F0XO1GC-mb-V ,body .F0XO1GC-mb-V {display: inline-block; ve=
rtical-align: baseline; margin-top: 4px;}
..F0XO1GC-mb-n {color: rgb(34, 34, 34); font-weight: normal;}
..F0XO1GC-mb-fb {vertical-align: middle; margin-right: 1.5em;}
..F0XO1GC-mb-eb {color: black; text-decoration: none; cursor: default; font-=
weight: bold;}
..F0XO1GC-mb-gb {color: rgb(34, 0, 204); cursor: pointer; font-weight: bold;=
}
..F0XO1GC-mb-db {color: rgb(34, 0, 204); cursor: pointer; white-space: nowra=
p; display: inline-block; vertical-align: bottom;}
..F0XO1GC-mb-ab .F0XO1GC-mb-db ,body .F0XO1GC-mb-db {position: relative; top=
: 1px;}
..F0XO1GC-mb-db span {margin-right: 2px;}
..F0XO1GC-mb-db img {opacity: 0.667;}
..F0XO1GC-mb-db img:hover {opacity: 1;}
..F0XO1GC-mb-A ,.F0XO1GC-mb-E {position: relative;}
..F0XO1GC-mb-E > .F0XO1GC-nb-W {margin-top: 20px;}
..F0XO1GC-mb-E > .F0XO1GC-nb-v {margin-top: 2px;}
..F0XO1GC-mb-C {padding-left: 20px; padding-top: 0px; margin-top: 2px;}
..F0XO1GC-mb-B {position: absolute; top: 1px; left: 10px; cursor: pointer;}
..F0XO1GC-mb-W {display: inline-block; position: relative;}
..F0XO1GC-mb-W .gwt-TabBarItem {cursor: pointer; font-weight: normal; positi=
on: relative; top: 1px; padding: 5px 10px; margin: 0px 3px; outline: medium=
none; background-color: rgb(245, 245, 245); border: 1px solid rgb(245, 245=
, 245);}
..F0XO1GC-mb-W .gwt-TabBarItem-selected {color: rgb(0, 0, 0); text-decoratio=
n: none; cursor: default; font-weight: bold; background-color: rgb(255, 255=
, 255); border-width: 1px; border-style: solid; border-color: rgb(235, 235,=
235) rgb(235, 235, 235) rgb(255, 255, 255); -moz-border-top-colors: none; =
-moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-borde=
r-left-colors: none; border-image: none;}
..F0XO1GC-mb-I {width: 100%;}
..F0XO1GC-mb-Q {margin: 16px 0px; border-bottom: 1px solid rgb(235, 235, 235=
);}
..F0XO1GC-mb-L {margin: 0px 3px; vertical-align: middle;}
..F0XO1GC-mb-S {padding: 5px;}
..F0XO1GC-mb-R {padding-bottom: 10px;}
..F0XO1GC-mb-U {font-size: 14px; font-weight: bold;}
..F0XO1GC-mb-T {font-weight: bold;}
..F0XO1GC-mb-a {position: relative; border: 1px solid rgb(235, 235, 235); di=
splay: inline-block; margin: 5px; padding: 5px 0px 0px 5px;}
..F0XO1GC-mb-b {position: absolute; color: rgb(102, 102, 102); left: 5px; bo=
ttom: 5px;}
..F0XO1GC-mb-r {margin-left: 10px;}
..F0XO1GC-mb-j {font-weight: bold; text-decoration: underline; cursor: point=
er;}
..F0XO1GC-mb-i {margin: 0px 5px; position: relative; border: 2px solid rgb(2=
04, 204, 204); padding: 2px 2px 2px 8px; line-height: 1.5em; background-col=
or: rgb(255, 255, 255);}
..F0XO1GC-mb-H {margin-left: 18px; position: relative;}
..F0XO1GC-mb-G {position: relative;}
..F0XO1GC-mb-F {position: absolute; top: 0px; left: 0px; cursor: pointer;}
..F0XO1GC-mb-p {padding: 8px 16px; color: rgb(34, 0, 204); background-color:=
rgb(255, 238, 136); border: 1px solid rgb(188, 188, 188); position: absolu=
te; bottom: 4px; right: 4px;}
..F0XO1GC-mb-p .F0XO1GC-mb-h {margin-left: 4px; color: rgb(128, 128, 128); c=
ursor: pointer; text-decoration: underline;}
..F0XO1GC-mb-O ,.F0XO1GC-mb-d {border-top: 1px solid rgb(221, 221, 221); pad=
ding: 4px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-O ,body .F0XO1GC-mb-O {border: 0px none; padding=
: 4px 8px; background-color: rgb(77, 144, 254); border-radius: 10px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-O.F0XO1GC-mb-d ,body .F0XO1GC-mb-O.F0XO1GC-mb-d =
{border-bottom: 0px none; padding: 4px 8px; background-color: rgb(61, 148, =
0); color: white; border-radius: 10px;}
..F0XO1GC-mb-ab .F0XO1GC-mb-O span ,.F0XO1GC-mb-ab .F0XO1GC-mb-d span ,body =
..F0XO1GC-mb-O span ,body .F0XO1GC-mb-d span {font-size: 16px; font-weight: =
normal;}
..F0XO1GC-mb-O span ,.F0XO1GC-mb-d span {font-weight: bold;}
..F0XO1GC-mb-O span {color: rgb(102, 102, 102);}
..F0XO1GC-mb-d span {color: rgb(75, 195, 87);}
..F0XO1GC-mb-ab .F0XO1GC-mb-O span ,.F0XO1GC-mb-ab .F0XO1GC-mb-d span ,body =
..F0XO1GC-mb-O span ,body .F0XO1GC-mb-d span {color: white;}
..F0XO1GC-mb-g ,.F0XO1GC-mb-t ,.F0XO1GC-mb-e {display: inline-block;}
..F0XO1GC-mb-t {vertical-align: top; overflow: hidden; padding-left: 8px !im=
portant;}
..F0XO1GC-mb-ab .F0XO1GC-mb-t ,body .F0XO1GC-mb-t {position: relative; top: =
1px;}
..F0XO1GC-mb-s {text-align: right; padding-bottom: 10px;}
..F0XO1GC-mb-c {text-align: center;}
..F0XO1GC-mb-w img {height: 20px;}
..F0XO1GC-kb-c {display: inline; white-space: nowrap; padding: 0px 2px;}
..F0XO1GC-kb-b {color: rgb(238, 68, 68); font-size: 13px;}
..F0XO1GC-kb-a {font-size: 13px;}
..F0XO1GC-x-a .F0XO1GC-x-d {float: left;}
..F0XO1GC-x-a .F0XO1GC-x-e {float: right;}
..F0XO1GC-x-a .F0XO1GC-x-e td:last-child div {margin-right: 0px;}
..F0XO1GC-x-b {line-height: 24px; margin-bottom: 14px;}
..F0XO1GC-b-O .F0XO1GC-x-b ,body .F0XO1GC-x-b {line-height: 17px; margin-bot=
tom: 8px;}
..F0XO1GC-lb-a {color: rgb(102, 102, 102);}
..F0XO1GC-lb-e {border-radius: 2px; height: 22px;}
..F0XO1GC-lb-e > span {position: relative; top: -2px;}
..F0XO1GC-lb-d {z-index: 1021; padding: 10px; display: block; box-shadow: 0p=
x 2px 4px rgba(0, 0, 0, 0.2); outline: medium none; border: 1px solid rgb(2=
04, 204, 204);}
..F0XO1GC-lb-b {text-align: center; margin-bottom: 15px;}
..F0XO1GC-lb-c div {display: inline-block;}
..F0XO1GC-lb-c * {padding-left: 5px; padding-right: 5px;}
..gux-menu-button {background: rgba(0, 0, 0, 0) url("data:image/png;base64,i=
VBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ=
bWFnZVJlYWR5ccllPAAAAwBQTFRFZmZm////AgICAwMDBAQEBQUFBgYGBwcHCAgICQkJCgoKCws=
LDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh=
4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4uLy8vMDAwM=
TExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUFBQkJCQ0ND=
RERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVFRUVVVVVlZ=
WV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ2dnaGhoaW=
lpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5enp6e3t7f=
Hx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIyMjY2Njo6O=
j4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5+foKCgoaG=
hoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxsrKys7OztL=
S0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTExcXFxsbGx=
8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19fX2NjY2dnZ=
2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6urq6+vr7Oz=
s7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/f39/v7+//=
//AADF2QAAAAJ0Uk5T/wDltzBKAAAAH0lEQVR42mJghAAGGJ0GAQyMYAokDqLA8mlI6gACDAC8p=
AaCn/ezogAAAABJRU5ErkJggg=3D=3D") no-repeat scroll right 50%; padding-right=
: 12px; text-align: left;}
..gux-menu-button-disabled {background: rgba(0, 0, 0, 0) url("data:image/png=
;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAAGXRFWHRTb2Z0d2FyZQB=
BZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRFmZmZ////AgICAwMDBAQEBQUFBgYGBwcHCAgICQ=
kJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbH=
BwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4u=
Ly8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUF=
BQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVF=
RUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ=
2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5=
enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIy=
MjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5=
+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxs=
rKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTE=
xcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19f=
X2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6u=
rq6+vr7Ozs7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/=
f39/v7+////uBOGsAAAAAJ0Uk5T/wDltzBKAAAAH0lEQVR42mJghAAGGD0TAhgYwRRIHESB5Wci=
qQMIMAAZIwmyA+lVoQAAAABJRU5ErkJggg=3D=3D") no-repeat scroll right 50%; padd=
ing-right: 12px;}
..gux-menu-button-selected {background: rgba(0, 0, 0, 0) url("data:image/png=
;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAAGXRFWHRTb2Z0d2FyZQB=
BZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRFZmZm////AgICAwMDBAQEBQUFBgYGBwcHCAgICQ=
kJCgoKCwsLDAwMDQ0NDg4ODw8PEBAQEREREhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbH=
BwcHR0dHh4eHx8fICAgISEhIiIiIyMjJCQkJSUlJiYmJycnKCgoKSkpKioqKysrLCwsLS0tLi4u=
Ly8vMDAwMTExMjIyMzMzNDQ0NTU1NjY2Nzc3ODg4OTk5Ojo6Ozs7PDw8PT09Pj4+Pz8/QEBAQUF=
BQkJCQ0NDRERERUVFRkZGR0dHSEhISUlJSkpKS0tLTExMTU1NTk5OT09PUFBQUVFRUlJSU1NTVF=
RUVVVVVlZWV1dXWFhYWVlZWlpaW1tbXFxcXV1dXl5eX19fYGBgYWFhYmJiY2NjZGRkZWVlZmZmZ=
2dnaGhoaWlpampqa2trbGxsbW1tbm5ub29vcHBwcXFxcnJyc3NzdHR0dXV1dnZ2d3d3eHh4eXl5=
enp6e3t7fHx8fX19fn5+f39/gICAgYGBgoKCg4ODhISEhYWFhoaGh4eHiIiIiYmJioqKi4uLjIy=
MjY2Njo6Oj4+PkJCQkZGRkpKSk5OTlJSUlZWVlpaWl5eXmJiYmZmZmpqam5ubnJycnZ2dnp6en5=
+foKCgoaGhoqKio6OjpKSkpaWlpqamp6enqKioqampqqqqq6urrKysra2trq6ur6+vsLCwsbGxs=
rKys7OztLS0tbW1tra2t7e3uLi4ubm5urq6u7u7vLy8vb29vr6+v7+/wMDAwcHBwsLCw8PDxMTE=
xcXFxsbGx8fHyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8/P0NDQ0dHR0tLS09PT1NTU1dXV1tbW19f=
X2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6u=
rq6+vr7Ozs7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX19vb29/f3+Pj4+fn5+vr6+/v7/Pz8/=
f39/v7+////AADF2QAAAAJ0Uk5T/wDltzBKAAAAH0lEQVR42mJghAAGGP0fAhgYwRRIHESB5f8j=
qQMIMADSAxASsJSVyQAAAABJRU5ErkJggg=3D=3D") no-repeat scroll right 50%; padd=
ing-right: 12px;}
..goog-inline-block {position: relative; display: inline-block;}
..F0XO1GC-G-a {border: 1px solid transparent; color: rgb(255, 255, 255); bac=
kground-color: rgb(209, 72, 54); background-image: -moz-linear-gradient(cen=
ter top , rgb(221, 75, 57), rgb(209, 72, 54)); text-shadow: 0px 1px rgba(0,=
0, 0, 0.1); text-transform: uppercase;}
..chrome-theme .F0XO1GC-G-a {background-color: rgb(3, 112, 234); background-=
image: -webkit-linear-gradient(top, rgb(0, 141, 253) 0%, rgb(3, 112, 234) 1=
00%); border: 1px solid rgb(7, 107, 210); text-shadow: 1px 1px 1px rgb(7, 1=
07, 210); text-transform: none;}
..F0XO1GC-G-a:hover {border-width: 1px; border-style: solid; border-color: r=
gb(176, 40, 26) rgb(176, 40, 26) rgb(175, 48, 31); -moz-border-top-colors: =
none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz=
-border-left-colors: none; border-image: none; background-color: rgb(197, 5=
5, 39); background-image: -moz-linear-gradient(center top , rgb(221, 75, 57=
), rgb(197, 55, 39)); box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);}
..F0XO1GC-G-a:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) inset; o=
utline: 0px none rgba(0, 0, 0, 0);}
..chrome-theme .F0XO1GC-G-a:focus {box-shadow: none; outline: medium none !i=
mportant; border: 1px solid rgb(6, 73, 144);}
..F0XO1GC-G-a:active {background-color: rgb(176, 40, 26); border: 1px solid =
rgb(153, 42, 27); background-image: -moz-linear-gradient(center top , rgb(2=
21, 75, 57), rgb(176, 40, 26)); box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) =
inset;}
..chrome-theme .F0XO1GC-G-a:hover ,.chrome-theme .F0XO1GC-G-a:active {backgr=
ound-color: rgb(3, 112, 234); border: 1px solid rgb(7, 107, 210); backgroun=
d-image: -webkit-linear-gradient(top, rgb(0, 141, 253) 30%, rgb(3, 112, 234=
) 100%);}
..F0XO1GC-G-a.F0XO1GC-n-b {background: rgb(209, 72, 54) none repeat scroll 0=
% 0%;}
..F0XO1GC-nb-W {position: relative; border-top: 1px solid transparent; borde=
r-bottom: 1px solid transparent; border-left: 1px solid transparent; margin=
-right: 0px; padding-right: 0px;}
..F0XO1GC-nb-F {margin-right: 0px;}
..F0XO1GC-nb-X {border-left: 1px solid rgb(77, 144, 240);}
..F0XO1GC-nb-X:focus {outline: medium none;}
..F0XO1GC-nb-Y {padding: 4px 0px;}
..F0XO1GC-nb-V {padding-top: 4px; padding-bottom: 4px; background-position: =
0px 9px;}
..F0XO1GC-b-Nb .F0XO1GC-nb-Y ,.F0XO1GC-b-Nb .F0XO1GC-nb-V {background-color:=
rgb(255, 255, 255);}
..F0XO1GC-nb-O {width: 100%;}
..F0XO1GC-nb-P {color: rgb(34, 34, 34); line-height: normal;}
..F0XO1GC-nb-P p {line-height: normal; margin: 1em 0px;}
..F0XO1GC-nb-p {width: 34px; padding: 5px;}
..F0XO1GC-nb-kb {border-bottom: 1px solid rgb(221, 221, 221); margin-bottom:=
8px;}
..F0XO1GC-nb-lb {margin-bottom: 8px;}
..F0XO1GC-nb-v {margin-top: 0px;}
..F0XO1GC-nb-w {padding: 2px 5px;}
..F0XO1GC-nb-w .F0XO1GC-nb-O {padding-bottom: 1px;}
..F0XO1GC-nb-a {position: relative; padding: 4px 0px;}
..F0XO1GC-nb-b {padding-left: 5px; margin-left: 39px; margin-right: 0px !imp=
ortant;}
..F0XO1GC-nb-c {display: inline-block;}
..F0XO1GC-nb-a .F0XO1GC-nb-jb {margin-right: 1em;}
..F0XO1GC-nb-G {vertical-align: inherit;}
..F0XO1GC-nb-G span {line-height: 27px; vertical-align: inherit;}
..F0XO1GC-nb-G img {top: 0px; vertical-align: top;}
..F0XO1GC-nb-d {float: right; text-align: right; line-height: 27px;}
..F0XO1GC-nb-d a {text-decoration: none; color: rgb(102, 136, 221); cursor: =
pointer; vertical-align: middle;}
..F0XO1GC-nb-U {font-size: 11px; float: right; line-height: 27px;}
..F0XO1GC-nb-O table {width: 100%;}
..F0XO1GC-nb-O td {vertical-align: top;}
..F0XO1GC-nb-Q {white-space: nowrap;}
..F0XO1GC-nb-R {height: 1.5em; cursor: pointer; padding-right: 5px; padding-=
bottom: 5px; padding-left: 5px; white-space: nowrap; overflow: hidden; padd=
ing-top: 6px !important;}
..F0XO1GC-nb-T {text-align: right;}
..F0XO1GC-nb-N {padding: 5px; vertical-align: middle;}
..F0XO1GC-nb-ab {white-space: pre-wrap; margin: 0px;}
..F0XO1GC-nb-H {background-color: rgb(211, 222, 255); padding: 5px;}
..F0XO1GC-nb-H input {width: 100%; display: block; border: 1px solid rgb(102=
, 136, 238); margin: 5px 0px;}
..F0XO1GC-nb-m {color: rgb(51, 51, 51); text-decoration: none; cursor: defau=
lt;}
..F0XO1GC-nb-m img {opacity: 1;}
..F0XO1GC-nb-hb ,.F0XO1GC-nb-D {padding: 4px 5px 3px 0px; white-space: nowra=
p;}
..F0XO1GC-nb-L {display: inline-block; margin-top: 4px;}
..F0XO1GC-nb-ib {display: inline-block;}
..F0XO1GC-nb-I {margin-left: -8px;}
..F0XO1GC-nb-J {margin-right: 0px;}
..F0XO1GC-nb-M {display: inline-block;}
..F0XO1GC-nb-K {margin-left: 13px;}
..F0XO1GC-nb-o {border-top: 1px solid rgb(221, 221, 221); padding: 5px; marg=
in-top: 5px;}
..F0XO1GC-nb-eb {color: rgb(136, 136, 136); height: 1.5em; overflow: hidden;=
line-height: 1.5em;}
..F0XO1GC-nb-w .F0XO1GC-nb-Q {line-height: 1.5em;}
..F0XO1GC-nb-fb {padding: 0px 4px; vertical-align: top;}
..F0XO1GC-nb-w .F0XO1GC-nb-Q {float: right; padding-right: 2px; padding-left=
: 8px;}
..F0XO1GC-nb-w .F0XO1GC-nb-z {float: right;}
..F0XO1GC-nb-w {cursor: pointer;}
..F0XO1GC-nb-v .F0XO1GC-nb-a ,.F0XO1GC-nb-v .F0XO1GC-nb-l {display: none;}
..F0XO1GC-nb-Z .gux-confirm-panel {padding: 4px; text-align: center;}
..F0XO1GC-nb-Z .F0XO1GC-nb-eb {padding: 4px;}
..F0XO1GC-nb-C {padding: 4px; text-align: center; background-color: rgb(239,=
239, 239);}
..F0XO1GC-nb-S {border-bottom: 1px solid rgb(221, 221, 221); margin-bottom: =
8px; padding-bottom: 8px;}
..F0XO1GC-nb-t {font-weight: bold;}
..F0XO1GC-nb-r {width: 15%; font-weight: bold;}
..F0XO1GC-nb-q {width: 85%;}
..F0XO1GC-nb-s {font-size: 12px; white-space: nowrap; text-decoration: under=
line; color: rgb(119, 136, 204); cursor: pointer;}
..F0XO1GC-nb-y {margin-top: 8px; border-top: 1px solid rgb(221, 221, 221);}
..F0XO1GC-nb-n {vertical-align: middle; margin-right: 5px; float: left;}
..F0XO1GC-nb-x .F0XO1GC-nb-gb ,body .F0XO1GC-nb-gb {float: left; margin: 0px=
10px;}
..F0XO1GC-nb-w .F0XO1GC-nb-gb ,.F0XO1GC-nb-x .F0XO1GC-nb-gb ,body .F0XO1GC-n=
b-gb {position: relative; top: -4px;}
..F0XO1GC-nb-e {float: right; white-space: nowrap; margin-top: 5px !importan=
t;}
..F0XO1GC-nb-i {display: inline-block; white-space: nowrap; text-align: cent=
er; height: 27px;}
..F0XO1GC-nb-f {padding: 0px;}
..F0XO1GC-nb-k {min-width: 0px; width: 13px; height: 27px; margin-right: 0px=
;}
..F0XO1GC-nb-k .F0XO1GC-k-b {margin-left: 0px;}
..F0XO1GC-nb-g span {margin-left: 24px; margin-right: 4px;}
..F0XO1GC-nb-g img {position: absolute; top: 4px; left: 12px;}
..F0XO1GC-nb-bb {display: inline-block;}
..chrome-theme .F0XO1GC-nb-P {color: rgb(119, 119, 119);}
..chrome-theme .F0XO1GC-nb-P a ,.chrome-theme .F0XO1GC-nb-P a:visited {color=
: rgb(0, 0, 0) !important; font-weight: 600 !important; text-decoration: no=
ne !important;}
..chrome-theme .F0XO1GC-nb-P a:hover ,.chrome-theme .F0XO1GC-nb-P a:active {=
color: rgb(51, 153, 255) !important;}
..F0XO1GC-nb-A {min-width: 34px;}
..F0XO1GC-nb-E {color: rgb(119, 119, 119);}
..F0XO1GC-nb-E > img {position: relative; top: 2px; padding-right: 4px;}
..F0XO1GC-nb-E > span {padding-right: 4px;}
..F0XO1GC-nb-u {padding-right: 4px; vertical-align: top;}
..F0XO1GC-nb-E .F0XO1GC-nb-u {vertical-align: baseline;}
..F0XO1GC-nb-E .F0XO1GC-D-c {vertical-align: middle !important;}
..F0XO1GC-nb-E .F0XO1GC-D-a {vertical-align: baseline;}
..F0XO1GC-H-d {display: inline-block; height: 13px; padding: 5px; text-align=
: center; width: 13px; cursor: pointer;}
..F0XO1GC-H-d .F0XO1GC-H-c {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/star/star2.png") no-repeat scroll 0% 0%; height: 13px; width: 13p=
x;}
..F0XO1GC-H-b .F0XO1GC-H-c {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/star/star2.png") no-repeat scroll 0% 0%;}
..F0XO1GC-H-a .F0XO1GC-H-c {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/star/star-lit.png") no-repeat scroll 0% 0%;}
..F0XO1GC-Db-a {color: rgb(153, 153, 153); cursor: pointer; font-size: 9px;}
..F0XO1GC-Db-b {color: rgb(136, 136, 136);}
..F0XO1GC-ld-d {margin-left: auto; margin-right: auto;}
..F0XO1GC-ld-c {width: 100%; min-width: 400px;}
..F0XO1GC-ld-a {resize: vertical;}
..F0XO1GC-ld-b {font-weight: bold;}
..F0XO1GC-F-a {background-color: rgba(255, 255, 255, 0.65); border: 1px soli=
d rgb(198, 198, 198); border-radius: 1px; height: 13px; margin: 0px 1px; ou=
tline: medium none; vertical-align: text-bottom; width: 13px; display: inli=
ne-block; position: relative;}
..F0XO1GC-F-h {display: block; position: absolute; width: 15px; height: 15px=
; top: -2px; left: 1px;}
..F0XO1GC-F-c .F0XO1GC-F-h {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/menu/checkmark.png") no-repeat scroll -5px -3px;}
..F0XO1GC-F-k .F0XO1GC-F-h {opacity: 0.3;}
..F0XO1GC-F-b {background-color: rgb(235, 235, 235);}
..F0XO1GC-F-f {border: 1px solid rgb(102, 102, 102); box-shadow: 0px 1px 1px=
rgba(0, 0, 0, 0.1) inset;}
..F0XO1GC-F-e {border: 1px solid rgb(77, 144, 254);}
..F0XO1GC-F-k .F0XO1GC-F-a {background-color: rgba(255, 255, 255, 0.45); bor=
der: 1px solid rgb(241, 241, 241);}
..F0XO1GC-F-g .F0XO1GC-F-h {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/ui/v1/menu/checkmark-partial.png") no-repeat scroll -5px -3px;}
..F0XO1GC-F-i {margin-left: 5px;}
..F0XO1GC-F-k .F0XO1GC-F-i {color: rgb(184, 184, 184);}
..F0XO1GC-F-j {cursor: default; outline: medium none; line-height: 24px;}
..jfk-button-action {border: 1px solid rgb(48, 121, 237); color: rgb(255, 25=
5, 255); background-color: rgb(77, 144, 254); background-image: -moz-linear=
-gradient(center top , rgb(77, 144, 254), rgb(71, 135, 237));}
..chrome-theme .jfk-button-action {background-color: rgb(3, 112, 234); backg=
round-image: -webkit-linear-gradient(top, rgb(0, 141, 253) 0%, rgb(3, 112, =
234) 100%); border: 1px solid rgb(7, 107, 210); text-shadow: 1px 1px 1px rg=
b(7, 107, 210);}
..jfk-button-action:hover {color: rgb(255, 255, 255); border: 1px solid rgb(=
47, 91, 183); background-color: rgb(53, 122, 232); background-image: -moz-l=
inear-gradient(center top , rgb(77, 144, 254), rgb(53, 122, 232));}
..chrome-theme .jfk-button-action:hover {background-color: rgb(3, 112, 234);=
background-image: -webkit-linear-gradient(top, rgb(0, 141, 253) 30%, rgb(3=
, 112, 234) 100%); border: 1px solid rgb(7, 107, 210);}
..jfk-button-action:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset=
;}
..jfk-button-action:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) in=
set; outline: 0px none rgba(0, 0, 0, 0);}
..chrome-theme .jfk-button-action:focus {box-shadow: none; outline: medium n=
one !important; border: 1px solid rgb(6, 73, 144);}
..F0XO1GC-ed-a {padding-left: 5px; margin-left: 44px;}
..F0XO1GC-D-d {vertical-align: top; padding-left: 2px;}
..F0XO1GC-D-c {padding-left: 4px; vertical-align: top;}
..F0XO1GC-D-a {font-weight: bold; white-space: nowrap; vertical-align: top; =
cursor: default;}
..F0XO1GC-D-b {color: rgb(102, 102, 102); vertical-align: top; white-space: =
nowrap; margin-left: 4px;}
..F0XO1GC-pb-d {background-color: rgb(255, 255, 255); box-shadow: 0px 2px 4p=
x 0px rgba(0, 0, 0, 0.2); padding: 10px; z-index: 1021;}
..F0XO1GC-pb-b {padding-top: 5px; padding-bottom: 5px; font-size: 11px; colo=
r: rgb(102, 102, 102);}
..F0XO1GC-pb-g {width: 100%;}
..F0XO1GC-pb-e {display: block;}
..F0XO1GC-pb-c {display: block; width: 100%;}
..F0XO1GC-pb-f {display: block;}
..gwt-SuggestBoxPopup {overflow: auto !important; max-height: 240px; z-index=
: 1021;}
..F0XO1GC-b-N .gwt-SuggestBoxPopup {line-height: 26px !important;}
..F0XO1GC-b-O .gwt-SuggestBoxPopup ,body .gwt-SuggestBoxPopup {line-height: =
20px !important;}
..item {position: relative;}
..F0XO1GC-b-N .item {line-height: 26px !important;}
..F0XO1GC-b-O .item ,body .item {line-height: 20px !important;}
..item-selected {position: relative;}
td > strong {color: orange;}
..F0XO1GC-j-f .F0XO1GC-pb-d {box-shadow: none;}
..F0XO1GC-vb-p {padding: 8px;}
..F0XO1GC-vb-r {padding-bottom: 20px;}
..F0XO1GC-vb-a {padding: 16px 0px;}
..F0XO1GC-vb-a .goog-button-base {margin-right: 1em;}
..F0XO1GC-vb-z {width: 99%; display: block; border: 1px solid rgb(102, 136, =
238); margin: 5px 0px;}
..F0XO1GC-vb-A {padding-top: 8px;}
..F0XO1GC-vb-i .gwt-CheckBox {white-space: nowrap; padding-right: 1em; displ=
ay: inline-block;}
..F0XO1GC-vb-g {width: 25px; font-weight: bold; text-align: left; padding: 1=
0px 18px 0px 0px; vertical-align: top; white-space: nowrap; color: rgb(153,=
153, 153);}
..F0XO1GC-vb-h {width: 99%; border: 1px solid rgb(102, 136, 238); margin: 3p=
x 0px 3px 3px; font-size: 13px;}
..F0XO1GC-vb-f {color: rgb(136, 136, 136); font-size: 85%; text-decoration: =
none;}
..F0XO1GC-vb-k {background-color: white; max-width: 99%;}
..F0XO1GC-vb-q ,.F0XO1GC-vb-l ,.F0XO1GC-vb-E ,.F0XO1GC-vb-F ,body {min-heigh=
t: 200px; max-width: 100%; overflow: auto; outline: medium none; margin-bot=
tom: 4px;}
..F0XO1GC-vb-q {resize: none;}
..F0XO1GC-vb-E ,.F0XO1GC-vb-F ,body {height: 200px; resize: vertical;}
..F0XO1GC-vb-q ,.F0XO1GC-vb-F {padding: 4px;}
..F0XO1GC-vb-b {margin: 8px 0px;}
..F0XO1GC-vb-b td {vertical-align: middle;}
..F0XO1GC-vb-b a {cursor: pointer; padding: 0px 4px;}
..F0XO1GC-vb-j {white-space: nowrap;}
..F0XO1GC-vb-j a {text-decoration: underline;}
..F0XO1GC-vb-v {cursor: pointer; margin-left: 4px;}
..F0XO1GC-vb-e {padding-left: 10px;}
..F0XO1GC-vb-B {font-weight: bold; margin-bottom: 8px;}
..F0XO1GC-vb-w {margin-bottom: 5px; margin-right: 5px;}
..F0XO1GC-vb-x {max-width: 99%; overflow: hidden; transition: all 0.15s ease=
-in-out 0s;}
..F0XO1GC-vb-C {margin-bottom: 8px;}
..F0XO1GC-vb-o {color: rgb(136, 136, 136); text-decoration: none;}
..F0XO1GC-vb-y {font-weight: bold;}
..F0XO1GC-vb-n {border-bottom: 1px solid rgb(235, 235, 235); padding: 14px 0=
px 8px;}
..F0XO1GC-vb-c {display: inline-block; margin-right: 8px; position: relative=
; top: 6px;}
..F0XO1GC-vb-d {display: inline-block;}
..F0XO1GC-vb-D {font-weight: bold;}
..F0XO1GC-vb-u {display: inline-block; vertical-align: middle;}
..F0XO1GC-vb-t {padding-top: 3px;}
..F0XO1GC-vb-s {padding: 0px 5px 0px 15px;}
..F0XO1GC-vb-m {margin-right: 12px;}
..F0XO1GC-Uc-a {background: white none repeat scroll 0% 0%; min-width: 140px=
; overflow: hidden; white-space: nowrap;}
..F0XO1GC-Uc-c {background-color: white; border: medium none; font-size: 11p=
x; overflow: hidden; outline: medium none; margin: 2px 0px; width: 100%;}
..F0XO1GC-Uc-d {display: inline-block; margin: 0px; padding: 0px; width: 100=
%;}
..F0XO1GC-Lc-h {width: 99%; display: block; border: 1px solid rgb(102, 136, =
238); margin: 5px 0px;}
..F0XO1GC-Lc-d {font-size: 11px; color: rgb(136, 136, 136);}
..F0XO1GC-Lc-e {font-size: 11px; text-decoration: none; white-space: nowrap;=
}
..F0XO1GC-Lc-c {white-space: nowrap; padding-bottom: 2px;}
..F0XO1GC-Lc-a {color: rgb(136, 136, 136);}
..F0XO1GC-Lc-b {color: rgb(153, 0, 0); font-size: 11px;}
..F0XO1GC-Lc-g {height: 2em; overflow: hidden; margin-right: 10px; padding-b=
ottom: 5px;}
..F0XO1GC-Lc-f {line-height: 14px;}
..F0XO1GC-vc-a {font-style: italic;}
..jfk-button-default {color: rgb(255, 255, 255); text-shadow: 0px 1px rgba(0=
, 0, 0, 0.1); border: 1px solid rgb(41, 105, 29); background-color: rgb(61,=
148, 0); background-image: -moz-linear-gradient(center top , rgb(61, 148, =
0), rgb(57, 138, 0));}
..jfk-button-default:hover {border: 1px solid rgb(45, 98, 0); text-shadow: 0=
px 1px rgba(0, 0, 0, 0.3); background-color: rgb(54, 130, 0); background-im=
age: -moz-linear-gradient(center top , rgb(61, 148, 0), rgb(54, 130, 0));}
..jfk-button-default:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inse=
t;}
..jfk-button-default:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) i=
nset; outline: 0px none rgba(0, 0, 0, 0);}
..F0XO1GC-rc-c {display: inline-block; cursor: default; padding: 4px; positi=
on: relative;}
..F0XO1GC-rc-e {height: 18px; width: 18px; overflow: hidden; background: rgb=
a(0, 0, 0, 0) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCA=
QAAAD8x0bcAAABG0lEQVR4AZXRP04CQRiG8ekIibFhgG4rK2WR8KfVwitAaL2BsXgCFB7AgkAoC=
SE0XsATcAJtjSWCsbIjwFCsb7JkJiEWuk/zFr9kk/nMvz/ytOmpNhYTCrPIjD3JIceUwjGK+WRD=
nyoZVWPAlhUlAqIosuBCK+KOeyKtmKXKBzRjgwjXrEnUmisMZXZMDkh6Tx8tXnkjUu+8YNQQh01=
Rm4QqWjxwg1GPOIyqk9BKUU8zg/GdseAZLbIkdH9DMd/MOfWoE35X8+iJL04Ou0FCM0UWx8CjSy=
p+j3DkhFBM2RKT7rlKV4Ud4/BOBVYsKaPNrUrJig+sR6oktGVInaxqMGIncn584DwTXDgwYywmo=
JClRZcOTXKYkOEP/QCM69uSuWj5UAAAAABJRU5ErkJggg=3D=3D") no-repeat scroll 0px =
0px;}
..F0XO1GC-rc-b {display: inline-block;}
..F0XO1GC-rc-c:hover > .F0XO1GC-rc-d ,.F0XO1GC-rc-c:focus > .F0XO1GC-rc-d {d=
isplay: block; z-index: 10;}
..F0XO1GC-rc-g .F0XO1GC-rc-d {right: 0px;}
..F0XO1GC-rc-d {background-color: white; border: 1px solid rgb(187, 187, 187=
); color: black; display: none; font-family: "Roboto",Arial,sans-serif; fon=
t-size: 13px; font-variant: normal; font-weight: normal; line-height: 17px;=
margin: 10px -10px; max-width: 300px; padding: 15px; position: absolute; w=
hite-space: normal; width: 290px;}
..F0XO1GC-rc-a {left: 9px; position: absolute; top: -9px;}
..F0XO1GC-rc-g .F0XO1GC-rc-a {left: inherit; right: 33px;}
..F0XO1GC-rc-h {border-width: 0px 9px 9px; border-style: solid; -moz-border-=
top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors=
: none; -moz-border-left-colors: none; border-image: none; border-color: rg=
b(187, 187, 187) transparent; display: block; left: 0px; position: absolute=
; top: 0px;}
..F0XO1GC-rc-f {border-width: 0px 9px 9px; border-style: solid; -moz-border-=
top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors=
: none; -moz-border-left-colors: none; border-image: none; border-color: wh=
ite transparent; display: block; left: 0px; position: absolute; top: 1px; z=
-index: 120;}
..F0XO1GC-Q-a {margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 20=
4, 204); padding-left: 1ex;}
..F0XO1GC-Q-b {margin: 0px 0.8ex; border-style: solid; border-color: rgb(204=
, 204, 204); -moz-border-top-colors: none; -moz-border-right-colors: none; =
-moz-border-bottom-colors: none; -moz-border-left-colors: none; border-imag=
e: none; border-width: 0px 1px; padding: 0px 1ex;}
..F0XO1GC-Q-c {position: relative; top: 5px; height: 16px; width: 16px; over=
flow: hidden; background: rgba(0, 0, 0, 0) url("data:image/png;base64,iVBOR=
w0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAsElEQVR42mNgGGzADYivA/EfII5DEo+H=
il0DYhd8BtyFKkwBYgEkcRA7HYj/AvFtfAb8B+JHeOQfA/E/XJKMUAPu4zHgAVQNIzZJRajkSTw=
GnIKqkUOXqAXid0D8Coh98RjgB1XzFogrkSVagPgz1P8eeAzwhIbDJyBuQJdUgTrvBB4DTkLVKN=
IkECmORgao7aCElIolISVDE9JdfAaAAvAWVCFyUo6DGnwTmtwHEQAAzwI0Qf4MSWYAAAAASUVOR=
K5CYII=3D") no-repeat scroll 0px 0px;}
..picker-framepane-root {position: absolute; width: 100%; height: 100%;}
* .picker-framepane-root ,body .picker-framepane-root {overflow: hidden;}
..picker-framepane-content {position: absolute; top: 0px; left: 0px; right: =
0px; bottom: 0px; overflow: hidden;}
* html .picker-framepane-content ,body .picker-framepane-content {position:=
relative; top: 0px; left: 0px; right: 0px; bottom: 0px; width: 100%; heigh=
t: 100%;}
..picker-framepane-top ,.picker-framepane-bottom {position: absolute; left: =
0px; right: 0px;}
* html .picker-framepane-top ,* html .picker-framepane-bottom ,body .picker=
-framepane-top ,body .picker-framepane-bottom {width: 100%;}
..picker-framepane-top {top: 0px;}
..picker-framepane-bottom {bottom: 0px;}
..picker-framepane-left ,.picker-framepane-right {overflow: auto; position: =
absolute; top: 0px; bottom: 0px;}
* html .picker-framepane-left ,* html .picker-framepane-right ,body .picker=
-framepane-left ,body .picker-framepane-right {height: 100%;}
..picker-framepane-left {left: 0px;}
..picker-framepane-right {right: 0px;}
..picker-actionpane-frame {background-color: rgb(255, 255, 255); border-top:=
1px solid rgb(229, 229, 229);}
..picker-actionpane-content {overflow: hidden;}
..picker-actionpane-frame .jfk-button {margin-top: 20px;}
..picker-actionpane-icon {margin-right: 8px; font-size: 13px; vertical-align=
: middle; background-image: url("//ssl.gstatic.com/docs/picker/images/apps_=
upload_icons-v1.gif") !important; background-position: center 0px; height: =
16px; width: 16px;}
..picker-actionpane-photomove-div {padding: 4px;}
..picker-actionpane-photomove {font-size: 13px; padding-left: 6px; vertical-=
align: bottom;}
:first-child + html .picker-navhidden .picker-actionpane-root {padding-left=
: 10px;}
..picker-navhidden.picker-chrome-none .picker-actionpane-root {bottom: 0px; =
left: 0px; right: 0px;}
..picker-chrome-none .picker-actionpane-content {margin-bottom: 5px;}
..picker-chrome-none .picker-framepane-hidden .picker-actionpane-content {ma=
rgin-bottom: 0px;}
* html .picker-actionpane-content ,body .picker-actionpane-content {padding=
-right: 6px; padding-bottom: 6px;}
..picker-actionpane-float-item {-moz-user-select: none; float: left; margin:=
0px 20px; height: 100%;}
..picker-people-picker .picker-actionpane-float-item {float: right;}
..picker-actionpane-uploading-message {padding: 8px 20px 0px 0px;}
..picker-actionpane-upload-status {color: rgb(68, 68, 68); font-size: 12px; =
max-width: 320px; padding: 17px 0px; position: absolute; right: 0px; top: 0=
px;}
..picker-actionpane-upload-status .picker-progress-bar.progress-bar-horizont=
al {height: 9px; border: 1px solid rgb(153, 153, 153); margin: 1px; padding=
: 1px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; width: 100%=
; vertical-align: middle;}
..picker-actionpane-attachment-label {color: rgb(85, 85, 85); display: inlin=
e-block; font-size: 12px; margin-right: 10px;}
..picker-actionpane-attachment-type-float-item {float: right; margin: 20px;}
..picker-actionpane-attachment-type-float-item .jfk-button {vertical-align: =
middle; margin: 0px;}
..picker-segmentedbuttonbar .picker-actionpane-imagebutton-icon {display: in=
line-block; float: left; margin-top: 3px;}
..picker-segmentedbuttonbar .picker-actionpane-imagebutton-text {display: in=
line-block; font-size: 11px; line-height: 21px; margin-top: 3px;}
..picker-actionpane-frame .picker-segmentedbuttonbar {display: inline-block;=
outline: medium none; position: relative; z-index: 0;}
..picker-segmentedbuttonbar .jfk-button-standard.jfk-button-selected ,.picke=
r-segmentedbuttonbar .jfk-button-standard.jfk-button-clear-outline.jfk-butt=
on-selected {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; background-c=
olor: rgb(238, 238, 238); background-image: -moz-linear-gradient(center top=
, rgb(238, 238, 238), rgb(224, 224, 224)); transition: all 0.1s ease 0s; b=
order: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51);}
..picker-actionpane-upload-status .progress-bar-horizontal .progress-bar-thu=
mb {height: 100%; background-repeat: repeat-x; background-size: 20px 10px; =
background-color: rgb(204, 204, 204); background-attachment: scroll; backgr=
ound-image: linear-gradient(315deg, transparent, transparent 33%, rgba(0, 0=
, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, transparent 66%, transparent); ani=
mation-duration: 0.8s; animation-iteration-count: infinite; animation-timin=
g-function: linear;}
:first-child + html .picker-actionpane-float-item {float: right; margin: 0p=
x; padding-left: 4px;}
..picker-actionpane-frame .goog-imageless-button-content {padding: 6px 14px =
!important;}
..picker-actionpane-frame .goog-imageless-button {margin-left: 8px;}
:first-child + html .picker-actionpane-frame .goog-imageless-button {margin=
-left: 4px;}
..picker-actionpane-frame .goog-link-button {margin-top: 1px;}
..picker-actionpane-actionpanetext {float: right; font-size: 13px; margin: 2=
6px 37px 0px 0px; color: rgb(170, 170, 170);}
..picker-actionpane-upload-button-float-item {float: right;}
..picker-actionpane-upload-button {display: inline-block; float: right; marg=
in: 16px 23px;}
..picker-action-upload-button-img {margin-top: -3px; margin-right: 4px; vert=
ical-align: middle;}
..picker-main-overlay {position: absolute; background-color: rgb(255, 255, 2=
55); z-index: 2200; top: 0px; right: 0px; bottom: 0px; left: 0px; cursor: w=
ait;}
..picker-busy {opacity: 0.6; background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/loading-32-v1.gif") no-repeat scroll 50% 50%;}
..picker-gplus.picker-main-container {background-color: rgb(231, 231, 231);}
..picker-people-picker.picker-main-container {background-color: rgb(255, 255=
, 255);}
..picker-main-container .goog-link-button {color: rgb(17, 85, 204); text-dec=
oration: none; font-size: 13px; cursor: pointer; padding: 9px 2px; outline:=
medium none;}
..picker-main-container .goog-link-button-hover ,.picker-main-container .goo=
g-link-button-focused {text-decoration: underline;}
..picker-attributionbar-frame {background-color: rgb(255, 255, 255); border-=
top: 1px solid rgb(229, 229, 229); color: rgb(170, 170, 170); font-size: 11=
px; padding: 10px 20px; z-index: 2115;}
..picker-attributionbar-line {white-space: nowrap; overflow: hidden;}
..picker-actionpane-legal-text ,.picker-actionpane-notice {height: 100%; pad=
ding-right: 20px; cursor: default;}
..picker-actionpane-legal-text-td ,.picker-actionpane-notice-td {color: rgb(=
170, 170, 170); font-size: 13px; padding: 0px 20px 0px 10px; vertical-align=
: middle;}
..picker-actionpane-notice-link {cursor: pointer;}
..picker-actionpane-notice-error {color: rgb(204, 51, 51); font-size: 13px;}
..picker-actionpane-notice-warning {color: rgb(85, 85, 85); font-size: 11px;=
}
..picker-actionpane-notice-popup {font-size: 13px;}
..picker-actionpane-notice-popup .jfk-bubble-content-id {width: 300px;}
..picker-googlelogo-large {height: 44px; width: 120px;}
..picker-googlelogo-small {height: 20px; width: 52px;}
..picker-msgbar.jfk-butterBar {width: 75%; margin: auto; position: absolute;=
left: 0px; right: 0px; top: 10px; height: auto;}
..picker-msgbar.jfk-butterBar-shown {height: auto;}
..picker-msgbar.jfk-butterBar-warning .picker-link {color: rgb(255, 255, 255=
);}
..picker-main-container .goog-control {cursor: pointer;}
..picker-licensebar {color: rgb(68, 68, 68); font-size: 11px; margin-top: 7p=
x;}
..picker-loadingstatusbox {position: absolute; z-index: 100; padding: 2px 2p=
x 1px 4px; top: 50%; left: 50%; height: 32px; width: 32px; margin-top: -16p=
x; margin-left: -16px;}
..picker-loadingstatusbox-body {z-index: -1;}
..picker-photoupload-albumchooser-select {width: 242px; text-align: left; ma=
rgin: 0px; padding: 6px 10px;}
..picker-photoupload-albumchooser-select .goog-flat-menu-button-caption {wid=
th: 222px; padding: 0px 10px 0px 0px; overflow: hidden; text-overflow: elli=
psis; font-size: 11px; font-weight: bold; color: rgb(68, 68, 68); white-spa=
ce: nowrap; top: 1px; height: 16px;}
..picker-photoupload-albumchooser-select {height: 16px;}
..picker-photoupload-albumchooser-select .goog-flat-menu-button-caption ,.pi=
cker-photoupload-albumchooser-select .goog-flat-menu-button-dropdown ,.pick=
er-photoupload-albumchooser-select {line-height: normal;}
..picker-photoupload-albumchooser-select-menu {height: 180px; overflow: auto=
; z-index: 2200; width: 300px;}
..picker-photoupload-albumchooser-select-menu .goog-menuitem-content {text-o=
verflow: ellipsis; overflow: hidden;}
..picker-header-frame {padding: 17px 20px;}
..picker-header-content {border-top: 1px solid rgb(229, 229, 229);}
..picker-header-text {-moz-user-select: none; display: inline-block; font-si=
ze: 20px; vertical-align: top;}
..picker-header-icon {display: inline-block; margin: 0px 5px 5px 0px;}
..picker-dogfood-confidential-text {color: rgb(221, 75, 57); font-size: 13px=
; font-weight: bold; line-height: 25px; padding-left: 30px; text-transform:=
uppercase;}
..picker-header-close {line-height: 0; overflow: hidden; position: absolute;=
right: 11px; top: 20px;}
..picker-header-close .jfk-button-flat {cursor: pointer; height: inherit; ma=
rgin: 0px; width: inherit;}
..picker-debug-build-label {-moz-user-select: initial; background-color: rgb=
(255, 255, 255); color: rgb(153, 153, 153); font-size: 10px; position: abso=
lute; right: 10px; top: 0px;}
..picker-quotaview {padding: 21px; font-size: 13px;}
..picker-quotaview-div {margin-bottom: 10px;}
..picker-dropdown-menuitem {padding: 2px 7em 2px 30px; border: 0px none;}
..picker-dropdown-menuitem-header {color: rgb(153, 153, 153); cursor: defaul=
t; font-size: 11px; font-weight: bold; padding: 8px 7em 8px 30px; text-tran=
sform: uppercase;}
..picker-dropdown-menu {padding-bottom: 6px; width: 234px; z-index: 2108;}
..picker-url-input-frame {cursor: default; overflow: hidden; padding: 2px 10=
px 4px 8px; border-top: 1px solid rgb(229, 229, 229);}
..picker-url-input-text {font-size: 11px; color: rgb(68, 68, 68); margin: 5p=
x 0px 2px;}
..picker-url-input-box {border-width: 1px; border-style: solid; border-color=
: rgb(191, 191, 191) rgb(216, 216, 216) rgb(216, 216, 216); -moz-border-top=
-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: n=
one; -moz-border-left-colors: none; border-image: none; padding: 1px 0px; m=
argin: 1px 0px; font-size: 11px; width: 100%;}
..picker-url-input-box-selected {border: 2px solid rgb(77, 144, 254);}
..picker-urlview {padding: 14px 20px !important;}
..picker-urlview-header {color: rgb(68, 68, 68); font-size: 13px; font-weigh=
t: bold;}
..picker-urlview-input {width: 200px; border-width: 1px; border-style: solid=
; border-color: rgb(191, 191, 191) rgb(216, 216, 216) rgb(216, 216, 216); -=
moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bo=
ttom-colors: none; -moz-border-left-colors: none; border-image: none; margi=
n: 1px 1px 2px 8px; padding: 3px;}
input.picker-urlview-selected {border: 2px solid rgb(77, 144, 254); margin:=
0px 0px 1px 7px;}
..picker-urlview-loading-icon {background-image: url("//ssl.gstatic.com/docs=
/picker/images/apps_upload_icons-v1.gif") !important; background-position: =
center 0px; height: 16px; width: 16px; margin-left: 5px; margin-bottom: 2px=
; vertical-align: middle; opacity: 0.5;}
..picker-urlview-success-icon {background-image: url("//ssl.gstatic.com/docs=
/picker/images/apps_upload_icons-v1.gif") !important; width: 16px; margin-l=
eft: 5px; vertical-align: middle; opacity: 0.5;}
..picker-urlview-error-icon {background-image: url("//ssl.gstatic.com/docs/p=
icker/images/apps_upload_icons-v1.gif") !important; height: 16px; width: 16=
px; margin-left: 5px; margin-bottom: 2px; vertical-align: middle; opacity: =
0.5;}
..picker-urlview-success-icon {background-position: center -16px; height: 13=
px; margin-bottom: 0px;}
..picker-urlview-error-icon {background-position: center -30px;}
..picker-urlview-preview {position: absolute; margin-top: 8px;}
..picker-urlview-preview-td {vertical-align: middle; text-align: center; col=
or: rgb(170, 170, 170); font-size: 12px;}
..picker-urlview-preview-content {font-size: 14px; margin: 10px 0px;}
..picker-urlview-error-td {color: rgb(204, 51, 51);}
..picker-web-control {border: 6px solid rgb(255, 255, 255); cursor: pointer;=
margin: -2px 8px 4px; overflow: hidden; padding: 6px;}
..picker-web-control-hover ,.picker-web-control-focused {border: 6px solid r=
gb(243, 243, 243); background: rgb(243, 243, 243) none repeat scroll 0% 0%;=
}
..picker-web-control-checked {border: 6px solid rgb(77, 144, 254); backgroun=
d: rgb(242, 247, 255) none repeat scroll 0% 0%;}
..picker-web-control-title {font-size: small; text-decoration: underline;}
..picker-web-control-content {font-size: small; color: rgb(68, 68, 68);}
..picker-web-control-url {font-size: small; color: green;}
..picker-learnmore {position: absolute; bottom: 9px; left: 16px;}
..picker-actionpane-frame .picker-learnmore {float: right; margin-top: 16px;=
position: static;}
..picker-actionpane-frame .picker-learnmore .goog-link-button {margin-right:=
20px; width: auto;}
..picker-learnmore .goog-link-button {width: 134px; vertical-align: middle;}
..picker-spr-questionmark {display: inline-block; margin-right: 5px; vertica=
l-align: middle;}
..picker-iconview-container {height: 100%;}
..picker-iconview-img {border: 1px solid rgb(221, 221, 221); margin-right: a=
uto; margin-left: auto; display: block; position: relative; top: 5%;}
..picker-main-container .jfk-tooltip {z-index: 2103;}
..picker-main-container .jfk-textinput ,.picker-main-container .jfk-button {=
transition: all 0.218s ease 0s;}
..picker-menu-container .goog-menu {z-index: 2112;}
..picker-offscreen {position: absolute; left: -10000px; top: -10000px;}
..picker-content {position: absolute; top: 0px; bottom: 0px; left: 0px; righ=
t: 0px; overflow: hidden;}
..picker-chrome-none .picker-content {left: 0px; right: 0px; bottom: 0px; bo=
rder-top: 0px none; border-left: 0px none; border-right: 0px none;}
..picker-chrome-none .picker-framepane-hidden .picker-actionpane-content .pi=
cker-content {border: 0px none;}
* html .picker-content ,body .picker-content {position: relative; bottom: 0=
px; left: 0px; right: 0px; top: 0px; height: 100%; width: 100%;}
:first-child + html .picker-content {left: 0px; bottom: 0px; right: 0px; to=
p: 0px; overflow-x: hidden;}
:first-child + html .picker-chrome-none .picker-content {left: 0px;}
..picker-dataview {overflow-y: auto;}
..picker-dataview-message {font-size: 13px; padding: 18px 0px 0px 7px; color=
: rgb(51, 51, 51); line-height: 150%;}
..picker-messagelist .picker-dataview-message {margin-left: 13px; padding-to=
p: 5px;}
..picker-combosearchmessagelist .pickercombosearch-content {margin: 20px 0px=
0px 20px;}
..picker-combosearchmessagelist .jfk-button-flat {cursor: pointer; font-size=
: inherit; font-weight: inherit; height: auto;}
..picker-combosearchmessagelist .picker-spr-life-photo-archive-large {margin=
-left: 50px;}
..picker-combosearchmessagelist .picker-searchbar-stock-photos-large {color:=
rgb(102, 102, 102); font-size: 18px; font-weight: bold; height: 27px; marg=
in: 10px 0px 0px 50px; position: absolute; text-align: left; vertical-align=
: middle; width: auto;}
..picker-listrenderer-table {width: 100%; table-layout: fixed; border-spacin=
g: 0px;}
..picker-listrenderer-table .picker-dataview-message {padding: 20px;}
..picker-list-control-tablerow {font-size: 13px; width: 100%; cursor: pointe=
r;}
..picker-list-control-tablerow-with-checkbox {outline: medium none;}
..picker-list-control-focused .jfk-checkbox {border: 1px solid rgb(77, 144, =
254);}
..picker-list-control-unselectable .picker-list-control-cell {color: rgb(204=
, 204, 204);}
..picker-list-control-unselectable .picker-list-control-icon {opacity: 0.3;}
..picker-list-control-checked {background-color: rgb(255, 255, 204);}
..picker-list-control-checkbox-cell {width: 42px; margin: 0px; padding-left:=
20px;}
..picker-list-control-icon-cell {width: 23px; padding-left: 8px;}
..picker-list-control-icon {display: block; margin-top: 4px; padding-bottom:=
3px; width: 16px; height: 16px;}
..picker-list-control-icon-img {max-height: 16px; max-width: 16px;}
..picker-list-control-name-cell {margin-left: 5px; overflow: hidden; padding=
-left: 7px;}
..picker-list-control-lastedited-cell {margin-left: 5px; overflow: hidden; p=
adding-left: 7px; width: 115px;}
..picker-list-control-cell {white-space: nowrap; text-overflow: ellipsis; bo=
rder-bottom: 1px solid rgb(229, 229, 229); padding-top: 4px; padding-bottom=
: 4px;}
..picker-navpane-horizontal-content .picker-list-control-cell {border-color:=
rgb(221, 221, 221);}
..picker-breadcrumbs-frame {cursor: default; overflow: hidden; margin-top: 1=
9px; margin-left: 18px;}
..picker-chrome-none .picker-breadcrumbs-frame {border: 0px none; margin-lef=
t: 0px;}
:first-child + html .picker-breadcrumbs-frame ,* html .picker-breadcrumbs-f=
rame ,body .picker-breadcrumbs-frame {margin-left: 0px; margin-right: 0px;}
* html .picker-breadcrumbs-content ,body .picker-breadcrumbs-content {paddi=
ng-bottom: 6px;}
..picker-breadcrumbs-table {color: rgb(85, 85, 85); font-size: 13px; positio=
n: relative; top: 1px; left: 1px;}
..picker-breadcrumbs-parent {padding-right: 3px; padding-left: 3px; padding-=
bottom: 3px; white-space: nowrap;}
..picker-breadcrumbs-clickable {cursor: pointer;}
..picker-breadcrumbs-triangle {white-space: nowrap;}
..picker-breadcrumbs-triangle1 {border-color: transparent transparent transp=
arent rgb(85, 85, 85); border-style: solid; border-width: 4px; margin: -2px=
2px 3px 6px; width: 0px; height: 0px; vertical-align: middle; line-height:=
0;}
..picker-breadcrumbs-child {font-weight: bold; white-space: nowrap; padding-=
right: 3px; padding-left: 3px; padding-bottom: 3px;}
..picker-butterbar {color: rgb(34, 34, 34); background-color: rgb(249, 237, =
190); font-size: 11px; padding: 3px 0px 0px; height: 17px; text-align: cent=
er; border: 1px solid rgb(240, 195, 109); border-radius: 2px;}
..picker-butterbar .picker-link {color: rgb(0, 0, 0);}
..picker-navhorizontal-new .picker-header-content {border-top: medium none;}
..picker-navhorizontal-new .picker-navpane-horizontal-frame {border-bottom: =
1px solid rgb(225, 225, 225); box-shadow: 0px 1px 5px 1px rgb(225, 225, 225=
); z-index: 1;}
..picker-navpane-horizontal-tab-bar-wrapper {background-color: rgb(245, 245,=
245); height: 50px; text-align: center;}
..picker-navhorizontal-new .picker-navpane-horizontal-tab-bar-wrapper {text-=
align: left;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-bar {background: trans=
parent none repeat scroll 0% 0%; border-bottom: 0px none; display: inline-b=
lock; font-size: 12px; height: 50px; outline: medium none;}
..picker-navpane-horizontal-tab-bar-wrapper .picker-navpane-horizontal-tabco=
ntent {display: inline-block; font-size: 14px; vertical-align: middle;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab ,.picker-navpane-horiz=
ontal-tab-bar-wrapper .goog-menu-button {background: transparent none repea=
t scroll 0% 0%; border: medium none; color: rgb(34, 34, 34); float: left; h=
eight: 14px; margin: 0px 18px; padding: 16px 4px 7px; position: static;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-bar-top {border: mediu=
m none !important; padding: 0px !important;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-hover {background: tra=
nsparent none repeat scroll 0% 0%; border-bottom: 2px solid rgb(77, 144, 25=
4); color: rgb(38, 38, 38); cursor: pointer; padding-bottom: 18px;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-tab-selected {background: =
transparent none repeat scroll 0% 0% !important; border-width: 0px 0px 2px;=
border-style: none none solid; border-color: currentcolor currentcolor rgb=
(77, 144, 254); color: rgb(38, 38, 38); font-weight: bold; padding-bottom: =
18px;}
..picker-navpane-horizontal-tab-bar-wrapper .picker-navpane-horizontal-divid=
er {border-left: 1px solid rgb(34, 34, 34); cursor: default; margin: 10px 1=
0px 0px; padding: 7px 0px;}
..picker-navpane-horizontal-back-icon {display: inline-block; margin-right: =
1px; opacity: 0.8; vertical-align: middle;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button {font-size: 14=
px; outline: medium none;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button-hover ,.picker=
-navpane-horizontal-tab-bar-wrapper .goog-menu-button-open {border-bottom: =
2px solid rgb(77, 144, 254); color: rgb(38, 38, 38); cursor: pointer; paddi=
ng-bottom: 17px;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button.picker-horizon=
tal-navpane-more-selected {border-bottom: 2px solid rgb(77, 144, 254); colo=
r: rgb(38, 38, 38); cursor: pointer; font-weight: bold; padding-bottom: 17p=
x;}
..picker-navpane-horizontal-tab-bar-wrapper .goog-menu-button .picker-spr-ar=
row-dk-grey-down {opacity: 0.5; display: inline-block; margin: 0px 0px 2px =
5px;}
..picker-horizontal-navpane-more-menu {max-height: 50%; overflow-y: auto; z-=
index: 2200;}
..picker-navpane-horizontal-tab-bar-wrapper .picker-navpane-horizontal-paren=
t-tab {padding: 15px 2px 0px;}
..picker-navpane-horizontal-parent-tab.goog-tab-hover {padding-bottom: 19px;=
}
..picker-navpane-frame {background-color: rgb(255, 255, 255); border-right: =
1px solid rgb(229, 229, 229); overflow: visible; padding: 14px 0px 0px; z-i=
ndex: 2102;}
..picker-peoplesearchbar-showroom.picker-navpane-frame {background-color: rg=
b(245, 245, 245); border-right: 1px solid rgb(245, 245, 245);}
..picker-navpane-content {overflow: hidden; right: 0px;}
..picker-chrome-inline .picker-navpane-content {top: 10px;}
..picker-main-container .picker-navpane-frame .goog-tree-icon {width: 0px;}
..picker-main-container .picker-navpane-frame .picker-spr-arrow-dk-grey {cur=
sor: pointer; height: 7px; margin-bottom: 1px; margin-left: 2px; margin-rig=
ht: 6px; width: 4px;}
..picker-main-container .picker-navpane-frame .picker-spr-arrow-dk-grey-down=
{cursor: pointer; height: 4px; margin-right: 5px; width: 7px;}
..picker-main-container .picker-navpane-frame .picker-navpane-hascollapse .g=
oog-tree-expand-icon-blank {width: 12px;}
..picker-main-container .picker-navpaneitem .goog-tree-row .goog-tree-icon {=
left: 11px; position: relative;}
..picker-main-container .picker-navpane-frame .goog-tree-root.goog-tree-item=
{margin-top: -1px; outline: medium none; overflow: auto; padding: 2px 12px=
0px 0px;}
..picker-main-container .picker-navpaneitem .goog-tree-item-label {color: rg=
b(68, 68, 68); cursor: pointer; font-size: 13px; margin: 0px 20px 0px 0px; =
overflow: visible; white-space: normal; width: auto; z-index: 2103;}
..picker-main-container .goog-tree-item .picker-navpaneitem .selected {backg=
round-color: transparent; font-weight: normal;}
..picker-main-container .picker-navpane-frame .goog-tree-item .goog-tree-row=
{border-left: 5px solid transparent;}
..picker-main-container .picker-navpane-frame .goog-tree-root .picker-navpan=
eitem-active {border-left: 5px solid rgb(221, 75, 57); border-radius: 0px;}
..picker-main-container .picker-navpaneitem .goog-tree-item-label {margin-le=
ft: 11px;}
..picker-main-container .goog-tree-root .picker-navpaneitem-active .goog-tre=
e-item-label {color: rgb(207, 66, 54); font-weight: bold;}
..picker-main-container .picker-navpaneitem .goog-tree-row {height: auto; li=
ne-height: 90%; margin: 0px; padding: 3px 0px 6px; white-space: nowrap;}
..picker-main-container .picker-navpanedivider .goog-tree-row {line-height: =
0; margin: 0px 10px; padding: 10px 0px; white-space: nowrap;}
..picker-main-container .picker-navpane-frame .picker-navpanedivider .goog-t=
ree-expand-icon-blank ,.picker-main-container .picker-navpanedivider .picke=
r-navpanedivider-icon {height: 0px; position: absolute;}
..picker-main-container .picker-navpanedivider .picker-nav-hr {background-co=
lor: rgb(235, 235, 235); border-width: 0px; color: rgb(235, 235, 235); heig=
ht: 1px;}
..picker-main-container .goog-tree-item .picker-navpaneitem .picker-navpanei=
tem-root {margin-bottom: 1px; padding: 6px 0px 9px;}
..picker-main-container .goog-tree-item .picker-navpaneitem .picker-navpanei=
tem-hover ,.picker-main-container .focused .picker-navpaneitem .selected {b=
ackground-color: rgb(238, 238, 238);}
..picker-main-container .picker-navpane-frame .goog-tree-root .picker-navpan=
eitem .picker-navpaneitem-not-clickable {cursor: default;}
:first-child + html .picker-main-container .picker-navpane-frame .goog-tree=
-root .picker-navpaneitem .goog-tree-item-label {margin-right: 0px; padding=
-bottom: 4px;}
:first-child + html .picker-main-container .picker-navpaneitem .goog-tree-r=
ow {padding-bottom: 0px;}
:first-child + html .picker-main-container .goog-tree-item .picker-navpanei=
tem .picker-navpaneitem-root {padding-bottom: 5px;}
..picker-navpane-frame .picker-buildlabel {bottom: 0px; color: rgb(153, 153,=
153); font-size: 10px; left: 0px; padding: 5px; position: absolute;}
..picker-navpane-frame .picker-buildlabel-a {color: rgb(153, 153, 153);}
..picker-noticebar {font-size: 12px; padding: 7px 14px 15px; color: rgb(68, =
68, 68);}
..picker-progress-bar-spinner.progress-bar-horizontal {border: 0px none; bac=
kground: transparent url("//ssl.gstatic.com/docs/picker/images/loading-v1.g=
if") no-repeat scroll 0px 0px; height: 16px; width: 16px; margin: auto auto=
5px; opacity: 0.5;}
..picker-progress-bar-spinner .progress-bar-thumb {opacity: 0;}
..picker-progress-bar.progress-bar-horizontal {position: relative; border: 0=
px none; text-align: left; background: rgb(225, 225, 225) none repeat scrol=
l 0% 0%; vertical-align: top;}
..picker-main-container .progress-bar-thumb {transition: width 1s ease 0s;}
..picker-progress-bar .progress-bar-thumb {background: rgb(44, 117, 236) non=
e repeat scroll 0% 0%; height: 16px;}
..picker-jfk-tall-progressbar {border-width: 1px; border-style: solid; paddi=
ng: 1px;}
..picker-jfk-tall-progressbar .progress-bar-thumb {height: 8px;}
..picker-sspr-back-arrow-black {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -129=
px; height: 21px; width: 21px;}
..picker-sspr-back-arrow-inverted {background: rgba(0, 0, 0, 0) url("//ssl.g=
static.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -=
562px; height: 21px; width: 21px;}
..picker-sspr-close-tab {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -150px; hei=
ght: 15px; width: 15px;}
..picker-sspr-drive-logo-black {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -61p=
x; height: 20px; width: 20px;}
..picker-sspr-folder-new {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -349px; he=
ight: 21px; width: 21px;}
..picker-sspr-forward-arrow-black {background: rgba(0, 0, 0, 0) url("//ssl.g=
static.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -=
436px; height: 21px; width: 21px;}
..picker-sspr-forward-arrow-inverted {background: rgba(0, 0, 0, 0) url("//ss=
l.gstatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0p=
x -394px; height: 21px; width: 21px;}
..picker-sspr-group {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/doc=
s/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -481px; height:=
24px; width: 24px;}
..picker-sspr-group-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -601px; h=
eight: 24px; width: 24px;}
..picker-sspr-help-black {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -165px; he=
ight: 24px; width: 24px;}
..picker-sspr-help-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -538px; he=
ight: 24px; width: 24px;}
..picker-sspr-inline-image {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -517px; =
height: 21px; width: 21px;}
..picker-sspr-launch {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/do=
cs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -625px; height=
: 18px; width: 18px;}
..picker-sspr-launch-inverted {background: rgba(0, 0, 0, 0) url("//ssl.gstat=
ic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -583p=
x; height: 18px; width: 18px;}
..picker-sspr-minpicker-back-button {background: rgba(0, 0, 0, 0) url("//ssl=
..gstatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px=
-21px; height: 16px; width: 16px;}
..picker-sspr-minpicker-forward-button {background: rgba(0, 0, 0, 0) url("//=
ssl.gstatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll =
0px -309px; height: 16px; width: 16px;}
..picker-sspr-my-drive-new-black {background: rgba(0, 0, 0, 0) url("//ssl.gs=
tatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -4=
57px; height: 24px; width: 24px;}
..picker-sspr-my-drive-new-white {background: rgba(0, 0, 0, 0) url("//ssl.gs=
tatic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -2=
37px; height: 24px; width: 24px;}
..picker-sspr-mydrive {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/d=
ocs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -370px; heigh=
t: 24px; width: 24px;}
..picker-sspr-mydrive-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -261px;=
height: 24px; width: 24px;}
..picker-sspr-open-link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -505px; hei=
ght: 12px; width: 12px;}
..picker-sspr-paper-clip {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -415px; he=
ight: 21px; width: 21px;}
..picker-sspr-plus {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/docs=
/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -37px; height: 2=
4px; width: 24px;}
..picker-sspr-plus-inverted {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -213px;=
height: 24px; width: 24px;}
..picker-sspr-search-icon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px 0px; heig=
ht: 21px; width: 21px;}
..picker-sspr-sort {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/docs=
/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -325px; height: =
24px; width: 24px;}
..picker-sspr-starred {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/d=
ocs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -81px; height=
: 24px; width: 24px;}
..picker-sspr-starred-white {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -285px;=
height: 24px; width: 24px;}
..picker-sspr-team-drive-black {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -105=
px; height: 24px; width: 24px;}
..picker-sspr-team-drive-white {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/docs/picker/images/onepick_sprite12.svg") no-repeat scroll 0px -189=
px; height: 24px; width: 24px;}
..picker-spr-add-people ,.picker-spr-added-check ,.picker-spr-arrow-back ,.p=
icker-spr-arrow-back-white ,.picker-spr-arrow-dk-grey ,.picker-spr-arrow-dk=
-grey-down ,.picker-spr-arrow-forward ,.picker-spr-arrow-forward-white ,.pi=
cker-spr-audience-acl-small-domain-public ,.picker-spr-audience-acl-small-e=
xtended-circles ,.picker-spr-audience-acl-small-limited ,.picker-spr-audien=
ce-acl-small-owner-only ,.picker-spr-audience-acl-small-public ,.picker-spr=
-back-folder-ltr ,.picker-spr-back-folder-rtl ,.picker-spr-black-close ,.pi=
cker-spr-check ,.picker-spr-checkbox-active ,.picker-spr-checkbox-selected =
,.picker-spr-checkbox-selected-blue ,.picker-spr-checkmark-checked ,.picker=
-spr-circle ,.picker-spr-circle-active ,.picker-spr-circle-big ,.picker-spr=
-circle-big-white ,.picker-spr-circle-hover ,.picker-spr-close-box-small-of=
f ,.picker-spr-close-box-small-on ,.picker-spr-close-box-tiny-black ,.picke=
r-spr-close-box-tiny-white ,.picker-spr-close-min ,.picker-spr-collection ,=
..picker-spr-drive-64 ,.picker-spr-drive-black-icon ,.picker-spr-drive-drag-=
upload-icon ,.picker-spr-drive-upload-icon ,.picker-spr-folder-shared-white=
,.picker-spr-folder-white ,.picker-spr-gmail ,.picker-spr-google-logo ,.pi=
cker-spr-google-logo-large ,.picker-spr-google-photos-20 ,.picker-spr-googl=
e-photos-24 ,.picker-spr-googleplus ,.picker-spr-grid-view ,.picker-spr-ic-=
dragfile-blue ,.picker-spr-ic-dragfile-bluepng ,.picker-spr-ic-dragfile-gre=
y ,.picker-spr-ic-dragphoto-blue ,.picker-spr-ic-dragphoto-grey ,.picker-sp=
r-ic-dragvideo-blue ,.picker-spr-ic-dragvideo-grey ,.picker-spr-ic-photos-1=
2 ,.picker-spr-ic-photos-20 ,.picker-spr-ic-remove ,.picker-spr-icon-autofi=
x-active ,.picker-spr-icon-computer ,.picker-spr-icon-cover-photo ,.picker-=
spr-icon-photos-delete ,.picker-spr-icon-photos-delete-white ,.picker-spr-i=
con-remove-active ,.picker-spr-icon-rotate-ccw-active ,.picker-spr-icon-rot=
ate-cw-active ,.picker-spr-icon-rotate-left-white ,.picker-spr-icon-rotate-=
right-white ,.picker-spr-icon-three-dots-active ,.picker-spr-icon-zoom-max =
,.picker-spr-icon-zoom-min ,.picker-spr-imagefilter-all-colors ,.picker-spr=
-imagefilter-monochrome ,.picker-spr-inline-image ,.picker-spr-large-plus-b=
lack ,.picker-spr-life-photo-archive ,.picker-spr-life-photo-archive-large =
,.picker-spr-list-view ,.picker-spr-maps-cancel-en ,.picker-spr-maps-next-d=
is ,.picker-spr-maps-next-en ,.picker-spr-maps-prev-dis ,.picker-spr-maps-p=
rev-en ,.picker-spr-mic ,.picker-spr-navpane-albums ,.picker-spr-navpane-al=
bums-selected ,.picker-spr-navpane-from-computer ,.picker-spr-navpane-from-=
computer-selected ,.picker-spr-navpane-gdrive ,.picker-spr-navpane-gdrive-s=
elected ,.picker-spr-navpane-instantupload ,.picker-spr-navpane-instantuplo=
ad-selected ,.picker-spr-navpane-url ,.picker-spr-navpane-webcam ,.picker-s=
pr-navpane-webcam-selected ,.picker-spr-navpane-youtube ,.picker-spr-new-fo=
lder ,.picker-spr-no-photo ,.picker-spr-no-photo-48 ,.picker-spr-no-photo-8=
4 ,.picker-spr-paper-clip ,.picker-spr-photo-discard ,.picker-spr-photo-ico=
n ,.picker-spr-photo-upload-cancel ,.picker-spr-picasa-rectangles ,.picker-=
spr-plus-black ,.picker-spr-plus-gray ,.picker-spr-profile-rotate-ccw ,.pic=
ker-spr-profile-rotate-cw ,.picker-spr-questionmark ,.picker-spr-rio-arrow-=
menu ,.picker-spr-rio-check-active ,.picker-spr-rio-check-checked ,.picker-=
spr-rio-checkmark-active ,.picker-spr-rio-checkmark-selected ,.picker-spr-r=
io-rotate ,.picker-spr-rio-trash ,.picker-spr-rio-upload ,.picker-spr-rio-u=
pload-big ,.picker-spr-sad-face ,.picker-spr-sort ,.picker-spr-sort-bar ,.p=
icker-spr-toolbar-gray-rotate-ccw ,.picker-spr-toolbar-gray-rotate-cw ,.pic=
ker-spr-toolbar-gray-trash ,.picker-spr-toolbar-white-rotate-ccw ,.picker-s=
pr-toolbar-white-rotate-cw ,.picker-spr-toolbar-white-trash ,.picker-spr-up=
load-arrow ,.picker-spr-upload-error ,.picker-spr-upload-retry ,.picker-spr=
-video-play-overlay ,.picker-spr-video-play-overlay-small ,.picker-spr-vide=
o-stars ,.picker-spr-video-stars-rtl ,.picker-spr-video-upload-icon ,.picke=
r-spr-white-checkmark ,.picker-spr-youtube {background: rgba(0, 0, 0, 0) ur=
l("//ssl.gstatic.com/docs/picker/images/picker_sprite-v107.png") no-repeat =
scroll 0% 0%;}
..picker-spr-add-people {background-position: -28px -230px; width: 27px; hei=
ght: 26px;}
..picker-spr-added-check {background-position: 0px -676px; width: 21px; heig=
ht: 21px;}
..picker-spr-arrow-back-white {background-position: -128px -1112px; width: 2=
1px; height: 21px;}
..picker-spr-arrow-back {background-position: -15px -1402px; width: 21px; he=
ight: 21px;}
..picker-spr-arrow-dk-grey-down {background-position: 0px -1240px; width: 7p=
x; height: 4px;}
..picker-spr-arrow-dk-grey {background-position: 0px -230px; width: 4px; hei=
ght: 7px;}
..picker-spr-arrow-forward-white {background-position: 0px -576px; width: 21=
px; height: 21px;}
..picker-spr-arrow-forward {background-position: -58px -676px; width: 21px; =
height: 21px;}
..picker-spr-audience-acl-small-domain-public {background-position: -110px -=
1402px; width: 12px; height: 12px;}
..picker-spr-audience-acl-small-extended-circles {background-position: -88px=
-1388px; width: 12px; height: 12px;}
..picker-spr-audience-acl-small-limited {background-position: -4px -310px; w=
idth: 12px; height: 12px;}
..picker-spr-audience-acl-small-owner-only {background-position: 0px -1112px=
; width: 12px; height: 12px;}
..picker-spr-audience-acl-small-public {background-position: 0px -985px; wid=
th: 12px; height: 12px;}
..picker-spr-back-folder-ltr {background-position: 0px -1012px; width: 21px;=
height: 21px;}
..picker-spr-back-folder-rtl {background-position: 0px -1304px; width: 21px;=
height: 21px;}
..picker-spr-black-close {background-position: -147px -244px; width: 11px; h=
eight: 11px;}
..picker-spr-checkbox-active {background-position: -15px -1140px; width: 24p=
x; height: 24px;}
..picker-spr-checkbox-selected-blue {background-position: 0px -1325px; width=
: 24px; height: 24px;}
..picker-spr-checkbox-selected {background-position: -46px -802px; width: 24=
px; height: 24px;}
..picker-spr-checkmark-checked {background-position: -19px -922px; width: 18=
px; height: 18px;}
..picker-spr-check {background-position: 0px -890px; width: 14px; height: 11=
px;}
..picker-spr-circle-active {background-position: 0px -1373px; width: 14px; h=
eight: 14px;}
..picker-spr-circle-big-white {background-position: -79px -676px; width: 26p=
x; height: 26px;}
..picker-spr-circle-big {background-position: -83px -1112px; width: 26px; he=
ight: 26px;}
..picker-spr-circle-hover {background-position: -147px -230px; width: 14px; =
height: 14px;}
..picker-spr-circle {background-position: -113px -64px; width: 14px; height:=
14px;}
..picker-spr-close-box-small-off {background-position: -79px -945px; width: =
15px; height: 15px;}
..picker-spr-close-box-small-on {background-position: -43px -676px; width: 1=
5px; height: 15px;}
..picker-spr-close-box-tiny-black {background-position: -19px -915px; width:=
7px; height: 7px;}
..picker-spr-close-box-tiny-white {background-position: -82px -985px; width:=
7px; height: 7px;}
..picker-spr-close-min {background-position: -105px -676px; width: 11px; hei=
ght: 11px;}
..picker-spr-collection {background-position: -21px -1077px; width: 16px; he=
ight: 13px;}
..picker-spr-drive-64 {background-position: -88px -1511px; width: 64px; heig=
ht: 64px;}
..picker-spr-drive-black-icon {background-position: -79px -960px; width: 21p=
x; height: 21px;}
..picker-spr-drive-drag-upload-icon {background-position: 0px -422px; width:=
35px; height: 45px;}
..picker-spr-drive-upload-icon {background-position: -149px -1112px; width: =
11px; height: 14px;}
..picker-spr-folder-shared-white {background-position: -4px -289px; width: 2=
1px; height: 21px;}
..picker-spr-folder-white {background-position: -32px -363px; width: 21px; h=
eight: 21px;}
..picker-spr-gmail {background-position: -72px -1388px; width: 16px; height:=
11px;}
..picker-spr-google-logo-large {background-position: -40px -826px; width: 11=
8px; height: 41px;}
..picker-spr-google-logo {background-position: -64px -915px; width: 61px; he=
ight: 28px;}
..picker-spr-google-photos-20 {background-position: -90px -802px; width: 20p=
x; height: 20px;}
..picker-spr-google-photos-24 {background-position: -4px -230px; width: 24px=
; height: 24px;}
..picker-spr-googleplus {background-position: -109px -390px; width: 48px; he=
ight: 48px;}
..picker-spr-grid-view {background-position: 0px -1140px; width: 15px; heigh=
t: 15px;}
..picker-spr-ic-dragfile-bluepng {background-position: 0px -130px; width: 10=
0px; height: 100px;}
..picker-spr-ic-dragfile-blue {background-position: -100px -130px; width: 64=
px; height: 64px;}
..picker-spr-ic-dragfile-grey {background-position: 0px -1447px; width: 64px=
; height: 64px;}
..picker-spr-ic-dragphoto-blue {background-position: -65px -278px; width: 64=
px; height: 64px;}
..picker-spr-ic-dragphoto-grey {background-position: -90px -1240px; width: 6=
4px; height: 64px;}
..picker-spr-ic-dragvideo-blue {background-position: 0px -1511px; width: 64p=
x; height: 64px;}
..picker-spr-ic-dragvideo-grey {background-position: 0px -702px; width: 100p=
x; height: 100px;}
..picker-spr-ic-photos-12 {background-position: -125px -915px; width: 12px; =
height: 12px;}
..picker-spr-ic-photos-20 {background-position: -70px -802px; width: 20px; h=
eight: 20px;}
..picker-spr-ic-remove {background-position: -24px -826px; width: 16px; heig=
ht: 16px;}
..picker-spr-icon-autofix-active {background-position: 0px -802px; width: 24=
px; height: 24px;}
..picker-spr-icon-computer {background-position: -21px -676px; width: 22px; =
height: 20px;}
..picker-spr-icon-cover-photo {background-position: -124px -702px; width: 14=
px; height: 21px;}
..picker-spr-icon-photos-delete-white {background-position: 0px -826px; widt=
h: 24px; height: 24px;}
..picker-spr-icon-photos-delete {background-position: -100px -702px; width: =
24px; height: 24px;}
..picker-spr-icon-remove-active {background-position: -100px -726px; width: =
24px; height: 24px;}
..picker-spr-icon-rotate-ccw-active {background-position: 0px 0px; width: 24=
px; height: 24px;}
..picker-spr-icon-rotate-cw-active {background-position: -64px -1511px; widt=
h: 24px; height: 24px;}
..picker-spr-icon-rotate-left-white {background-position: -43px -936px; widt=
h: 15px; height: 9px;}
..picker-spr-icon-rotate-right-white {background-position: 0px -1402px; widt=
h: 15px; height: 9px;}
..picker-spr-icon-three-dots-active {background-position: -104px 0px; width:=
24px; height: 24px;}
..picker-spr-icon-zoom-max {background-position: 0px -390px; width: 32px; he=
ight: 32px;}
..picker-spr-icon-zoom-min {background-position: 0px -342px; width: 32px; he=
ight: 32px;}
..picker-spr-imagefilter-all-colors {background-position: -21px -1304px; wid=
th: 19px; height: 19px;}
..picker-spr-imagefilter-monochrome {background-position: -109px -1112px; wi=
dth: 19px; height: 19px;}
..picker-spr-inline-image {background-position: -43px -915px; width: 21px; h=
eight: 21px;}
..picker-spr-large-plus-black {background-position: -87px -230px; width: 12p=
x; height: 12px;}
..picker-spr-life-photo-archive-large {background-position: 0px -945px; widt=
h: 79px; height: 40px;}
..picker-spr-life-photo-archive {background-position: -12px -1112px; width: =
55px; height: 28px;}
..picker-spr-list-view {background-position: -55px -262px; width: 15px; heig=
ht: 15px;}
..picker-spr-maps-cancel-en {background-position: 0px -883px; width: 7px; he=
ight: 7px;}
..picker-spr-maps-next-dis {background-position: -128px -867px; width: 6px; =
height: 11px;}
..picker-spr-maps-next-en {background-position: -37px -915px; width: 6px; he=
ight: 11px;}
..picker-spr-maps-prev-dis {background-position: -24px -32px; width: 6px; he=
ight: 11px;}
..picker-spr-maps-prev-en {background-position: -76px -985px; width: 6px; he=
ight: 11px;}
..picker-spr-mic {background-position: 0px -1349px; width: 9px; height: 14px=
;}
..picker-spr-navpane-albums-selected {background-position: -99px -230px; wid=
th: 48px; height: 48px;}
..picker-spr-navpane-albums {background-position: -100px -750px; width: 48px=
; height: 48px;}
..picker-spr-navpane-from-computer-selected {background-position: -109px -43=
8px; width: 30px; height: 28px;}
..picker-spr-navpane-from-computer {background-position: -21px -1049px; widt=
h: 30px; height: 28px;}
..picker-spr-navpane-gdrive-selected {background-position: -24px -1325px; wi=
dth: 48px; height: 48px;}
..picker-spr-navpane-gdrive {background-position: 0px -508px; width: 48px; h=
eight: 48px;}
..picker-spr-navpane-instantupload-selected {background-position: -56px 0px;=
width: 48px; height: 48px;}
..picker-spr-navpane-instantupload {background-position: -53px -342px; width=
: 48px; height: 48px;}
..picker-spr-navpane-url {background-position: -83px -64px; width: 30px; hei=
ght: 30px;}
..picker-spr-navpane-webcam-selected {background-position: 0px -1244px; widt=
h: 48px; height: 48px;}
..picker-spr-navpane-webcam {background-position: -101px -342px; width: 48px=
; height: 48px;}
..picker-spr-navpane-youtube {background-position: -21px -576px; width: 30px=
; height: 30px;}
..picker-spr-new-folder {background-position: -48px -1240px; width: 21px; he=
ight: 21px;}
..picker-spr-no-photo-48 {background-position: -80px -867px; width: 48px; he=
ight: 48px;}
..picker-spr-no-photo-84 {background-position: -72px -1304px; width: 84px; h=
eight: 84px;}
..picker-spr-no-photo {background-position: 0px -476px; width: 32px; height:=
32px;}
..picker-spr-paper-clip {background-position: -69px -1240px; width: 21px; he=
ight: 21px;}
..picker-spr-photo-discard {background-position: -41px -278px; width: 24px; =
height: 24px;}
..picker-spr-photo-icon {background-position: -105px -687px; width: 18px; he=
ight: 14px;}
..picker-spr-photo-upload-cancel {background-position: -41px -302px; width: =
10px; height: 10px;}
..picker-spr-picasa-rectangles {background-position: -19px -867px; width: 61=
px; height: 44px;}
..picker-spr-plus-black {background-position: -32px -342px; width: 21px; hei=
ght: 21px;}
..picker-spr-plus-gray {background-position: -148px -278px; width: 9px; heig=
ht: 9px;}
..picker-spr-profile-rotate-ccw {background-position: 0px -867px; width: 19p=
x; height: 16px;}
..picker-spr-profile-rotate-cw {background-position: -64px -1535px; width: 1=
9px; height: 16px;}
..picker-spr-questionmark {background-position: -123px -676px; width: 16px; =
height: 16px;}
..picker-spr-rio-arrow-menu {background-position: -83px -48px; width: 16px; =
height: 16px;}
..picker-spr-rio-check-active {background-position: -55px -230px; width: 32p=
x; height: 32px;}
..picker-spr-rio-check-checked {background-position: -24px 0px; width: 32px;=
height: 32px;}
..picker-spr-rio-checkmark-active {background-position: -137px -867px; width=
: 24px; height: 24px;}
..picker-spr-rio-checkmark-selected {background-position: -139px -676px; wid=
th: 24px; height: 24px;}
..picker-spr-rio-rotate {background-position: -25px -278px; width: 16px; hei=
ght: 16px;}
..picker-spr-rio-trash {background-position: -67px -1112px; width: 16px; hei=
ght: 16px;}
..picker-spr-rio-upload-big {background-position: -35px -390px; width: 74px;=
height: 86px;}
..picker-spr-rio-upload {background-position: -128px 0px; width: 25px; heigh=
t: 29px;}
..picker-spr-sad-face {background-position: -16px -48px; width: 67px; height=
: 58px;}
..picker-spr-sort-bar {background-position: -55px -1402px; width: 20px; heig=
ht: 20px;}
..picker-spr-sort {background-position: -139px -438px; width: 13px; height: =
18px;}
..picker-spr-toolbar-gray-rotate-ccw {background-position: -94px -945px; wid=
th: 19px; height: 14px;}
..picker-spr-toolbar-gray-rotate-cw {background-position: -36px -1402px; wid=
th: 19px; height: 14px;}
..picker-spr-toolbar-gray-trash {background-position: -75px -1402px; width: =
19px; height: 14px;}
..picker-spr-toolbar-white-rotate-ccw {background-position: -129px -278px; w=
idth: 19px; height: 14px;}
..picker-spr-toolbar-white-rotate-cw {background-position: 0px -915px; width=
: 19px; height: 14px;}
..picker-spr-toolbar-white-trash {background-position: 0px -850px; width: 19=
px; height: 14px;}
..picker-spr-upload-arrow {background-position: -4px -278px; width: 11px; he=
ight: 11px;}
..picker-spr-upload-error {background-position: 0px -48px; width: 16px; heig=
ht: 14px;}
..picker-spr-upload-retry {background-position: -100px -1388px; width: 14px;=
height: 14px;}
..picker-spr-video-play-overlay-small {background-position: -24px -802px; wi=
dth: 22px; height: 22px;}
..picker-spr-video-play-overlay {background-position: -21px -1012px; width: =
37px; height: 37px;}
..picker-spr-video-stars-rtl {background-position: 0px -106px; width: 110px;=
height: 24px;}
..picker-spr-video-stars {background-position: 0px -1423px; width: 110px; he=
ight: 24px;}
..picker-spr-video-upload-icon {background-position: -82px -992px; width: 22=
px; height: 14px;}
..picker-spr-white-checkmark {background-position: -64px -1551px; width: 12p=
x; height: 9px;}
..picker-spr-youtube {background-position: -12px -985px; width: 64px; height=
: 27px;}
..picker-searchbar {margin: 15px 0px 8px 20px;}
..picker-searchbar .jfk-button {background-image: none; vertical-align: midd=
le;}
..picker-searchbar .goog-menu {z-index: 2112;}
..picker-searchbar-input {font-size: 13px; text-align: left;}
..picker-searchbar-input-logo .picker-spr-google-logo {margin-right: 10px;}
..picker-searchbar .picker-searchbar-input-logo {position: relative;}
..picker-searchbar .picker-flat-menu-button {cursor: pointer; height: 14px; =
left: 221px; min-width: 0px; opacity: 0.5; padding: 11px 15px 0px 5px; posi=
tion: absolute; top: 6px;}
..picker-searchbar .picker-flat-menu-button.jfk-button-hover ,.picker-search=
bar .picker-flat-menu-button.jfk-button-focused {opacity: 1;}
..picker-searchbar-input-box.picker-searchbar-dropdownmenu-padding {width: 2=
10px; padding-right: 23px;}
..picker-searchbar .picker-flat-menu-button .picker-spr-arrow-dk-grey-down {=
position: absolute;}
..picker-searchbar-input-logo .picker-spr-life-photo-archive {margin: 0px 6p=
x 0px 2px;}
..picker-searchbar-input-item {vertical-align: bottom;}
..picker-searchbar-input-box {width: 225px; margin: 4px 15px 5px 0px; vertic=
al-align: middle;}
..picker-searchbar-logo .picker-searchbar-input-box {margin-top: 5px;}
..picker-searchbar-input-logo .picker-searchbar-stock-photos ,.goog-menuitem=
-content .picker-searchbar-stock-photos {text-align: left; color: rgb(102, =
102, 102); padding: 6px 4px 0px 0px; margin: 0px; width: auto; height: 22px=
; vertical-align: middle; font-size: 15px; font-weight: bold;}
..picker-searchbar-input-logo .goog-flat-menu-button-caption .picker-spr-goo=
gle-logo {margin: 2px 2px 2px 0px;}
..picker-searchbar-input-logo .goog-flat-menu-button-caption .picker-spr-lif=
e-photo-archive {margin: 2px 6px 2px 2px;}
..picker-searchbar-input-logo .goog-flat-menu-button-caption .picker-searchb=
ar-stock-photos {padding: 2px 0px 0px; height: 30px;}
..goog-menuitem.picker-searchbar-menuitem {padding-right: 13px; padding-left=
: 13px;}
..picker-searchbar-menuitem .goog-menuitem-content {margin-top: -2px;}
..picker-searchbar-input-logo .goog-flat-menu-button.picker-searchbar-combob=
ox-dropdown {border-bottom-right-radius: 0px; border-top-right-radius: 0px;=
height: 32px; margin: 0px; vertical-align: middle;}
..picker-searchbar-input-logo .goog-flat-menu-button.picker-searchbar-combob=
ox-dropdown.goog-flat-menu-button-focused {z-index: 2104;}
..picker-searchbar-combobox .picker-searchbar-input-box {padding-top: 4px; p=
adding-bottom: 3px; margin-left: -1px; position: relative; z-index: 2103;}
..picker-searchbar-combobox .jfk-button {height: 28px; padding-top: 4px;}
..picker-drive-view-switcher {display: inline-block; position: absolute; rig=
ht: 20px; top: 19px;}
..picker-drive-view-switcher-with-drive-sort {right: 58px;}
..picker-drive-view-switcher-button {opacity: 0.55; margin: 6px 12px;}
..picker-doctype-chip {background-color: rgb(218, 228, 246); border: 1px sol=
id rgb(218, 228, 246); border-radius: 2px; display: inline-block; height: 2=
3px; left: 22px; outline: medium none; position: absolute; top: 6px;}
..picker-videos-listview .picker-doctype-chip ,.picker-videos-grid .picker-d=
octype-chip {left: 2px;}
..picker-doctype-chip-label {display: inline-block; font-size: 12px; line-he=
ight: 23px; padding: 0px 3px; vertical-align: top;}
..picker-doctype-chip-dismiss {display: inline-block; padding: 8px 4px;}
..picker-dropdown-menu.picker-doctypes-dropdown-menu {max-height: 70%; width=
: 341px;}
..picker-navhorizontal-new .picker-dropdown-menu.picker-doctypes-dropdown-me=
nu {width: 441px;}
..picker-doctypes-dropdown-menu .picker-dropdown-menuitem-header {padding-bo=
ttom: 0px;}
..picker-dataview .picker-searchbar-input {position: relative;}
..picker-main-container .picker-dataview .picker-searchbar .picker-flat-menu=
-button {left: 321px;}
..picker-dataview .picker-searchbar-input-box.picker-searchbar-dropdownmenu-=
padding {width: 310px;}
..picker-dataview .picker-searchbar-input-box {width: 325px;}
..picker-bloggerinstructions-text {color: rgb(68, 68, 68); font-size: 11px; =
padding: 10px 15px 2px;}
..picker-docsortoptions-menu-button {display: inline-block; min-width: 22px;=
padding-right: 8px; position: absolute; right: 34px; top: 19px;}
..picker-docsortoptions-menu-button .goog-flat-menu-button-dropdown {display=
: none;}
..picker-docsortoptions-menu-button-content {height: 18px; margin: 4px 3px; =
opacity: 0.5;}
..picker-docsortoptions-selector {border-bottom: 1px solid rgb(229, 229, 229=
); padding-bottom: 4px; padding-top: 8px; position: relative;}
..picker-docsortoptions-title {color: rgb(170, 170, 170); cursor: pointer; d=
isplay: inline-block; font-size: 11px; font-weight: bold; margin-left: 70px=
; text-transform: uppercase; vertical-align: top;}
..picker-docsortoptions-label {color: rgb(170, 170, 170); display: inline-bl=
ock; font-size: 11px; font-weight: bold; position: absolute; right: 40px; t=
ext-transform: uppercase; vertical-align: top;}
..picker-docsortoptions-active.picker-docsortoptions-title ,.picker-docsorto=
ptions-active.picker-docsortoptions-label {color: rgb(221, 75, 57);}
..picker-docsortoptions-button {display: inline-block; position: absolute; r=
ight: 20px; vertical-align: top;}
..picker-docsortoptions-grid-view .picker-docsortoptions-label {display: inl=
ine-block; margin-left: 40px; position: static;}
..picker-docsortoptions-grid-view .picker-docsortoptions-button {display: in=
line-block; margin-left: 6px; position: static;}
..picker-dropdown-menu.picker-sort-dropdown-menu {max-width: 30%; width: ini=
tial;}
..picker-sort-dropdown-menu .goog-menuitem {min-width: 0px; padding-left: 20=
px;}
..picker-sort-dropdown-menu .goog-menuitem-content {overflow: hidden; text-o=
verflow: ellipsis;}
..picker-promo-table {position: absolute; top: 0px; left: 0px; height: 100%;=
width: 100%; border-spacing: 15px; margin-top: -15px;}
..picker-promo-logo {margin: 15px;}
..picker-promo-text {font-size: 13px; color: rgb(170, 170, 170); width: 420p=
x;}
..picker-promo-title {font-size: 13px; color: rgb(0, 0, 0); font-weight: bol=
d; margin-bottom: 10px; width: 420px;}
..picker-uploadbar {color: rgb(68, 68, 68); font-size: 11px; margin-bottom: =
15px; white-space: nowrap;}
..picker-uploadbar .jfk-button {margin: 15px 15px 5px;}
..picker-uploadbar .picker-spr-upload-arrow {margin-right: 6px;}
..picker-uploadbar-msg {padding: 4px 15px;}
..picker-uploadbar-separator {margin-top: 7px; border-top: 1px solid rgb(221=
, 221, 221);}
..picker-uploadbar-htmlfileinput {margin: 14px 14px 3px;}
..picker-main-container {position: absolute; height: 100%; width: 100%;}
..picker-modal-dialog {box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2); -moz-use=
r-select: none; background: rgb(255, 255, 255) none repeat scroll 0% 0%; bo=
rder: 1px solid rgb(172, 172, 172); color: rgb(0, 0, 0); position: absolute=
; z-index: 2101; outline: medium none;}
..picker-modal-dialog-content {width: 705px; height: 370px; padding: 0px; ma=
rgin: 0px; position: relative;}
..picker-modal-dialog-bg {background: rgb(255, 255, 255) none repeat scroll =
0% 0%; left: 0px; position: absolute; top: 0px; z-index: 2100;}
..picker-modal-dialog-title {-moz-user-select: none; background: rgb(255, 25=
5, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 0); cursor: move; font-s=
ize: 20px; padding: 6px 8px 15px; position: relative; vertical-align: middl=
e; border-top: 10px solid rgb(255, 255, 255); border-left: 10px solid rgb(2=
55, 255, 255); border-right: 10px solid rgb(255, 255, 255);}
..picker-modal-dialog-title-text {display: block; overflow: hidden; text-ove=
rflow: ellipsis; white-space: nowrap;}
..picker-modal-dialog-title-close {cursor: pointer; position: absolute; righ=
t: 0px; top: 10px; opacity: 0.7;}
..picker-modal-dialog-dogfood-confidential-text {color: rgb(221, 75, 57); fo=
nt-size: 13px; font-weight: bold; overflow: hidden; position: absolute; rig=
ht: 30px; top: 10px; text-transform: uppercase;}
..picker-modal-dialog-title-close-hover {opacity: 1;}
..picker-modal-dialog-buttons {display: none;}
..picker-modal-dialog-content {border: 0px none;}
..picker-main-container .goog-buttonset-default {font-weight: bold;}
div.picker-navpane-root {position: relative; left: 0px; right: 0px; width: =
auto;}
..picker-content {width: auto; height: auto;}
..picker-searchbar-input-box {font-size: 13px;}
..picker-form {margin: 0px; padding: 0px;}
..picker-main-container .goog-toolbar {border: 0px none; background: rgba(0,=
0, 0, 0) none repeat scroll 0px center;}
..picker-header-close {display: none;}
..picker-contactbin-chip-holder .picker-contactbin-input {width: 130px;}
..picker-album-control {border: 2px solid transparent; color: rgb(68, 68, 68=
); cursor: pointer; font-size: 11px; margin: 6px; position: relative; verti=
cal-align: top; outline: medium none;}
..picker-album-control-album-tile {box-shadow: 0px 1px 0px rgb(218, 218, 218=
); background-color: rgb(255, 255, 255); border: 1px solid rgb(229, 229, 22=
9); height: 158px; width: 163px;}
..picker-album-control:active ,.picker-album-control-checked {border: 2px so=
lid rgb(77, 144, 254);}
..picker-album-control-checked .picker-album-control-album-tile ,.picker-alb=
um-control-focused .picker-album-control-album-tile {box-shadow: none; bord=
er: 1px solid rgb(77, 144, 254);}
..picker-album-control-thumbs {height: 110px; width: 163px;}
..picker-album-control-thumb {border: medium none; height: 110px; padding: 0=
px; width: 163px;}
..picker-album-control-no-cover-thumb {background-color: rgb(238, 238, 238);=
opacity: 1 !important;}
..picker-album-control-title {margin: 0px; overflow: hidden; text-overflow: =
ellipsis; vertical-align: top; white-space: nowrap; width: 80%;}
..picker-album-control-photo-count-date {margin: 0px; overflow: hidden; text=
-overflow: ellipsis; vertical-align: top; white-space: nowrap; width: 80%; =
color: rgb(186, 186, 186); padding: 6px 0px 0px 7px;}
..picker-album-control-title {color: rgb(38, 38, 38); font-size: 13px; font-=
weight: bold; height: 20px; padding: 8px 10px 0px;}
..picker-album-control-photo-count {bottom: 9px; color: rgb(170, 170, 170); =
font-size: 11px; padding: 0px 10px; position: absolute;}
..picker-album-control-visibility .picker-spr-audience-acl-small-owner-only =
,.picker-album-control-visibility .picker-spr-audience-acl-small-limited ,.=
picker-album-control-visibility .picker-spr-audience-acl-small-extended-cir=
cles ,.picker-album-control-visibility .picker-spr-audience-acl-small-domai=
n-public ,.picker-album-control-visibility .picker-spr-audience-acl-small-p=
ublic {opacity: 0.4; bottom: 11px; display: inline-block; height: 12px; pos=
ition: absolute; right: 10px; vertical-align: top; width: 12px;}
..picker-album-control-thumbs .picker-spr-rio-checkmark-active ,.picker-albu=
m-control-thumbs .picker-spr-rio-checkmark-selected {display: inline-block;=
left: 5px; opacity: 0; position: absolute; top: 5px;}
..picker-album-control-hover .picker-spr-rio-checkmark-active ,.picker-album=
-control-focused .picker-spr-rio-checkmark-active {opacity: 0.7;}
..picker-album-control-checked .picker-spr-rio-checkmark-selected {opacity: =
1;}
..ozAppNoFocusOutline .picker-album-control {outline: 0px none;}
..picker-albumname .picker-photoupload-albumchooser {margin-right: 10px;}
..picker-albumname .picker-photoupload-albumchooser-select .goog-flat-menu-b=
utton-caption {overflow: hidden; text-overflow: ellipsis; white-space: nowr=
ap; width: 148px;}
..picker-albumname .picker-photoupload-albumchooser-select {margin-left: 2px=
; position: relative; top: -1px; width: 168px;}
..picker-camerasyncseparator {cursor: default; font-size: 12px; padding: 10p=
x 0px 7px;}
..picker-camerasyncseparator-checkbox {cursor: pointer; display: inline-bloc=
k; opacity: 0.3; transition: opacity 0.218s ease 0s; vertical-align: middle=
;}
..picker-camerasyncseparator-checkbox.picker-hover ,.picker-camerasyncsepara=
tor.picker-selected .picker-camerasyncseparator-checkbox {opacity: 1;}
..picker-camerasyncseparator.picker-selected .picker-camerasyncseparator-che=
ckbox.picker-hover {opacity: 0.8;}
..picker-camerasyncseparator-title {display: inline-block; font-size: 18px; =
padding: 2px 12px 0px 6px; vertical-align: middle;}
..picker-camerasyncseparator-details {display: inline-block; padding: 4px 12=
px 0px 0px; vertical-align: middle;}
..picker-camerasyncseparator-select-link {color: rgb(17, 85, 204); cursor: p=
ointer; display: inline-block; padding-top: 4px; vertical-align: middle;}
..picker-camerasyncseparator-select-link.picker-hover {text-decoration: unde=
rline;}
..picker-collection-control-title {color: rgb(68, 68, 68); display: inline-b=
lock; font-size: 14px; height: 16px; margin-bottom: 2px; margin-top: 10px; =
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
..picker-collection-control-totalitems ,.picker-collection-control-timestamp=
{color: rgb(170, 170, 170); display: inline-block; font-size: 11px; margin=
: 0px 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
..picker-collection-control-timestamp::before {color: rgb(170, 170, 170); co=
ntent: "*"; font-size: 5px; vertical-align: middle;}
..picker-collection-control .picker-photosgrid .picker-dataview-content {pad=
ding: 0px;}
..picker-collection-control .picker-content {height: 100%; position: relativ=
e; overflow: visible;}
..picker-collectionsgrid {padding-left: 18px;}
..picker-collection-control-border {opacity: 0; transition: opacity 0.218s e=
ase 0s; position: relative;}
..picker-collection-control-checked .picker-collection-control-border {borde=
r: 5px solid rgb(66, 133, 244); padding: 0px; max-height: 207px;}
..picker-collection-control {cursor: default; display: inline-block; margin:=
5px 10px 0px 0px; padding: 0px 10px; outline: medium none; text-align: lef=
t; vertical-align: middle;}
..picker-docscollection-control {position: relative; margin: 10px; cursor: p=
ointer;}
..picker-docscollection-control-preview-container {position: relative;}
..picker-docscollection-control-preview-content {border: 6px solid transpare=
nt; bottom: 0px; left: 31px; position: absolute;}
..picker-docscollection-control-checked .picker-docscollection-control-previ=
ew-content {border: 6px solid rgb(77, 144, 254);}
..picker-docscollection-control-hover .picker-docscollection-control-preview=
-content {background-color: rgb(252, 249, 204);}
..picker-docscollection-control-focused .picker-docscollection-control-previ=
ew-content {outline: 1px solid rgb(66, 133, 244);}
..picker-docscollection-control-preview {background: rgb(238, 238, 238) none=
repeat scroll 0% 0%; border: 1px solid rgb(206, 206, 206); height: 116px; =
outline: medium none; position: relative; width: 116px;}
..picker-docscollection-control-child-1 {position: absolute; border: 1px sol=
id rgb(206, 206, 206); width: 116px; height: 116px; left: 2px; top: 2px;}
..picker-docscollection-control-child-2 {position: absolute; border: 1px sol=
id rgb(206, 206, 206); width: 116px; height: 116px; left: 4px; top: 4px;}
..picker-docscollection-control-preview .picker-spr-collection {display: inl=
ine-block; position: absolute; left: 51px; top: 51px;}
..picker-docscollection-control .jfk-checkbox {background-color: rgb(252, 24=
9, 204); display: none; outline: 4px solid rgb(252, 249, 204); position: ab=
solute; top: 1px;}
..picker-docscollection-control .jfk-checkbox.jfk-checkbox-checked {backgrou=
nd-color: rgb(255, 255, 255); display: inline-block; outline: medium none;}
..picker-docscollection-control-hover .jfk-checkbox {display: inline-block;}
..picker-dataview.picker-docs-images-view {padding-top: 0px;}
..picker-docs-images-view .new-upload-box .picker-photo-control-placeholder =
{border: 0px none;}
..picker-docs-images-label {font-size: 12px; overflow: hidden; padding-botto=
m: 6px; padding-top: 6px; text-align: center; text-overflow: ellipsis; whit=
e-space: nowrap;}
..picker-docs-images-preview {position: relative;}
..picker-docs-images-preview-content {border: 6px solid transparent; bottom:=
0px; outline: medium none; position: absolute;}
..picker-docs-images-focused .picker-docs-images-preview-content {outline: 1=
px solid rgb(66, 133, 244);}
..picker-docs-images-checked .picker-docs-images-preview-content {border: 6p=
x solid rgb(77, 144, 254);}
..picker-docs-images-preview-content .jfk-checkbox {background-color: rgb(25=
2, 249, 204); display: none; outline: 4px solid rgb(252, 249, 204); positio=
n: absolute; top: 1px;}
..picker-docs-images-preview-content .jfk-checkbox.jfk-checkbox-checked {bac=
kground-color: rgb(255, 255, 255); display: inline-block; outline: medium n=
one;}
..picker-docs-images-hover .picker-docs-images-preview-content .jfk-checkbox=
{display: inline-block;}
..picker-docs-images-preview-placeholder {border: 1px solid rgb(229, 229, 22=
9); bottom: 0px; outline: medium none; position: absolute;}
..picker-docs-images-hover .picker-docs-images-preview-content {background-c=
olor: rgb(252, 249, 204);}
..picker-photo-control-unselectable.picker-docs-images-hover .picker-docs-im=
ages-preview-content {background-color: transparent;}
..picker-photo-control-unselectable.picker-docs-images-hover .jfk-checkbox {=
display: none;}
..picker-photo-control-unselectable.picker-docs-images-container {opacity: 0=
..3; position: relative;}
..picker-docs-images-container {margin: 10px;}
..picker-docs-images-preview .nub-loading {display: none;}
..picker-drive-view .picker-searchbar {border-bottom: 1px solid rgb(229, 229=
, 229); margin-bottom: 0px; margin-left: 0px; padding-bottom: 15px;}
..picker-main-container .picker-drive-view.picker-dataview .picker-searchbar=
.picker-flat-menu-button {left: 341px;}
..picker-drive-view .picker-searchbar-input-logo ,.picker-drive-view .picker=
-searchbar-input {padding-left: 20px;}
..picker-dataview.picker-drive-view {overflow-y: hidden;}
..picker-drive-view .picker-content-container {bottom: 0px; left: 0px; overf=
low-y: auto; position: absolute; right: 0px; top: 69px;}
..picker-docs-images-view .picker-dataview-content {padding-left: 13px; padd=
ing-top: 10px;}
..picker-caption-bubble .picker-edit-caption-instructions {color: rgb(0, 0, =
0); font-size: 13px; margin-top: 3px;}
..picker-caption-bubble .picker-edit-caption-popup {padding: 0px 16px 0px 0p=
x; border: 0px none; margin: 0px;}
..picker-caption-bubble {z-index: 2112 !important;}
..picker-edit-caption {z-index: 2109; position: absolute;}
..picker-crop-content .picker-edit-caption {margin-top: 8px;}
..picker-crop-content .picker-edit-caption-hint {margin-top: 2px;}
..picker-crop-content .picker-edit-caption-popup {margin: 1px 0px 2px;}
..picker-edit-caption-hint ,.picker-crop-content .picker-edit-caption-hover =
..picker-edit-caption-hint {color: rgb(17, 85, 204); font-size: 13px; width:=
100%; overflow: hidden; text-align: center; text-overflow: ellipsis; white=
-space: nowrap; position: absolute; cursor: pointer;}
..picker-crop-content .picker-edit-caption-hint {color: rgb(153, 153, 153);}
..picker-edit-caption-hint.picker-video-control-metadata {text-align: left; =
width: 100%; margin-left: 0px;}
..picker-edit-caption-hint .picker-video-control-title {color: rgb(17, 85, 2=
04);}
..picker-edit-caption-input {width: 100%; margin: 0px 0px 0px -2px;}
..picker-edit-caption-instructions {color: rgb(102, 102, 102); font-size: 10=
px; margin-top: 2px;}
..picker-edit-caption-popup {background: rgb(255, 255, 255) none repeat scro=
ll 0% 0%; padding: 4px; border: 1px solid rgb(102, 102, 102); margin: 0px 0=
px 2px;}
..picker-crop-content .picker-edit-caption-popup {border: 1px solid transpar=
ent;}
..picker-main-container .picker-edit-toolbar-overlay {background-attachment:=
scroll; background-clip: border-box; position: relative; z-index: 2106; fo=
nt: 12px Roboto,Arial,sans-serif; margin: 0px; outline: medium none; paddin=
g: 0px;}
..picker-main-container .picker-edit-toolbar-overlay-background-dark {positi=
on: absolute; z-index: 2107; background-color: rgb(0, 0, 0); opacity: 0.6; =
width: 100%; height: 100%;}
..picker-main-container .picker-edit-toolbar-overlay-container {position: re=
lative; z-index: 2108;}
..picker-edit-toolbar-manager {position: relative;}
..picker-edit-toolbar {cursor: default; position: relative; z-index: 2106; f=
ont: 12px Roboto,Arial,sans-serif; margin: 0px; outline: medium none; paddi=
ng: 2px; background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%; border: 0px=
none;}
..picker-edit-toolbar .goog-toolbar-button {margin: 0px; border: 0px none; p=
adding: 0px; font-family: Roboto,Arial,sans-serif; color: rgb(51, 51, 51); =
text-decoration: none; list-style: outside none none; vertical-align: middl=
e; cursor: default; outline: medium none; opacity: 0.8;}
..picker-edit-toolbar .goog-toolbar-button-outer-box ,.picker-edit-toolbar .=
goog-toolbar-button-inner-box {border: 0px none; vertical-align: top;}
..picker-edit-toolbar .goog-toolbar-button-outer-box {margin: 0px; padding: =
1px 0px;}
..picker-edit-toolbar .goog-toolbar-button-inner-box {margin: 0px -1px; padd=
ing: 3px 4px;}
* html .picker-edit-toolbar .goog-toolbar-button-inner-box ,body .picker-ed=
it-toolbar .goog-toolbar-button-inner-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-button-o=
uter-box ,body .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-=
button-outer-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-button-i=
nner-box ,body .picker-edit-toolbar .goog-toolbar-button-rtl .goog-toolbar-=
button-inner-box {right: auto;}
:first-child + html .picker-edit-toolbar .goog-toolbar-button-inner-box {le=
ft: -1px;}
:first-child + html .picker-edit-toolbar .goog-toolbar-button-rtl .goog-too=
lbar-button-inner-box {left: 1px; right: auto;}
..picker-edit-toolbar .goog-toolbar-button-disabled {opacity: 0.3;}
..picker-edit-toolbar .goog-toolbar-button-disabled .goog-toolbar-button-out=
er-box ,.picker-edit-toolbar .goog-toolbar-button-disabled .goog-toolbar-bu=
tton-inner-box {color: rgb(51, 51, 51) !important; border-color: rgb(153, 1=
53, 153) !important;}
* html .picker-edit-toolbar .goog-toolbar-button-disabled ,:first-child + h=
tml .picker-edit-toolbar .goog-toolbar-button-disabled ,body .picker-edit-t=
oolbar .goog-toolbar-button-disabled {background-color: rgb(238, 238, 238);=
margin: 0px 1px; padding: 0px 1px;}
..picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-outer-=
box ,.picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button-=
outer-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-toolbar-=
button-outer-box ,.picker-edit-toolbar .goog-toolbar-button-selected .goog-=
toolbar-button-outer-box {border-width: 1px 0px; border-style: solid; paddi=
ng: 0px;}
..picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-inner-=
box ,.picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button-=
inner-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-toolbar-=
button-inner-box ,.picker-edit-toolbar .goog-toolbar-button-selected .goog-=
toolbar-button-inner-box {border-width: 0px 1px; border-style: solid; paddi=
ng: 3px;}
..picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-outer-=
box ,.picker-edit-toolbar .goog-toolbar-button-hover .goog-toolbar-button-i=
nner-box {border-color: transparent !important;}
..picker-edit-toolbar .goog-toolbar-button-hover ,.picker-edit-toolbar .goog=
-toolbar-button-active ,.picker-edit-toolbar .goog-toolbar-button-checked ,=
..picker-edit-toolbar .goog-toolbar-button-selected {background-color: trans=
parent !important; opacity: 1;}
..picker-edit-toolbar .goog-toolbar-button-hover ,.picker-edit-toolbar .goog=
-toolbar-button-active ,.picker-edit-toolbar .goog-toolbar-button-checked ,=
..picker-edit-toolbar .goog-toolbar-button-selected {background: rgba(0, 0, =
0, 0) none repeat scroll 0% 0%;}
..picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button-outer=
-box ,.picker-edit-toolbar .goog-toolbar-button-active .goog-toolbar-button=
-inner-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-toolbar=
-button-outer-box ,.picker-edit-toolbar .goog-toolbar-button-checked .goog-=
toolbar-button-inner-box ,.picker-edit-toolbar .goog-toolbar-button-selecte=
d .goog-toolbar-button-outer-box ,.picker-edit-toolbar .goog-toolbar-button=
-selected .goog-toolbar-button-inner-box {border-color: transparent;}
..picker-edit-toolbar .goog-toolbar-button-collapse-right ,.picker-edit-tool=
bar .goog-toolbar-button-collapse-right .goog-toolbar-button-outer-box ,.pi=
cker-edit-toolbar .goog-toolbar-button-collapse-right .goog-toolbar-button-=
inner-box {margin-right: 0px;}
..picker-edit-toolbar .goog-toolbar-button-collapse-left ,.picker-edit-toolb=
ar .goog-toolbar-button-collapse-left .goog-toolbar-button-outer-box ,.pick=
er-edit-toolbar .goog-toolbar-button-collapse-left .goog-toolbar-button-inn=
er-box {margin-left: 0px;}
* html .picker-edit-toolbar .goog-toolbar-button-collapse-left .goog-toolba=
r-button-inner-box ,:first-child + html .picker-edit-toolbar .goog-toolbar-=
button-collapse-left .picker-edit-toolbar .goog-toolbar-button-inner-box ,b=
ody .picker-edit-toolbar .goog-toolbar-button-collapse-left .goog-toolbar-b=
utton-inner-box {left: 0px;}
..picker-edit-toolbar .goog-toolbar-menu-button {margin: 0px 2px; border: 0p=
x none; padding: 0px; font-family: Roboto,Arial,sans-serif; color: rgb(51, =
51, 51); text-decoration: none; list-style: outside none none; vertical-ali=
gn: middle; cursor: default; outline: medium none;}
..picker-edit-toolbar .goog-toolbar-menu-button-outer-box ,.picker-edit-tool=
bar .goog-toolbar-menu-button-inner-box {border: 0px none; vertical-align: =
top;}
..picker-edit-toolbar .goog-toolbar-menu-button-outer-box {margin: 0px; padd=
ing: 1px 0px;}
..picker-edit-toolbar .goog-toolbar-menu-button-inner-box {margin: 0px -1px;=
padding: 3px 4px;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-inner-box ,body .pick=
er-edit-toolbar .goog-toolbar-menu-button-inner-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-rtl .goog-toolbar-men=
u-button-outer-box ,body .picker-edit-toolbar .goog-toolbar-menu-button-rtl=
.goog-toolbar-menu-button-outer-box {left: -1px;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-rtl .goog-toolbar-men=
u-button-inner-box ,body .picker-edit-toolbar .goog-toolbar-menu-button-rtl=
.goog-toolbar-menu-button-inner-box {right: auto;}
:first-child + html .picker-edit-toolbar .goog-toolbar-menu-button-inner-bo=
x {left: -1px;}
:first-child + html .picker-edit-toolbar .goog-toolbar-menu-button-rtl .pic=
ker-edit-toolbar .goog-toolbar-menu-button-inner-box {left: 1px; right: aut=
o;}
..picker-edit-toolbar .goog-toolbar-menu-button-disabled {opacity: 0.3;}
..picker-edit-toolbar .goog-toolbar-menu-button-disabled .goog-toolbar-menu-=
button-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-disabled .=
goog-toolbar-menu-button-inner-box {color: rgb(51, 51, 51) !important; bord=
er-color: rgb(153, 153, 153) !important;}
* html .picker-edit-toolbar .goog-toolbar-menu-button-disabled ,:first-chil=
d + html .picker-edit-toolbar .goog-toolbar-menu-button-disabled ,body .pic=
ker-edit-toolbar .goog-toolbar-menu-button-disabled {background-color: rgb(=
238, 238, 238); margin: 0px 1px; padding: 0px 1px;}
..picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-toolbar-menu-but=
ton-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-active .goog-=
toolbar-menu-button-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-butt=
on-open .goog-toolbar-menu-button-outer-box {border-width: 1px 0px; border-=
style: solid; padding: 0px;}
..picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-toolbar-menu-but=
ton-inner-box ,.picker-edit-toolbar .goog-toolbar-menu-button-active .goog-=
toolbar-menu-button-inner-box ,.picker-edit-toolbar .goog-toolbar-menu-butt=
on-open .goog-toolbar-menu-button-inner-box {border-width: 0px 1px; border-=
style: solid; padding: 3px;}
..picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-toolbar-menu-but=
ton-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-hover .goog-t=
oolbar-menu-button-inner-box {border-color: rgb(192, 192, 192) !important;}
..picker-edit-toolbar .goog-toolbar-menu-button-active ,.picker-edit-toolbar=
.goog-toolbar-menu-button-open {background-color: rgb(238, 238, 238) !impo=
rtant;}
..picker-edit-toolbar .goog-toolbar-menu-button-active .goog-toolbar-menu-bu=
tton-outer-box ,.picker-edit-toolbar .goog-toolbar-menu-button-active .goog=
-toolbar-menu-button-inner-box ,.picker-edit-toolbar .goog-toolbar-menu-but=
ton-open .goog-toolbar-menu-button-outer-box ,.picker-edit-toolbar .goog-to=
olbar-menu-button-open .goog-toolbar-menu-button-inner-box {border-color: r=
gb(187, 187, 187);}
..picker-edit-toolbar .goog-toolbar-menu-button-caption {padding: 0px 4px 0p=
x 0px; vertical-align: middle;}
..picker-edit-toolbar .goog-toolbar-menu-button-dropdown {width: 7px; backgr=
ound: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/editortoolbar.png") no=
-repeat scroll -388px center; vertical-align: middle;}
..picker-edit-toolbar .goog-toolbar-separator {margin: 0px 2px; border-left:=
1px solid rgb(214, 214, 214); border-right: 1px solid rgb(247, 247, 247); =
padding: 0px; width: 0px; text-decoration: none; list-style: outside none n=
one; outline: medium none; vertical-align: middle; line-height: normal; fon=
t-size: 120%; overflow: hidden;}
..picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-outer-b=
ox {border-width: 1px 0px; border-style: solid; padding: 0px;}
..picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-inner-b=
ox {border-width: 0px 1px; border-style: solid; padding: 3px;}
..picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-outer-b=
ox ,.picker-edit-toolbar .goog-toolbar-select .goog-toolbar-menu-button-inn=
er-box {border-color: rgb(191, 203, 223);}
..picker-actionpane-evph-message {position: absolute; top: 50%; height: 18px=
; margin-top: -9px; font-size: 13px; color: rgb(102, 102, 102);}
..picker-actionpane-evph-people {font-size: 13px; color: rgb(34, 34, 34); wi=
dth: 284px;}
..picker-actionpane-evph-people-title {font-weight: bold; padding-bottom: 8p=
x;}
..picker-actionpane-evph-people-img {border-radius: 2px; margin-right: 1px; =
border: 0px none;}
..picker-evph-people-jfk-bubble {z-index: 2200 !important;}
..picker-evph-plain-link {color: rgb(17, 85, 204); text-decoration: none; cu=
rsor: pointer;}
..picker-eventtheme-view .picker-listrenderer-table {margin: 15px 0px;}
..picker-eventtheme-border {position: relative; border: 1px solid rgb(204, 2=
04, 204);}
..picker-eventtheme-control-tablerow {outline: medium none;}
..picker-eventtheme-media {vertical-align: middle; cursor: pointer;}
..picker-eventtheme-control-tablerow.picker-list-control-checked {background=
-color: transparent;}
..picker-eventtheme {border: 6px solid transparent; margin: 5px 20px;}
..picker-list-control-checked.picker-list-control-focused .picker-eventtheme=
,.picker-list-control-checked .picker-eventtheme {border: 6px solid rgb(74=
, 151, 223);}
..picker-list-control-focused .picker-eventtheme-border {border: 1px solid r=
gb(77, 144, 254);}
..picker-flatphotosgrid .picker-flatphoto-control-wrapper.picker-featuredpho=
to-control {font-size: 12px; height: 170px; position: relative;}
..picker-featuredphoto-caption {overflow: hidden; position: absolute; text-a=
lign: left; text-overflow: ellipsis; white-space: nowrap;}
..picker-gmailfeaturedphoto-caption {bottom: 5px; box-sizing: border-box; ov=
erflow: hidden; position: absolute; text-overflow: ellipsis; white-space: n=
owrap; width: 100%;}
..picker-flatphotosgrid .picker-flatphoto-control-border {opacity: 0; transi=
tion: opacity 0.218s ease 0s; padding: 5px; position: relative;}
..picker-flatphoto-control-checked .picker-flatphoto-control-border {border:=
5px solid rgb(66, 133, 244); padding: 0px;}
..picker-flatphoto-control-focused .picker-flatphoto-control-border {outline=
: 1px solid rgb(66, 133, 244);}
..picker-flatphotosgrid .picker-flatphoto-control-wrapper {cursor: pointer; =
display: inline-block; margin: 10px; outline: medium none; text-align: cent=
er; vertical-align: middle;}
..picker-flatphotosgrid .picker-flatphoto-control-wrapper-with-description {=
position: relative;}
..picker-flatphoto-control-description {font-size: 12px; bottom: 5px; box-si=
zing: border-box; overflow: hidden; padding: 0px 5px; position: absolute; t=
ext-overflow: ellipsis; white-space: nowrap; width: 100%;}
..picker-flatphotosgrid .picker-flatphoto-control-thumbnail {max-height: 100=
%; max-width: 100%;}
..picker-flatphotosgrid .picker-flatphoto-control-hover .picker-flatphoto-co=
ntrol-check {opacity: 0.7;}
..picker-flatphotosgrid .picker-flatphoto-control-checked .picker-flatphoto-=
control-check {opacity: 1; top: 5px; left: 5px;}
..picker-flatphotosgrid .picker-flatphoto-control-check {opacity: 0; transit=
ion: opacity 0.218s ease 0s; position: absolute; top: 10px; left: 10px; z-i=
ndex: 2104;}
..picker-flatphotosgrid .picker-spr-rio-checkmark-selected {animation: 0.3s =
linear 0s normal none 1 running pickerPhotosSelectionOverlayCheckmarkSelect=
edTransition;}
..picker-flatphoto-control-unselectable {opacity: 0.3;}
..picker-flatphoto-control-unselectable .picker-flatphoto-control-check {dis=
play: none;}
..picker-flatphoto-message .picker-dataview-message {color: rgb(51, 51, 51);=
font-size: 16px; height: 16px; line-height: 16px; margin-top: -8px; positi=
on: absolute; text-align: center; top: 50%; width: 100%;}
..picker-highlightsphoto-control-border {opacity: 0; transition: opacity 0.2=
18s ease 0s; overflow: hidden;}
..picker-highlightsphoto-control-checked .picker-highlightsphoto-control-bor=
der {display: inline-block; position: relative;}
..picker-highlightsphoto-control-checked .picker-highlightsphoto-control-inn=
er-border {border: 3px solid rgb(66, 133, 244); display: inline-block; left=
: 0px; opacity: 1; position: absolute; top: 0px; z-index: 2104;}
..picker-highlightsphoto-control-focused {outline: medium none;}
..picker-highlightsphoto-control-focused .picker-highlightsphoto-control-bor=
der {outline: 1px solid rgb(66, 133, 244);}
..picker-highlightsphoto-control {cursor: pointer; display: inline-block; ve=
rtical-align: top;}
..picker-highlightsphoto-control-border {display: inline-block; margin: 1px;=
position: relative;}
..picker-highlightsphoto-control-inner-border {border: 3px solid transparent=
; display: none;}
..picker-highlightsphoto-control-hover {opacity: 0.7;}
..picker-highlightsphoto-control-checked {opacity: 1;}
..picker-highlightsphoto-control-hover .picker-highlightsphoto-control-check=
{opacity: 0.7;}
..picker-highlightsphoto-control-checked .picker-highlightsphoto-control-che=
ck {opacity: 1; left: 10px; top: 10px;}
..picker-highlightsphoto-control-check {transition: opacity 0.218s ease 0s; =
left: 10px; opacity: 0; position: absolute; top: 10px; z-index: 2104;}
..picker-highlightsphoto-control-unselectable {opacity: 0.3;}
..picker-highlightsphoto-control-unselectable .picker-highlightsphoto-contro=
l-check {display: none;}
..picker-momentscontrol-wrapper .picker-flatphoto-control-border {display: i=
nline-block; vertical-align: middle;}
..picker-momentscontrol-wrapper .picker-flatphoto-control-thumbnail {display=
: block;}
..picker-momentscontrol-wrapper.picker-flatphoto-control-wrapper {line-heigh=
t: 140px;}
..picker-momentchapter-title {color: rgb(85, 85, 85); font-size: 15px; font-=
weight: bold; padding: 20px 0px 0px 20px;}
..picker-collection-more-control {transition: background-color 130ms ease-in=
-out 0s; background-color: rgb(229, 229, 229); cursor: pointer; display: in=
line-block; margin: 1px; text-align: center; vertical-align: top; width: 40=
px;}
..picker-collection-more-control-content ,.picker-collection-more-control-im=
g {display: inline-block; margin: auto;}
..picker-collection-more-control-text {color: rgb(153, 153, 153); display: i=
nline-block; font-size: 12px; margin: 0px 2px; text-align: center; width: 3=
5px;}
..picker-collection-more-control-focused {outline: 1px solid rgb(66, 133, 24=
4);}
..picker-collection-more-control-hover {background-color: rgb(224, 224, 224)=
;}
..picker-noitemszone {height: 100%; left: 0px; position: absolute; text-alig=
n: center; top: 0px; width: 100%;}
..picker-noitemszone-container {text-align: center;}
..picker-noitemszone-text {color: rgb(170, 170, 170); font-size: 14px; font-=
weight: bold; margin: 20px 0px; text-align: center;}
..picker-noitemszone-title {color: rgb(170, 170, 170); font-size: 20pt; font=
-weight: bold; margin: 20px 0px; text-align: center;}
..picker-noitemszone-container .jfk-button {margin: 20px 0px;}
..picker-photo-album-control {border-bottom: 1px solid rgb(218, 218, 218); c=
ursor: pointer; font-size: 13px; left: -18px; outline: 0px none; padding: 2=
0px 25px; position: relative; top: -15px; width: 100%;}
..picker-photo-album-control-hover ,.picker-photo-album-control-focused {bac=
kground: rgb(243, 243, 243) none repeat scroll 0% 0%;}
..picker-photo-album-control-checked {background: rgb(77, 144, 254) none rep=
eat scroll 0% 0%; color: rgb(255, 255, 255);}
..picker-photo-album-control-title {padding-right: 10px;}
..picker-photo-album-control-new-album-label {padding-bottom: 8px;}
..picker-photo-album-control-name-edit {border-radius: 1px; box-sizing: bord=
er-box; border: 1px solid rgb(216, 216, 216); color: rgb(51, 51, 51); displ=
ay: inline-block; height: 29px; line-height: 20px; margin: 0px; padding: 8p=
x; width: 325px;}
..picker-photo-album-control-date {color: rgb(153, 153, 153); font-size: 12p=
x; padding-right: 5px;}
..picker-photo-album-control-checked .picker-photo-album-control-date {color=
: rgb(204, 204, 204);}
..picker-photo-album-control-caption {color: rgb(102, 102, 102); font-size: =
12px; padding-right: 8px;}
..picker-photo-album-control-checked .picker-photo-album-control-caption {co=
lor: rgb(204, 204, 204);}
..picker-photo-album-control-thumbs {height: 65px; overflow: hidden;}
..picker-photo-album-control-thumb {background-color: rgb(255, 255, 255); bo=
rder: 1px solid rgb(221, 221, 221); height: 48px; margin: 5px 8px 3px 1px; =
padding: 2px; width: 48px;}
..picker-photoalbumsview-actionpane-notice {cursor: default; float: right; h=
eight: 100%; margin-left: -30px;}
..picker-photoalbumsview-actionpane-notice .picker-actionpane-notice-td {col=
or: rgb(119, 119, 119); font-size: 11px; padding-right: 20px; text-align: r=
ight;}
..picker-curation-album-name-bar-album-select ,.picker-curation-album-name-b=
ar-album-select.goog-flat-menu-button-hover {background: rgb(255, 255, 255)=
none repeat scroll 0% 0%; height: 37px; line-height: 37px; margin-left: 15=
px; max-width: 300px; padding-left: 10px; text-align: left;}
..picker-curation-album-name-bar-album-select .goog-flat-menu-button-caption=
{max-width: 200px; overflow: hidden; padding: 0px 15px 0px 5px; text-overf=
low: ellipsis;}
..picker-curation-album-name-bar-album-select .goog-flat-menu-button-dropdow=
n {border: medium none; right: 10px; top: 10px;}
..picker-curation-album-name-bar .goog-menu {max-height: 300px; overflow-x: =
hidden; overflow-y: scroll; text-overflow: ellipsis; width: 280px; z-index:=
2115;}
..picker-curation-album-name-bar-empty-menu .goog-menu {height: 100px;}
..picker-curation-album-name-bar .picker-curation-album-name-bar-empty-menu =
..picker-loadingstatusbox {top: 70%; display: inline-block;}
..picker-curation-album-name-bar .picker-loadingstatusbox {display: none;}
..picker-curation-album-name-bar .picker-curation-album-name-bar-select-labe=
l-input {border-bottom: 1px solid rgb(204, 204, 204); margin-bottom: 4px; h=
eight: 36px; line-height: 36px;}
..picker-curation-album-name-bar .picker-curation-album-name-bar-select-labe=
l-input .jfk-textinput {box-shadow: none; border: medium none; padding: 0px=
16px; position: absolute; top: 0px; left: 0px; vertical-align: top; width:=
232px;}
..picker-curation-album-name-bar .goog-menuitem {padding: 6px 15px; width: 2=
32px;}
..picker-curation-album-name-bar .goog-menuitem-highlight {border-width: 0px=
;}
..picker-curation-album-name-bar .goog-menuitem-content {line-height: 24px; =
overflow: hidden; text-align: left; text-overflow: ellipsis; width: 250px;}
..picker-curation-album-name-bar-album-label-input {display: inline-block; m=
argin-left: 15px; position: relative;}
..picker-curation-album-name-bar-album-label-input .jfk-textinput {padding-r=
ight: 30px;}
..picker-curation-album-name-bar-album-label-input .picker-spr-black-close {=
opacity: 0.5; cursor: pointer; position: absolute; right: 14px; top: 28px;}
..picker-curation-order-dropdown-menu.goog-flat-menu-button-disabled {opacit=
y: 0.1;}
..picker-curation-view {height: 100%; position: absolute; top: 0px; bottom: =
0px; left: 0px; right: 0px;}
..picker-curation-grid-parent {position: absolute; top: 0px; bottom: 0px; le=
ft: 0px; right: 0px;}
..picker-curation-grid-wrapper {position: absolute; bottom: 0px; left: 0px; =
right: 0px;}
..picker-curation-bar {border-bottom: 1px solid rgb(229, 229, 229); line-hei=
ght: 64px; padding: 0px 20px;}
..picker-curation-bar .jfk-button ,.picker-curation-bar .goog-flat-button ,.=
picker-curation-bar .goog-flat-menu-button {cursor: pointer;}
..picker-curation-grid-wrapper {top: 71px; overflow-y: auto; overflow-x: hid=
den;}
..picker-curation-grid-parent {margin: 35px 15px 0px;}
..picker-curation-grid-parent .picker-dataview {overflow: visible; margin: 0=
px 0px 0px 20px; right: 20px;}
..picker-curation-hidden-input {position: absolute; top: -9999px; width: 1px=
; height: 1px;}
..picker-curation-bar .jfk-textinput {color: rgb(34, 34, 34); font-weight: b=
old; height: 37px; left: 20px; padding-bottom: 0px; padding-top: 0px; top: =
13px; width: 200px;}
..picker-curation-order-dropdown-menu {transition: all 0.218s ease 0s; backg=
round: rgb(241, 241, 241) none repeat scroll 0% 0%; border: 1px solid rgb(2=
16, 216, 216); height: 33px; line-height: 30px; vertical-align: middle; dis=
play: inline-block; margin-left: 20px;}
..picker-curation-order-dropdown-menu .goog-flat-menu-button-dropdown {borde=
r: medium none; display: inline-block; right: 10px; top: 10px;}
..picker-curation-bar {background: rgb(255, 255, 255) none repeat scroll 0% =
0%; height: 65px; text-align: right;}
..picker-curation-bar-left {position: absolute; text-align: left; z-index: 2=
120;}
..picker-curation-bar-toggles {border-radius: 2px; display: inline-block; he=
ight: 37px; line-height: 37px; margin-left: 20px; vertical-align: middle; b=
order: 1px solid rgb(216, 216, 216);}
..picker-curation-bar-toggles .goog-flat-button {opacity: 0.4; transition: a=
ll 0.218s ease 0s; background: rgb(255, 255, 255) none repeat scroll 0% 0%;=
margin: 0px; outline: medium none;}
..picker-curation-bar-toggles .goog-flat-button-checked {opacity: 1; backgro=
und: rgb(229, 229, 229) none repeat scroll 0% 0%;}
..picker-curation-bar-toggles .goog-flat-button.picker-curation-bar-large-th=
umb {padding: 9px;}
..picker-curation-bar-toggles .goog-flat-button.picker-curation-bar-small-th=
umb {padding: 13px;}
..picker-curation-upload-button-content {color: rgb(115, 115, 115); font-siz=
e: 13px; margin: 0px 4px;}
..picker-curation-view .picker-dropdown-menu.picker-curation-order-dropdown-=
menu {background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 37px=
; min-width: 37px; padding: 0px; text-align: center; vertical-align: middle=
; width: 37px; z-index: auto;}
..picker-curation-progress-parent {display: inline-block; vertical-align: mi=
ddle; transition: margin-top 0.218s ease 0s, opacity 0.218s ease 0s;}
..picker-curation-bar .picker-progress-bar {display: inline-block; font-size=
: 12px; vertical-align: middle;}
..picker-curation-bar .picker-curation-progress-label {display: inline-block=
; vertical-align: middle;}
..picker-curation-bar .picker-curation-progress-stop-upload ,.picker-curatio=
n-bar .jfk-textinput {display: inline-block; font-size: 12px; vertical-alig=
n: middle;}
..picker-curation-bar .picker-progress-bar {margin-left: 20px; width: 150px;=
}
..picker-curation-view .picker-progress-bar {border: 1px solid rgb(187, 187,=
187); background-color: rgb(229, 229, 229); box-shadow: 0px 0px 1px rgba(0=
, 0, 0, 0.2) inset;}
..picker-curation-view .progress-bar-thumb {border: 1px solid rgb(33, 117, 2=
55); background-color: rgb(77, 144, 254);}
..picker-curation-view .picker-progress-bar {height: 4px;}
..picker-curation-view .progress-bar-thumb {height: 4px; position: absolute;=
left: -1px; top: -1px;}
..picker-curation-bar .picker-curation-progress-label {margin-left: 10px; co=
lor: rgb(153, 153, 153); font-size: 12px;}
..picker-curation-bar .picker-curation-progress-stop-upload {margin-left: 10=
px; padding: 0px;}
..picker-curation-bar .jfk-button {transition: all 0.218s ease 0s; backgroun=
d: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 1px solid rgb(216, =
216, 216); height: 38px; line-height: 37px; margin: 0px; position: static; =
right: 20px; top: 17px;}
..picker-curation-bar .picker-spr-icon-computer {display: inline-block; marg=
in-right: 8px; vertical-align: middle; opacity: 0.8;}
..picker-curation-bar .jfk-button.jfk-button-focused .picker-spr-icon-comput=
er ,.picker-curation-bar .jfk-button.jfk-button-active .picker-spr-icon-com=
puter ,.picker-curation-bar .jfk-button.jfk-button-hover .picker-spr-icon-c=
omputer {opacity: 1;}
..picker-curation-drop-notice-parent {color: rgb(153, 153, 153); cursor: def=
ault; font-weight: bold; font-size: 13px; height: 65px; margin: auto; line-=
height: 65px; text-align: center; top: 0px;}
..picker-curation-drop-notice-text {padding: 0px 10px;}
..picker-spr-icon-zoom-min ,.picker-spr-icon-zoom-max ,.picker-curation-albu=
m-name-bar {display: inline-block;}
..picker-spr-icon-zoom-max {margin-left: 10px;}
..picker-spr-icon-zoom-min {margin-right: 5px;}
..picker-curation-drag-selector {z-index: 2200; position: absolute; border: =
1px solid rgba(136, 190, 190, 0.3); background: rgba(136, 187, 255, 0.4) no=
ne repeat scroll 0% 0%; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); border=
-radius: 2px; opacity: 0.8;}
..picker-curation-drag-scroll-mask {position: absolute; top: 0px; bottom: 0p=
x; left: 0px; right: 0px; opacity: 0; z-index: 2200;}
..picker-curation-drag-pile {position: absolute;}
..picker-curation-view .tt-photos-tagging-tcontent-button-container {display=
: none;}
..picker-curation-upload.picker-actionpane-frame {z-index: 2115; background-=
color: rgb(255, 255, 255);}
..picker-curation-drop-notice-parent .picker-actionpane-notice-td {border-ri=
ght: 128px solid transparent;}
..picker-curationview-autobackup-icon {height: 20px; margin: 8px; top: 14px;=
width: 20px;}
..picker-curationview-autobackup-promo {color: rgb(170, 170, 170); font-size=
: 13px; text-align: center; top: -53px; vertical-align: middle; width: 100%=
;}
..picker-curation-control {transition: border-color 0.2s ease 0s, margin 0.5=
s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.5s ease-out 0=
s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.5s ease 0s, b=
ox-shadow 0.5s ease 0s; border-radius: 4px; outline: medium none; backgroun=
d-color: rgb(245, 245, 245); border-color: rgb(208, 208, 208); border-style=
: solid; border-width: 1px; overflow: hidden;}
..picker-curation-control.picker-curation-fast ,.picker-curation-control.pic=
ker-curation-fast .picker-curation-control-card ,.picker-curation-control.p=
icker-curation-fast-thumb .picker-curation-control-thumb-wrapper ,.picker-c=
uration-control.picker-curation-fast-thumb .picker-curation-control-thumb ,=
..picker-curation-control.picker-curation-fast-thumb .picker-curation-contro=
l-thumb-border ,.picker-curation-control.picker-curation-control-selected-r=
eordering .picker-curation-control-thumb-wrapper {transition: margin 0s eas=
e 0s, height 0s ease 0s, width 0s ease 0s, opacity 0.5s ease-out 0s, top 0s=
ease 0s, left 0s ease 0s;}
..picker-curation-control.picker-curation-fast .picker-curation-control-thum=
b-wrapper ,.picker-curation-control.picker-curation-fast .picker-curation-c=
ontrol-thumb ,.picker-curation-control.picker-curation-fast .picker-curatio=
n-control-thumb-border {transition: margin 0s ease 0s, height 0s ease 0s, w=
idth 0s ease 0s, opacity 0.5s ease-out 0s, top 0.5s ease 0s, left 0.5s ease=
0s;}
..picker-curation-control.picker-curation-control-rotating .picker-curation-=
control-thumb ,.picker-curation-control.picker-curation-control-rotating .p=
icker-curation-control-thumb-wrapper { }
..picker-curation-control.picker-curation-control-rotating .picker-curation-=
control-thumb-wrapper .picker-curation-control-thumb-border {transition: -w=
ebkit-transform 0.2s ease-in-out 0s;}
..picker-curation-control-card {transition: border-color 0.2s ease 0s, margi=
n 0.5s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.5s ease-=
out 0s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.5s ease =
0s, box-shadow 0.5s ease 0s;}
..picker-curation-control ,.picker-curation-control-card ,.picker-curation-c=
ontrol-thumb-wrapper ,.picker-curation-control-upload-preview {position: ab=
solute;}
..picker-curation-control-thumb-wrapper {text-align: center; transition: bor=
der-color 0.2s ease 0s, margin 0.5s ease 0s, height 0.5s ease 0s, width 0.5=
s ease 0s, opacity 0.5s ease-out 0s, top 0.5s ease-out 0s, left 0.5s ease-o=
ut 0s, line-height 0.5s ease 0s, box-shadow 0.5s ease 0s; border-radius: 1p=
x; margin-top: -2px;}
..picker-curation-control-thumb {transition: border-color 0.2s ease 0s, marg=
in 0.5s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.5s ease=
-out 0s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.5s ease=
0s, box-shadow 0.5s ease 0s; cursor: default; position: relative; line-hei=
ght: 0;}
..picker-curation-control-thumb-border {transition: border-color 0.2s ease 0=
s, margin 0.5s ease 0s, height 0.5s ease 0s, width 0.5s ease 0s, opacity 0.=
5s ease-out 0s, top 0.5s ease-out 0s, left 0.5s ease-out 0s, line-height 0.=
5s ease 0s, box-shadow 0.5s ease 0s; cursor: default; line-height: 0; posit=
ion: relative; display: inline-block; vertical-align: middle; background-co=
lor: rgb(255, 255, 255);}
..picker-curation-control-thumb-border-lines {transition: border-color 0.2s =
ease 0s; position: absolute; top: -3px; left: -3px; right: -3px; bottom: -3=
px; border: 2px solid transparent; z-index: 2107;}
..picker-curation-control-selected.picker-curation-control {border-color: rg=
b(77, 144, 254);}
..picker-curation-control-tag-adding-mode {position: absolute; display: inli=
ne-block; z-index: 2114;}
..picker-curation-control-toolbar {background: rgb(255, 255, 255) none repea=
t scroll 0% 0%; border-top: 1px solid rgb(208, 208, 208); overflow: hidden;=
cursor: default; line-height: 42px; height: 42px; position: absolute; bott=
om: 0px; width: 100%; outline: medium none;}
..picker-curation-control-small .picker-curation-control-toolbar {opacity: 0=
; transition: opacity 0.4s ease-out 0s, border-color 0.5s ease-in 0s, backg=
round-color 0.5s ease-in 0s; line-height: 0; height: 0px;}
..picker-curation-control-small.picker-curation-control-hover .picker-curati=
on-control-toolbar {opacity: 1; line-height: 42px; height: 42px;}
..picker-curation-control-caption-input.picker-curation-control-toolbar-disa=
bled ,.picker-curation-control-toolbar-icon.picker-curation-control-toolbar=
-rotate-disabled ,.picker-curation-control-toolbar-icon.picker-curation-con=
trol-toolbar-icon-hover.picker-curation-control-toolbar-rotate-disabled {op=
acity: 0; cursor: default; visibility: hidden;}
..picker-curation-control-hover .picker-curation-control-caption-input {opac=
ity: 1;}
..picker-curation-control-has-caption-focus .picker-curation-control-caption=
-input {opacity: 1; overflow: visible; color: rgb(51, 51, 51);}
..picker-curation-control-caption-input {transition: color 0.3s ease 0s, opa=
city 0.3s ease 0s, border-color 0.3s ease 0s, width 0.5s ease 0s, height 0.=
5s ease 0s, box-shadow 0.5s ease 0s; color: rgb(153, 153, 153); font-family=
: Roboto,Arial,sans-serif; font-size: 13px; border: 0px none; margin: auto;=
outline: medium none; overflow: hidden; padding: 0px 8px; resize: none; wi=
dth: 70%; height: 16px;}
..picker-curation-control-caption-input.picker-curation-control-disabled {ba=
ckground-color: transparent;}
..picker-curation-control-upload-preview {left: 0px; right: 0px; bottom: 0px=
; height: 40px; min-width: 40px;}
..picker-curation-control-upload-preview.picker-curation-control-upload-prev=
iew-empty {left: -156px; height: 40px; width: 312px;}
..picker-curation-control-upload-preview .picker-progress-bar {width: 50%; p=
osition: absolute; bottom: 24px; margin-top: -4px; left: 50%; margin-left: =
-25%;}
..picker-curation-view .picker-curation-control-upload-preview .picker-progr=
ess-bar ,.picker-curation-view .picker-curation-control-upload-preview .pro=
gress-bar-thumb {height: 2px;}
..picker-curation-control.picker-curation-control-nudge-left ,.picker-curati=
on-control.picker-curation-control-nudge-right {transition: margin 0.3s eas=
e 0s;}
..picker-curation-control.picker-curation-control-nudge-left {margin-left: -=
50px; z-index: 2104;}
..picker-curation-control.picker-curation-control-nudge-left .picker-curatio=
n-control-thumb {transition: color 0.3s ease 0s, opacity 0.3s ease 0s, bord=
er-color 0.3s ease 0s, width 0s ease 0s, height 0s ease 0s, box-shadow 0.5s=
ease 0s; box-shadow: -5px 0px 8px rgba(0, 0, 0, 0.3);}
..picker-curation-control.picker-curation-control-nudge-right {margin-left: =
50px; z-index: 2104;}
..picker-curation-control.picker-curation-control-nudge-right .picker-curati=
on-control-thumb {transition: color 0.3s ease 0s, opacity 0.3s ease 0s, bor=
der-color 0.3s ease 0s, width 0s ease 0s, height 0s ease 0s, box-shadow 0.5=
s ease 0s; box-shadow: 5px 0px 8px rgba(0, 0, 0, 0.3);}
..picker-curation-control.picker-curation-control-selected.picker-curation-c=
ontrol-nudge-left ,.picker-curation-control.picker-curation-control-selecte=
d.picker-curation-control-nudge-right {margin-left: 0px;}
..picker-curation-control.picker-curation-control-unselected-reordering {tra=
nsition: opacity 0.6s ease 0s, top 0.2s ease-out 0s, left 0.2s ease-out 0s,=
line-height 0.2s ease 0s;}
..picker-curation-control.picker-curation-control-unselected-reordering .pic=
ker-curation-control-thumb ,.picker-curation-control.picker-curation-contro=
l-unselected-reordering .picker-curation-control-thumb-wrapper {transition:=
top 0.3s ease-out 0s, left 0.3s ease-out 0s, line-height 0.3s ease 0s;}
..picker-curation-control.picker-curation-control-unselected-reordering.pick=
er-curation-control-changelines {opacity: 0;}
..picker-curation-control.picker-curation-control-selected-reordering {z-ind=
ex: 2103; transition: top 0.1s ease-out 0s, left 0.3s ease-out 0s;}
..picker-curation-control.picker-curation-control-selected-reordering.picker=
-curation-control-dropped {transition: none 0s ease 0s ;}
..picker-curation-control.picker-curation-control-dragging {opacity: 0; tran=
sition: opacity 0.2s ease-out 0s, top 0.5s ease-out 0s, left 0.5s ease-out =
0s, margin 0.2s ease-out 0s;}
..picker-curation-drag-control-img {position: absolute; bottom: 0px; left: 5=
0%; width: 100%; height: 100%; cursor: pointer; box-shadow: 0px 3px 25px rg=
ba(0, 0, 0, 0.6);}
..picker-curation-drag-control-img-box {position: relative;}
..picker-curation-drag-control-img ,.picker-curation-drag-control-img-box {z=
-index: 2106;}
..picker-curation-drag-control-img-box.picker-curation-drag-control-stack-1 =
{z-index: 2105; position: absolute; margin-top: 5px; margin-left: 5px; tran=
sform: rotate(7deg);}
..picker-curation-drag-control-img-box.picker-curation-drag-control-stack-2 =
{z-index: 2105; position: absolute; margin-top: -5px; margin-left: -5px; tr=
ansform: rotate(-10deg);}
..picker-curation-drag-control-count {position: absolute; height: 23px; line=
-height: 23px; border-radius: 3px; background: rgb(77, 144, 254) none repea=
t scroll 0% 0%; color: rgb(255, 255, 255); text-align: center; font-size: 1=
3px; font-weight: bold; top: 0px; margin-top: -15px; left: 50%; margin-left=
: -36px; width: 72px; z-index: 2109; box-shadow: 0px 2px 20px rgba(0, 0, 0,=
0.8);}
..picker-curation-control-toolbar.jfk-bubble {z-index: 2113 !important; line=
-height: 0; margin: 0px; padding: 0px; min-width: 124px;}
..picker-curation-control-error-bubble.jfk-bubble {z-index: 2112 !important;=
}
..picker-curation-control-toolbar-top-buttons {border-left: 1px dashed rgb(2=
21, 221, 221); overflow: hidden; position: absolute; cursor: default; top: =
0px; right: 0px; display: inline;}
..picker-curation-control-small .picker-curation-control-toolbar-top-buttons=
{border: 0px none; text-align: center; width: 100%; z-index: 2108;}
..picker-curation-control-toolbar-icon {cursor: pointer; display: inline-blo=
ck; opacity: 0.4; transition: color 0.3s ease 0s, opacity 0.13s ease 0s, bo=
rder-color 0.3s ease 0s, width 0s ease 0s, height 0s ease 0s, box-shadow 0.=
5s ease 0s; margin: 0px 7px; vertical-align: middle;}
..picker-curation-control-toolbar.picker-curation-control-toolbar-is-cover .=
picker-curation-control-toolbar-icon.picker-spr-checkbox-active {opacity: 0=
;}
..picker-curation-control-toolbar-top-buttons .picker-curation-control-toolb=
ar-icon-hover {opacity: 0.7;}
..picker-curation-control-toolbar-icon.picker-curation-control-toolbar-icon-=
active {opacity: 1;}
..tt-photos-ttagoverlay .tt-photos-tagging-bubble {font-size: 10px; line-hei=
ght: 1em; padding: 8px; z-index: 2108 !important;}
..picker-curation-control .tt-photos-tagging-acl-msg {margin-top: 2px;}
..picker-curation-control .tt-photos-tagging-bubble-spinner {margin-left: 2p=
x;}
..picker-main-container .tacotown-autocomplete-box {z-index: 2115;}
..picker-curation-control .tt-photos-tagging-tcontent-remove-button {backgro=
und: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/docs/picker/images/dialog_clos=
e_small.gif") no-repeat scroll 0% 0% padding-box content-box; height: 15px;=
margin-bottom: -3px; width: 15px;}
..picker-curation-control .tt-photos-ttagoverlay-cursor.tt-photos-ttagoverla=
y-tagged .tt-photos-ttagoverlay-cursor-ring-inner ,.picker-curation-control=
.tt-photos-ttagoverlay-cursor.tt-photos-ttagoverlay-tagged .tt-photos-ttag=
overlay-cursor-ring-outer ,.picker-curation-control .tt-photos-ttr-ring .tt=
-photos-ttr-ring-inner ,.picker-curation-control .tt-photos-ttr-ring .tt-ph=
otos-ttr-ring-outer {border-width: 6px;}
..picker-curation-control .tt-photos-ttagoverlay-cursor.tt-photos-ttagoverla=
y-tagged .tt-photos-ttagoverlay-cursor-ring ,.picker-curation-control .tt-p=
hotos-ttr-ring .tt-photos-ttr-ring-inner ,.picker-curation-control .tt-phot=
os-ttr-ring .tt-photos-ttr-ring-outer {bottom: -6px; left: -6px; right: -6p=
x; top: -6px;}
..picker-curation-control-is-cover.picker-curation-control-small .picker-cur=
ation-control-cover-selected ,.picker-curation-control-small.picker-curatio=
n-control-hover .picker-curation-control-cover ,.picker-curation-control-is=
-cover.picker-curation-control-hover .picker-curation-control-cover ,.picke=
r-curation-control-error-holder ,.picker-curation-control-thumb ,.picker-cu=
ration-control-loaded .picker-curation-control-upload-preview ,.picker-cura=
tion-control-cancel .picker-curation-control-upload-preview ,.picker-curati=
on-control-error .picker-curation-control-upload-preview ,.picker-curation-=
control-small .picker-curation-control-caption-container ,.picker-curation-=
control-caption-input.picker-curation-control-toolbar-disabled ,.picker-cur=
ation-control-toolbar-icon.picker-curation-control-toolbar-rotate-disabled =
,.picker-curation-control-toolbar-icon.picker-curation-control-toolbar-icon=
-hover.picker-curation-control-toolbar-rotate-disabled {display: none;}
..picker-curation-control-caption-container ,.picker-curation-control-error =
..picker-curation-control-error-holder ,.picker-curation-control-loaded .pic=
ker-curation-control-thumb {display: inline;}
..picker-curation-control-cover {background-color: rgb(38, 38, 38);}
..picker-curation-control-hover .picker-curation-control-cover {opacity: 0.7=
; z-index: 2108;}
..picker-curation-control-tag-adding-mode .picker-curation-control-cover {op=
acity: 0.7;}
..picker-curation-control-cover-selected {background-color: rgb(77, 144, 254=
);}
..picker-curation-control-hover .picker-curation-control-is-hover-cover.pick=
er-curation-control-cover ,.picker-curation-control-is-hover-cover.picker-c=
uration-control-cover ,.picker-curation-control-is-cover .picker-curation-c=
ontrol-cover-selected {opacity: 1;}
..picker-curation-control-cover-selected .picker-spr-checkmark-checked {disp=
lay: inline-block; margin: 5px; vertical-align: middle;}
..picker-curation-control-cover-selected .picker-curation-control-cover-text=
{padding-left: 0px;}
..picker-curation-control-cover ,.picker-curation-control-tag-adding-mode.pi=
cker-curation-control-is-cover .picker-curation-control-cover ,.picker-cura=
tion-control-cover-selected {border-radius: 5px; opacity: 0; bottom: 10px; =
cursor: pointer; display: inline-block; left: 10px; position: absolute;}
..picker-curation-control-cover-text {color: rgb(255, 255, 255); display: in=
line-block; font-size: 13px; font-weight: bold; line-height: 13px; padding:=
8px;}
..picker-curation-control.picker-curation-control-loaded.picker-curation-con=
trol-small.picker-curation-control-hover {transition: opacity 0.4s ease-out=
0s, border-color 0.5s ease-in 0s, background-color 0.5s ease-in 0s; backgr=
ound-color: rgb(245, 245, 245); border-color: rgb(208, 208, 208);}
..picker-curation-control.picker-curation-control-loaded.picker-curation-con=
trol-small.picker-curation-control-selected {background-color: rgb(245, 245=
, 245); border-color: rgb(77, 144, 254);}
..picker-curation-control.picker-curation-control-loaded.picker-curation-con=
trol-small {background-color: transparent; border: 1px solid transparent;}
..picker-curation-control-error-holder {z-index: 2111; bottom: 0px; left: 0p=
x; position: absolute; right: 0px; text-align: center; top: 0px;}
..picker-curation-control-retry ,.picker-curation-control-error-delete {marg=
in: 5px; color: rgb(17, 85, 204); cursor: pointer;}
..picker-curation-control-error-separator {color: rgb(204, 204, 204);}
..picker-curation-control-error-icon {display: inline-block; height: 66px; l=
eft: 50%; margin-top: -33px; margin-left: -33px; position: absolute; top: 5=
0%; width: 66px; vertical-align: middle; transition: all 0.5s ease 0s; back=
ground-repeat: no-repeat;}
..picker-curation-control-error-text {font-size: 11px; text-align: center; w=
idth: 110px;}
..picker-curation-control-small .picker-curation-control-error-icon {height:=
14px; margin-left: -7px; margin-top: -7px; width: 14px;}
..picker-curation-control-preview-background {background-color: rgb(255, 255=
, 255); bottom: 0px; left: 0px; position: absolute; right: 0px; top: 0px;}
..picker-photo-control-thumbframe .picker-photo-control-description {width: =
auto; position: static; margin: 0px 5px;}
..picker-photo-control-thumbframe .picker-photo-control-bottom-controls {wid=
th: 158px;}
..picker-photo-control-attribution {cursor: pointer;}
..picker-photo-control-thumbframe .picker-video-play-icon {position: absolut=
e; left: 60px; top: 40px;}
..new-upload-box .picker-photo-control-thumbframe .picker-video-play-icon {t=
op: 60px;}
..picker-photo-control-thumbframe .picker-video-filename {width: 158px;}
..picker-photo-control-thumbframe .picker-photo-control-preview.picker-proce=
ssing-video {width: 158px; height: 158px;}
..picker-photo-control-thumbframe .picker-video-processing-box {height: 158p=
x;}
..picker-photo-control-thumbframe .picker-photo-control-preview.picker-proce=
ssing-video ,.picker-dataview-content .picker-photo-control ,.picker-datavi=
ew-content .picker-photo-control-focused.picker-photo-control ,.picker-data=
view-content .picker-photosuploadview .picker-photo-control.picker-photo-co=
ntrol-focused ,.picker-dataview-content .picker-photosgrid-edit .picker-pho=
to-control.picker-photo-control-focused {border: 0px none transparent;}
..picker-photo-control-thumbframe .picker-photo-control-preview.picker-proce=
ssing-video {background-color: transparent;}
..picker-photo-control-thumbframe .picker-photo-control-description {height:=
auto;}
..picker-albumname-album-cell {font-size: 13px;}
..picker-albumname-label {margin-right: 5px;}
..picker-albumname-input {margin: 0px 10px 1px 2px; width: 172px;}
..picker-albumname .goog-link-button {padding: 6px 0px;}
:first-child + html .picker-albumname .picker-albumname-album-cell .goog-li=
nk-button {position: relative; top: 6px;}
..picker-photosgrid-edit .picker-albumname {padding: 0px 7px;}
..picker-photosgrid-edit .picker-photo-control {padding: 0px 2px 12px;}
..picker-photosgrid-edit {padding: 12px 0px 0px 1px;}
..picker-albumsgrid .picker-dataview-content ,.picker-photosgrid .picker-dat=
aview-content {padding: 0px 13px 15px;}
..picker-dataview.picker-albumsgrid ,.picker-dataview.picker-photosgrid-came=
rasync {padding-top: 0px;}
..picker-breadcrumbs-content .picker-photosgrid .picker-dataview-content {pa=
dding-top: 14px;}
..picker-photo-control {vertical-align: middle; text-align: center; margin: =
1px; font-size: 0px; border: 1px solid rgb(255, 255, 255);}
..picker-photosuploadview .picker-photo-control.picker-photo-control-focused=
,.picker-photosgrid-edit .picker-photo-control.picker-photo-control-focuse=
d {border: 1px solid rgb(255, 255, 255);}
..picker-photo-control-focused.picker-photo-control {border: 1px solid rgb(7=
4, 151, 223);}
..picker-photo-control-preview {font-size: 0px; position: relative;}
..picker-photo-control-placeholder {background: transparent url("//ssl.gstat=
ic.com/docs/picker/images/placeholder-v1.gif") repeat scroll 0% 0%;}
..picker-photo-control-preview-content {cursor: pointer; outline: medium non=
e;}
..picker-upload-control-error .picker-photo-control-uploading {border: 1px s=
olid rgb(221, 221, 221); background-color: rgb(255, 255, 255);}
..picker-photo-control-preview-content .uploader-thumb-img {display: block; =
position: relative;}
..picker-photo-control-unselectable .picker-photo-control-preview-content {c=
ursor: default;}
..picker-photo-control-attribution {position: absolute; bottom: 0px; left: 7=
px; right: 7px; overflow: hidden; white-space: nowrap; text-overflow: ellip=
sis; font-size: 10px; text-align: left;}
* html .picker-photo-control-attribution ,body .picker-photo-control-attrib=
ution {width: 100%;}
..picker-photo-control-attribution-spacer {font-size: 10px; visibility: hidd=
en;}
..picker-photo-control-bottom-controls {bottom: -8px; width: 100%;}
..picker-photo-control-description {position: absolute; left: 0px; font-size=
: 13px; color: rgb(153, 153, 153); width: 100%; height: 1.2em; overflow: hi=
dden; text-align: center; text-overflow: ellipsis; white-space: nowrap;}
..picker-photosgrid-edit .picker-photo-control-description.goog-control-hove=
r {text-decoration: underline; cursor: pointer;}
..picker-photosgrid-camerasync {padding: 10px 13px;}
..picker-photosgrid-separator {font-size: 11px; color: rgb(170, 170, 170); m=
argin: 0px 10px 0px 8px;}
..picker-photosgrid-separatorhr {border-width: 1px 0px 0px; border-style: so=
lid none none; border-color: rgb(221, 221, 221) currentcolor currentcolor; =
-moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-b=
ottom-colors: none; -moz-border-left-colors: none; border-image: none; marg=
in-left: -1px;}
..picker-photo-control-border ,.picker-photosgrid-edit .picker-photo-control=
-checked .picker-photo-control-border {border: 6px solid transparent;}
..picker-photo-control-checked .picker-photo-control-border {border: 6px sol=
id rgb(77, 144, 254);}
..picker-photo-control .photo-image-edit-controls {position: absolute; top: =
-20px; right: 0px;}
..picker-photo-control-checked .photo-image-edit-controls {top: -26px; right=
: -6px;}
..picker-photo-control .photo-image-edit-caption {left: 50%; top: -35px; mar=
gin-left: -144px;}
..picker-photo-control .progress-bar-horizontal {position: absolute; bottom:=
4px; left: 4px; right: 4px; height: 5px; border: 0px none; text-align: lef=
t; background: transparent none repeat scroll 0% 0%;}
* html .picker-photo-control .progress-bar-horizontal ,body .picker-photo-c=
ontrol .progress-bar-horizontal {left: 0px; right: 0px; width: 100%;}
..picker-photo-control .progress-bar-thumb {background: rgb(136, 136, 136) n=
one repeat scroll 0% 0%; height: 5px;}
..picker-upload-control-canceled .picker-photo-control-preview .progress-bar=
-horizontal ,.picker-upload-control-default .picker-photo-control-preview .=
progress-bar-horizontal ,.picker-upload-control-error .picker-photo-control=
-preview .progress-bar-horizontal ,.picker-upload-control-scheduled .picker=
-photo-control-preview .progress-bar-horizontal ,.picker-upload-control-suc=
cess .picker-photo-control-preview .progress-bar-horizontal {display: none;=
}
..picker-upload-control-error .picker-photo-control-message {position: absol=
ute; bottom: 0px; left: 0px; right: 0px; height: 10px; border: 0px none; pa=
dding: 2px; text-align: left; background: rgb(215, 0, 0) none repeat scroll=
0% 0%; color: rgb(255, 255, 255); white-space: nowrap; overflow: hidden; t=
ext-overflow: ellipsis; font-size: 9px; cursor: default;}
* html .picker-photo-control .picker-photo-control-message ,body .picker-ph=
oto-control .picker-photo-control-message {left: 0px; right: 0px; width: 10=
0%; padding: 0px;}
..new-upload-box .picker-photo-control-uploading ,.new-upload-box .picker-ph=
oto-control-placeholder {background: rgb(238, 238, 238) none repeat scroll =
0% 0%; border: 1px solid rgb(206, 206, 206);}
..picker-upload-control-error .picker-photo-control-preview .picker-photo-co=
ntrol-uploading {background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..picker-upload-control-running .picker-photo-control-preview .progress-bar-=
horizontal {display: inline;}
..new-upload-box .progress-bar-thumb {height: 100%; background-repeat: repea=
t-x; background-size: 20px 10px; background-color: rgb(204, 204, 204); back=
ground-attachment: scroll; background-image: linear-gradient(315deg, transp=
arent, transparent 33%, rgba(0, 0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, t=
ransparent 66%, transparent); animation-duration: 0.8s; animation-iteration=
-count: infinite; animation-timing-function: linear;}
..new-upload-box .progress-bar-horizontal {right: 0px; bottom: 0px; left: 0p=
x; height: 8px; border: 1px solid rgb(153, 153, 153); margin: 0px 8px 8px; =
padding: 1px; background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..new-upload-box .picker-progress-bar-spinner.progress-bar-horizontal {borde=
r: 0px none; background: transparent url("//ssl.gstatic.com/docs/picker/ima=
ges/loading-v1.gif") no-repeat scroll 0px 0px; height: 16px; width: 16px; m=
argin: auto auto 5px; opacity: 0.5;}
..picker-video-control-thumb-table {width: 100%; position: relative; top: 10=
5px; z-index: 2200; opacity: 0.8; color: rgb(153, 153, 153); font-size: 10p=
x; height: 20px;}
..picker-video-filename {position: relative; top: 38px; z-index: 2104; heigh=
t: 13px; width: 120px; text-overflow: ellipsis; white-space: nowrap; overfl=
ow: hidden; font-size: 12px; color: rgb(153, 153, 153);}
..picker-video-spinner {position: relative; top: 5px; right: 1px; z-index: 2=
100; background-image: url("//ssl.gstatic.com/docs/picker/images/loading-v1=
..gif"); height: 16px; width: 16px; opacity: 0.5;}
..picker-photo-control-preview.picker-processing-video {background-color: rg=
b(238, 238, 238); border: 1px solid rgb(206, 206, 206); width: 120px; heigh=
t: 120px;}
..picker-video-processing-box {height: 120px; left: 0px; position: absolute;=
top: 0px; width: auto;}
..picker-video-play-icon {position: absolute; left: 12px; top: 12px;}
..jfk-bubble.picker-video-bubble {padding-top: 30px; z-index: 2200 !importan=
t; top: 0px;}
..picker-photo-control-unselectable .picker-photo-control-preview-content .u=
ploader-thumb-img {opacity: 0.3; position: relative;}
..picker-albumslist {padding: 15px 0px 0px 15px;}
..picker-content.picker-gridview-bandselect.picker-flatphotosgrid .picker-fl=
atphoto-control-wrapper ,.picker-content.picker-gridview-bandselect {cursor=
: crosshair;}
..picker-photosview .picker-dataview {padding-top: 0px;}
..picker-profile-toolbar.picker-edit-toolbar {padding: 0px; width: 160px;}
..picker-profile-toolbar .goog-button {margin: 3px; padding: 7px; text-trans=
form: uppercase; font-size: 11px; cursor: pointer; white-space: nowrap;}
..picker-profile-toolbar .goog-button-hover {background-color: rgb(238, 238,=
238);}
..picker-profile-toolbar-icon {opacity: 0.4; margin-right: 8px; vertical-ali=
gn: middle;}
..picker-profile-toolbar-label {vertical-align: middle;}
..picker-profileview {font-size: 13px; padding: 20px;}
..picker-profileview-photo {border: 6px solid rgb(77, 144, 254); width: 96px=
; height: 96px;}
..picker-profileview-text {margin-left: 115px;}
..picker-searchbarimagefilter {margin-right: 5px; padding-top: 2px;}
..picker-searchbarimagefilter-type-button {margin: 0px 5px 0px 0px; vertical=
-align: middle;}
..picker-searchbarimagefilter-colorbox {border: 3px solid transparent; heigh=
t: 19px; margin: 0px; opacity: 0.5; padding: 1px; width: 19px; vertical-ali=
gn: middle;}
..picker-searchbarimagefilter-colorbox-inner {border: 1px solid rgb(153, 153=
, 153); cursor: pointer; height: 19px; margin: -1px 0px 0px -1px; padding: =
0px; width: 19px;}
..picker-gplus .picker-searchbarimagefilter-colorbox-inner {margin: 0px; bor=
der: 0px none;}
..picker-searchbarimagefilter-colorbox[aria-selected=3D"true"] {background-c=
olor: rgb(255, 255, 255); border-color: rgb(77, 144, 254); opacity: 1;}
..picker-webcam-control {overflow: hidden;}
..picker-webcam {padding: 20px; text-align: center; z-index: 2110;}
..picker-webcam-buttons.goog-inline-block {width: auto; position: absolute;}
..picker-webcam .picker-webcam-buttons .jfk-button {z-index: 1;}
..picker-webcam .goog-slider-horizontal {height: 5px; background: rgb(229, 2=
29, 229) none repeat scroll 0% 0%; -moz-user-select: none; border-radius: 3=
px;}
..picker-webcam .goog-slider-horizontal.picker-slider-hover {background: rgb=
(209, 209, 209) none repeat scroll 0% 0%;}
..picker-webcam .goog-slider-horizontal .goog-slider-thumb {display: block; =
position: absolute; top: -7px; left: 0px; width: 15px; height: 15px; z-inde=
x: 1; border: 1px solid rgb(153, 153, 153); background-color: rgb(153, 153,=
153); cursor: col-resize; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); tran=
sition: left 0.1s ease 0s; border-radius: 8px;}
..picker-webcam .goog-slider-horizontal.picker-slider-hover .goog-slider-thu=
mb {background-color: rgb(255, 255, 255);}
..picker-webcam .goog-slider-horizontal .goog-slider-thumb .goog-slider-drag=
ging {background-color: rgb(83, 82, 82);}
..picker-webcam-icon {background: rgb(255, 255, 255) none repeat scroll 0% 0=
%; border: medium none; border-radius: 0px; height: 10px; width: 10px; disp=
lay: inline-block; margin-bottom: -1px; margin-right: 1px;}
..picker-webcam .picker-webcam-play-icon {background: transparent none repea=
t scroll 0% 0%; border-top: 5px solid transparent; border-bottom: 5px solid=
transparent; border-left: 10px solid rgb(51, 51, 51); height: 0px; width: =
0px;}
..picker-webcam .picker-webcam-stop-icon {background: rgb(51, 51, 51) none r=
epeat scroll 0% 0%;}
..picker-webcam .picker-webcam-working-icon {border-radius: 5px;}
..picker-webcam-timer {font-size: 13px; color: rgb(68, 68, 68); width: 80px;=
text-align: right; margin-left: 16px;}
..picker-webcam-working .picker-webcam-timer {background: rgb(245, 245, 245)=
none repeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); text-alig=
n: center; position: absolute; top: 0px; padding: 5px 5px 6px; margin-left:=
0px;}
..picker-webcam-volume-button {padding: 6px; border: 1px solid transparent; =
position: absolute; height: 16px; width: 36px; top: 0px;}
..picker-spr-mic {margin-right: 7px;}
..picker-webcam-volume-button.goog-control-hover {border: 1px solid rgb(153,=
153, 153); border-radius: 2px;}
..picker-webcam-volume-meter {margin-right: 2px; margin-bottom: 4px; backgro=
und: rgb(153, 153, 153) none repeat scroll 0% 0%; width: 2px; height: 2px;}
..picker-webcam-volume-meter.picker-webcam-volume-meter-on {height: 7px; bac=
kground: rgb(0, 153, 51) none repeat scroll 0% 0%;}
..picker-webcam-volume-meter.picker-webcam-volume-meter-red.picker-webcam-vo=
lume-meter-on {background: rgb(209, 72, 54) none repeat scroll 0% 0%;}
..picker-youtube-banner-preview {margin: 20px; color: rgb(68, 68, 68);}
..picker-youtube-banner-preview-header {font-size: 20px; font-weight: normal=
;}
..picker-youtube-banner-preview-message {font-size: 13px; margin-top: 15px;}
..picker-youtube-banner-preview-container {margin-right: 20px; display: inli=
ne-block;}
..picker-youtube-banner-preview-icon-header {text-transform: uppercase; colo=
r: rgb(102, 102, 102); font-size: 13px; text-align: center;}
..picker-youtube-banner-preview-icon {background: rgba(0, 0, 0, 0) url("//ss=
l.gstatic.com/docs/picker/images/youtube-banner-sprite-v2.png") no-repeat s=
croll 0% 0%; position: relative;}
..picker-youtube-banner-preview-tv-icon {background-position: 0px 0px; width=
: 271px; height: 165px;}
..picker-youtube-banner-preview-laptop-icon {background-position: -271px 0px=
; width: 294px; height: 168px;}
..picker-youtube-banner-preview-mobile-icon {background-position: -565px 0px=
; width: 85px; height: 164px;}
..picker-youtube-banner-preview-desktop-image ,.picker-youtube-banner-previe=
w-tv-image ,.picker-youtube-banner-preview-mobile-image {position: absolute=
;}
..picker-youtube-banner-preview-desktop-image {top: 29px; left: 65px; width:=
168px; height: 29px;}
..picker-youtube-banner-preview-tv-image {top: 5px; left: 5px; width: 260px;=
height: 144px;}
..picker-youtube-banner-preview-mobile-image {top: 13px; left: 6px; width: 7=
3px; height: 20px;}
..picker-youtube-banner-preview-button-container {position: absolute; left: =
10px; bottom: 10px;}
..picker-youtube-banner-preview-loadingstatusbox {opacity: 0.8; font-size: 0=
px; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-i=
ndex: 2111; background: white url("//ssl.gstatic.com/docs/picker/images/loa=
ding-32-v1.gif") no-repeat scroll center center;}
..picker-youtube-banner-preview-auto-enhance {float: right; margin: 20px;}
..picker-youtube-banner-preview-toggle-label-container {display: inline-bloc=
k;}
..picker-youtube-banner-preview-toggle-label-container .picker-spr-icon-auto=
fix-active {display: inline-block; vertical-align: middle;}
..picker-content.picker-draguploadview {height: 100%; padding: 0px; overflow=
: hidden;}
..picker-upload-button-hidden .picker-draguploadview .picker-photos-upload-d=
ropzone-parent {height: 100%;}
..picker-draguploadview .picker-jfk-tall-progressbar {width: 70%;}
..picker-draguploadview-tip {font-size: 13px; padding: 5px;}
..picker-drag-drop-supported .picker-draguploadview-progress-parent {positio=
n: absolute; height: 50px; top: 50%; margin-top: -25px;}
..picker-draguploadview-progress-parent {position: relative; height: 40px; w=
idth: 100%; top: -20px;}
..picker-draguploadview-msg-bar {position: absolute; top: 10px; width: 80%; =
left: 10%; z-index: 2200;}
..picker-draguploadview-msg-bar .jfk-butterBar-shown {height: 30px;}
..picker-photos-upload-album-bar {z-index: 2102; position: relative;}
..picker-photos-upload-album-bar-cell {height: 1px;}
..picker-photos-upload-dropzone ,.picker-photos-upload-dropzone-cell {width:=
100%; text-align: center; position: relative;}
:first-child + html .picker-photos-upload-dropzone-cell {height: 100%; padd=
ing-top: 100px;}
..picker-upload-button-visible .picker-drag-drop-supported .picker-photos-up=
load-dropzone-cell {border: 4px dashed rgb(221, 221, 221); border-radius: 2=
px;}
..picker-drag-active .picker-upload-button-visible .picker-photos-upload-dro=
pzone-cell {border-color: rgb(77, 144, 254);}
..picker-photos-upload-dropzone-cell .jfk-button {margin: 0px;}
..picker-photos-upload-drop-alt {display: none; padding: 15px 0px 5px; font-=
weight: bold; font-size: 13px; color: rgb(204, 204, 204);}
..picker-photos-upload-drop-here {font-size: 20pt; color: rgb(204, 204, 204)=
; padding: 0px 10px; display: none;}
..picker-drag-active .picker-photos-upload-drop-here {color: rgb(57, 137, 21=
2);}
..picker-drag-drop-supported .picker-photos-upload-drop-alt ,.picker-drag-dr=
op-supported .picker-photos-upload-drop-here {display: block;}
..picker-photos-upload-dropzone-parent {height: 100%; width: 100%; position:=
relative; border-spacing: 20px;}
..picker-upload-button-hidden .picker-photos-upload-dropzone-parent {height:=
auto;}
..picker-photos-upload-dropzone-parent.picker-collapsed {margin: 0px 0px -40=
px;}
..picker-photos-upload-hidden-button {position: absolute; top: -1000px; left=
: -1000px;}
..jfk-butterBar-error .picker-link {color: rgb(255, 255, 255); text-decorati=
on: underline;}
..picker-photo-control-thumbframe {box-shadow: 0px 1px 0px rgb(218, 218, 218=
); width: 158px; height: 188px; background: rgb(255, 255, 255) none repeat =
scroll 0% 0%; border: 1px solid transparent; cursor: pointer;}
..picker-photo-control-thumbframe .picker-photo-control-uploading ,.picker-p=
hoto-control-thumbframe .new-upload-box-error .picker-photos-error-text {bo=
rder: 0px none transparent;}
..picker-upload-control-error .picker-photo-control-thumbframe .picker-photo=
-control-uploading {height: 158px;}
..picker-photosuploadview .new-upload-box .picker-photo-control-thumbframe .=
picker-photo-control-uploading .new-upload-box-error ,.picker-photo-control=
-thumbframe .new-upload-box-error .picker-photos-upload-filename {backgroun=
d: rgb(245, 245, 245) none repeat scroll 0% 0%;}
..new-upload-box .picker-photo-control-thumbframe .new-upload-box-error .pic=
ker-spr-upload-error {margin: 50px 74px 40px 73px;}
..picker-video-control-duration {position: absolute; display: inline-block; =
left: 9px; bottom: 8px; color: rgb(255, 255, 255); background: rgb(199, 199=
, 199) none repeat scroll 0% 0%; border-radius: 20px; font-weight: bold; pa=
dding: 2px 10px 3px 25px; font-size: 11px; text-shadow: 0px 0px 2px rgba(0,=
0, 0, 0.5);}
..picker-photosuploadview .picker-video-control-duration {padding: 2px 10px;=
}
..picker-photo-control-toolbar {background-color: rgb(255, 255, 255); bottom=
: 2px; height: 32px; left: 2px; position: absolute; width: 158px;}
..picker-photo-control-toolbar .picker-spr-checkbox-selected {cursor: pointe=
r; position: relative; right: 62px; top: 4px;}
..picker-photo-control-toolbar .picker-spr-checkbox-active {cursor: pointer;=
position: relative; right: 62px; top: 4px; opacity: 0.2;}
..picker-photo-control-toolbar .picker-spr-checkbox-active.picker-spr-checkb=
ox-active-hover {opacity: 1;}
..picker-photo-control-toolbar .picker-spr-checkbox-selected {display: none;=
}
..picker-photo-control-toolbar .picker-spr-checkbox-active {display: inline-=
block;}
..picker-photosuploadview .picker-photo-control-thumbframe {cursor: default;=
}
..new-upload-box .picker-photos-upload-filename ,.new-upload-box .picker-vid=
eos-upload-loadingthumb {color: rgb(153, 153, 153); font-size: 11px; overfl=
ow: hidden; background: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..picker-photosuploadview .new-upload-box .picker-photo-control-uploading {b=
ackground: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..picker-photosuploadview .new-upload-box .picker-photo-control-uploading .n=
ew-upload-box-error {background: rgb(255, 255, 255) none repeat scroll 0% 0=
%;}
..new-upload-box-error .picker-photos-upload-filename ,.new-upload-box-error=
.picker-videos-upload-loadingthumb {color: rgb(153, 153, 153); font-size: =
11px; overflow: hidden; background: rgb(255, 255, 255) none repeat scroll 0=
% 0%;}
..new-upload-box .picker-photos-upload-filename ,.new-upload-box-error .pick=
er-photos-upload-filename {width: 120px; height: 120px; padding: 0px;}
..new-upload-box .picker-upload-filename-inner ,.new-upload-box-error .picke=
r-upload-filename-inner {padding-top: 58px; text-overflow: ellipsis; white-=
space: nowrap; overflow: hidden; font-size: 12px;}
..new-upload-box .picker-spr-photo-icon {display: inline-block; opacity: 0.5=
; position: absolute; left: 51px; top: 40px;}
..new-upload-box-error .picker-spr-photo-icon {display: none;}
..new-upload-box .new-upload-box-error .picker-spr-upload-error {position: a=
bsolute; margin: 40px 55px 40px 50px; top: 0px;}
..nub-loading .picker-spr-upload-error {display: none;}
..picker-upload-control-error .picker-spr-photo-upload-cancel ,.picker-uploa=
d-control-scheduled .picker-spr-photo-upload-cancel {opacity: 0.5; position=
: absolute; right: 8px; bottom: 8px; cursor: pointer;}
..picker-upload-control-running .picker-spr-photo-upload-cancel ,.picker-upl=
oad-control-success .picker-spr-photo-upload-cancel ,.picker-photo-control-=
placeholder .picker-spr-photo-upload-cancel {display: none;}
..picker-upload-control-error .picker-spr-upload-retry {opacity: 0.5; positi=
on: absolute; left: 8px; bottom: 8px; cursor: pointer;}
..picker-upload-control-error .picker-photos-upload-retry-text {position: ab=
solute; left: 19px; bottom: -1px; cursor: pointer; color: rgb(0, 0, 0); fon=
t-size: 12px;}
..picker-upload-control-running .picker-spr-upload-retry ,.picker-upload-con=
trol-success .picker-spr-upload-retry ,.picker-photo-control-placeholder .p=
icker-spr-upload-retry ,.picker-upload-control-scheduled .picker-spr-upload=
-retry {display: none;}
..new-upload-box-error .picker-photos-error-text {position: absolute; top: 0=
px; left: 0px; right: 0px; bottom: 27px; font-weight: bold; font-size: 12px=
; background-color: rgb(238, 238, 238); border: 1px solid rgb(204, 204, 204=
); padding-top: 15px;}
..new-upload-box-error .picker-photos-error-details {position: absolute; top=
: 44px; left: 11px; right: 11px; padding: 2px; background: rgb(238, 238, 23=
8) none repeat scroll 0% 0%; font-size: 12px; font-weight: normal;}
..new-upload-box .picker-photos-upload-controls ,.new-upload-box-error .pick=
er-photos-upload-controls {background: transparent none repeat scroll 0% 0%=
; position: absolute !important; height: 20px; bottom: 0px; left: 0px; text=
-decoration: none; width: 100%;}
..picker-photo-control-preview-content {transition: opacity 250ms ease 0s;}
..picker-photo-control-preview-smartcrop-content {transition: opacity 450ms =
linear 100ms; opacity: 0; position: absolute; top: 0px;}
..picker-edit-toolbar-overlay-container .picker-spr-icon-photos-delete-white=
,.picker-edit-toolbar-overlay-container .picker-spr-icon-rotate-left-white=
,.picker-edit-toolbar-overlay-container .picker-spr-icon-rotate-right-whit=
e {display: none;}
..picker-photosuploadview-albumbar-visible .picker-albumname {position: rela=
tive;}
..picker-photosuploadview .picker-dataview {position: relative; margin: -10p=
x; overflow: visible;}
..picker-photosuploadview.picker-photosuploadview-albumbar-visible .picker-d=
ataview {margin: 10px -10px -10px;}
..picker-photosuploadview .picker-photosgrid .picker-dataview-content ,.pick=
er-photosuploadview .picker-photosgrid-edit {padding: 0px;}
..picker-photosuploadview .picker-dataview-message {display: none;}
..picker-photosuploadview-albumbar-visible .picker-dropzone ,.picker-photosu=
ploadview-albumbar-visible .picker-progress-wrapper {top: 50px;}
..picker-photosuploadview .goog-toolbar-button {cursor: pointer;}
..picker-photosuploadview .picker-photo-control-preview-content {outline: me=
dium none; cursor: default;}
..picker-photosuploadview .picker-photo-control-checked .picker-photo-contro=
l-border {border: 6px solid transparent;}
..picker-localphotosprofilephoto .picker-photo-control-border ,.picker-local=
photosprofilephoto.picker-photo-control-checked .picker-photo-control-borde=
r {border: 4px solid rgb(221, 75, 57); margin: 2px;}
..picker-photosuploadview-progress-wrapper ,.picker-photosuploadview-progres=
s-text ,.picker-photosuploadview-progress {position: absolute; top: 0px; ri=
ght: 0px; bottom: 0px; left: 0px;}
..picker-photosuploadview-progress-text {width: 70%; margin: auto;}
..picker-photosuploadview-progress {height: 9px; width: 70%; margin: auto;}
..picker-photosuploadview-progress-text {height: 41px; padding: 0px 0px 6px =
4px; font-size: 13px;}
..picker-photosuploadview-progress-wrapper .picker-progress-bar {width: 100%=
;}
..picker-photosuploadview-msgbar {position: absolute; top: 10px; width: 80%;=
left: 10%; z-index: 2200;}
..picker-photosuploadview-msgbar .jfk-butterBar-shown {height: 30px;}
..picker-photosuploadview .picker-photo-control-uploading {background: rgb(2=
43, 243, 243) none repeat scroll 0% 0%;}
..picker-photosuploadview .picker-photosgrid .picker-photo-control {padding:=
0px 0px 12px;}
..picker-photosuploadview-progress .progress-bar-horizontal ,.picker-photosu=
ploadview-actionpane .progress-bar-horizontal {height: 9px; border: 1px sol=
id rgb(153, 153, 153); margin: 2px; padding: 1px; background: rgb(255, 255,=
255) none repeat scroll 0% 0%;}
..picker-photosuploadview-progress .picker-progress-bar-spinner.progress-bar=
-horizontal ,.picker-photosuploadview-actionpane .picker-progress-bar-spinn=
er.progress-bar-horizontal {border: 0px none; background: transparent url("=
//ssl.gstatic.com/docs/picker/images/loading-v1.gif") no-repeat scroll 0px =
0px; height: 16px; width: 16px; padding-left: 7px; padding-top: 2px; margin=
: auto auto 5px; opacity: 0.5;}
..picker-photosuploadview-progress .progress-bar-thumb ,.picker-photosupload=
view-actionpane .progress-bar-thumb {height: 100%; background-repeat: repea=
t-x; background-size: 20px 10px; background-color: rgb(77, 144, 254); backg=
round-image: linear-gradient(315deg, transparent, transparent 33%, rgba(0, =
0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, transparent 66%, transparent); ba=
ckground-attachment: scroll; animation-duration: 0.8s; animation-iteration-=
count: infinite; animation-timing-function: linear;}
..picker-upload-photo-album-bar {position: absolute; top: 20px; left: 20px; =
height: 30px; padding: 0px;}
..picker-photo-upload-dropzone {position: absolute; top: 50px; left: 0px; ri=
ght: 0px; bottom: 0px;}
..picker-youtube-banner-recommended-size-messages {position: absolute; botto=
m: 20px; right: 20px; padding: 20px; color: rgb(204, 204, 204); text-align:=
right;}
..picker-youtube-banner-channel-art-link {text-decoration: none;}
..picker-docsuploadview-drive-promo {background-color: rgb(229, 229, 229); c=
ursor: default; height: 125px; left: 0px; overflow: hidden; position: absol=
ute; top: 0px; width: 100%; z-index: 1; transition: height 0.218s ease 0s;}
..picker-docsuploadview-with-drive-promo .picker-docsuploadview-drive-promo =
{border-bottom: 1px solid rgb(229, 229, 229);}
..picker-docsuploadview-drive-promo-text {padding-right: 40px; position: abs=
olute; top: 0px;}
..picker-docsuploadview-drive-promo-title {font-size: 18px; padding: 15px 5p=
x 5px 0px; white-space: nowrap;}
..picker-docsuploadview-drive-promo-paragraph {color: rgb(68, 68, 68); font-=
size: 13px; max-width: 650px;}
..picker-docsuploadview-drive-promo-dismiss {padding-top: 5px;}
..picker-docsuploadview-drive-promo-learnmore ,.picker-docsuploadview-drive-=
promo-up-to-link {color: rgb(17, 85, 204); cursor: pointer; text-decoration=
: none; white-space: nowrap;}
..picker-docsuploadview-drive-promo-learnmore.picker-hover ,.picker-docsuplo=
adview-drive-promo-up-to-link.picker-hover {text-decoration: underline;}
..picker-docsuploadview-drive-promo-img {margin: 15px 30px;}
..picker-docsuploadview-drive-promo-close {padding: 10px; position: absolute=
; right: 0px; top: 0px;}
..picker-folderbar {border-bottom: 1px solid rgb(221, 221, 221); height: 49p=
x; position: absolute; top: 0px; left: 0px; width: 100%;}
..picker-folderbar-menu {position: absolute; top: 10px; left: 10px;}
..picker-folderbar-menu .jfk-bubble-content-id {width: 300px;}
..picker-du-folderpopup-buttons .jfk-button {margin-top: 13px;}
..picker-docsuploadview.picker-upload {overflow: hidden; padding: 0px;}
..picker-docsuploadview .picker-dataview ,.picker-docsuploadview .picker-dro=
pzone {top: 50px;}
..picker-docsuploadview-with-drive-promo .picker-dataview ,.picker-docsuploa=
dview-with-drive-promo .picker-dropzone {top: 120px;}
..picker-doc-upload-control-cell {border-bottom: 1px solid rgb(221, 221, 221=
);}
..picker-doc-upload-control-row {height: 50px;}
..picker-doc-upload-control-icon-cell {width: 36px;}
..picker-doc-upload-control-icon {display: block; margin-top: 4px; margin-le=
ft: 10px; padding-top: 3px; width: 16px; height: 16px; background-repeat: n=
o-repeat;}
..picker-doc-upload-control-text ,.picker-doc-upload-control-retry-text ,.pi=
cker-docs-upload-error-dialog {font-size: 13px;}
..picker-doc-upload-control-retry-text {color: rgb(17, 85, 204);}
..picker-doc-upload-control-retry-text .jfk-button {cursor: pointer;}
..picker-doc-upload-control-retry-text .jfk-button-hover {text-decoration: u=
nderline;}
..picker-docsuploadview-uploadmore-button {display: inline-block; margin: 16=
px 20px;}
..picker-doc-upload-control-error-message {color: rgb(204, 51, 51);}
..picker-doc-upload-control-cell .picker-spr-upload-error {display: inline-b=
lock; margin-top: 5px; vertical-align: text-bottom;}
..picker-doc-upload-control-error-message {margin-left: 8px;}
..picker-docs-upload-error-dialog {width: 300px; z-index: 2112;}
..picker-docs-upload-error-dialog-bg {z-index: 2111;}
..picker-docs-upload-error-dialog-button::-moz-focus-inner {border: 0px none=
;}
..picker-doc-upload-control-progress {text-align: right; width: 130px;}
..picker-doc-upload-control-progress .progress-bar-horizontal {height: 9px; =
border: 1px solid rgb(153, 153, 153); margin: 2px; padding: 1px; background=
: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..picker-doc-upload-control-progress .progress-bar-thumb {height: 100%; back=
ground-repeat: repeat-x; background-size: 20px 10px; background-color: rgb(=
77, 144, 254); background-image: linear-gradient(315deg, transparent, trans=
parent 33%, rgba(0, 0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%, transparent 6=
6%, transparent); background-attachment: scroll; animation-duration: 0.8s; =
animation-iteration-count: infinite; animation-timing-function: linear;}
..picker-doc-upload-control-cancel {width: 45px;}
..picker-doc-upload-control-cancel-x .jfk-button {cursor: pointer; height: a=
uto; margin: 0px 17px; width: auto;}
..picker-doc-upload-control-size {margin-left: 15px; font-size: 12px; color:=
rgb(102, 102, 102);}
..picker-doc-upload-control-name ,.picker-doc-upload-control-size {cursor: d=
efault;}
..picker-doc-upload-control-row.picker-upload-control-scheduled .picker-spr-=
photo-upload-cancel {display: none;}
..picker-doc-upload-control-complete {color: rgb(204, 204, 204);}
..picker-doc-upload-more {margin-left: 10px;}
..picker-doc-upload-control-row.picker-upload-control-error .picker-spr-phot=
o-upload-cancel {position: static; opacity: 1;}
..picker-upload-control-error .progress-bar-horizontal {display: none;}
..picker-drag-indicator-top ,.picker-drag-indicator-left ,.picker-drag-indic=
ator-right ,.picker-drag-indicator-bottom {position: absolute; z-index: 220=
0; background-color: rgb(77, 144, 254);}
..picker-drag-indicator-top ,.picker-drag-indicator-bottom {height: 3px; wid=
th: 100%; left: 0px;}
..picker-drag-indicator-left ,.picker-drag-indicator-right {height: 100%; wi=
dth: 3px; top: 0px;}
..picker-drag-indicator-top {top: 0px;}
..picker-drag-indicator-left {left: 0px;}
..picker-drag-indicator-right {right: 0px;}
..picker-drag-indicator-bottom {bottom: 0px;}
..picker-drag-tooltip {position: absolute; display: table; top: 50%; left: 5=
0%; width: 350px; margin-left: -175px; height: 40px; margin-top: -20px; bac=
kground-color: rgb(77, 144, 254); color: rgb(255, 255, 255); font-weight: b=
old; padding: 10px; font-size: 13px; z-index: 2200; text-align: center; box=
-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2); border-radius: 2px;}
..picker-drag-tooltip-inner {display: table-cell; vertical-align: middle;}
..picker-dropzone ,.picker-dropzone-target ,.picker-dropzone-targetcontent ,=
..picker-dropzone-targetcontentwrapper {position: absolute; top: 0px; right:=
0px; bottom: 0px; left: 0px;}
..picker-drag-drop-supported .picker-dropzone-targetpointer {cursor: pointer=
;}
..picker-dropzone.goog-control-focused {border: 1px solid rgb(221, 221, 221)=
;}
..picker-drag-drop-supported .picker-dropzone-text ,.picker-drag-drop-suppor=
ted .picker-dropzone-alttext {display: block;}
..picker-dropzone-or {color: rgb(170, 170, 170); font-size: 14px; padding: 0=
px 0px 16px;}
..picker-dropzone-upload-button {padding: 5px 12px;}
..picker-dropzone-text ,.picker-dropzone-alttext ,.picker-spr-rio-upload-big=
{display: none;}
..picker-dropzone.picker-drag-drop-supported .picker-spr-rio-upload-big {opa=
city: 0.4; display: inline-block;}
..picker-dropzone .picker-dropzone-target {border-width: 3px;}
..picker-drag-active .picker-dropzone-target {background: rgb(245, 245, 245)=
none repeat scroll 0% 0%; border-color: rgb(77, 144, 254);}
..picker-dropzone-targetcontent {text-align: center;}
..picker-dropzone-targetcontentwrapper {margin: auto; height: 30px;}
..picker-dropzone-largetargetcontentwrapper {height: 200px;}
..picker-dropzone-text {color: rgb(170, 170, 170); font-size: 20pt; padding:=
0px 10px;}
..picker-dropzone-alttext {color: rgb(204, 204, 204); font-size: 13px; font-=
weight: bold; padding: 15px 0px 5px;}
..picker-dropzone-targetcontent .jfk-button {cursor: pointer; margin-right: =
0px;}
..picker-upload.picker-inline-upload {border-bottom: 1px solid rgb(229, 229,=
229); height: 119px; position: relative;}
..picker-inline-upload-icon {display: inline-block; left: 20px; opacity: 0.4=
; position: absolute; top: 15px;}
..picker-drag-drop-supported.picker-inline-upload-container {visibility: vis=
ible;}
..picker-inline-upload-container {border: 2px dashed rgb(221, 221, 221); bor=
der-radius: 2px; bottom: 20px; left: 20px; position: absolute; right: 30px;=
top: 20px; visibility: hidden;}
..picker-drag-active .picker-inline-upload-container {border: 2px dashed rgb=
(77, 144, 254);}
..picker-inline-upload-dropzone {height: 100%;}
..picker-inline-upload-dropzone-text {bottom: 26px; color: rgb(170, 170, 170=
); display: inline-block; font-size: 20px; left: 90px; padding-right: 5px; =
position: absolute;}
..picker-drag-active .picker-inline-upload-dropzone-text {color: rgb(57, 137=
, 212);}
..picker-inline-upload-button-container {bottom: 20px; position: absolute; r=
ight: 10px;}
..picker-upload-button-visible .picker-inline-upload-button {visibility: vis=
ible;}
..picker-inline-upload-button-pre-text {color: rgb(170, 170, 170); display: =
inline-block; font-size: 20px; padding-right: 10px;}
..picker-inline-upload .picker-draguploadview-progress-parent {text-align: c=
enter;}
..picker-inline-upload-actionpane-button {float: right; margin-right: 31px;}
..picker-main-container .goog-tree-hide-root {display: none;}
..picker-main-container .goog-tree-item {-moz-user-select: none;}
..picker-main-container .goog-tree-item .selected {-moz-user-select: none; v=
ertical-align: middle; cursor: default; white-space: nowrap; background-col=
or: rgb(77, 144, 254); color: rgb(255, 255, 255); font-weight: bold;}
..picker-main-container .goog-tree-row {padding: 2px 0px 3px 8px; vertical-a=
lign: middle; cursor: default; white-space: nowrap; height: 15px;}
..picker-main-container .goog-tree-item-label {overflow: hidden; white-space=
: nowrap; empty-cells: show; font-size: 13px; font-weight: normal; font-fam=
ily: Roboto,Arial,sans-serif; width: 95%;}
..picker-main-container .goog-tree-expand-icon {background-repeat: no-repeat=
; height: 12px; width: 12px; cursor: pointer; vertical-align: middle;}
..picker-main-container .goog-tree-expand-icon-minus ,.picker-main-container=
.goog-tree-expand-icon-lminus ,.picker-main-container .goog-tree-expand-ic=
on-tminus {background-image: url("//ssl.gstatic.com/docs/picker/images/icon=
s-v9.png"); background-position: -402px center;}
..picker-main-container .goog-tree-expand-icon-plus ,.picker-main-container =
..goog-tree-expand-icon-tplus ,.picker-main-container .goog-tree-expand-icon=
-lplus {background-image: url("//ssl.gstatic.com/docs/picker/images/icons-v=
9.png"); background-position: -384px center;}
..picker-main-container .goog-tree-expand-icon-blank {background-position: c=
enter center; background-repeat: no-repeat; height: 8px;}
..picker-content .goog-tree-root {min-height: 200px; max-height: 300px; over=
flow: auto; border: 1px solid rgb(217, 217, 217);}
..picker-treedoclistview-node-name {font-size: 13px; padding: 2px 3px 3px; f=
ont-weight: normal; vertical-align: middle;}
..picker-treedoclistview-node-message {color: rgb(102, 102, 102); padding-le=
ft: 4px;}
..picker-treedoclistview-node-error {color: rgb(204, 51, 51); padding-left: =
4px;}
..picker-upload {overflow-y: auto; padding: 20px;}
..picker-upload .picker-dataview ,.picker-upload .picker-dropzone {transitio=
n: top 0.218s ease 0s;}
* html .picker-upload ,body .picker-upload {height: 100%; width: 100%;}
..apps-upload-sprite {background-image: url("//ssl.gstatic.com/docs/picker/i=
mages/apps_upload_icons-v1.gif") !important;}
..picker-upload-container.picker-collapsed .picker-upload-button ,.picker-up=
load-container.picker-collapsed .picker-upload-header ,.picker-upload-conta=
iner.picker-collapsed .picker-upload-text {display: none;}
..picker-upload-container.picker-collapsed .upload-uploader-flash-content {p=
osition: absolute; top: -1000px !important; left: -1000px !important;}
..picker-upload-header {font-size: 13px; font-weight: bold; color: rgb(68, 6=
8, 68); margin-bottom: 4px;}
..upload-file-col {padding: 4px;}
..upload-state-default .upload-file-col {padding: 2px;}
..upload-file {border-bottom: 0px none;}
..upload-file .goog-flat-button {color: rgb(153, 153, 153); text-decoration:=
underline; cursor: pointer; margin-right: 5px;}
..upload-file-progress {display: none;}
..upload-file-status {width: 16px; background-position: 20px 20px; backgroun=
d-repeat: no-repeat;}
..upload-state-start .upload-file-status ,.upload-state-upload .upload-file-=
status ,.upload-state-backoff .upload-file-status {width: 16px; height: 16p=
x; background-position: center top;}
..upload-state-complete .upload-file-status {width: 16px; height: 13px; back=
ground-position: center -16px;}
..upload-state-error .upload-file-status {width: 16px; height: 13px; backgro=
und-position: center -31px;}
..upload-state-default .progress-bar-horizontal ,.upload-state-inqueue .prog=
ress-bar-horizontal ,.upload-state-error .progress-bar-horizontal ,.upload-=
state-complete .progress-bar-horizontal ,.upload-state-cancel .upload-file-=
size ,.upload-state-cancel .upload-file-progress ,.upload-state-cancel .upl=
oad-file-actions ,.upload-state-error .upload-file-size {display: none;}
..upload-file-size {text-align: right;}
..upload-file-progress {width: 88px;}
..upload-file-message {font-size: 11px; padding-left: 0.5em; color: rgb(153,=
153, 153);}
..upload-message .progress-bar-horizontal {display: none;}
..upload-file-actions {text-align: right;}
..upload-file-hidden {visibility: hidden; cursor: auto;}
..picker-upload-text {color: rgb(102, 102, 102); font-size: 10px; margin: 5p=
x 0px 4px;}
..picker-upload-text-a {color: rgb(153, 153, 153);}
..upload-uploader {font-size: 13px;}
..upload-uploader-table {width: auto;}
..picker-upload.picker-videoupload {padding: 0px;}
..picker-videoupload .upload-uploader-table {width: 100%;}
..upload-uploader-file-list {width: auto;}
..upload-uploader-hidden {display: none !important;}
..picker-upload-input-flash {font-size: 11px;}
..picker-upload-input-noflash {padding: 8px; font-size: 11px;}
..picker-upload-input-flash {border-top: 1px solid rgb(221, 221, 221); borde=
r-left: 1px solid rgb(221, 221, 221); background-color: rgb(245, 245, 245);=
padding: 4px 11px 2px; margin: 8px; text-align: center; vertical-align: mi=
ddle;}
..picker-upload-input-flash .picker-spr-upload-arrow {margin-right: 5px;}
..picker-upload-input-noflash .upload-uploader-input {font-size: 9px;}
..picker-docsuploadview .picker-upload-header {font-weight: normal; color: r=
gb(0, 0, 0);}
..picker-docsuploadview-title {font-weight: bold; color: rgb(68, 68, 68); ma=
rgin-bottom: 10px; font-size: 13px;}
..picker-doplaruploadview-uploading ,.picker-geouploadview-uploading {font-s=
ize: 13px; margin: 10px;}
..picker-doplaruploadview-error ,.picker-geouploadview-error {font-size: 13p=
x; margin: 10px; color: rgb(204, 51, 51);}
..picker-docsuploadview-checkbox {font-size: 12px; margin: 15px 0px 0px -4px=
;}
..picker-docsuploadview-checkbox-input {margin-right: 7px;}
..picker-docsuploadview-move-to-folder {font-size: 13px; margin: 0px 0px 10p=
x 27px;}
..picker-docsuploadview-folder-header {margin-top: 10px;}
..picker-docsuploadview-icon {background-image: url("//ssl.gstatic.com/docs/=
picker/images/folder_sprite-v1.gif"); background-position: -24px 0px; heigh=
t: 16px; vertical-align: middle; width: 16px;}
..picker-du-folder-icon {height: 11px; vertical-align: middle; width: 11px; =
margin: -1px 0px 0px 5px;}
..picker-docsuploadview-icon {margin-bottom: 3px;}
..picker-docsuploadview-spacing {width: 5px;}
..picker-du-folders-popup {border: 1px solid rgb(221, 221, 221); padding: 13=
px; font-size: 12px; width: 300px; color: rgb(0, 0, 0); background-color: r=
gb(255, 255, 255); position: absolute; z-index: 20; margin: -3px 0px 0px 2p=
x;}
..picker-docsuploadview-dropdown {background-image: url("//ssl.gstatic.com/d=
ocs/picker/images/folder_sprite-v1.gif"); background-position: -40px 0px; w=
idth: 12px; height: 16px; vertical-align: middle; margin: 0px -2px 3px 3px;=
}
..picker-docsuploadview .goog-tree-root {height: 125px; overflow-x: hidden; =
overflow-y: auto;}
..picker-videos-listview .picker-dataview-content {padding: 15px;}
..picker-video-control {border: 5px solid transparent; cursor: pointer; marg=
in: 5px; padding: 2px;}
..picker-video-control-checked {border: 5px solid rgb(77, 144, 254); backgro=
und: rgb(245, 245, 245) none repeat scroll 0% 0%;}
..picker-videoupload .picker-video-control-checked {border: 5px solid rgb(25=
5, 255, 255); background: rgb(255, 255, 255) none repeat scroll 0% 0%;}
..picker-video-control-inner {overflow: hidden;}
..picker-video-control-preview {padding: 1px; border: 1px solid rgb(153, 153=
, 153);}
..picker-video-control-thumb {z-index: 3; width: 96px; height: 72px; cursor:=
pointer;}
..picker-video-control-thumb-img {width: 96px; height: 72px; cursor: pointer=
;}
..picker-photos-upload .picker-video-control-thumb ,.picker-photos-upload .p=
icker-video-control-thumb-img {width: 240px; height: 182px;}
..picker-video-control-previewing .picker-video-control-thumb {display: none=
;}
..picker-video-control-star-mask {width: 55px; height: 11px; margin-right: 7=
px; overflow: hidden; vertical-align: middle; line-height: 9pt;}
..picker-video-control-star-mask .picker-spr-video-stars {position: relative=
;}
..picker-video-control .picker-spr-video-play-overlay {position: relative; z=
-index: 2; top: -50%; left: 50%; margin-left: -18px; margin-top: -20px;}
..picker-video-control-metadata {margin-left: 4px;}
..picker-video-control-previewing .picker-video-control-metadata {padding-to=
p: 3px;}
..picker-video-control-title {font-size: 13px; font-weight: bold; color: rgb=
(80, 80, 80); white-space: nowrap; text-overflow: ellipsis; height: 1.3em; =
overflow: hidden;}
..picker-video-control-previewing .picker-video-control-title {font-size: 12=
px;}
..picker-video-control-content {font-size: 12px; height: 3em; line-height: 1=
..5em; margin-bottom: -2px; overflow: hidden; overflow-wrap: break-word;}
..picker-video-control-time {color: rgb(133, 133, 133); font-size: 12px; ver=
tical-align: middle;}
..picker-video-control-previewing .picker-video-control-time {font-size: 11p=
x;}
..picker-video-control-publisher {color: rgb(0, 128, 0); font-size: 12px;}
..picker-video-control-previewing .picker-video-control-publisher {font-size=
: 11px;}
..picker-spr-youtube {margin: 0px 13px 6px 0px;}
..picker-videos-grid .picker-dataview-content {padding-left: 20px;}
..picker-videos-grid .picker-video-grid-control-border {opacity: 0; transiti=
on: opacity 0.218s ease 0s; padding: 5px; position: relative;}
..picker-video-grid-control-checked .picker-video-grid-control-border {borde=
r: 5px solid rgb(66, 133, 244); padding: 0px;}
..picker-video-grid-control-focused .picker-video-grid-control-border {outli=
ne: 1px solid rgb(66, 133, 244);}
..picker-videos-grid .picker-video-grid-control-wrapper {cursor: pointer; di=
splay: inline-block; height: 140px; outline: medium none; text-align: cente=
r; vertical-align: middle; width: 140px;}
..picker-videos-grid .picker-video-grid-control-thumbnail {max-height: 100%;=
max-width: 100%;}
..picker-videos-grid .picker-video-grid-control-hover .picker-video-grid-con=
trol-check {opacity: 0.7;}
..picker-videos-grid .picker-video-grid-control-checked .picker-video-grid-c=
ontrol-check {opacity: 1; left: 5px; top: 5px;}
..picker-videos-grid .picker-video-grid-control-check {opacity: 0; transitio=
n: opacity 0.218s ease 0s; left: 10px; position: absolute; top: 10px; z-ind=
ex: 2104;}
..picker-videos-grid .picker-spr-rio-checkmark-selected {animation: 0.3s lin=
ear 0s normal none 1 running pickerPhotosSelectionOverlayCheckmarkSelectedT=
ransition;}
..picker-video-control-disabled ,.picker-video-grid-control-disabled ,.picke=
r-video-grid-control-unselectable {opacity: 0.3;}
..picker-video-grid-control-unselectable .picker-video-grid-control-check {d=
isplay: none;}
..picker-video-duration-overlay {background: rgb(0, 0, 0) none repeat scroll=
0% 0%; bottom: 5px; color: rgb(255, 255, 255); font-size: 11px; font-weigh=
t: bold; height: 14px; line-height: 14px; opacity: 0.75; padding: 0px 4px; =
position: absolute; right: 5px; vertical-align: top; z-index: 2104;}
..picker-videos-grid .picker-video-grid-control-checked .picker-video-durati=
on-overlay {opacity: 1; bottom: 0px; right: 0px;}
..picker-video-grid-control-title {display: block; font-size: 13px; position=
: relative; height: 13px; line-height: 13px; margin: 2px 0px; overflow: hid=
den; text-align: center; text-overflow: ellipsis; white-space: nowrap;}
..picker-video-grid-control-timestamp {color: rgb(153, 153, 153); display: b=
lock; position: relative; font-size: 11px; height: 11px; line-height: 11px;=
margin: 2px 0px; text-align: center;}
..picker-videos-grid .picker-video-grid-control-preview {display: inline-blo=
ck; margin: 10px; outline: medium none;}
..picker-videos-grid .picker-spr-video-play-overlay {opacity: 0.8; left: 0px=
; top: 0px;}
..picker-video-grid-control-hover .picker-spr-video-play-overlay {opacity: 1=
;}
..picker-video-grid-control-checked .picker-spr-video-play-overlay {opacity:=
1; left: -5px; top: -5px;}
..upload-uploader .picker-photos-upload .progress-bar-horizontal {width: aut=
o; height: 5px; border: medium none; margin: 3px; padding: 0px; background:=
transparent none repeat scroll 0% 0%;}
..upload-uploader .picker-photos-upload .progress-bar-thumb {background: rgb=
(136, 136, 136) none repeat scroll 0% 0%; height: 100%;}
..picker-photos-upload-progress {position: absolute !important; bottom: 3px;=
left: 0px; width: 100%;}
..picker-photos-upload-controls {position: absolute !important; bottom: 3px;=
left: 0px; width: 100%; background: rgb(215, 0, 0) none repeat scroll 0% 0=
%; color: rgb(255, 255, 255);}
..picker-photos-upload-actions {text-decoration: underline; cursor: pointer;=
margin: 5px;}
..picker-photos-upload-message {margin: 5px;}
..picker-videos-upload .picker-video-control {cursor: auto;}
..picker-photos-upload-filename ,.picker-videos-upload-loadingthumb {color: =
rgb(153, 153, 153); background: transparent url("//ssl.gstatic.com/docs/pic=
ker/images/placeholder-v1.gif") repeat scroll 0% 0%;}
..picker-videos-upload-error .picker-videos-upload-loadingthumb {background:=
rgb(215, 0, 0) none repeat scroll 0% 0%;}
..picker-videos-upload-loadingthumb {width: 240px; height: 180px;}
..picker-photos-upload-filename {padding-top: 5px; height: 115px; width: 160=
px;}
..picker-videos-upload-metadata {vertical-align: top; width: 100%;}
..picker-videos-upload-processing {font-size: 12px; color: rgb(170, 170, 170=
);}
..picker-videos-upload-error {font-size: 12px; color: rgb(204, 51, 51);}
..upload-state-complete .picker-photos-upload-filename {background-color: rg=
b(245, 245, 245);}
..picker-photos-upload-rotating ,.upload-state-complete .picker-photos-uploa=
d-filename .picker-photos-upload-loading-icon ,.upload-state-complete .pick=
er-videos-upload-loadingthumb .picker-videos-upload-loading-icon {position:=
absolute !important; top: 50%; left: 50%; background-image: url("//ssl.gst=
atic.com/docs/picker/images/loading-32-v1.gif") !important; height: 32px; w=
idth: 32px; margin: -16px 0px 0px -16px; opacity: 0.3;}
..picker-videos-upload-error.upload-state-complete .picker-videos-upload-loa=
dingthumb .picker-videos-upload-loading-icon {display: none;}
..picker-videos-upload-loadingthumb .picker-videos-upload-loading-icon {posi=
tion: relative !important;}
..upload-state-default .picker-photos-upload-controls ,.upload-state-start .=
picker-photos-upload-controls ,.upload-state-cancel .picker-photos-upload-c=
ontrols ,.upload-state-complete .picker-photos-upload-controls ,.upload-sta=
te-upload .picker-photos-upload-controls ,.upload-state-inqueue .picker-pho=
tos-upload-controls {display: none;}
..picker-videos-upload-control {margin: 2px; border: 6px solid rgb(255, 255,=
255);}
..picker-videos-upload-preview {height: 182px; overflow: hidden; padding: 1p=
x; margin-right: 4px; border: 1px solid rgb(153, 153, 153); position: relat=
ive;}
..picker-photos-upload-preview {opacity: 0.8; overflow: hidden;}
..picker-photos-upload-preview .uploader-thumb-img {border: 1px solid rgb(10=
2, 102, 102); position: relative;}
..picker-photos-upload-description {color: rgb(153, 153, 153); width: 100%; =
height: 1.2em; overflow: hidden; text-align: center; text-overflow: ellipsi=
s; white-space: nowrap; position: absolute;}
..picker-videoupload .upload-state-complete .picker-photos-upload-preview .u=
ploader-thumb-img {border: 1px solid rgb(192, 192, 192); position: relative=
;}
..picker-videoupload .upload-state-complete .picker-photos-upload-preview {o=
pacity: 1; overflow: visible;}
..picker-videoupload .upload-state-default .progress-bar-horizontal ,.picker=
-videoupload .upload-state-inqueue .progress-bar-horizontal ,.picker-videou=
pload .upload-state-error .progress-bar-horizontal ,.picker-videoupload .up=
load-state-cancel .progress-bar-horizontal ,.picker-videoupload .upload-sta=
te-complete .progress-bar-horizontal {display: none;}
..photo-zoomview {position: relative; z-index: 2105;}
:first-child + html .photo-zoomview {background-color: rgb(255, 255, 255); =
padding-top: 3px;}
..picker-zoomview-image {background: rgb(255, 255, 255) none repeat scroll 0=
% 0%; margin: 0px 3px; padding-top: 22px;}
..photo-loading .photo-loading-indicator {display: block; font-size: 20pt; f=
ont-weight: bold; font-family: Roboto,Arial,sans-serif; text-align: center;=
width: 100%; position: absolute; top: 0px; margin: 1em;}
..scaledimage-onscreenpane {display: inline-block; position: relative;}
..upload-uploader-file-grid {margin: 10px 5px 0px;}
..picker-photos-welcome {bottom: 10px;}
..picker-photos-welcome-text {font-size: 13px; padding-left: 15px;}
..picker-photos-welcome-section {padding: 15px 15px 0px;}
..picker-photos-welcome-line {border-bottom: 1px solid rgb(221, 221, 221); p=
adding-top: 20px;}
..picker-photos-welcome-link {color: rgb(153, 153, 153);}
..picker-photos-welcome-icon-top {vertical-align: top;}
..picker-photos-welcome-desc {margin: 10px 0px 20px; font-size: 12px;}
..picker-photos-welcome-source-link {font-weight: bold; color: rgb(17, 85, 2=
04); cursor: pointer;}
..picker-photos-welcome-title {font-weight: bold; color: rgb(0, 0, 0);}
..picker-main-container .picker-photos-welcome .goog-imageless-button {font-=
weight: bold; color: rgb(34, 34, 34);}
..picker-html5-video {background: rgb(0, 0, 0) none repeat scroll 0% 0%;}
..picker-video-upload-processing ,.video-upload-box .picker-photo-control-lo=
ading {height: 270px; width: 360px; background-color: rgb(238, 238, 238);}
..picker-videosgrid .picker-photo-control {margin-top: 20px; margin-left: 20=
px;}
..picker-video-processing-text {position: absolute; bottom: 5px; left: 0px; =
right: 0px; height: 20px; text-align: center; z-index: 2109; opacity: 0.8; =
color: rgb(153, 153, 153); font-size: 12px;}
..picker-video-upload-spinner {z-index: 2109; background-image: url("//ssl.g=
static.com/docs/picker/images/loading-v1.gif"); height: 16px; width: 16px; =
opacity: 0.5; position: absolute; top: 50%; margin-top: -20px; left: 50%; m=
argin-left: -8px;}
..video-upload-box .picker-upload-filename-inner ,.video-upload-box-error .p=
icker-upload-filename-inner ,.picker-video-upload-filename {position: absol=
ute; top: 50%; margin-top: 3px; text-align: center; padding-top: 0px; z-ind=
ex: 2104; height: 14px; width: 120px; text-overflow: ellipsis; white-space:=
nowrap; overflow: hidden; font-size: 12px; color: rgb(153, 153, 153);}
..video-upload-box .picker-spr-video-upload-icon {opacity: 0.5; position: ab=
solute; top: 50%; margin-top: -20px; left: 50%; margin-left: -11px;}
..video-upload-box .picker-photos-upload-filename {background-color: rgb(238=
, 238, 238); background-image: none;}
..video-upload-box .picker-photos-upload-controls {display: none;}
..picker-videosgrid .picker-photo-control-focused ,.picker-videosgrid .picke=
r-photo-control-focused.picker-photo-control ,.picker-videosgrid .picker-ph=
oto-control ,.picker-videosgrid .picker-photo-control.picker-photo-control-=
focused {outline: medium none; border: medium none;}
..picker-remove-video-single {position: relative; margin-left: 600px; margin=
-top: 10px; cursor: pointer;}
..video-upload-box .progress-bar-horizontal {right: 0px; bottom: 0px; left: =
0px; height: 8px; border: 1px solid rgb(153, 153, 153); margin: 0px 8px 8px=
; padding: 1px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; z-=
index: 2109;}
..video-upload-box .progress-bar-thumb {height: 100%; background-repeat: rep=
eat-x; background-size: 20px 10px; background-color: rgb(204, 204, 204); ba=
ckground-attachment: scroll; background-image: linear-gradient(315deg, tran=
sparent, transparent 33%, rgba(0, 0, 0, 0.12) 33%, rgba(0, 0, 0, 0.12) 66%,=
transparent 66%, transparent); animation-duration: 0.8s; animation-iterati=
on-count: infinite; animation-timing-function: linear;}
..video-upload-box .picker-spr-close-box-small-off {position: absolute; opac=
ity: 0.5; cursor: pointer; z-index: 2109; top: 5px; right: 5px;}
..video-upload-box .picker-spr-upload-error {position: absolute; top: 50%; m=
argin-top: -20px; left: 50%; margin-left: -8px;}
..picker-videosgrid .picker-edit-toolbar {display: none;}
..picker-videomsgbar.picker-msgbar.jfk-butterBar {width: 180px; z-index: 220=
0 !important;}
..picker-videosgrid .picker-photo-control-preview.picker-video-player {z-ind=
ex: 2103;}
..picker-videosgrid .new-upload-box-error .picker-photos-error-text {bottom:=
0px;}
..picker-html5-player-wrapper ,.picker-video-thumbnail {position: absolute; =
top: 0px; bottom: 0px; left: 0px; right: 0px;}
..picker-ribbon-wrapper {overflow: hidden; position: absolute; top: -3px; le=
ft: -3px; width: 85px; height: 88px;}
..picker-ribbon {position: relative; padding: 6px 0px; left: -24px; top: 24p=
x; width: 120px; font-size: 10px; font-weight: bold; color: rgb(255, 255, 2=
55); text-align: center; text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.5); text-=
transform: uppercase; opacity: 0.9; transform: rotate(-45deg); background-c=
olor: rgb(170, 0, 0); background-image: -moz-linear-gradient(center top , r=
gb(255, 0, 0), rgb(170, 0, 0)); box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);=
}
..goog-inline-block {position: relative; display: inline-block;}
* html .goog-inline-block ,:first-child + html .goog-inline-block ,body .go=
og-inline-block {display: inline;}
..jfk-button {border-radius: 2px; cursor: default; font-size: 11px; font-wei=
ght: bold; text-align: center; white-space: nowrap; margin-right: 16px; hei=
ght: 27px; line-height: 27px; min-width: 54px; outline: 0px none; padding: =
0px 8px;}
..jfk-button-hover {box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);}
..jfk-button-selected {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..jfk-button .jfk-button-img {margin-top: -3px; vertical-align: middle;}
..jfk-button-label {margin-left: 5px;}
..jfk-button-narrow {min-width: 34px; padding: 0px;}
..jfk-button-collapse-left ,.jfk-button-collapse-right {z-index: 1;}
..jfk-button-collapse-left.jfk-button-disabled {z-index: 0;}
..jfk-button-checked.jfk-button-collapse-left ,.jfk-button-checked.jfk-butto=
n-collapse-right {z-index: 2;}
..jfk-button-collapse-left:focus ,.jfk-button-collapse-right:focus ,.jfk-but=
ton-hover.jfk-button-collapse-left ,.jfk-button-hover.jfk-button-collapse-r=
ight {z-index: 3;}
..jfk-button-collapse-left {margin-left: -1px; border-bottom-left-radius: 0p=
x; border-top-left-radius: 0px;}
..jfk-button-collapse-right {margin-right: 0px; border-top-right-radius: 0px=
; border-bottom-right-radius: 0px;}
..jfk-button.jfk-button-disabled:active {box-shadow: none;}
..jfk-button-action {box-shadow: none; background-color: rgb(77, 144, 254); =
background-image: -moz-linear-gradient(center top , rgb(77, 144, 254), rgb(=
71, 135, 237)); border: 1px solid rgb(48, 121, 237); color: rgb(255, 255, 2=
55);}
..jfk-button-action.jfk-button-hover {box-shadow: none; background-color: rg=
b(53, 122, 232); background-image: -moz-linear-gradient(center top , rgb(77=
, 144, 254), rgb(53, 122, 232)); border: 1px solid rgb(47, 91, 183);}
..jfk-button-action:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) in=
set; border: 1px solid rgba(0, 0, 0, 0); outline: 0px none rgba(0, 0, 0, 0)=
;}
..jfk-button-action.jfk-button-clear-outline {box-shadow: none; outline: med=
ium none;}
..jfk-button-action:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inset=
; background: rgb(53, 122, 232) none repeat scroll 0% 0%; border: 1px solid=
rgb(47, 91, 183);}
..jfk-button-action.jfk-button-disabled {background: rgb(77, 144, 254) none =
repeat scroll 0% 0%; opacity: 0.5;}
..jfk-button-contrast {box-shadow: none; background-color: rgb(245, 245, 245=
); background-image: -moz-linear-gradient(center top , rgb(245, 245, 245), =
rgb(241, 241, 241)); color: rgb(68, 68, 68); border: 1px solid rgba(0, 0, 0=
, 0.1);}
..jfk-button-contrast.jfk-button-hover ,.jfk-button-contrast.jfk-button-clea=
r-outline.jfk-button-hover {box-shadow: none; background-color: rgb(248, 24=
8, 248); background-image: -moz-linear-gradient(center top , rgb(248, 248, =
248), rgb(241, 241, 241)); border: 1px solid rgb(198, 198, 198); color: rgb=
(51, 51, 51);}
..jfk-button-contrast:active ,.jfk-button-contrast.jfk-button-hover:active {=
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; background: rgb(248, 248,=
248) none repeat scroll 0% 0%;}
..jfk-button-contrast.jfk-button-selected ,.jfk-button-contrast.jfk-button-c=
lear-outline.jfk-button-selected {background-color: rgb(238, 238, 238); bac=
kground-image: -moz-linear-gradient(center top , rgb(248, 248, 248), rgb(24=
1, 241, 241)); border: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51)=
;}
..jfk-button-contrast.jfk-button-checked ,.jfk-button-contrast.jfk-button-cl=
ear-outline.jfk-button-checked {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) =
inset; background-color: rgb(238, 238, 238); background-image: -moz-linear-=
gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224)); border: 1px =
solid rgb(204, 204, 204); color: rgb(51, 51, 51);}
..jfk-button-contrast:focus {border: 1px solid rgb(77, 144, 254); outline: m=
edium none;}
..jfk-button-contrast.jfk-button-clear-outline {border: 1px solid rgb(220, 2=
20, 220); outline: medium none;}
..jfk-button-contrast.jfk-button-disabled {background: rgb(255, 255, 255) no=
ne repeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(1=
84, 184, 184);}
..jfk-button-contrast .jfk-button-img {opacity: 0.55;}
..jfk-button-contrast.jfk-button-checked .jfk-button-img ,.jfk-button-contra=
st.jfk-button-selected .jfk-button-img ,.jfk-button-contrast.jfk-button-hov=
er .jfk-button-img {opacity: 0.9;}
..jfk-button-contrast.jfk-button-disabled .jfk-button-img {opacity: 0.333;}
..jfk-button-default {box-shadow: none; background-color: rgb(61, 148, 0); b=
ackground-image: -moz-linear-gradient(center top , rgb(61, 148, 0), rgb(57,=
138, 0)); border: 1px solid rgb(41, 105, 29); color: rgb(255, 255, 255); t=
ext-shadow: 0px 1px rgba(0, 0, 0, 0.1);}
..jfk-button-default.jfk-button-hover {box-shadow: none; background-color: r=
gb(54, 130, 0); background-image: -moz-linear-gradient(center top , rgb(61,=
148, 0), rgb(54, 130, 0)); border: 1px solid rgb(45, 98, 0); text-shadow: =
0px 1px rgba(0, 0, 0, 0.3);}
..jfk-button-default:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) i=
nset; border: 1px solid rgba(0, 0, 0, 0); outline: 0px none rgba(0, 0, 0, 0=
);}
..jfk-button-default.jfk-button-clear-outline {box-shadow: none; outline: me=
dium none;}
..jfk-button-default:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inse=
t; background: rgb(54, 130, 0) none repeat scroll 0% 0%; border: 1px solid =
rgb(45, 98, 0);}
..jfk-button-default.jfk-button-disabled {background: rgb(61, 148, 0) none r=
epeat scroll 0% 0%; opacity: 0.5;}
..jfk-button-primary {box-shadow: none; background-color: rgb(209, 72, 54); =
background-image: -moz-linear-gradient(center top , rgb(221, 75, 57), rgb(2=
09, 72, 54)); border: 1px solid transparent; color: rgb(255, 255, 255); tex=
t-shadow: 0px 1px rgba(0, 0, 0, 0.1); text-transform: uppercase;}
..jfk-button-primary.jfk-button-hover {box-shadow: 0px 1px 1px rgba(0, 0, 0,=
0.2); background-color: rgb(197, 55, 39); background-image: -moz-linear-gr=
adient(center top , rgb(221, 75, 57), rgb(197, 55, 39)); border-width: 1px;=
border-style: solid; border-color: rgb(176, 40, 26) rgb(176, 40, 26) rgb(1=
75, 48, 31); -moz-border-top-colors: none; -moz-border-right-colors: none; =
-moz-border-bottom-colors: none; -moz-border-left-colors: none; border-imag=
e: none;}
..jfk-button-primary:focus {box-shadow: 0px 0px 0px 1px rgb(255, 255, 255) i=
nset; border: 1px solid rgba(0, 0, 0, 0); outline: 0px none rgba(0, 0, 0, 0=
);}
..jfk-button-primary.jfk-button-clear-outline {box-shadow: none; outline: me=
dium none;}
..jfk-button-primary:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3) inse=
t; background-color: rgb(176, 40, 26); background-image: -moz-linear-gradie=
nt(center top , rgb(221, 75, 57), rgb(176, 40, 26)); border: 1px solid rgb(=
153, 42, 27);}
..jfk-button-primary.jfk-button-disabled {background: rgb(209, 72, 54) none =
repeat scroll 0% 0%; opacity: 0.5;}
..jfk-slideToggle {border-radius: 2px; box-shadow: 0px 1px 2px 0px rgba(0, 0=
, 0, 0.1) inset; background-color: rgb(245, 245, 245); background-image: -m=
oz-linear-gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224)); bo=
rder: 1px solid rgb(204, 204, 204); color: rgb(102, 102, 102); font-weight:=
bold; height: 27px; line-height: 27px; margin-right: 16px; outline: medium=
none; overflow: hidden; padding: 0px; position: relative; width: 94px;}
..jfk-slideToggle-on ,.jfk-slideToggle-off ,.jfk-slideToggle-thumb {display:=
inline-block; text-align: center; text-transform: uppercase; width: 47px;}
..jfk-slideToggle-on {box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1) inset; =
background-color: rgb(57, 139, 242); background-image: -moz-linear-gradient=
(center top , rgb(59, 147, 255), rgb(54, 137, 238)); color: rgb(255, 255, 2=
55); height: 27px;}
..jfk-slideToggle-off {border-radius: 2px 2px 0px 0px;}
..jfk-slideToggle-thumb {box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1); bac=
kground-color: rgb(245, 245, 245); background-image: -moz-linear-gradient(c=
enter top , rgb(248, 248, 248), rgb(241, 241, 241)); transition: all 0.13s =
ease-out 0s; border: 1px solid rgb(204, 204, 204); display: block; height: =
27px; left: -1px; position: absolute; top: -1px;}
..jfk-slideToggle-thumb::after {content: ""; background-image: -moz-linear-g=
radient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-linear=
-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-line=
ar-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-li=
near-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%), -moz-=
linear-gradient(left center , rgb(204, 204, 204) 50%, transparent 50%); bac=
kground-position: 0px 0px, 0px 2px, 0px 4px, 0px 6px, 0px 8px; background-r=
epeat: repeat-x; background-size: 2px 1px; display: block; height: 9px; lef=
t: 15px; position: absolute; top: 9px; width: 17px;}
..jfk-slideToggle.jfk-slideToggle-checked .jfk-slideToggle-thumb {left: 47px=
;}
..jfk-slideToggle:focus {border: 1px solid rgb(77, 144, 254);}
..jfk-slideToggle.jfk-slideToggle-clearOutline {border: 1px solid rgb(204, 2=
04, 204);}
..jfk-button-standard {box-shadow: none; background-color: rgb(245, 245, 245=
); background-image: -moz-linear-gradient(center top , rgb(245, 245, 245), =
rgb(241, 241, 241)); color: rgb(68, 68, 68); border: 1px solid rgba(0, 0, 0=
, 0.1);}
..jfk-button-standard.jfk-button-hover ,.jfk-button-standard.jfk-button-clea=
r-outline.jfk-button-hover {box-shadow: none; background-color: rgb(248, 24=
8, 248); background-image: -moz-linear-gradient(center top , rgb(248, 248, =
248), rgb(241, 241, 241)); border: 1px solid rgb(198, 198, 198); color: rgb=
(51, 51, 51);}
..jfk-button-standard:active ,.jfk-button-standard.jfk-button-hover:active {=
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; background: rgb(248, 248,=
248) none repeat scroll 0% 0%; color: rgb(51, 51, 51);}
..jfk-button-standard.jfk-button-selected ,.jfk-button-standard.jfk-button-c=
lear-outline.jfk-button-selected {background-color: rgb(238, 238, 238); bac=
kground-image: -moz-linear-gradient(center top , rgb(248, 248, 248), rgb(24=
1, 241, 241)); border: 1px solid rgb(204, 204, 204); color: rgb(51, 51, 51)=
;}
..jfk-button-standard.jfk-button-checked ,.jfk-button-standard.jfk-button-cl=
ear-outline.jfk-button-checked {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) =
inset; background-color: rgb(238, 238, 238); background-image: -moz-linear-=
gradient(center top , rgb(238, 238, 238), rgb(224, 224, 224)); border: 1px =
solid rgb(204, 204, 204); color: rgb(51, 51, 51);}
..jfk-button-standard:focus {border: 1px solid rgb(77, 144, 254); outline: m=
edium none;}
..jfk-button-standard.jfk-button-clear-outline {border: 1px solid rgba(0, 0,=
0, 0.1); outline: medium none;}
..jfk-button-standard.jfk-button-disabled {background: rgb(255, 255, 255) no=
ne repeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(1=
84, 184, 184);}
..jfk-button-standard .jfk-button-img {opacity: 0.55;}
..jfk-button-standard.jfk-button-checked .jfk-button-img ,.jfk-button-standa=
rd.jfk-button-selected .jfk-button-img ,.jfk-button-standard.jfk-button-hov=
er .jfk-button-img {opacity: 0.9;}
..jfk-button-standard.jfk-button-disabled .jfk-button-img {opacity: 0.333;}
..jfk-button-flat {border-radius: 0px; border: 1px solid transparent; font-s=
ize: 13px; font-weight: normal; height: 21px; line-height: 21px; margin-rig=
ht: 1px; min-width: 0px; padding: 0px;}
..jfk-button-flat.jfk-button-hover ,.jfk-button-flat.jfk-button-selected ,.j=
fk-button-flat:focus ,.jfk-button-flat:active {box-shadow: none;}
..jfk-button-flat .jfk-button-img {height: 21px; opacity: 0.55; width: 21px;=
}
..jfk-button-flat .jfk-button-label {display: inline-block; margin: 0px; pad=
ding: 0px 1px;}
..jfk-button-flat.jfk-button-selected .jfk-button-img ,.jfk-button-flat.jfk-=
button-hover .jfk-button-img {opacity: 0.9;}
..jfk-button-flat.jfk-button-disabled .jfk-button-img {opacity: 0.333;}
..jfk-button-flat:focus {border: 1px solid rgb(77, 144, 254);}
..jfk-button-flat.jfk-button-clear-outline {border: 1px solid transparent;}
..jfk-button-mini {background-color: rgb(245, 245, 245); background-image: -=
moz-linear-gradient(center top , rgb(245, 245, 245), rgb(241, 241, 241)); b=
order: 1px solid rgba(0, 0, 0, 0.1); color: rgb(68, 68, 68); height: 17px; =
line-height: 17px; min-width: 22px; text-shadow: 0px 1px rgba(0, 0, 0, 0.1)=
;}
..jfk-button-mini.jfk-button-hover ,.jfk-button-mini.jfk-button-clear-outlin=
e.jfk-button-hover {background-color: rgb(248, 248, 248); background-image:=
-moz-linear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, 241));=
border: 1px solid rgb(198, 198, 198); text-shadow: 0px 1px rgba(0, 0, 0, 0=
..3);}
..jfk-button-mini:active {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..jfk-button-mini.jfk-button-checked ,.jfk-button-mini.jfk-button-clear-outl=
ine.jfk-button-checked {box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset; b=
ackground-color: rgb(224, 224, 224); background-image: -moz-linear-gradient=
(center top , rgb(238, 238, 238), rgb(224, 224, 224)); border: 1px solid rg=
b(204, 204, 204); color: rgb(51, 51, 51);}
..jfk-button-mini:focus {border: 1px solid rgb(77, 144, 254);}
..jfk-button-mini.jfk-button-clear-outline {border: 1px solid rgb(220, 220, =
220);}
..jfk-button-mini.jfk-button-disabled {background: rgb(255, 255, 255) none r=
epeat scroll 0% 0%; border: 1px solid rgba(0, 0, 0, 0.05); color: rgb(184, =
184, 184);}
..jfk-butterBar {border-radius: 2px; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0=
..2); transition: all 0s linear 1s, opacity 1s ease 0s; border-style: solid;=
border-width: 0px; font-size: 11px; height: 0px; opacity: 0; visibility: h=
idden; overflow: hidden; padding: 0px; text-align: center;}
..jfk-butterBar-info {background-color: rgb(249, 237, 190); border-color: rg=
b(240, 195, 109); color: rgb(51, 51, 51);}
..jfk-butterBar-error {background-color: rgb(72, 72, 72); border-color: rgb(=
32, 32, 32); color: rgb(255, 255, 255);}
..jfk-butterBar-promo {background-color: rgb(214, 233, 248); border-color: r=
gb(77, 144, 240); color: rgb(51, 51, 51);}
..jfk-butterBar-warning {background-color: rgb(221, 75, 57); border-color: r=
gb(96, 32, 25); color: rgb(255, 255, 255);}
..jfk-butterBar-shown {transition: opacity 0.218s ease 0s; border-width: 1px=
; min-height: 14px; height: auto; opacity: 1; visibility: visible; padding:=
6px 16px;}
..jfk-butterBar-mini.jfk-butterBar-shown {padding: 2px 16px;}
..picker-dialog {background: rgb(255, 255, 255) none repeat scroll 0% 0%; bo=
rder: 1px solid rgb(172, 172, 172); position: absolute; box-shadow: 0px 4px=
16px rgba(0, 0, 0, 0.2); z-index: 1021; outline: medium none; padding: 0px=
;}
..picker.modal-dialog-content {width: 705px; height: 370px; padding: 0px; ma=
rgin: 0px; position: relative; border: 0px none;}
..picker.modal-dialog-bg {background: rgb(255, 255, 255) none repeat scroll =
0% 0%; left: 0px; position: absolute; top: 0px; z-index: 1001;}
..picker.modal-dialog-title ,.picker.modal-dialog-buttons {display: none;}
..picker-frame {width: 100%; height: 100%; border: 0px none; overflow: hidde=
n;}
..picker-upload-button-visible .picker-drag-drop-supported .picker-photos-up=
load-dropzone-cell {vertical-align: middle;}
..picker-photos-upload-dropzone td {text-align: center;}
..picker .progress-bar-thumb {background-color: rgb(93, 128, 239);}
..goog-inline-block {position: relative; display: inline-block;}
* html .goog-inline-block ,body .goog-inline-block {display: inline;}
:first-child + html .goog-inline-block {display: inline;}
..sketchy-dialog-bg ,.sketchy-dialog-fg {left: 0px; overflow: auto; position=
: absolute; top: 0px;}
..sketchy-dialog-bg {background-color: rgb(238, 238, 238); opacity: 0.75;}
..sketchy-dialog-fg {cursor: move;}
..sketchy-dialog {background-color: rgb(193, 217, 255); border: 1px solid rg=
b(58, 87, 116); padding: 8px; position: absolute; cursor: move;}
..sketchy-dialog-title {background-color: rgb(224, 237, 254); color: rgb(0, =
0, 0); font: bold 14px Arial,sans-serif; padding: 8px 15px 8px 8px; positio=
n: relative; vertical-align: middle;}
..sketchy-dialog-title-close {height: 24px; position: absolute; right: 8px; =
top: 4px; font-weight: normal; padding: 0px 6px;}
..sketchy-dialog-title-autosave {color: rgb(102, 102, 102); font: 12px Arial=
,sans-serif; position: absolute;}
..sketchy-dialog-content {background-color: rgb(255, 255, 255);}
..goog-tab-bar {margin: 0px; border: 0px none; padding: 0px; list-style: out=
side none none; cursor: default; outline: medium none; background: rgb(235,=
239, 249) none repeat scroll 0% 0%;}
..goog-tab-bar-clear {clear: both; height: 0px; overflow: hidden;}
..goog-tab-bar-start {float: left;}
..goog-tab-bar-end {float: right;}
* html .goog-tab-bar-start ,body .goog-tab-bar-start {margin-right: -3px;}
* html .goog-tab-bar-end ,body .goog-tab-bar-end {margin-left: -3px;}
div.tr_bubble {position: absolute;}
..tr_bubble_link {color: rgb(0, 0, 204); text-decoration: underline; cursor:=
pointer; font-size: 100%;}
..tr_bubble .tr_option-link ,.tr_bubble #tr_delete-image ,.tr_bubble #tr_mod=
ule-options-link {font-size: 83%;}
..tr_bubble .tr_body ,.tr_bubble .tr_t ,.tr_bubble .tr_l ,.tr_bubble .tr_r ,=
..tr_bubble .tr_b {background-color: rgb(224, 236, 255);}
..tr_bubble .tr_body {padding: 0px 19px 4px 4px; white-space: nowrap;}
..tr_bubble .tr_spacer {padding: 1px;}
..tr_bubble .tr_body ,.tr_bubble .tr_td ,.tr_bubble .tr_th {font-size: 83%; =
font-family: Arial,Helvetica,sans-serif;}
..tr_bubble .tr_tr ,.tr_bubble .tr_tl ,.tr_bubble .tr_bl ,.tr_bubble .tr_br =
{background-repeat: no-repeat; height: 0px; width: 2px;}
..tr_bubble .tr_tr {background-image: url("//ssl.gstatic.com/editor/bubble2_=
tr.gif");}
..tr_bubble .tr_tl {background-image: url("//ssl.gstatic.com/editor/bubble2_=
tl.gif");}
..tr_bubble .tr_bl {background-image: url("//ssl.gstatic.com/editor/bubble2_=
bl.gif");}
..tr_bubble .tr_br {background-image: url("//ssl.gstatic.com/editor/bubble2_=
br.gif");}
..tr_bubble .tr_t {border-top: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_b {border-bottom: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_l {border-left: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_r {border-right: 1px solid rgb(153, 192, 255);}
..tr_bubble .tr_tr ,.tr_bubble .tr_tl ,.tr_bubble .tr_bl ,.tr_bubble .tr_br =
,.tr_bubble .tr_b ,.tr_bubble .tr_t {line-height: 0; font-size: 1px;}
..tr_bubble_closebox {position: absolute; cursor: default; background: rgba(=
0, 0, 0, 0) url("//ssl.gstatic.com/editor/bubble_closebox.gif") no-repeat s=
croll left top; padding: 0px; margin: 0px; width: 10px; height: 10px; top: =
3px; right: 5px;}
div.tr_bubble_panel {padding: 2px 0px 1px;}
div.tr_bubble_panel_title {display: none;}
div.tr_multi_bubble div.tr_bubble_panel_title {margin-right: 1px; display: =
block; float: left; width: 50px;}
div.tr_multi_bubble div.tr_bubble_panel {padding: 2px 0px 1px; margin-right=
: 50px;}
..ee-content {width: 400px; height: 200px; overflow: auto; padding: 4px 8px;=
background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 1px solid=
rgb(51, 102, 153);}
..ee-tex {width: 388px; height: 60px; border: 1px solid rgb(0, 0, 0); margin=
-top: 4px; margin-bottom: 10px; display: block;}
..ee-preview-container {width: 380px; height: 80px; overflow: auto; border: =
1px solid rgb(204, 204, 204); padding: 4px;}
..editable a ,body a {cursor: text;}
..tr_well .tr_tl {background-image: url("//ssl.gstatic.com/editor/well_tl2.g=
if"); background-repeat: no-repeat;}
..tr_well .tr_t {background-image: url("//ssl.gstatic.com/editor/well_top2.g=
if"); background-repeat: repeat-x;}
..tr_well .tr_tr {background-image: url("//ssl.gstatic.com/editor/well_tr.gi=
f"); background-repeat: no-repeat;}
..tr_well .tr_l {background-image: url("//ssl.gstatic.com/editor/well_left.g=
if"); background-repeat: repeat-y;}
..tr_well .tr_r {background-image: url("//ssl.gstatic.com/editor/well_right.=
gif"); background-repeat: repeat-y;}
..tr_well .tr_r2 {background-image: url("//ssl.gstatic.com/editor/well_right=
2.gif"); background-repeat: repeat-y; background-position: right center;}
..tr_well .tr_bl {background-image: url("//ssl.gstatic.com/editor/well_bl.gi=
f"); background-repeat: no-repeat;}
..tr_well .tr_b {background-image: url("//ssl.gstatic.com/editor/well_bottom=
..gif"); background-repeat: repeat-x;}
..tr_well .tr_br {background-image: url("//ssl.gstatic.com/editor/well_br.gi=
f"); background-repeat: no-repeat;}
..tr_toolbar-styles .tr_well {border: medium none; padding: 0px; font-size: =
83%; text-align: center;}
..tr_toolbar-vertical .tr_toolbar-styles .tr_well .tr_separator {height: 5px=
; display: block;}
..tr_toolbar-styles .tr_well .tr_selected-style {background: rgb(250, 209, 9=
9) none repeat scroll 0% 0%;}
..tr_toolbar-styles .tr_well .tr_unselected-style span {color: rgb(97, 97, 1=
88); text-decoration: underline; font-weight: normal; cursor: pointer;}
..tr_toolbar-styles .tr_well .tr_selected-style span {font-weight: bold; cur=
sor: pointer;}
..tr_toolbar-vertical .tr_toolbar-styles {float: left;}
..tr_toolbar-vertical .tr_toolbar-styles .tr_well {width: 7.8em;}
..goog-tab {position: relative; border: 1px solid rgb(51, 102, 153); padding=
: 4px 8px; color: rgb(51, 51, 51); background: rgb(221, 221, 221) none repe=
at scroll 0% 0%; cursor: default;}
..goog-tab-bar-top .goog-tab {margin: 1px 4px 0px 0px; border-bottom: 0px no=
ne; float: left;}
..goog-tab-bar-bottom .goog-tab {margin: 0px 4px 1px 0px; border-top: 0px no=
ne; float: left;}
..goog-tab-bar-start .goog-tab {margin: 0px 0px 4px 1px; border-right: 0px n=
one;}
..goog-tab-bar-end .goog-tab {margin: 0px 1px 4px 0px; border-left: 0px none=
;}
..goog-tab-hover {background: rgb(238, 238, 238) none repeat scroll 0% 0%;}
..goog-tab-disabled {color: rgb(255, 255, 255); background: rgb(204, 204, 20=
4) none repeat scroll 0% 0%; border-color: rgb(204, 204, 204);}
..goog-tab-selected {background: rgb(255, 255, 255) none repeat scroll 0% 0%=
!important;}
..goog-tab-bar-top .goog-tab-selected {top: 1px; margin-top: 0px; padding-bo=
ttom: 5px;}
..goog-tab-bar-bottom .goog-tab-selected {top: -1px; margin-bottom: 0px; pad=
ding-top: 5px;}
..goog-tab-bar-start .goog-tab-selected {left: 1px; margin-left: 0px; paddin=
g-right: 9px;}
..goog-tab-bar-end .goog-tab-selected {left: -1px; margin-right: 0px; paddin=
g-left: 9px;}
..tr_tabbed-pane-tabs {line-height: 1.3; vertical-align: top; font-size: 10p=
t;}
..tr_tabbed-pane-tabs p {margin-bottom: 0.7ex; font-size: 10pt;}
..tr_tabbed-pane-tabs div {cursor: pointer; width: 148px;}
..tr_tabbed-pane-tabs .tr_tabbed-pane-tab-label {color: blue; text-decoratio=
n: underline;}
..tr_tabbed-pane-tabs td {font-size: 13px;}
..tr_vertical-tab div {padding: 0.5ex 0px 0.5ex 0.7ex;}
..tr_tabbed-pane {padding: 1.3ex 0px; font-size: 10pt;}
..tr_tabbed-pane-tabs .tr_selected-tab-in-tabbed-pane {background: white non=
e repeat scroll 0% 0%;}
..tr_tabbed-pane-tabs .tr_selected-tab-in-tabbed-pane .tr_tabbed-pane-tab-la=
bel {color: black; font-weight: bold; text-decoration: none;}
..tr_tabbed-pane-tab-content {width: 100%; vertical-align: top; padding: 5px=
7px 1px; background: white none repeat scroll 0% 0%; font-size: 10pt;}
..goog-palette {cursor: default; outline: medium none;}
..goog-palette-table {border: 1px solid rgb(102, 102, 102); border-collapse:=
collapse; margin: 5px;}
..goog-palette-cell {border-width: 0px 1px 0px 0px; border-style: none solid=
none none; border-color: currentcolor rgb(102, 102, 102) currentcolor curr=
entcolor; -moz-border-top-colors: none; -moz-border-right-colors: none; -mo=
z-border-bottom-colors: none; -moz-border-left-colors: none; border-image: =
none; cursor: pointer; height: 18px; margin: 0px; text-align: center; verti=
cal-align: middle; width: 18px;}
..goog-palette-cell .goog-palette-colorswatch {border: medium none; font-siz=
e: x-small; height: 18px; position: relative; width: 18px;}
..goog-palette-cell-hover .goog-palette-colorswatch {border: 1px solid rgb(2=
55, 255, 255); height: 16px; width: 16px;}
..goog-palette-cell-selected .goog-palette-colorswatch {background: rgba(0, =
0, 0, 0) url("//ssl.gstatic.com/editor/editortoolbar.png") no-repeat scroll=
-368px 0px; border: 1px solid rgb(51, 51, 51); color: rgb(255, 255, 255); =
font-weight: bold; height: 16px; width: 16px;}
..goog-palette-customcolor {background-color: rgb(250, 250, 250); border: 1p=
x solid rgb(238, 238, 238); color: rgb(102, 102, 102); font-size: x-small; =
height: 15px; position: relative; width: 15px;}
..goog-palette-cell-hover .goog-palette-customcolor {background-color: rgb(2=
55, 238, 238); border: 1px solid rgb(255, 102, 102); color: rgb(255, 102, 1=
02);}
..goog-menu-button {background: rgb(221, 221, 221) url("//ssl.gstatic.com/ed=
itor/button-bg.png") repeat-x scroll left top; border: 0px none; color: rgb=
(0, 0, 0); cursor: pointer; list-style: outside none none; margin: 2px; out=
line: medium none; padding: 0px; text-decoration: none; vertical-align: mid=
dle;}
..goog-menu-button-outer-box ,.goog-menu-button-inner-box {border-style: sol=
id; border-color: rgb(170, 170, 170); vertical-align: top;}
..goog-menu-button-outer-box {margin: 0px; border-width: 1px 0px; padding: 0=
px;}
..goog-menu-button-inner-box {margin: 0px -1px; border-width: 0px 1px; paddi=
ng: 3px 4px;}
* html .goog-menu-button-inner-box ,body .goog-menu-button-inner-box {left:=
-1px;}
* html .goog-menu-button-rtl .goog-menu-button-outer-box ,body .goog-menu-b=
utton-rtl .goog-menu-button-outer-box {left: -1px; right: auto;}
* html .goog-menu-button-rtl .goog-menu-button-inner-box ,body .goog-menu-b=
utton-rtl .goog-menu-button-inner-box {right: auto;}
:first-child + html .goog-menu-button-inner-box {left: -1px;}
:first-child + html .goog-menu-button-rtl .goog-menu-button-inner-box {left=
: 1px; right: auto;}
..goog-menu-button-disabled {background-image: none !important; opacity: 0.3=
;}
..goog-menu-button-disabled .goog-menu-button-outer-box ,.goog-menu-button-d=
isabled .goog-menu-button-inner-box ,.goog-menu-button-disabled .goog-menu-=
button-caption ,.goog-menu-button-disabled .goog-menu-button-dropdown {colo=
r: rgb(51, 51, 51) !important; border-color: rgb(153, 153, 153) !important;=
}
* html .goog-menu-button-disabled ,body .goog-menu-button-disabled {margin:=
2px 1px !important; padding: 0px 1px !important;}
:first-child + html .goog-menu-button-disabled {margin: 2px 1px !important;=
padding: 0px 1px !important;}
..goog-menu-button-hover .goog-menu-button-outer-box ,.goog-menu-button-hove=
r .goog-menu-button-inner-box {border-color: rgb(153, 204, 255) rgb(102, 15=
3, 238) rgb(102, 153, 238) rgb(119, 170, 255) !important;}
..goog-menu-button-active ,.goog-menu-button-open {background-color: rgb(187=
, 187, 187); background-position: left bottom;}
..goog-menu-button-focused .goog-menu-button-outer-box ,.goog-menu-button-fo=
cused .goog-menu-button-inner-box {border-color: orange;}
..goog-menu-button-caption {padding: 0px 4px 0px 0px; vertical-align: top;}
..goog-menu-button-dropdown {height: 15px; width: 7px; background: rgba(0, 0=
, 0, 0) url("//ssl.gstatic.com/editor/editortoolbar.png") no-repeat scroll =
-388px 0px; vertical-align: top;}
..goog-menu-button-collapse-right ,.goog-menu-button-collapse-right .goog-me=
nu-button-outer-box ,.goog-menu-button-collapse-right .goog-menu-button-inn=
er-box {margin-right: 0px;}
..goog-menu-button-collapse-left ,.goog-menu-button-collapse-left .goog-menu=
-button-outer-box ,.goog-menu-button-collapse-left .goog-menu-button-inner-=
box {margin-left: 0px;}
..goog-menu-button-collapse-left .goog-menu-button-inner-box {border-left: 1=
px solid rgb(255, 255, 255);}
..goog-menu-button-collapse-left.goog-menu-button-checked .goog-menu-button-=
inner-box {border-left: 1px solid rgb(221, 221, 221);}
..goog-color-menu-button-indicator {border-bottom: 4px solid rgb(240, 240, 2=
40);}
..goog-color-menu-button .goog-menu-button-inner-box ,.goog-toolbar-color-me=
nu-button .goog-toolbar-menu-button-inner-box {padding-top: 2px !important;=
padding-bottom: 2px !important;}
..goog-custom-button {margin: 2px; border: 0px none; padding: 0px; font-fami=
ly: Arial,sans-serif; color: rgb(0, 0, 0); background: rgb(221, 221, 221) u=
rl("//ssl.gstatic.com/editor/button-bg.png") repeat-x scroll left top; text=
-decoration: none; list-style: outside none none; vertical-align: middle; c=
ursor: default; outline: medium none;}
..goog-custom-button-outer-box ,.goog-custom-button-inner-box {border-style:=
solid; border-color: rgb(170, 170, 170); vertical-align: top;}
..goog-custom-button-outer-box {margin: 0px; border-width: 1px 0px; padding:=
0px;}
..goog-custom-button-inner-box {margin: 0px -1px; border-width: 0px 1px; pad=
ding: 3px 4px; white-space: nowrap;}
* html .goog-custom-button-inner-box ,body .goog-custom-button-inner-box {l=
eft: -1px;}
* html .goog-custom-button-rtl .goog-custom-button-outer-box ,body .goog-cu=
stom-button-rtl .goog-custom-button-outer-box {left: -1px;}
* html .goog-custom-button-rtl .goog-custom-button-inner-box ,body .goog-cu=
stom-button-rtl .goog-custom-button-inner-box {right: auto;}
:first-child + html .goog-custom-button-inner-box {left: -1px;}
:first-child + html .goog-custom-button-rtl .goog-custom-button-inner-box {=
left: 1px;}
..goog-custom-button-disabled {background-image: none !important; opacity: 0=
..3;}
..goog-custom-button-disabled .goog-custom-button-outer-box ,.goog-custom-bu=
tton-disabled .goog-custom-button-inner-box {color: rgb(51, 51, 51) !import=
ant; border-color: rgb(153, 153, 153) !important;}
* html .goog-custom-button-disabled ,body .goog-custom-button-disabled {mar=
gin: 2px 1px !important; padding: 0px 1px !important;}
:first-child + html .goog-custom-button-disabled {margin: 2px 1px !importan=
t; padding: 0px 1px !important;}
..goog-custom-button-hover .goog-custom-button-outer-box ,.goog-custom-butto=
n-hover .goog-custom-button-inner-box {border-color: rgb(153, 204, 255) rgb=
(102, 153, 238) rgb(102, 153, 238) rgb(119, 170, 255) !important;}
..goog-custom-button-active ,.goog-custom-button-checked {background-color: =
rgb(187, 187, 187); background-position: left bottom;}
..goog-custom-button-focused .goog-custom-button-outer-box ,.goog-custom-but=
ton-focused .goog-custom-button-inner-box {border-color: orange;}
..goog-custom-button-collapse-right ,.goog-custom-button-collapse-right .goo=
g-custom-button-outer-box ,.goog-custom-button-collapse-right .goog-custom-=
button-inner-box {margin-right: 0px;}
..goog-custom-button-collapse-left ,.goog-custom-button-collapse-left .goog-=
custom-button-outer-box ,.goog-custom-button-collapse-left .goog-custom-but=
ton-inner-box {margin-left: 0px;}
..goog-custom-button-collapse-left .goog-custom-button-inner-box {border-lef=
t: 1px solid rgb(255, 255, 255);}
..goog-custom-button-collapse-left.goog-custom-button-checked .goog-custom-b=
utton-inner-box {border-left: 1px solid rgb(221, 221, 221);}
* html .goog-custom-button-collapse-left .goog-custom-button-inner-box ,bod=
y .goog-custom-button-collapse-left .goog-custom-button-inner-box {left: 0p=
x;}
:first-child + html .goog-custom-button-collapse-left .goog-custom-button-i=
nner-box {left: 0px;}
..goog-menu {background: rgb(255, 255, 255) none repeat scroll 0% 0%; border=
-color: rgb(204, 204, 204) rgb(102, 102, 102) rgb(102, 102, 102) rgb(204, 2=
04, 204); border-style: solid; border-width: 1px; cursor: default; font: 13=
px Arial,sans-serif; margin: 0px; outline: medium none; padding: 4px 0px; p=
osition: absolute; z-index: 20000;}
..goog-menuitem {color: rgb(0, 0, 0); font: 13px Arial,sans-serif; list-styl=
e: outside none none; margin: 0px; padding: 4px 7em 4px 28px; white-space: =
nowrap;}
..goog-menuitem.goog-menuitem-rtl {padding-left: 7em; padding-right: 28px;}
..goog-menu-nocheckbox .goog-menuitem ,.goog-menu-noicon .goog-menuitem {pad=
ding-left: 12px;}
..goog-menu-noaccel .goog-menuitem {padding-right: 20px;}
..goog-menuitem-content {color: rgb(0, 0, 0); font: 13px Arial,sans-serif;}
..goog-menuitem-disabled .goog-menuitem-accel ,.goog-menuitem-disabled .goog=
-menuitem-content {color: rgb(204, 204, 204) !important;}
..goog-menuitem-disabled .goog-menuitem-icon {opacity: 0.3;}
..goog-menuitem-highlight ,.goog-menuitem-hover {background-color: rgb(214, =
233, 248); border-color: rgb(214, 233, 248); border-style: dotted; border-w=
idth: 1px 0px; padding-bottom: 3px; padding-top: 3px;}
..goog-menuitem-checkbox ,.goog-menuitem-icon {background-repeat: no-repeat;=
height: 16px; left: 6px; position: absolute; right: auto; vertical-align: =
middle; width: 16px;}
..goog-menuitem-rtl .goog-menuitem-checkbox ,.goog-menuitem-rtl .goog-menuit=
em-icon {left: auto; right: 6px;}
..goog-option-selected .goog-menuitem-checkbox ,.goog-option-selected .goog-=
menuitem-icon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/e=
ditortoolbar.png") no-repeat scroll -512px 0px;}
..goog-menuitem-accel {color: rgb(153, 153, 153); direction: ltr; left: auto=
; padding: 0px 6px; position: absolute; right: 0px; text-align: right;}
..goog-menuitem-rtl .goog-menuitem-accel {left: 0px; right: auto; text-align=
: left;}
..goog-menuitem-mnemonic-hint {text-decoration: underline;}
..goog-menuitem-mnemonic-separator {color: rgb(153, 153, 153); font-size: 12=
px; padding-left: 4px;}
..goog-menuseparator {border-top: 1px solid rgb(204, 204, 204); margin: 4px =
0px; padding: 0px;}
..goog-toolbar {background: rgb(250, 250, 250) url("//ssl.gstatic.com/editor=
/toolbar-bg.png") repeat-x scroll left bottom; border-bottom: 1px solid rgb=
(213, 213, 213); cursor: default; font: 12px Arial,sans-serif; margin: 0px;=
outline: medium none; padding: 2px; position: relative;}
..goog-toolbar-button {margin: 0px 2px; border: 0px none; padding: 0px; font=
-family: Arial,sans-serif; color: rgb(51, 51, 51); text-decoration: none; l=
ist-style: outside none none; vertical-align: middle; cursor: default; outl=
ine: medium none;}
..goog-toolbar-button-outer-box ,.goog-toolbar-button-inner-box {border: 0px=
none; vertical-align: top;}
..goog-toolbar-button-outer-box {margin: 0px; padding: 1px 0px;}
..goog-toolbar-button-inner-box {margin: 0px -1px; padding: 3px 4px;}
* html .goog-toolbar-button-inner-box ,body .goog-toolbar-button-inner-box =
{left: -1px;}
* html .goog-toolbar-button-rtl .goog-toolbar-button-outer-box ,body .goog-=
toolbar-button-rtl .goog-toolbar-button-outer-box {left: -1px;}
* html .goog-toolbar-button-rtl .goog-toolbar-button-inner-box ,body .goog-=
toolbar-button-rtl .goog-toolbar-button-inner-box {right: auto;}
:first-child + html .goog-toolbar-button-inner-box {left: -1px;}
:first-child + html .goog-toolbar-button-rtl .goog-toolbar-button-inner-box=
{left: 1px; right: auto;}
..goog-toolbar-button-disabled {opacity: 0.3;}
..goog-toolbar-button-disabled .goog-toolbar-button-outer-box ,.goog-toolbar=
-button-disabled .goog-toolbar-button-inner-box {color: rgb(51, 51, 51) !im=
portant; border-color: rgb(153, 153, 153) !important;}
* html .goog-toolbar-button-disabled ,body .goog-toolbar-button-disabled {b=
ackground-color: rgb(240, 240, 240); margin: 0px 1px; padding: 0px 1px;}
:first-child + html .goog-toolbar-button-disabled {background-color: rgb(24=
0, 240, 240); margin: 0px 1px; padding: 0px 1px;}
..goog-toolbar-button-hover .goog-toolbar-button-outer-box ,.goog-toolbar-bu=
tton-active .goog-toolbar-button-outer-box ,.goog-toolbar-button-checked .g=
oog-toolbar-button-outer-box ,.goog-toolbar-button-selected .goog-toolbar-b=
utton-outer-box {border-width: 1px 0px; border-style: solid; padding: 0px;}
..goog-toolbar-button-hover .goog-toolbar-button-inner-box ,.goog-toolbar-bu=
tton-active .goog-toolbar-button-inner-box ,.goog-toolbar-button-checked .g=
oog-toolbar-button-inner-box ,.goog-toolbar-button-selected .goog-toolbar-b=
utton-inner-box {border-width: 0px 1px; border-style: solid; padding: 3px;}
..goog-toolbar-button-hover .goog-toolbar-button-outer-box ,.goog-toolbar-bu=
tton-hover .goog-toolbar-button-inner-box {border-color: rgb(161, 186, 223)=
!important;}
..goog-toolbar-button-active ,.goog-toolbar-button-checked ,.goog-toolbar-bu=
tton-selected {background-color: rgb(221, 225, 235) !important;}
..goog-toolbar-button-active .goog-toolbar-button-outer-box ,.goog-toolbar-b=
utton-active .goog-toolbar-button-inner-box ,.goog-toolbar-button-checked .=
goog-toolbar-button-outer-box ,.goog-toolbar-button-checked .goog-toolbar-b=
utton-inner-box ,.goog-toolbar-button-selected .goog-toolbar-button-outer-b=
ox ,.goog-toolbar-button-selected .goog-toolbar-button-inner-box {border-co=
lor: rgb(114, 155, 209);}
..goog-toolbar-button-collapse-right ,.goog-toolbar-button-collapse-right .g=
oog-toolbar-button-outer-box ,.goog-toolbar-button-collapse-right .goog-too=
lbar-button-inner-box {margin-right: 0px;}
..goog-toolbar-button-collapse-left ,.goog-toolbar-button-collapse-left .goo=
g-toolbar-button-outer-box ,.goog-toolbar-button-collapse-left .goog-toolba=
r-button-inner-box {margin-left: 0px;}
* html .goog-toolbar-button-collapse-left .goog-toolbar-button-inner-box ,b=
ody .goog-toolbar-button-collapse-left .goog-toolbar-button-inner-box {left=
: 0px;}
:first-child + html .goog-toolbar-button-collapse-left .goog-toolbar-button=
-inner-box {left: 0px;}
..goog-toolbar-menu-button {margin: 0px 2px; border: 0px none; padding: 0px;=
font-family: Arial,sans-serif; color: rgb(51, 51, 51); text-decoration: no=
ne; list-style: outside none none; vertical-align: middle; cursor: default;=
outline: medium none;}
..goog-toolbar-menu-button-outer-box ,.goog-toolbar-menu-button-inner-box {b=
order: 0px none; vertical-align: top;}
..goog-toolbar-menu-button-outer-box {margin: 0px; padding: 1px 0px;}
..goog-toolbar-menu-button-inner-box {margin: 0px -1px; padding: 3px 4px;}
* html .goog-toolbar-menu-button-inner-box ,body .goog-toolbar-menu-button-=
inner-box {left: -1px;}
* html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-outer-box ,b=
ody .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-outer-box {left=
: -1px;}
* html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-inner-box ,b=
ody .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-inner-box {righ=
t: auto;}
:first-child + html .goog-toolbar-menu-button-inner-box {left: -1px;}
:first-child + html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button=
-inner-box {left: 1px; right: auto;}
..goog-toolbar-menu-button-disabled {opacity: 0.3;}
..goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-outer-box ,.go=
og-toolbar-menu-button-disabled .goog-toolbar-menu-button-inner-box {color:=
rgb(51, 51, 51) !important; border-color: rgb(153, 153, 153) !important;}
* html .goog-toolbar-menu-button-disabled ,body .goog-toolbar-menu-button-d=
isabled {background-color: rgb(240, 240, 240); margin: 0px 1px; padding: 0p=
x 1px;}
:first-child + html .goog-toolbar-menu-button-disabled {background-color: r=
gb(240, 240, 240); margin: 0px 1px; padding: 0px 1px;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-outer-box ,.goog-=
toolbar-menu-button-active .goog-toolbar-menu-button-outer-box ,.goog-toolb=
ar-menu-button-open .goog-toolbar-menu-button-outer-box {border-width: 1px =
0px; border-style: solid; padding: 0px;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-inner-box ,.goog-=
toolbar-menu-button-active .goog-toolbar-menu-button-inner-box ,.goog-toolb=
ar-menu-button-open .goog-toolbar-menu-button-inner-box {border-width: 0px =
1px; border-style: solid; padding: 3px;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-outer-box ,.goog-=
toolbar-menu-button-hover .goog-toolbar-menu-button-inner-box {border-color=
: rgb(161, 186, 223) !important;}
..goog-toolbar-menu-button-active ,.goog-toolbar-menu-button-open {backgroun=
d-color: rgb(221, 225, 235) !important;}
..goog-toolbar-menu-button-active .goog-toolbar-menu-button-outer-box ,.goog=
-toolbar-menu-button-active .goog-toolbar-menu-button-inner-box ,.goog-tool=
bar-menu-button-open .goog-toolbar-menu-button-outer-box ,.goog-toolbar-men=
u-button-open .goog-toolbar-menu-button-inner-box {border-color: rgb(114, 1=
55, 209);}
..goog-toolbar-menu-button-caption {padding: 0px 4px 0px 0px; vertical-align=
: middle;}
..goog-toolbar-menu-button-dropdown {width: 7px; background: rgba(0, 0, 0, 0=
) url("//ssl.gstatic.com/editor/editortoolbar.png") no-repeat scroll -388px=
0px; vertical-align: middle;}
..goog-toolbar-separator {margin: 0px 2px; border-left: 1px solid rgb(214, 2=
14, 214); border-right: 1px solid rgb(247, 247, 247); padding: 0px; width: =
0px; text-decoration: none; list-style: outside none none; outline: medium =
none; vertical-align: middle; line-height: normal; font-size: 120%; overflo=
w: hidden;}
..goog-toolbar-select .goog-toolbar-menu-button-outer-box {border-width: 1px=
0px; border-style: solid; padding: 0px;}
..goog-toolbar-select .goog-toolbar-menu-button-inner-box {border-width: 0px=
1px; border-style: solid; padding: 3px;}
..goog-toolbar-select .goog-toolbar-menu-button-outer-box ,.goog-toolbar-sel=
ect .goog-toolbar-menu-button-inner-box {border-color: rgb(191, 203, 223);}
..tr-icon {width: 16px; height: 16px; background: rgba(0, 0, 0, 0) url("//ss=
l.gstatic.com/editor/editortoolbar.png") no-repeat scroll 0% 0%; vertical-a=
lign: middle;}
..goog-color-menu-button-indicator .tr-icon {height: 14px;}
..tr-undo ,.goog-toolbar-button-rtl .tr-redo {background-position: 0px cente=
r;}
..tr-redo ,.goog-toolbar-button-rtl .tr-undo {background-position: -16px cen=
ter;}
..tr-fontName .goog-toolbar-menu-button-caption {color: rgb(34, 68, 102); wi=
dth: 16ex; height: 16px; overflow: hidden;}
..tr-fontSize .goog-toolbar-menu-button-caption {color: rgb(34, 68, 102); wi=
dth: 8ex; height: 16px; overflow: hidden;}
..tr-bold {background-position: -32px center;}
..tr-italic {background-position: -48px center;}
..tr-underline {background-position: -64px center;}
..tr-foreColor {height: 14px; background-position: -80px center;}
..tr-backColor {height: 14px; background-position: -96px center;}
..tr-link {font-weight: bold; color: rgb(0, 0, 153); text-decoration: underl=
ine;}
..tr-image {background-position: -112px center;}
..tr-newDrawing {background-position: -592px center;}
..tr-spChar {font-weight: bold; color: rgb(153, 0, 0);}
..tr-indent {background-position: -128px center;}
..tr-rtl-mode .tr-indent {background-position: -400px center;}
..tr-outdent {background-position: -144px center;}
..tr-rtl-mode .tr-outdent {background-position: -416px center;}
..tr-insertUnorderedList {background-position: -160px center;}
..tr-rtl-mode .tr-insertUnorderedList {background-position: -432px center;}
..tr-insertOrderedList {background-position: -176px center;}
..tr-rtl-mode .tr-insertOrderedList {background-position: -448px center;}
..tr-justifyLeft {background-position: -192px center;}
..tr-justifyCenter {background-position: -208px center;}
..tr-justifyRight {background-position: -224px center;}
..tr-justifyFull {background-position: -480px center;}
..tr-BLOCKQUOTE {background-position: -240px center;}
..tr-rtl-mode .tr-BLOCKQUOTE {background-position: -464px center;}
..tr-removeFormat {background-position: -256px center;}
..tr-spell {background-position: -272px center;}
..tr-ltr {background-position: -288px center;}
..tr-rtl {background-position: -304px center;}
..tr-insertModule {background-position: -496px center;}
..tr-strikeThrough {background-position: -544px center;}
..tr-subscript {background-position: -560px center;}
..tr-superscript {background-position: -576px center;}
..tr-equation {background-position: -608px center;}
..tr-editHtml {color: rgb(0, 0, 153);}
..tr-formatBlock .goog-toolbar-menu-button-caption {color: rgb(34, 68, 102);=
width: 12ex; height: 16px; overflow: hidden;}
..goog-menu .goog-palette {outline: medium none; cursor: default;}
..goog-menu .goog-palette-table {margin: 5px; border: 1px solid rgb(102, 102=
, 102); border-collapse: collapse;}
..goog-menu .goog-palette-cell {height: 18px; width: 18px; margin: 0px; bord=
er-width: 0px 1px 0px 0px; border-style: none solid none none; border-color=
: currentcolor rgb(102, 102, 102) currentcolor currentcolor; -moz-border-to=
p-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: =
none; -moz-border-left-colors: none; border-image: none; text-align: center=
; vertical-align: middle; cursor: pointer;}
..goog-menu .goog-palette-cell .goog-palette-colorswatch {position: relative=
; height: 18px; width: 18px; border: medium none; font-size: x-small;}
..goog-menu .goog-palette-cell-hover .goog-palette-colorswatch {height: 16px=
; width: 16px; border: 1px solid rgb(255, 255, 255);}
..goog-menu .goog-palette-cell-selected .goog-palette-colorswatch {height: 1=
6px; width: 16px; border: 1px solid rgb(51, 51, 51); color: rgb(255, 255, 2=
55); font-weight: bold; background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/editortoolbar.png") no-repeat scroll -368px center;}
..goog-menu .goog-palette-customcolor {position: relative; height: 15px; wid=
th: 15px; font-size: x-small; background-color: rgb(250, 250, 250); color: =
rgb(102, 102, 102); border: 1px solid rgb(238, 238, 238);}
..goog-menu .goog-palette-cell-hover .goog-palette-customcolor {background-c=
olor: rgb(255, 238, 238); border: 1px solid rgb(255, 102, 102); color: rgb(=
255, 102, 102);}
..tr_toolbar {font-family: arial; font-size: 90%;}
..container ,.containerhover ,.containeron {float: left; margin: 2px 3px 2px=
0px !important; padding: 0px !important; color: rgb(0, 0, 0); cursor: defa=
ult;}
..desc {margin: 0px !important; line-height: 0.2em !important; background: r=
gba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/cbleft_ltr.gif") no-repeat=
scroll left top;}
..link {margin: 0px !important; padding: 4px 0px 0px 9px !important; backgro=
und: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/cbleft_ltr.gif") no-=
repeat scroll left bottom;}
..link em {display: block !important; padding: 0px 8px 6px 0px !important; f=
ont-style: normal; line-height: 1em !important; text-decoration: none; text=
-align: center !important; background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/bg/cbright_ltr.gif") no-repeat scroll right bottom;}
div.leftpill ,div.leftpillhover ,div.leftpillon {margin-right: 0px !importa=
nt;}
div.leftpill p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edit=
or/bg/cbpillbg.gif") no-repeat scroll right bottom;}
div.middlepill ,div.middlepillhover ,div.middlepillon {margin-right: 0px !i=
mportant;}
div.middlepill {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
bg/cbpillbg.gif") no-repeat scroll right top;}
div.middlepill p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/=
editor/bg/cbleftpill_ltr.gif") no-repeat scroll left top;}
div.middlepill p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/=
editor/bg/cbleftpill_ltr.gif") no-repeat scroll left bottom;}
div.middlepill p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbpillbg.gif") no-repeat scroll right bottom;}
div.rightpill p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/e=
ditor/bg/cbleftpill_ltr.gif") no-repeat scroll left top;}
div.rightpill p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/e=
ditor/bg/cbleftpill_ltr.gif") no-repeat scroll left bottom;}
..container {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/c=
bright_ltr.gif") no-repeat scroll right top;}
..leftpill {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg/cb=
pillbg.gif") no-repeat scroll right top;}
..containerhover {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor=
/bg/cbright_h_ltr.gif") no-repeat scroll right top;}
..containerhover .p1 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbleft_h_ltr.gif") no-repeat scroll left top;}
..containerhover .p2 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbleft_h_ltr.gif") no-repeat scroll left bottom;}
..containerhover .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbright_h_ltr.gif") no-repeat scroll right bottom;}
div.middlepillhover {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbpillbg_h.gif") no-repeat scroll right top;}
div.middlepillhover p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left top;}
div.middlepillhover p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left bottom;}
div.middlepillhover p.p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstati=
c.com/editor/bg/cbpillbg_h.gif") no-repeat scroll right bottom;}
div.leftpillhover {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edit=
or/bg/cbpillbg_h.gif") no-repeat scroll right top;}
div.leftpillhover p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbpillbg_h.gif") no-repeat scroll right bottom;}
div.leftpillhover .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/editor/bg/cbpillbg_h.gif") no-repeat scroll right bottom;}
div.rightpillhover p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left top;}
div.rightpillhover p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/bg/cbleftpill_h_ltr.gif") no-repeat scroll left bottom;}
..containeron {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/bg=
/cbright_o_ltr.gif") no-repeat scroll right top;}
..containeron .p1 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/bg/cbleft_o_ltr.gif") no-repeat scroll left top;}
..containeron .p2 {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/bg/cbleft_o_ltr.gif") no-repeat scroll left bottom;}
..containeron .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbright_o_ltr.gif") no-repeat scroll right bottom;}
div.middlepillon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/bg/cbpillbg_o.gif") no-repeat scroll right top;}
div.middlepillon p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left top;}
div.middlepillon p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.co=
m/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left bottom;}
div.middlepillon p.p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.c=
om/editor/bg/cbpillbg_o.gif") no-repeat scroll right bottom;}
div.leftpillon {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
bg/cbpillbg_o.gif") no-repeat scroll right top;}
div.leftpillon p em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/ed=
itor/bg/cbpillbg_o.gif") no-repeat scroll right bottom;}
div.leftpillon .p2 em {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/=
editor/bg/cbpillbg_o.gif") no-repeat scroll right bottom;}
div.rightpillon p.desc {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left top;}
div.rightpillon p.link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com=
/editor/bg/cbleftpill_o_ltr.gif") no-repeat scroll left bottom;}
..container span ,.containerhover span ,.containeron span {background-positi=
on: 0% 50%; padding: 2px 0px 2px 20px !important; margin: -2px 0px !importa=
nt; width: 1px !important; white-space: nowrap !important;}
..container .icon_none ,.containerhover .icon_none ,.containeron .icon_none =
{padding: 2px 0px 2px 2px !important;}
..icon {width: 1.5em !important; font-family: times; line-height: 1.2em !imp=
ortant; font-weight: bold;}
..container .imageOnly ,.containerhover .imageOnly ,.containeron .imageOnly =
{margin-right: -1ex !important; white-space: normal !important; direction: =
ltr;}
..container span.justify ,.containerhover span.justify ,.containeron span.ju=
stify {padding: 0px 0px 0px 12px !important;}
..icon_image {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ico=
ns/icon_image.gif") no-repeat scroll 0% 0%;}
..icon_link {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_link.gif") no-repeat scroll 0% 0%;}
..icon_bullet {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_bullet.gif") no-repeat scroll 0% 0%;}
..icon_numbered {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
icons/icon_numbered.gif") no-repeat scroll 0% 0%;}
..icon_outdent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/i=
cons/icon_outdent.gif") no-repeat scroll 0% 0%;}
..icon_indent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_indent.gif") no-repeat scroll 0% 0%;}
..icon_text {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_text.gif") no-repeat scroll 0% 0%;}
..icon_textbg {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_textbg.gif") no-repeat scroll 0% 0%;}
..icon_font {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_font.gif") no-repeat scroll 0% 0%;}
..icon_size {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icon=
s/icon_size.gif") no-repeat scroll 0% 0%;}
..icon_justleft {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/=
icons/icon_left.gif") no-repeat scroll 0% 0%;}
..icon_justmiddle {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/icons/icon_middle.gif") no-repeat scroll 0% 0%;}
..icon_justright {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor=
/icons/icon_right.gif") no-repeat scroll 0% 0%;}
..icon_wfield {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_wfield.gif") no-repeat scroll 0% 0%;}
..icon_removeformat {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edi=
tor/icons/icon_removeformatting.gif") no-repeat scroll 0% 0%;}
..icon_blockquote {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/edito=
r/icons/icon_blockquote.gif") no-repeat scroll 0% 0%;}
..icon_gadget {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/ic=
ons/icon_gadget.gif") no-repeat scroll 0% 0%;}
..icon_ltr {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icons=
/icon_ltr_dir.gif") no-repeat scroll 0% 0%;}
..icon_rtl {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.com/editor/icons=
/icon_rtl_dir.gif") no-repeat scroll 0% 0%;}
..toolbar_rtl .icon_bullet {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/icons/icon_bullet_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_numbered {background: rgba(0, 0, 0, 0) url("//ssl.gstati=
c.com/editor/icons/icon_numbered_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_outdent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic=
..com/editor/icons/icon_outdent_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_indent {background: rgba(0, 0, 0, 0) url("//ssl.gstatic.=
com/editor/icons/icon_indent_rtl.gif") no-repeat scroll left center;}
..toolbar_rtl .icon_blockquote {background: rgba(0, 0, 0, 0) url("//ssl.gsta=
tic.com/editor/icons/icon_blockquote_rtl.gif") no-repeat scroll left center=
;}
..link em b {padding-left: 0.2em !important; background: rgba(0, 0, 0, 0) ur=
l("//ssl.gstatic.com/editor/bg/downarrow.gif") no-repeat scroll 80% 50%;}
..disabled {opacity: 0.5; cursor: default;}
#tr_preloadImages {width: 0px; height: 0px; display: inline;}
..cbleft {background-image: url("//ssl.gstatic.com/editor/bg/cbleft_ltr.gif"=
);}
..cbleft_h {background-image: url("//ssl.gstatic.com/editor/bg/cbleft_h_ltr.=
gif");}
..cbleft_o {background-image: url("//ssl.gstatic.com/editor/bg/cbleft_o_ltr.=
gif");}
..cbleftpill {background-image: url("//ssl.gstatic.com/editor/bg/cbleftpill_=
ltr.gif");}
..cbleftpill_h {background-image: url("//ssl.gstatic.com/editor/bg/cbleftpil=
l_h_ltr.gif");}
..cbleftpill_o {background-image: url("//ssl.gstatic.com/editor/bg/cbleftpil=
l_o_ltr.gif");}
..cbpillbggif {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg.g=
if");}
..cbpillbgpng {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg.p=
ng");}
..cbpillbg_h {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg_h.=
gif");}
..cbright {background-image: url("//ssl.gstatic.com/editor/bg/cbright_ltr.gi=
f");}
..cbright_h {background-image: url("//ssl.gstatic.com/editor/bg/cbright_h_lt=
r.gif");}
..cbright_o {background-image: url("//ssl.gstatic.com/editor/bg/cbright_o_lt=
r.gif");}
..downarrow {background-image: url("//ssl.gstatic.com/editor/bg/downarrow.gi=
f");}
..cbpillbg_o {background-image: url("//ssl.gstatic.com/editor/bg/cbpillbg_o.=
gif");}
..tr_popupmenu {position: absolute; z-index: 1000;}
..tr_popupmenu .goog-menu {-moz-user-select: none; background-attachment: sc=
roll; background-color: rgb(195, 217, 255); background-image: none; backgro=
und-repeat: repeat; border-width: 2px; border-style: solid; border-color: r=
gb(232, 241, 255) rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);=
cursor: pointer; padding: 2px;}
..tr_popupmenu .goog-menuitem {background-attachment: scroll; background-col=
or: rgb(195, 217, 255); background-image: none; background-repeat: repeat; =
color: rgb(0, 0, 0);}
..tr_popupmenu .goog-menuitem-highlight {background-color: rgb(85, 112, 204)=
; color: rgb(255, 255, 255);}
..tr_colorpicker {position: absolute; z-index: 1000; background-color: rgb(1=
87, 187, 187);}
..tr_colorpicker .goog-palette {outline: medium none; -moz-user-select: none=
; cursor: default;}
..tr_colorpicker .goog-palette-table {border: 1px solid rgb(102, 102, 102); =
border-collapse: collapse !important; padding: 0px; margin: 0px;}
..tr_colorpicker .goog-palette-cell {height: 13px; width: 15px; margin: 0px;=
border: 0px none; padding: 0px; text-align: center; vertical-align: middle=
;}
..tr_colorpicker .goog-palette-colorswatch {position: relative; height: 13px=
; width: 15px; border: 1px solid rgb(102, 102, 102); font-size: 1px;}
..tr_colorpicker .goog-palette-cell-hover .goog-palette-colorswatch {border:=
1px solid rgb(255, 255, 255);}
..tr_colorpicker .goog-palette-cell-selected .goog-palette-colorswatch {bord=
er: 1px solid rgb(0, 0, 0); color: rgb(255, 255, 255);}
..ac-renderer {border: 1px solid rgb(102, 102, 102); background: rgb(224, 23=
6, 255) none repeat scroll 0% 0%; color: rgb(0, 0, 204); margin: 0px; paddi=
ng: 0px 0px 1px; z-index: 10; position: absolute;}
..ac-renderer div {margin: 2px; cursor: pointer; padding: 0px 10px;}
..ac-renderer div b {color: rgb(0, 0, 255);}
..ac-renderer div.active {background: rgb(195, 217, 255) none repeat scroll =
0% 0%;}
..picker-dialog {background: rgb(255, 255, 255) none repeat scroll 0% 0%; bo=
rder: 1px solid rgb(172, 172, 172); position: absolute; box-shadow: 0px 4px=
16px rgba(0, 0, 0, 0.2); z-index: 1021; outline: medium none; padding: 0px=
;}
..picker.modal-dialog-content {width: 705px; height: 370px; padding: 0px; ma=
rgin: 0px; position: relative; border: 0px none;}
..picker.modal-dialog-bg {background: rgb(255, 255, 255) none repeat scroll =
0% 0%; left: 0px; position: absolute; top: 0px; z-index: 1001;}
..picker.modal-dialog-title ,.picker.modal-dialog-buttons {display: none;}
..picker-frame {width: 100%; height: 100%; border: 0px none; overflow: hidde=
n;}
..goog-toolbar {padding: 6px; border-top: 1px solid rgb(229, 229, 229); bord=
er-bottom: 1px solid rgb(235, 235, 235); background: rgb(245, 245, 245) non=
e repeat scroll 0% 0%;}
..goog-toolbar-button ,.goog-toolbar-menu-button {display: inline-block; tex=
t-align: center; color: rgb(85, 85, 85); font-size: 11px; font-weight: bold=
; height: 27px; padding: 0px 8px; line-height: 27px; transition: all 0.218s=
ease 0s; background-color: rgb(245, 245, 245); background-image: -moz-line=
ar-gradient(center top , rgb(245, 245, 245), rgb(241, 241, 241)); -moz-user=
-select: none; cursor: default; border: 1px solid transparent;}
..goog-toolbar-button-hover ,.goog-toolbar-menu-button-hover {border: 1px so=
lid rgb(198, 198, 198); color: rgb(51, 51, 51); transition: all 0s ease 0s;=
background-color: rgb(248, 248, 248); background-image: -moz-linear-gradie=
nt(center top , rgb(248, 248, 248), rgb(241, 241, 241)); box-shadow: 0px 1p=
x 1px rgba(0, 0, 0, 0.1);}
..goog-toolbar-button-active ,.goog-toolbar-menu-button-active {background-c=
olor: rgb(246, 246, 246); background-image: -moz-linear-gradient(center top=
, rgb(246, 246, 246), rgb(241, 241, 241)); box-shadow: 0px 1px 2px rgba(0,=
0, 0, 0.1) inset;}
..goog-toolbar-button-checked ,.goog-toolbar-menu-button-checked {background=
-color: rgb(238, 238, 238); background-image: -moz-linear-gradient(center t=
op , rgb(238, 238, 238), rgb(224, 224, 224)); box-shadow: 0px 1px 2px rgba(=
0, 0, 0, 0.1) inset; border: 1px solid rgb(204, 204, 204); color: rgb(51, 5=
1, 51);}
..goog-toolbar-button-inner-box ,.goog-toolbar-button-outer-box ,.goog-toolb=
ar-menu-button-inner-box ,.goog-toolbar-menu-button-outer-box {border: medi=
um none !important; padding: 0px !important; margin: 0px !important;}
..goog-toolbar-menu-button-inner-box {padding-top: 1px !important;}
..goog-toolbar-menu-button-caption {padding-bottom: 4px; height: auto !impor=
tant; color: rgb(85, 85, 85) !important;}
..goog-toolbar-menu-button-hover .goog-toolbar-menu-button-caption {color: r=
gb(51, 51, 51) !important;}
..goog-toolbar-menu-button-dropdown {position: relative; top: 3px;}
..goog-color-menu-button-indicator {line-height: 0;}
..tr-icon {display: inline-block;}
..tr-dialog {position: absolute; width: 475px; background: rgb(255, 255, 255=
) none repeat scroll 0% 0%; padding: 38px 42px 30px;}
..tr-dialog button {color: rgb(102, 102, 102); font-size: 11px; font-weight:=
bold; text-align: center; margin-right: 16px; white-space: nowrap; height:=
29px; line-height: 27px; min-width: 74px; outline: 0px none; padding: 0px =
8px; border-radius: 2px; cursor: pointer; transition: all 0.218s ease 0s; d=
isplay: inline-block; border: 1px solid rgba(0, 0, 0, 0.1); background-colo=
r: rgb(245, 245, 245); background-image: -moz-linear-gradient(center top , =
rgb(245, 245, 245), rgb(241, 241, 241));}
..tr-dialog button:hover {transition: all 0.218s ease 0s; box-shadow: 0px 1p=
x 1px rgba(0, 0, 0, 0.1); border: 1px solid rgb(198, 198, 198); color: rgb(=
51, 51, 51); background-color: rgb(248, 248, 248); background-image: -moz-l=
inear-gradient(center top , rgb(248, 248, 248), rgb(241, 241, 241));}
..tr-dialog button.goog-buttonset-default {border: 1px solid rgb(48, 121, 23=
7); color: rgb(255, 255, 255); background-color: rgb(77, 144, 254); backgro=
und-image: -moz-linear-gradient(center top , rgb(77, 144, 254), rgb(71, 135=
, 237));}
..tr-dialog button.goog-buttonset-default:hover {color: rgb(255, 255, 255); =
border: 1px solid rgb(47, 91, 183); background-color: rgb(53, 122, 232); ba=
ckground-image: -moz-linear-gradient(center top , rgb(77, 144, 254), rgb(53=
, 122, 232));}
..tr-link-dialog-target-input ,#linkdialog-text {border-width: 1px; border-s=
tyle: solid; border-color: rgb(192, 192, 192) rgb(217, 217, 217) rgb(217, 2=
17, 217); -moz-border-top-colors: none; -moz-border-right-colors: none; -mo=
z-border-bottom-colors: none; -moz-border-left-colors: none; border-image: =
none; vertical-align: top; box-sizing: border-box; border-radius: 1px; disp=
lay: inline-block; background-color: rgb(255, 255, 255); line-height: 27px;=
padding-left: 8px; color: rgb(51, 51, 51); height: 29px;}
..tr-link-dialog-target-input:hover ,#linkdialog-text:hover {border-width: 1=
px; border-style: solid; border-color: rgb(160, 160, 160) rgb(185, 185, 185=
) rgb(185, 185, 185); -moz-border-top-colors: none; -moz-border-right-color=
s: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; bo=
rder-image: none; box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1) inset;}
..tr-link-dialog-target-input:focus ,#linkdialog-text:focus {box-shadow: 0px=
1px 2px rgba(0, 0, 0, 0.3) inset; outline: medium none; border: 1px solid =
rgb(77, 144, 254);}
..tr-dialog .modal-dialog-title {display: none;}
#linkdialog-text {position: relative; top: -7px; margin-bottom: 12px;}
..tr-tabpane-caption {margin-bottom: 4px;}
..tr-tabpane .goog-tab-bar {background: rgba(0, 0, 0, 0) none repeat scroll =
0% 0%; margin-right: 12px; height: 160px;}
..tr-tabpane .goog-tab {border: medium none; background: rgb(255, 255, 255) =
none repeat scroll 0% 0%; padding: 8px; left: 0px; margin-left: 0px;}
..tr-tabpane .goog-tab-selected {border: medium none; background: rgb(255, 2=
55, 255) none repeat scroll 0% 0%; padding: 8px; left: 0px;}
..tr-tabpane .goog-tab-hover {background: rgb(238, 238, 238) none repeat scr=
oll 0% 0%;}
..tr-tabpane .goog-tab input {margin-left: 0px;}
..tr-dialog .modal-dialog-buttons {margin-top: 24px;}
..tr-dialog .goog-link-button {text-decoration: none; color: rgb(17, 85, 204=
); cursor: pointer; margin-top: 0px !important; margin-bottom: 8px;}
..tr-link-dialog-target-input {display: block; margin: 8px 0px; width: 280px=
!important;}
..tr-link-dialog-explanation-text {line-height: 17px;}
..tr-fontSize .goog-toolbar-menu-button-caption {min-width: 8ex; width: auto=
; overflow: auto; white-space: nowrap;}
plaintext {display: none;}
html {color:rgb(34, 34, 34);visibility:visible;quotes:"=E2=80=9C" "=E2=80=
=9D" "=E2=80=98" "=E2=80=99";list-style-type:disc;list-style-image:none;lis=
t-style-position:outside;page-break-inside:auto;font-family:"Arial","Helvet=
ica",sans-serif;font-style:normal;font-variant:normal;font-weight:400;text-=
indent:0px;text-align:start;text-transform:none;white-space:normal;caption-=
side:top;border-collapse:separate;border-spacing:0px 0px;empty-cells:show;c=
ursor:auto;}
body {position:relative !important;top:0 !important;left:0 !important;right=
:auto !important;display:block !important;visibility:visible !important;fon=
t-family:"Arial","Helvetica",sans-serif !important;font-size:13px !importan=
t;font-weight:400 !important;font-variant:normal !important;font-style:norm=
al !important;color:rgb(34, 34, 34) !important;text-align:start !important;=
text-decoration:none !important;text-indent:0px !important;text-transform:n=
one !important;letter-spacing:normal !important;white-space:normal !importa=
nt;word-spacing:0px !important;}
img {-moz-force-broken-image-icon: 1;}</style><br></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/9add1b3e-c1f2-4c15-9a7a-582840448f95%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/9add1b3e-c1f2-4c15-9a7a-582840448f95=
%40isocpp.org</a>.<br />
------=_Part_8643_915900373.1507155796697--
------=_Part_8642_1895638132.1507155796664--
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Wed, 4 Oct 2017 15:26:21 -0700 (PDT)
Raw View
------=_Part_1164_2035037340.1507155981234
Content-Type: multipart/alternative;
boundary="----=_Part_1165_876586838.1507155981234"
------=_Part_1165_876586838.1507155981234
Content-Type: text/plain; charset="UTF-8"
>
>
> Let me remind you all that we have a feature that does what you desire
> without any new keywords or chaining of operations. It is called
> exceptions. To me it seems that the longer this debate runs the closer we
> get to exception throwing/catching. I know exception unwinding mechanisms
> have a bad reputation for both performance and code size, but who has
> really done the measurements to prove this?
>
Actually a lot of people have. SG14 invested lots of effort into this, and
found no statistically measurable difference if failure was not common.
However iff failure is anything but rare, then exception throws on table
based handling systems are expensive, about 2000 CPU cycles per frame
unwound *minimum*. Table searching is pipeline unfriendly.
>
> - We know that exception throwing/catching can have very small performance
> impact when no throwing occurs. But to be noted here is that each test of
> the optional/expected status involves some code that has to run every time
> and which includes a conditional jump, which can have a high performance
> impact. Hiding this behind a try operator or a bind() function may hide
> some gorier details but does not affect the generated code.
>
Expected/Outcome explicitly swaps worse constant runtime overhead in
exchange for vastly improved failure execution times. Or, put another way,
it's a library based implementation of pre-table exception handling so
those who really need failure to be executed as fast as success have an
alternative to the truly awful failure handling performance of table based
exception handling.
>
> - Unless the program is done very carefully with nothrow on each level we
> will end up with both having unwind and if-based error handling code which
> will definitely be both larger and slower than today. As many common
> libraries are designed without nothrow declarations (regardless of if they
> actually throw or not) enforcing a no throwing policy may be very costly in
> terms of limitations of what libraries you may use.
>
Modern compilers are superb at eliding exception handling within a
translation unit. Just make sure all your extern functions are noexcept.
The optimiser takes care of the rest within a translation unit.
>
> I agree that error handling is boring and tedious to implement, but I
> don't see that expected helps that much compared to try blocks. So to make
> the case for any new mechanisms I think the performance/code size
> advantages must be substantial and investigated by testing on several
> compilers and platforms.
>
This was done during the Boost.Outcome peer review, and people came away
impressed. You might also watch any of my conference videos on this topic
e.g. the ACCU 2017 one.
It is not suitable for majority use cases. Nobody is claiming that this
ought to replace exception throwing code. It is however very useful for
fixed latency programming where you are very happy to exchange worse
average performance for low 99% percentile latencies. SG14 is certainly
keen on it, and for very good reason.
The AFIO library, which I hope to make into the C++ File I/O TS as a
prelude to STL2 one day, is written using these objects and it has amazing
performance. Think in terms of less than 100 nanoseconds for i/o at 99%,
just 400 CPU cycles. That fast.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/aa8f4ad4-8309-49a6-8346-634458fe373a%40isocpp.org.
------=_Part_1165_876586838.1507155981234
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"l=
tr"><div><br></div><div>Let me remind you all that we have a feature that d=
oes what you desire without any new keywords or chaining of operations. It =
is called exceptions. To me it seems that the longer this debate runs the c=
loser we get to exception throwing/catching. I know exception unwinding mec=
hanisms have a bad reputation for both performance and code size, but who h=
as really done the measurements to prove this?</div></div></blockquote><div=
><br></div><div>Actually a lot of people have. SG14 invested lots of effort=
into this, and found no statistically measurable difference if failure was=
not common.</div><div><br></div><div>However iff failure is anything but r=
are, then exception throws on table based handling systems are expensive, a=
bout 2000 CPU cycles per frame unwound <i>minimum</i>. Table searching is p=
ipeline unfriendly.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote"=
style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-=
left: 1ex;"><div dir=3D"ltr"><div><br></div><div>- We know that exception t=
hrowing/catching can have very small performance impact when no throwing oc=
curs. But to be noted here is that each test of the optional/expected statu=
s involves some code that has to run every time and which includes a condit=
ional jump, which can have a high performance impact. Hiding this behind a =
try operator or a bind() function may hide some gorier details but does not=
affect the generated code.</div></div></blockquote><div><br></div><div>Exp=
ected/Outcome explicitly swaps worse constant runtime overhead in exchange =
for vastly improved failure execution times. Or, put another way, it's =
a library based implementation of pre-table exception handling so those who=
really need failure to be executed as fast as success have an alternative =
to the truly awful failure handling performance of table based exception ha=
ndling.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">=
<div dir=3D"ltr"><div><br></div><div>- Unless the program is done very care=
fully with nothrow on each level we will end up with both having unwind and=
if-based error handling code which will definitely be both larger and slow=
er than today. As many common libraries are designed without nothrow declar=
ations (regardless of if they actually throw or not) enforcing a no throwin=
g policy may be very costly in terms of limitations of what libraries you m=
ay use.</div></div></blockquote><div><br></div><div>Modern compilers are su=
perb at eliding exception handling within a translation unit. Just make sur=
e all your extern functions are noexcept. The optimiser takes care of the r=
est within a translation unit.</div><div>=C2=A0</div><blockquote class=3D"g=
mail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc sol=
id;padding-left: 1ex;"><div dir=3D"ltr"><div><br></div><div>I agree that er=
ror handling is boring and tedious to implement, but I don't see that e=
xpected helps that much compared to try blocks. So to make the case for any=
new mechanisms I think the performance/code size advantages must be substa=
ntial and investigated by testing on several compilers and platforms.</div>=
</div></blockquote><div><br></div><div>This was done during the Boost.Outco=
me peer review, and people came away impressed. You might also watch any of=
my conference videos on this topic e.g. the ACCU 2017 one.</div><div><br><=
/div><div>It is not suitable for majority use cases. Nobody is claiming tha=
t this ought to replace exception throwing code. It is however very useful =
for fixed latency programming where you are very happy to exchange worse av=
erage performance for low 99% percentile latencies. SG14 is certainly keen =
on it, and for very good reason.</div><div><br></div><div>The AFIO library,=
which I hope to make into the C++ File I/O TS as a prelude to STL2 one day=
, is written using these objects and it has amazing performance. Think in t=
erms of less than 100 nanoseconds for i/o at 99%, just 400 CPU cycles. That=
fast.</div><div><br></div><div>Niall</div><div><br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/aa8f4ad4-8309-49a6-8346-634458fe373a%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/aa8f4ad4-8309-49a6-8346-634458fe373a=
%40isocpp.org</a>.<br />
------=_Part_1165_876586838.1507155981234--
------=_Part_1164_2035037340.1507155981234--
.
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Thu, 5 Oct 2017 01:36:06 +0300
Raw View
On 5 October 2017 at 01:23, Nicol Bolas <jmckesson@gmail.com> wrote:
>> > Do you have an idea of what this generic thing could be?
>>
>> Well, we could look at providing code transformation facilities
>> powerful enough that you
>> can provide what you need via a specific transformation. As a more limited
>> idea,
>> there seems to be an occasional need to write operations that can exit
>> the surrounding
>> scope via break/continue/return, but functions can't do that, so
>> perhaps we could add
>> a block facility that can.
>
>
> See, the problem with that kind of thinking is that it leads down a never
> ending rabbit hole, where no problem ever gets solved because the solution
This is why I shouldn't answer questions on this forum.
> isn't generic enough, thus forcing everyone to spend lots of fruitless time
> trying to get a solution for 1% of the stuff they want, even though the
> proposed one covers 99% of what they want.
>
> Or to put in simpler language, the committee should not use the possibility
> of Reflection/Metaclasses/etc as an excuse to not improve the language. The
> possibility of such tools should not be used as an excuse for inaction on
> real problems.
>
> Now, whether this is a real problem is a matter of debate. But you shouldn't
> disregard a tool just because it's not as generic as you might like. Such
I haven't disregarded anything. I have suggested what the paper needs
to explain in order to
have a chance of succeeding.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAFk2RUZRX62NGO3-Bnp%2BYeRR6GEH22V%3DiRgdxhnZMjjqYmcozg%40mail.gmail.com.
.
Author: "Vicente J. Botet Escriba" <vicente.botet@wanadoo.fr>
Date: Thu, 5 Oct 2017 08:04:27 +0200
Raw View
This is a multi-part message in MIME format.
--------------8FEDB06485E3C0DFC28D126C
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: quoted-printable
Le 04/10/2017 =C3=A0 22:44, Hyman Rosen a =C3=A9crit=C2=A0:
> On Wed, Oct 4, 2017 at 4:11 PM, Vicente J. Botet Escriba=20
> <vicente.botet@wanadoo.fr <mailto:vicente.botet@wanadoo.fr>> wrote:
>
> =C2=A0=C2=A0=C2=A0 auto res1 =3D expr1();=C2=A0if (! res1) return une=
xpected(res1.error());
> =C2=A0=C2=A0=C2=A0 auto res2 =3D expr2();=C2=A0if (! res2) return une=
xpected(res2.error());
> =C2=A0=C2=A0=C2=A0 return *res1+ * res2;
> Using the try expression we can just do
> =C2=A0=C2=A0=C2=A0 return try expr1()+ try expr2();
>
>
> Does that mean that strict left-to-right ordering is part of the proposal=
?
> Otherwise, expr2() could be attempted and failed first, correct?
No in the previous case the order would be the same as if there were not=20
try.
>
> It seems to me that the "lambda parameters" that I've occasionally=20
> mentioned
> here would subsume a lot of these special cases:
> =C2=A0 =C2=A0 template <typename T>
> =C2=A0 =C2=A0 operator+([] can_fail<T> e1, [] can_fail<T> e2) -> auto
> =C2=A0 =C2=A0 {
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 auto v1 =3D e1; if (!v1) return unexpected(v1=
..error());
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 auto v2 =3D e2; if (!v2) return unexpected(v2=
..error());
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 return *v1 + *v2;
> =C2=A0 =C2=A0 }
> return expr1() + expr2();
>
I don't want to define this operator +and other handred of functions=20
like this one. Defineing the operator once for a class is enough.
> The evaluation order is then up to you, and it's all implemented via a=20
> general purpose
> language feature that's useful in many other contexts rather than=20
> being tied to one specific
> special case.
If I need to master the order then I would use several statements.
auto r2 =3D try expr2();
return=C2=A0 =3D try expr1() + r2;
Vicente
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/113167bd-dbf6-e5f8-3849-cfa7f425aaff%40wanadoo.f=
r.
--------------8FEDB06485E3C0DFC28D126C
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8=
">
</head>
<body text=3D"#000000" bgcolor=3D"#FFFFFF">
<div class=3D"moz-cite-prefix">Le 04/10/2017 =C3=A0 22:44, Hyman Rosen =
a
=C3=A9crit=C2=A0:<br>
</div>
<blockquote type=3D"cite"
cite=3D"mid:CAHSYqdZnShy0rZs6bSp0PemxUiAm_kWT+xH2Or2VJw1k0_7QSw@mail.gmail.=
com">
<div dir=3D"ltr">
<div class=3D"gmail_extra">
<div class=3D"gmail_quote">On Wed, Oct 4, 2017 at 4:11 PM,
Vicente J. Botet Escriba <span dir=3D"ltr"><<a
href=3D"mailto:vicente.botet@wanadoo.fr" target=3D"_blank"
moz-do-not-send=3D"true">vicente.botet@wanadoo.fr</a>></=
span>
wrote:
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
=C2=A0=C2=A0=C2=A0 auto res1 =3D expr1();=C2=A0if (! res1) re=
turn
unexpected(res1.error());<br>
=C2=A0=C2=A0=C2=A0 auto res2 =3D expr2();=C2=A0if (! res2) re=
turn
unexpected(res2.error());<br>
=C2=A0=C2=A0=C2=A0 return *res1+ * res2;<br>
Using the try expression we can just do<br>
=C2=A0=C2=A0=C2=A0 return try expr1()+ try expr2();</blockquo=
te>
<div><br>
Does that mean that strict left-to-right ordering is part
of the proposal?<br>
Otherwise, expr2() could be attempted and failed first,
correct?<br>
</div>
</div>
</div>
</div>
</blockquote>
No in the previous case the order would be the same as if there were
not try. <br>
<br>
<blockquote type=3D"cite"
cite=3D"mid:CAHSYqdZnShy0rZs6bSp0PemxUiAm_kWT+xH2Or2VJw1k0_7QSw@mail.gmail.=
com">
<div dir=3D"ltr">
<div class=3D"gmail_extra">
<div class=3D"gmail_quote">
<div><br>
It seems to me that the "lambda parameters" that I've
occasionally mentioned<br>
here would subsume a lot of these special cases:<br>
<font face=3D"monospace, monospace">=C2=A0 =C2=A0 template
<typename T><br>
=C2=A0 =C2=A0 operator+([] can_fail<T> e1, []
can_fail<T> e2) -> auto<br>
=C2=A0 =C2=A0 {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 auto v1 =3D e1; if (!v1) return
unexpected(v1.error());</font></div>
<span style=3D"font-family:monospace,monospace">=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 auto
v2 =3D e2; if (!v2) return unexpected(v2.error());<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 return *v1 + *v2;<br>
=C2=A0 =C2=A0 }<br>
</span></div>
<div class=3D"gmail_quote"><font face=3D"monospace, monospace">=
=C2=A0 =C2=A0
return expr1() + expr2();</font><br>
<font face=3D"arial, helvetica, sans-serif"><br>
</font></div>
</div>
</div>
</blockquote>
<font face=3D"arial, helvetica, sans-serif">I don't want to define
this operator +and other handred of functions like this one.
Defineing the operator once for a class is enough.</font><br>
<blockquote type=3D"cite"
cite=3D"mid:CAHSYqdZnShy0rZs6bSp0PemxUiAm_kWT+xH2Or2VJw1k0_7QSw@mail.gmail.=
com">
<div dir=3D"ltr">
<div class=3D"gmail_extra">
<div class=3D"gmail_quote"><font face=3D"arial, helvetica,
sans-serif">The evaluation order is then up to you, and
it's all implemented via a general purpose<br>
language feature that's useful in many other contexts
rather than being tied to one specific<br>
special case.</font></div>
</div>
</div>
</blockquote>
If I need to master the order then I would use several statements.<br>
<br>
auto r2 =3D try expr2();<br>
return=C2=A0 =3D try expr1() + r2;<br>
<br>
Vicente<br>
</body>
</html>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/113167bd-dbf6-e5f8-3849-cfa7f425aaff%=
40wanadoo.fr?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/113167bd-dbf6-e5f8-3849-cfa7f425aaff=
%40wanadoo.fr</a>.<br />
--------------8FEDB06485E3C0DFC28D126C--
.
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date: Thu, 05 Oct 2017 09:12:12 +0200
Raw View
On 10/05/2017 12:26 AM, Niall Douglas wrote:
>=20
> Let me remind you all that we have a feature that does what you desir=
e without any new keywords or chaining of operations. It is called exceptio=
ns. To me it seems that the longer this debate runs the closer we get to ex=
ception throwing/catching. I know exception unwinding mechanisms have a bad=
reputation for both performance and code size, but who has really done the=
measurements to prove this?
>=20
>=20
> Actually a lot of people have. SG14 invested lots of effort into this, an=
d found no statistically measurable difference if failure was not common.
>=20
> However iff failure is anything but rare, then exception throws on table =
based handling systems are expensive, about 2000 CPU cycles per frame unwou=
nd /minimum/. Table searching is pipeline unfriendly.
Could you please give a pointer to a specific paper(s) (URLs)?
> This was done during the Boost.Outcome peer review, and people came away =
impressed. You might also watch any of my conference videos on this topic e=
..g. the ACCU 2017 one.
Could you please give specific pointers (URLs)?
And please put those pointers in any upcoming WG21 paper, too.
Jens
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/59D5DB4C.90403%40gmx.net.
.
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date: Thu, 05 Oct 2017 09:30:16 +0200
Raw View
On 10/04/2017 11:55 PM, Ville Voutilainen wrote:
> On 5 October 2017 at 00:46, Niall Douglas <nialldouglas14@gmail.com> wrote:
>>> Please show the modified grammar; you mention a "cast-expression" that is
>>> nowhere introduced.
>>>
>> Yeah, I literally cannot make head nor tails of standardese. Might as well
>> be Russian to me.
>>
>> I did mention that the paper you've seen was a dump of a very early draft. I
>> never would have posted it here without Vicente asking. Now I'm done with
>> the Expected critique paper, I'll turn my full attention to the operator try
>> paper. I'll be scanning the C++ standard and copying and pasting the
>> standardese for operator new and trying to mash it up with the current
>> standardese which I copy and pasted from the Coroutines TS.
>>
>> So please don't have high hopes that the next revision I post here will be
>> any better, but I will try my best.
>
>
> I recommend focusing on the motivation/rationale and design
> alternatives before diving head first
> into wording.
I fully agree with that; sorry for derailing the discussion by asking
for grammar. (However, it's still a puzzle to me how the new feature
actually fits in, e.g. regarding operator priorities, so I'd really
like to see at least a prose indication where in the expression grammar
this thing should go. Sample question:
try x + y
Is this "(try x) + y" or "try (x+y)"? And where in the proposal does
it say which one it is?)
Note 1: Once the actual feature is soundly baked, there will be people
available to help with standardese wording, myself included.
Note 2: In case anyone has not noticed, Ville is the chair of WG21's
Evolution Working Group and has seen a lot of proposals either succeed
or fail. Ignoring his advice makes it more likely that your proposal
faces the latter outcome.
Note 3: Features added to C++ can essentially never be undone, as
bad as they might be (cf. std::vector<bool>). So, WG21 needs *very*
good motivation why it should bear the maintenance burden of your
(any) desired feature for the next 20+ years to come. Have a look
at our ever-growing issues lists for an indication of "maintenance
burden".
Note 4: As a personal matter, I dislike coroutine's intense library
interdependencies, and the current proposal attempts to add more of
that.
Jens
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/59D5DF88.6030605%40gmx.net.
.
Author: Omer Rosler <omer.rosler@gmail.com>
Date: Thu, 5 Oct 2017 01:12:07 -0700 (PDT)
Raw View
------=_Part_9346_140099628.1507191127765
Content-Type: text/plain; charset="UTF-8"
On Wednesday, October 4, 2017 at 5:54:36 PM UTC+3, Ville Voutilainen wrote:
> On 4 October 2017 at 17:48, Nicol Bolas <jmckesson@gmail.com> wrote:
> >> Before we even go there, the paper needs to explain
> >>
> >> a) why this is a problem that needs to be solved
> >> b) why it needs a language extension
> >>
> >> We can all see that it makes some code somewhere easier to write, and
> >> we can grok that there are other
> >> languages that have such a language facility. That alone doesn't
> >> motivate a C++ language extension.
> >
> >
> > Why it has to be a a language extension is easy: it's impossible to do it
> > otherwise.
>
> That's great, but that explanation needs to be in the paper regardless of how
> easy it supposedly is.
>
> > If you try to introduce a function that does what `try` does, it would be
> > unable to do the one thing that makes `try` work: return. A function cannot
> > force the calling function to return. You could make a macro that does what
> > `try` does, but we have no way to do that within the language.
>
> Yes, well, perhaps we should look at adding something more general
> than individual
> keywords that perform specific transformations that then return (or
> not) via a nettle bush
> of traits and hooks.
I wonder if we add such a language facillity, we could turn the Coroutine TS into a pure library extension?
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/85d58cac-6f09-42ca-b016-533ef1dbe6f1%40isocpp.org.
------=_Part_9346_140099628.1507191127765--
.
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Thu, 5 Oct 2017 13:24:35 +0300
Raw View
On 5 October 2017 at 11:12, Omer Rosler <omer.rosler@gmail.com> wrote:
>> Yes, well, perhaps we should look at adding something more general
>> than individual
>> keywords that perform specific transformations that then return (or
>> not) via a nettle bush
>> of traits and hooks.
>
> I wonder if we add such a language facillity, we could turn the Coroutine TS into a pure library extension?
The transformation trigger would still need to be a language decision,
but the actual transformation might
be more library-ish, yes.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAFk2RUYPNspgBdmLbrF03OkJKEWWgmgBVTiMae3CyLwGOxnqDg%40mail.gmail.com.
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Thu, 5 Oct 2017 06:08:27 -0700 (PDT)
Raw View
------=_Part_9809_1696967988.1507208907231
Content-Type: multipart/alternative;
boundary="----=_Part_9810_1369010777.1507208907231"
------=_Part_9810_1369010777.1507208907231
Content-Type: text/plain; charset="UTF-8"
>
> > However iff failure is anything but rare, then exception throws on table
> based handling systems are expensive, about 2000 CPU cycles per frame
> unwound /minimum/. Table searching is pipeline unfriendly.
>
> Could you please give a pointer to a specific paper(s) (URLs)?
>
I cannot. It would invite unhelpful bike shedding. Consider it a completely
unsubstantiated claim from someone perhaps knowledgeable.
(I don't mean to brush off your request, but as soon as you cite
benchmarks, people start inspecting the benchmark code, then they start
bike shedding on "oh this is an unrealistic assumption" and "oh that
wouldn't happen in real world code" and so on. Before you know it hundreds
of emails have passed, and effort better expended elsewhere has been
wasted. You should know I shared those results with the major compiler
vendors and there was widespread surprise that it was that bad, but also no
surprise that it *would* be that bad. One major compiler vendor confessed
to me that the last time they had benchmarked exception throw and catch
performance was a decade ago, and that in relative terms current CPU
technology has made exception throw and catch relatively much worse than it
used to be. The lesson here is that if failure occurs at any frequency and
you care about bounded execution times, do *not* use exception throw and
catch)
>
> > This was done during the Boost.Outcome peer review, and people came away
> impressed. You might also watch any of my conference videos on this topic
> e.g. the ACCU 2017 one.
>
> Could you please give specific pointers (URLs)?
>
https://www.youtube.com/watch?v=XVofgKH-uu4 is the ACCU talk. Note an
errata is listed in the Youtube comments below the video.
The benchmarking of performance by people during the review I don't have,
rather people went off, converted their code to use Outcome v1, benchmarked
it and came back to say it was impressive.
I've got extensive benchmarking of AFIO on Intel's Optane storage devices,
but I cannot release any of it due to lack of permission and a signed NDA.
I can tell you it is impressive though. Expected/Outcome is a major win for
that use case.
>
> And please put those pointers in any upcoming WG21 paper, too.
>
>
I'm not entirely sure how this stuff is relevant to a proposed operator try?
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/35d99979-247b-48e7-aa83-b8f2fc24a986%40isocpp.org.
------=_Part_9810_1369010777.1507208907231
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">> However =
iff failure is anything but rare, then exception throws on table based hand=
ling systems are expensive, about 2000 CPU cycles per frame unwound /minimu=
m/. Table searching is pipeline unfriendly.
<br>
<br>Could you please give a pointer to a specific paper(s) (URLs)?
<br></blockquote><div><br></div><div>I cannot. It would invite unhelpful bi=
ke shedding. Consider it a completely unsubstantiated claim from someone pe=
rhaps knowledgeable.</div><div><br></div><div>(I don't mean to brush of=
f your request, but as soon as you cite benchmarks, people start inspecting=
the benchmark code, then they start bike shedding on "oh this is an u=
nrealistic assumption" and "oh that wouldn't happen in real w=
orld code" and so on. Before you know it hundreds of emails have passe=
d, and effort better expended elsewhere has been wasted. You should know I =
shared those results with the major compiler vendors and there was widespre=
ad surprise that it was that bad, but also no surprise that it <i>would</i>=
be that bad. One major compiler vendor confessed to me that the last time =
they had benchmarked exception throw and catch performance was a decade ago=
, and that in relative terms current CPU technology has made exception thro=
w and catch relatively much worse than it used to be. The lesson here is th=
at if failure occurs at any frequency and you care about bounded execution =
times, do <b>not</b>=C2=A0use exception throw and catch)</div><div>=C2=A0</=
div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex=
;border-left: 1px #ccc solid;padding-left: 1ex;">
<br>> This was done during the Boost.Outcome peer review, and people cam=
e away impressed. You might also watch any of my conference videos on this =
topic e.g. the ACCU 2017 one.
<br>
<br>Could you please give specific pointers (URLs)?
<br></blockquote><div><br></div><div>https://www.youtube.com/watch?v=3DXVof=
gKH-uu4 is the ACCU talk. Note an errata is listed in the Youtube comments =
below the video.<br></div><div><br></div><div>The benchmarking of performan=
ce by people during the review I don't have, rather people went off, co=
nverted their code to use Outcome v1, benchmarked it and came back to say i=
t was impressive.</div><div><br></div><div>I've got extensive benchmark=
ing of AFIO on Intel's Optane storage devices, but I cannot release any=
of it due to lack of permission and a signed NDA. I can tell you it is imp=
ressive though. Expected/Outcome is a major win for that use case.</div><di=
v>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-l=
eft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">
<br>And please put those pointers in any upcoming WG21 paper, too.
<br><br></blockquote><div><br></div><div>I'm not entirely sure how this=
stuff is relevant to a proposed operator try?</div><div><br></div><div>Nia=
ll</div><div>=C2=A0</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/35d99979-247b-48e7-aa83-b8f2fc24a986%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/35d99979-247b-48e7-aa83-b8f2fc24a986=
%40isocpp.org</a>.<br />
------=_Part_9810_1369010777.1507208907231--
------=_Part_9809_1696967988.1507208907231--
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Thu, 5 Oct 2017 06:18:24 -0700 (PDT)
Raw View
------=_Part_9732_699612244.1507209504258
Content-Type: multipart/alternative;
boundary="----=_Part_9733_123372487.1507209504258"
------=_Part_9733_123372487.1507209504258
Content-Type: text/plain; charset="UTF-8"
>
>
> I fully agree with that; sorry for derailing the discussion by asking
> for grammar. (However, it's still a puzzle to me how the new feature
> actually fits in, e.g. regarding operator priorities, so I'd really
> like to see at least a prose indication where in the expression grammar
> this thing should go. Sample question:
>
> try x + y
>
> Is this "(try x) + y" or "try (x+y)"? And where in the proposal does
> it say which one it is?)
>
If detailing that gets me out of writing standardese, I'm all in.
BTW where unspecified, I'll be proposing cloning whatever Rust and Swift do
under the assumption that they've thought it through :)
>
> Note 1: Once the actual feature is soundly baked, there will be people
> available to help with standardese wording, myself included.
>
Superb.
>
> Note 2: In case anyone has not noticed, Ville is the chair of WG21's
> Evolution Working Group and has seen a lot of proposals either succeed
> or fail. Ignoring his advice makes it more likely that your proposal
> faces the latter outcome.
>
I am well aware. Ville probably won't remember it, but he helped me out
with working through some technical issue or other quite a few years ago,
perhaps more than five years ago now. I vaguely remember Hans Boehm was
involved too. I remember him being quite patient in the face of my
ignorance. I was and still am appreciative for the help at that time.
As I mentioned before, I'm only the primary lead on this proposal because
I'm unemployed and Vicente is busy. I just want to get the ball rolling and
let others carry it from there. I certainly cannot afford to regularly
attend WG21 meetings. I'm also no language engineer, compilers and
languages are not to my taste. I'm a libraries person, not actually
bothered at all which programming language is used.
>
> Note 3: Features added to C++ can essentially never be undone, as
> bad as they might be (cf. std::vector<bool>). So, WG21 needs *very*
> good motivation why it should bear the maintenance burden of your
> (any) desired feature for the next 20+ years to come. Have a look
> at our ever-growing issues lists for an indication of "maintenance
> burden".
>
You may not be aware that I have a reputation as "deprecation strong". If I
had the power, I'd axe half the Boost libraries as being undermaintained
today. I'd also axe a good chunk of the C++ standard, I've already spoken
at length with Bjarne and Gaby about it (they disagreed with my ideas in
the strongest possible terms).
>
> Note 4: As a personal matter, I dislike coroutine's intense library
> interdependencies, and the current proposal attempts to add more of
> that.
>
> You mean this operator try proposal?
Can you explain what you mean by this? I don't know what you mean here at
all.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/8706319c-561f-46e0-941f-5eff830981fe%40isocpp.org.
------=_Part_9733_123372487.1507209504258
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><br>I fully a=
gree with that; sorry for derailing the discussion by asking
<br>for grammar. =C2=A0(However, it's still a puzzle to me how the new =
feature
<br>actually fits in, e.g. regarding operator priorities, so I'd really
<br>like to see at least a prose indication where in the expression grammar
<br>this thing should go. =C2=A0Sample question:
<br>
<br>=C2=A0 try x + y
<br>
<br>Is this "(try x) + y" =C2=A0or =C2=A0"try (x+y)"? =
=C2=A0And where in the proposal does
<br>it say which one it is?)
<br></blockquote><div><br></div><div>If detailing that gets me out of writi=
ng standardese, I'm all in.</div><div><br></div><div>BTW where unspecif=
ied, I'll be proposing cloning whatever Rust and Swift do under the ass=
umption that they've thought it through :)</div><div>=C2=A0</div><block=
quote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-le=
ft: 1px #ccc solid;padding-left: 1ex;">
<br>Note 1: Once the actual feature is soundly baked, there will be people
<br>available to help with standardese wording, myself included.
<br></blockquote><div><br></div><div>Superb.=C2=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #cc=
c solid;padding-left: 1ex;">
<br>Note 2: In case anyone has not noticed, Ville is the chair of WG21'=
s
<br>Evolution Working Group and has seen a lot of proposals either succeed
<br>or fail. =C2=A0Ignoring his advice makes it more likely that your propo=
sal
<br>faces the latter outcome.
<br></blockquote><div><br></div><div>I am well aware. Ville probably won=
9;t remember it, but he helped me out with working through some technical i=
ssue or other quite a few years ago, perhaps more than five years ago now. =
I vaguely remember Hans Boehm was involved too. I remember him being quite =
patient in the face of my ignorance. I was and still am appreciative for th=
e help at that time.</div><div><br></div><div>As I mentioned before, I'=
m only the primary lead on this proposal because I'm unemployed and Vic=
ente is busy. I just want to get the ball rolling and let others carry it f=
rom there. I certainly cannot afford to regularly attend WG21 meetings. I&#=
39;m also no language engineer, compilers and languages are not to my taste=
.. I'm a libraries person, not actually bothered at all which programmin=
g language is used.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote"=
style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-=
left: 1ex;">
<br>Note 3: Features added to C++ can essentially never be undone, as
<br>bad as they might be (cf. std::vector<bool>). =C2=A0So, WG21 need=
s *very*
<br>good motivation why it should bear the maintenance burden of your
<br>(any) desired feature for the next 20+ years to come. =C2=A0Have a look
<br>at our ever-growing issues lists for an indication of "maintenance
<br>burden".
<br></blockquote><div><br></div><div>You may not be aware that I have a rep=
utation as "deprecation strong". If I had the power, I'd axe =
half the Boost libraries as being undermaintained today. I'd also axe a=
good chunk of the C++ standard, I've already spoken at length with Bja=
rne and Gaby about it (they disagreed with my ideas in the strongest possib=
le terms).</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D=
"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex=
;">
<br>Note 4: As a personal matter, I dislike coroutine's intense library
<br>interdependencies, and the current proposal attempts to add more of
<br>that.
<br><br></blockquote><div>You mean this operator try proposal?</div><div><b=
r></div><div>Can you explain what you mean by this? I don't know what y=
ou mean here at all.</div><div><br></div><div>Niall=C2=A0</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/8706319c-561f-46e0-941f-5eff830981fe%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/8706319c-561f-46e0-941f-5eff830981fe=
%40isocpp.org</a>.<br />
------=_Part_9733_123372487.1507209504258--
------=_Part_9732_699612244.1507209504258--
.
Author: Matthew Woehlke <mwoehlke.floss@gmail.com>
Date: Thu, 5 Oct 2017 10:57:28 -0400
Raw View
On 2017-10-04 17:58, Bengt Gustafsson wrote:
> I know exception unwinding mechanisms
> have a bad reputation for both performance and code size, but who has
> really done the measurements to prove this? Notably:
>
> - We know that exception throwing/catching can have very small performance
> impact when no throwing occurs. But to be noted here is that each test of
> the optional/expected status involves some code that has to run every time
> and which includes a conditional jump, which can have a high performance
> impact. Hiding this behind a try operator or a bind() function may hide
> some gorier details but does not affect the generated code.
Moreover, I would hope that the compiler is clever enough to optimize:
try {
...blah1...
if (something) throw specific_exception_t;
...blah2...
return ...;
} catch (specific_exception_t) {
...blah3...
}
....into:
...blah1...
if (something) goto caught_specific_exception_t;
...blah2...
return ...;
caught_specific_exception_t:
...blah3...
(...possibly also constructing a dummy exception if it can't prove it
doesn't need to do so.)
> BTW: Will this be allowed:
>
> if (auto a = f()) {
> if (auto c = g(a)) {
> ...
> }}
I would hope so! But worst case, you can write:
if (auto a = f(); a) ...
--
Matthew
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/36129541-5c7c-6788-9bb2-3006bfd7e231%40gmail.com.
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Thu, 5 Oct 2017 09:39:02 -0700 (PDT)
Raw View
------=_Part_9816_986347938.1507221542319
Content-Type: multipart/alternative;
boundary="----=_Part_9817_1076620872.1507221542319"
------=_Part_9817_1076620872.1507221542319
Content-Type: text/plain; charset="UTF-8"
>
>
> Moreover, I would hope that the compiler is clever enough to optimize:
>
> try {
> ...blah1...
> if (something) throw specific_exception_t;
> ...blah2...
> return ...;
> } catch (specific_exception_t) {
> ...blah3...
> }
>
> ...into:
>
> ...blah1...
> if (something) goto caught_specific_exception_t;
> ...blah2...
> return ...;
> caught_specific_exception_t:
> ...blah3...
>
> (...possibly also constructing a dummy exception if it can't prove it
> doesn't need to do so.)
>
> The compiler is not able to make that optimisation. It is required to
execute the full table search machinery at runtime for various reasons not
important here.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/348e4d38-30af-40d0-a912-4d2cdc88fe16%40isocpp.org.
------=_Part_9817_1076620872.1507221542319
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><br>Moreover,=
I would hope that the compiler is clever enough to optimize:
<br>
<br>=C2=A0 try {
<br>=C2=A0 =C2=A0 ...blah1...
<br>=C2=A0 =C2=A0 if (something) throw specific_exception_t;
<br>=C2=A0 =C2=A0 ...blah2...
<br>=C2=A0 =C2=A0 return ...;
<br>=C2=A0 } catch (specific_exception_t) {
<br>=C2=A0 =C2=A0 ...blah3...
<br>=C2=A0 }
<br>
<br>...into:
<br>
<br>=C2=A0 ...blah1...
<br>=C2=A0 if (something) goto caught_specific_exception_t;
<br>=C2=A0 ...blah2...
<br>=C2=A0 return ...;
<br>=C2=A0 caught_specific_exception_t:
<br>=C2=A0 ...blah3...
<br>
<br>(...possibly also constructing a dummy exception if it can't prove =
it
<br>doesn't need to do so.)
<br>
<br></blockquote><div>The compiler is not able to make that optimisation. I=
t is required to execute the full table search machinery at runtime for var=
ious reasons not important here.=C2=A0</div><div><br></div><div>Niall</div>=
</div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/348e4d38-30af-40d0-a912-4d2cdc88fe16%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/348e4d38-30af-40d0-a912-4d2cdc88fe16=
%40isocpp.org</a>.<br />
------=_Part_9817_1076620872.1507221542319--
------=_Part_9816_986347938.1507221542319--
.
Author: "Vicente J. Botet Escriba" <vicente.botet@wanadoo.fr>
Date: Thu, 5 Oct 2017 19:21:02 +0200
Raw View
Le 05/10/2017 =C3=A0 09:30, Jens Maurer a =C3=A9crit=C2=A0:
> On 10/04/2017 11:55 PM, Ville Voutilainen wrote:
>> On 5 October 2017 at 00:46, Niall Douglas <nialldouglas14@gmail.com> wro=
te:
>>>> Please show the modified grammar; you mention a "cast-expression" that=
is
>>>> nowhere introduced.
>>>>
>>> Yeah, I literally cannot make head nor tails of standardese. Might as w=
ell
>>> be Russian to me.
>>>
>>> I did mention that the paper you've seen was a dump of a very early dra=
ft. I
>>> never would have posted it here without Vicente asking. Now I'm done wi=
th
>>> the Expected critique paper, I'll turn my full attention to the operato=
r try
>>> paper. I'll be scanning the C++ standard and copying and pasting the
>>> standardese for operator new and trying to mash it up with the current
>>> standardese which I copy and pasted from the Coroutines TS.
>>>
>>> So please don't have high hopes that the next revision I post here will=
be
>>> any better, but I will try my best.
>>
>> I recommend focusing on the motivation/rationale and design
>> alternatives before diving head first
>> into wording.
> I fully agree with that; sorry for derailing the discussion by asking
> for grammar. (However, it's still a puzzle to me how the new feature
> actually fits in, e.g. regarding operator priorities, so I'd really
> like to see at least a prose indication where in the expression grammar
> this thing should go. Sample question:
>
> try x + y
>
> Is this "(try x) + y" or "try (x+y)"? And where in the proposal does
> it say which one it is?)
operator try will have the same precedence as co_await ;-)
>
> Note 1: Once the actual feature is soundly baked, there will be people
> available to help with standardese wording, myself included.
>
> Note 2: In case anyone has not noticed, Ville is the chair of WG21's
> Evolution Working Group and has seen a lot of proposals either succeed
> or fail. Ignoring his advice makes it more likely that your proposal
> faces the latter outcome.
>
> Note 3: Features added to C++ can essentially never be undone, as
> bad as they might be (cf. std::vector<bool>). So, WG21 needs *very*
> good motivation why it should bear the maintenance burden of your
> (any) desired feature for the next 20+ years to come. Have a look
> at our ever-growing issues lists for an indication of "maintenance
> burden".
>
> Note 4: As a personal matter, I dislike coroutine's intense library
> interdependencies, and the current proposal attempts to add more of
> that.
The try-operator doesn't introduces any dependency on the standard=20
library. It depends on the requirements imposed to the result of the=20
operator try, but not on any C++ standard library file.
Vicente
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/1ddb6a10-8fcc-76b4-9fe7-59b34f5c7fa6%40wanadoo.f=
r.
.
Author: Bengt Gustafsson <bengt.gustafsson@beamways.com>
Date: Thu, 5 Oct 2017 23:09:37 +0200
Raw View
This is a multi-part message in MIME format.
--------------703D1A404E17DDEA0250AA4A
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: quoted-printable
Den 2017-10-05 kl. 18:39, skrev Niall Douglas:
>
>
> Moreover, I would hope that the compiler is clever enough to
> optimize:
>
> =C2=A0 try {
> =C2=A0 =C2=A0 ...blah1...
> =C2=A0 =C2=A0 if (something) throw specific_exception_t;
> =C2=A0 =C2=A0 ...blah2...
> =C2=A0 =C2=A0 return ...;
> =C2=A0 } catch (specific_exception_t) {
> =C2=A0 =C2=A0 ...blah3...
> =C2=A0 }
>
> ...into:
>
> =C2=A0 ...blah1...
> =C2=A0 if (something) goto caught_specific_exception_t;
> =C2=A0 ...blah2...
> =C2=A0 return ...;
> =C2=A0 caught_specific_exception_t:
> =C2=A0 ...blah3...
>
> (...possibly also constructing a dummy exception if it can't prove it
> doesn't need to do so.)
>
> The compiler is not able to make that optimisation. It is required to=20
> execute the full table search machinery at runtime for various reasons=20
> not important here.
Doesn't that depend on the ...blah... parts. If the compiler can deduce=20
that they or whatever they call can't throw whatever the catch catches I=20
can't see why not... It would be totally transparent. Well, it would=20
need to check what the constructor of the exception type and its parents=20
do also, of course. Maybe these requirements are viewed as too hard to=20
do by compiler vendors?
>
> Niall
--=20
Bengt Gustafsson
CEO, Beamways AB
Westmansgatan 37
582 16 Link=C3=B6ping, Sweden
+46 (705) 338259
Skype: benke_g
www.beamways.com
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/f8ecb98d-cfdf-9b03-07bb-c9268b7a7561%40beamways.=
com.
--------------703D1A404E17DDEA0250AA4A
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8=
">
</head>
<body text=3D"#000000" bgcolor=3D"#FFFFFF">
Den 2017-10-05 kl. 18:39, skrev Niall Douglas:<br>
<blockquote type=3D"cite"
cite=3D"mid:348e4d38-30af-40d0-a912-4d2cdc88fe16@isocpp.org">
<div dir=3D"ltr">
<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left:
0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><br>
Moreover, I would hope that the compiler is clever enough to
optimize:
<br>
<br>
=C2=A0 try {
<br>
=C2=A0 =C2=A0 ...blah1...
<br>
=C2=A0 =C2=A0 if (something) throw specific_exception_t;
<br>
=C2=A0 =C2=A0 ...blah2...
<br>
=C2=A0 =C2=A0 return ...;
<br>
=C2=A0 } catch (specific_exception_t) {
<br>
=C2=A0 =C2=A0 ...blah3...
<br>
=C2=A0 }
<br>
<br>
...into:
<br>
<br>
=C2=A0 ...blah1...
<br>
=C2=A0 if (something) goto caught_specific_exception_t;
<br>
=C2=A0 ...blah2...
<br>
=C2=A0 return ...;
<br>
=C2=A0 caught_specific_exception_t:
<br>
=C2=A0 ...blah3...
<br>
<br>
(...possibly also constructing a dummy exception if it can't
prove it
<br>
doesn't need to do so.)
<br>
<br>
</blockquote>
<div>The compiler is not able to make that optimisation. It is
required to execute the full table search machinery at runtime
for various reasons not important here. <br>
</div>
</div>
</blockquote>
Doesn't that depend on the ...blah... parts. If the compiler can
deduce that they or whatever they call can't throw whatever the
catch catches I can't see why not... It would be totally
transparent. Well, it would need to check what the constructor of
the exception type and its parents do also, of course. Maybe these
requirements are viewed as too hard to do by compiler vendors?<br>
<blockquote type=3D"cite"
cite=3D"mid:348e4d38-30af-40d0-a912-4d2cdc88fe16@isocpp.org">
<div dir=3D"ltr">
<div><br>
</div>
<div>Niall</div>
</div>
</blockquote>
<br>
<pre class=3D"moz-signature" cols=3D"72">--=20
Bengt Gustafsson
CEO, Beamways AB
Westmansgatan 37
582 16 Link=C3=B6ping, Sweden
+46 (705) 338259
Skype: benke_g
<a class=3D"moz-txt-link-abbreviated" href=3D"http://www.beamways.com">www.=
beamways.com</a>
</pre>
</body>
</html>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/f8ecb98d-cfdf-9b03-07bb-c9268b7a7561%=
40beamways.com?utm_medium=3Demail&utm_source=3Dfooter">https://groups.googl=
e.com/a/isocpp.org/d/msgid/std-proposals/f8ecb98d-cfdf-9b03-07bb-c9268b7a75=
61%40beamways.com</a>.<br />
--------------703D1A404E17DDEA0250AA4A--
.
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date: Fri, 06 Oct 2017 11:46:39 +0200
Raw View
On 10/05/2017 03:08 PM, Niall Douglas wrote:
> And please put those pointers in any upcoming WG21 paper, too.
>
>
> I'm not entirely sure how this stuff is relevant to a proposed operator try?
My view on WG21 is that, for at least some people, exceptions are still
the way to go for error propagation across multiple call frames, one
argument being that sprinkling your code with "if (error) return" litters
the CPU's instruction cache and branch predictor with almost-never-executed
stuff.
The proposed operator try, as far as I have understood, attempts to ease
the syntax burden of the "if (error) return" pattern, making it easier
to use that pattern, in balance discouraging exceptions for error
propagation. And people might object to the proposal on these grounds.
In my view, this proposal would be less of an uphill battle if
people can be convinced that there's a substantial (not fringe) set of
use cases for which exceptions aren't good enough; and part of that
means (in my view) showing performance figures for either approach,
including source code.
For example, when support for move operations was introduced into
the language, we had such figures for std::vector<std::string>
operations, showing the performance of an append or insert with and
without move. Everybody in the room could connect to the use
case (after all, std::vector<std::string> seems like the second
thing to try in C++).
By their very nature, exceptions and the "if (error) return" pattern
probably need somewhat less localized examples to make a real case
for the difference.
Jens
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/59D750FF.2090102%40gmx.net.
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Fri, 6 Oct 2017 08:01:53 -0700 (PDT)
Raw View
------=_Part_1258_296421481.1507302113256
Content-Type: multipart/alternative;
boundary="----=_Part_1259_415816780.1507302113256"
------=_Part_1259_415816780.1507302113256
Content-Type: text/plain; charset="UTF-8"
>
>
>
> Doesn't that depend on the ...blah... parts. If the compiler can deduce
> that they or whatever they call can't throw whatever the catch catches I
> can't see why not... It would be totally transparent. Well, it would need
> to check what the constructor of the exception type and its parents do
> also, of course. Maybe these requirements are viewed as too hard to do by
> compiler vendors?
>
> <http://www.beamways.com>
>
> No.
The compiler cannot ever elide a throw. It is an extern, non-inlineable
function with unknowable side effects, same as a kernel syscall. The
compiler cannot optimise it away except when it can deduce that it will
never be called.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/dd5ee3eb-3a9e-4402-b92b-b87c41880de4%40isocpp.org.
------=_Part_1259_415816780.1507302113256
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;bor=
der-left: 1px #ccc solid;padding-left: 1ex;"><div text=3D"#000000" bgcolor=
=3D"#FFFFFF"><blockquote type=3D"cite"><div dir=3D"ltr"><div>=C2=A0<br>
</div>
</div>
</blockquote>
Doesn't that depend on the ...blah... parts. If the compiler can
deduce that they or whatever they call can't throw whatever the
catch catches I can't see why not... It would be totally
transparent. Well, it would need to check what the constructor of
the exception type and its parents do also, of course. Maybe these
requirements are viewed as too hard to do by compiler vendors?<br>
<blockquote type=3D"cite">
<div dir=3D"ltr">
<div></div></div></blockquote><pre cols=3D"72"><a href=3D"http://ww=
w.beamways.com" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=
=3D'http://www.google.com/url?q\x3dhttp%3A%2F%2Fwww.beamways.com\x26sa\=
x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGA9OdSVgKpCQaIl_BmoACYpruH4g';return =
true;" onclick=3D"this.href=3D'http://www.google.com/url?q\x3dhttp%3A%2=
F%2Fwww.beamways.com\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGA9OdSVgKpCQaI=
l_BmoACYpruH4g';return true;"></a></pre></div></blockquote><div>No.</di=
v><div><br></div><div>The compiler cannot ever elide a throw. It is an exte=
rn, non-inlineable function with unknowable side effects, same as a kernel =
syscall. The compiler cannot optimise it away except when it can deduce tha=
t it will never be called.</div><div><br></div><div>Niall</div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/dd5ee3eb-3a9e-4402-b92b-b87c41880de4%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/dd5ee3eb-3a9e-4402-b92b-b87c41880de4=
%40isocpp.org</a>.<br />
------=_Part_1259_415816780.1507302113256--
------=_Part_1258_296421481.1507302113256--
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Fri, 6 Oct 2017 08:44:32 -0700 (PDT)
Raw View
------=_Part_1346_210979623.1507304672597
Content-Type: multipart/alternative;
boundary="----=_Part_1347_924548707.1507304672597"
------=_Part_1347_924548707.1507304672597
Content-Type: text/plain; charset="UTF-8"
On Friday, October 6, 2017 at 10:46:43 AM UTC+1, Jens Maurer wrote:
>
> On 10/05/2017 03:08 PM, Niall Douglas wrote:
> > And please put those pointers in any upcoming WG21 paper, too.
> >
> >
> > I'm not entirely sure how this stuff is relevant to a proposed operator
> try?
>
> My view on WG21 is that, for at least some people, exceptions are still
> the way to go for error propagation across multiple call frames, one
> argument being that sprinkling your code with "if (error) return" litters
> the CPU's instruction cache and branch predictor with
> almost-never-executed
> stuff.
>
That would have been a reasonable opinion ten years ago. Modern branch
predictors are far more intelligent. They spot things like if the CPU
performs memory accesses X, Y and Z, then branch A not B will be taken. So
in fact you can make every single line in your program wrapped in
"if(error)" and you will probably not observe a measurable slowdown except
in code being executed for the first time out of main memory. At least, on
a Haswell or better Intel CPU.
Or, put another way, the old "Borland method" of stack frame based EH like
Win32 still uses has become, relatively speaking, much more efficient than
it used to be on recent CPUs. This has substantially narrowed the gap
between stack frame based EH and table based EH. That is what made Swift
and Rust choose the Expected form of error handling instead, and that is
why we are bringing the same to C++ as a lighter weight alternative to
exception throws for code which needs to be fixed latency.
But coming back to your point, I am well aware of the expert opinion
against this change. I've been at persuading people for something like
eighteen months now, Vicente for years longer again. I found that you can't
convince people based on performance. Either they believe you (sometimes
after doing some empirical testing on a recent CPU), or they don't. You
can't change their preconceptions. Even on SG14, and they *hate* exceptions
over there, there were quite a few who do not and will not accept a
performance argument here.
So the more successful tack we've taken is to argue on the basis that C++
03 era std::error_code use patterns are nasty, and these objects make using
std::error_code much less nasty. Anyone who looks at the current
std::error_code use patterns in the Filesystem TS or the Networking TS will
almost certainly come away agreeing. So we've concentrated on that, and
made good progress. The very positive rejection of Outcome v1 was a
surprise in fact, I had expected refusal
because-we-don't-like-this-around-these-parts.
Hence, we don't talk about performance much. It gets people onto their high
horse, and that isn't productive to progressing these objects rapidly.
Better to argue from reduction of nasty practice, not better performance.
>
> The proposed operator try, as far as I have understood, attempts to ease
> the syntax burden of the "if (error) return" pattern, making it easier
> to use that pattern, in balance discouraging exceptions for error
> propagation. And people might object to the proposal on these grounds.
>
Well, the alternative is a C macro. Here is an identically behaving C macro
which uses a GCC/clang only language extension:
#define OUTCOME_TRYX(m)
({
auto &&res = (m);
if(!res.has_value())
return OUTCOME_V2_NAMESPACE::try_operation_return_as(std::forward<
decltype(res)>(res));
std::forward<decltype(res)>(res).value();
})
That's non-portable outside clang and GCC of course.
Perhaps people don't realise how frequently the TRY operation is used? Have
a look
at https://github.com/ned14/afio/blob/master/include/afio/v2.0/algorithm/shared_fs_mutex/memory_map.hpp#L188.
Note all the OUTCOME_TRY macro calls. And note each of those function calls
also do many TRY operations too. There might be as many as fifty TRY
operations in just that object's constructor.
>
> In my view, this proposal would be less of an uphill battle if
> people can be convinced that there's a substantial (not fringe) set of
> use cases for which exceptions aren't good enough; and part of that
> means (in my view) showing performance figures for either approach,
> including source code.
>
How long is a piece of string?
As mentioned before, performance based arguments just descend into
unproductive, non-empirically based, personal claims and counter claims. A
de-nastifying argument has worked better to date.
That said, the de-nastifying argument is much easier with Outcome than
Expected. Outcome's v2 design was specifically agreed upon to "save" us
from the error_code overloads in Boost.Filesystem where, If Boost.Outcome
is accepted, the implication was during the review that we'll be adding
Outcome overloads for all the Boost.Filesystem error_code taking functions
as an extension, and hinting to users to not use the error_code overloads.
Expected isn't as focused on solving a single problem as Outcome. It's a
more abstract, less concrete argument as a result.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/52b64827-d0ba-4ff5-9ea4-d0874b4fb708%40isocpp.org.
------=_Part_1347_924548707.1507304672597
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Friday, October 6, 2017 at 10:46:43 AM UTC+1, Jens Maur=
er wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: =
0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 10/05/2017 03:08 P=
M, Niall Douglas wrote:
<br>> =C2=A0 =C2=A0 And please put those pointers in any upcoming WG21 p=
aper, too.
<br>>=20
<br>>=20
<br>> I'm not entirely sure how this stuff is relevant to a proposed=
operator try?
<br>
<br>My view on WG21 is that, for at least some people, exceptions are still
<br>the way to go for error propagation across multiple call frames, one
<br>argument being that sprinkling your code with "if (error) return&q=
uot; litters
<br>the CPU's instruction cache and branch predictor with almost-never-=
executed
<br>stuff.
<br></blockquote><div><br></div><div>That would have been a reasonable opin=
ion ten years ago. Modern branch predictors are far more intelligent. They =
spot things like if the CPU performs memory accesses X, Y and Z, then branc=
h A not B will be taken. So in fact you can make every single line in your =
program wrapped in "if(error)" and you will probably not observe =
a measurable slowdown except in code being executed for the first time out =
of main memory. At least, on a Haswell or better Intel CPU.</div><div><br><=
/div><div>Or, put another way, the old "Borland method" of stack =
frame based EH like Win32 still uses has become, relatively speaking, much =
more efficient than it used to be on recent CPUs. This has substantially na=
rrowed the gap between stack frame based EH and table based EH. That is wha=
t made Swift and Rust choose the Expected form of error handling instead, a=
nd that is why we are bringing the same to C++ as a lighter weight alternat=
ive to exception throws for code which needs to be fixed latency.</div><div=
><br></div><div>But coming back to your point, I am well aware of the exper=
t opinion against this change. I've been at persuading people for somet=
hing like eighteen months now, Vicente for years longer again. I found that=
you can't convince people based on performance. Either they believe yo=
u (sometimes after doing some empirical testing on a recent CPU), or they d=
on't. You can't change their preconceptions. Even on SG14, and they=
<i>hate</i>=C2=A0exceptions over there, there were quite a few who do not =
and will not accept a performance argument here.</div><div><br></div><div>S=
o the more successful tack we've taken is to argue on the basis that C+=
+ 03 era std::error_code use patterns are nasty, and these objects make usi=
ng std::error_code much less nasty. Anyone who looks at the current std::er=
ror_code use patterns in the Filesystem TS or the Networking TS will almost=
certainly come away agreeing. So we've concentrated on that, and made =
good progress. The very positive rejection of Outcome v1 was a surprise in =
fact, I had expected refusal because-we-don't-like-this-around-these-pa=
rts.</div><div><br></div><div>Hence, we don't talk about performance mu=
ch. It gets people onto their high horse, and that isn't productive to =
progressing these objects rapidly. Better to argue from reduction of nasty =
practice, not better performance.</div><div>=C2=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #cc=
c solid;padding-left: 1ex;">
<br>The proposed operator try, as far as I have understood, attempts to eas=
e
<br>the syntax burden of the "if (error) return" pattern, making =
it easier
<br>to use that pattern, in balance discouraging exceptions for error
<br>propagation. =C2=A0And people might object to the proposal on these gro=
unds.
<br></blockquote><div><br></div><div>Well, the alternative is a C macro. He=
re is an identically behaving C macro which uses a GCC/clang only language =
extension:</div><div><br></div><div class=3D"prettyprint" style=3D"backgrou=
nd-color: rgb(250, 250, 250); border-color: rgb(187, 187, 187); border-styl=
e: solid; border-width: 1px; word-wrap: break-word;"><code class=3D"prettyp=
rint"><div class=3D"subprettyprint"><span style=3D"color: #800;" class=3D"s=
tyled-by-prettify">#define</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify"> OUTCOME_TRYX</span><span style=3D"color: #660;" class=3D"s=
tyled-by-prettify">(</span><span style=3D"color: #000;" class=3D"styled-by-=
prettify">m</span><span style=3D"color: #660;" class=3D"styled-by-prettify"=
>)</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> =C2=A0<=
br>=C2=A0 </span><span style=3D"color: #660;" class=3D"styled-by-prettify">=
({</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0<br>=C2=A0 =C2=A0 </span><span style=3D"color: #008;" clas=
s=3D"styled-by-prettify">auto</span><span style=3D"color: #000;" class=3D"s=
tyled-by-prettify"> </span><span style=3D"color: #660;" class=3D"styled-by-=
prettify">&&</span><span style=3D"color: #000;" class=3D"styled-by-=
prettify">res </span><span style=3D"color: #660;" class=3D"styled-by-pretti=
fy">=3D</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> </=
span><span style=3D"color: #660;" class=3D"styled-by-prettify">(</span><spa=
n style=3D"color: #000;" class=3D"styled-by-prettify">m</span><span style=
=3D"color: #660;" class=3D"styled-by-prettify">);</span><span style=3D"colo=
r: #000;" class=3D"styled-by-prettify"> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <=
br>=C2=A0 =C2=A0 </span><span style=3D"color: #008;" class=3D"styled-by-pre=
ttify">if</span><span style=3D"color: #660;" class=3D"styled-by-prettify">(=
!</span><span style=3D"color: #000;" class=3D"styled-by-prettify">res</span=
><span style=3D"color: #660;" class=3D"styled-by-prettify">.</span><span st=
yle=3D"color: #000;" class=3D"styled-by-prettify">has_value</span><span sty=
le=3D"color: #660;" class=3D"styled-by-prettify">())</span><span style=3D"c=
olor: #000;" class=3D"styled-by-prettify"> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<br>=C2=A0 =C2=A0 =
=C2=A0 </span><span style=3D"color: #008;" class=3D"styled-by-prettify">ret=
urn</span><span style=3D"color: #000;" class=3D"styled-by-prettify"> OUTCOM=
E_V2_NAMESPACE</span><span style=3D"color: #660;" class=3D"styled-by-pretti=
fy">::</span><span style=3D"color: #000;" class=3D"styled-by-prettify">try_=
operation_return_as</span><span style=3D"color: #660;" class=3D"styled-by-p=
rettify">(</span><span style=3D"color: #000;" class=3D"styled-by-prettify">=
std</span><span style=3D"color: #660;" class=3D"styled-by-prettify">::</spa=
n><span style=3D"color: #000;" class=3D"styled-by-prettify">forward</span><=
span style=3D"color: #660;" class=3D"styled-by-prettify"><</span><span s=
tyle=3D"color: #008;" class=3D"styled-by-prettify">decltype</span><span sty=
le=3D"color: #660;" class=3D"styled-by-prettify">(</span><span style=3D"col=
or: #000;" class=3D"styled-by-prettify">res</span><span style=3D"color: #66=
0;" class=3D"styled-by-prettify">)>(</span><span style=3D"color: #000;" =
class=3D"styled-by-prettify">res</span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">));</span><span style=3D"color: #000;" class=3D"sty=
led-by-prettify"> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0<br>=C2=A0 =C2=A0 std</span><span style=3D"color: #660;" class=
=3D"styled-by-prettify">::</span><span style=3D"color: #000;" class=3D"styl=
ed-by-prettify">forward</span><span style=3D"color: #660;" class=3D"styled-=
by-prettify"><</span><span style=3D"color: #008;" class=3D"styled-by-pre=
ttify">decltype</span><span style=3D"color: #660;" class=3D"styled-by-prett=
ify">(</span><span style=3D"color: #000;" class=3D"styled-by-prettify">res<=
/span><span style=3D"color: #660;" class=3D"styled-by-prettify">)>(</spa=
n><span style=3D"color: #000;" class=3D"styled-by-prettify">res</span><span=
style=3D"color: #660;" class=3D"styled-by-prettify">).</span><span style=
=3D"color: #000;" class=3D"styled-by-prettify">value</span><span style=3D"c=
olor: #660;" class=3D"styled-by-prettify">();</span><span style=3D"color: #=
000;" class=3D"styled-by-prettify"> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<br>=C2=A0 </span><span style=3D"colo=
r: #660;" class=3D"styled-by-prettify">})</span><span style=3D"color: #000;=
" class=3D"styled-by-prettify"><br><br></span></div></code></div><div><br>T=
hat's non-portable outside clang and GCC of course.</div><div><br></div=
><div>Perhaps people don't realise how frequently the TRY operation is =
used? Have a look at=C2=A0https://github.com/ned14/afio/blob/master/include=
/afio/v2.0/algorithm/shared_fs_mutex/memory_map.hpp#L188. Note all the OUTC=
OME_TRY macro calls. And note each of those function calls also do many TRY=
operations too. There might be as many as fifty TRY operations in just tha=
t object's constructor.</div><div>=C2=A0</div><blockquote class=3D"gmai=
l_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;=
padding-left: 1ex;">
<br>In my view, this proposal would be less of an uphill battle if
<br>people can be convinced that there's a substantial (not fringe) set=
of
<br>use cases for which exceptions aren't good enough; and part of that
<br>means (in my view) showing performance figures for either approach,
<br>including source code.
<br></blockquote><div><br></div><div>How long is a piece of string?</div><d=
iv><br></div><div>As mentioned before, performance based arguments just des=
cend into unproductive, non-empirically based, personal claims and counter =
claims. A de-nastifying argument has worked better to date.=C2=A0</div><div=
><br></div><div>That said, the de-nastifying argument is much easier with O=
utcome than Expected. Outcome's v2 design was specifically agreed upon =
to "save" us from the error_code overloads in Boost.Filesystem wh=
ere, If Boost.Outcome is accepted, the implication was during the review th=
at we'll be adding Outcome overloads for all the Boost.Filesystem error=
_code taking functions as an extension, and hinting to users to not use the=
error_code overloads.</div><div><br></div><div>Expected isn't as focus=
ed on solving a single problem as Outcome. It's a more abstract, less c=
oncrete argument as a result.</div><div><br></div><div>Niall</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/52b64827-d0ba-4ff5-9ea4-d0874b4fb708%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/52b64827-d0ba-4ff5-9ea4-d0874b4fb708=
%40isocpp.org</a>.<br />
------=_Part_1347_924548707.1507304672597--
------=_Part_1346_210979623.1507304672597--
.
Author: Nevin Liber <nevin@eviloverlord.com>
Date: Fri, 6 Oct 2017 11:05:12 -0500
Raw View
--94eb2c1487be3f77d3055ae30434
Content-Type: text/plain; charset="UTF-8"
On Fri, Oct 6, 2017 at 10:44 AM, Niall Douglas <nialldouglas14@gmail.com>
wrote:
> On Friday, October 6, 2017 at 10:46:43 AM UTC+1, Jens Maurer wrote:
>>
>> My view on WG21 is that, for at least some people, exceptions are still
>> the way to go for error propagation across multiple call frames, one
>> argument being that sprinkling your code with "if (error) return" litters
>> the CPU's instruction cache and branch predictor with
>> almost-never-executed
>> stuff.
>>
>
> But coming back to your point, I am well aware of the expert opinion
> against this change. I've been at persuading people for something like
> eighteen months now, Vicente for years longer again. I found that you can't
> convince people based on performance.
>
When people ask you for numbers and measurements, you say:
(I don't mean to brush off your request, but as soon as you cite
> benchmarks, people start inspecting the benchmark code, then they start
> bike shedding on "oh this is an unrealistic assumption" and "oh that
> wouldn't happen in real world code" and so on. Before you know it hundreds
> of emails have passed, and effort better expended elsewhere has been
> wasted. [...])
Given that you are not willing to provide evidence to back up your claims,
your argument boils down to "trust me". I vastly prefer "trust but
verify", because in my experience, many people, a lot of which are real
experts, have presented things and reasoned things out that turn out not to
be valid.
It is much, much harder to convince people with unsubstantiated claims on
performance than to convince them with substantiated claims about
performance.
--
Nevin ":-)" Liber <mailto:nevin@eviloverlord.com> +1-847-691-1404
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BPdH1vSfJwucRbjaZrg5OB6uezt-mtHMsB7774CDpPpDg%40mail.gmail.com.
--94eb2c1487be3f77d3055ae30434
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Fri, Oct 6, 2017 at 10:44 AM, Niall Douglas <span dir=
=3D"ltr"><<a href=3D"mailto:nialldouglas14@gmail.com" target=3D"_blank">=
nialldouglas14@gmail.com</a>></span> wrote:<br><div class=3D"gmail_extra=
"><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-=
left-color:rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><span class=
=3D"gmail-">On Friday, October 6, 2017 at 10:46:43 AM UTC+1, Jens Maurer wr=
ote:<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,20=
4);padding-left:1ex">My view on WG21 is that, for at least some people, exc=
eptions are still
<br>the way to go for error propagation across multiple call frames, one
<br>argument being that sprinkling your code with "if (error) return&q=
uot; litters
<br>the CPU's instruction cache and branch predictor with almost-never-=
executed
<br>stuff.
<br></blockquote><div><br></div></span><div>But coming back to your point, =
I am well aware of the expert opinion against this change. I've been at=
persuading people for something like eighteen months now, Vicente for year=
s longer again. I found that you can't convince people based on perform=
ance.</div></div></blockquote><div><br></div><div>When people ask you for n=
umbers and measurements, you say:</div><div><br></div><div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;b=
order-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"=
>(I don't mean to brush off your request, but as soon as you cite bench=
marks, people start inspecting the benchmark code, then they start bike she=
dding on "oh this is an unrealistic assumption" and "oh that=
wouldn't happen in real world code" and so on. Before you know it=
hundreds of emails have passed, and effort better expended elsewhere has b=
een wasted. [...])</blockquote><div><br></div><div>Given that you are not w=
illing to provide evidence to back up your claims, your argument boils down=
to "trust me".=C2=A0 I vastly prefer "trust but verify"=
;, because in my experience, many people, a lot of which are real experts, =
have presented things and reasoned things out that turn out not to be valid=
..</div></div><div><br></div><div>It is much, much harder to convince people=
with unsubstantiated claims on performance than to convince them with subs=
tantiated claims about performance.</div></div>-- <br><div class=3D"gmail_s=
ignature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div>=C2=A0Nevin ":-)=
" Liber=C2=A0 <mailto:<a href=3D"mailto:nevin@eviloverlord.com" tar=
get=3D"_blank">nevin@eviloverlord.com</a>> =C2=A0+1-847-691-1404</div></=
div></div></div></div>
</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BPdH1vSfJwucRbjaZrg5OB6uezt-m=
tHMsB7774CDpPpDg%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAGg_6%2BPdH1vS=
fJwucRbjaZrg5OB6uezt-mtHMsB7774CDpPpDg%40mail.gmail.com</a>.<br />
--94eb2c1487be3f77d3055ae30434--
.
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date: Fri, 06 Oct 2017 19:47:39 +0200
Raw View
On 10/06/2017 05:01 PM, Niall Douglas wrote:
> The compiler cannot ever elide a throw. It is an extern, non-inlineable function with unknowable side effects, same as a kernel syscall. The compiler cannot optimise it away except when it can deduce that it will never be called.
This might be true for current compiler technology, but from
the point-of-view of the C++ standard, optimizations around
throw / catch are certainly possible. All side-effects (e.g.
copies of the exception object) are known or could be known
to the compiler.
Jens
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/59D7C1BB.7000604%40gmx.net.
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Fri, 6 Oct 2017 11:07:09 -0700 (PDT)
Raw View
------=_Part_1453_634857115.1507313229513
Content-Type: multipart/alternative;
boundary="----=_Part_1454_615364921.1507313229513"
------=_Part_1454_615364921.1507313229513
Content-Type: text/plain; charset="UTF-8"
>
>
> Given that you are not willing to provide evidence to back up your claims,
> your argument boils down to "trust me". I vastly prefer "trust but
> verify", because in my experience, many people, a lot of which are real
> experts, have presented things and reasoned things out that turn out not to
> be valid.
>
That isn't the case in this situation. But I do agree that the strong
performance use case motivation is only on high end hardware, in code where
calling malloc is unacceptable. So SG14 leaning folk, not the majority on
WG21.
>
> It is much, much harder to convince people with unsubstantiated claims on
> performance than to convince them with substantiated claims about
> performance.
>
I agree. Hence my recommendation that the case be made on other points
without referring at all to performance.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/b564cf81-9b15-4d34-b4b2-19e5d8921888%40isocpp.org.
------=_Part_1454_615364921.1507313229513
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"l=
tr"><div><div class=3D"gmail_quote"><div><div><br></div><div>Given that you=
are not willing to provide evidence to back up your claims, your argument =
boils down to "trust me".=C2=A0 I vastly prefer "trust but v=
erify", because in my experience, many people, a lot of which are real=
experts, have presented things and reasoned things out that turn out not t=
o be valid.</div></div></div></div></div></blockquote><div><br></div><div>T=
hat isn't the case in this situation. But I do agree that the strong pe=
rformance use case motivation is only on high end hardware, in code where c=
alling malloc is unacceptable. So SG14 leaning folk, not the majority on WG=
21.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin=
: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div=
dir=3D"ltr"><div><div class=3D"gmail_quote"><div><br></div><div>It is much=
, much harder to convince people with unsubstantiated claims on performance=
than to convince them with substantiated claims about performance.</div></=
div></div></div></blockquote><div><br></div><div>I agree. Hence my recommen=
dation that the case be made on other points without referring at all to pe=
rformance.</div><div><br></div><div>Niall=C2=A0</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/b564cf81-9b15-4d34-b4b2-19e5d8921888%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/b564cf81-9b15-4d34-b4b2-19e5d8921888=
%40isocpp.org</a>.<br />
------=_Part_1454_615364921.1507313229513--
------=_Part_1453_634857115.1507313229513--
.
Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
Date: Fri, 6 Oct 2017 11:10:17 -0700 (PDT)
Raw View
------=_Part_1731_822225933.1507313417733
Content-Type: multipart/alternative;
boundary="----=_Part_1732_1072959582.1507313417733"
------=_Part_1732_1072959582.1507313417733
Content-Type: text/plain; charset="UTF-8"
On Friday, October 6, 2017 at 10:47:42 AM UTC-7, Jens Maurer wrote:
>
> On 10/06/2017 05:01 PM, Niall Douglas wrote:
> > The compiler cannot ever elide a throw. It is an extern, non-inlineable
> function with unknowable side effects, same as a kernel syscall. The
> compiler cannot optimise it away except when it can deduce that it will
> never be called.
>
> This might be true for current compiler technology, but from
> the point-of-view of the C++ standard, optimizations around
> throw / catch are certainly possible. All side-effects (e.g.
> copies of the exception object) are known or could be known
> to the compiler.
>
Jens's theory sounds solid to me. Niall, do you have some specific reason
in mind why throw-catch pairs shouldn't be elided even by a sufficiently
smart compiler? (The only thing I can think of is debuggability; but at -O3
that argument goes out the window.)
For the record: regardless of theoretical concerns, *in practice*
no current compiler succeeded at optimizing away my throw-catch of a
completely trivial "int".
https://godbolt.org/g/VyrhrB (throw int, catch int)
https://godbolt.org/g/V1UiUq (throw int, catch dot-dot-dot)
Anyway, I know this is pretty off-topic for this thread. On the other hand,
when I see code like
https://github.com/ned14/afio/blob/master/include/afio/v2.0/algorithm/shared_fs_mutex/memory_map.hpp#L188
, my immediate kneejerk reaction is "This *looks* like a slam-dunk for
exception handling." It's just *littered* with "if error, return" checks;
and none of the errors *look* "likely" so we're not talking about using
exceptions for control flow; and you've already got a
catch-dot-dot-dot-return-error at the bottom of the function.
Being able to write this code in terms of "operator try" would definitely
make it look cleaner. But if you use EH, then you get the same semantics
and you don't even have to write the word "try" everywhere! It would *just
work*. So there's got to be a compelling reason for you not to use EH; and
that has to come down to performance, which is why your critics keep
harping on the subject of performance. :)
The other popular reason not to use EH in a codebase is that EH makes it
hard to reason about control-flow: you end up with control-flow edges that
aren't reflected in the explicitly written code. It's like "goto" but worse
(to people in that camp). Unfortunately, "operator try" has exactly the
same smell as EH does, in that respect.
HTH,
Arthur
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/afa3f8d6-63c7-48f3-83f3-ebb5bf602fa0%40isocpp.org.
------=_Part_1732_1072959582.1507313417733
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Friday, October 6, 2017 at 10:47:42 AM UTC-7, Jens Maur=
er wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: =
0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">On 10/06/2017 05:01 P=
M, Niall Douglas wrote:
<br>> The compiler cannot ever elide a throw. It is an extern, non-inlin=
eable function with unknowable side effects, same as a kernel syscall. The =
compiler cannot optimise it away except when it can deduce that it will nev=
er be called.
<br>
<br>This might be true for current compiler technology, but from
<br>the point-of-view of the C++ standard, optimizations around
<br>throw / catch are certainly possible. =C2=A0All side-effects (e.g.
<br>copies of the exception object) are known or could be known
<br>to the compiler.
<br></blockquote><div><br></div><div>Jens's theory sounds solid to me. =
Niall, do you have some specific reason in mind why throw-catch pairs shoul=
dn't be elided even by a sufficiently smart compiler? (The only thing I=
can think of is debuggability; but at -O3 that argument goes out the windo=
w.)</div><div><br></div><div>For the record: regardless of theoretical conc=
erns, <i>in practice</i> no=C2=A0current compiler succeeded at optimizing a=
way my throw-catch of a completely trivial "int".</div><div><a hr=
ef=3D"https://godbolt.org/g/VyrhrB">https://godbolt.org/g/VyrhrB</a>=C2=A0(=
throw int, catch int)</div><div><a href=3D"https://godbolt.org/g/V1UiUq">ht=
tps://godbolt.org/g/V1UiUq</a>=C2=A0 (throw int, catch dot-dot-dot)<br></di=
v><div><br></div><div>Anyway, I know this is pretty off-topic for this thre=
ad. On the other hand, when I see code like=C2=A0<a href=3D"https://github.=
com/ned14/afio/blob/master/include/afio/v2.0/algorithm/shared_fs_mutex/memo=
ry_map.hpp#L188">https://github.com/ned14/afio/blob/master/include/afio/v2.=
0/algorithm/shared_fs_mutex/memory_map.hpp#L188</a> , my immediate kneejerk=
reaction is "This <i>looks</i> like a slam-dunk for exception handlin=
g." It's just <i>littered</i> with "if error, return" ch=
ecks; and none of the errors <i>look</i> "likely" so we're no=
t talking about using exceptions for control flow; and you've already g=
ot a catch-dot-dot-dot-return-error at the bottom of the function.</div><di=
v>Being able to write this code in terms of "operator try" would =
definitely make it look cleaner. But if you use EH, then you get the same s=
emantics and you don't even have to write the word "try" ever=
ywhere! It would <i>just work</i>. So there's got to be a compelling re=
ason for you not to use EH; and that has to come down to performance, which=
is why your critics keep harping on the subject of performance. :)</div><d=
iv><br></div><div>The other popular reason not to use EH in a codebase is t=
hat EH makes it hard to reason about control-flow: you end up with control-=
flow edges that aren't reflected in the explicitly written code. It'=
;s like "goto" but worse (to people in that camp). =C2=A0Unfortun=
ately, "operator try" has exactly the same smell as EH does, in t=
hat respect.</div><div><br></div><div>HTH,</div><div>Arthur</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/afa3f8d6-63c7-48f3-83f3-ebb5bf602fa0%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/afa3f8d6-63c7-48f3-83f3-ebb5bf602fa0=
%40isocpp.org</a>.<br />
------=_Part_1732_1072959582.1507313417733--
------=_Part_1731_822225933.1507313417733--
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Fri, 6 Oct 2017 11:11:29 -0700 (PDT)
Raw View
------=_Part_1596_1657256201.1507313490035
Content-Type: multipart/alternative;
boundary="----=_Part_1597_1965776790.1507313490035"
------=_Part_1597_1965776790.1507313490035
Content-Type: text/plain; charset="UTF-8"
>
> > The compiler cannot ever elide a throw. It is an extern, non-inlineable
> function with unknowable side effects, same as a kernel syscall. The
> compiler cannot optimise it away except when it can deduce that it will
> never be called.
>
> This might be true for current compiler technology, but from
> the point-of-view of the C++ standard, optimizations around
> throw / catch are certainly possible. All side-effects (e.g.
> copies of the exception object) are known or could be known
> to the compiler.
>
> I didn't want to get into the reasons why it can't happen, but if you ask
a compiler vendor, you'll quickly learn why.
For Windows, MSVC uses the kernel-wide SEH/TEH system. It does not permit
elision. LLVM also provides a universal system to allow languages to
interoperate. It does not permit elision.
The C++ standard does permit elision as far as my reading of it can make
out. But I am unaware of any *implementation* which actually does so, and
it's for lots of very good reasons for backwards compatibility, interop,
and external tooling support.
In short, even if the standard allows it, I don't think you'll succeed in
persuading any vendor to actually implement it. The cost benefit isn't
there for them.
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/4a9528f9-20fe-4ee9-9e0c-b3d9036e38f2%40isocpp.org.
------=_Part_1597_1965776790.1507313490035
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">> The comp=
iler cannot ever elide a throw. It is an extern, non-inlineable function wi=
th unknowable side effects, same as a kernel syscall. The compiler cannot o=
ptimise it away except when it can deduce that it will never be called.
<br>
<br>This might be true for current compiler technology, but from
<br>the point-of-view of the C++ standard, optimizations around
<br>throw / catch are certainly possible. =C2=A0All side-effects (e.g.
<br>copies of the exception object) are known or could be known
<br>to the compiler.
<br>
<br></blockquote><div>I didn't want to get into the reasons why it can&=
#39;t happen, but if you ask a compiler vendor, you'll quickly learn wh=
y.</div><div><br></div><div>For Windows, MSVC uses the kernel-wide SEH/TEH =
system. It does not permit elision. LLVM also provides a universal system t=
o allow languages to interoperate. It does not permit elision.</div><div><b=
r></div><div>The C++ standard does permit elision as far as my reading of i=
t can make out. But I am unaware of any <i>implementation</i>=C2=A0which ac=
tually does so, and it's for lots of very good reasons for backwards co=
mpatibility, interop, and external tooling support.</div><div><br></div><di=
v>In short, even if the standard allows it, I don't think you'll su=
cceed in persuading any vendor to actually implement it. The cost benefit i=
sn't there for them.</div><div><br></div><div>Niall</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/4a9528f9-20fe-4ee9-9e0c-b3d9036e38f2%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/4a9528f9-20fe-4ee9-9e0c-b3d9036e38f2=
%40isocpp.org</a>.<br />
------=_Part_1597_1965776790.1507313490035--
------=_Part_1596_1657256201.1507313490035--
.
Author: Richard Smith <richard@metafoo.co.uk>
Date: Fri, 6 Oct 2017 11:33:12 -0700
Raw View
--001a113acec8065809055ae51436
Content-Type: text/plain; charset="UTF-8"
On 6 October 2017 at 11:10, Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
wrote:
> On Friday, October 6, 2017 at 10:47:42 AM UTC-7, Jens Maurer wrote:
>>
>> On 10/06/2017 05:01 PM, Niall Douglas wrote:
>> > The compiler cannot ever elide a throw. It is an extern, non-inlineable
>> function with unknowable side effects, same as a kernel syscall. The
>> compiler cannot optimise it away except when it can deduce that it will
>> never be called.
>>
>> This might be true for current compiler technology, but from
>> the point-of-view of the C++ standard, optimizations around
>> throw / catch are certainly possible. All side-effects (e.g.
>> copies of the exception object) are known or could be known
>> to the compiler.
>>
>
> Jens's theory sounds solid to me. Niall, do you have some specific reason
> in mind why throw-catch pairs shouldn't be elided even by a sufficiently
> smart compiler? (The only thing I can think of is debuggability; but at -O3
> that argument goes out the window.)
>
> For the record: regardless of theoretical concerns, *in practice*
> no current compiler succeeded at optimizing away my throw-catch of a
> completely trivial "int".
> https://godbolt.org/g/VyrhrB (throw int, catch int)
> https://godbolt.org/g/V1UiUq (throw int, catch dot-dot-dot)
>
Here's the big problem with that optimization: the catch is usually more
complex than you're showing. Given
try {
throw 0;
} catch (int) {
f();
}
it is not correct to optimize this into
f();
because f() might try to rethrow. You actually need to activate the
exception allocation and registration mechanism *as if* an exception had
been thrown and subsequently caught, and then deallocate the exception at
the end of the catch block. Easier to just say that if actually handling
thrown exceptions turns out to be performance criticial, then exceptions
were a bad choice for that control flow.
> Anyway, I know this is pretty off-topic for this thread. On the other
> hand, when I see code like https://github.com/ned14/
> afio/blob/master/include/afio/v2.0/algorithm/shared_fs_
> mutex/memory_map.hpp#L188 , my immediate kneejerk reaction is "This
> *looks* like a slam-dunk for exception handling." It's just *littered*
> with "if error, return" checks; and none of the errors *look* "likely" so
> we're not talking about using exceptions for control flow; and you've
> already got a catch-dot-dot-dot-return-error at the bottom of the function.
> Being able to write this code in terms of "operator try" would definitely
> make it look cleaner. But if you use EH, then you get the same semantics
> and you don't even have to write the word "try" everywhere! It would *just
> work*. So there's got to be a compelling reason for you not to use EH;
> and that has to come down to performance, which is why your critics keep
> harping on the subject of performance. :)
>
I don't think that follows. The argument doesn't have to come down to
performance, as you note:
> The other popular reason not to use EH in a codebase is that EH makes it
> hard to reason about control-flow: you end up with control-flow edges that
> aren't reflected in the explicitly written code. It's like "goto" but worse
> (to people in that camp). Unfortunately, "operator try" has exactly the
> same smell as EH does, in that respect.
>
"try" does not introduce invisible control flow. EH does. I would expect
reading and reasoning about correctness of code using "try" to be much
easier than doing the same for code using EH, because with "try" it is
clear exactly which points within your function can return (and thus at
which points you must satisfy your external invariants).
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOfiQq%3DociBvKU8hbXOe7X51h%3D0QX7%2BVUe6oEP%3D72QkG0NH41g%40mail.gmail.com.
--001a113acec8065809055ae51436
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On 6=
October 2017 at 11:10, Arthur O'Dwyer <span dir=3D"ltr"><<a href=3D=
"mailto:arthur.j.odwyer@gmail.com" target=3D"_blank">arthur.j.odwyer@gmail.=
com</a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr=
"><span class=3D"">On Friday, October 6, 2017 at 10:47:42 AM UTC-7, Jens Ma=
urer wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:=
0.8ex;border-left:1px #ccc solid;padding-left:1ex">On 10/06/2017 05:01 PM, =
Niall Douglas wrote:
<br>> The compiler cannot ever elide a throw. It is an extern, non-inlin=
eable function with unknowable side effects, same as a kernel syscall. The =
compiler cannot optimise it away except when it can deduce that it will nev=
er be called.
<br>
<br>This might be true for current compiler technology, but from
<br>the point-of-view of the C++ standard, optimizations around
<br>throw / catch are certainly possible.=C2=A0 All side-effects (e.g.
<br>copies of the exception object) are known or could be known
<br>to the compiler.
<br></blockquote><div><br></div></span><div>Jens's theory sounds solid =
to me. Niall, do you have some specific reason in mind why throw-catch pair=
s shouldn't be elided even by a sufficiently smart compiler? (The only =
thing I can think of is debuggability; but at -O3 that argument goes out th=
e window.)</div><div><br></div><div>For the record: regardless of theoretic=
al concerns, <i>in practice</i> no=C2=A0current compiler succeeded at optim=
izing away my throw-catch of a completely trivial "int".</div><di=
v><a href=3D"https://godbolt.org/g/VyrhrB" target=3D"_blank">https://godbol=
t.org/g/VyrhrB</a>=C2=A0(<wbr>throw int, catch int)</div><div><a href=3D"ht=
tps://godbolt.org/g/V1UiUq" target=3D"_blank">https://godbolt.org/g/V1UiUq<=
/a>=C2=A0 (throw int, catch dot-dot-dot)</div></div></blockquote><div><br><=
/div><div>Here's the big problem with that optimization: the catch is u=
sually more complex than you're showing. Given</div><div><br></div><div=
>try {</div><div>=C2=A0 throw 0;</div><div>} catch (int) {</div><div>=C2=A0=
f();</div><div>}</div><div><br></div><div>it is not correct to optimize th=
is into</div><div><br></div><div>=C2=A0 f();</div><div><br></div><div>becau=
se f() might try to rethrow. You actually need to activate the exception al=
location and registration mechanism *as if* an exception had been thrown an=
d subsequently caught, and then deallocate the exception at the end of the =
catch block. Easier to just say that if actually handling thrown exceptions=
turns out to be performance criticial, then exceptions were a bad choice f=
or that control flow.</div><div>=C2=A0</div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">=
<div dir=3D"ltr"><div>Anyway, I know this is pretty off-topic for this thre=
ad. On the other hand, when I see code like=C2=A0<a href=3D"https://github.=
com/ned14/afio/blob/master/include/afio/v2.0/algorithm/shared_fs_mutex/memo=
ry_map.hpp#L188" target=3D"_blank">https://github.com/ned14/<wbr>afio/blob/=
master/include/afio/<wbr>v2.0/algorithm/shared_fs_<wbr>mutex/memory_map.hpp=
#L188</a> , my immediate kneejerk reaction is "This <i>looks</i> like =
a slam-dunk for exception handling." It's just <i>littered</i> wit=
h "if error, return" checks; and none of the errors <i>look</i> &=
quot;likely" so we're not talking about using exceptions for contr=
ol flow; and you've already got a catch-dot-dot-dot-return-error at the=
bottom of the function.</div><div>Being able to write this code in terms o=
f "operator try" would definitely make it look cleaner. But if yo=
u use EH, then you get the same semantics and you don't even have to wr=
ite the word "try" everywhere! It would <i>just work</i>. So ther=
e's got to be a compelling reason for you not to use EH; and that has t=
o come down to performance, which is why your critics keep harping on the s=
ubject of performance. :)</div></div></blockquote><div><br></div><div>I don=
't think that follows. The argument doesn't have to come down to pe=
rformance, as you note:</div><div>=C2=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
"><div dir=3D"ltr"><div>The other popular reason not to use EH in a codebas=
e is that EH makes it hard to reason about control-flow: you end up with co=
ntrol-flow edges that aren't reflected in the explicitly written code. =
It's like "goto" but worse (to people in that camp).=C2=A0 Un=
fortunately, "operator try" has exactly the same smell as EH does=
, in that respect.</div></div></blockquote><div><br></div><div>"try&qu=
ot; does not introduce invisible control flow. EH does. I would expect read=
ing and reasoning about correctness of code using "try" to be muc=
h easier than doing the same for code using EH, because with "try"=
; it is clear exactly which points within your function can return (and thu=
s at which points you must satisfy your external invariants).</div></div></=
div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CAOfiQq%3DociBvKU8hbXOe7X51h%3D0QX7%2=
BVUe6oEP%3D72QkG0NH41g%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoo=
ter">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAOfiQq%3=
DociBvKU8hbXOe7X51h%3D0QX7%2BVUe6oEP%3D72QkG0NH41g%40mail.gmail.com</a>.<br=
/>
--001a113acec8065809055ae51436--
.
Author: Ville Voutilainen <ville.voutilainen@gmail.com>
Date: Fri, 6 Oct 2017 21:38:49 +0300
Raw View
On 6 October 2017 at 21:07, Niall Douglas <nialldouglas14@gmail.com> wrote:
>>
>> Given that you are not willing to provide evidence to back up your claims,
>> your argument boils down to "trust me". I vastly prefer "trust but verify",
>> because in my experience, many people, a lot of which are real experts, have
>> presented things and reasoned things out that turn out not to be valid.
>
>
> That isn't the case in this situation. But I do agree that the strong
> performance use case motivation is only on high end hardware, in code where
> calling malloc is unacceptable. So SG14 leaning folk, not the majority on
> WG21.
>
>>
>>
>> It is much, much harder to convince people with unsubstantiated claims on
>> performance than to convince them with substantiated claims about
>> performance.
>
>
> I agree. Hence my recommendation that the case be made on other points
> without referring at all to performance.
For what it's worth, to me a type like expected/outcome is obviously
necessary, and the reason isn't performance.
I would use such a type to collect results from multiple worker
functions (possibly but not necessarily from multiple threads)
without having to deal with exceptions when I do so, because having to
deal with exceptions makes the collecting
code ugly as sin. That is,
a) I have a bag of operations to run
b) I launch those operations in different workers
c) I gather the results into a container and return that container to the caller
Being able to do that conveniently is reason alone to have an
expected/outcome type. The actual errors are dealt with by
the caller when it examines the container of results.
Being able to avoid return-via-parameter is a very good bonus, but to
me less major than the collection-gathering ability.
Being able to avoid exception overhead in a couple of use cases is a
good bonus, but a far lesser one to me than the top
one or the verygoodbonus one.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAFk2RUY4DfkUZ3k6EcP1NnYcSG_drfS8AhnZn18Jh%2BC%3Dx0U4OA%40mail.gmail.com.
.
Author: Jens Maurer <Jens.Maurer@gmx.net>
Date: Fri, 06 Oct 2017 22:16:30 +0200
Raw View
On 10/06/2017 08:38 PM, Ville Voutilainen wrote:
> For what it's worth, to me a type like expected/outcome is obviously
> necessary,
Fully agreed.
> I would use such a type to collect results from multiple worker
> functions (possibly but not necessarily from multiple threads)
> without having to deal with exceptions when I do so, because having to
> deal with exceptions makes the collecting
> code ugly as sin. That is,
> a) I have a bag of operations to run
> b) I launch those operations in different workers
> c) I gather the results into a container and return that container to the caller
That sounds like a good use-case to show in a paper, with
exception vs. expected/outcome code compared.
Jens
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/59D7E49E.1010705%40gmx.net.
.
Author: "Arthur O'Dwyer" <arthur.j.odwyer@gmail.com>
Date: Fri, 6 Oct 2017 14:28:36 -0700
Raw View
--94eb2c0e44f01da638055ae7869b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Fri, Oct 6, 2017 at 11:33 AM, Richard Smith <richard@metafoo.co.uk>
wrote:
> On 6 October 2017 at 11:10, Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
> wrote:
>
>> On Friday, October 6, 2017 at 10:47:42 AM UTC-7, Jens Maurer wrote:
>>>
>>> On 10/06/2017 05:01 PM, Niall Douglas wrote:
>>> > The compiler cannot ever elide a throw.
>>>
>>> This might be true for current compiler technology, but from
>>> the point-of-view of the C++ standard, optimizations around
>>> throw / catch are certainly possible.
>>>
>>
>> Jens's theory sounds solid to me.
>> For the record: regardless of theoretical concerns, *in practice*
>> no current compiler succeeded at optimizing away my throw-catch of a
>> completely trivial "int".
>> https://godbolt.org/g/VyrhrB (throw int, catch int)
>> https://godbolt.org/g/V1UiUq (throw int, catch dot-dot-dot)
>>
>
> Here's the big problem with that optimization: the catch is usually more
> complex than you're showing. Given
>
> try {
> throw 0;
> } catch (int) {
> f();
> }
>
> it is not correct to optimize this into
>
> f();
>
> because f() might try to rethrow.
>
Sure, but in Niall's case the catch *was* (approximately) that simple.
I can think of another complexity that could disallow the optimization in
some cases:
try { RAIItype t; throw 0; } catch (int) {}
cannot generally be optimized into
{ RAIItype t; }
unless you can prove (by inlining) that RAIItype's destructor does not
inspect uncaught_exceptions().
But in the case where the compiler *can* see all the side-effects that are
happening (because inlining), I'd consider this a missed optimization
opportunity.
> Easier to just say that if actually handling thrown exceptions turns out
> to be performance critical, then [...]
>
Sure, real compilers probably omit this optimization because it gets no
benefit on real code (and if it does give a benefit then the code is too
weird to live and you should rewrite it =E2=80=94 i.e., the same kind of vi=
rtuous
cycle that leads to "good code doesn't use EH", "good code doesn't use
dynamic_cast", etc.).
"We don't do it because the return on investment is too low" is a great
answer. But it's philosophically a *different* answer from "we don't do it
because we're not allowed to."
The other popular reason not to use EH in a codebase is that EH makes it
>> hard to reason about control-flow: you end up with control-flow edges th=
at
>> aren't reflected in the explicitly written code. It's like "goto" but wo=
rse
>> (to people in that camp). Unfortunately, "operator try" has exactly the
>> same smell as EH does, in that respect.
>>
>
> "try" does not introduce invisible control flow. EH does. I would expect
> reading and reasoning about correctness of code using "try" to be much
> easier than doing the same for code using EH, because with "try" it is
> clear exactly which points within your function can return (and thus at
> which points you must satisfy your external invariants).
>
Hm, I suppose so. I was thinking that "int foo =3D try bar()" was subtle
enough that it counted as a non-explicit goto; but you're right that
there's a fundamental difference between "try bar()" and just "bar()". The
"try" gives the original author something physical to point to and tell the
maintainer, "Look, right there! 'Try'! You didn't see that early return?
It's right there in the code! 'Try'! It's not like the control flow edge
was *invisible*..." ;)
=E2=80=93Arthur
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/CADvuK0%2B_-j%3D8%2BB2awvugoG3UJ233g9OEdniutU21v=
U9YaMLXFA%40mail.gmail.com.
--94eb2c0e44f01da638055ae7869b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Fri, Oct 6, 2017 at 11:33 AM, Richard Smith <span dir=
=3D"ltr"><<a href=3D"mailto:richard@metafoo.co.uk" target=3D"_blank">ric=
hard@metafoo.co.uk</a>></span> wrote:<br><div class=3D"gmail_extra"><div=
class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div=
class=3D"gmail_extra"><div class=3D"gmail_quote">On 6 October 2017 at 11:1=
0, Arthur O'Dwyer <span dir=3D"ltr"><<a href=3D"mailto:arthur.j.odwy=
er@gmail.com" target=3D"_blank">arthur.j.odwyer@gmail.com</a>></span> wr=
ote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border=
-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><span>On Friday, Oc=
tober 6, 2017 at 10:47:42 AM UTC-7, Jens Maurer wrote:<blockquote class=3D"=
gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid=
;padding-left:1ex">On 10/06/2017 05:01 PM, Niall Douglas wrote:
<br>> The compiler cannot ever elide a throw.
<br>
<br>This might be true for current compiler technology, but from
<br>the point-of-view of the C++ standard, optimizations around
<br>throw / catch are certainly possible.<br></blockquote><div><br></div></=
span><div>Jens's theory sounds solid to me.</div><div>For the record: r=
egardless of theoretical concerns, <i>in practice</i> no=C2=A0current compi=
ler succeeded at optimizing away my throw-catch of a completely trivial &qu=
ot;int".</div><div><a href=3D"https://godbolt.org/g/VyrhrB" target=3D"=
_blank">https://godbolt.org/g/VyrhrB</a>=C2=A0(<wbr>throw int, catch int)</=
div><div><a href=3D"https://godbolt.org/g/V1UiUq" target=3D"_blank">https:/=
/godbolt.org/g/V1UiUq</a>=C2=A0 (throw int, catch dot-dot-dot)</div></div><=
/blockquote><div><br></div><div>Here's the big problem with that optimi=
zation: the catch is usually more complex than you're showing. Given</d=
iv><div><br></div><div>try {</div><div>=C2=A0 throw 0;</div><div>} catch (i=
nt) {</div><div>=C2=A0 f();</div><div>}</div><div><br></div><div>it is not =
correct to optimize this into</div><div><br></div><div>=C2=A0 f();</div><di=
v><br></div><div>because f() might try to rethrow.</div></div></div></div><=
/blockquote><div><br></div><div>Sure, but in Niall's case the catch <i>=
was</i>=C2=A0(approximately) that simple.</div><div>I can think of another =
complexity that could disallow the optimization in some cases:</div><div><b=
r></div><div>=C2=A0 =C2=A0 try { RAIItype t; throw 0; } catch (int) {}</div=
><div><br></div><div>cannot generally be optimized into</div><div><br></div=
><div>=C2=A0 =C2=A0 { RAIItype t; }</div><div><br></div><div>unless you can=
prove (by inlining) that RAIItype's destructor does not inspect uncaug=
ht_exceptions().</div><div>But in the case where the compiler <i>can</i> se=
e all the side-effects that are happening (because inlining), I'd consi=
der this a missed optimization opportunity.</div><div><br></div><div>=C2=A0=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_e=
xtra"><div class=3D"gmail_quote"><div>Easier to just say that if actually h=
andling thrown exceptions turns out to be performance critical, then [...]<=
/div></div></div></div></blockquote><div><br></div><div>Sure, real compiler=
s probably omit this optimization because it gets no benefit on real code (=
and if it does give a benefit then the code is too weird to live and you sh=
ould rewrite it =E2=80=94 i.e., the same kind of virtuous cycle that leads =
to "good code doesn't use EH", "good code doesn't us=
e dynamic_cast", etc.).</div><div>"We don't do it because the=
return on investment is too low" is a great answer. But it's phil=
osophically a <i>different</i> answer from "we don't do it because=
we're not allowed to."</div><div><br></div><div><br></div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_extra"><div cl=
ass=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0=
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>Th=
e other popular reason not to use EH in a codebase is that EH makes it hard=
to reason about control-flow: you end up with control-flow edges that aren=
't reflected in the explicitly written code. It's like "goto&q=
uot; but worse (to people in that camp).=C2=A0 Unfortunately, "operato=
r try" has exactly the same smell as EH does, in that respect.</div></=
div></blockquote><div><br></div><div>"try" does not introduce inv=
isible control flow. EH does. I would expect reading and reasoning about co=
rrectness of code using "try" to be much easier than doing the sa=
me for code using EH, because with "try" it is clear exactly whic=
h points within your function can return (and thus at which points you must=
satisfy your external invariants).</div></div></div></div></blockquote><di=
v><br></div><div>Hm, I suppose so. I was thinking that "int foo =3D tr=
y bar()" was subtle enough that it counted as a non-explicit goto; but=
you're right that there's a fundamental difference between "t=
ry bar()" and just "bar()". The "try" gives the or=
iginal author something physical to point to and tell the maintainer, "=
;Look, right there! 'Try'! You didn't see that early return? It=
's right there in the code! 'Try'! It's not like the contro=
l flow edge was <i>invisible</i>..." ;)</div><div><br></div><div>=E2=
=80=93Arthur</div></div></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CADvuK0%2B_-j%3D8%2BB2awvugoG3UJ233g9=
OEdniutU21vU9YaMLXFA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfoote=
r">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADvuK0%2B_=
-j%3D8%2BB2awvugoG3UJ233g9OEdniutU21vU9YaMLXFA%40mail.gmail.com</a>.<br />
--94eb2c0e44f01da638055ae7869b--
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Sat, 7 Oct 2017 15:47:58 -0700 (PDT)
Raw View
------=_Part_3415_1324874365.1507416478645
Content-Type: multipart/alternative;
boundary="----=_Part_3416_88776005.1507416478645"
------=_Part_3416_88776005.1507416478645
Content-Type: text/plain; charset="UTF-8"
>
>
>> Jens's theory sounds solid to me. Niall, do you have some specific reason
> in mind why throw-catch pairs shouldn't be elided even by a sufficiently
> smart compiler? (The only thing I can think of is debuggability; but at -O3
> that argument goes out the window.)
>
The C++ standard may allow throw elision, but the other (local, platform,
proprietary etc) standards which a C++ compiler must also conform to do
not. This certainly applies to MSVC and LLVM. Technically, I don't believe
there is a requirement on GCC except one of cost-benefit and backwards
compatibility. But don't quote me on that.
MSVC, incidentally, has the best performing throw...catch implementation
currently. But then it's implemented by the Windows kernel, and there is
somebody buried in Microsoft somewhere whose day job it is to make TEH
execute quickly, not least that its performance affects SQL Server
benchmarks because NTFS (used to?) use TEH extensively internally.
>
> For the record: regardless of theoretical concerns, *in practice*
> no current compiler succeeded at optimizing away my throw-catch of a
> completely trivial "int".
> https://godbolt.org/g/VyrhrB (throw int, catch int)
> https://godbolt.org/g/V1UiUq (throw int, catch dot-dot-dot)
>
Which is what I said earlier. I know it is important for others to check
what I claim, but I did do my homework before I began any of this. Equally,
my homework may have been true three years ago and not now, but so far so
good.
BTW there is one case that I know of where throws are lifted out and that
is GCC under LTO where you're linking an executable. It appears to fold
trivial stack unwinds together, and then very curiously it'll loop the
throw...catch cycle by however many stack unwinds were folded together.
This ends up faster due to hot caching, but it's non-intuitive assembler to
study (and my analysis was not deep, my conclusion on this may be wrong,
LTOed code is hard to grok).
>
> Anyway, I know this is pretty off-topic for this thread. On the other
> hand, when I see code like
> https://github.com/ned14/afio/blob/master/include/afio/v2.0/algorithm/shared_fs_mutex/memory_map.hpp#L188
> , my immediate kneejerk reaction is "This *looks* like a slam-dunk for
> exception handling." It's just *littered* with "if error, return" checks;
> and none of the errors *look* "likely" so we're not talking about using
> exceptions for control flow; and you've already got a
> catch-dot-dot-dot-return-error at the bottom of the function.
>
:)
Firstly, the try-catch(...) is completely superfluous and will be elided
entirely by the compiler. It's merely my personal style from bitter
experience that when writing a function marked noexcept that has any
complexity at all, I wrap it into an Outcome generating exception catch all
because it does no harm, and guarantees that std::terminate will never be
unintentionally called.
Secondly, you are missing the lack of need to implement exception safety in
that routine. That routine is very carefully written to be race free and
reentrant, and I find reasoning about the correct logic to be race free and
reentrant to be easier when there is zero possibility of an exception throw.
Thirdly, that routine in fact experiences failure quite frequently, and
thus exception throws would be a severe, and unbounded, performance hit. I
have several unit tests which deliberately abuse that routine in fact to
try and tease out races, and I suspect there is still one race in there
because those tests occasionally trip on FreeBSD, but do not on any other
system I have access to. I really ought to expend a week getting into it on
a FreeBSD system. But other priorities, as always.
Finally, despite the hefty quantity of work that routine does, complete
with iterating TLB shootdowns, it still has superb performance. By
"superb" I mean bounded, so if you plot a latency graph, there's only a
~50% latency bump at 99% over the median. That's really great given we're
creating random files and mmapping them and byte range locking them in a
loop. Latencies do go really awful after 99% though, but we are contending
on a single file entry, it's an unavoidable mutex in the kernel.
>
> The other popular reason not to use EH in a codebase is that EH makes it
> hard to reason about control-flow: you end up with control-flow edges that
> aren't reflected in the explicitly written code. It's like "goto" but worse
> (to people in that camp). Unfortunately, "operator try" has exactly the
> same smell as EH does, in that respect.
>
Another really nice thing about Expected/Outcome using code is that it
ought to able to be fed to open source formally verifying C++ compilers
like certain unofficial forks of CompCert. I am unaware of an open source
formally verifying C++ compiler which will permit exception throws as
that's very considerably harder, and to my knowledge that remains a feature
of proprietary tooling only.
(Note this is an untested claim, hence why I don't mention it normally. But
in the pure theoretical sense, Expected/Outcome using code which never
throws exceptions has a much more bounded set of potential control flow
paths than exception throwing code, and thus formal verification of more
realistically large programs in a reasonable time period ought to be more
practical)
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/6aa0325a-bd93-4450-9f9c-bc62c3cbdba9%40isocpp.org.
------=_Part_3416_88776005.1507416478645
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"l=
tr"><blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;b=
order-left:1px #ccc solid;padding-left:1ex"><br></blockquote><div>Jens'=
s theory sounds solid to me. Niall, do you have some specific reason in min=
d why throw-catch pairs shouldn't be elided even by a sufficiently smar=
t compiler? (The only thing I can think of is debuggability; but at -O3 tha=
t argument goes out the window.)</div></div></blockquote><div><br></div><di=
v>The C++ standard may allow throw elision, but the other (local, platform,=
proprietary etc) standards which a C++ compiler must also conform to do no=
t. This certainly applies to MSVC and LLVM. Technically, I don't believ=
e there is a requirement on GCC except one of cost-benefit and backwards co=
mpatibility. But don't quote me on that.</div><div><br></div><div>MSVC,=
incidentally, has the best performing throw...catch implementation current=
ly. But then it's implemented by the Windows kernel, and there is someb=
ody buried in Microsoft somewhere whose day job it is to make TEH execute q=
uickly, not least that its performance affects SQL Server benchmarks becaus=
e NTFS (used to?) use TEH extensively internally.</div><div>=C2=A0</div><bl=
ockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8ex;border=
-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><div><br></div><=
div>For the record: regardless of theoretical concerns, <i>in practice</i> =
no=C2=A0current compiler succeeded at optimizing away my throw-catch of a c=
ompletely trivial "int".</div><div><a href=3D"https://godbolt.org=
/g/VyrhrB" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=3D&#=
39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgodbolt.org%2Fg%2FVyrhrB\x=
26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGomFS2-WElauW_fAl7vnvIl4WyAg';re=
turn true;" onclick=3D"this.href=3D'https://www.google.com/url?q\x3dhtt=
ps%3A%2F%2Fgodbolt.org%2Fg%2FVyrhrB\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjC=
NGomFS2-WElauW_fAl7vnvIl4WyAg';return true;">https://godbolt.org/g/Vyrh=
rB</a>=C2=A0(<wbr>throw int, catch int)</div><div><a href=3D"https://godbol=
t.org/g/V1UiUq" target=3D"_blank" rel=3D"nofollow" onmousedown=3D"this.href=
=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgodbolt.org%2Fg%2FV1U=
iUq\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFdvPZ1S-o3M-yxjL_UoIetoaBoGA=
9;;return true;" onclick=3D"this.href=3D'https://www.google.com/url?q\x=
3dhttps%3A%2F%2Fgodbolt.org%2Fg%2FV1UiUq\x26sa\x3dD\x26sntz\x3d1\x26usg\x3d=
AFQjCNFdvPZ1S-o3M-yxjL_UoIetoaBoGA';return true;">https://godbolt.org/g=
/V1UiUq</a>=C2=A0 (throw int, catch dot-dot-dot)<br></div></div></blockquot=
e><div><br></div><div>Which is what I said earlier. I know it is important =
for others to check what I claim, but I did do my homework before I began a=
ny of this. Equally, my homework may have been true three years ago and not=
now, but so far so good.</div><div><br></div><div>BTW there is one case th=
at I know of where throws are lifted out and that is GCC under LTO where yo=
u're linking an executable. It appears to fold trivial stack unwinds to=
gether, and then very curiously it'll loop the throw...catch cycle by h=
owever many stack unwinds were folded together. This ends up faster due to =
hot caching, but it's non-intuitive assembler to study (and my analysis=
was not deep, my conclusion on this may be wrong, LTOed code is hard to gr=
ok).</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margi=
n: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><di=
v dir=3D"ltr"><div></div><div><br></div><div>Anyway, I know this is pretty =
off-topic for this thread. On the other hand, when I see code like=C2=A0<a =
href=3D"https://github.com/ned14/afio/blob/master/include/afio/v2.0/algorit=
hm/shared_fs_mutex/memory_map.hpp#L188" target=3D"_blank" rel=3D"nofollow" =
onmousedown=3D"this.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F=
%2Fgithub.com%2Fned14%2Fafio%2Fblob%2Fmaster%2Finclude%2Fafio%2Fv2.0%2Falgo=
rithm%2Fshared_fs_mutex%2Fmemory_map.hpp%23L188\x26sa\x3dD\x26sntz\x3d1\x26=
usg\x3dAFQjCNE-wteIeCK3CPWaSEoBGjcZ6EgTUQ';return true;" onclick=3D"thi=
s.href=3D'https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2Fne=
d14%2Fafio%2Fblob%2Fmaster%2Finclude%2Fafio%2Fv2.0%2Falgorithm%2Fshared_fs_=
mutex%2Fmemory_map.hpp%23L188\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNE-wte=
IeCK3CPWaSEoBGjcZ6EgTUQ';return true;">https://github.com/ned14/<wbr>af=
io/blob/master/include/afio/<wbr>v2.0/algorithm/shared_fs_<wbr>mutex/memory=
_map.hpp#L188</a> , my immediate kneejerk reaction is "This <i>looks</=
i> like a slam-dunk for exception handling." It's just <i>littered=
</i> with "if error, return" checks; and none of the errors <i>lo=
ok</i> "likely" so we're not talking about using exceptions f=
or control flow; and you've already got a catch-dot-dot-dot-return-erro=
r at the bottom of the function.</div></div></blockquote><div><br></div><di=
v>:)</div><div><br></div><div>Firstly, the try-catch(...) is completely sup=
erfluous and will be elided entirely by the compiler. It's merely my pe=
rsonal style from bitter experience that when writing a function marked noe=
xcept that has any complexity at all, I wrap it into an Outcome generating =
exception catch all because it does no harm, and guarantees that std::termi=
nate will never be unintentionally called.</div><div><br></div><div>Secondl=
y, you are missing the lack of need to implement exception safety in that r=
outine. That routine is very carefully written to be race free and reentran=
t, and I find reasoning about the correct logic to be race free and reentra=
nt to be easier when there is zero possibility of an exception throw.</div>=
<div><br></div><div>Thirdly, that routine in fact experiences failure quite=
frequently, and thus exception throws would be a severe, and unbounded, pe=
rformance hit. I have several unit tests which deliberately abuse that rout=
ine in fact to try and tease out races, and I suspect there is still one ra=
ce in there because those tests occasionally trip on FreeBSD, but do not on=
any other system I have access to. I really ought to expend a week getting=
into it on a FreeBSD system. But other priorities, as always.</div><div><b=
r></div><div>Finally, despite the hefty quantity of work that routine does,=
complete with iterating TLB shootdowns, it still has superb performance.=
=C2=A0 By "superb" I mean bounded, so if you plot a latency graph=
, there's only a ~50% latency bump at 99% over the median. That's r=
eally great given we're creating random files and mmapping them and byt=
e range locking them in a loop. Latencies do go really awful after 99% thou=
gh, but we are contending on a single file entry, it's an unavoidable m=
utex in the kernel.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote"=
style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-=
left: 1ex;"><div dir=3D"ltr"><div><br></div><div>The other popular reason n=
ot to use EH in a codebase is that EH makes it hard to reason about control=
-flow: you end up with control-flow edges that aren't reflected in the =
explicitly written code. It's like "goto" but worse (to peopl=
e in that camp). =C2=A0Unfortunately, "operator try" has exactly =
the same smell as EH does, in that respect.</div></div></blockquote><div><b=
r></div><div>Another really nice thing about Expected/Outcome using code is=
that it ought to able to be fed to open source formally verifying C++ comp=
ilers like certain unofficial forks of CompCert. I am unaware of an open so=
urce formally verifying C++ compiler which will permit exception throws as =
that's very considerably harder, and to my knowledge that remains a fea=
ture of proprietary tooling only.</div><div><br></div><div>(Note this is an=
untested claim, hence why I don't mention it normally. But in the pure=
theoretical sense, Expected/Outcome using code which never throws exceptio=
ns has a much more bounded set of potential control flow paths than excepti=
on throwing code, and thus formal verification of more realistically large =
programs in a reasonable time period ought to be more practical)</div><div>=
<br></div><div>Niall</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/6aa0325a-bd93-4450-9f9c-bc62c3cbdba9%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/6aa0325a-bd93-4450-9f9c-bc62c3cbdba9=
%40isocpp.org</a>.<br />
------=_Part_3416_88776005.1507416478645--
------=_Part_3415_1324874365.1507416478645--
.
Author: Niall Douglas <nialldouglas14@gmail.com>
Date: Sat, 7 Oct 2017 15:56:47 -0700 (PDT)
Raw View
------=_Part_3492_741847162.1507417007215
Content-Type: multipart/alternative;
boundary="----=_Part_3493_1973087943.1507417007215"
------=_Part_3493_1973087943.1507417007215
Content-Type: text/plain; charset="UTF-8"
>
> I would use such a type to collect results from multiple worker
> functions (possibly but not necessarily from multiple threads)
> without having to deal with exceptions when I do so, because having to
> deal with exceptions makes the collecting
> code ugly as sin. That is,
> a) I have a bag of operations to run
> b) I launch those operations in different workers
> c) I gather the results into a container and return that container to the
> caller
>
> Being able to do that conveniently is reason alone to have an
> expected/outcome type. The actual errors are dealt with by
> the caller when it examines the container of results.
>
> This was another topic which consumed extensive discussion during the
Boost peer review of Outcome.
There was a faction who felt that accumulating results like you just
described was important (I was in that faction), and others who felt that
that use case was not so important relative to easy returns from functions
and a less fussy, less flexible design. Due to me being in the "accumulator
faction" I had designed v1 Outcome to have a formal empty state
specifically for accumulation, helped by the fact that implementation of a
formal empty state is zero cost in a union-based implementation.
This proved to be a highly contentious design decision, and I was
eventually persuaded that if the programmer means to accumulate into one of
these objects, they ought to write optional<result<Foo>>, and make
result<Foo> incapable of either default construction or being ever empty to
force people to write optional<> when they mean optional<>.
Still sceptical, I tried the optional-based approach in my existing Outcome
using libraries and found that it did increase readability and
auditability. It thus became evident that my original position had been
wrong, and the other faction had been right.
Thus Outcome v2 takes this approach of disabling default construction and
any possibility of empty state, and the tutorial will lay it on thick that
when accumulating results, annotate with "optional<>".
Niall
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/b4a3c191-b3c3-4279-bc3e-b7845d62cdcb%40isocpp.org.
------=_Part_3493_1973087943.1507417007215
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin: 0;margi=
n-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">I would use s=
uch a type to collect results from multiple worker
<br>functions (possibly but not necessarily from multiple threads)
<br>without having to deal with exceptions when I do so, because having to
<br>deal with exceptions makes the collecting
<br>code ugly as sin. That is,
<br>a) I have a bag of operations to run
<br>b) I launch those operations in different workers
<br>c) I gather the results into a container and return that container to t=
he caller
<br>
<br>Being able to do that conveniently is reason alone to have an
<br>expected/outcome type. The actual errors are dealt with by
<br>the caller when it examines the container of results.
<br>
<br></blockquote><div>This was another topic which consumed extensive discu=
ssion during the Boost peer review of Outcome.</div><div><br></div><div>The=
re was a faction who felt that accumulating results like you just described=
was important (I was in that faction), and others who felt that that use c=
ase was not so important relative to easy returns from functions and a less=
fussy, less flexible design. Due to me being in the "accumulator fact=
ion" I had designed v1 Outcome to have a formal empty state specifical=
ly for accumulation, helped by the fact that implementation of a formal emp=
ty state is zero cost in a union-based implementation.</div><div><br></div>=
<div>This proved to be a highly contentious design decision, and I was even=
tually persuaded that if the programmer means to accumulate into one of the=
se objects, they ought to write optional<result<Foo>>, and make=
result<Foo> incapable of either default construction or being ever e=
mpty to force people to write optional<> when they mean optional<&=
gt;.=C2=A0</div><div><br></div><div>Still sceptical, I tried the optional-b=
ased approach in my existing Outcome using libraries and found that it did =
increase readability and auditability. It thus became evident that my origi=
nal position had been wrong, and the other faction had been right.</div><di=
v><br></div><div>Thus Outcome v2 takes this approach of disabling default c=
onstruction and any possibility of empty state, and the tutorial will lay i=
t on thick that when accumulating results, annotate with "optional<=
>".</div><div><br></div><div>Niall</div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/b4a3c191-b3c3-4279-bc3e-b7845d62cdcb%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/b4a3c191-b3c3-4279-bc3e-b7845d62cdcb=
%40isocpp.org</a>.<br />
------=_Part_3493_1973087943.1507417007215--
------=_Part_3492_741847162.1507417007215--
.
Author: Giovanni Piero Deretta <gpderetta@gmail.com>
Date: Thu, 12 Oct 2017 04:05:07 -0700 (PDT)
Raw View
------=_Part_10631_1683951102.1507806307436
Content-Type: multipart/alternative;
boundary="----=_Part_10632_1732359974.1507806307437"
------=_Part_10632_1732359974.1507806307437
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
On Wednesday, October 4, 2017 at 9:11:31 PM UTC+1, Vicente J. Botet Escriba=
=20
wrote:
>
> Le 04/10/2017 =C3=A0 16:54, Ville Voutilainen a =C3=A9crit :=20
> > On 4 October 2017 at 17:48, Nicol Bolas <jmck...@gmail.com <javascript:=
>>=20
> wrote:=20
> >>> Before we even go there, the paper needs to explain=20
> >>>=20
> >>> a) why this is a problem that needs to be solved=20
> When we want to propagate the failure or get the value the current code=
=20
> is something like=20
>
> auto res =3D expr();=20
> if (! res) return unexpected(res.error()); // idealy this should=20
> be using the removed get_unexpected.=20
>
>
> When you have a lot of them nested in a expression , you need to extract=
=20
> the rerun logic outside the expression, e.g. if you need to add the=20
> result of two calculations=20
>
> auto res1 =3D expr1();=20
> if (! res1) return unexpected(res1.error());=20
>
> auto res2 =3D expr2();=20
> if (! res2) return unexpected(res2.error());=20
>
> return *res1+ * res2=20
>
>
> Using the try expression we can just do=20
>
> return try expr1()+ try expr2();=20
>
>
> Clearly the last is much more readable and express better the intent=20
> than the more elaborated code above.=20
>
> LESS CODE MORE SOFTWARE=20
> KISS=20
>
> Ville, is this the kind of motivation you are asking for?=20
>
> >>> b) why it needs a language extension=20
> >>>=20
> >>> We can all see that it makes some code somewhere easier to write, and=
=20
> >>> we can grok that there are other=20
> >>> languages that have such a language facility. That alone doesn't=20
> >>> motivate a C++ language extension.=20
> >>=20
> >> Why it has to be a a language extension is easy: it's impossible to do=
=20
> it=20
> >> otherwise.=20
> > That's great, but that explanation needs to be in the paper regardless=
=20
> of how=20
> > easy it supposedly is.=20
> >=20
> >> If you try to introduce a function that does what `try` does, it would=
=20
> be=20
> >> unable to do the one thing that makes `try` work: return. A function=
=20
> cannot=20
> >> force the calling function to return. You could make a macro that does=
=20
> what=20
> >> `try` does, but we have no way to do that within the language.=20
> > Yes, well, perhaps we should look at adding something more general=20
> > than individual=20
> > keywords that perform specific transformations that then return (or=20
> > not) via a nettle bush=20
> > of traits and hooks.=20
> >=20
>
> Yes, maybe there is something generalizing co_await and try. I don't=20
> know. For me we need to go from concrete needs to more generic ones.=20
>
> Do you have an idea of what this generic thing could be?=20
>
>
first class continuations.=20
--=20
You received this message because you are subscribed to the Google Groups "=
ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp=
..org/d/msgid/std-proposals/c0d34768-f7c2-4381-9300-4363f35c293a%40isocpp.or=
g.
------=_Part_10632_1732359974.1507806307437
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Wednesday, October 4, 2017 at 9:11:31 PM UTC+1, Vicente=
J. Botet Escriba wrote:<blockquote class=3D"gmail_quote" style=3D"margin: =
0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">Le 04/=
10/2017 =C3=A0 16:54, Ville Voutilainen a =C3=A9crit=C2=A0:
<br>> On 4 October 2017 at 17:48, Nicol Bolas <<a href=3D"javascript:=
" target=3D"_blank" gdf-obfuscated-mailto=3D"6h15b7T2AAAJ" rel=3D"nofollow"=
onmousedown=3D"this.href=3D'javascript:';return true;" onclick=3D"=
this.href=3D'javascript:';return true;">jmck...@gmail.com</a>> w=
rote:
<br>>>> Before we even go there, the paper needs to explain
<br>>>>
<br>>>> a) why this is a problem that needs to be solved
<br>When we want to propagate the failure or get the value the current code=
=20
<br>is something like
<br>
<br>=C2=A0=C2=A0=C2=A0=C2=A0 auto res =3D expr();
<br>=C2=A0=C2=A0=C2=A0=C2=A0 if (! res) return unexpected(res.error());=C2=
=A0 // idealy this should=20
<br>be using the removed get_unexpected.
<br>
<br>
<br>When you have a lot of them nested in a expression , you need to extrac=
t=20
<br>the rerun logic outside the expression, e.g. if you need to add the=20
<br>result of two calculations
<br>
<br>=C2=A0=C2=A0=C2=A0=C2=A0 auto res1 =3D expr1();
<br>=C2=A0=C2=A0=C2=A0=C2=A0 if (! res1) return unexpected(res1.error());
<br>
<br>=C2=A0=C2=A0=C2=A0=C2=A0 auto res2 =3D expr2();
<br>=C2=A0=C2=A0=C2=A0=C2=A0 if (! res2) return unexpected(res2.error());
<br>
<br>=C2=A0=C2=A0=C2=A0=C2=A0 return *res1+ * res2
<br>
<br>
<br>Using the try expression we can just do
<br>
<br>=C2=A0=C2=A0=C2=A0=C2=A0 return try expr1()+ try expr2();
<br>
<br>
<br>Clearly the last is much more readable and express better the intent=20
<br>than the more elaborated code above.
<br>
<br>LESS CODE MORE SOFTWARE
<br>KISS
<br>
<br>Ville, is this the kind of motivation you are asking for?
<br>
<br>>>> b) why it needs a language extension
<br>>>>
<br>>>> We can all see that it makes some code somewhere easier to=
write, and
<br>>>> we can grok that there are other
<br>>>> languages that have such a language facility. That alone d=
oesn't
<br>>>> motivate a C++ language extension.
<br>>>
<br>>> Why it has to be a a language extension is easy: it's impo=
ssible to do it
<br>>> otherwise.
<br>> That's great, but that explanation needs to be in the paper re=
gardless of how
<br>> easy it supposedly is.
<br>>
<br>>> If you try to introduce a function that does what `try` does, =
it would be
<br>>> unable to do the one thing that makes `try` work: return. A fu=
nction cannot
<br>>> force the calling function to return. You could make a macro t=
hat does what
<br>>> `try` does, but we have no way to do that within the language.
<br>> Yes, well, perhaps we should look at adding something more general
<br>> than individual
<br>> keywords that perform specific transformations that then return (o=
r
<br>> not) via a nettle bush
<br>> of traits and hooks.
<br>>
<br>
<br>Yes, maybe there is something generalizing co_await and try. I don'=
t=20
<br>know. For me we need to go from concrete needs to more generic ones.
<br>
<br>Do you have an idea of what this generic thing could be?
<br>
<br></blockquote><div><br>first class continuations. <br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/c0d34768-f7c2-4381-9300-4363f35c293a%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/c0d34768-f7c2-4381-9300-4363f35c293a=
%40isocpp.org</a>.<br />
------=_Part_10632_1732359974.1507806307437--
------=_Part_10631_1683951102.1507806307436--
.
Author: Giovanni Piero Deretta <gpderetta@gmail.com>
Date: Thu, 12 Oct 2017 04:27:28 -0700 (PDT)
Raw View
------=_Part_6552_249299688.1507807648982
Content-Type: multipart/alternative;
boundary="----=_Part_6553_1981258823.1507807648982"
------=_Part_6553_1981258823.1507807648982
Content-Type: text/plain; charset="UTF-8"
On Friday, October 6, 2017 at 4:01:53 PM UTC+1, Niall Douglas wrote:
>
>
>>
>> Doesn't that depend on the ...blah... parts. If the compiler can deduce
>> that they or whatever they call can't throw whatever the catch catches I
>> can't see why not... It would be totally transparent. Well, it would need
>> to check what the constructor of the exception type and its parents do
>> also, of course. Maybe these requirements are viewed as too hard to do by
>> compiler vendors?
>>
>> <http://www.beamways.com>
>>
>> No.
>
> The compiler cannot ever elide a throw. It is an extern, non-inlineable
> function with unknowable side effects, same as a kernel syscall. The
> compiler cannot optimise it away except when it can deduce that it will
> never be called.
>
>
Of course it can, its behavior is described in the standard. It is not more
unknowable than printf, malloc or memcpy, which are all routinely
optimized. Compilers don't bother because the optimization is non trivial
due to the non local jump and existing codebases would benefit very little
from it.
> Niall
>
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/dd8f225c-99f5-44e1-8fcc-ddc8ede5d281%40isocpp.org.
------=_Part_6553_1981258823.1507807648982
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Friday, October 6, 2017 at 4:01:53 PM UTC+1, Niall Doug=
las wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left:=
0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><blockquote class=3D=
"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc soli=
d;padding-left:1ex"><div text=3D"#000000" bgcolor=3D"#FFFFFF"><blockquote t=
ype=3D"cite"><div dir=3D"ltr"><div>=C2=A0<br>
</div>
</div>
</blockquote>
Doesn't that depend on the ...blah... parts. If the compiler can
deduce that they or whatever they call can't throw whatever the
catch catches I can't see why not... It would be totally
transparent. Well, it would need to check what the constructor of
the exception type and its parents do also, of course. Maybe these
requirements are viewed as too hard to do by compiler vendors?<br>
<blockquote type=3D"cite">
<div dir=3D"ltr">
<div></div></div></blockquote><pre cols=3D"72"><a href=3D"http://ww=
w.beamways.com" rel=3D"nofollow" target=3D"_blank" onmousedown=3D"this.href=
=3D'http://www.google.com/url?q\x3dhttp%3A%2F%2Fwww.beamways.com\x26sa\=
x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGA9OdSVgKpCQaIl_BmoACYpruH4g';return =
true;" onclick=3D"this.href=3D'http://www.google.com/url?q\x3dhttp%3A%2=
F%2Fwww.beamways.com\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGA9OdSVgKpCQaI=
l_BmoACYpruH4g';return true;"></a></pre></div></blockquote><div>No.</di=
v><div><br></div><div>The compiler cannot ever elide a throw. It is an exte=
rn, non-inlineable function with unknowable side effects, same as a kernel =
syscall. The compiler cannot optimise it away except when it can deduce tha=
t it will never be called.</div><div><br></div></blockquote><div><br>Of cou=
rse it can, its behavior is described in the standard. It is not more unkno=
wable than printf, malloc or memcpy, which are all routinely optimized. Com=
pilers don't bother because the optimization is non trivial due to the =
non local jump and existing codebases would benefit very little from it.<br=
>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-le=
ft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div></div><div>N=
iall</div></blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/dd8f225c-99f5-44e1-8fcc-ddc8ede5d281%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/dd8f225c-99f5-44e1-8fcc-ddc8ede5d281=
%40isocpp.org</a>.<br />
------=_Part_6553_1981258823.1507807648982--
------=_Part_6552_249299688.1507807648982--
.