tag:blogger.com,1999:blog-21787941586096733362024-02-20T05:10:13.773-03:00Sai do Python o Python é meu, foi a onça que me deuEste blog foi desenvolvido no intuito de auxiliar àqueles que estão iniciando no mundo do Python 3.x Unknownnoreply@blogger.comBlogger14125tag:blogger.com,1999:blog-2178794158609673336.post-45860701802952434672018-06-14T00:39:00.002-03:002023-05-04T11:46:15.865-03:00ALGUMAS ROUBALHEIRAS QUE SÓ O TIO PYTHON PODE FAZERMuita gente que já programou em outras linguagens, se apaixonou por Python por muitos motivos, mas um deles é a facilidade com que se constrói as coisas. Um bom exemplo disso é o próprio "<i>Hello world</i>". Veja só:</<br />
<br />
C#:<br />
<br />
// A Hello World! program in C#.using</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;"> System;
</span><span class="hljs-keyword" style="color: #0101fd; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">namespace</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;"> </span><span class="hljs-title" style="color: #007d9a; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">HelloWorld</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">
{
</span><span class="hljs-keyword" style="color: #0101fd; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">class</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;"> </span><span class="hljs-title" style="color: #007d9a; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">Hello</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">
{
</span><span class="hljs-function" style="font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;"><span class="hljs-keyword" style="color: #0101fd;">static</span> <span class="hljs-keyword" style="color: #0101fd;">void</span> <span class="hljs-title" style="color: #007d9a;">Main</span>(<span class="hljs-params"></span>)
</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">
{
Console.WriteLine(</span><span class="hljs-string" style="color: #a31515; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">"Hello World!"</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">);
</span><span class="hljs-comment" style="color: green; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">// Keep the console window open in debug mode.</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">
Console.WriteLine(</span><span class="hljs-string" style="color: #a31515; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">"Press any key to exit."</span><span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">);
Console.ReadKey();
}
}
}</span><br />
<span style="background-color: #f9f9f9; font-family: 'consolas' , 'menlo' , 'monaco' , 'lucida console' , 'liberation mono' , 'dejavu sans mono' , 'bitstream vera sans mono' , 'courier new' , monospace , sans-serif; font-size: 14px; white-space: pre;">Java:</span><br />
<span class="keyword" style="color: #0066cc;">public</span>
<span class="normal"> </span><span class="keyword" style="color: #0066cc;">class</span><span class="normal"> </span>
<span class="classname">HelloWorld</span>
</br>
<span class="normal">
</br>
</span><span class="cbracket">{</span>
<span class="normal"></br></span>
<span class="keyword" style="color: #0066cc;">public</span>
<span class="normal"></span><span class="keyword" style="color: #0066cc;">static</span>
<span class="normal"></span><span class="type" style="color: #0066cc;">void</span>
<span class="normal"></span><span class="function" style="font-weight: bold;">main</span>
<span class="symbol" style="color: darkred;">(</span><span class="normal">String</span><span class="symbol" style="color: darkred;">[]</span><span class="normal"> args</span><span class="symbol" style="color: darkred;">)</span><span class="normal"></br> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment" style="color: #666666; font-style: italic;">// Prints "Hello, World" to the terminal window.</span>
<span class="normal"> System</span><span class="symbol" style="color: darkred;">.</span><span class="normal">out</span><span class="symbol" style="color: darkred;">.</span><span class="function" style="font-weight: bold;">println</span><span class="symbol" style="color: darkred;">(</span><span class="string" style="color: #116611;">"Hello, World"</span><span class="symbol" style="color: darkred;">);</span>
<span class="normal"> </br> </span><span class="cbracket">}</span>
</br>
<span class="cbracket">}</span>
</br></br>
<span class="cbracket">Cobol:</span>
<span class="cbracket">
<pre style="background-color: #eeeeee; border: 1px solid rgb(221, 221, 221); clear: both; color: #111111; font-family: consolas, monaco, menlo, courier, verdana, sans-serif; font-size: 13px; margin-bottom: 26px; overflow-wrap: normal; overflow: auto; padding: 13px;">IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
* simple hello world program
PROCEDURE DIVISION.
DISPLAY 'Hello world!'.
STOP RUN.
</pre>
</span>
<pre style="color: #00000f;"><span class="cbracket">Delphi:</span></pre>
<pre style="color: #00000f;"><span class="cbracket"></pre>
</span>
<pre style="color: #00000f;"><span class="cbracket"><table class="highlight tab-size js-file-line-container" data-tab-size="8" style="background-color: white; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; color: #24292e; font-size: 14px;"><tbody style="box-sizing: border-box;">
<tr style="box-sizing: border-box;"><td class="blob-code blob-code-inner js-file-line" id="LC1" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-k" style="box-sizing: border-box; color: #d73a49;">program</span> HelloWorld;</td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="2" id="L2" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC2" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: #6a737d;"><span class="pl-c" style="box-sizing: border-box;">{</span>$APPTYPE CONSOLE<span class="pl-c" style="box-sizing: border-box;">}</span></span></td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="3" id="L3" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC3" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"></td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="4" id="L4" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC4" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-k" style="box-sizing: border-box; color: #d73a49;">begin</span></td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="5" id="L5" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC5" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;">WriteLn(<span class="pl-s" style="box-sizing: border-box; color: #032f62;"><span class="pl-pds" style="box-sizing: border-box;">'</span>Hello World<span class="pl-pds" style="box-sizing: border-box;">'</span></span>);</td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="6" id="L6" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC6" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-k" style="box-sizing: border-box; color: #d73a49;">end</span>.</td></tr>
</tbody></table>
</span></pre>
<pre style="color: #00000f;"><span class="cbracket">
</span>
<pre style="color: #00000f;"><span class="cbracket">
</span>
<pre style="color: #00000f;"><span class="cbracket">Python:</span>
<pre style="color: #00000f;"><span class="cbracket">
</span>
<span class="cbracket"><span style="color: blue;">print</span><span style="color: #00000f;">(</span><span style="color: purple;">"Goodbye, World!"</span><span style="color: #00000f;">)</span></span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Pois bem...</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">O que muita gente que programa em Python não sabe é que o que é simples pode ficar ainda <b>mais simples!</b></span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;"><b>
</b></span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Vamos a alguns exemplos:</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span></span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Temos esse lindo laço de repetição chamado <i>for</i>:</span>
<span style="color: #00000f;">
</span>
<span style="color: #00000f;">listinha = [</span><span style="color: #00000f;">]
</span><span style="color: blue;">for</span><span style="color: #00000f;"> quadrado </span><span style="color: blue;">in</span><span style="color: #00000f;"> range(10):
</span> listinha.append(quadrado**2)
<span style="color: blue;">print</span>(listinha)<span style="color: blue;"> </span>
<span style="color: blue;">
</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Bem... Essa foi fácil né?</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Mas vamos dar uma melhorada nisso:</span>
<span style="color: #00000f;">
</span>
<span style="color: #00000f;">listinha = </span><span style="color: red;">list</span><span style="color: #00000f;">(</span><span style="color: red;">map</span><span style="color: #00000f;">(</span><span style="color: blue;">lambda</span><span style="color: #00000f;"> x: x**2, </span><span style="color: red;">range</span><span style="color: #00000f;">(10)))
</span><span style="color: blue;">print</span><span style="color: #00000f;">(listinha)</span>
<span style="color: #00000f;">
</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Uai! Que coisa massa, hein??</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Mas não para por aí! Vamos remelhorar!</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span>
<span style="font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;"><span style="color: #00000f;">listinha = [x**2 </span><span style="color: blue;">for</span><span style="color: #00000f;"> x in </span><span style="color: red;">range</span><span style="color: #00000f;">(10)]</span></span>
<span style="font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;"><span style="color: blue;">print</span><span style="color: #00000f;">(listinha)</span></span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Nossa!!! Tô mais bobo que o Kuririn quando o Vegeta se transformou em Super Sayajin!</span>
<span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span>
<img alt="Resultado de imagem para kuririn" height="217" src="https://pm1.narvii.com/6274/687866d084528061b0f06eac3b53608816d117f5_hq.jpg" width="320" />
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Muito legal né?</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Agora vamos ver outra bruxaria do Python. Vamos criar duplas de números onde os algarismos não </span></span>
<span style="font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;"><span class="cbracket"><span style="color: #00000f;">se repitam </span></span>entre si, usando duas listas:</span>
<span class="cbracket">
</span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: #00000f;">duplinha = []
</span><span style="color: blue;">for</span><span style="color: #00000f;"> x </span><span style="color: blue;">in</span><span style="color: #00000f;"> [1,2,3]:
</span><span style="color: blue;">for</span><span style="color: #00000f;"> y </span><span style="color: blue;">in</span><span style="color: #00000f;"> [3,1,4]:
</span><span style="color: blue;">if</span><span style="color: #00000f;"> x!=y:
duplinha.append((x,y))
</span><span style="color: blue;">print</span><span style="color: #00000f;">(duplinha)</span></span>
<span class="cbracket">
</span>
<span class="cbracket">Aplicando a magia:</span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: #00000f;">duplinha = [(x, y) </span><span style="color: blue;">for</span><span style="color: #00000f;"> x </span><span style="color: blue;">in</span><span style="color: #00000f;"> [1,2,3] </span><span style="color: blue;">for</span><span style="color: #00000f;"> y </span><span style="color: blue;">in</span><span style="color: #00000f;"> [3,1,4] </span><span style="color: blue;">if</span><span style="color: #00000f;"> x != y]</span></span>
<span class="cbracket"><span class="cbracket"><span style="color: blue;">print</span><span style="color: #00000f;">(duplinha)</span></span>
<span class="cbracket"><span style="color: #00000f;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Sensacional né? Esse tio Python é mais inacrebelieveble que a vassoura de aço!!!</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span></span>
<span class="cbracket"><span style="font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;"><img alt="Imagem relacionada" src="https://images.uncyc.org/pt/9/94/Vassourada_de_a%C3%A7o.jpg" /></span></span>
<span class="cbracket"><span style="font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">
</span></span>
<span style="font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">Agora a saideira: vamos fazer <b>uma matriz transposta</b>:</span>
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
transposta = [[row[i] <span style="color: blue;">for</span> row <span style="color: blue;">in</span> matrix] <span style="color: blue;">for</span> i <span style="color: blue;">in</span> <span style="color: red;">range</span>(4)]
<span class="cbracket"><span style="color: blue;">print</span>(transposta)</span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">QUE COISA MAIS LINDA DE DEUS!!!</span></span>
<span class="cbracket">
</span>
<span class="cbracket"><img alt="Imagem relacionada" height="190" src="https://orig00.deviantart.net/5d7d/f/2017/040/4/0/kawaii_avatar_free_to_use___read_description__by_kawaiikitteno3o-dayfjxs.jpg" width="200" /></span>
<span class="cbracket"><span style="font-family: 'georgia' , 'times new roman' , serif;">
</span></span>
<span class="cbracket"><span style="font-family: 'georgia' , 'times new roman' , serif;">O nome dessa mágica é LIST COMPREHENTION. Vale a pena pesquisar sobre. </span></span>
<span class="cbracket"><span style="font-family: 'georgia' , 'times new roman' , serif;">Inclusive, temos esse belo vídeo do mestre da vida Edu Mendes:</span></span>
<span class="cbracket"><span style="font-family: 'georgia' , 'times new roman' , serif;">
</span></span>
<span class="cbracket"><span style="font-family: 'georgia' , 'times new roman' , serif;">
</span></span>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/zjgYTrn9YF4/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/zjgYTrn9YF4?feature=player_embedded" width="320"></iframe></div>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: #00000f;">
</span></span>
</span></pre>
</pre>
</pre>
</pre>
</pre>
</pre>
</pre>
</pre>
</pre>
</pre>
</pre>
</pre>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2178794158609673336.post-37216471390816507372017-05-25T14:40:00.000-03:002019-07-15T16:22:46.764-03:00Coloca o óculos que vamos ler um texto (de um arquivo)<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Muita gente que já programou em outras linguagens, se apaixonou por Python por muitos motivos, mas um deles é a facilidade com que se constrói as coisas. Um bom exemplo disso é o próprio "<i>Hello world</i>". Veja só:</span><br />
<br />
C#:<br />
<br />
<span class="hljs-comment" style="color: green; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">// A Hello World! program in C#.</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">
</span><span class="hljs-keyword" style="color: #0101fd; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">using</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;"> System;
</span><span class="hljs-keyword" style="color: #0101fd; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">namespace</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;"> </span><span class="hljs-title" style="color: #007d9a; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">HelloWorld</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">
{
</span><span class="hljs-keyword" style="color: #0101fd; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">class</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;"> </span><span class="hljs-title" style="color: #007d9a; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">Hello</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">
{
</span><span class="hljs-function" style="font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;"><span class="hljs-keyword" style="color: #0101fd;">static</span> <span class="hljs-keyword" style="color: #0101fd;">void</span> <span class="hljs-title" style="color: #007d9a;">Main</span>(<span class="hljs-params"></span>)
</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">
{
Console.WriteLine(</span><span class="hljs-string" style="color: #a31515; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">"Hello World!"</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">);
</span><span class="hljs-comment" style="color: green; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">// Keep the console window open in debug mode.</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">
Console.WriteLine(</span><span class="hljs-string" style="color: #a31515; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">"Press any key to exit."</span><span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">);
Console.ReadKey();
}
}
}</span><br />
<span style="background-color: #f9f9f9; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 14px; white-space: pre;">Java:</span><br />
<span class="keyword" style="color: #0066cc;">public</span>
<span class="normal"> </span><span class="keyword" style="color: #0066cc;">class</span><span class="normal"> </span>
<span class="classname">HelloWorld</span>
</br>
<span class="normal">
</br>
</span><span class="cbracket">{</span>
<span class="normal"></br></span>
<span class="keyword" style="color: #0066cc;">public</span>
<span class="normal"></span><span class="keyword" style="color: #0066cc;">static</span>
<span class="normal"></span><span class="type" style="color: #0066cc;">void</span>
<span class="normal"></span><span class="function" style="font-weight: bold;">main</span>
<span class="symbol" style="color: darkred;">(</span><span class="normal">String</span><span class="symbol" style="color: darkred;">[]</span><span class="normal"> args</span><span class="symbol" style="color: darkred;">)</span><span class="normal"></br> </span><span class="cbracket">{</span>
<span class="normal"> </span><span class="comment" style="color: #666666; font-style: italic;">// Prints "Hello, World" to the terminal window.</span>
<span class="normal"> System</span><span class="symbol" style="color: darkred;">.</span><span class="normal">out</span><span class="symbol" style="color: darkred;">.</span><span class="function" style="font-weight: bold;">println</span><span class="symbol" style="color: darkred;">(</span><span class="string" style="color: #116611;">"Hello, World"</span><span class="symbol" style="color: darkred;">);</span>
<span class="normal"> </br> </span><span class="cbracket">}</span>
</br>
<span class="cbracket">}</span>
</br></br>
<span class="cbracket">Cobol:</span>
<span class="cbracket">
<pre style="background-color: #eeeeee; border: 1px solid rgb(221, 221, 221); clear: both; color: #111111; font-family: consolas, monaco, menlo, courier, verdana, sans-serif; font-size: 13px; margin-bottom: 26px; overflow-wrap: normal; overflow: auto; padding: 13px;">IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
* simple hello world program
PROCEDURE DIVISION.
DISPLAY 'Hello world!'.
STOP RUN.
</pre>
</span>
<pre style="color: #00000f;"><span class="cbracket">Delphi:</span></pre>
<span class="cbracket">
<table class="highlight tab-size js-file-line-container" data-tab-size="8" style="background-color: white; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; color: #24292e; font-size: 14px;">
<tbody style="box-sizing: border-box;">
<tr style="box-sizing: border-box;"><td class="blob-code blob-code-inner js-file-line" id="LC1" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-k" style="box-sizing: border-box; color: #d73a49;">program</span> HelloWorld;</td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="2" id="L2" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC2" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-c" style="box-sizing: border-box; color: #6a737d;"><span class="pl-c" style="box-sizing: border-box;">{</span>$APPTYPE CONSOLE<span class="pl-c" style="box-sizing: border-box;">}</span></span></td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="3" id="L3" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC3" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"></td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="4" id="L4" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC4" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-k" style="box-sizing: border-box; color: #d73a49;">begin</span></td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="5" id="L5" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC5" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;">WriteLn(<span class="pl-s" style="box-sizing: border-box; color: #032f62;"><span class="pl-pds" style="box-sizing: border-box;">'</span>Hello World<span class="pl-pds" style="box-sizing: border-box;">'</span></span>);</td></tr>
<tr style="box-sizing: border-box;"><td class="blob-num js-line-number" data-line-number="6" id="L6" style="box-sizing: border-box; color: rgba(27, 31, 35, 0.3); cursor: pointer; font-size: 12px; line-height: 20px; min-width: 50px; padding: 0px 10px; text-align: right; vertical-align: top; white-space: nowrap; width: 50px;"></td><td class="blob-code blob-code-inner js-file-line" id="LC6" style="box-sizing: border-box; font-size: 12px; line-height: 20px; overflow-wrap: normal; overflow: visible; padding: 0px 10px; position: relative; vertical-align: top; white-space: pre;"><span class="pl-k" style="box-sizing: border-box; color: #d73a49;">end</span>.</td></tr>
</tbody></table>
</span></pre>
<span class="cbracket">
</span>
<span class="cbracket">Python:</span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: blue;">print</span><span style="color: #00000f;">(</span><span style="color: purple;">"Goodbye, World!"</span><span style="color: #00000f;">)</span></span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Pois bem...</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">O que muita gente que programa em Python não sabe é que o que é simples pode ficar ainda <b>mais simples!</b></span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><b>
</b></span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Vamos a alguns exemplos:</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Temos esse lindo laço de repetição chamado <i>for</i>:</span>
<span style="color: #00000f;">
</span>
<span style="color: #00000f;">listinha = [</span><span style="color: #00000f;">]
</span><span style="color: blue;">for</span><span style="color: #00000f;"> quadrado </span><span style="color: blue;">in</span><span style="color: #00000f;"> range(10):
</span> listinha.append(quadrado**2)
<span style="color: blue;">print</span>(listinha)<span style="color: blue;"> </span>
<span style="color: blue;">
</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Bem... Essa foi fácil né?</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Mas vamos dar uma melhorada nisso:</span>
<span style="color: #00000f;">
</span>
<span style="color: #00000f;">listinha = </span><span style="color: red;">list</span><span style="color: #00000f;">(</span><span style="color: red;">map</span><span style="color: #00000f;">(</span><span style="color: blue;">lambda</span><span style="color: #00000f;"> x: x**2, </span><span style="color: red;">range</span><span style="color: #00000f;">(10)))
</span><span style="color: blue;">print</span><span style="color: #00000f;">(listinha)</span>
<span style="color: #00000f;">
</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Uai! Que coisa massa, hein??</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Mas não para por aí! Vamos remelhorar!</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: #00000f;">listinha = [x**2 </span><span style="color: blue;">for</span><span style="color: #00000f;"> x in </span><span style="color: red;">range</span><span style="color: #00000f;">(10)]</span></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span style="color: blue;">print</span><span style="color: #00000f;">(listinha)</span></span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Nossa!!! Tô mais bobo que o Kuririn quando o Vegeta se transformou em Super Sayajin!</span>
<span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span>
<img alt="Resultado de imagem para kuririn" height="217" src="https://pm1.narvii.com/6274/687866d084528061b0f06eac3b53608816d117f5_hq.jpg" width="320" />
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Muito legal né?</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Agora vamos ver outra bruxaria do Python. Vamos criar duplas de números onde os algarismos não </span></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><span class="cbracket"><span style="color: #00000f;">se repitam </span></span>entre si, usando duas listas:</span>
<span class="cbracket">
</span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: #00000f;">duplinha = []
</span><span style="color: blue;">for</span><span style="color: #00000f;"> x </span><span style="color: blue;">in</span><span style="color: #00000f;"> [1,2,3]:
</span><span style="color: blue;">for</span><span style="color: #00000f;"> y </span><span style="color: blue;">in</span><span style="color: #00000f;"> [3,1,4]:
</span><span style="color: blue;">if</span><span style="color: #00000f;"> x!=y:
duplinha.append((x,y))
</span><span style="color: blue;">print</span><span style="color: #00000f;">(duplinha)</span></span>
<span class="cbracket">
</span>
<span class="cbracket">Aplicando a magia:</span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="color: #00000f;">duplinha = [(x, y) </span><span style="color: blue;">for</span><span style="color: #00000f;"> x </span><span style="color: blue;">in</span><span style="color: #00000f;"> [1,2,3] </span><span style="color: blue;">for</span><span style="color: #00000f;"> y </span><span style="color: blue;">in</span><span style="color: #00000f;"> [3,1,4] </span><span style="color: blue;">if</span><span style="color: #00000f;"> x != y]</span></span>
<span class="cbracket"><span class="cbracket"><span style="color: blue;">print</span><span style="color: #00000f;">(duplinha)</span></span>
<span class="cbracket"><span style="color: #00000f;">
</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Sensacional né? Esse tio Python é mais inacrebelieveble que a vassoura de aço!!!</span></span>
<span class="cbracket"><span style="color: #00000f; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></span>
<span class="cbracket"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><img alt="Imagem relacionada" src="https://images.uncyc.org/pt/9/94/Vassourada_de_a%C3%A7o.jpg" /></span></span>
<span class="cbracket"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
</span></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Agora a saideira: vamos fazer <b>uma matriz transposta</b>:</span>
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
transposta = [[row[i] <span style="color: blue;">for</span> row <span style="color: blue;">in</span> matrix] <span style="color: blue;">for</span> i <span style="color: blue;">in</span> <span style="color: red;">range</span>(4)]
<span class="cbracket"><span style="color: blue;">print</span>(transposta)</span>
<span class="cbracket">
</span>
<span class="cbracket"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">QUE COISA MAIS LINDA DE DEUS!!!</span></span>
<span class="cbracket">
</span>
<span class="cbracket"><img alt="Imagem relacionada" height="190" src="https://orig00.deviantart.net/5d7d/f/2017/040/4/0/kawaii_avatar_free_to_use___read_description__by_kawaiikitteno3o-dayfjxs.jpg" width="200" /></span>
<span class="cbracket"><span style="font-family: "georgia" , "times new roman" , serif;">
</span></span>
<span class="cbracket"><span style="font-family: "georgia" , "times new roman" , serif;">O nome dessa mágica é LIST COMPREHENTION. Vale a pena pesquisar sobre. </span></span>
<span class="cbracket"><span style="font-family: "georgia" , "times new roman" , serif;">Inclusive, temos esse belo vídeo do mestre da vida Edu Mendes:</span></span>
<span class="cbracket"><span style="font-family: "georgia" , "times new roman" , serif;">
</span></span>
<span class="cbracket"><span style="font-family: "georgia" , "times new roman" , serif;">
</span></span>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/zjgYTrn9YF4/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/zjgYTrn9YF4?feature=player_embedded" width="320"></iframe></div>
Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-2178794158609673336.post-4177251840165107082017-04-20T14:59:00.002-03:002017-04-20T14:59:48.812-03:00E o CSV? Como faz pra fazer?<html>
<head>
<title>python3-dicas CSV</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<style type="text/css">
/*!
*
* Twitter Bootstrap
*
*/
/*!
* Bootstrap v3.3.6 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
font-family: sans-serif;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
audio,
canvas,
progress,
video {
display: inline-block;
vertical-align: baseline;
}
audio:not([controls]) {
display: none;
height: 0;
}
[hidden],
template {
display: none;
}
a {
background-color: transparent;
}
a:active,
a:hover {
outline: 0;
}
abbr[title] {
border-bottom: 1px dotted;
}
b,
strong {
font-weight: bold;
}
dfn {
font-style: italic;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
mark {
background: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box;
height: 0;
}
pre {
overflow: auto;
}
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
color: inherit;
font: inherit;
margin: 0;
}
button {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
cursor: pointer;
}
button[disabled],
html input[disabled] {
cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
input {
line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
input[type="search"] {
-webkit-appearance: textfield;
box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
border: 0;
padding: 0;
}
textarea {
overflow: auto;
}
optgroup {
font-weight: bold;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
*,
*:before,
*:after {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
.navbar {
display: none;
}
.btn > .caret,
.dropup > .btn > .caret {
border-top-color: #000 !important;
}
.label {
border: 1px solid #000;
}
.table {
border-collapse: collapse !important;
}
.table td,
.table th {
background-color: #fff !important;
}
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
}
}
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
position: relative;
top: 1px;
display: inline-block;
font-family: 'Glyphicons Halflings';
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
content: "\002a";
}
.glyphicon-plus:before {
content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
content: "\20ac";
}
.glyphicon-minus:before {
content: "\2212";
}
.glyphicon-cloud:before {
content: "\2601";
}
.glyphicon-envelope:before {
content: "\2709";
}
.glyphicon-pencil:before {
content: "\270f";
}
.glyphicon-glass:before {
content: "\e001";
}
.glyphicon-music:before {
content: "\e002";
}
.glyphicon-search:before {
content: "\e003";
}
.glyphicon-heart:before {
content: "\e005";
}
.glyphicon-star:before {
content: "\e006";
}
.glyphicon-star-empty:before {
content: "\e007";
}
.glyphicon-user:before {
content: "\e008";
}
.glyphicon-film:before {
content: "\e009";
}
.glyphicon-th-large:before {
content: "\e010";
}
.glyphicon-th:before {
content: "\e011";
}
.glyphicon-th-list:before {
content: "\e012";
}
.glyphicon-ok:before {
content: "\e013";
}
.glyphicon-remove:before {
content: "\e014";
}
.glyphicon-zoom-in:before {
content: "\e015";
}
.glyphicon-zoom-out:before {
content: "\e016";
}
.glyphicon-off:before {
content: "\e017";
}
.glyphicon-signal:before {
content: "\e018";
}
.glyphicon-cog:before {
content: "\e019";
}
.glyphicon-trash:before {
content: "\e020";
}
.glyphicon-home:before {
content: "\e021";
}
.glyphicon-file:before {
content: "\e022";
}
.glyphicon-time:before {
content: "\e023";
}
.glyphicon-road:before {
content: "\e024";
}
.glyphicon-download-alt:before {
content: "\e025";
}
.glyphicon-download:before {
content: "\e026";
}
.glyphicon-upload:before {
content: "\e027";
}
.glyphicon-inbox:before {
content: "\e028";
}
.glyphicon-play-circle:before {
content: "\e029";
}
.glyphicon-repeat:before {
content: "\e030";
}
.glyphicon-refresh:before {
content: "\e031";
}
.glyphicon-list-alt:before {
content: "\e032";
}
.glyphicon-lock:before {
content: "\e033";
}
.glyphicon-flag:before {
content: "\e034";
}
.glyphicon-headphones:before {
content: "\e035";
}
.glyphicon-volume-off:before {
content: "\e036";
}
.glyphicon-volume-down:before {
content: "\e037";
}
.glyphicon-volume-up:before {
content: "\e038";
}
.glyphicon-qrcode:before {
content: "\e039";
}
.glyphicon-barcode:before {
content: "\e040";
}
.glyphicon-tag:before {
content: "\e041";
}
.glyphicon-tags:before {
content: "\e042";
}
.glyphicon-book:before {
content: "\e043";
}
.glyphicon-bookmark:before {
content: "\e044";
}
.glyphicon-print:before {
content: "\e045";
}
.glyphicon-camera:before {
content: "\e046";
}
.glyphicon-font:before {
content: "\e047";
}
.glyphicon-bold:before {
content: "\e048";
}
.glyphicon-italic:before {
content: "\e049";
}
.glyphicon-text-height:before {
content: "\e050";
}
.glyphicon-text-width:before {
content: "\e051";
}
.glyphicon-align-left:before {
content: "\e052";
}
.glyphicon-align-center:before {
content: "\e053";
}
.glyphicon-align-right:before {
content: "\e054";
}
.glyphicon-align-justify:before {
content: "\e055";
}
.glyphicon-list:before {
content: "\e056";
}
.glyphicon-indent-left:before {
content: "\e057";
}
.glyphicon-indent-right:before {
content: "\e058";
}
.glyphicon-facetime-video:before {
content: "\e059";
}
.glyphicon-picture:before {
content: "\e060";
}
.glyphicon-map-marker:before {
content: "\e062";
}
.glyphicon-adjust:before {
content: "\e063";
}
.glyphicon-tint:before {
content: "\e064";
}
.glyphicon-edit:before {
content: "\e065";
}
.glyphicon-share:before {
content: "\e066";
}
.glyphicon-check:before {
content: "\e067";
}
.glyphicon-move:before {
content: "\e068";
}
.glyphicon-step-backward:before {
content: "\e069";
}
.glyphicon-fast-backward:before {
content: "\e070";
}
.glyphicon-backward:before {
content: "\e071";
}
.glyphicon-play:before {
content: "\e072";
}
.glyphicon-pause:before {
content: "\e073";
}
.glyphicon-stop:before {
content: "\e074";
}
.glyphicon-forward:before {
content: "\e075";
}
.glyphicon-fast-forward:before {
content: "\e076";
}
.glyphicon-step-forward:before {
content: "\e077";
}
.glyphicon-eject:before {
content: "\e078";
}
.glyphicon-chevron-left:before {
content: "\e079";
}
.glyphicon-chevron-right:before {
content: "\e080";
}
.glyphicon-plus-sign:before {
content: "\e081";
}
.glyphicon-minus-sign:before {
content: "\e082";
}
.glyphicon-remove-sign:before {
content: "\e083";
}
.glyphicon-ok-sign:before {
content: "\e084";
}
.glyphicon-question-sign:before {
content: "\e085";
}
.glyphicon-info-sign:before {
content: "\e086";
}
.glyphicon-screenshot:before {
content: "\e087";
}
.glyphicon-remove-circle:before {
content: "\e088";
}
.glyphicon-ok-circle:before {
content: "\e089";
}
.glyphicon-ban-circle:before {
content: "\e090";
}
.glyphicon-arrow-left:before {
content: "\e091";
}
.glyphicon-arrow-right:before {
content: "\e092";
}
.glyphicon-arrow-up:before {
content: "\e093";
}
.glyphicon-arrow-down:before {
content: "\e094";
}
.glyphicon-share-alt:before {
content: "\e095";
}
.glyphicon-resize-full:before {
content: "\e096";
}
.glyphicon-resize-small:before {
content: "\e097";
}
.glyphicon-exclamation-sign:before {
content: "\e101";
}
.glyphicon-gift:before {
content: "\e102";
}
.glyphicon-leaf:before {
content: "\e103";
}
.glyphicon-fire:before {
content: "\e104";
}
.glyphicon-eye-open:before {
content: "\e105";
}
.glyphicon-eye-close:before {
content: "\e106";
}
.glyphicon-warning-sign:before {
content: "\e107";
}
.glyphicon-plane:before {
content: "\e108";
}
.glyphicon-calendar:before {
content: "\e109";
}
.glyphicon-random:before {
content: "\e110";
}
.glyphicon-comment:before {
content: "\e111";
}
.glyphicon-magnet:before {
content: "\e112";
}
.glyphicon-chevron-up:before {
content: "\e113";
}
.glyphicon-chevron-down:before {
content: "\e114";
}
.glyphicon-retweet:before {
content: "\e115";
}
.glyphicon-shopping-cart:before {
content: "\e116";
}
.glyphicon-folder-close:before {
content: "\e117";
}
.glyphicon-folder-open:before {
content: "\e118";
}
.glyphicon-resize-vertical:before {
content: "\e119";
}
.glyphicon-resize-horizontal:before {
content: "\e120";
}
.glyphicon-hdd:before {
content: "\e121";
}
.glyphicon-bullhorn:before {
content: "\e122";
}
.glyphicon-bell:before {
content: "\e123";
}
.glyphicon-certificate:before {
content: "\e124";
}
.glyphicon-thumbs-up:before {
content: "\e125";
}
.glyphicon-thumbs-down:before {
content: "\e126";
}
.glyphicon-hand-right:before {
content: "\e127";
}
.glyphicon-hand-left:before {
content: "\e128";
}
.glyphicon-hand-up:before {
content: "\e129";
}
.glyphicon-hand-down:before {
content: "\e130";
}
.glyphicon-circle-arrow-right:before {
content: "\e131";
}
.glyphicon-circle-arrow-left:before {
content: "\e132";
}
.glyphicon-circle-arrow-up:before {
content: "\e133";
}
.glyphicon-circle-arrow-down:before {
content: "\e134";
}
.glyphicon-globe:before {
content: "\e135";
}
.glyphicon-wrench:before {
content: "\e136";
}
.glyphicon-tasks:before {
content: "\e137";
}
.glyphicon-filter:before {
content: "\e138";
}
.glyphicon-briefcase:before {
content: "\e139";
}
.glyphicon-fullscreen:before {
content: "\e140";
}
.glyphicon-dashboard:before {
content: "\e141";
}
.glyphicon-paperclip:before {
content: "\e142";
}
.glyphicon-heart-empty:before {
content: "\e143";
}
.glyphicon-link:before {
content: "\e144";
}
.glyphicon-phone:before {
content: "\e145";
}
.glyphicon-pushpin:before {
content: "\e146";
}
.glyphicon-usd:before {
content: "\e148";
}
.glyphicon-gbp:before {
content: "\e149";
}
.glyphicon-sort:before {
content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
content: "\e152";
}
.glyphicon-sort-by-order:before {
content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
content: "\e154";
}
.glyphicon-sort-by-attributes:before {
content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
content: "\e156";
}
.glyphicon-unchecked:before {
content: "\e157";
}
.glyphicon-expand:before {
content: "\e158";
}
.glyphicon-collapse-down:before {
content: "\e159";
}
.glyphicon-collapse-up:before {
content: "\e160";
}
.glyphicon-log-in:before {
content: "\e161";
}
.glyphicon-flash:before {
content: "\e162";
}
.glyphicon-log-out:before {
content: "\e163";
}
.glyphicon-new-window:before {
content: "\e164";
}
.glyphicon-record:before {
content: "\e165";
}
.glyphicon-save:before {
content: "\e166";
}
.glyphicon-open:before {
content: "\e167";
}
.glyphicon-saved:before {
content: "\e168";
}
.glyphicon-import:before {
content: "\e169";
}
.glyphicon-export:before {
content: "\e170";
}
.glyphicon-send:before {
content: "\e171";
}
.glyphicon-floppy-disk:before {
content: "\e172";
}
.glyphicon-floppy-saved:before {
content: "\e173";
}
.glyphicon-floppy-remove:before {
content: "\e174";
}
.glyphicon-floppy-save:before {
content: "\e175";
}
.glyphicon-floppy-open:before {
content: "\e176";
}
.glyphicon-credit-card:before {
content: "\e177";
}
.glyphicon-transfer:before {
content: "\e178";
}
.glyphicon-cutlery:before {
content: "\e179";
}
.glyphicon-header:before {
content: "\e180";
}
.glyphicon-compressed:before {
content: "\e181";
}
.glyphicon-earphone:before {
content: "\e182";
}
.glyphicon-phone-alt:before {
content: "\e183";
}
.glyphicon-tower:before {
content: "\e184";
}
.glyphicon-stats:before {
content: "\e185";
}
.glyphicon-sd-video:before {
content: "\e186";
}
.glyphicon-hd-video:before {
content: "\e187";
}
.glyphicon-subtitles:before {
content: "\e188";
}
.glyphicon-sound-stereo:before {
content: "\e189";
}
.glyphicon-sound-dolby:before {
content: "\e190";
}
.glyphicon-sound-5-1:before {
content: "\e191";
}
.glyphicon-sound-6-1:before {
content: "\e192";
}
.glyphicon-sound-7-1:before {
content: "\e193";
}
.glyphicon-copyright-mark:before {
content: "\e194";
}
.glyphicon-registration-mark:before {
content: "\e195";
}
.glyphicon-cloud-download:before {
content: "\e197";
}
.glyphicon-cloud-upload:before {
content: "\e198";
}
.glyphicon-tree-conifer:before {
content: "\e199";
}
.glyphicon-tree-deciduous:before {
content: "\e200";
}
.glyphicon-cd:before {
content: "\e201";
}
.glyphicon-save-file:before {
content: "\e202";
}
.glyphicon-open-file:before {
content: "\e203";
}
.glyphicon-level-up:before {
content: "\e204";
}
.glyphicon-copy:before {
content: "\e205";
}
.glyphicon-paste:before {
content: "\e206";
}
.glyphicon-alert:before {
content: "\e209";
}
.glyphicon-equalizer:before {
content: "\e210";
}
.glyphicon-king:before {
content: "\e211";
}
.glyphicon-queen:before {
content: "\e212";
}
.glyphicon-pawn:before {
content: "\e213";
}
.glyphicon-bishop:before {
content: "\e214";
}
.glyphicon-knight:before {
content: "\e215";
}
.glyphicon-baby-formula:before {
content: "\e216";
}
.glyphicon-tent:before {
content: "\26fa";
}
.glyphicon-blackboard:before {
content: "\e218";
}
.glyphicon-bed:before {
content: "\e219";
}
.glyphicon-apple:before {
content: "\f8ff";
}
.glyphicon-erase:before {
content: "\e221";
}
.glyphicon-hourglass:before {
content: "\231b";
}
.glyphicon-lamp:before {
content: "\e223";
}
.glyphicon-duplicate:before {
content: "\e224";
}
.glyphicon-piggy-bank:before {
content: "\e225";
}
.glyphicon-scissors:before {
content: "\e226";
}
.glyphicon-bitcoin:before {
content: "\e227";
}
.glyphicon-btc:before {
content: "\e227";
}
.glyphicon-xbt:before {
content: "\e227";
}
.glyphicon-yen:before {
content: "\00a5";
}
.glyphicon-jpy:before {
content: "\00a5";
}
.glyphicon-ruble:before {
content: "\20bd";
}
.glyphicon-rub:before {
content: "\20bd";
}
.glyphicon-scale:before {
content: "\e230";
}
.glyphicon-ice-lolly:before {
content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
content: "\e232";
}
.glyphicon-education:before {
content: "\e233";
}
.glyphicon-option-horizontal:before {
content: "\e234";
}
.glyphicon-option-vertical:before {
content: "\e235";
}
.glyphicon-menu-hamburger:before {
content: "\e236";
}
.glyphicon-modal-window:before {
content: "\e237";
}
.glyphicon-oil:before {
content: "\e238";
}
.glyphicon-grain:before {
content: "\e239";
}
.glyphicon-sunglasses:before {
content: "\e240";
}
.glyphicon-text-size:before {
content: "\e241";
}
.glyphicon-text-color:before {
content: "\e242";
}
.glyphicon-text-background:before {
content: "\e243";
}
.glyphicon-object-align-top:before {
content: "\e244";
}
.glyphicon-object-align-bottom:before {
content: "\e245";
}
.glyphicon-object-align-horizontal:before {
content: "\e246";
}
.glyphicon-object-align-left:before {
content: "\e247";
}
.glyphicon-object-align-vertical:before {
content: "\e248";
}
.glyphicon-object-align-right:before {
content: "\e249";
}
.glyphicon-triangle-right:before {
content: "\e250";
}
.glyphicon-triangle-left:before {
content: "\e251";
}
.glyphicon-triangle-bottom:before {
content: "\e252";
}
.glyphicon-triangle-top:before {
content: "\e253";
}
.glyphicon-console:before {
content: "\e254";
}
.glyphicon-superscript:before {
content: "\e255";
}
.glyphicon-subscript:before {
content: "\e256";
}
.glyphicon-menu-left:before {
content: "\e257";
}
.glyphicon-menu-right:before {
content: "\e258";
}
.glyphicon-menu-down:before {
content: "\e259";
}
.glyphicon-menu-up:before {
content: "\e260";
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-size: 10px;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 1.42857143;
color: #000;
background-color: #fff;
}
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
a {
color: #337ab7;
text-decoration: none;
}
a:hover,
a:focus {
color: #23527c;
text-decoration: underline;
}
a:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
figure {
margin: 0;
}
img {
vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block;
max-width: 100%;
height: auto;
}
.img-rounded {
border-radius: 3px;
}
.img-thumbnail {
padding: 4px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
display: inline-block;
max-width: 100%;
height: auto;
}
.img-circle {
border-radius: 50%;
}
hr {
margin-top: 18px;
margin-bottom: 18px;
border: 0;
border-top: 1px solid #eeeeee;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
[role="button"] {
cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
font-family: inherit;
font-weight: 500;
line-height: 1.1;
color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
font-weight: normal;
line-height: 1;
color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
margin-top: 18px;
margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
margin-top: 9px;
margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
font-size: 75%;
}
h1,
.h1 {
font-size: 33px;
}
h2,
.h2 {
font-size: 27px;
}
h3,
.h3 {
font-size: 23px;
}
h4,
.h4 {
font-size: 17px;
}
h5,
.h5 {
font-size: 13px;
}
h6,
.h6 {
font-size: 12px;
}
p {
margin: 0 0 9px;
}
.lead {
margin-bottom: 18px;
font-size: 14px;
font-weight: 300;
line-height: 1.4;
}
@media (min-width: 768px) {
.lead {
font-size: 19.5px;
}
}
small,
.small {
font-size: 92%;
}
mark,
.mark {
background-color: #fcf8e3;
padding: .2em;
}
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
.text-justify {
text-align: justify;
}
.text-nowrap {
white-space: nowrap;
}
.text-lowercase {
text-transform: lowercase;
}
.text-uppercase {
text-transform: uppercase;
}
.text-capitalize {
text-transform: capitalize;
}
.text-muted {
color: #777777;
}
.text-primary {
color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
color: #286090;
}
.text-success {
color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
color: #2b542c;
}
.text-info {
color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
color: #245269;
}
.text-warning {
color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
color: #66512c;
}
.text-danger {
color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
color: #843534;
}
.bg-primary {
color: #fff;
background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
background-color: #c1e2b3;
}
.bg-info {
background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
background-color: #afd9ee;
}
.bg-warning {
background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
background-color: #f7ecb5;
}
.bg-danger {
background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
background-color: #e4b9b9;
}
.page-header {
padding-bottom: 8px;
margin: 36px 0 18px;
border-bottom: 1px solid #eeeeee;
}
ul,
ol {
margin-top: 0;
margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
margin-bottom: 0;
}
.list-unstyled {
padding-left: 0;
list-style: none;
}
.list-inline {
padding-left: 0;
list-style: none;
margin-left: -5px;
}
.list-inline > li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
dl {
margin-top: 0;
margin-bottom: 18px;
}
dt,
dd {
line-height: 1.42857143;
}
dt {
font-weight: bold;
}
dd {
margin-left: 0;
}
@media (min-width: 541px) {
.dl-horizontal dt {
float: left;
width: 160px;
clear: left;
text-align: right;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dl-horizontal dd {
margin-left: 180px;
}
}
abbr[title],
abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted #777777;
}
.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote {
padding: 9px 18px;
margin: 0 0 18px;
font-size: inherit;
border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
display: block;
font-size: 80%;
line-height: 1.42857143;
color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
border-right: 5px solid #eeeeee;
border-left: 0;
text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
content: '\00A0 \2014';
}
address {
margin-bottom: 18px;
font-style: normal;
line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
font-family: monospace;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 2px;
}
kbd {
padding: 2px 4px;
font-size: 90%;
color: #888;
background-color: transparent;
border-radius: 1px;
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: bold;
box-shadow: none;
}
pre {
display: block;
padding: 8.5px;
margin: 0 0 9px;
font-size: 12px;
line-height: 1.42857143;
word-break: break-all;
word-wrap: break-word;
color: #333333;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 2px;
}
pre code {
padding: 0;
font-size: inherit;
color: inherit;
white-space: pre-wrap;
background-color: transparent;
border-radius: 0;
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll;
}
.container {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
@media (min-width: 768px) {
.container {
width: 768px;
}
}
@media (min-width: 992px) {
.container {
width: 940px;
}
}
@media (min-width: 1200px) {
.container {
width: 1140px;
}
}
.container-fluid {
margin-right: auto;
margin-left: auto;
padding-left: 0px;
padding-right: 0px;
}
.row {
margin-left: 0px;
margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px;
padding-left: 0px;
padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-12 {
width: 100%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-1 {
width: 8.33333333%;
}
.col-xs-pull-12 {
right: 100%;
}
.col-xs-pull-11 {
right: 91.66666667%;
}
.col-xs-pull-10 {
right: 83.33333333%;
}
.col-xs-pull-9 {
right: 75%;
}
.col-xs-pull-8 {
right: 66.66666667%;
}
.col-xs-pull-7 {
right: 58.33333333%;
}
.col-xs-pull-6 {
right: 50%;
}
.col-xs-pull-5 {
right: 41.66666667%;
}
.col-xs-pull-4 {
right: 33.33333333%;
}
.col-xs-pull-3 {
right: 25%;
}
.col-xs-pull-2 {
right: 16.66666667%;
}
.col-xs-pull-1 {
right: 8.33333333%;
}
.col-xs-pull-0 {
right: auto;
}
.col-xs-push-12 {
left: 100%;
}
.col-xs-push-11 {
left: 91.66666667%;
}
.col-xs-push-10 {
left: 83.33333333%;
}
.col-xs-push-9 {
left: 75%;
}
.col-xs-push-8 {
left: 66.66666667%;
}
.col-xs-push-7 {
left: 58.33333333%;
}
.col-xs-push-6 {
left: 50%;
}
.col-xs-push-5 {
left: 41.66666667%;
}
.col-xs-push-4 {
left: 33.33333333%;
}
.col-xs-push-3 {
left: 25%;
}
.col-xs-push-2 {
left: 16.66666667%;
}
.col-xs-push-1 {
left: 8.33333333%;
}
.col-xs-push-0 {
left: auto;
}
.col-xs-offset-12 {
margin-left: 100%;
}
.col-xs-offset-11 {
margin-left: 91.66666667%;
}
.col-xs-offset-10 {
margin-left: 83.33333333%;
}
.col-xs-offset-9 {
margin-left: 75%;
}
.col-xs-offset-8 {
margin-left: 66.66666667%;
}
.col-xs-offset-7 {
margin-left: 58.33333333%;
}
.col-xs-offset-6 {
margin-left: 50%;
}
.col-xs-offset-5 {
margin-left: 41.66666667%;
}
.col-xs-offset-4 {
margin-left: 33.33333333%;
}
.col-xs-offset-3 {
margin-left: 25%;
}
.col-xs-offset-2 {
margin-left: 16.66666667%;
}
.col-xs-offset-1 {
margin-left: 8.33333333%;
}
.col-xs-offset-0 {
margin-left: 0%;
}
@media (min-width: 768px) {
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
float: left;
}
.col-sm-12 {
width: 100%;
}
.col-sm-11 {
width: 91.66666667%;
}
.col-sm-10 {
width: 83.33333333%;
}
.col-sm-9 {
width: 75%;
}
.col-sm-8 {
width: 66.66666667%;
}
.col-sm-7 {
width: 58.33333333%;
}
.col-sm-6 {
width: 50%;
}
.col-sm-5 {
width: 41.66666667%;
}
.col-sm-4 {
width: 33.33333333%;
}
.col-sm-3 {
width: 25%;
}
.col-sm-2 {
width: 16.66666667%;
}
.col-sm-1 {
width: 8.33333333%;
}
.col-sm-pull-12 {
right: 100%;
}
.col-sm-pull-11 {
right: 91.66666667%;
}
.col-sm-pull-10 {
right: 83.33333333%;
}
.col-sm-pull-9 {
right: 75%;
}
.col-sm-pull-8 {
right: 66.66666667%;
}
.col-sm-pull-7 {
right: 58.33333333%;
}
.col-sm-pull-6 {
right: 50%;
}
.col-sm-pull-5 {
right: 41.66666667%;
}
.col-sm-pull-4 {
right: 33.33333333%;
}
.col-sm-pull-3 {
right: 25%;
}
.col-sm-pull-2 {
right: 16.66666667%;
}
.col-sm-pull-1 {
right: 8.33333333%;
}
.col-sm-pull-0 {
right: auto;
}
.col-sm-push-12 {
left: 100%;
}
.col-sm-push-11 {
left: 91.66666667%;
}
.col-sm-push-10 {
left: 83.33333333%;
}
.col-sm-push-9 {
left: 75%;
}
.col-sm-push-8 {
left: 66.66666667%;
}
.col-sm-push-7 {
left: 58.33333333%;
}
.col-sm-push-6 {
left: 50%;
}
.col-sm-push-5 {
left: 41.66666667%;
}
.col-sm-push-4 {
left: 33.33333333%;
}
.col-sm-push-3 {
left: 25%;
}
.col-sm-push-2 {
left: 16.66666667%;
}
.col-sm-push-1 {
left: 8.33333333%;
}
.col-sm-push-0 {
left: auto;
}
.col-sm-offset-12 {
margin-left: 100%;
}
.col-sm-offset-11 {
margin-left: 91.66666667%;
}
.col-sm-offset-10 {
margin-left: 83.33333333%;
}
.col-sm-offset-9 {
margin-left: 75%;
}
.col-sm-offset-8 {
margin-left: 66.66666667%;
}
.col-sm-offset-7 {
margin-left: 58.33333333%;
}
.col-sm-offset-6 {
margin-left: 50%;
}
.col-sm-offset-5 {
margin-left: 41.66666667%;
}
.col-sm-offset-4 {
margin-left: 33.33333333%;
}
.col-sm-offset-3 {
margin-left: 25%;
}
.col-sm-offset-2 {
margin-left: 16.66666667%;
}
.col-sm-offset-1 {
margin-left: 8.33333333%;
}
.col-sm-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 992px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
float: left;
}
.col-md-12 {
width: 100%;
}
.col-md-11 {
width: 91.66666667%;
}
.col-md-10 {
width: 83.33333333%;
}
.col-md-9 {
width: 75%;
}
.col-md-8 {
width: 66.66666667%;
}
.col-md-7 {
width: 58.33333333%;
}
.col-md-6 {
width: 50%;
}
.col-md-5 {
width: 41.66666667%;
}
.col-md-4 {
width: 33.33333333%;
}
.col-md-3 {
width: 25%;
}
.col-md-2 {
width: 16.66666667%;
}
.col-md-1 {
width: 8.33333333%;
}
.col-md-pull-12 {
right: 100%;
}
.col-md-pull-11 {
right: 91.66666667%;
}
.col-md-pull-10 {
right: 83.33333333%;
}
.col-md-pull-9 {
right: 75%;
}
.col-md-pull-8 {
right: 66.66666667%;
}
.col-md-pull-7 {
right: 58.33333333%;
}
.col-md-pull-6 {
right: 50%;
}
.col-md-pull-5 {
right: 41.66666667%;
}
.col-md-pull-4 {
right: 33.33333333%;
}
.col-md-pull-3 {
right: 25%;
}
.col-md-pull-2 {
right: 16.66666667%;
}
.col-md-pull-1 {
right: 8.33333333%;
}
.col-md-pull-0 {
right: auto;
}
.col-md-push-12 {
left: 100%;
}
.col-md-push-11 {
left: 91.66666667%;
}
.col-md-push-10 {
left: 83.33333333%;
}
.col-md-push-9 {
left: 75%;
}
.col-md-push-8 {
left: 66.66666667%;
}
.col-md-push-7 {
left: 58.33333333%;
}
.col-md-push-6 {
left: 50%;
}
.col-md-push-5 {
left: 41.66666667%;
}
.col-md-push-4 {
left: 33.33333333%;
}
.col-md-push-3 {
left: 25%;
}
.col-md-push-2 {
left: 16.66666667%;
}
.col-md-push-1 {
left: 8.33333333%;
}
.col-md-push-0 {
left: auto;
}
.col-md-offset-12 {
margin-left: 100%;
}
.col-md-offset-11 {
margin-left: 91.66666667%;
}
.col-md-offset-10 {
margin-left: 83.33333333%;
}
.col-md-offset-9 {
margin-left: 75%;
}
.col-md-offset-8 {
margin-left: 66.66666667%;
}
.col-md-offset-7 {
margin-left: 58.33333333%;
}
.col-md-offset-6 {
margin-left: 50%;
}
.col-md-offset-5 {
margin-left: 41.66666667%;
}
.col-md-offset-4 {
margin-left: 33.33333333%;
}
.col-md-offset-3 {
margin-left: 25%;
}
.col-md-offset-2 {
margin-left: 16.66666667%;
}
.col-md-offset-1 {
margin-left: 8.33333333%;
}
.col-md-offset-0 {
margin-left: 0%;
}
}
@media (min-width: 1200px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
.col-lg-12 {
width: 100%;
}
.col-lg-11 {
width: 91.66666667%;
}
.col-lg-10 {
width: 83.33333333%;
}
.col-lg-9 {
width: 75%;
}
.col-lg-8 {
width: 66.66666667%;
}
.col-lg-7 {
width: 58.33333333%;
}
.col-lg-6 {
width: 50%;
}
.col-lg-5 {
width: 41.66666667%;
}
.col-lg-4 {
width: 33.33333333%;
}
.col-lg-3 {
width: 25%;
}
.col-lg-2 {
width: 16.66666667%;
}
.col-lg-1 {
width: 8.33333333%;
}
.col-lg-pull-12 {
right: 100%;
}
.col-lg-pull-11 {
right: 91.66666667%;
}
.col-lg-pull-10 {
right: 83.33333333%;
}
.col-lg-pull-9 {
right: 75%;
}
.col-lg-pull-8 {
right: 66.66666667%;
}
.col-lg-pull-7 {
right: 58.33333333%;
}
.col-lg-pull-6 {
right: 50%;
}
.col-lg-pull-5 {
right: 41.66666667%;
}
.col-lg-pull-4 {
right: 33.33333333%;
}
.col-lg-pull-3 {
right: 25%;
}
.col-lg-pull-2 {
right: 16.66666667%;
}
.col-lg-pull-1 {
right: 8.33333333%;
}
.col-lg-pull-0 {
right: auto;
}
.col-lg-push-12 {
left: 100%;
}
.col-lg-push-11 {
left: 91.66666667%;
}
.col-lg-push-10 {
left: 83.33333333%;
}
.col-lg-push-9 {
left: 75%;
}
.col-lg-push-8 {
left: 66.66666667%;
}
.col-lg-push-7 {
left: 58.33333333%;
}
.col-lg-push-6 {
left: 50%;
}
.col-lg-push-5 {
left: 41.66666667%;
}
.col-lg-push-4 {
left: 33.33333333%;
}
.col-lg-push-3 {
left: 25%;
}
.col-lg-push-2 {
left: 16.66666667%;
}
.col-lg-push-1 {
left: 8.33333333%;
}
.col-lg-push-0 {
left: auto;
}
.col-lg-offset-12 {
margin-left: 100%;
}
.col-lg-offset-11 {
margin-left: 91.66666667%;
}
.col-lg-offset-10 {
margin-left: 83.33333333%;
}
.col-lg-offset-9 {
margin-left: 75%;
}
.col-lg-offset-8 {
margin-left: 66.66666667%;
}
.col-lg-offset-7 {
margin-left: 58.33333333%;
}
.col-lg-offset-6 {
margin-left: 50%;
}
.col-lg-offset-5 {
margin-left: 41.66666667%;
}
.col-lg-offset-4 {
margin-left: 33.33333333%;
}
.col-lg-offset-3 {
margin-left: 25%;
}
.col-lg-offset-2 {
margin-left: 16.66666667%;
}
.col-lg-offset-1 {
margin-left: 8.33333333%;
}
.col-lg-offset-0 {
margin-left: 0%;
}
}
table {
background-color: transparent;
}
caption {
padding-top: 8px;
padding-bottom: 8px;
color: #777777;
text-align: left;
}
th {
text-align: left;
}
.table {
width: 100%;
max-width: 100%;
margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
padding: 8px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #ddd;
}
.table > thead > tr > th {
vertical-align: bottom;
border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
border-top: 0;
}
.table > tbody + tbody {
border-top: 2px solid #ddd;
}
.table .table {
background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
padding: 5px;
}
.table-bordered {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
background-color: #f5f5f5;
}
table col[class*="col-"] {
position: static;
float: none;
display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
position: static;
float: none;
display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
background-color: #ebcccc;
}
.table-responsive {
overflow-x: auto;
min-height: 0.01%;
}
@media screen and (max-width: 767px) {
.table-responsive {
width: 100%;
margin-bottom: 13.5px;
overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid #ddd;
}
.table-responsive > .table {
margin-bottom: 0;
}
.table-responsive > .table > thead > tr > th,
.table-responsive > .table > tbody > tr > th,
.table-responsive > .table > tfoot > tr > th,
.table-responsive > .table > thead > tr > td,
.table-responsive > .table > tbody > tr > td,
.table-responsive > .table > tfoot > tr > td {
white-space: nowrap;
}
.table-responsive > .table-bordered {
border: 0;
}
.table-responsive > .table-bordered > thead > tr > th:first-child,
.table-responsive > .table-bordered > tbody > tr > th:first-child,
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
.table-responsive > .table-bordered > thead > tr > td:first-child,
.table-responsive > .table-bordered > tbody > tr > td:first-child,
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.table-responsive > .table-bordered > thead > tr > th:last-child,
.table-responsive > .table-bordered > tbody > tr > th:last-child,
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
.table-responsive > .table-bordered > thead > tr > td:last-child,
.table-responsive > .table-bordered > tbody > tr > td:last-child,
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.table-responsive > .table-bordered > tbody > tr:last-child > th,
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
.table-responsive > .table-bordered > tbody > tr:last-child > td,
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
border-bottom: 0;
}
}
fieldset {
padding: 0;
margin: 0;
border: 0;
min-width: 0;
}
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: 18px;
font-size: 19.5px;
line-height: inherit;
color: #333333;
border: 0;
border-bottom: 1px solid #e5e5e5;
}
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: bold;
}
input[type="search"] {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
margin-top: 1px \9;
line-height: normal;
}
input[type="file"] {
display: block;
}
input[type="range"] {
display: block;
width: 100%;
}
select[multiple],
select[size] {
height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
output {
display: block;
padding-top: 7px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
}
.form-control {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
color: #999;
opacity: 1;
}
.form-control:-ms-input-placeholder {
color: #999;
}
.form-control::-webkit-input-placeholder {
color: #999;
}
.form-control::-ms-expand {
border: 0;
background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
background-color: #eeeeee;
opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
cursor: not-allowed;
}
textarea.form-control {
height: auto;
}
input[type="search"] {
-webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
line-height: 32px;
}
input[type="date"].input-sm,
input[type="time"].input-sm,
input[type="datetime-local"].input-sm,
input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px;
}
input[type="date"].input-lg,
input[type="time"].input-lg,
input[type="datetime-local"].input-lg,
input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 45px;
}
}
.form-group {
margin-bottom: 15px;
}
.radio,
.checkbox {
position: relative;
display: block;
margin-top: 10px;
margin-bottom: 10px;
}
.radio label,
.checkbox label {
min-height: 18px;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
position: absolute;
margin-left: -20px;
margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
position: relative;
display: inline-block;
padding-left: 20px;
margin-bottom: 0;
vertical-align: middle;
font-weight: normal;
cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
margin-top: 0;
margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
cursor: not-allowed;
}
.form-control-static {
padding-top: 7px;
padding-bottom: 7px;
margin-bottom: 0;
min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
padding-left: 0;
padding-right: 0;
}
.input-sm {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-sm {
height: 30px;
line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
height: auto;
}
.form-group-sm .form-control {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.form-group-sm select.form-control {
height: 30px;
line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
height: auto;
}
.form-group-sm .form-control-static {
height: 30px;
min-height: 30px;
padding: 6px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-lg {
height: 45px;
line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
height: auto;
}
.form-group-lg .form-control {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.form-group-lg select.form-control {
height: 45px;
line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
height: auto;
}
.form-group-lg .form-control-static {
height: 45px;
min-height: 35px;
padding: 11px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.has-feedback {
position: relative;
}
.has-feedback .form-control {
padding-right: 40px;
}
.form-control-feedback {
position: absolute;
top: 0;
right: 0;
z-index: 2;
display: block;
width: 32px;
height: 32px;
line-height: 32px;
text-align: center;
pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
width: 45px;
height: 45px;
line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
width: 30px;
height: 30px;
line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
color: #3c763d;
}
.has-success .form-control {
border-color: #3c763d;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
border-color: #2b542c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
color: #3c763d;
border-color: #3c763d;
background-color: #dff0d8;
}
.has-success .form-control-feedback {
color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
color: #8a6d3b;
}
.has-warning .form-control {
border-color: #8a6d3b;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
border-color: #66512c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
color: #8a6d3b;
border-color: #8a6d3b;
background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
color: #a94442;
}
.has-error .form-control {
border-color: #a94442;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
border-color: #843534;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
color: #a94442;
border-color: #a94442;
background-color: #f2dede;
}
.has-error .form-control-feedback {
color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
top: 0;
}
.help-block {
display: block;
margin-top: 5px;
margin-bottom: 10px;
color: #404040;
}
@media (min-width: 768px) {
.form-inline .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.form-inline .form-control-static {
display: inline-block;
}
.form-inline .input-group {
display: inline-table;
vertical-align: middle;
}
.form-inline .input-group .input-group-addon,
.form-inline .input-group .input-group-btn,
.form-inline .input-group .form-control {
width: auto;
}
.form-inline .input-group > .form-control {
width: 100%;
}
.form-inline .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio,
.form-inline .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-inline .radio label,
.form-inline .checkbox label {
padding-left: 0;
}
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.form-inline .has-feedback .form-control-feedback {
top: 0;
}
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
margin-top: 0;
margin-bottom: 0;
padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
min-height: 25px;
}
.form-horizontal .form-group {
margin-left: 0px;
margin-right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .control-label {
text-align: right;
margin-bottom: 0;
padding-top: 7px;
}
}
.form-horizontal .has-feedback .form-control-feedback {
right: 0px;
}
@media (min-width: 768px) {
.form-horizontal .form-group-lg .control-label {
padding-top: 11px;
font-size: 17px;
}
}
@media (min-width: 768px) {
.form-horizontal .form-group-sm .control-label {
padding-top: 6px;
font-size: 12px;
}
}
.btn {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
border-radius: 2px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
color: #333;
text-decoration: none;
}
.btn:active,
.btn.active {
outline: 0;
background-image: none;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
cursor: not-allowed;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
pointer-events: none;
}
.btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btn-default:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
background-color: #fff;
border-color: #ccc;
}
.btn-default .badge {
color: #fff;
background-color: #333;
}
.btn-primary {
color: #fff;
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
color: #fff;
background-color: #286090;
border-color: #122b40;
}
.btn-primary:hover {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff;
background-color: #286090;
border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
color: #fff;
background-color: #204d74;
border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
background-color: #337ab7;
border-color: #2e6da4;
}
.btn-primary .badge {
color: #337ab7;
background-color: #fff;
}
.btn-success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.btn-success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.btn-success .badge {
color: #5cb85c;
background-color: #fff;
}
.btn-info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.btn-info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.btn-info .badge {
color: #5bc0de;
background-color: #fff;
}
.btn-warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.btn-warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.btn-warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.btn-danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.btn-danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.btn-danger .badge {
color: #d9534f;
background-color: #fff;
}
.btn-link {
color: #337ab7;
font-weight: normal;
border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
color: #23527c;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
color: #777777;
text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
.btn-block {
display: block;
width: 100%;
}
.btn-block + .btn-block {
margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
.fade {
opacity: 0;
-webkit-transition: opacity 0.15s linear;
-o-transition: opacity 0.15s linear;
transition: opacity 0.15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
display: none;
}
.collapse.in {
display: block;
}
tr.collapse.in {
display: table-row;
}
tbody.collapse.in {
display: table-row-group;
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition-property: height, visibility;
transition-property: height, visibility;
-webkit-transition-duration: 0.35s;
transition-duration: 0.35s;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}
.caret {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-top: 4px dashed;
border-top: 4px solid \9;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}
.dropup,
.dropdown {
position: relative;
}
.dropdown-toggle:focus {
outline: 0;
}
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 13px;
text-align: left;
background-color: #fff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 2px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
background-clip: padding-box;
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.dropdown-menu > li > a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.42857143;
color: #333333;
white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
text-decoration: none;
color: #262626;
background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #fff;
text-decoration: none;
outline: 0;
background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none;
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
cursor: not-allowed;
}
.open > .dropdown-menu {
display: block;
}
.open > a {
outline: 0;
}
.dropdown-menu-right {
left: auto;
right: 0;
}
.dropdown-menu-left {
left: 0;
right: auto;
}
.dropdown-header {
display: block;
padding: 3px 20px;
font-size: 12px;
line-height: 1.42857143;
color: #777777;
white-space: nowrap;
}
.dropdown-backdrop {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
z-index: 990;
}
.pull-right > .dropdown-menu {
right: 0;
left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px dashed;
border-bottom: 4px solid \9;
content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 2px;
}
@media (min-width: 541px) {
.navbar-right .dropdown-menu {
left: auto;
right: 0;
}
.navbar-right .dropdown-menu-left {
left: 0;
right: auto;
}
}
.btn-group,
.btn-group-vertical {
position: relative;
display: inline-block;
vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
margin-left: -1px;
}
.btn-toolbar {
margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
border-radius: 0;
}
.btn-group > .btn:first-child {
margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group > .btn-group {
float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn .caret {
margin-left: 0;
}
.btn-lg .caret {
border-width: 5px 5px 0;
border-bottom-width: 0;
}
.dropup .btn-lg .caret {
border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
display: block;
float: none;
width: 100%;
max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-top-left-radius: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.btn-group-justified {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
float: none;
display: table-cell;
width: 1%;
}
.btn-group-justified > .btn-group .btn {
width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
.input-group {
position: relative;
display: table;
border-collapse: separate;
}
.input-group[class*="col-"] {
float: none;
padding-left: 0;
padding-right: 0;
}
.input-group .form-control {
position: relative;
z-index: 2;
float: left;
width: 100%;
margin-bottom: 0;
}
.input-group .form-control:focus {
z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
height: 45px;
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
height: 45px;
line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
height: 30px;
line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
border-radius: 0;
}
.input-group-addon,
.input-group-btn {
width: 1%;
white-space: nowrap;
vertical-align: middle;
}
.input-group-addon {
padding: 6px 12px;
font-size: 13px;
font-weight: normal;
line-height: 1;
color: #555555;
text-align: center;
background-color: #eeeeee;
border: 1px solid #ccc;
border-radius: 2px;
}
.input-group-addon.input-sm {
padding: 5px 10px;
font-size: 12px;
border-radius: 1px;
}
.input-group-addon.input-lg {
padding: 10px 16px;
font-size: 17px;
border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.input-group-addon:first-child {
border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
.input-group-addon:last-child {
border-left: 0;
}
.input-group-btn {
position: relative;
font-size: 0;
white-space: nowrap;
}
.input-group-btn > .btn {
position: relative;
}
.input-group-btn > .btn + .btn {
margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
z-index: 2;
margin-left: -1px;
}
.nav {
margin-bottom: 0;
padding-left: 0;
list-style: none;
}
.nav > li {
position: relative;
display: block;
}
.nav > li > a {
position: relative;
display: block;
padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.nav > li.disabled > a {
color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
color: #777777;
text-decoration: none;
background-color: transparent;
cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eeeeee;
border-color: #337ab7;
}
.nav .nav-divider {
height: 1px;
margin: 8px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.nav > li > a > img {
max-width: none;
}
.nav-tabs {
border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
float: left;
margin-bottom: -1px;
}
.nav-tabs > li > a {
margin-right: 2px;
line-height: 1.42857143;
border: 1px solid transparent;
border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
color: #555555;
background-color: #fff;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
}
.nav-tabs.nav-justified {
width: 100%;
border-bottom: 0;
}
.nav-tabs.nav-justified > li {
float: none;
}
.nav-tabs.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-tabs.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs.nav-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs.nav-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.nav-pills > li {
float: left;
}
.nav-pills > li > a {
border-radius: 2px;
}
.nav-pills > li + li {
margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #fff;
background-color: #337ab7;
}
.nav-stacked > li {
float: none;
}
.nav-stacked > li + li {
margin-top: 2px;
margin-left: 0;
}
.nav-justified {
width: 100%;
}
.nav-justified > li {
float: none;
}
.nav-justified > li > a {
text-align: center;
margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width: 768px) {
.nav-justified > li {
display: table-cell;
width: 1%;
}
.nav-justified > li > a {
margin-bottom: 0;
}
}
.nav-tabs-justified {
border-bottom: 0;
}
.nav-tabs-justified > li > a {
margin-right: 0;
border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border: 1px solid #ddd;
}
@media (min-width: 768px) {
.nav-tabs-justified > li > a {
border-bottom: 1px solid #ddd;
border-radius: 2px 2px 0 0;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
border-bottom-color: #fff;
}
}
.tab-content > .tab-pane {
display: none;
}
.tab-content > .active {
display: block;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar {
position: relative;
min-height: 30px;
margin-bottom: 18px;
border: 1px solid transparent;
}
@media (min-width: 541px) {
.navbar {
border-radius: 2px;
}
}
@media (min-width: 541px) {
.navbar-header {
float: left;
}
}
.navbar-collapse {
overflow-x: visible;
padding-right: 0px;
padding-left: 0px;
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
-webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
overflow-y: auto;
}
@media (min-width: 541px) {
.navbar-collapse {
width: auto;
border-top: 0;
box-shadow: none;
}
.navbar-collapse.collapse {
display: block !important;
height: auto !important;
padding-bottom: 0;
overflow: visible !important;
}
.navbar-collapse.in {
overflow-y: visible;
}
.navbar-fixed-top .navbar-collapse,
.navbar-static-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
padding-left: 0;
padding-right: 0;
}
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 200px;
}
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0px;
margin-left: 0px;
}
@media (min-width: 541px) {
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: 0;
margin-left: 0;
}
}
.navbar-static-top {
z-index: 1000;
border-width: 0 0 1px;
}
@media (min-width: 541px) {
.navbar-static-top {
border-radius: 0;
}
}
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed;
right: 0;
left: 0;
z-index: 1030;
}
@media (min-width: 541px) {
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-fixed-bottom {
bottom: 0;
margin-bottom: 0;
border-width: 1px 0 0;
}
.navbar-brand {
float: left;
padding: 6px 0px;
font-size: 17px;
line-height: 18px;
height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
text-decoration: none;
}
.navbar-brand > img {
display: block;
}
@media (min-width: 541px) {
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand {
margin-left: 0px;
}
}
.navbar-toggle {
position: relative;
float: right;
margin-right: 0px;
padding: 9px 10px;
margin-top: -2px;
margin-bottom: -2px;
background-color: transparent;
background-image: none;
border: 1px solid transparent;
border-radius: 2px;
}
.navbar-toggle:focus {
outline: 0;
}
.navbar-toggle .icon-bar {
display: block;
width: 22px;
height: 2px;
border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
margin-top: 4px;
}
@media (min-width: 541px) {
.navbar-toggle {
display: none;
}
}
.navbar-nav {
margin: 3px 0px;
}
.navbar-nav > li > a {
padding-top: 10px;
padding-bottom: 10px;
line-height: 18px;
}
@media (max-width: 540px) {
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
width: auto;
margin-top: 0;
background-color: transparent;
border: 0;
box-shadow: none;
}
.navbar-nav .open .dropdown-menu > li > a,
.navbar-nav .open .dropdown-menu .dropdown-header {
padding: 5px 15px 5px 25px;
}
.navbar-nav .open .dropdown-menu > li > a {
line-height: 18px;
}
.navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-nav .open .dropdown-menu > li > a:focus {
background-image: none;
}
}
@media (min-width: 541px) {
.navbar-nav {
float: left;
margin: 0;
}
.navbar-nav > li {
float: left;
}
.navbar-nav > li > a {
padding-top: 6px;
padding-bottom: 6px;
}
}
.navbar-form {
margin-left: 0px;
margin-right: 0px;
padding: 10px 0px;
border-top: 1px solid transparent;
border-bottom: 1px solid transparent;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
margin-top: -1px;
margin-bottom: -1px;
}
@media (min-width: 768px) {
.navbar-form .form-group {
display: inline-block;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .form-control {
display: inline-block;
width: auto;
vertical-align: middle;
}
.navbar-form .form-control-static {
display: inline-block;
}
.navbar-form .input-group {
display: inline-table;
vertical-align: middle;
}
.navbar-form .input-group .input-group-addon,
.navbar-form .input-group .input-group-btn,
.navbar-form .input-group .form-control {
width: auto;
}
.navbar-form .input-group > .form-control {
width: 100%;
}
.navbar-form .control-label {
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio,
.navbar-form .checkbox {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
vertical-align: middle;
}
.navbar-form .radio label,
.navbar-form .checkbox label {
padding-left: 0;
}
.navbar-form .radio input[type="radio"],
.navbar-form .checkbox input[type="checkbox"] {
position: relative;
margin-left: 0;
}
.navbar-form .has-feedback .form-control-feedback {
top: 0;
}
}
@media (max-width: 540px) {
.navbar-form .form-group {
margin-bottom: 5px;
}
.navbar-form .form-group:last-child {
margin-bottom: 0;
}
}
@media (min-width: 541px) {
.navbar-form {
width: auto;
border: 0;
margin-left: 0;
margin-right: 0;
padding-top: 0;
padding-bottom: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
}
.navbar-nav > li > .dropdown-menu {
margin-top: 0;
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
border-top-right-radius: 2px;
border-top-left-radius: 2px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.navbar-btn {
margin-top: -1px;
margin-bottom: -1px;
}
.navbar-btn.btn-sm {
margin-top: 0px;
margin-bottom: 0px;
}
.navbar-btn.btn-xs {
margin-top: 4px;
margin-bottom: 4px;
}
.navbar-text {
margin-top: 6px;
margin-bottom: 6px;
}
@media (min-width: 541px) {
.navbar-text {
float: left;
margin-left: 0px;
margin-right: 0px;
}
}
@media (min-width: 541px) {
.navbar-left {
float: left !important;
float: left;
}
.navbar-right {
float: right !important;
float: right;
margin-right: 0px;
}
.navbar-right ~ .navbar-right {
margin-right: 0;
}
}
.navbar-default {
background-color: #f8f8f8;
border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
color: #5e5e5e;
background-color: transparent;
}
.navbar-default .navbar-text {
color: #777;
}
.navbar-default .navbar-nav > li > a {
color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
.navbar-default .navbar-toggle {
border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
background-color: #e7e7e7;
color: #555;
}
@media (max-width: 540px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #777;
}
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
color: #333;
background-color: transparent;
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #555;
background-color: #e7e7e7;
}
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #ccc;
background-color: transparent;
}
}
.navbar-default .navbar-link {
color: #777;
}
.navbar-default .navbar-link:hover {
color: #333;
}
.navbar-default .btn-link {
color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
color: #ccc;
}
.navbar-inverse {
background-color: #222;
border-color: #080808;
}
.navbar-inverse .navbar-brand {
color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-text {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
color: #444;
background-color: transparent;
}
.navbar-inverse .navbar-toggle {
border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
background-color: #080808;
color: #fff;
}
@media (max-width: 540px) {
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
border-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
color: #9d9d9d;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
color: #fff;
background-color: transparent;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
color: #444;
background-color: transparent;
}
}
.navbar-inverse .navbar-link {
color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
color: #fff;
}
.navbar-inverse .btn-link {
color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
color: #444;
}
.breadcrumb {
padding: 8px 15px;
margin-bottom: 18px;
list-style: none;
background-color: #f5f5f5;
border-radius: 2px;
}
.breadcrumb > li {
display: inline-block;
}
.breadcrumb > li + li:before {
content: "/\00a0";
padding: 0 5px;
color: #5e5e5e;
}
.breadcrumb > .active {
color: #777777;
}
.pagination {
display: inline-block;
padding-left: 0;
margin: 18px 0;
border-radius: 2px;
}
.pagination > li {
display: inline;
}
.pagination > li > a,
.pagination > li > span {
position: relative;
float: left;
padding: 6px 12px;
line-height: 1.42857143;
text-decoration: none;
color: #337ab7;
background-color: #fff;
border: 1px solid #ddd;
margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
margin-left: 0;
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
border-bottom-right-radius: 2px;
border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
z-index: 2;
color: #23527c;
background-color: #eeeeee;
border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
z-index: 3;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
color: #777777;
background-color: #fff;
border-color: #ddd;
cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
padding: 10px 16px;
font-size: 17px;
line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
border-bottom-left-radius: 3px;
border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
border-bottom-right-radius: 3px;
border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
border-bottom-left-radius: 1px;
border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
border-bottom-right-radius: 1px;
border-top-right-radius: 1px;
}
.pager {
padding-left: 0;
margin: 18px 0;
list-style: none;
text-align: center;
}
.pager li {
display: inline;
}
.pager li > a,
.pager li > span {
display: inline-block;
padding: 5px 14px;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
text-decoration: none;
background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
float: right;
}
.pager .previous > a,
.pager .previous > span {
float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
color: #777777;
background-color: #fff;
cursor: not-allowed;
}
.label {
display: inline;
padding: .2em .6em .3em;
font-size: 75%;
font-weight: bold;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
a.label:hover,
a.label:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.label:empty {
display: none;
}
.btn .label {
position: relative;
top: -1px;
}
.label-default {
background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
background-color: #5e5e5e;
}
.label-primary {
background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
background-color: #286090;
}
.label-success {
background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
background-color: #449d44;
}
.label-info {
background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
background-color: #31b0d5;
}
.label-warning {
background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
background-color: #ec971f;
}
.label-danger {
background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
background-color: #c9302c;
}
.badge {
display: inline-block;
min-width: 10px;
padding: 3px 7px;
font-size: 12px;
font-weight: bold;
color: #fff;
line-height: 1;
vertical-align: middle;
white-space: nowrap;
text-align: center;
background-color: #777777;
border-radius: 10px;
}
.badge:empty {
display: none;
}
.btn .badge {
position: relative;
top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
top: 0;
padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
color: #337ab7;
background-color: #fff;
}
.list-group-item > .badge {
float: right;
}
.list-group-item > .badge + .badge {
margin-right: 5px;
}
.nav-pills > li > a > .badge {
margin-left: 3px;
}
.jumbotron {
padding-top: 30px;
padding-bottom: 30px;
margin-bottom: 30px;
color: inherit;
background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
color: inherit;
}
.jumbotron p {
margin-bottom: 15px;
font-size: 20px;
font-weight: 200;
}
.jumbotron > hr {
border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
border-radius: 3px;
padding-left: 0px;
padding-right: 0px;
}
.jumbotron .container {
max-width: 100%;
}
@media screen and (min-width: 768px) {
.jumbotron {
padding-top: 48px;
padding-bottom: 48px;
}
.container .jumbotron,
.container-fluid .jumbotron {
padding-left: 60px;
padding-right: 60px;
}
.jumbotron h1,
.jumbotron .h1 {
font-size: 59px;
}
}
.thumbnail {
display: block;
padding: 4px;
margin-bottom: 18px;
line-height: 1.42857143;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 2px;
-webkit-transition: border 0.2s ease-in-out;
-o-transition: border 0.2s ease-in-out;
transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
margin-left: auto;
margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
border-color: #337ab7;
}
.thumbnail .caption {
padding: 9px;
color: #000;
}
.alert {
padding: 15px;
margin-bottom: 18px;
border: 1px solid transparent;
border-radius: 2px;
}
.alert h4 {
margin-top: 0;
color: inherit;
}
.alert .alert-link {
font-weight: bold;
}
.alert > p,
.alert > ul {
margin-bottom: 0;
}
.alert > p + p {
margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
position: relative;
top: -2px;
right: -21px;
color: inherit;
}
.alert-success {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #3c763d;
}
.alert-success hr {
border-top-color: #c9e2b3;
}
.alert-success .alert-link {
color: #2b542c;
}
.alert-info {
background-color: #d9edf7;
border-color: #bce8f1;
color: #31708f;
}
.alert-info hr {
border-top-color: #a6e1ec;
}
.alert-info .alert-link {
color: #245269;
}
.alert-warning {
background-color: #fcf8e3;
border-color: #faebcc;
color: #8a6d3b;
}
.alert-warning hr {
border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
color: #66512c;
}
.alert-danger {
background-color: #f2dede;
border-color: #ebccd1;
color: #a94442;
}
.alert-danger hr {
border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.progress {
overflow: hidden;
height: 18px;
margin-bottom: 18px;
background-color: #f5f5f5;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
float: left;
width: 0%;
height: 100%;
font-size: 12px;
line-height: 18px;
color: #fff;
text-align: center;
background-color: #337ab7;
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-transition: width 0.6s ease;
-o-transition: width 0.6s ease;
transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
}
.media,
.media-body {
zoom: 1;
overflow: hidden;
}
.media-body {
width: 10000px;
}
.media-object {
display: block;
}
.media-object.img-thumbnail {
max-width: none;
}
.media-right,
.media > .pull-right {
padding-left: 10px;
}
.media-left,
.media > .pull-left {
padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
display: table-cell;
vertical-align: top;
}
.media-middle {
vertical-align: middle;
}
.media-bottom {
vertical-align: bottom;
}
.media-heading {
margin-top: 0;
margin-bottom: 5px;
}
.media-list {
padding-left: 0;
list-style: none;
}
.list-group {
margin-bottom: 20px;
padding-left: 0;
}
.list-group-item {
position: relative;
display: block;
padding: 10px 15px;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid #ddd;
}
.list-group-item:first-child {
border-top-right-radius: 2px;
border-top-left-radius: 2px;
}
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
text-decoration: none;
color: #555;
background-color: #f5f5f5;
}
button.list-group-item {
width: 100%;
text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
background-color: #eeeeee;
color: #777777;
cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
z-index: 2;
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
color: #c7ddef;
}
.list-group-item-success {
color: #3c763d;
background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
}
.list-group-item-info {
color: #31708f;
background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
color: #31708f;
background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
color: #fff;
background-color: #31708f;
border-color: #31708f;
}
.list-group-item-warning {
color: #8a6d3b;
background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
color: #8a6d3b;
background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
color: #fff;
background-color: #8a6d3b;
border-color: #8a6d3b;
}
.list-group-item-danger {
color: #a94442;
background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
color: #a94442;
background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
.list-group-item-heading {
margin-top: 0;
margin-bottom: 5px;
}
.list-group-item-text {
margin-bottom: 0;
line-height: 1.3;
}
.panel {
margin-bottom: 18px;
background-color: #fff;
border: 1px solid transparent;
border-radius: 2px;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
padding: 15px;
}
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
color: inherit;
}
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: 15px;
color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #f5f5f5;
border-top: 1px solid #ddd;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
border-width: 1px 0;
border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
border-top: 0;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
border-bottom: 0;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0;
}
.list-group + .panel-footer {
border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
padding-left: 15px;
padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
border-top-right-radius: 1px;
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
border-top-left-radius: 1px;
border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
border-bottom-left-radius: 1px;
border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
border-bottom: 0;
}
.panel > .table-responsive {
border: 0;
margin-bottom: 0;
}
.panel-group {
margin-bottom: 18px;
}
.panel-group .panel {
margin-bottom: 0;
border-radius: 2px;
}
.panel-group .panel + .panel {
margin-top: 5px;
}
.panel-group .panel-heading {
border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
border-bottom: 1px solid #ddd;
}
.panel-default {
border-color: #ddd;
}
.panel-default > .panel-heading {
color: #333333;
background-color: #f5f5f5;
border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
color: #f5f5f5;
background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ddd;
}
.panel-primary {
border-color: #337ab7;
}
.panel-primary > .panel-heading {
color: #fff;
background-color: #337ab7;
border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
color: #337ab7;
background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #337ab7;
}
.panel-success {
border-color: #d6e9c6;
}
.panel-success > .panel-heading {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
color: #dff0d8;
background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #d6e9c6;
}
.panel-info {
border-color: #bce8f1;
}
.panel-info > .panel-heading {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
color: #d9edf7;
background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #bce8f1;
}
.panel-warning {
border-color: #faebcc;
}
.panel-warning > .panel-heading {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
color: #fcf8e3;
background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #faebcc;
}
.panel-danger {
border-color: #ebccd1;
}
.panel-danger > .panel-heading {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
color: #f2dede;
background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #ebccd1;
}
.embed-responsive {
position: relative;
display: block;
height: 0;
padding: 0;
overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 100%;
width: 100%;
border: 0;
}
.embed-responsive-16by9 {
padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
padding-bottom: 75%;
}
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
border-color: #ddd;
border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
padding: 24px;
border-radius: 3px;
}
.well-sm {
padding: 9px;
border-radius: 1px;
}
.close {
float: right;
font-size: 19.5px;
font-weight: bold;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: 0.2;
filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: 0.5;
filter: alpha(opacity=50);
}
button.close {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
}
.modal-open {
overflow: hidden;
}
.modal {
display: none;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1050;
-webkit-overflow-scrolling: touch;
outline: 0;
}
.modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%);
-o-transform: translate(0, -25%);
transform: translate(0, -25%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
.modal-open .modal {
overflow-x: hidden;
overflow-y: auto;
}
.modal-dialog {
position: relative;
width: auto;
margin: 10px;
}
.modal-content {
position: relative;
background-color: #fff;
border: 1px solid #999;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
background-clip: padding-box;
outline: 0;
}
.modal-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background-color: #000;
}
.modal-backdrop.fade {
opacity: 0;
filter: alpha(opacity=0);
}
.modal-backdrop.in {
opacity: 0.5;
filter: alpha(opacity=50);
}
.modal-header {
padding: 15px;
border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
margin-top: -2px;
}
.modal-title {
margin: 0;
line-height: 1.42857143;
}
.modal-body {
position: relative;
padding: 15px;
}
.modal-footer {
padding: 15px;
text-align: right;
border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
margin-left: 5px;
margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
margin-left: 0;
}
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll;
}
@media (min-width: 768px) {
.modal-dialog {
width: 600px;
margin: 30px auto;
}
.modal-content {
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
.modal-sm {
width: 300px;
}
}
@media (min-width: 992px) {
.modal-lg {
width: 900px;
}
}
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 12px;
opacity: 0;
filter: alpha(opacity=0);
}
.tooltip.in {
opacity: 0.9;
filter: alpha(opacity=90);
}
.tooltip.top {
margin-top: -3px;
padding: 5px 0;
}
.tooltip.right {
margin-left: 3px;
padding: 0 5px;
}
.tooltip.bottom {
margin-top: 3px;
padding: 5px 0;
}
.tooltip.left {
margin-left: -3px;
padding: 0 5px;
}
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
color: #fff;
text-align: center;
background-color: #000;
border-radius: 2px;
}
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.tooltip.top .tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
bottom: 0;
right: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
bottom: 0;
left: 5px;
margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
top: 50%;
left: 0;
margin-top: -5px;
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
top: 50%;
right: 0;
margin-top: -5px;
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
top: 0;
right: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
top: 0;
left: 5px;
margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1060;
display: none;
max-width: 276px;
padding: 1px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
font-size: 13px;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 3px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
margin-top: -10px;
}
.popover.right {
margin-left: 10px;
}
.popover.bottom {
margin-top: 10px;
}
.popover.left {
margin-left: -10px;
}
.popover-title {
margin: 0;
padding: 8px 14px;
font-size: 13px;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-radius: 2px 2px 0 0;
}
.popover-content {
padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover > .arrow {
border-width: 11px;
}
.popover > .arrow:after {
border-width: 10px;
content: "";
}
.popover.top > .arrow {
left: 50%;
margin-left: -11px;
border-bottom-width: 0;
border-top-color: #999999;
border-top-color: rgba(0, 0, 0, 0.25);
bottom: -11px;
}
.popover.top > .arrow:after {
content: " ";
bottom: 1px;
margin-left: -10px;
border-bottom-width: 0;
border-top-color: #fff;
}
.popover.right > .arrow {
top: 50%;
left: -11px;
margin-top: -11px;
border-left-width: 0;
border-right-color: #999999;
border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
content: " ";
left: 1px;
bottom: -10px;
border-left-width: 0;
border-right-color: #fff;
}
.popover.bottom > .arrow {
left: 50%;
margin-left: -11px;
border-top-width: 0;
border-bottom-color: #999999;
border-bottom-color: rgba(0, 0, 0, 0.25);
top: -11px;
}
.popover.bottom > .arrow:after {
content: " ";
top: 1px;
margin-left: -10px;
border-top-width: 0;
border-bottom-color: #fff;
}
.popover.left > .arrow {
top: 50%;
right: -11px;
margin-top: -11px;
border-right-width: 0;
border-left-color: #999999;
border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
content: " ";
right: 1px;
border-right-width: 0;
border-left-color: #fff;
bottom: -10px;
}
.carousel {
position: relative;
}
.carousel-inner {
position: relative;
overflow: hidden;
width: 100%;
}
.carousel-inner > .item {
display: none;
position: relative;
-webkit-transition: 0.6s ease-in-out left;
-o-transition: 0.6s ease-in-out left;
transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
.carousel-inner > .item {
-webkit-transition: -webkit-transform 0.6s ease-in-out;
-moz-transition: -moz-transform 0.6s ease-in-out;
-o-transition: -o-transform 0.6s ease-in-out;
transition: transform 0.6s ease-in-out;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
perspective: 1000px;
}
.carousel-inner > .item.next,
.carousel-inner > .item.active.right {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
left: 0;
}
.carousel-inner > .item.prev,
.carousel-inner > .item.active.left {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
left: 0;
}
.carousel-inner > .item.next.left,
.carousel-inner > .item.prev.right,
.carousel-inner > .item.active {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
left: 0;
}
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
display: block;
}
.carousel-inner > .active {
left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
position: absolute;
top: 0;
width: 100%;
}
.carousel-inner > .next {
left: 100%;
}
.carousel-inner > .prev {
left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
left: 0;
}
.carousel-inner > .active.left {
left: -100%;
}
.carousel-inner > .active.right {
left: 100%;
}
.carousel-control {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 15%;
opacity: 0.5;
filter: alpha(opacity=50);
font-size: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
left: auto;
right: 0;
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
outline: 0;
color: #fff;
text-decoration: none;
opacity: 0.9;
filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
position: absolute;
top: 50%;
margin-top: -10px;
z-index: 5;
display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
left: 50%;
margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
right: 50%;
margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 20px;
height: 20px;
line-height: 1;
font-family: serif;
}
.carousel-control .icon-prev:before {
content: '\2039';
}
.carousel-control .icon-next:before {
content: '\203a';
}
.carousel-indicators {
position: absolute;
bottom: 10px;
left: 50%;
z-index: 15;
width: 60%;
margin-left: -30%;
padding-left: 0;
list-style: none;
text-align: center;
}
.carousel-indicators li {
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
border: 1px solid #fff;
border-radius: 10px;
cursor: pointer;
background-color: #000 \9;
background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
margin: 0;
width: 12px;
height: 12px;
background-color: #fff;
}
.carousel-caption {
position: absolute;
left: 15%;
right: 15%;
bottom: 20px;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
text-shadow: none;
}
@media screen and (min-width: 768px) {
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-prev,
.carousel-control .icon-next {
width: 30px;
height: 30px;
margin-top: -10px;
font-size: 30px;
}
.carousel-control .glyphicon-chevron-left,
.carousel-control .icon-prev {
margin-left: -10px;
}
.carousel-control .glyphicon-chevron-right,
.carousel-control .icon-next {
margin-right: -10px;
}
.carousel-caption {
left: 20%;
right: 20%;
padding-bottom: 30px;
}
.carousel-indicators {
bottom: 20px;
}
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
content: " ";
display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
clear: both;
}
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
.pull-right {
float: right !important;
}
.pull-left {
float: left !important;
}
.hide {
display: none !important;
}
.show {
display: block !important;
}
.invisible {
visibility: hidden;
}
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.hidden {
display: none !important;
}
.affix {
position: fixed;
}
@-ms-viewport {
width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
display: none !important;
}
@media (max-width: 767px) {
.visible-xs {
display: block !important;
}
table.visible-xs {
display: table !important;
}
tr.visible-xs {
display: table-row !important;
}
th.visible-xs,
td.visible-xs {
display: table-cell !important;
}
}
@media (max-width: 767px) {
.visible-xs-block {
display: block !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline {
display: inline !important;
}
}
@media (max-width: 767px) {
.visible-xs-inline-block {
display: inline-block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm {
display: block !important;
}
table.visible-sm {
display: table !important;
}
tr.visible-sm {
display: table-row !important;
}
th.visible-sm,
td.visible-sm {
display: table-cell !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-block {
display: block !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline {
display: inline !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.visible-sm-inline-block {
display: inline-block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md {
display: block !important;
}
table.visible-md {
display: table !important;
}
tr.visible-md {
display: table-row !important;
}
th.visible-md,
td.visible-md {
display: table-cell !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-block {
display: block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline {
display: inline !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.visible-md-inline-block {
display: inline-block !important;
}
}
@media (min-width: 1200px) {
.visible-lg {
display: block !important;
}
table.visible-lg {
display: table !important;
}
tr.visible-lg {
display: table-row !important;
}
th.visible-lg,
td.visible-lg {
display: table-cell !important;
}
}
@media (min-width: 1200px) {
.visible-lg-block {
display: block !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline {
display: inline !important;
}
}
@media (min-width: 1200px) {
.visible-lg-inline-block {
display: inline-block !important;
}
}
@media (max-width: 767px) {
.hidden-xs {
display: none !important;
}
}
@media (min-width: 768px) and (max-width: 991px) {
.hidden-sm {
display: none !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
.hidden-md {
display: none !important;
}
}
@media (min-width: 1200px) {
.hidden-lg {
display: none !important;
}
}
.visible-print {
display: none !important;
}
@media print {
.visible-print {
display: block !important;
}
table.visible-print {
display: table !important;
}
tr.visible-print {
display: table-row !important;
}
th.visible-print,
td.visible-print {
display: table-cell !important;
}
}
.visible-print-block {
display: none !important;
}
@media print {
.visible-print-block {
display: block !important;
}
}
.visible-print-inline {
display: none !important;
}
@media print {
.visible-print-inline {
display: inline !important;
}
}
.visible-print-inline-block {
display: none !important;
}
@media print {
.visible-print-inline-block {
display: inline-block !important;
}
}
@media print {
.hidden-print {
display: none !important;
}
}
/*!
*
* Font Awesome
*
*/
/*!
* Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
.fa {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
font-size: 1.33333333em;
line-height: 0.75em;
vertical-align: -15%;
}
.fa-2x {
font-size: 2em;
}
.fa-3x {
font-size: 3em;
}
.fa-4x {
font-size: 4em;
}
.fa-5x {
font-size: 5em;
}
.fa-fw {
width: 1.28571429em;
text-align: center;
}
.fa-ul {
padding-left: 0;
margin-left: 2.14285714em;
list-style-type: none;
}
.fa-ul > li {
position: relative;
}
.fa-li {
position: absolute;
left: -2.14285714em;
width: 2.14285714em;
top: 0.14285714em;
text-align: center;
}
.fa-li.fa-lg {
left: -1.85714286em;
}
.fa-border {
padding: .2em .25em .15em;
border: solid 0.08em #eee;
border-radius: .1em;
}
.pull-right {
float: right;
}
.pull-left {
float: left;
}
.fa.pull-left {
margin-right: .3em;
}
.fa.pull-right {
margin-left: .3em;
}
.fa-spin {
-webkit-animation: fa-spin 2s infinite linear;
animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
.fa-rotate-90 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
.fa-rotate-180 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.fa-rotate-270 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-webkit-transform: rotate(270deg);
-ms-transform: rotate(270deg);
transform: rotate(270deg);
}
.fa-flip-horizontal {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
-webkit-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
transform: scale(-1, 1);
}
.fa-flip-vertical {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
-webkit-transform: scale(1, -1);
-ms-transform: scale(1, -1);
transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
filter: none;
}
.fa-stack {
position: relative;
display: inline-block;
width: 2em;
height: 2em;
line-height: 2em;
vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
position: absolute;
left: 0;
width: 100%;
text-align: center;
}
.fa-stack-1x {
line-height: inherit;
}
.fa-stack-2x {
font-size: 2em;
}
.fa-inverse {
color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-glass:before {
content: "\f000";
}
.fa-music:before {
content: "\f001";
}
.fa-search:before {
content: "\f002";
}
.fa-envelope-o:before {
content: "\f003";
}
.fa-heart:before {
content: "\f004";
}
.fa-star:before {
content: "\f005";
}
.fa-star-o:before {
content: "\f006";
}
.fa-user:before {
content: "\f007";
}
.fa-film:before {
content: "\f008";
}
.fa-th-large:before {
content: "\f009";
}
.fa-th:before {
content: "\f00a";
}
.fa-th-list:before {
content: "\f00b";
}
.fa-check:before {
content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
content: "\f00d";
}
.fa-search-plus:before {
content: "\f00e";
}
.fa-search-minus:before {
content: "\f010";
}
.fa-power-off:before {
content: "\f011";
}
.fa-signal:before {
content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
content: "\f013";
}
.fa-trash-o:before {
content: "\f014";
}
.fa-home:before {
content: "\f015";
}
.fa-file-o:before {
content: "\f016";
}
.fa-clock-o:before {
content: "\f017";
}
.fa-road:before {
content: "\f018";
}
.fa-download:before {
content: "\f019";
}
.fa-arrow-circle-o-down:before {
content: "\f01a";
}
.fa-arrow-circle-o-up:before {
content: "\f01b";
}
.fa-inbox:before {
content: "\f01c";
}
.fa-play-circle-o:before {
content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
content: "\f01e";
}
.fa-refresh:before {
content: "\f021";
}
.fa-list-alt:before {
content: "\f022";
}
.fa-lock:before {
content: "\f023";
}
.fa-flag:before {
content: "\f024";
}
.fa-headphones:before {
content: "\f025";
}
.fa-volume-off:before {
content: "\f026";
}
.fa-volume-down:before {
content: "\f027";
}
.fa-volume-up:before {
content: "\f028";
}
.fa-qrcode:before {
content: "\f029";
}
.fa-barcode:before {
content: "\f02a";
}
.fa-tag:before {
content: "\f02b";
}
.fa-tags:before {
content: "\f02c";
}
.fa-book:before {
content: "\f02d";
}
.fa-bookmark:before {
content: "\f02e";
}
.fa-print:before {
content: "\f02f";
}
.fa-camera:before {
content: "\f030";
}
.fa-font:before {
content: "\f031";
}
.fa-bold:before {
content: "\f032";
}
.fa-italic:before {
content: "\f033";
}
.fa-text-height:before {
content: "\f034";
}
.fa-text-width:before {
content: "\f035";
}
.fa-align-left:before {
content: "\f036";
}
.fa-align-center:before {
content: "\f037";
}
.fa-align-right:before {
content: "\f038";
}
.fa-align-justify:before {
content: "\f039";
}
.fa-list:before {
content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
content: "\f03b";
}
.fa-indent:before {
content: "\f03c";
}
.fa-video-camera:before {
content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
content: "\f03e";
}
.fa-pencil:before {
content: "\f040";
}
.fa-map-marker:before {
content: "\f041";
}
.fa-adjust:before {
content: "\f042";
}
.fa-tint:before {
content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
content: "\f044";
}
.fa-share-square-o:before {
content: "\f045";
}
.fa-check-square-o:before {
content: "\f046";
}
.fa-arrows:before {
content: "\f047";
}
.fa-step-backward:before {
content: "\f048";
}
.fa-fast-backward:before {
content: "\f049";
}
.fa-backward:before {
content: "\f04a";
}
.fa-play:before {
content: "\f04b";
}
.fa-pause:before {
content: "\f04c";
}
.fa-stop:before {
content: "\f04d";
}
.fa-forward:before {
content: "\f04e";
}
.fa-fast-forward:before {
content: "\f050";
}
.fa-step-forward:before {
content: "\f051";
}
.fa-eject:before {
content: "\f052";
}
.fa-chevron-left:before {
content: "\f053";
}
.fa-chevron-right:before {
content: "\f054";
}
.fa-plus-circle:before {
content: "\f055";
}
.fa-minus-circle:before {
content: "\f056";
}
.fa-times-circle:before {
content: "\f057";
}
.fa-check-circle:before {
content: "\f058";
}
.fa-question-circle:before {
content: "\f059";
}
.fa-info-circle:before {
content: "\f05a";
}
.fa-crosshairs:before {
content: "\f05b";
}
.fa-times-circle-o:before {
content: "\f05c";
}
.fa-check-circle-o:before {
content: "\f05d";
}
.fa-ban:before {
content: "\f05e";
}
.fa-arrow-left:before {
content: "\f060";
}
.fa-arrow-right:before {
content: "\f061";
}
.fa-arrow-up:before {
content: "\f062";
}
.fa-arrow-down:before {
content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
content: "\f064";
}
.fa-expand:before {
content: "\f065";
}
.fa-compress:before {
content: "\f066";
}
.fa-plus:before {
content: "\f067";
}
.fa-minus:before {
content: "\f068";
}
.fa-asterisk:before {
content: "\f069";
}
.fa-exclamation-circle:before {
content: "\f06a";
}
.fa-gift:before {
content: "\f06b";
}
.fa-leaf:before {
content: "\f06c";
}
.fa-fire:before {
content: "\f06d";
}
.fa-eye:before {
content: "\f06e";
}
.fa-eye-slash:before {
content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
content: "\f071";
}
.fa-plane:before {
content: "\f072";
}
.fa-calendar:before {
content: "\f073";
}
.fa-random:before {
content: "\f074";
}
.fa-comment:before {
content: "\f075";
}
.fa-magnet:before {
content: "\f076";
}
.fa-chevron-up:before {
content: "\f077";
}
.fa-chevron-down:before {
content: "\f078";
}
.fa-retweet:before {
content: "\f079";
}
.fa-shopping-cart:before {
content: "\f07a";
}
.fa-folder:before {
content: "\f07b";
}
.fa-folder-open:before {
content: "\f07c";
}
.fa-arrows-v:before {
content: "\f07d";
}
.fa-arrows-h:before {
content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
content: "\f080";
}
.fa-twitter-square:before {
content: "\f081";
}
.fa-facebook-square:before {
content: "\f082";
}
.fa-camera-retro:before {
content: "\f083";
}
.fa-key:before {
content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
content: "\f085";
}
.fa-comments:before {
content: "\f086";
}
.fa-thumbs-o-up:before {
content: "\f087";
}
.fa-thumbs-o-down:before {
content: "\f088";
}
.fa-star-half:before {
content: "\f089";
}
.fa-heart-o:before {
content: "\f08a";
}
.fa-sign-out:before {
content: "\f08b";
}
.fa-linkedin-square:before {
content: "\f08c";
}
.fa-thumb-tack:before {
content: "\f08d";
}
.fa-external-link:before {
content: "\f08e";
}
.fa-sign-in:before {
content: "\f090";
}
.fa-trophy:before {
content: "\f091";
}
.fa-github-square:before {
content: "\f092";
}
.fa-upload:before {
content: "\f093";
}
.fa-lemon-o:before {
content: "\f094";
}
.fa-phone:before {
content: "\f095";
}
.fa-square-o:before {
content: "\f096";
}
.fa-bookmark-o:before {
content: "\f097";
}
.fa-phone-square:before {
content: "\f098";
}
.fa-twitter:before {
content: "\f099";
}
.fa-facebook:before {
content: "\f09a";
}
.fa-github:before {
content: "\f09b";
}
.fa-unlock:before {
content: "\f09c";
}
.fa-credit-card:before {
content: "\f09d";
}
.fa-rss:before {
content: "\f09e";
}
.fa-hdd-o:before {
content: "\f0a0";
}
.fa-bullhorn:before {
content: "\f0a1";
}
.fa-bell:before {
content: "\f0f3";
}
.fa-certificate:before {
content: "\f0a3";
}
.fa-hand-o-right:before {
content: "\f0a4";
}
.fa-hand-o-left:before {
content: "\f0a5";
}
.fa-hand-o-up:before {
content: "\f0a6";
}
.fa-hand-o-down:before {
content: "\f0a7";
}
.fa-arrow-circle-left:before {
content: "\f0a8";
}
.fa-arrow-circle-right:before {
content: "\f0a9";
}
.fa-arrow-circle-up:before {
content: "\f0aa";
}
.fa-arrow-circle-down:before {
content: "\f0ab";
}
.fa-globe:before {
content: "\f0ac";
}
.fa-wrench:before {
content: "\f0ad";
}
.fa-tasks:before {
content: "\f0ae";
}
.fa-filter:before {
content: "\f0b0";
}
.fa-briefcase:before {
content: "\f0b1";
}
.fa-arrows-alt:before {
content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
content: "\f0c1";
}
.fa-cloud:before {
content: "\f0c2";
}
.fa-flask:before {
content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
content: "\f0c5";
}
.fa-paperclip:before {
content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
content: "\f0c7";
}
.fa-square:before {
content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
content: "\f0c9";
}
.fa-list-ul:before {
content: "\f0ca";
}
.fa-list-ol:before {
content: "\f0cb";
}
.fa-strikethrough:before {
content: "\f0cc";
}
.fa-underline:before {
content: "\f0cd";
}
.fa-table:before {
content: "\f0ce";
}
.fa-magic:before {
content: "\f0d0";
}
.fa-truck:before {
content: "\f0d1";
}
.fa-pinterest:before {
content: "\f0d2";
}
.fa-pinterest-square:before {
content: "\f0d3";
}
.fa-google-plus-square:before {
content: "\f0d4";
}
.fa-google-plus:before {
content: "\f0d5";
}
.fa-money:before {
content: "\f0d6";
}
.fa-caret-down:before {
content: "\f0d7";
}
.fa-caret-up:before {
content: "\f0d8";
}
.fa-caret-left:before {
content: "\f0d9";
}
.fa-caret-right:before {
content: "\f0da";
}
.fa-columns:before {
content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
content: "\f0de";
}
.fa-envelope:before {
content: "\f0e0";
}
.fa-linkedin:before {
content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
content: "\f0e4";
}
.fa-comment-o:before {
content: "\f0e5";
}
.fa-comments-o:before {
content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
content: "\f0e7";
}
.fa-sitemap:before {
content: "\f0e8";
}
.fa-umbrella:before {
content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
content: "\f0ea";
}
.fa-lightbulb-o:before {
content: "\f0eb";
}
.fa-exchange:before {
content: "\f0ec";
}
.fa-cloud-download:before {
content: "\f0ed";
}
.fa-cloud-upload:before {
content: "\f0ee";
}
.fa-user-md:before {
content: "\f0f0";
}
.fa-stethoscope:before {
content: "\f0f1";
}
.fa-suitcase:before {
content: "\f0f2";
}
.fa-bell-o:before {
content: "\f0a2";
}
.fa-coffee:before {
content: "\f0f4";
}
.fa-cutlery:before {
content: "\f0f5";
}
.fa-file-text-o:before {
content: "\f0f6";
}
.fa-building-o:before {
content: "\f0f7";
}
.fa-hospital-o:before {
content: "\f0f8";
}
.fa-ambulance:before {
content: "\f0f9";
}
.fa-medkit:before {
content: "\f0fa";
}
.fa-fighter-jet:before {
content: "\f0fb";
}
.fa-beer:before {
content: "\f0fc";
}
.fa-h-square:before {
content: "\f0fd";
}
.fa-plus-square:before {
content: "\f0fe";
}
.fa-angle-double-left:before {
content: "\f100";
}
.fa-angle-double-right:before {
content: "\f101";
}
.fa-angle-double-up:before {
content: "\f102";
}
.fa-angle-double-down:before {
content: "\f103";
}
.fa-angle-left:before {
content: "\f104";
}
.fa-angle-right:before {
content: "\f105";
}
.fa-angle-up:before {
content: "\f106";
}
.fa-angle-down:before {
content: "\f107";
}
.fa-desktop:before {
content: "\f108";
}
.fa-laptop:before {
content: "\f109";
}
.fa-tablet:before {
content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
content: "\f10b";
}
.fa-circle-o:before {
content: "\f10c";
}
.fa-quote-left:before {
content: "\f10d";
}
.fa-quote-right:before {
content: "\f10e";
}
.fa-spinner:before {
content: "\f110";
}
.fa-circle:before {
content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
content: "\f112";
}
.fa-github-alt:before {
content: "\f113";
}
.fa-folder-o:before {
content: "\f114";
}
.fa-folder-open-o:before {
content: "\f115";
}
.fa-smile-o:before {
content: "\f118";
}
.fa-frown-o:before {
content: "\f119";
}
.fa-meh-o:before {
content: "\f11a";
}
.fa-gamepad:before {
content: "\f11b";
}
.fa-keyboard-o:before {
content: "\f11c";
}
.fa-flag-o:before {
content: "\f11d";
}
.fa-flag-checkered:before {
content: "\f11e";
}
.fa-terminal:before {
content: "\f120";
}
.fa-code:before {
content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
content: "\f123";
}
.fa-location-arrow:before {
content: "\f124";
}
.fa-crop:before {
content: "\f125";
}
.fa-code-fork:before {
content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
content: "\f127";
}
.fa-question:before {
content: "\f128";
}
.fa-info:before {
content: "\f129";
}
.fa-exclamation:before {
content: "\f12a";
}
.fa-superscript:before {
content: "\f12b";
}
.fa-subscript:before {
content: "\f12c";
}
.fa-eraser:before {
content: "\f12d";
}
.fa-puzzle-piece:before {
content: "\f12e";
}
.fa-microphone:before {
content: "\f130";
}
.fa-microphone-slash:before {
content: "\f131";
}
.fa-shield:before {
content: "\f132";
}
.fa-calendar-o:before {
content: "\f133";
}
.fa-fire-extinguisher:before {
content: "\f134";
}
.fa-rocket:before {
content: "\f135";
}
.fa-maxcdn:before {
content: "\f136";
}
.fa-chevron-circle-left:before {
content: "\f137";
}
.fa-chevron-circle-right:before {
content: "\f138";
}
.fa-chevron-circle-up:before {
content: "\f139";
}
.fa-chevron-circle-down:before {
content: "\f13a";
}
.fa-html5:before {
content: "\f13b";
}
.fa-css3:before {
content: "\f13c";
}
.fa-anchor:before {
content: "\f13d";
}
.fa-unlock-alt:before {
content: "\f13e";
}
.fa-bullseye:before {
content: "\f140";
}
.fa-ellipsis-h:before {
content: "\f141";
}
.fa-ellipsis-v:before {
content: "\f142";
}
.fa-rss-square:before {
content: "\f143";
}
.fa-play-circle:before {
content: "\f144";
}
.fa-ticket:before {
content: "\f145";
}
.fa-minus-square:before {
content: "\f146";
}
.fa-minus-square-o:before {
content: "\f147";
}
.fa-level-up:before {
content: "\f148";
}
.fa-level-down:before {
content: "\f149";
}
.fa-check-square:before {
content: "\f14a";
}
.fa-pencil-square:before {
content: "\f14b";
}
.fa-external-link-square:before {
content: "\f14c";
}
.fa-share-square:before {
content: "\f14d";
}
.fa-compass:before {
content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
content: "\f153";
}
.fa-gbp:before {
content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
content: "\f158";
}
.fa-won:before,
.fa-krw:before {
content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
content: "\f15a";
}
.fa-file:before {
content: "\f15b";
}
.fa-file-text:before {
content: "\f15c";
}
.fa-sort-alpha-asc:before {
content: "\f15d";
}
.fa-sort-alpha-desc:before {
content: "\f15e";
}
.fa-sort-amount-asc:before {
content: "\f160";
}
.fa-sort-amount-desc:before {
content: "\f161";
}
.fa-sort-numeric-asc:before {
content: "\f162";
}
.fa-sort-numeric-desc:before {
content: "\f163";
}
.fa-thumbs-up:before {
content: "\f164";
}
.fa-thumbs-down:before {
content: "\f165";
}
.fa-youtube-square:before {
content: "\f166";
}
.fa-youtube:before {
content: "\f167";
}
.fa-xing:before {
content: "\f168";
}
.fa-xing-square:before {
content: "\f169";
}
.fa-youtube-play:before {
content: "\f16a";
}
.fa-dropbox:before {
content: "\f16b";
}
.fa-stack-overflow:before {
content: "\f16c";
}
.fa-instagram:before {
content: "\f16d";
}
.fa-flickr:before {
content: "\f16e";
}
.fa-adn:before {
content: "\f170";
}
.fa-bitbucket:before {
content: "\f171";
}
.fa-bitbucket-square:before {
content: "\f172";
}
.fa-tumblr:before {
content: "\f173";
}
.fa-tumblr-square:before {
content: "\f174";
}
.fa-long-arrow-down:before {
content: "\f175";
}
.fa-long-arrow-up:before {
content: "\f176";
}
.fa-long-arrow-left:before {
content: "\f177";
}
.fa-long-arrow-right:before {
content: "\f178";
}
.fa-apple:before {
content: "\f179";
}
.fa-windows:before {
content: "\f17a";
}
.fa-android:before {
content: "\f17b";
}
.fa-linux:before {
content: "\f17c";
}
.fa-dribbble:before {
content: "\f17d";
}
.fa-skype:before {
content: "\f17e";
}
.fa-foursquare:before {
content: "\f180";
}
.fa-trello:before {
content: "\f181";
}
.fa-female:before {
content: "\f182";
}
.fa-male:before {
content: "\f183";
}
.fa-gittip:before {
content: "\f184";
}
.fa-sun-o:before {
content: "\f185";
}
.fa-moon-o:before {
content: "\f186";
}
.fa-archive:before {
content: "\f187";
}
.fa-bug:before {
content: "\f188";
}
.fa-vk:before {
content: "\f189";
}
.fa-weibo:before {
content: "\f18a";
}
.fa-renren:before {
content: "\f18b";
}
.fa-pagelines:before {
content: "\f18c";
}
.fa-stack-exchange:before {
content: "\f18d";
}
.fa-arrow-circle-o-right:before {
content: "\f18e";
}
.fa-arrow-circle-o-left:before {
content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
content: "\f191";
}
.fa-dot-circle-o:before {
content: "\f192";
}
.fa-wheelchair:before {
content: "\f193";
}
.fa-vimeo-square:before {
content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
content: "\f195";
}
.fa-plus-square-o:before {
content: "\f196";
}
.fa-space-shuttle:before {
content: "\f197";
}
.fa-slack:before {
content: "\f198";
}
.fa-envelope-square:before {
content: "\f199";
}
.fa-wordpress:before {
content: "\f19a";
}
.fa-openid:before {
content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
content: "\f19d";
}
.fa-yahoo:before {
content: "\f19e";
}
.fa-google:before {
content: "\f1a0";
}
.fa-reddit:before {
content: "\f1a1";
}
.fa-reddit-square:before {
content: "\f1a2";
}
.fa-stumbleupon-circle:before {
content: "\f1a3";
}
.fa-stumbleupon:before {
content: "\f1a4";
}
.fa-delicious:before {
content: "\f1a5";
}
.fa-digg:before {
content: "\f1a6";
}
.fa-pied-piper:before {
content: "\f1a7";
}
.fa-pied-piper-alt:before {
content: "\f1a8";
}
.fa-drupal:before {
content: "\f1a9";
}
.fa-joomla:before {
content: "\f1aa";
}
.fa-language:before {
content: "\f1ab";
}
.fa-fax:before {
content: "\f1ac";
}
.fa-building:before {
content: "\f1ad";
}
.fa-child:before {
content: "\f1ae";
}
.fa-paw:before {
content: "\f1b0";
}
.fa-spoon:before {
content: "\f1b1";
}
.fa-cube:before {
content: "\f1b2";
}
.fa-cubes:before {
content: "\f1b3";
}
.fa-behance:before {
content: "\f1b4";
}
.fa-behance-square:before {
content: "\f1b5";
}
.fa-steam:before {
content: "\f1b6";
}
.fa-steam-square:before {
content: "\f1b7";
}
.fa-recycle:before {
content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
content: "\f1ba";
}
.fa-tree:before {
content: "\f1bb";
}
.fa-spotify:before {
content: "\f1bc";
}
.fa-deviantart:before {
content: "\f1bd";
}
.fa-soundcloud:before {
content: "\f1be";
}
.fa-database:before {
content: "\f1c0";
}
.fa-file-pdf-o:before {
content: "\f1c1";
}
.fa-file-word-o:before {
content: "\f1c2";
}
.fa-file-excel-o:before {
content: "\f1c3";
}
.fa-file-powerpoint-o:before {
content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
content: "\f1c8";
}
.fa-file-code-o:before {
content: "\f1c9";
}
.fa-vine:before {
content: "\f1ca";
}
.fa-codepen:before {
content: "\f1cb";
}
.fa-jsfiddle:before {
content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
content: "\f1cd";
}
.fa-circle-o-notch:before {
content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
content: "\f1d1";
}
.fa-git-square:before {
content: "\f1d2";
}
.fa-git:before {
content: "\f1d3";
}
.fa-hacker-news:before {
content: "\f1d4";
}
.fa-tencent-weibo:before {
content: "\f1d5";
}
.fa-qq:before {
content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
content: "\f1d9";
}
.fa-history:before {
content: "\f1da";
}
.fa-circle-thin:before {
content: "\f1db";
}
.fa-header:before {
content: "\f1dc";
}
.fa-paragraph:before {
content: "\f1dd";
}
.fa-sliders:before {
content: "\f1de";
}
.fa-share-alt:before {
content: "\f1e0";
}
.fa-share-alt-square:before {
content: "\f1e1";
}
.fa-bomb:before {
content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
content: "\f1e3";
}
.fa-tty:before {
content: "\f1e4";
}
.fa-binoculars:before {
content: "\f1e5";
}
.fa-plug:before {
content: "\f1e6";
}
.fa-slideshare:before {
content: "\f1e7";
}
.fa-twitch:before {
content: "\f1e8";
}
.fa-yelp:before {
content: "\f1e9";
}
.fa-newspaper-o:before {
content: "\f1ea";
}
.fa-wifi:before {
content: "\f1eb";
}
.fa-calculator:before {
content: "\f1ec";
}
.fa-paypal:before {
content: "\f1ed";
}
.fa-google-wallet:before {
content: "\f1ee";
}
.fa-cc-visa:before {
content: "\f1f0";
}
.fa-cc-mastercard:before {
content: "\f1f1";
}
.fa-cc-discover:before {
content: "\f1f2";
}
.fa-cc-amex:before {
content: "\f1f3";
}
.fa-cc-paypal:before {
content: "\f1f4";
}
.fa-cc-stripe:before {
content: "\f1f5";
}
.fa-bell-slash:before {
content: "\f1f6";
}
.fa-bell-slash-o:before {
content: "\f1f7";
}
.fa-trash:before {
content: "\f1f8";
}
.fa-copyright:before {
content: "\f1f9";
}
.fa-at:before {
content: "\f1fa";
}
.fa-eyedropper:before {
content: "\f1fb";
}
.fa-paint-brush:before {
content: "\f1fc";
}
.fa-birthday-cake:before {
content: "\f1fd";
}
.fa-area-chart:before {
content: "\f1fe";
}
.fa-pie-chart:before {
content: "\f200";
}
.fa-line-chart:before {
content: "\f201";
}
.fa-lastfm:before {
content: "\f202";
}
.fa-lastfm-square:before {
content: "\f203";
}
.fa-toggle-off:before {
content: "\f204";
}
.fa-toggle-on:before {
content: "\f205";
}
.fa-bicycle:before {
content: "\f206";
}
.fa-bus:before {
content: "\f207";
}
.fa-ioxhost:before {
content: "\f208";
}
.fa-angellist:before {
content: "\f209";
}
.fa-cc:before {
content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
content: "\f20b";
}
.fa-meanpath:before {
content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
-o-transform: translate(0, 0);
transform: translate(0, 0);
}
code {
color: #000;
}
pre {
font-size: inherit;
line-height: inherit;
}
label {
font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.corner-all {
border-radius: 2px;
}
.no-padding {
padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer. It allows the usage of flexible box
model layouts accross multiple browsers, including older browsers. The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below). Browsers that are known to implement this
new spec completely include:
Firefox 28.0+
Chrome 29.0+
Internet Explorer 11+
Opera 17.0+
Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
.hbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.vbox {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
.vbox > * {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
/* Old browsers */
-webkit-box-direction: reverse;
-moz-box-direction: reverse;
box-direction: reverse;
/* Modern browsers */
flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
/* Old browsers */
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
/* Modern browsers */
flex: none;
width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
/* Old browsers */
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
/* Old browsers */
-webkit-box-flex: 2;
-moz-box-flex: 2;
box-flex: 2;
/* Modern browsers */
flex: 2;
}
.box-group1 {
/* Deprecated */
-webkit-box-flex-group: 1;
-moz-box-flex-group: 1;
box-flex-group: 1;
}
.box-group2 {
/* Deprecated */
-webkit-box-flex-group: 2;
-moz-box-flex-group: 2;
box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
/* Old browsers */
-webkit-box-pack: start;
-moz-box-pack: start;
box-pack: start;
/* Modern browsers */
justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
/* Old browsers */
-webkit-box-pack: center;
-moz-box-pack: center;
box-pack: center;
/* Modern browsers */
justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
/* Old browsers */
-webkit-box-pack: baseline;
-moz-box-pack: baseline;
box-pack: baseline;
/* Modern browsers */
justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
/* Old browsers */
-webkit-box-pack: stretch;
-moz-box-pack: stretch;
box-pack: stretch;
/* Modern browsers */
justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
/* Old browsers */
-webkit-box-align: start;
-moz-box-align: start;
box-align: start;
/* Modern browsers */
align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
/* Old browsers */
-webkit-box-align: end;
-moz-box-align: end;
box-align: end;
/* Modern browsers */
align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
/* Old browsers */
-webkit-box-align: center;
-moz-box-align: center;
box-align: center;
/* Modern browsers */
align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
/* Old browsers */
-webkit-box-align: baseline;
-moz-box-align: baseline;
box-align: baseline;
/* Modern browsers */
align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
/* Old browsers */
-webkit-box-align: stretch;
-moz-box-align: stretch;
box-align: stretch;
/* Modern browsers */
align-items: stretch;
}
div.error {
margin: 2em;
text-align: center;
}
div.error > h1 {
font-size: 500%;
line-height: normal;
}
div.error > p {
font-size: 200%;
line-height: normal;
}
div.traceback-wrapper {
text-align: left;
max-width: 800px;
margin: auto;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
body {
background-color: #fff;
/* This makes sure that the body covers the entire window and needs to
be in a different element than the display: box in wrapper below */
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
overflow: visible;
}
body > #header {
/* Initially hidden to prevent FLOUC */
display: none;
background-color: #fff;
/* Display over codemirror */
position: relative;
z-index: 100;
}
body > #header #header-container {
padding-bottom: 5px;
padding-top: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
body > #header .header-bar {
width: 100%;
height: 1px;
background: #e7e7e7;
margin-bottom: -1px;
}
@media print {
body > #header {
display: none !important;
}
}
#header-spacer {
width: 100%;
visibility: hidden;
}
@media print {
#header-spacer {
display: none;
}
}
#ipython_notebook {
padding-left: 0px;
padding-top: 1px;
padding-bottom: 1px;
}
@media (max-width: 991px) {
#ipython_notebook {
margin-left: 10px;
}
}
#noscript {
width: auto;
padding-top: 16px;
padding-bottom: 16px;
text-align: center;
font-size: 22px;
color: red;
font-weight: bold;
}
#ipython_notebook img {
height: 28px;
}
#site {
width: 100%;
display: none;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
overflow: auto;
}
@media print {
#site {
height: auto !important;
}
}
/* Smaller buttons */
.ui-button .ui-button-text {
padding: 0.2em 0.8em;
font-size: 77%;
}
input.ui-button {
padding: 0.3em 0.9em;
}
span#login_widget {
float: right;
}
span#login_widget > .button,
#logout {
color: #333;
background-color: #fff;
border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
background-color: #fff;
border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
color: #fff;
background-color: #333;
}
.nav-header {
text-transform: none;
}
#header > span {
margin-top: 10px;
}
.modal_stretch .modal-dialog {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
max-height: calc(100vh - 200px);
overflow: auto;
flex: 1;
}
@media (min-width: 768px) {
.modal .modal-dialog {
width: 700px;
}
}
@media (min-width: 768px) {
select.form-control {
margin-left: 12px;
margin-right: 12px;
}
}
/*!
*
* IPython auth
*
*/
.center-nav {
display: inline-block;
margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
background-color: none;
display: inline;
}
.alternate_upload.form {
padding: 0;
margin: 0;
}
.alternate_upload input.fileinput {
text-align: center;
vertical-align: middle;
display: inline;
opacity: 0;
z-index: 2;
width: 12ex;
margin-right: -12ex;
}
.alternate_upload .btn-upload {
height: 22px;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
ul#tabs {
margin-bottom: 4px;
}
ul#tabs a {
padding-top: 6px;
padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
text-decoration: none;
}
ul.breadcrumb i.icon-home {
font-size: 16px;
margin-right: 4px;
}
ul.breadcrumb span {
color: #5e5e5e;
}
.list_toolbar {
padding: 4px 0 4px 0;
vertical-align: middle;
}
.list_toolbar .tree-buttons {
padding-top: 1px;
}
.dynamic-buttons {
padding-top: 3px;
display: inline-block;
}
.list_toolbar [class*="span"] {
min-height: 24px;
}
.list_header {
font-weight: bold;
background-color: #EEE;
}
.list_placeholder {
font-weight: bold;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
}
.list_container {
margin-top: 4px;
margin-bottom: 20px;
border: 1px solid #ddd;
border-radius: 2px;
}
.list_container > div {
border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
background-color: red;
}
.list_container > div:last-child {
border: none;
}
.list_item:hover .list_item {
background-color: #ddd;
}
.list_item a {
text-decoration: none;
}
.list_item:hover {
background-color: #fafafa;
}
.list_header > div,
.list_item > div {
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
line-height: 22px;
}
.list_header > div input,
.list_item > div input {
margin-right: 7px;
margin-left: 14px;
vertical-align: baseline;
line-height: 22px;
position: relative;
top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
margin-left: -1px;
vertical-align: baseline;
line-height: 22px;
}
.new-file input[type=checkbox] {
visibility: hidden;
}
.item_name {
line-height: 22px;
height: 24px;
}
.item_icon {
font-size: 14px;
color: #5e5e5e;
margin-right: 7px;
margin-left: 7px;
line-height: 22px;
vertical-align: baseline;
}
.item_buttons {
line-height: 1em;
margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
margin-left: 5px;
}
.item_buttons .btn {
min-width: 13ex;
}
.item_buttons .running-indicator {
padding-top: 4px;
color: #5cb85c;
}
.item_buttons .kernel-name {
padding-top: 4px;
color: #5bc0de;
margin-right: 7px;
float: left;
}
.toolbar_info {
height: 24px;
line-height: 24px;
}
.list_item input:not([type=checkbox]) {
padding-top: 3px;
padding-bottom: 3px;
height: 22px;
line-height: 14px;
margin: 0px;
}
.highlight_text {
color: blue;
}
#project_name {
display: inline-block;
padding-left: 7px;
margin-left: -2px;
}
#project_name > .breadcrumb {
padding: 0px;
margin-bottom: 0px;
background-color: transparent;
font-weight: bold;
}
#tree-selector {
padding-right: 0px;
}
#button-select-all {
min-width: 50px;
}
#select-all {
margin-left: 7px;
margin-right: 2px;
}
.menu_icon {
margin-right: 2px;
}
.tab-content .row {
margin-left: 0px;
margin-right: 0px;
}
.folder_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f114";
}
.folder_icon:before.pull-left {
margin-right: .3em;
}
.folder_icon:before.pull-right {
margin-left: .3em;
}
.notebook_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f02d";
position: relative;
top: -1px;
}
.notebook_icon:before.pull-left {
margin-right: .3em;
}
.notebook_icon:before.pull-right {
margin-left: .3em;
}
.running_notebook_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f02d";
position: relative;
top: -1px;
color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
margin-left: .3em;
}
.file_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f016";
position: relative;
top: -2px;
}
.file_icon:before.pull-left {
margin-right: .3em;
}
.file_icon:before.pull-right {
margin-left: .3em;
}
#notebook_toolbar .pull-right {
padding-top: 0px;
margin-right: -1px;
}
ul#new-menu {
left: auto;
right: 0;
}
.kernel-menu-icon {
padding-right: 12px;
width: 24px;
content: "\f096";
}
.kernel-menu-icon:before {
content: "\f096";
}
.kernel-menu-icon-current:before {
content: "\f00c";
}
#tab_content {
padding-top: 20px;
}
#running .panel-group .panel {
margin-top: 3px;
margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
background-color: #EEE;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 7px;
padding-right: 7px;
line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
text-decoration: none;
}
#running .panel-group .panel .panel-body {
padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
margin-top: 0px;
margin-bottom: 0px;
border: 0px;
border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
border-bottom: 0px;
}
.delete-button {
display: none;
}
.duplicate-button {
display: none;
}
.rename-button {
display: none;
}
.shutdown-button {
display: none;
}
.dynamic-instructions {
display: inline-block;
padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
padding: 0px 5px;
}
.selected-keymap i.fa:before {
content: "\f00c";
}
#mode-menu {
overflow: auto;
max-height: 20em;
}
.edit_app #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
/* Use a negative 1 bottom margin, so the border overlaps the border of the
header */
margin-bottom: -1px;
}
.dirty-indicator {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator.pull-left {
margin-right: .3em;
}
.dirty-indicator.pull-right {
margin-left: .3em;
}
.dirty-indicator-dirty {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator-dirty.pull-left {
margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
margin-left: .3em;
}
.dirty-indicator-clean {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
width: 20px;
}
.dirty-indicator-clean.pull-left {
margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
margin-left: .3em;
}
.dirty-indicator-clean:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
margin-left: .3em;
}
#filename {
font-size: 16pt;
display: table;
padding: 0px 5px;
}
#current-mode {
padding-left: 5px;
padding-right: 5px;
}
#texteditor-backdrop {
padding-top: 20px;
padding-bottom: 20px;
}
@media not print {
#texteditor-backdrop {
background-color: #EEE;
}
}
@media print {
#texteditor-backdrop #texteditor-container .CodeMirror-gutter,
#texteditor-backdrop #texteditor-container .CodeMirror-gutters {
background-color: #fff;
}
}
@media not print {
#texteditor-backdrop #texteditor-container .CodeMirror-gutter,
#texteditor-backdrop #texteditor-container .CodeMirror-gutters {
background-color: #fff;
}
}
@media not print {
#texteditor-backdrop #texteditor-container {
padding: 0px;
background-color: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
color: black;
}
.ansired {
color: darkred;
}
.ansigreen {
color: darkgreen;
}
.ansiyellow {
color: #c4a000;
}
.ansiblue {
color: darkblue;
}
.ansipurple {
color: darkviolet;
}
.ansicyan {
color: steelblue;
}
.ansigray {
color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
background-color: black;
}
.ansibgred {
background-color: red;
}
.ansibggreen {
background-color: green;
}
.ansibgyellow {
background-color: yellow;
}
.ansibgblue {
background-color: blue;
}
.ansibgpurple {
background-color: magenta;
}
.ansibgcyan {
background-color: cyan;
}
.ansibggray {
background-color: gray;
}
div.cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
border-radius: 2px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-color: transparent;
width: 100%;
padding: 5px;
/* This acts as a spacer between cells, that is outside the border */
margin: 0px;
outline: none;
border-left-width: 1px;
padding-left: 5px;
background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
border-left-color: #90CAF9;
border-left-color: #E3F2FD;
border-left-width: 1px;
padding-left: 5px;
border-right-color: #E3F2FD;
border-right-width: 1px;
background: #E3F2FD;
}
@media print {
div.cell.jupyter-soft-selected {
border-color: transparent;
}
}
div.cell.selected {
border-color: #ababab;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
div.cell.selected {
border-color: transparent;
}
}
div.cell.selected.jupyter-soft-selected {
border-left-width: 0;
padding-left: 6px;
background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
border-color: #66BB6A;
border-left-width: 0px;
padding-left: 6px;
background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
.edit_mode div.cell.selected {
border-color: transparent;
}
}
.prompt {
/* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
min-width: 14ex;
/* This padding is tuned to match the padding on the CodeMirror editor. */
padding: 0.4em;
margin: 0px;
font-family: monospace;
text-align: right;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
/* Don't highlight prompt number selection */
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Use default cursor */
cursor: default;
}
@media (max-width: 540px) {
.prompt {
text-align: left;
}
}
div.inner_cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
@-moz-document url-prefix() {
div.inner_cell {
overflow-x: hidden;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
border: 1px solid #cfcfcf;
border-radius: 2px;
background: #f7f7f7;
line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
is no content in the output_subarea and the prompt. The main purpose of this is
to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
padding-top: 0;
padding-bottom: 0;
}
div.unrecognized_cell {
padding: 5px 5px 5px 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.unrecognized_cell .inner_cell {
border-radius: 2px;
padding: 5px;
font-weight: bold;
color: red;
border: 1px solid #cfcfcf;
background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
color: inherit;
text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
color: inherit;
text-decoration: none;
}
@media (max-width: 540px) {
div.unrecognized_cell > div.prompt {
display: none;
}
}
div.code_cell {
/* avoid page breaking on code cells when printing */
}
@media print {
div.code_cell {
page-break-inside: avoid;
}
}
/* any special styling for code cells that are currently running goes here */
div.input {
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.input {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
color: #303F9F;
border-top: 1px solid transparent;
}
div.input_area > div.highlight {
margin: 0.4em;
border: none;
padding: 0px;
background-color: transparent;
}
div.input_area > div.highlight > pre {
margin: 0px;
border: none;
padding: 0px;
background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
* monospace font with inconsistent normal/bold/italic height. See
* notebookmain.js. Such fonts will have keywords vertically offset with
* respect to the rest of the text. The user should select a better font.
* See: https://github.com/ipython/ipython/issues/1503
*
* .CodeMirror span {
* vertical-align: bottom;
* }
*/
.CodeMirror {
line-height: 1.21429em;
/* Changed from 1em to our global default */
font-size: 14px;
height: auto;
/* Changed to auto to autogrow */
background: none;
/* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
/* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
/* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
overflow-y: hidden;
overflow-x: auto;
}
.CodeMirror-lines {
/* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
/* we have set a different line-height and want this to scale with that. */
padding: 0.4em;
}
.CodeMirror-linenumber {
padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
.CodeMirror pre {
/* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
/* .CodeMirror-lines */
padding: 0;
border: 0;
border-radius: 0;
}
/*
Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme
*/
.highlight-base {
color: #000;
}
.highlight-variable {
color: #000;
}
.highlight-variable-2 {
color: #1a1a1a;
}
.highlight-variable-3 {
color: #333333;
}
.highlight-string {
color: #BA2121;
}
.highlight-comment {
color: #408080;
font-style: italic;
}
.highlight-number {
color: #080;
}
.highlight-atom {
color: #88F;
}
.highlight-keyword {
color: #008000;
font-weight: bold;
}
.highlight-builtin {
color: #008000;
}
.highlight-error {
color: #f00;
}
.highlight-operator {
color: #AA22FF;
font-weight: bold;
}
.highlight-meta {
color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
color: #00f;
}
.highlight-string-2 {
color: #f50;
}
.highlight-qualifier {
color: #555;
}
.highlight-bracket {
color: #997;
}
.highlight-tag {
color: #170;
}
.highlight-attribute {
color: #00c;
}
.highlight-header {
color: blue;
}
.highlight-quote {
color: #090;
}
.highlight-link {
color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
color: #008000;
font-weight: bold;
}
.cm-s-ipython span.cm-atom {
color: #88F;
}
.cm-s-ipython span.cm-number {
color: #080;
}
.cm-s-ipython span.cm-def {
color: #00f;
}
.cm-s-ipython span.cm-variable {
color: #000;
}
.cm-s-ipython span.cm-operator {
color: #AA22FF;
font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
color: #333333;
}
.cm-s-ipython span.cm-comment {
color: #408080;
font-style: italic;
}
.cm-s-ipython span.cm-string {
color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
color: #f50;
}
.cm-s-ipython span.cm-meta {
color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
color: #555;
}
.cm-s-ipython span.cm-builtin {
color: #008000;
}
.cm-s-ipython span.cm-bracket {
color: #997;
}
.cm-s-ipython span.cm-tag {
color: #170;
}
.cm-s-ipython span.cm-attribute {
color: #00c;
}
.cm-s-ipython span.cm-header {
color: blue;
}
.cm-s-ipython span.cm-quote {
color: #090;
}
.cm-s-ipython span.cm-link {
color: #00c;
}
.cm-s-ipython span.cm-error {
color: #f00;
}
.cm-s-ipython span.cm-tab {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
background-position: right;
background-repeat: no-repeat;
}
div.output_wrapper {
/* this position must be relative to enable descendents to be absolute within it */
position: relative;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
/* ideally, this would be max-height, but FF barfs all over that */
height: 24em;
/* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
width: 100%;
overflow: auto;
border-radius: 2px;
-webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
margin: 0px;
padding: 0px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
div.out_prompt_overlay {
height: 100%;
padding: 0px 0.4em;
position: absolute;
border-radius: 2px;
}
div.out_prompt_overlay:hover {
/* use inner shadow to get border that is computed the same on WebKit/FF */
-webkit-box-shadow: inset 0 0 1px #000;
box-shadow: inset 0 0 1px #000;
background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
padding: 0px;
page-break-inside: avoid;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
div.output_area .MathJax_Display {
text-align: left !important;
}
div.output_area .rendered_html table {
margin-left: 0;
margin-right: 0;
}
div.output_area .rendered_html img {
margin-left: 0;
margin-right: 0;
}
div.output_area img,
div.output_area svg {
max-width: 100%;
height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
max-width: none;
}
/* This is needed to protect the pre formating from global settings such
as that of bootstrap */
.output {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
@media (max-width: 540px) {
div.output_area {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: vertical;
-moz-box-align: stretch;
display: box;
box-orient: vertical;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: column;
align-items: stretch;
}
}
div.output_area pre {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
color: black;
background-color: transparent;
border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
the prompt div. */
div.output_subarea {
overflow-x: auto;
padding: 0.4em;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
output types */
/* all text output has this class: */
div.output_text {
text-align: left;
color: #000;
/* This has to match that of the the CodeMirror class line-height below */
line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
background: #fdd;
/* very light red background for stderr */
}
div.output_latex {
text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
padding: 0;
}
.js-error {
color: darkred;
}
/* raw_input styles */
div.raw_input_container {
line-height: 1.21429em;
padding-top: 5px;
}
pre.raw_input_prompt {
/* nothing needed here. */
}
input.raw_input {
font-family: monospace;
font-size: inherit;
color: inherit;
width: auto;
/* make sure input baseline aligns with prompt */
vertical-align: baseline;
/* padding + margin = 0.5em between prompt and cursor */
padding: 0em 0.25em;
margin: 0em 0.25em;
}
input.raw_input:focus {
box-shadow: none;
}
p.p-space {
margin-bottom: 10px;
}
div.output_unrecognized {
padding: 5px;
font-weight: bold;
color: red;
}
div.output_unrecognized a {
color: inherit;
text-decoration: none;
}
div.output_unrecognized a:hover {
color: inherit;
text-decoration: none;
}
.rendered_html {
color: #000;
/* any extras will just be numbers: */
}
.rendered_html em {
font-style: italic;
}
.rendered_html strong {
font-weight: bold;
}
.rendered_html u {
text-decoration: underline;
}
.rendered_html :link {
text-decoration: underline;
}
.rendered_html :visited {
text-decoration: underline;
}
.rendered_html h1 {
font-size: 185.7%;
margin: 1.08em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h2 {
font-size: 157.1%;
margin: 1.27em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h3 {
font-size: 128.6%;
margin: 1.55em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h4 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
}
.rendered_html h5 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h6 {
font-size: 100%;
margin: 2em 0 0 0;
font-weight: bold;
line-height: 1.0;
font-style: italic;
}
.rendered_html h1:first-child {
margin-top: 0.538em;
}
.rendered_html h2:first-child {
margin-top: 0.636em;
}
.rendered_html h3:first-child {
margin-top: 0.777em;
}
.rendered_html h4:first-child {
margin-top: 1em;
}
.rendered_html h5:first-child {
margin-top: 1em;
}
.rendered_html h6:first-child {
margin-top: 1em;
}
.rendered_html ul {
list-style: disc;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ul ul {
list-style: square;
margin: 0em 2em;
}
.rendered_html ul ul ul {
list-style: circle;
margin: 0em 2em;
}
.rendered_html ol {
list-style: decimal;
margin: 0em 2em;
padding-left: 0px;
}
.rendered_html ol ol {
list-style: upper-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol {
list-style: lower-alpha;
margin: 0em 2em;
}
.rendered_html ol ol ol ol {
list-style: lower-roman;
margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
list-style: decimal;
margin: 0em 2em;
}
.rendered_html * + ul {
margin-top: 1em;
}
.rendered_html * + ol {
margin-top: 1em;
}
.rendered_html hr {
color: black;
background-color: black;
}
.rendered_html pre {
margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
border: 0;
background-color: #fff;
color: #000;
font-size: 100%;
padding: 0px;
}
.rendered_html blockquote {
margin: 1em 2em;
}
.rendered_html table {
margin-left: auto;
margin-right: auto;
border: 1px solid black;
border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
border: 1px solid black;
border-collapse: collapse;
margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
text-align: left;
vertical-align: middle;
padding: 4px;
}
.rendered_html th {
font-weight: bold;
}
.rendered_html * + table {
margin-top: 1em;
}
.rendered_html p {
text-align: left;
}
.rendered_html * + p {
margin-top: 1em;
}
.rendered_html img {
display: block;
margin-left: auto;
margin-right: auto;
}
.rendered_html * + img {
margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
max-width: 100%;
height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
max-width: none;
}
div.text_cell {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
}
@media (max-width: 540px) {
div.text_cell > div.prompt {
display: none;
}
}
div.text_cell_render {
/*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
outline: none;
resize: none;
width: inherit;
border-style: none;
padding: 0.5em 0.5em 0.5em 0.4em;
color: #000;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
a.anchor-link:link {
text-decoration: none;
padding: 0px 20px;
visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
visibility: visible;
}
.text_cell.rendered .input_area {
display: none;
}
.text_cell.rendered .rendered_html {
overflow-x: auto;
overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
font-weight: bold;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
font-size: 185.7%;
}
.cm-header-2 {
font-size: 157.1%;
}
.cm-header-3 {
font-size: 128.6%;
}
.cm-header-4 {
font-size: 110%;
}
.cm-header-5 {
font-size: 100%;
font-style: italic;
}
.cm-header-6 {
font-size: 100%;
font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
.notebook_app {
padding-left: 0px;
padding-right: 0px;
}
}
#ipython-main-app {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook_panel {
margin: 0px;
padding: 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 100%;
}
div#notebook {
font-size: 14px;
line-height: 20px;
overflow-y: hidden;
overflow-x: auto;
width: 100%;
/* This spaces the page away from the edge of the notebook area */
padding-top: 20px;
margin: 0px;
outline: none;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
min-height: 100%;
}
@media not print {
#notebook-container {
padding: 15px;
background-color: #fff;
min-height: 0;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
}
@media print {
#notebook-container {
width: 100%;
}
}
div.ui-widget-content {
border: 1px solid #ababab;
outline: none;
}
pre.dialog {
background-color: #f7f7f7;
border: 1px solid #ddd;
border-radius: 2px;
padding: 0.4em;
padding-left: 2em;
}
p.dialog {
padding: 0.2em;
}
/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
*/
pre,
code,
kbd,
samp {
white-space: pre-wrap;
}
#fonttest {
font-family: monospace;
}
p {
margin-bottom: 0;
}
.end_space {
min-height: 100px;
transition: height .2s ease;
}
.notebook_app > #header {
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
.notebook_app {
background-color: #EEE;
}
}
kbd {
border-style: solid;
border-width: 1px;
box-shadow: none;
margin: 2px;
padding-left: 2px;
padding-right: 2px;
padding-top: 1px;
padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
border: thin solid #CFCFCF;
border-bottom: none;
background: #EEE;
border-radius: 2px 2px 0px 0px;
width: 100%;
height: 29px;
padding-right: 4px;
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
/* Old browsers */
-webkit-box-pack: end;
-moz-box-pack: end;
box-pack: end;
/* Modern browsers */
justify-content: flex-end;
display: -webkit-flex;
}
@media print {
.celltoolbar {
display: none;
}
}
.ctb_hideshow {
display: none;
vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
border-top-right-radius: 0px;
border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
border: 1px solid #cfcfcf;
}
.celltoolbar {
font-size: 87%;
padding-top: 3px;
}
.celltoolbar select {
display: block;
width: 100%;
height: 32px;
padding: 6px 12px;
font-size: 13px;
line-height: 1.42857143;
color: #555555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 2px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 1px;
width: inherit;
font-size: inherit;
height: 22px;
padding: 0px;
display: inline-block;
}
.celltoolbar select:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
color: #999;
opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
color: #999;
}
.celltoolbar select::-ms-expand {
border: 0;
background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
background-color: #eeeeee;
opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
cursor: not-allowed;
}
textarea.celltoolbar select {
height: auto;
}
select.celltoolbar select {
height: 30px;
line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
height: auto;
}
.celltoolbar label {
margin-left: 5px;
margin-right: 5px;
}
.completions {
position: absolute;
z-index: 110;
overflow: hidden;
border: 1px solid #ababab;
border-radius: 2px;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
line-height: 1;
}
.completions select {
background: white;
outline: none;
border: none;
padding: 0px;
margin: 0px;
overflow: auto;
font-family: monospace;
font-size: 110%;
color: #000;
width: auto;
}
.completions select option.context {
color: #286090;
}
#kernel_logo_widget {
float: right !important;
float: right;
}
#kernel_logo_widget .current_kernel_logo {
display: none;
margin-top: -1px;
margin-bottom: -1px;
width: 32px;
height: 32px;
}
#menubar {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
margin-top: 1px;
}
#menubar .navbar {
border-top: 1px;
border-radius: 0px 0px 2px 2px;
margin-bottom: 0px;
}
#menubar .navbar-toggle {
float: left;
padding-top: 7px;
padding-bottom: 7px;
border: none;
}
#menubar .navbar-collapse {
clear: left;
}
.nav-wrapper {
border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
padding-top: 4px;
}
ul#help_menu li a {
overflow: hidden;
padding-right: 2.2em;
}
ul#help_menu li a i {
margin-right: -1.2em;
}
.dropdown-submenu {
position: relative;
}
.dropdown-submenu > .dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
display: block;
}
.dropdown-submenu > a:after {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: block;
content: "\f0da";
float: right;
color: #333333;
margin-top: 2px;
margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
color: #262626;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
left: -100%;
margin-left: 10px;
}
#notification_area {
float: right !important;
float: right;
z-index: 10;
}
.indicator_area {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#kernel_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
padding-left: 5px;
padding-right: 5px;
}
#modal_indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
}
#readonly-indicator {
float: right !important;
float: right;
color: #777;
margin-left: 5px;
margin-right: 5px;
width: 11px;
z-index: 10;
text-align: center;
width: auto;
margin-top: 2px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
display: none;
}
.modal_indicator:before {
width: 1.28571429em;
text-align: center;
}
.edit_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.command_mode .modal_indicator:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
margin-left: .3em;
}
.kernel_idle_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
margin-left: .3em;
}
.kernel_busy_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f111";
}
.kernel_busy_icon:before.pull-left {
margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
margin-left: .3em;
}
.kernel_dead_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
margin-left: .3em;
}
.kernel_disconnected_icon:before {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
margin-left: .3em;
}
.notification_widget {
color: #777;
z-index: 10;
background: rgba(240, 240, 240, 0.5);
margin-right: 4px;
color: #333;
background-color: #fff;
border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
color: #333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.notification_widget:hover {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
color: #333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
background-color: #fff;
border-color: #ccc;
}
.notification_widget .badge {
color: #fff;
background-color: #333;
}
.notification_widget.warning {
color: #fff;
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
color: #fff;
background-color: #ec971f;
border-color: #985f0d;
}
.notification_widget.warning:hover {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
color: #fff;
background-color: #ec971f;
border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
color: #fff;
background-color: #d58512;
border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.notification_widget.warning .badge {
color: #f0ad4e;
background-color: #fff;
}
.notification_widget.success {
color: #fff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
color: #fff;
background-color: #449d44;
border-color: #255625;
}
.notification_widget.success:hover {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
color: #fff;
background-color: #449d44;
border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
color: #fff;
background-color: #398439;
border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.notification_widget.success .badge {
color: #5cb85c;
background-color: #fff;
}
.notification_widget.info {
color: #fff;
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
color: #fff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.notification_widget.info:hover {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
color: #fff;
background-color: #31b0d5;
border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
color: #fff;
background-color: #269abc;
border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.notification_widget.info .badge {
color: #5bc0de;
background-color: #fff;
}
.notification_widget.danger {
color: #fff;
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
color: #fff;
background-color: #c9302c;
border-color: #761c19;
}
.notification_widget.danger:hover {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
color: #fff;
background-color: #c9302c;
border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
color: #fff;
background-color: #ac2925;
border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.notification_widget.danger .badge {
color: #d9534f;
background-color: #fff;
}
div#pager {
background-color: #fff;
font-size: 14px;
line-height: 20px;
overflow: hidden;
display: none;
position: fixed;
bottom: 0px;
width: 100%;
max-height: 50%;
padding-top: 8px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
/* Display over codemirror */
z-index: 100;
/* Hack which prevents jquery ui resizable from changing top. */
top: auto !important;
}
div#pager pre {
line-height: 1.21429em;
color: #000;
background-color: #f7f7f7;
padding: 0.4em;
}
div#pager #pager-button-area {
position: absolute;
top: 8px;
right: 20px;
}
div#pager #pager-contents {
position: relative;
overflow: auto;
width: 100%;
height: 100%;
}
div#pager #pager-contents #pager-container {
position: relative;
padding: 15px 0px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
top: 0px;
height: 8px;
background: #f7f7f7;
border-top: 1px solid #cfcfcf;
border-bottom: 1px solid #cfcfcf;
/* This injects handle bars (a short, wide = symbol) for
the resize handle. */
}
div#pager .ui-resizable-handle::after {
content: '';
top: 2px;
left: 50%;
height: 3px;
width: 30px;
margin-left: -15px;
position: absolute;
border-top: 1px solid #cfcfcf;
}
.quickhelp {
/* Old browsers */
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: stretch;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-align: stretch;
display: box;
box-orient: horizontal;
box-align: stretch;
/* Modern browsers */
display: flex;
flex-direction: row;
align-items: stretch;
line-height: 1.8em;
}
.shortcut_key {
display: inline-block;
width: 20ex;
text-align: right;
font-family: monospace;
}
.shortcut_descr {
display: inline-block;
/* Old browsers */
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
/* Modern browsers */
flex: 1;
}
span.save_widget {
margin-top: 6px;
}
span.save_widget span.filename {
height: 1em;
line-height: 1em;
padding: 3px;
margin-left: 16px;
border: none;
font-size: 146.5%;
border-radius: 2px;
}
span.save_widget span.filename:hover {
background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
font-size: small;
}
@media (max-width: 767px) {
span.save_widget {
font-size: small;
}
span.checkpoint_status,
span.autosave_status {
display: none;
}
}
@media (min-width: 768px) and (max-width: 991px) {
span.checkpoint_status {
display: none;
}
span.autosave_status {
font-size: x-small;
}
}
.toolbar {
padding: 0px;
margin-left: -5px;
margin-top: 2px;
margin-bottom: 5px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
width: auto;
vertical-align: middle;
margin-right: 2px;
margin-bottom: 0px;
display: inline;
font-size: 92%;
margin-left: 0.3em;
margin-right: 0.3em;
padding: 0px;
padding-top: 3px;
}
.toolbar .btn {
padding: 2px 8px;
}
.toolbar .btn-group {
margin-top: 0px;
margin-left: 5px;
}
#maintoolbar {
margin-bottom: -3px;
margin-top: -8px;
border: 0px;
min-height: 27px;
margin-left: 0px;
padding-top: 11px;
padding-bottom: 3px;
}
#maintoolbar .navbar-text {
float: none;
vertical-align: middle;
text-align: right;
margin-left: 5px;
margin-right: 0px;
margin-top: 0px;
}
.select-xs {
height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
background-color: #F37626;
color: white;
}
/**
* Primary styles
*
* Author: Jupyter Development Team
*/
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
* of chance of beeing generated from the ../less/[samename].less file, you can
* try to get back the less file by reverting somme commit in history
**/
/*
* We'll try to get something pretty, so we
* have some strange css to have the scroll bar on
* the left with fix button on the top right of the tooltip
*/
@-moz-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-webkit-keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-moz-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/*properties of tooltip after "expand"*/
.bigtooltip {
overflow: auto;
height: 200px;
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
-webkit-transition-property: height;
-webkit-transition-duration: 500ms;
-moz-transition-property: height;
-moz-transition-duration: 500ms;
transition-property: height;
transition-duration: 500ms;
text-overflow: ellipsis;
overflow: hidden;
height: 80px;
}
.tooltipbuttons {
position: absolute;
padding-right: 15px;
top: 0px;
right: 0px;
}
.tooltiptext {
/*avoid the button to overlap on some docstring*/
padding-right: 30px;
}
.ipython_tooltip {
max-width: 700px;
/*fade-in animation when inserted*/
-webkit-animation: fadeOut 400ms;
-moz-animation: fadeOut 400ms;
animation: fadeOut 400ms;
-webkit-animation: fadeIn 400ms;
-moz-animation: fadeIn 400ms;
animation: fadeIn 400ms;
vertical-align: middle;
background-color: #f7f7f7;
overflow: visible;
border: #ababab 1px solid;
outline: none;
padding: 3px;
margin: 0px;
padding-left: 7px;
font-family: monospace;
min-height: 50px;
-moz-box-shadow: 0px 6px 10px -1px #adadad;
-webkit-box-shadow: 0px 6px 10px -1px #adadad;
box-shadow: 0px 6px 10px -1px #adadad;
border-radius: 2px;
position: absolute;
z-index: 1000;
}
.ipython_tooltip a {
float: right;
}
.ipython_tooltip .tooltiptext pre {
border: 0;
border-radius: 0;
font-size: 100%;
background-color: #f7f7f7;
}
.pretooltiparrow {
left: 0px;
margin: 0px;
top: -16px;
width: 40px;
height: 16px;
overflow: hidden;
position: absolute;
}
.pretooltiparrow:before {
background-color: #f7f7f7;
border: 1px #ababab solid;
z-index: 11;
content: "";
position: absolute;
left: 15px;
top: 10px;
width: 25px;
height: 25px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
ul.typeahead-list i {
margin-left: -10px;
width: 18px;
}
ul.typeahead-list {
max-height: 80vh;
overflow: auto;
}
ul.typeahead-list > li > a {
/** Firefox bug **/
/* see https://github.com/jupyter/notebook/issues/559 */
white-space: normal;
}
.cmd-palette .modal-body {
padding: 7px;
}
.cmd-palette form {
background: white;
}
.cmd-palette input {
outline: none;
}
.no-shortcut {
display: none;
}
.command-shortcut:before {
content: "(command)";
padding-right: 3px;
color: #777777;
}
.edit-shortcut:before {
content: "(edit)";
padding-right: 3px;
color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
background-color: #BBDEFB;
border-color: #90CAF9;
border-style: solid;
border-width: 1px;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
background-color: #FFCDD2;
border-color: #EF9A9A;
border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
background-color: #C8E6C9;
border-color: #A5D6A7;
border-radius: 0px;
}
#find-and-replace #replace-preview {
max-height: 60vh;
overflow: auto;
}
#find-and-replace #replace-preview pre {
padding: 5px 10px;
}
.terminal-app {
background: #EEE;
}
.terminal-app #header {
background: #fff;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
float: left;
font-family: monospace;
color: white;
background: black;
padding: 0.4em;
border-radius: 2px;
-webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
line-height: 1em;
font-size: 14px;
}
.terminal-app .terminal-cursor {
color: black;
background: white;
}
.terminal-app #terminado-container {
margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
</style>
<style type="text/css">
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
</style>
<style type="text/css">
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }
.ansi-bold { font-weight: bold; }
</style>
<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
overflow: visible;
padding: 8px;
}
div#notebook {
overflow: visible;
border-top: none;
}
@media print {
div.cell {
display: block;
page-break-inside: avoid;
}
div.output_wrapper {
display: block;
page-break-inside: avoid;
}
div.output {
display: block;
page-break-inside: avoid;
}
}
div.intro{
width: 800px;
height:1200px;
}
</style>
<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link href="custom.css" rel="stylesheet"></link>
<!-- Loading mathjax macro -->
<!-- Load mathjax -->
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true,
processEnvironments: true
},
// Center justify equations in code and markdown cells. Elsewhere
// we use CSS to left justify single line equations in code cells.
displayAlign: 'center',
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 0}},
linebreaks: { automatic: true }
}
});
</script>
<!-- End of mathjax configuration --></head>
<body>
<div class="border-box-sizing" id="notebook" tabindex="-1">
<div class="container" id="notebook-container">
<div id="intro">
Olá Pythonistas do mundo Terra!<br />
<br />
Bom ou mais?<br />
<br />
<br />
Pois bem. Muitos de nós utilizamos os arquivos com valores separados por vírgula (Comma Separated Values - CSV).<br />
<br />
De forma didática, podemos comparar o CSV como sendo o espírito ou alma de planilhas, sites, <br />
tabelas e qualquer outra fonte de dados agrupados.<br />
<br />
Então, aqui vai um jeito de se ler e escrever arquivos no formato CSV:<br />
<br />
Suponhamos que temos o seguinte arquivo CSV:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><b>poder_de_luta.csv</b></span><br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">id,personagem,poder</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">1,Videl,150</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">2,Satan,135</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">3,Kuririn,650000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">4,Gohan,25000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">5,GohanSSJ,1250000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">6,Vegeta,160000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">7,Vegeta,SSJ=8000000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">8,Tenshinhan,750000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">9,TenshinhanKikohu=5000000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">10,Kakaroto,200000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">11,KakarotoSSJ,10000000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">12,Trunks,160000000</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: small;">13,Goten,3000000</span><br />
<br />
</div>
Para ler esse arquivo precisamos importar a biblioteca <i>csv:</i><br />
<i><br /></i>
<i><br /></i>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Manipulando-CSV">
Manipulando CSV<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Manipulando-CSV">¶</a></h1>
<h4 id="Importando-a-biblioteca-csv:">
Importando a biblioteca csv:<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Importando-a-biblioteca-csv:">¶</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [1]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="kn">import</span> <span class="nn">csv</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="Abrindo-o-arquivo-e-atribuindo-seus-valores-a-uma-variável:">
Abrindo o arquivo e atribuindo seus valores a uma variável:<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Abrindo-o-arquivo-e-atribuindo-seus-valores-a-uma-variável:">¶</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [6]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">data</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'poder_de_luta.csv'</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_subarea output_stream output_stdout output_text">
<pre><_io.TextIOWrapper name='poder_de_luta.csv' mode='r' encoding='UTF-8'>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Mas-jovem!-Eu-não-entendi!-Onde-estão-os-dados-do-arquivo?">
Mas jovem! Eu não entendi! Onde estão os dados do arquivo?<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Mas-jovem!-Eu-não-entendi!-Onde-estão-os-dados-do-arquivo?">¶</a></h2>
Calma, meu chapa! A variável "data" agora está abrigando um TextIOWrapper. Futuramente farei um post explicando melhor isso mas, basicamente, isso quer dizer que minha variável abriga uma espécie de classe contendo meus dados.<br />
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="Agora-vamos-"processar"-os-dados-e-transformá-lso-em-um-objeto-da-da-biblioteca-'csv':">
Agora vamos "processar" os dados e transformá-lso em um objeto da da biblioteca 'csv':<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Agora-vamos-"processar"-os-dados-e-transformá-lso-em-um-objeto-da-da-biblioteca-'csv':">¶</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [3]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="n">csv_data</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">reader</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [4]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">csv_data</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_subarea output_stream output_stdout output_text">
<pre><_csv.reader object at 0x7f63c0625f28>
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Ah-não,-cara!-Você-tá-de-sacanagem!-Onde-estão-meus-dados???">
Ah não, cara! Você tá de sacanagem! Onde estão meus dados???<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Ah-não,-cara!-Você-tá-de-sacanagem!-Onde-estão-meus-dados???">¶</a></h2>
Tô de sacanagem não! Eu precisava dessa etapa para poder trabalhar com os dados.<br />
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h4 id="Então-vamos-ao-que-interessa:">
Então vamos ao que interessa:<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Então-vamos-ao-que-interessa:">¶</a></h4>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">
In [7]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3">
<pre><span></span><span class="k">for</span> <span class="n">poder</span> <span class="ow">in</span> <span class="n">csv_data</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="n">poder</span><span class="p">)</span>
</pre>
</div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt">
</div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>['id', 'personagem', 'poder']
['1', 'Videl', '150']
['2', 'Satan', '135']
['3', 'Kuririn', '650000']
['4', 'Gohan', '25000000']
['5', 'GohanSSJ', '1250000000']
['6', 'Vegeta', '160000000']
['7', 'Vegeta', 'SSJ=8000000000']
['8', 'Tenshinhan', '750000000']
['9', 'TenshinhanKikohu=5000000000']
['10', 'Kakaroto', '200000000']
['11', 'KakarotoSSJ', '10000000000']
['12', 'Trunks', '160000000']
['13', 'Goten', '3000000']
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered">
<div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Até-que-enfim-hein!">
Até que enfim hein!<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Até-que-enfim-hein!">¶</a></h1>
Poizé! Olha que beleza! O resultado foram vários vetores (ou arrays) contendo os valores do arquivo. A partir daí, você pode utilizar as técnicas que ensinei previamente sobre as listas para "brincar" com esses dados.<br />
<h4 id="Para-os-aprendizes-mais-avançadinhos,-sugiro-que-pesquisem-sobre-o-framework-chamado-Pandas.-Ele-te-dá-uma-infinidade-de-possibilidades-para-trabalhar-com-DataSets-e-DataFrames.-Mas-isso-são-cenas-pros-próximos-capítulos.">
Para os aprendizes mais avançadinhos, sugiro que pesquisem sobre o <em>framework</em> chamado <strong>Pandas</strong>. Ele te dá uma infinidade de possibilidades para trabalhar com DataSets e DataFrames. Mas isso são cenas pros próximos capítulos.<a class="anchor-link" href="https://www.blogger.com/blogger.g?blogID=2178794158609673336#Para-os-aprendizes-mais-avançadinhos,-sugiro-que-pesquisem-sobre-o-framework-chamado-Pandas.-Ele-te-dá-uma-infinidade-de-possibilidades-para-trabalhar-com-DataSets-e-DataFrames.-Mas-isso-são-cenas-pros-próximos-capítulos.">¶</a></h4>
</div>
</div>
</div>
</div>
</div>
</body>
</html>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2178794158609673336.post-54395241790828941302016-12-15T15:49:00.001-02:002016-12-16T08:47:53.695-02:00Pacotinhos mágicos da alegria<span style="font-size: large;">Oi pessoal!</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Boa vida!</span><br />
<br />
Quem aqui nunca penou pra instalar um pacote ou biblioteca usando o PIP?<br />
Sim.. o tão famoso <i>pip instal xxxxxxx </i> muitas vezes faz muita raiva... diz que está faltando isso ou aquilo, como por exemplo:<br />
<pre class="lang-py prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"><code style="border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> error</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">:</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Microsoft</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Visual</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> C</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">++</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="lit" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">10.0</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> required </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Unable</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> to find vcvarsall</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">bat</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">).</span></code></pre>
<div>
<code style="border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">Daí você fica dando voltas e mais voltas pra tentar arrumar e toda vez que quer instalar um pacote, é um parto...</span></code></div>
<div>
<code style="border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"><br /></span></code></div>
<div>
<span style="color: #303336; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif;">"Pois seus pobremas se acabaram-se!"</span></div>
<div>
<img alt="Resultado de imagem para seus problemas acabaram tabajara" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxMTEhUSEhIWFRUXFxUVGBcVGBUXGBYXHRgXFhYZFxUfHiggGBolHRgVITIhJSkrLi4vFx8zODMtNygtLisBCgoKDg0OGhAQGi8lICU1LS4vLy8rLS8vLS8tLS0tLS8tLS0wLS0tLS0tLS0vLS0uLS0tLS0uLS0rLS03LSstLf/AABEIAKwBJQMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAABgcDBAUCAQj/xABNEAABAwIEAgYFCAUJBgcAAAABAAIDBBEFEiExBkEHEyJRYXEUF4GR0iMyQlJVkqGxM2JywdEVNFNUdISUtOEkQ6KjwvAWZHOCpLPx/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAIDBAUBBv/EADERAAICAQQBAgMECwAAAAAAAAABAgMRBBIhMQUTQSJRYRQyUtEVQkNTcYGRkqHB8P/aAAwDAQACEQMRAD8AvFRDpB4smofRxT0vpMk73sEYJDrtbm0ABvpf3KXqF8ai+IYR/aJ//ocUBHfWHjH2BL75PgT1h4x9gS++T4FayICqfWHjH2BL75PgT1h4x9gS++T4FayICqfWHjH2BL75PgT1h4x9gS++T4FayICqfWHjH2BL75PgT1h4x9gS++T4FayICqfWHjH2BL75PgT1h4x9gS++T4FayICqfWHjH2BL75PgT1h4x9gS++T4FayICqfWHjH2BL75PgT1h4x9gS++T4FayICqfWHjH2BL75PgT1h4x9gS++T4FayICK8CcSz1gnFTTejSQvYwx5i49qNsgvoLGzhopUolwh/PcV/tMP8AlolLUAREQBERAEREAREQBERAEREAREQBERAEREAUP4uF8Rwn/wBap/yzypgonxQ2+JYT4S1Z/wDiyICVr6qv6YMdq6OaiNPVvhimeYpGtjjksA5nbaCxzi6z3aa3sLBZsH4plp6OfEppp6ymDurYx0cMc0ZZLJE97gAwZXdg2IuNraFAWUihGF9JEU1VSUgp5WuqoROxzsmQNMb5Nwbk9hw23XV4r4qFELmnlltHJM4sytYxjBd2aRxAzdzRdx7kBIkUKZ0kU72UZhilkkrM4ij7DCMlw/O9xyixFtCbrFhPSO2oidLHRTkdd6O0XjF3hueQveXZI2NFu0Xa8hogJ0ir31tUv8n/AMoCGcs63qCwBmZr8uYXOa2Ujn+C2cO6SY5mvMdFVEtkZG0OYGBxczPd0jiGxgAG+Yjla90BOUVeu6WaUUJruonLRMadzAGEtky5tXZrZSOaz0nSUyWWenZR1HXRQekMZIGRmVtmu0zHs6OB15X56ICdoqewvpIrKrDauqdE6ARvOWogjZM1jQYvkzE+QFz7PJL9G635WXcw/pFbHHhzJY55n1jWhsxELA52fI4uaHWDhdpsBbtDVAWKir2PpYp/R6mpdTTtbTSshe0iMvzuLhydYAFtt+YWE9L9PndH6HV5hAKgDI27m5BITa+jQ0k5jpofC4FkIq1HGdTVzYVNRMc2lqXztna5rSRkNiHO1yiwcQQdbexcWDiTG/QGSOHy5xIU5+Tb+iuG5ctvmdZdmYa2580BN+EP57iv9ph/y0SlqiXCH89xX+0w/wCWiUtQBF8X1AEREAREQBERAEREAREQBERAEREAREQBRvHmXxDDj3Oqj/yCP3qSLhYqy9dReAqj/wADB+9Aczjngb+UZaeQ1T4fRyXRhjGu7ZLTmJO/zW2Hn3rBU8AGZtS2prJJevhELbRxxti+U61zmsboXF9iSdTrr3TdEBXeCdF/UVVLVGulkdSxiJjTHGBks9uXQaNyvI1ufHa2/wAZ9HzMQqI53VEkeWJ8JYGse0tcHBxaHAhj7OPaAvoNrKaogKW4g6O6mBtBTwPknhgNQ8vdDDM2N78paOouHFvzje7rE8tLbWA8AVtVTxtrpvR/R5y+nYyGnDTHYXMlO0dXckXGYEi7r3urfSyAq49DrBRvom10oidOJ7FkZAIaWgcjexFze3ZGg1v3OIOAjVwUkUlW8OpXNdnyMLZSMts8R7BsGjvG+mqmqICr3dD7fRJKNtdKI5KgVGscZsQ0ttpbU3Fzt2RoNV2KPo+La/051W556gU7mdWwZmCIRntDYkjNtvpspwiArbDeinqKSpomV83VT/RLIyG3LMziLXc4tja29xYX0us0/ReHQUEfpkjX0LnmOUMjuQ5zX2yG4uMrbE38QVYaICsT0Rj0eqp/TpCKmVkzy6OPdrnOG1tTm1tYabBZz0WEzGb059zS+h/oo/mdV1N99/pKx0QEH4f4AdSso42V0wZSySvLGgNbMHnNlkAOoBvvf5x23WVvBM/o/U/ypVl3pPpHWkjOW/0X7PPuvytopmiAiXCH89xX+0w/5aJdbifiKChhM9Q+zdgBq5zt8rRzKh7eJIaCbF55jf8A2mEMYLZnuNNFZoVJ8Z8X1FfPnqDYNJyRD5sQ/wCp3igJRxJ0x1sxLacinZsA0B0hHK7jcA+S4dP0gYo3VtVMfMsd+BC1eHuHpag3awkd9hZSOTgiYj6J/wDcB+5VSvgng1w0spLJ2+D+meVsjYsRaC0kAygBpbyu5o0I8leEUgcA5puCAQRsQdiF+VcW4QqGEktJHsP481YXRRxPUUzBT1d3QXDWOO8RPLxZ+SkrIvplc9POPsXWi8scCLjUFelMoCIiAIiIAiIgCIiAIiIAiIgCi/FuKClnpp3QzStAnaRBE6VwLhHYkDYaHVShEBC/WRBzpK8edJKvI6TKX+rVw/usqmyICEu6TqQbw1g/usv8F99Z1F/R1f8AhZvhU1RAQodKFD9WpH92n+FD0oUH/mB/dp/hU1RAQr1oYf3z/wCGqPgXwdKeG/Xm/wAPUfAptZfLICEnpWwwbyyjzp6j4E9a+F/08n+HqPgU1MY7h7l86pv1R7ggIb61sJ/rX/Km+BfR0q4T/XAPNko/6VL/AEdv1W+4IaZn1G/dCAiI6U8I/rrfuy/Ct/B+O8OqpBDBVxvkOzdWl3g3MBmPOwXe9FZ9Rv3QsU+GwvaWuiYQdCMo/PkfFAbaimMcdwU9Q6ldBVSSNa15EMDpAWHZwLTte48wVuukmpPnZ56f6wGaaEfrAazMG1wC8aXzakcvjCzRBi1MRIae5fkIcJaR1uuAI3LQA8eLD3oCoOLuJouurphDJ1k0jOpZMwsMY6mNj5Cw/Su2w8lxeC+Euuc183zd8uuuvM8lZ/SbwpBJGcQjGYP6p2YHRzXPaL+4rhYdW09M600nV3OgsTpsDYLPqLJRWIm3R0xlmUvYsLDKBrWBrBYAWsBYLcfRC235LU4dxWCVp6uQOGg1BH5rtVcjWMLiCe4DmVmqqclllkrHGWERDE8N1JbudbAG4UeqqbsEEc9brdxzE3vcRPWxUjOTGuaX+3UrmUmIMN4xVMqANnsIuB+sO/xVcqXF5RqhdmOGWhwNXdZTAE3LOwfYpEq46N8Ta2SWN7gLjOL6X1DffsrGC6VbzE49i+Jn1ERTIBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFwq7B3sLpaQta5188D79ROTvmAB6t51Gdo1+kHWFu6iAq3BXNfDW4NNnh6tvWwCXQthJzht72eI5ARdpILcvjbg4vw4aSCOrmmYJ5S1gaWNkY0btay51cdTfxVqcWYKKiEkNHWx3dE4gEtdYgjXkQSLKneIn1TzTRlj3x0zriNrT1g5At5OsNFXPHuX0xb6OdFUVsjXyUtU4xscGOIjiaGvI2y5dl7reIMRqqBskrWikbI0SviJbK5rTlcbXNh32Uiigq5IXRx0ZgDrnNNkYG33kcBdz366DRdfhzAGR03VjtgXa64uHjW9weRN1n9XBsVCazkhsnCoDT1ErIi4Nexzh2XMP67he/iFy/8Aw9KyujL35mMzPz5QHOa224AuRm0BIViUeEBl4op6iJnzuqjdEQGu5DMMzQO4FbEuAwMDi0yOc4AOfI/O4gHMBc7C+thoq3e0sljrjNpMjmFxEy5mg6hlx3Wdd3s29yu6M6DyVP00VpbDY92lxcfxVvxbDyCu0zby2zLrIqLSR7REWoxBEXwlAfUWnT1ud1gABr5my20PWsH1ERDwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC+Er6vLigMFNWtebC45i/MeC2VGcPrL9WRzflHiNfwUmXiafROcdrwERF6QPhVTY2eprntc7Y317jqPYraKgvSThLiGVLG3yXD/ANm4N1TfDdE06SxQs5I3xdxG2JoZmJc/YAXGn1u5cjDeIa90b2xROex2x6twLTzsRb3lbOK0DZYhLG/I4EkOyh3PTdeuFsOlMjJJqiV7mtymBzSWE2Ha0IG6y14a5OrPhfCuDm1JrYRmzsjdYu/Sh7yALm7Rc2CkGBVktTCwyWBIOo+mLaHyXSGDxRvkq/RwKh92mRwygNI1AjDzb3LBhUYjFrjsNvtbl+V15aljBXCbabZvYBhzHVIY5oc3I838dBp7/wAFYQChnBIzyveNQxuW/wCs4h35KZrVRHbA5mpk5TPqIivKAtLGHlsMjm7hpPu3/BbqwVw+Tf8Asu/Irx9Hq7ONhM95w06fJXHtIP8ABSBRHrOqMMupc1rWO/ZcG3/JSxjgRcag6qup5LblymekRFaUhERAEREAREQBERAEREAREQBERAEREAXE4gxINHV/W0cRrlbzvba6cSY+ymYQO1KdGsBF9dASO7+C5NFGWRkntPd23HcuO5HiqLbUuC6qvPLN3A6cGa4tlawZbban/RSRRXDp7kvj7JNri22uxapFRVOcHvBLT5pp5JxPb4tSybCIivKAvEsYcC1wuCLEHYhe1E+IePaWlkMTs8kg+cI23y+ZNgvG0uyddcpvEVlkU4two0OY/Op5CQHXAdG4nsttzHkF5wfJZrrl1/E6KIca8WyVcgc7SMOysZrYX+ke8rRoKmaMXieW+Fr/AJrHNRzlHcprnGG2fZcOUW0DQeZI/eVB+JsZ7ZZE6/I2toubFPVSAtmmc0dzbDMOayehMaNB7VROaLaqNryzl1BlyOySPD/ndlzm3NiLFo8D+Sl3Rtx06JkdPVOJYbNa92rmO7nHm3x5KPzxZe1yAXJZa2v/AO+C9he10Xx8dC9SyfpVjgQCDcFelSHD/HFTStDLiSMbNdoQO4P7vBTjB+kmlkHyodC7btAkHycFthfCRxdR4vUU+2V9CZTyhoJK5dRWPNwRZtrH9+q2nVMU0bsj2vFr9kg67jRQ+CtzjLJne7mDZg919lXqbNq4Znppcs5XRv1ELXMdZt7A638wPwK0uHeIhTf7POXFuY5Xm5y3Ozh3eK3GTPtlDG7aa7KPY7S9WW5yb7i2+vJY4WuDya/SU/hZZ0MrXAOaQ4HUEG4I81kVU8K466leQSTCSMzRezNDq0b+atGnna9oewhzSLgjmulXYprJz7anXLDMqIisKwiIgCIiAIiIAiIgCIiAIiIAtDHMRFPBLO4XDGl1huSBoB4krfUB6RsVaJqalcew7PNILX0bYM/4j+CjJ4WSUFl4I3hlQaiovK4Z3HMTz7wB3AdymZjc3Z7j3CzVVc1432OUgm7S5xbbu18lMOH8Ua8Fhe9h1yl1zGRys47lc2acnlHXlDEUskinrGgfKjKD9LYj2jZSbDYQyNoAI5m5ubne5UNxV5FM8SSsLbEuNspsOQO11zuLukMBrYaJ2Zzh2pNey3uafrK/TtRWZGd6ey6SjBfkS3iHi+mpNJHFz/qMFz7eQVfYv0mVMhIga2FvK4DnkeewUKqZy8klxJJuSSSSe8leWtUbL5Po72l8JTBJ2cs60vE1W83dVSnyeW/gAuTO8uJe9xc52pc43J8Sea8grDKwnwHcqHJvtnWjpaq/uRNeUZ8umgeCPId6lzsJIaJG6tIvp+KjzY9lLeFazM0wO1sCW35jm1eSeVgy6jTuMfURvMoS8NAGob79l9qMOJAAGq79M4NAHMaLLK64sN+Szrs5LteSIY9RiGndmdqbAe1RFuo0KkHF9dmd1YN7Wzeajcovt/35q6CO5o4ShXmXue3Fe76XWsH9+6+5+Slg1KaN+mr3xnNG4td3jTyUv4bxaqmD22bIW2+Ukygg92g1UFaF0KHFXwXLDo7cW3UTLq9LCyLcYrJZdD17mF01mctLexR3iSvja79IZHtG2lhc2FyVxcQ4pqJmtYTlFh83T3r3hmNMbFLBOwPie0uzADrGvFspueV17GKbONPQ3Qi54OvhcF4nl92uNxtoNNz3j+Cy8LcW+iPETnF0JNnA7sN9Xt7m35eKxYLiAmpQ0HtEWJJ5je3guNX0ha4HMLjTbT2q2ueyRhnUpppl8RyBwBabgi4I2IXtVRwfxS6mcI5P5u62p3je48v1O/uVqseCAQbg6groxmpLg5NtTreGekRFIrCIiAIiIAiIgCIiAIi4XGmKyUtJJPFlzty2zC41cAbj2o3glCLlJRXudwlUHjGOGqxGWcaRi0bLjXq2kgkj9oE+1dOo6Sax0bo3Ni7TS0kNcCLi2gzKJ4NCXHKNm5fA7bX81mstTiboaOyq1KaOnxM0GB5G5Av3bgc/YrWwOtghwuldUFrWejwghwBucg0tzJVeuw7MwtJuOYPNvd56KM1NU/Nkc9zsgytBNw1uwsNtNlnpsUU8G/7F9oksvBIeMeJYp2mGmp2xxEjtltnutya3YBRGKUtIHLkVmEh5rFIzT8lBz3M7VGkVMfhPbzqVkDlgjN2357LMxuiizfHlZPTGr2xo1C+xbI/Q3XhfDo89V3LNh9UWPD27tOq+OWKVlu0Pb4rxo8msposeCrBYHjXTNoDre97LUx3GeqZZoIc8aXXNwHGS2Eki+QZR3+F1H8UrnPeXuB1Ol72F+QuoKJw6dNm17ukakryTc696xEfisvVEbgjzR0amd1Ljg1z4o0LL1RWUNAUitQ5MLWr08LL1a+SM0Xh7tMIdqvD9fHwuhOq+u2TBXLlYOhwzIQ9wabC22mikcmvZtvlJuO5QrDX5ZQ4G1zrZTvCqhpbqN+fio29nz91Li8pHJng353vpy8vJbmGcZ1NI9oLnSxAZerfbQd4da91sVVP2beN7+F9lwsXiu3ONw7bwXtNmJFTphP4ZF94dWtmiZKw3a9ocPaviivRTVZqLIf8AdyPYPI9ofmi60XlZOBbDZNx+RNERFIrCIiAIiIAiIgC4nGdA2einjcbDIXX7i3tD8l21p4vFnglaPpRvHvaQvH0TreJJn5ypxryPZUjwCm+TBtqTqo5S/Pttpb8VL6Blso7/AMFyrHtXJ9PfLdLcb8kdmaKBYuz5Ykc7+6+ysGpOmmtlBsTIMht4qmp8mjRQ3SNRuy8yONv3f6r6138PwRw012Vy7OxLCiYqUXzW71sxBa2F2OYXB15Lda2y9l2eafDryemheJF7aUcolyeDG1fXDSyxndfS5CfZu4a94D2t1BG1tz/pqfYrBwkxRMmaI4HdWWWma9j2yh/ZDnyallnZrg7NFwADZQTAq3qpGuAuWua617ZrHVt+VxcX8VtU1PWSTOY2vlbDq5kr5JDdpPZaWg3Eo2LTYi19iLnV6q2f7aPlfL1zV6WcRwdnGqFjxK9jYh1b2Augc10UrJNGyBrSerkD9CL6jXmLRf0bVrbnO42a0NLjs4guI0bcMda+9iu3HWTRU80M85mc+VhBc55LI2Wdch2rHPcG9g6gXJtcXjkzWvfmLXAlgbnY97XfNlDgQBbXO0ZiTYN030nVBbmpdLrn8xpLtVTps1rdysce3ubAo38gHDW5a5pAtobuvYW814honuHZAcDqC0ggjvB2y+Oy1i+8djpJaMnqy0MMjZJHE2czLksW2GXkO5fZi54cXu1MTYx1YDLuDoX3Oa7cpc2Ts5R7bq/0ofiL15XWfuf8MzRRjm9gaAS5+YFoA0JzDe1l4kYHhxjLnBpAOZjoyL2t2XWNjcW70jmJY/NYvLHN+qC43sdBpbTUAajZeKysdIPmtaTKx+RuZ9wwsyNDrjM4kym9iNQLc1FVweeSep8hqa3CShw1lrHv/H6GvSUr37W1NvHSxJHeAFnZh7yQBY5m5wC5oOQ2s4tJuG9pup711TwJiBiaRC+N7BJLG4PZo85bZm+LQ5tvFcateC2aNw1c1wynLZruqDAC3JmBzDck2yi1lP0Y7csxy8rc7XGtJowMjy6XB31BDgdbaEaHULuYRieQi+yj75QXEjYkkbDS5tpyWUSAbrNOOWdmpK2tep2T2Ooa4aOB281o4qGhmvPSyjNPNrmBsfPdZZqovN3OCqUMPJS9CoyUk+Ce9F2LCJs8bvrRu97SP+lFx+BGh7p7C9hF7O1Mbbf93RdKt/Cj5zWwg75NfMu1ERaDkhERAEREAREQBfHBfV8KA/O+NUPo9VJG7Qse4ebXHrGn3ED2Ls09dGWh2YAW2Vh8S8GU9VN1sjpGuLQDkLADbYm7SbrlnoxpCLGSf70fwLn26RyfZ9DHX6eVcd6eUV9X41mBbH5Zv3Ljh3M+Stj1ZUlrdZPbwdH8C8+rKkNryT7bZo7e7IvY6ZpG6rzGmrXwxZUsUT3uDGNLnOcA1rRcnTVSnh7o8q6p49IY6ngHzibCR3g1mtr95VhcLcD01JMZo3SOcAQM5YQL7kANGqmKvhQlyzma3zFlmYQ4RVnSdhEVPFSMhjaxjc7BbQ7Ai558zrzUAker34p4firGMZKXgNdmBYQDexHMFRwdGlIP95P96P4FG6lyfBp8b5WuihQmm3yVa1C3VWoOjql+vN95nwL4ejul+vN95nwKn7LI6H6co+TKrkC38Iw+KRrutl6o54msPZ3cXZrgkdmwFzyVi+rml/pJ/vM+BfH9GVG7eSf70fwKcKGpZfJTqPNVzrcYZi/mQahwmCXqxHO/M9tK7eI2ErXuebB9+yW2tuCdbjUadTTBpLg50gAA0czMXuZGYoTle7t55LG122aSCbECwW9GtIw3ZJO066h7ARcWNiGaLWp+jOkaG5ZagZSHAB7AA4AgEWZuATr4laPSrfsct+Qtzh2Nr6xRDqejidCT6RldHIY7uczI8gRNdZpIc28j5A0tBByXNrrzUUURY90dQLMbUWzFjc7o5RGy/b7APbItuLc9FN4+jKjy2zTWGnzmfAvfqwovrTfeZ8CenB/qklr7F1a/6L/sEMnwqJjnAVLNBAMxLLBz5nwvBObXKGh2g1B8F9qsLhGcioa3JE02c6Mky/KEtOVxDbhrdibFTMdF1F9ab70fwL4OiuhP0pvvR/Anp1/hPX5K5/tn/aiFuw+AiQsqwQwS7huYlkr4i4ND9Wdi973s4Gyz4NQRsrHyMeC2OJjoXudA4mZwjc4hmcNIaH/Sy8wNtZaeiqi+vP8Aej+BSXA+FKanhEUbLjUkusXEnckgC69hXWn90y6nX3Tjh2N/ySOC3jkgySF8LmCIENDgGtOaftueTmyOEcbQACbvGllxuOo6apu90XVPEcrxIx8Yc8sexoB3ztdmuBbNpYgEgKxRgcFv0YXJfw5T+ldaWkvy2uXE2Ghs2/zRcA2Hcr9sWc2E5ReUyqZOEY2yyNNYBkBJDhEHNs97M77PsI+zffPr81aTsHjdMxvWkROgZJcugEjpTGZDGxheNTY/OtYtIudFddJw7TsL8sY7Ti487ucbuPmSStip4WpJBaSnY8frNB/MKEq6/ka4a++Kxu4KPpcAgLY3urGgPZnP6Mk9lh7Pb5F2Q5rajS4XPxCjDaltPBIajOzMMgbfNnkYW2BNh2M2+zgrtqejnDZDc0rR+wSwHzDSLroYNwnR0rs9PTsY7bMB2rbfOOqi6q8dFkfI2xedzf0Ob0e8K+h0560AzSEOfbUNsLNaPIb+JKKXBF6kkYZ2SlJyZ//Z" /></div>
<div>
<br /></div>
<div>
Tem um site onde você pode baixar (quase) todos os pacotes que você precisa!!!</div>
<div>
Ei-lo:</div>
<div>
<a href="http://www.lfd.uci.edu/~gohlke/pythonlibs/">http://www.lfd.uci.edu/~gohlke/pythonlibs/</a></div>
<div>
Nele você faz o download dos arquivos de extensão .whl (Python Wheel Package) que é uma espécie de ZIP para Python.</div>
<div>
Após efetuar o download do pacote, basta usar o próprio <i>pip install</i> para instalá-lo.</div>
<div>
Exemplo:</div>
<div>
Quero baixar o <b>Pandas, </b>pra poder trabalhar com dados.</div>
<div>
Basta buscar o pacote no site e baixá-lo.</div>
<div>
Daí tenho o arquivo:</div>
<div>
<ul style="background-color: white; margin: 0em; padding: 0em;">
<li style="list-style-type: none; margin: 0px; padding: 0.3em 0px 0px; white-space: nowrap;"><a href="https://www.blogger.com/null" style="color: navy; text-decoration: underline;" title="[] []">pandas‑0.19.1‑cp34‑cp34m‑win_amd64.whl</a></li>
</ul>
</div>
<div>
Basta abrir o cmd e digitar:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQxifW98idZ0TWeaClKb9ix7efHkuSUSoo0i1dkrG5HxZfc2xvczxEImxg9Xvj6cZL1_e0tfQeYQ5vhM0u730R5QBaQE3g-lddm3IH8TFGlkMUM23GiyMNrUn2BVQgs82lxTICa8cMTev7/s1600/Clipboard01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQxifW98idZ0TWeaClKb9ix7efHkuSUSoo0i1dkrG5HxZfc2xvczxEImxg9Xvj6cZL1_e0tfQeYQ5vhM0u730R5QBaQE3g-lddm3IH8TFGlkMUM23GiyMNrUn2BVQgs82lxTICa8cMTev7/s1600/Clipboard01.jpg" /></a></div>
<div>
<br /></div>
<div>
Pronto! Seu pacotinho será instalado com louvor!</div>
<div>
<br /></div>
<div>
OBSERVAÇÕES:</div>
<div>
- Lembre-se de acessar (via cmd) a pasta onde você armazenou o arquivo .whl</div>
<div>
- Execute o CMD como administrador</div>
<div>
- Observe no nome do link a versão do Python que você utiliza (no exemplo foi a 3.4 - por isso o cp34 no nome do arquivo.</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2178794158609673336.post-47969756527059716942016-10-03T23:06:00.002-03:002016-10-03T23:06:36.134-03:00Dividir para conquistar: split(' ')<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwD6byu9-C6HTBauT_izNfSuy1h1X6nodNyP7Poazv5AaoNjiwUjf7xLkjgGPxsiY_ktrY31yXJSp9vpA2u2sqvdB9fCERCVcW53yVkSsD8azS2UvI2hHZWPVktRRjVMcfpyPYrN-qezy1/s1600/GohanCuttingARockInHalf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwD6byu9-C6HTBauT_izNfSuy1h1X6nodNyP7Poazv5AaoNjiwUjf7xLkjgGPxsiY_ktrY31yXJSp9vpA2u2sqvdB9fCERCVcW53yVkSsD8azS2UvI2hHZWPVktRRjVMcfpyPYrN-qezy1/s320/GohanCuttingARockInHalf.jpg" width="320" /></a></div>
<br />
<br />
Muito bem. Um comandinho muito bacana presente em várias linguagens, não poderia faltar no nosso querido e amado Python, não é?<br />
Ele é o split (do inglês: dividir).<br />
<br />
Por exemplo:<br />
<br />
Tenho a seguinte string:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">biografia = '<span style="color: blue;"><b>Chuck Norris,10031940,Ryan,Oklahoma,EUA</b></span>'</span><br />
<br />
Poxa vida! Tenho muita informação numa variável só! E se eu quiser manipular esses dados de uma forma mais legal?<br />
Simples: split nele!!!<br />
Note que o que separa as informações é uma vírgula (pode ser ponto e vírgula, hífen, espaço, ponto, qualquer caractere).<br />
Então eu uso o split e digo a ele: Mermão! Separa essa string onde houver vírgulas!<br />
Isso em Pythonês é assim:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> biografia = biografia.split(',')</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> biografia</b></span><br />
<span style="color: #351c75; font-family: Courier New, Courier, monospace;"><b>['Chuck Norris', '10031940', 'Ryan', 'Oklahoma', 'EUA']</b></span><br />
<br />
Legal né?<br />
Agora fica mais fácil de manipular:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> nome = biografia[0]</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> nome</b></span><br />
<span style="color: #351c75; font-family: Courier New, Courier, monospace;"><b>'Chuck Norris'</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> nascimento = biografia[1]</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> nascimento</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>'<span style="color: #351c75;">10031940</span>'</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> cidade = biografia[2]</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> cidade</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>'<span style="color: #351c75;">Ryan</span>'</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> estado = biografia[3]</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> estado</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>'<span style="color: #351c75;">Oklahoma</span>'</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> pais = biografia[4]</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>>>> pais</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>'<span style="color: #351c75;">EUA</span>'</b></span><br />
<br />
<br />
Nem doeu, né?<br />
<br />
Dúvidas? Reclamações? Sugestões? Zoações?<br />
<br />
Deixe os comentários aqui!!!<br />
<br />
E lembrem-se:<br />
<br />
É....<br />
esqueci...Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-2178794158609673336.post-59379600665098149172016-03-11T09:23:00.004-03:002016-03-11T09:30:16.857-03:00IMPORTANDO FUNÇÕES E CLASSES FEITAS POR MIM (Bibliotecas)<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<br />
<br />
Pessoas, boa vida!<br />
<br />
<span style="background-color: #f3f3f3;"><span style="color: red;">#ESSA DICA É EXCLUSIVA PARA USUÁRIOS WINDOWS</span></span><br />
<br />
Uma das dificuldades que tive quando comecei a desenvolver em Python foi para importar funções e classes de arquivos externos.<br />
<br />
Quando o arquivo .py está na mesma pasta, isso é bem simples. Basta dar um <span style="color: orange;">import </span>com o nome do método ou classe que deseja que tá tudo certo.<br />
No entanto, se o arquivo estiver em outra pasta, começa a complicar.<br />
<br />
Vou mostrar aqui duas maneiras para se fazer isso:<br />
<br />
<h3>
1) Utilizando o SYS PATH:</h3>
<br />
Importamos a biblioteca SYS e executamos o comando SYS.PATH.INSERT para inserir o diretório (pasta) onde se encontram os arquivos que desejamos importar.<br />
O número 1, é pra informar que vamos adicionar ao system path o caminho informado.<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;"><span style="color: orange;">import </span>sys</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">sys.path.insert(1,'<span style="color: #6aa84f;">C:\\Users\\KamiSama\\Dev\\Python\\Python\\commands\\diagnostic</span>')</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">sys.path.insert(1,<span style="color: #6aa84f;">'C:\\Users\\KamiSama\\Dev\\Python\\Python\\socket'</span>)</span><br />
<br />
Nesse caso, o Python adiciona o caminho à lista de endereços que ele busca para importar as bibliotecas.<br />
<br />
<h3>
2) Inserir o caminho diretamente no PATH do Windows.</h3>
<br />
Quem utiliza as versões de Windows 7, 8 ou 10, basta clicar em "Iniciar" e digitar "Variáveis de ambiente do sistema" e dar Enter quando aparecer o resultado da busca.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvbggi2EPxmUsqob5URDwY2tFmEPfOa4Z1N4rZss1sydc7GwhF8M63jSzGOmP9dlDkddODQqAxiAjSB0DoqW4I4h-oUQdkTS31cR2I0ZS1FCh83zppZ5Ii2TEe88pGGMqcGmAtaPavaxHM/s1600/vari%25C3%25A1veis+de+ambiente.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvbggi2EPxmUsqob5URDwY2tFmEPfOa4Z1N4rZss1sydc7GwhF8M63jSzGOmP9dlDkddODQqAxiAjSB0DoqW4I4h-oUQdkTS31cR2I0ZS1FCh83zppZ5Ii2TEe88pGGMqcGmAtaPavaxHM/s1600/vari%25C3%25A1veis+de+ambiente.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 1: Busca por "Variáveis de ambiente do sistema" no Windows 10.</td></tr>
</tbody></table>
Aparecerá uma tela com as propriedades do sistema, onde você clicará no botão Variáveis do Sistema, seguindo os passos abaixo:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUpe6fQsx1VHUQzGTdQdAOJQ30SBmoT6R8IpkFGX7LgZAq2AaVhJH7KQ_HJN9gaO621GycCa1ARe5ZRd-zoBZHk7LTBSNEjZldwI9Cmq6pLaDQFfalE9_4dBa3O48OslCqJI2RS83vWHgS/s1600/vari%25C3%25A1veis+de+ambiente1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUpe6fQsx1VHUQzGTdQdAOJQ30SBmoT6R8IpkFGX7LgZAq2AaVhJH7KQ_HJN9gaO621GycCa1ARe5ZRd-zoBZHk7LTBSNEjZldwI9Cmq6pLaDQFfalE9_4dBa3O48OslCqJI2RS83vWHgS/s1600/vari%25C3%25A1veis+de+ambiente1.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 2: Propriedades do Sistema - Windows 10</td></tr>
</tbody></table>
<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTktOl_x8-ZI-7-4-7t7v62VHdStdv4nGHqkmrZyc8fLPH_sg_-DMdkhyQeGK0anvMJB9VBwgj1z-HCFBmKxnJ3xPs0l0oN8h6keeTYOFL8QQeOosA0_VQgQ9HJ5Qf_nWCgZOQl8PaiE_j/s1600/vari%25C3%25A1veis+de+ambiente2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTktOl_x8-ZI-7-4-7t7v62VHdStdv4nGHqkmrZyc8fLPH_sg_-DMdkhyQeGK0anvMJB9VBwgj1z-HCFBmKxnJ3xPs0l0oN8h6keeTYOFL8QQeOosA0_VQgQ9HJ5Qf_nWCgZOQl8PaiE_j/s1600/vari%25C3%25A1veis+de+ambiente2.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 3: Variáveis de ambiente <span style="font-size: 12.8px;"> - Windows 10</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSFdz6ZcxAqGxDMZD6hhHyq2w9Hh4l1V3wEy49xu88JZ_2IP8a7TEGR5HduHvOXVHAWn8sLfwWwi4w4BFZTiumAZCTbrtBA7DaNSamAUqvX97p4ufNEp01EMbFltcq6rxE9CKs9l6eX-Pn/s1600/vari%25C3%25A1veis+de+ambiente3.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSFdz6ZcxAqGxDMZD6hhHyq2w9Hh4l1V3wEy49xu88JZ_2IP8a7TEGR5HduHvOXVHAWn8sLfwWwi4w4BFZTiumAZCTbrtBA7DaNSamAUqvX97p4ufNEp01EMbFltcq6rxE9CKs9l6eX-Pn/s1600/vari%25C3%25A1veis+de+ambiente3.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 4: Editar variável de ambiente<span style="font-size: 12.8px;"> - Windows 10</span></td></tr>
</tbody></table>
<br />
ATENÇÃO: Caso esteja utilizando o Windows 7, a tela para inserir o caminho da sua pasta é diferente. Para inserir o caminho, clique duas vezes sobre o 'Path', vá até o fim da linha, coloque o caractere ponto e vírgula (;) e insira o endereço, como a seguir:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.k19.com.br/artigos/wp-content/uploads/2010/03/variavel-ambiente.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://www.k19.com.br/artigos/wp-content/uploads/2010/03/variavel-ambiente.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 5: Variáveis de ambiente - Windows 7</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img src="http://glaucocustodio.com/assets/variaveis-de-ambiente-windows.png" style="margin-left: auto; margin-right: auto;" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 6: Editar Variável de Sistema - Windows 7</td></tr>
</tbody></table>
<br />
SUCESSOOOOOOO!!!<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGrX9HzpmAcPZPOwVjW_9p5-XqBxJ4bFVm7p0NCuJjOrtJ0P54cIwNtPqPPb3V5nkRJQXD934biWEiAC3tgv7La_LhXXNhV0Yw4rGgcoiLDYvHPZeOoP8X2oF0HhFI6Yo7RYTSm2NfGlR2/s1600/Import.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGrX9HzpmAcPZPOwVjW_9p5-XqBxJ4bFVm7p0NCuJjOrtJ0P54cIwNtPqPPb3V5nkRJQXD934biWEiAC3tgv7La_LhXXNhV0Yw4rGgcoiLDYvHPZeOoP8X2oF0HhFI6Yo7RYTSm2NfGlR2/s1600/Import.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figura 7: Exemplo de <span style="color: orange;"><b>import </b></span></td></tr>
</tbody></table>
<br />
<br />
Você já pode importar suas tão queridas pastinhas sem precisar passar o endereço toda vez que for utilizá-las!<br />
<br />
#FicaADica<br />
<br />
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2178794158609673336.post-77547255280644808822015-07-13T10:31:00.002-03:002015-07-13T10:36:28.981-03:00Criando um executável (.exe)<h2>
Olá pessoas.</h2>
<br />
Desculpem a demora, mas o final de semestre na faculdade estava me bloqueando.<br />
<br />
Vou tentar tirar o atraso (no sentido não figurado) agora nas férias escolares.<br />
<br />
Pois bem. Todo mundo quer criar um programa e sair espalhando por aí entre os amiguinhos, não é verdade?<br />
<br />
Mas os amiguinhos não querem, de maneira geral, instalar o Python pra poder executar o código (muitos até querem mas não fazem ideia do que é isso, pois o poder de luta deles é menor que o do Chaos e do Oolong)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC56TeYJ1vm6KKqDcVRDQ_alN6Q8-osBAVyi-hUOZr-yZlmMK5Wcd3LDTy628jsc8PQHgcdJtpYzHQ_9UXRKvtuDgmBNU_IEDLzsRlivQR190f9zxhXxXLiF4TZwxPN1koBctlbAXj5AU4/s1600/chaos_oolong.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC56TeYJ1vm6KKqDcVRDQ_alN6Q8-osBAVyi-hUOZr-yZlmMK5Wcd3LDTy628jsc8PQHgcdJtpYzHQ_9UXRKvtuDgmBNU_IEDLzsRlivQR190f9zxhXxXLiF4TZwxPN1koBctlbAXj5AU4/s200/chaos_oolong.jpg" width="82" /></a></div>
<br />
<br />
<br />
Então, como fazer pra fazer? <b>MUITO SIMPLES: <span style="color: #674ea7;">Criamos um executável</span>!!!</b><br />
<br />
<b><i>Sim, senhor escrevedor desse blog. Mas como faço isso?</i></b><br />
<b><i><br /></i></b>
Acalme-se, jovem leitor! Aqui vai a explicação:<br />
<br />
Existe uma ferramenta chamada <a href="https://pypi.python.org/pypi/cx_Freeze/4.3.3" target="_blank">CX_FREEZE</a> que faz isso pra você. Faça o download adequado para a versão de Python que você está utilizando, instale e... <i>voilà!</i><br />
<i><br /></i>
Depois de instalado, você precisa criar um arquivo de nome <b>setup.py</b> que deve ser armazenado na mesma pasta onde está o arquivo .py que você deseja transformar em .exe.<br />
Vamos cirar um hello_world.py:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><span style="color: purple;">print</span>(<span style="color: #93c47d;">"Hello World\n"</span>)</span><br />
<br />
<br />
O arquivo setup.py deve ser:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><span style="color: orange;">from</span> cx_Freeze <span style="color: orange;">import</span> setup, Executable</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">setup(</span><br />
<span style="font-family: Courier New, Courier, monospace;"> name=<span style="color: #93c47d;">"Hello World EXECUTABLE"</span>,</span><br />
<span style="font-family: Courier New, Courier, monospace;"> version = <span style="color: #93c47d;">"1.0.0"</span>,</span><br />
<span style="font-family: Courier New, Courier, monospace;"> description = <span style="color: #93c47d;">".py to .exe"</span>,</span><br />
<span style="font-family: Courier New, Courier, monospace;"> executables = [Executable(<span style="color: #93c47d;">"hello_world.py"</span>)])</span><br />
<div>
<br /></div>
<br />
<b><i>Ôpa! Mas senhor escrevedor desse blog! Eu executei esse código e nada aconteceu!!!</i></b><br />
<b><i><br /></i></b>
Já disse pra se acalmar, jovem leitor! Não execute esse código!<br />
<br />
Você precisa fazer o que se segue:<br />
<br />
<div>
<ol>
<li>Abra um prompt do MS-DOS (cmd)</li>
<li>Acesse o local do arquivo setup.py</li>
<li>execute a linha de comando <b>python setup.py build</b></li>
</ol>
<div>
<br /></div>
<div>
Agora sim está pronto o seu hello_world.exe!!!</div>
</div>
Note que será criada uma pasta <b>build</b> dentro da pasta onde está o seu código. Dentro desta pasta tem uma outra pasta contendo todos os arquivos necessários para a execução do seu programa.<br />
<br />
<b><span style="color: red; font-size: large;">—IMPORTANTE—</span></b><br />
<br />
Quando for enviar aos seus coleguinhas o seu programa, <b>não</b> envie apenas o executável (*.exe). Ele precisa de <b>todos </b>aqueles outros arquivos dentro da pasta <b>build </b>para ser executado, portanto, compacte a pasta e diga para seus coleguinhas extraírem tudo para que o seu programa funcione.<br />
<br />
<span style="font-size: large;">E não se esqueça: <b>13 de julho </b>é o quê, Torloni???</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://38.media.tumblr.com/tumblr_ls4x7yfKn21qco0xco1_500.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://38.media.tumblr.com/tumblr_ls4x7yfKn21qco0xco1_500.gif" height="184" width="320" /></a></div>
<br />
<br />Unknownnoreply@blogger.com32tag:blogger.com,1999:blog-2178794158609673336.post-63256777527589042742015-04-30T11:50:00.000-03:002015-04-30T12:12:52.512-03:00MANIPULANDO LISTAS<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI4aw7YaW2_jupylYsMxriD1lY5jISvrHtatK9GpcHrxOq6v7did4ts-a-VPFyNa2pOVKV4ISYtsZF8KJkl0wFK_S5z08zv-Bt4hwbfk-U5Q3SHPvVqa4Om6HOFEdY412lSlilOMYi7JVy/s1600/lista.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI4aw7YaW2_jupylYsMxriD1lY5jISvrHtatK9GpcHrxOq6v7did4ts-a-VPFyNa2pOVKV4ISYtsZF8KJkl0wFK_S5z08zv-Bt4hwbfk-U5Q3SHPvVqa4Om6HOFEdY412lSlilOMYi7JVy/s1600/lista.jpg" height="44" width="200" /></a></div>
<div style="text-align: center;">
<br /></div>
<br />
Pois é, pessoal. Trabalhar com listas é fundamental para quem trabalha com manipulação de dados.<br />
<br />
Então, hoje vamos a algumas "falcatruas" possíveis com listas:<br />
<br />
Aqui temos a <span style="font-family: Courier New, Courier, monospace;">lista1 </span>com os vilões e a <span style="font-family: Courier New, Courier, monospace;">lista2 </span>com os heróis.<br />
A <span style="font-family: Courier New, Courier, monospace;">lista3 </span>é uma "lista de listas" contendo as listas 1 e 2. Muito legal, né?<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista1 = [<span style="color: #6aa84f;">"Piccolo","Vegeta","Freeza","Cell","Majimboo"</span>]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista1</span><br />
<span style="font-family: Courier New, Courier, monospace;">[<span style="color: blue;">'Piccolo', 'Vegeta', 'Freeza', 'Cell', 'Majimboo'</span>]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista2=[<span style="color: #6aa84f;">"Kuririn","Yamcha","Tenshinhan","Gohan","Goku"</span>]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista2</span><br />
<span style="font-family: Courier New, Courier, monospace;">[<span style="color: blue;">'Kuririn', 'Yamcha', 'Tenshinhan', 'Gohan', 'Goku'</span>]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista3=[lista1,lista2]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista3</span><br />
<span style="font-family: Courier New, Courier, monospace;">[[<span style="color: blue;">'Piccolo', 'Vegeta', 'Freeza', 'Cell', 'Majimboo'</span>], [<span style="color: blue;">'Kuririn', 'Yamcha', 'Tenshinhan', 'Gohan', 'Goku'</span>]]</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
Aqui temos a <span style="font-family: Courier New, Courier, monospace;">lista1 </span>com os vilões e a <span style="font-family: Courier New, Courier, monospace;">lista2 </span>com os heróis.<br />
A <span style="font-family: Courier New, Courier, monospace;">lista3 </span>é uma "lista de listas" contendo as listas 1 e 2. Muito legal, né?<br />
<br />
Você quer ordenar as lista? Sim? Então vamos ordená-las por ordem alfabética:<br />
<br />
>>> lista1.sort()<br />
>>> lista2.sort()<br />
>>> lista1<br />
[<span style="color: blue;">'Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta'</span>]<br />
>>> lista2<br />
[<span style="color: blue;">'Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha'</span>]<br />
>>> lista3<br />
[<span style="color: blue;">['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta'</span>], [<span style="color: blue;">'Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha'</span>]]<br />
<br />
<br />
Vamos agora imprimir cada elemento das listas:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> <span style="color: orange;">for</span> i </span><span style="color: orange; font-family: 'Courier New', Courier, monospace;">in</span><span style="font-family: 'Courier New', Courier, monospace;"> </span><span style="font-family: Courier New, Courier, monospace;"> lista1: <span style="color: purple;">print</span>(i)</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace;">Cell</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Freeza</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Majimboo</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Piccolo</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Vegeta</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> </span><span style="color: orange; font-family: 'Courier New', Courier, monospace;">for </span><span style="font-family: Courier New, Courier, monospace;">i </span><span style="color: orange; font-family: 'Courier New', Courier, monospace;">in</span><span style="font-family: 'Courier New', Courier, monospace;"> </span><span style="font-family: Courier New, Courier, monospace;">lista2: </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;">print</span><span style="font-family: Courier New, Courier, monospace;">(i)</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace;">Gohan</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Goku</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Kuririn</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Tenshinhan</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Yamcha</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> <span style="color: orange;">for</span> i <span style="color: orange;">in</span> lista3: </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;">print</span><span style="font-family: Courier New, Courier, monospace;">(i)</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace;">['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta']</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha']</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><br /></span>
Vamos agora imprimir apenas o elemento [1] de cada lista:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;">print</span><span style="font-family: Courier New, Courier, monospace;">(lista1[1])</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Freeza</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;">print</span><span style="font-family: Courier New, Courier, monospace;">(lista2[1])</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">Goku</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> </span><span style="color: purple; font-family: 'Courier New', Courier, monospace;">print</span><span style="font-family: Courier New, Courier, monospace;">(lista3[1])</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha']</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Agora vamos incluir elementos:</span><br />
<span style="font-family: inherit;"><br /></span>
>>> lista1.append("<span style="color: #6aa84f;">Tao Pai Pai</span>")<br />
<span style="color: blue;">>>> lista1</span><br />
<span style="color: blue;">['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta', 'Tao Pai Pai']</span><br />
>>> lista2.append("<span style="color: #6aa84f;">Mestre Kame</span>")<br />
>>> lista2<br />
<span style="color: blue;">['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha', 'Mestre Kame']</span><br />
>>> lista3.append(<span style="color: #6aa84f;">["Bulma","Chichi","Vovó Uranai","Lunch","Videl","Maron"]</span>)<br />
>>> lista3<br />
<span style="color: blue;"></span><br />
<span style="color: blue;">[['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta', 'Tao Pai Pai'], ['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha', 'Mestre Kame'], ['Bulma', 'Chichi', 'Vovó Uranai', 'Lunch', 'Videl', 'Maron']]</span><br />
<span style="color: blue;"><br /></span>
Note que foi inserida uma nova lista de mulheres em <span style="font-family: Courier New, Courier, monospace;">lista3</span>, que é uma "lista de listas".<br />
<br />
<br />
Agora vamos apagar um elemeto da lista:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista1.pop(3)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'Piccolo'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista1</span><br />
<span style="font-family: Courier New, Courier, monospace;">[<span style="color: blue;">'Cell', 'Freeza', 'Majimboo', 'Vegeta', 'Tao Pai Pai'</span>]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista2.pop(lista2.index("Yamcha"))</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'Yamcha'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista2</span><br />
<span style="font-family: Courier New, Courier, monospace;">[<span style="color: #6aa84f;">'Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Mestre Kame'</span>]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista3.pop(2[3])</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> lista3[2].pop(lista3[2].index(<span style="color: #6aa84f;">"Videl"</span>))</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'Videl'</span><br />
<br />
<br />
<i><span style="font-family: Georgia, Times New Roman, serif;">- Nossa senhora! Fiquei tonto agora com essas falcatruas!!!</span></i><br />
<br />
Calma, amigão! Vou explicar<br />
<br />
<span style="font-family: 'Courier New', Courier, monospace;">>>> lista1.pop(3)</span><br />
<span style="font-family: inherit;">Excluí o elemento de índice 3 da</span><span style="font-family: 'Courier New', Courier, monospace;"> lista1.</span><br />
<span style="font-family: inherit;">Note que o Python devolve o valor do elemento excluído. Caso não queira este retorno, utilize o </span><span style="font-family: Courier New, Courier, monospace;">remove </span><span style="font-family: inherit;">em lugar do </span><span style="font-family: Courier New, Courier, monospace;">pop</span><span style="font-family: inherit;">.</span><br />
<span style="font-family: 'Courier New', Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">>>> lista2.pop(lista2.index("Yamcha"))</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'Yamcha'</span><br />
<span style="font-family: inherit;">O comando</span><span style="font-family: 'Courier New', Courier, monospace;"> lista2.index("Yamcha") </span><span style="font-family: inherit;">me retorna o índice dentro da lista que contém o valor "Yamcha". Daí o retorno deste comando me dá o valor do indice que será excluído como </span><span style="font-family: 'Courier New', Courier, monospace;">lista3.pop.</span><br />
<span style="color: red;"><b><span style="font-family: Times, Times New Roman, serif;">**IMPORTANTE** Caso houverem dentro da lista dois elementos com o mesmo valor, apenas o primeiro será retornado com o </span><span style="font-family: Courier New, Courier, monospace;">index</span><span style="font-family: Times, Times New Roman, serif;">!</span></b></span><br />
<span style="color: red; font-family: Times, Times New Roman, serif;"><b><br /></b></span>
<span style="font-family: Times, Times New Roman, serif;">Agora vou criar uma lista <i>doidona</i> pra você perceber o poder da lista em Python.</span><br />
<span style="font-family: Times, Times New Roman, serif;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">>>> doidona=[1,23,<span style="color: #6aa84f;">"Android","Bom dia",("a","b","c"),["YuYu Hakusho","CDZ","DBZ","Giban"]</span>,lista2]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> doidona</span><br />
<span style="font-family: Courier New, Courier, monospace;">[<span style="color: blue;">1, 23, 'Android', 'Bom dia', ('a', 'b', 'c'), ['YuYu Hakusho', 'CDZ', 'DBZ', 'Giban'], ['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Mestre Kame']</span>]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> <span style="color: orange;">for </span>i <span style="color: orange;">in </span>doidona: <span style="color: purple;">print</span>(<span style="color: purple;">type</span>(i))</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'int'></span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'int'></span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'tuple'></span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'list'></span><br />
<br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'list'></span><br />
<span style="font-family: Times, 'Times New Roman', serif;"><br /></span>
<span style="font-family: Times, 'Times New Roman', serif;">Ficou feliz né? Cada elemento da lista é de um tipo!!! Espetacular. E dá pra 'enfiar' qualquer tipo de dados numa lista, incluindo uma própria lista! Não é demais?</span><br />
<span style="font-family: Times, 'Times New Roman', serif;"><br /></span>
<span style="font-family: Times, 'Times New Roman', serif;">Pois bem pessoal, Espero ter ajudado mais uma vez.</span><br />
<span style="font-family: Times, 'Times New Roman', serif;"><br /></span>
<span style="font-family: Times, 'Times New Roman', serif;">Não deixem de comentar. E se tiverem algum pedido, deixem aqui nos comentários também!</span><br />
<span style="font-family: Times, 'Times New Roman', serif;"><br /></span>
<span style="font-family: Times, 'Times New Roman', serif;">Até a próxima!</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><br /></span>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2178794158609673336.post-67966222281963368862015-04-21T22:26:00.000-03:002015-04-22T17:17:10.615-03:00IDEs PARA PYTHONBem pessoal, meu grande mestre sr. <a href="https://plus.google.com/u/0/100422180608421630433/about" target="_blank">Marcelo Barros</a> me disse há uns dois anos, que já percorreu várias <a href="http://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado" target="_blank">IDEs </a>e que não adianta, a melhor é a <a href="https://docs.python.org/3/library/idle.html" target="_blank">IDLE </a>que já vem com o Python na instalação.<br />
A vantagem aqui é que ele é nativo e, portanto, não precisa preocupar com configurações chatas e importar bibliotecas e tal...<br />
A desvantagem é que não tem nada de debug, não tem ferramentas de links ou referências, etc. Outro problema é que se for trabalhar com o <a href="http://www.dcc.ufrj.br/~fabiom/mab225/PensandoTkinter.pdf" target="_blank">TKInter</a>, a biblioteca gráfica do Python, o IDLE dá problema, pois ele próprio foi feito usando o TKInter.<br />
Mas em compensação você tem um interação com o Shell e pode manipular as variáveis com os valores armazenados logo após da execução.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDHokx1sSIohlwSPhvZXEGZQfaSDJkOuCbJC1rz5CNevlUpUZ9UsJbu7eI8FV8beKm9jz2XyUKkOc2VcuS1-5KKyfUQkrbejgASGslRu98_hMslB9yEjAyKutPnk9FeBPafqQCJED2RFtA/s1600/IDLE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDHokx1sSIohlwSPhvZXEGZQfaSDJkOuCbJC1rz5CNevlUpUZ9UsJbu7eI8FV8beKm9jz2XyUKkOc2VcuS1-5KKyfUQkrbejgASGslRu98_hMslB9yEjAyKutPnk9FeBPafqQCJED2RFtA/s1600/IDLE.jpg" height="300" width="400" /></a></div>
<br />
<br />
Na época, eu para testar este ensinamento, encontrei uma outra IDE chamada <a href="http://www.scintilla.org/SciTE.html" target="_blank">SCITE </a>que serve pra outras linguagens como Pearl, LUA, Ruby, etc. Eu gosto dele pelo simples fato de ele mostrar o numero das linhas, coisa que o IDLE não faz. Isso é muito útil quando o Python retorna aquele lindo erro na linha ## e você tem que localizar a linha ou ficar contando.<br />
Mas o ruim é que não tem o shell do Python pra você "brincar" e testar possibilidades.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgOFqUTOsu2ouHPAUW0u6ZGb0KEoqSGUxI1RJH-fICVoszEFVdMNto4i8vA9YjV7wQ9v55qcZ7o2Hw2s6LVGmvzsNgoI8iJBOklnQgDTBYbhW7Wiguro_6wabyBAgVo9laJJE5I7kObPmC/s1600/scite.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgOFqUTOsu2ouHPAUW0u6ZGb0KEoqSGUxI1RJH-fICVoszEFVdMNto4i8vA9YjV7wQ9v55qcZ7o2Hw2s6LVGmvzsNgoI8iJBOklnQgDTBYbhW7Wiguro_6wabyBAgVo9laJJE5I7kObPmC/s1600/scite.jpg" height="106" width="400" /></a></div>
<br />
Conheço desenvolvedores, como o meu amigo <a href="https://plus.google.com/u/0/112037972782494337380/about" target="_blank">Frederico Martins</a>, que utilizam o bom e velho <a href="https://plus.google.com/u/0/112037972782494337380/about" target="_blank">Eclipse com o PyDev</a>. Há também a possibilidade de utilizar o <a href="http://plugins.netbeans.org/plugin/56795/python4netbeans802" target="_blank">NetBeans</a>. Este eu tentei mas logo desisti porque ele é muito difícil de configurar e entender o que ele quer da vida... Pra quem já está habituado a usar o NetBeans para Java, pode ser que entenda melhor. Se fizer muita questão, devem haver tutoriais pra isso no YouTube e/ou Google.<br />
<br />
Agora, o descobrimento das Américas para mim, foi o mais lindo do mundo chamado <a href="https://www.jetbrains.com/pycharm/download/" target="_blank">PyCharm </a>(eu sei que o nome é meio estranho, mas não fui eu quem batizou as Américas também), foi uma indicação do sr. <a href="https://plus.google.com/u/0/105738634355078279289/about" target="_blank">Pedro Santos </a>e foi um alívio para nós.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjBTiI1cTERtlknl8x8nt2zekwRnclVat7LavAYweMSKI144niJWjW6DigW4OJswa99bRyIcM6Ej1hK-oCvMCb8y66EzrL_sXR7C8cSZDc9IS3G8azbf4Tv0GJlr9PjjnW372kvxseuIF/s1600/PyCharm.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfjBTiI1cTERtlknl8x8nt2zekwRnclVat7LavAYweMSKI144niJWjW6DigW4OJswa99bRyIcM6Ej1hK-oCvMCb8y66EzrL_sXR7C8cSZDc9IS3G8azbf4Tv0GJlr9PjjnW372kvxseuIF/s1600/PyCharm.jpg" height="237" width="400" /></a></div>
<br />
<br />
Me perdoem a gíria, mas esse é CABULOSO!<br />
<br />
Tem debugger, tem shell do Python, tem até um MSDOS, também conhecido como CMD ou Terminal de Comandos.<br />
Enfim. Nem tenho como enumerar as vantagens de se usar o PyCharm. Digamos que comparando os demais com ele seria comparar o Yajirobe com o Kakaroto.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://fc07.deviantart.net/fs71/f/2012/281/5/3/kakaroto__goku__by_cruzazul-d5h7vj5.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://fc07.deviantart.net/fs71/f/2012/281/5/3/kakaroto__goku__by_cruzazul-d5h7vj5.png" height="200" width="97" /></a><a href="http://vignette3.wikia.nocookie.net/dragonball/images/d/d3/Yajirobe_retirado_completamente_de_la_lucha,_en_la_Torre_de_Karin.jpg/revision/latest?cb=20100120200358&path-prefix=es" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://vignette3.wikia.nocookie.net/dragonball/images/d/d3/Yajirobe_retirado_completamente_de_la_lucha,_en_la_Torre_de_Karin.jpg/revision/latest?cb=20100120200358&path-prefix=es" height="200" width="180" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Mestre Marcelo! Tenho certeza que você não tinha me dito do PyCharm na época pelo meu melhor aprendizado! Muito obrigado!</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2178794158609673336.post-11682738283905856882015-04-20T13:56:00.002-03:002015-04-20T14:43:30.727-03:00EXPLORANDO UM POUCO MAIS A MANIPULAÇÃO DE STRINGSOi pessoas.<br />
Me desculpem pelo hiato, mas é que as provas chegaram aí, já viram, né?<br />
<br />
Pois bem, enquanto eu não consigo chegar no Salão do Tempo pra estudar um ano inteiro em um dia, vou fazendo o possível pra manter o blog atualizado.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfu2F5RsreBTOb6HEKV44jVilmjT7KtDU8k2jA48lsH3SjRMloq5_I2nPOCxwlobTg1AhC8MT7Nhyphenhyphenw9Tu69q6S4BTzK8huK6rCV_qPgP_8JU3-62rR1yzGye0s-74CGh_0iZmL8WgNK-gd/s1600/fanfiction-dragon-ball-batalha-interdimensional-dbz-2525956,270920140926.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfu2F5RsreBTOb6HEKV44jVilmjT7KtDU8k2jA48lsH3SjRMloq5_I2nPOCxwlobTg1AhC8MT7Nhyphenhyphenw9Tu69q6S4BTzK8huK6rCV_qPgP_8JU3-62rR1yzGye0s-74CGh_0iZmL8WgNK-gd/s1600/fanfiction-dragon-ball-batalha-interdimensional-dbz-2525956,270920140926.jpg" height="111" width="200" /></a></div>
<br />
Então... que tal brincar mais um pouquinho com strings???<br />
<br />
Já aprendemos a inverter a string utilizando o <i>[::-1] </i>e também aprendemos a inverter a string de hexa com a biblioteca <i>binascii.</i><br />
Agora ensinarei aqui a inverter a string hexa sem transformar os dados, ou seja, trabalharemos diretamente com strings o tempo todo.<br />
<br />
Supondo que a string seja:<br />
<i><span style="color: #134f5c;">'4b494b4f48c394' </span></i><br />
Que traduzindo de HEX para ASCII significa "KIKOHÔ".<br />
Vamos inverter para que o resultado seja:<br />
<i style="color: #134f5c;">'94c3484f4b494b' </i>ou seja "ÔHOKIK".<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> a='4b494b4f48c394'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> b=''</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> for i in range(len(a),0,-2): b=b+a[i-2:i]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> b</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'94c3484f4b494b'</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Muito bom, né?</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">O que isso quer dizer?</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Muito bem. O for todo mundo conhece né? Não?</span><br />
<span style="font-family: inherit;">Então aqui vai:</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">for i in range(100): .......</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Isso quer dizer que 'i' irá receber os números de 0 a 99, pois irá fazer 100 iterações.</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">for i in range (1,100,1): ........</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Isso quer dizer que 'i' irá receber valores de 1 a 100 com passos de 1 em 1.</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">for i in range (1,100,2): ........</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Isso quer dizer que 'i' irá receber os valores de 1 a 100 com passos de 2 em dois, ou seja: 1,3,5,7,...,97,99.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Então voltando ao exemplo:</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: 'Courier New', Courier, monospace;">for i in range(len(a),0,-2): b=b+a[i-2:i]</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">len(a)</span><span style="font-family: inherit;"> é o tamanho da string. No nosso caso 4b494b4f48c394 tem 14 caracteres, então</span><span style="font-family: 'Courier New', Courier, monospace;"> len(a) </span><span style="font-family: inherit;">= 14, daí o range NESSE CASO é: </span><span style="font-family: Courier New, Courier, monospace;">range(14,0,-2), </span><span style="font-family: inherit;">então i recebe valores de 14 a 0 com passos de -2 (2 decrescente).</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Aí vemos as instruções: </span><span style="font-family: 'Courier New', Courier, monospace;">b=b+a[i-2:i]. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Na primeira iteração</span><span style="font-family: 'Courier New', Courier, monospace;"> b </span><span style="font-family: inherit;">está vazio (''), mas receberá a concatenação da string b</span><span style="font-family: 'Courier New', Courier, monospace;"> ('') </span><span style="font-family: inherit;">e do fragmento de string </span><span style="font-family: 'Courier New', Courier, monospace;">a[i-2:i],</span><span style="font-family: inherit;"> como o valor de 'i' na primeira iteração é 14, então será </span><span style="font-family: 'Courier New', Courier, monospace;">a[14-2:14] </span><span style="font-family: inherit;">ou</span><span style="font-family: 'Courier New', Courier, monospace;"> a[12:14]='94'. Ao fim dessa iteração b='94'</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Na primeira iteração</span><span style="font-family: 'Courier New', Courier, monospace;"> b </span><span style="font-family: inherit;">contém ('94'), mas receberá a concatenação da string b</span><span style="font-family: 'Courier New', Courier, monospace;"> ('94') </span><span style="font-family: inherit;">e do fragmento de string </span><span style="font-family: 'Courier New', Courier, monospace;">a[i-2:i],</span><span style="font-family: inherit;"> como o valor de 'i' na segunda iteração é 12, então será </span><span style="font-family: 'Courier New', Courier, monospace;">a[12-2:12] </span><span style="font-family: inherit;">ou</span><span style="font-family: 'Courier New', Courier, monospace;"> a[10:12]='c3'. </span><span style="font-family: inherit;">Ao fim dessa iteração</span><span style="font-family: 'Courier New', Courier, monospace;"> b='94c3'.</span><br />
<div>
<span style="font-family: inherit;">E aí vai até que o range chegue a 0, percorrendo toda a string em</span><span style="font-family: 'Courier New', Courier, monospace;"> a.</span></div>
<span style="font-family: inherit;">
Por hoje é só, pessoal!</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2178794158609673336.post-13658094678752885522015-04-12T14:06:00.001-03:002015-04-12T14:12:00.614-03:00BRINCANDO COM STRINGS - ÍNDICES E INVERSÕES<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.nltk.org/images/string-slicing.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.nltk.org/images/string-slicing.png" height="106" width="320" /></a></div>
<br />
Vamos agora fazer umas 'falcatruas' com strings.<br />
<br />
Escolhi strings por serem o resultado de muitas conversões<br />
<br />
Vamos ao princípio básico: o índice.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> a='KAKAROTO'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[0]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'K'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[1]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'A'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[2]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'K'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[3]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'A'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[4]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'R'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[5]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'O'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[6]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'T'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[7]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'O'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[8]</span><br />
<span style="color: red; font-family: Courier New, Courier, monospace;">Traceback (most recent call last):</span><br />
<span style="color: red; font-family: Courier New, Courier, monospace;"> File "<pyshell#103>", line 1, in <module></span><br />
<span style="color: red; font-family: Courier New, Courier, monospace;"> a[8]</span><br />
<span style="color: red; font-family: Courier New, Courier, monospace;">IndexError: string index out of range</span><br />
<span style="color: red; font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">Percebemos aqui então que o índice sempre começa com 0 (zero) e termina com o tamanho (lenth) -1. Ou seja, tem 8 caracteres de 0 a 7.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Aqui os escolhemos todos os </span>índices do início [0]<span style="font-family: inherit;"> até [2]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[:2]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'KA'</span><br />
<span style="font-family: inherit;">Aqui escolhemos todos os índices maiores que dois até o fim na string</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[2:]</span><br />
<br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'KAROTO'</span><br />
<span style="font-family: inherit;">Aqui escolhemos os quatro último índices.</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[-4:]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'ROTO'</span><br />
<span style="font-family: inherit;">Aqui escolhemos todos os índices do início até o quarto último.</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[:-4]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'KAKA'</span><br />
<span style="font-family: inherit;">Aqui escolhemos todos os índices, do primeiro [0] até o índice do tamanho total da string [len(a)]. O resultado é mesmo que se não especificássemos os índices, mas é de cunho didático.</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[0:len(a)]</span><br />
<br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'KAKAROTO'</span><br />
Aqui escolhemos do terceiro índice o tamanho total da string menos dois (total-2).<br />
<span style="font-family: Courier New, Courier, monospace;">>>> a[3:len(a)-2]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'ARO'</span><br />
Para entender direitinho essa coisa de índice, veja a imagem lá em cima, ok?<br />
<br />
<span style="font-family: inherit;">Mas e se eu receber a string invertida???</span><br />
<span style="font-family: inherit;">Aí tem esse comando:</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">>>> b='ATEGEV'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> b[::-1]</span><br />
<br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'VEGETA'</span><br />
<br />
<br />
<br />
<i>Nossa! Que máximo!!! Ficou fácil inverter, hein? </i><br />
<i>ÔPA! Péraí caceta! Fui inverter minha string de um resultado em HEX, deu errado!</i><br />
<i><br /></i>
Não se desespere! Vamos ver:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> h = hex(2341522)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> h</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0x23ba92'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> h[::-1]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'29ab32x0'</span><br />
<br />
Realmente não deu muito certo. O que fazer?<br />
<br />
Vamos lá.<br />
Aqui utilizaremos uma biblioteca chamada binascii. Informações <a href="https://docs.python.org/3.1/library/binascii.html" target="_blank">aqui</a> e <a href="https://books.google.com.br/books?id=cOSAzek6resC&lpg=PA103&ots=dAaWQdgQ_d&dq=binascii%20python%203%20exemplos&hl=pt-BR&pg=PA104#v=onepage&q=binascii%20python%203%20exemplos&f=false" target="_blank">aqui</a>.<br />
<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> h= hex(2341522)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> h</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0x23ba92'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> h.split('x')[1]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'23ba92'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> h=h.split('x')[1]</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> h</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'23ba92'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> import binascii</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> result=binascii.unhexlify(h[0:len(h)].encode())</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> result</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">b'#\xba\x92'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> result[::-1]</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">b'\x92\xba#'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> result=binascii.unhexlify(h.encode())</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> result</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">b'#\xba\x92'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> result=hexlify(result[::-1]).decode()</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> result</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'92ba23'</span><br />
<br />
<b><i>Vixxx Maria!!! Quanta informação!!!</i></b><br />
<br />
Vamos com calma.<br />
A parte do split, já vimos em um <a href="http://python3-dicas.blogspot.com.br/2015/04/conversoes-inteiro-hexadecimal-inteiro.html" target="_blank">post anterior</a>.<br />
A parte do binascii.hexlify, transformou a string em um hexadecimal 'binário'. Daí, quando invertemos com o [::-1], ao invés de inverter cada um dos caracteres, invertemos os bytes (conjuntos de oito bits).<br />
A parte do binascii.unhexlify transfmormou o hexadecimal 'binário' em uma string novamente.<br />
Tão lindo, não é?<br />
<br />
<br />
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2178794158609673336.post-25703880854936055402015-04-10T01:39:00.000-03:002015-04-11T19:44:04.988-03:00CONVERSÕES ENTRE BASES: DECIMAL, HEXADECIMAL, INTEIRO, BINÁRIO E OCTALBem... continuando com o assunto "conversões", vamos passar para as bases numéricas.<br />
<br />
Se você está começando agora neste mundo de bases numéricas e ainda não pegou a "manha" da coisa, sugiro que leia <a href="http://www.dicasdeprogramacao.com.br/as-10-conversoes-numericas-mais-utilizadas-na-computacao/" target="_blank">estas dicas</a> que lhe serão muito úteis no entendimento.<br />
<br />
Pois bem. Vamos começar com o mais fácil: base decimal.<br />
<br />
Atribuindo um valor decimal:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> inteiro = 65535</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> inteiro</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">65535</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(inteiro)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'int'></span><br />
<br />
Transformando em hexadecimal (vimos no post anterior):<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> hexadecimal = hex(inteiro)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> hexadecimal</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0xffff'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(hexadecimal)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<br />
Transformando em binário:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> binário = bin(inteiro)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> binário</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0b1111111111111111'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(binário)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<br />
Transformando em octal:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal=oct(inteiro)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0o177777'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(octal)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
_____________________________________________<br />
Para os apressadinhos, vou adiantar que há uma maneira de transformar um número decimal em hexadecimal em que o resultado é em binário (bytes) e não uma string como o hex(inteiro), mas a explicação darei em outra oportunidade:<br />
<br />
Primeiro, importamos a biblioteca struct, depois usamos-na para a conversão:<br />
<br />
<a href="http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/figs/bit-endian-1.gif" target="_blank">LITTLE ENDIAN</a> (default):<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>>import struct</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> struct.pack('<l',inteiro)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">b'\xff\xff\x00\x00'</span><br />
<br />
<a href="http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/figs/bit-endian-1.gif" target="_blank">BIG ENDIAN:</a><br />
<span style="font-family: Courier New, Courier, monospace;">>>> struct.pack('>l',inteiro)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">b'\x00\x00\xff\xff'</span><br />
<br />
Então temos:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> binhex=struct.pack('>l',inteiro)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(binhex)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'bytes'></span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> binhex</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">b'\x00\x00\xff\xff'</span><br />
_____________________________________________<br />
<br />
Vamos agora partir para o octal:<br />
<br />
Transformando em inteiro:<br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal='0o177777'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> inteiro=int(octal,8)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> inteiro</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">65535</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(inteiro)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'int'></span><br />
<br />
Transformando em hexadecimal. Nesse caso, temos que dar uma "roubadinha":<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal='0o177777'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> hexadecimal=int(octal,8)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal='0o177777'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> hexadecimal=hex(int(octal,8))</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> hexadecimal</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0xffff'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(hexadecimal)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<br />
A mesma "roubadinha" para binário:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal='0o177777'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> binário=bin(int(octal,8))</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> binário</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0b1111111111111111'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(binário)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<br />
E por último, vamos para o binário:<br />
<br />
Transformando em inteiro:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> binário='0b1111111111111111'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> inteiro=int(binário,2)</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> inteiro</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">65535</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(inteiro)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'int'></span><br />
<br />
Transformando em hexadecimal (roubandinha):<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> hexadecimal=hex(int(binário,2))</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> hexadecimal</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0xffff'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(hexadecimal)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<br />
Transformando em octal (roubadinha):<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal=oct(int(binário,2))</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> octal</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;">'0o177777'</span><br />
<span style="font-family: Courier New, Courier, monospace;">>>> type(octal)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace;"><class 'str'></span><br />
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2178794158609673336.post-50884879946167437512015-04-09T01:12:00.000-03:002015-11-26T12:55:33.831-02:00CONVERSÕES INTEIRO - HEXADECIMAL - INTEIROO ruim do Python 3.x é que a maioria dos resultados é dado como uma string.<br />
Então se você, por exemplo, atribui um inteiro à uma variável e converte para Hexadecimal, terá uma string como retorno.<br />
Observe:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> inteiro=64</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> type(inteiro)</span><br />
<span style="color: #76a5af; font-family: "courier new" , "courier" , monospace;"><class 'int'></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> hexadecimal=hex(inteiro)</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> type(hexadecimal)</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;"><class 'str'></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> inteiro</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;">64</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> hexadecimal</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;">'0x40'</span><br />
<br />
Nada mal, você pensa, afinal os valores estão certos. Porém os tipos não estão. Isso à princípio não faz muita diferença. Mas quando você começar a manipular esses dados, vai ter problemas certamente.<br />
<br />
Bem... chega de Lero-Lero.<br />
Vamos a algumas transformações:<br />
<br />
String em inteiro:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> a = 'ac6cad'</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> int(a,16)</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;">11300013</span><br />
<br />
Inteiro em string:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> b=11300013</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> b</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;">11300013</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> hex(b)</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;">'0xac6cad'</span><br />
<br />
Para tirar o '0x' da string:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> hex(b).split('x')[1]</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;">'ac6cad'</span><br />
<br />
'split' é para "fatiar" a string. o ('x') é o pondo onde você irá fatiar, neste caso. Portanto, se você fizer:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">>>> hex(b).split('x')</span><br />
<span style="color: #45818e; font-family: "courier new" , "courier" , monospace;">['0', 'ac6cad']</span><br />
<br />
então a primeira posição [0] contém <span style="color: #45818e;">'0'</span> e a segunda posição [1] contém <span style="color: #45818e;">['ac6cad'].</span><br />
<br />
<br />
Bem... espero ter ajudado no começo....<br />
<br />
Qualquer outro tipo de conversão hex-int ou int-hex necessário, por favor, deixem um comentário que terei prazer em incluir neste tópico.<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2178794158609673336.post-40750731753151889782015-04-08T20:05:00.001-03:002015-04-08T20:05:41.104-03:00Introdução ao Python 3 - A EscolhaEstou muito contente em iniciar esse blog, pois tenho certeza que ajudarei muitas pessoas que, como eu, buscaram ajuda por aí e tiveram que "rebolar" pra achar uma resposta.<br />
<br />
Já vou avisando que não sou um Super Sayajin no Python, mas meu poder de luta é quase oito mil.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://wallpaper.ultradownloads.com.br/281895_Papel-de-Parede-Vegeta-Super-Saiyajin_1440x900.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://wallpaper.ultradownloads.com.br/281895_Papel-de-Parede-Vegeta-Super-Saiyajin_1440x900.jpg" height="125" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Pois bem. A primeira opção que fiz ao entrar no mundo do Python foi escolher trabalhar com as versões 3.x, uma vez que todos usam as 2.x por N razões.</div>
<div class="separator" style="clear: both; text-align: left;">
Entretanto, essa foi a principal razão de eu não cair pra esse lado. Pensei assim: "Serei um dos pioneiros a utilizar o Python 3.x então, quando ele se tornar popular, já serei pelo menos o Tenshinhan, quase chegando a ser o Guririn."</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://img1.wikia.nocookie.net/__cb20150315145523/villains/images/b/be/Tenshinhan.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://img1.wikia.nocookie.net/__cb20150315145523/villains/images/b/be/Tenshinhan.png" height="200" width="87" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Darei então aqui algumas dicas começando por conversores de valores (a primeira m$%#@ que você via enfrentar no Python3).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Então!!! Aqui vamos nós!!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Unknownnoreply@blogger.com2