Commit 7954f9d4 by Calen Pennington

Merge remote-tracking branch 'templates/pmitros-name-change' into pmitros-name-change

parents 6c9b8e72 2f0b3918
File added
*.pyc
*~
*.scssc
*.swp
*.orig
*.DS_Store
#*
.#*
\ No newline at end of file
syntax: glob
*.pyc
*~
*.scssc
*.swp
*.orig
*.DS_Store
#*
.#*
\ No newline at end of file
<%inherit file="main.html" />
<section class="activation">
<h1>Page not found</h1>
<p>The page that you were looking for was not found. Go back to the <a href="/">homepage</a> or let us know about any pages that may have been moved at <a href="mailto:technical@mitx.mit.edu">technical@mitx.mit.edu</a>.</p>
</section>
<%inherit file="marketing.html" />
<%block name="login_area">
</%block>
<section class="subpage">
<div>
<h1>
More about 6.002x
</h1>
<h2> Answering common questions about the first course on <i>MITx</i>, the
Institute&rsquo;s online-learning initiative.</h2>
<p>
This set of questions and answers accompanies MIT&rsquo;s February 13,
2012, announcement regarding <i>MITx</i>&rsquo;s prototype course &mdash;
6.002x: Circuits and Electronics.
</p>
<h2> I tried to register for the course, but it says the username
is already taken.</h2>
<p> The system only allows each username to be used once. Probably,
someone else already signed up with that username. Try a different,
more unique username. For example, try adding a random number to the
end.</p>
<h2> I forgot my password </h2>
<p> The log-in form will have a link to reset your password once the
course opens. </p>
<h2> The videos stall out </h2>
<p> You should confirm your internet connection is fast enough to stream
videos, and that Youtube is not blocked by your internet
provider. Since the videos are hosted by YouTube, we have no control
over most technical problems with video playback (aside from those
related specifically to our player). </p>
<p> You should also confirm you have a current version of Flash installed.
While our player supports YouTube's HTML5 API (which allows playback without
Flash), this support is experimental.</p>
<a name="othercourses" ></a>
<h2> I am interested in a different subject. What other courses do
you offer? </h2>
<p> 6.002x is the pilot course for MITx. While we plan to offer a
range of courses in the future, at present, 6.002x is the only course
available. Specific future offerings will be announced later. </p>
<a name="start" ></a>
<h2>How will I know that the course has started?</h2>
<p> The course will start on March 5. Check the website
mitx.mit.edu as the date approaches. A login button will appear on
the course website 6.002x.mitx.mit.edu on or slightly before March 5
so you can login, begin to get familiar with the site and start the
course.</p>
<a name="login" ></a>
<h2> I can't log in</h2>
<p> You will not be able to log into the course until either the
starting date, or shortly before. If you have problems logging in once
the course has started, please verify that you are using the latest
version of either Firefox or Google Chrome, and have JavaScript and
cookies enabled. </p>
<a name="schedule" ></a>
<h2> Does the class have a schedule?</h2>
<p> The lectures are on-line videos, and may be watched at your own
pace and schedule. The course will have fixed deadlines for homework
assignments and exams. </p>
<a name="enrollissues" ></a>
<h2> I just enrolled for the course. I have not received any form
of acknowledgement that I have enrolled.</h2>
<p> You should receive a single activation e-mail. If you did not, the
most common issues are:
<ul>
<li> Typo in e-mail address
<li> Old browser. We recommend downloading the current version of
Firefox or Chrome. The course requires a modern browser.
<li> JavaScript disabled
<li> Activation e-mail in spam folder. Check spam folder.
<li> Non-unique username. Try adding a random string at the end.
</ul>
<p>If you run into issues, try recreating your account. There is no need
to do anything about the old account, if any. If it is not activated
through the link in the e-mail, it will disappear later.
<a name="howdropcourse" ></a>
<h2> How do I drop the course?</h2>
<p> You do not have to do anything. You can simply stop working on the
course at any time you choose to do so.</p>
<a name="ifdropcourse" ></a>
<h2>What happens if I drop the course?</h2>
<p> For the prototype course, learners achieving grades of "A," "B,"
or "C" will receive an electronic Certificate of completion with the
learner's name and grade on it. If you receive a grade below a "C" or
do not complete the course, you will not receive a Certificate and no
grade record attaching your name to your participation in the class
will be disclosed outside of MITx. You can also choose to opt for a
no record at any time. However, the posts you make while enrolled in
the class will remain visible. </p>
<a name="whatismitx" ></a>
<h2>
What is <i>MITx</i>?</h2>
<p> MIT seeks through the development of <i>MITx</i> to improve
education both on the MIT campus and around the world.
<p> On campus, <i>MITx</i> will be coupled with an Institute-wide research
initiative on online teaching and learning. The online learning tools
that <i>MITx</i> develops will benefit the educational experience of
residential students by supplementing and reinforcing the classroom
and laboratory experiences.</p>
<p>
Beyond the MIT campus, <i>MITx</i> will endeavor to break down barriers to
education in two ways. First, it will offer the online teaching of MIT
courses to people around the world and the opportunity for able
learners to gain certification of mastery of MIT material. Second, it
will make freely available to educational institutions everywhere the
open-source software infrastructure on which <i>MITx</i> courses are based.
</p>
<p>
Since it launched OpenCourseWare 10 years ago, MIT has been committed
to using technology to improve and greatly widen access to
education. The launch of <i>MITx</i> represents a next step forward in that
effort.
</p>
<a name="differentcampus" ></a>
<h2>
What is 6.002x, and how is it different from the on-campus version of
6.002?
</h2>
<p>
At MIT, each course is assigned a number. All courses in the
Department of Electrical Engineering and Computer Science (EECS) start
with the number 6, and 6.002 (also known as Circuits and Electronics)
is one of the introductory courses for EECS
undergraduates. <i>MITx</i>&rsquo;s 6.002x is modeled on the on-campus
version of 6.002.
</p>
<p>
The course introduces engineering in the context of the lumped
circuit abstraction. Topics covered include: resistive elements and
networks; independent and dependent sources; switches and MOS
transistors; digital abstraction; amplifiers; energy storage
elements; dynamics of first- and second-order networks; design in
the time and frequency domains; and analog and digital circuits and
applications.
</p>
<p>
6.002x is built on the content created collaboratively by MIT
professors Anant Agarwal and Jeffrey H. Lang for 6.002.
</p>
<a name="howenroll" ></a>
<h2>
How do I enroll in 6.002x?
</h2>
<p>
To enroll, visit <a href="http://mitx.mit.edu">http://mitx.mit.edu</a>
and sign up.
</p>
<a name="whenavailable" ></a>
<h2>
When will the course be available online?
</h2>
<p>
6.002x will become available online on Monday, March 5.
</p>
<a name="timeline" ></a>
<h2>
Do I need to follow a set timeline in completing 6.002x?
</h2>
<p>
In this pilot course of <i>MITx</i>, learners seeking a certificate will have
weekly deadlines for homework and labs. Similarly, the midterm and
final exam will be given within a specific range of days. However,
faster-paced learners can proceed multiple weeks ahead if they choose.
</p>
<a name="workrequired" ></a>
<h2>
How much time is required to complete the course?
</h2>
<p>
Students should expect to spend approximately 10 hours per week on the
course. However, the time taken by individual students might vary
considerably depending on background and skill.
</p>
<a name="instructors" ></a>
<h2>
Who are the instructors for 6.002x?
</h2>
<p>
There are four instructors for 6.002x: Anant Agarwal, Chris Terman,
Gerald Sussman and Piotr Mitros. The team also includes several
teaching assistants (TAs).
</p>
<a name="worklike" ></a>
<h2>
What is the work like in 6.002x?
</h2>
<p>
Students taking 6.002x will have weekly video lectures, readings from
the textbook, practice exercises and homework; design and laboratory
exercises are also significant components of the course. The course
will also provide additional tutorial material. There will be a
midterm and a final exam. An interactive laboratory playground will
also be made available for students to experiment creatively.
</p>
<p>
In general, for any given week, learners are expected to work through
a couple of lecture sequences containing a few videos (each 5 to 10
minutes in length) and a few interactive practice exercises. Learners
can also read appropriate parts of the textbook linked to the
videos. Lab and homework exercises will round out the week. Tutorials
are also provided as additional reference material.
</p>
<a name="questionsduringcourse" ></a>
<h2>
What if I have a question during the course?
</h2>
<p>
The course will include a discussion forum for learners to ask
questions, to post answers, and for discussions. Several helpful
documents, FAQs, tutorials and videos on using the various components
of the course will also be provided.
</p>
<a name="collaboration" ></a>
<h2>
Will 6.002x offer any means for collaboration among online learners?
</h2>
<p>
Yes. 6.002x will offer modest support for collaborative work through a
prototype wiki and discussion forum.
</p>
<a name="prereqs" ></a>
<h2>
Are there prerequisites to take the course?
</h2>
<p>
While <i>MITx</i> courses are open to all, there are some skills required to
succeed in taking the course.
</p>
<p>
In 6.002x, students are encouraged to have the knowledge obtained from
a college-level physics course in electricity and
magnetism (or from an advanced secondary-education course in electricity and magnetism, as with an Advanced Placement course in the United States). Students must know basic calculus and linear algebra, and
have some basic background in differential equations.
</p>
<p>
Since more advanced mathematics will not show up until the second half
of the course, the first half of the course will include an optional
remedial differential equations component for students with weaker
math backgrounds.
</p>
<a name="cost" ></a>
<h2>
How much does the course cost?
</h2>
<p>
All of the courses on <i>MITx</i> will be free of charge. Those who have the
ability and motivation to demonstrate mastery of content can receive a
credential for a modest fee. For this prototype course, the fee for a
credential will be waived.
</p>
<a name="credential" ></a>
<h2>
What is a credential?
</h2>
<p>
Any learner who successfully completes 6.002x will receive an
electronic certificate indicating a grade. This certificate will
indicate that you earned it from <i>MITx</i>&rsquo;s pilot course. In
this prototype version, <i>MITx</i> will not require that you be
tested in a testing center or otherwise have your identity certified
in order to receive this certificate. MITx certificates are not
planned to count towards MIT course credit.
</p>
<a name="whograding" ></a>
<h2>
Who is grading the course?
</h2>
<p>
<i>MITx</i> courses will use automated technologies to check student work
including practice exercises, homework assignments, labs and exams.
</p>
<a name="whatpassing" ></a>
<h2>
What is a passing grade?
</h2>
<p>
Grading schemes for each course will be announced with the
course. 6.002x will be graded on an absolute scale. The components
affecting a student&rsquo;s grade and the grade thresholds will be
posted on the course website when the course comes online.
</p>
<a name="textbook" ></a>
<h2>
Do I need to buy a textbook?
</h2>
<p>
The course uses the textbook Foundations of Analog and Digital
Electronic Circuits, by Anant Agarwal and Jeffrey H. Lang. Morgan
Kaufmann Publishers, Elsevier, July 2005. Relevant sections will be
provided electronically as part of the online course. While the
textbook is recommended, it is not required. The electronic text is
provided for personal use in connection with this course only. The
copyright for the book is owned by Elsevier. The book can be purchased
on <a href="http://www.amazon.com/exec/obidos/ASIN/1558607358/ref=nosim/mitopencourse-20" target="_blank">Amazon</a>.
</p>
<a name="technicalrequirements" ></a>
<h2>
Do I need to have special software to access 6.002x?
</h2>
<p>
No, you do not need special software to access 6.002x, as you will
access the online interactive course through your browser. The course
website was developed and tested primarily with the current version of
Google Chrome. We support current versions of Mozilla Firefox as
well. The video player is based on Youtube, and is designed to work
with Flash. We provide a partial non-Flash fallback for the video, but
this uses Google's experimental HTML5 API, and hence we cannot
guarantee those will continue to function for the duration of the
semester. We provide partial support for Internet Explorer, as well as
other browsers and tablets, but portions of the functionality will be
unavailable.
</p>
<a name="futurecourses" ></a>
<h2>
When will the next courses become available and what topics will they be on?
</h2>
<p>
Additional courses will be announced
on <a href="http://mitx.mit.edu">mitx.mit.edu</a> as they become
available. We expect this will happen in fall 2012. We also have
accounts
on <a href="https://twitter.com/#!/MyMITx">Twitter</a>, <a href="http://www.facebook.com/pages/MITx/378592442151504">Facebook</a>,
and <a href="http://www.linkedin.com/groups/Friends-Alumni-MITx-4316538">LinkedIn</a>.
</p>
</div>
</section>
<%inherit file="marketing.html" />
<%block name="login_area">
</%block>
<section class="subpage">
<div>
<h1> <i>MITx</i> prototype course opens for enrollment&mdash;Online-learning
initiative&rsquo;s first offering, &lsquo;6.002x: Circuits and
Electronics,&rsquo; accepting registrants now.</h1>
<p> MIT News Office</p>
<p> In December,
MIT <a href="http://web.mit.edu/newsoffice/2011/mitx-education-initiative-1219.html">announced </a>the
launch of an online learning initiative called &ldquo;<i>MITx</i>.&rdquo;
Starting this week, interested learners can now enroll for free in the
initiative&rdquo;s prototype course -- 6.002x: Circuits and
Electronics.</p>
<p>Students can sign up for the course
at <a href="http://mitx.mit.edu">mitx.mit.edu</a>. The course will
officially begin on March 5 and run through June 8.</p>
<p> Modeled after MIT&rsquo;s 6.002 &mdash; an introductory course for
undergraduate students in MIT&rsquo;s Department of Electrical
Engineering and Computer Science (EECS) &mdash; 6.002x will introduce
engineering in the context of the lumped circuit abstraction, helping
students make the transition from physics to the fields of electrical
engineering and computer science. It will be taught by Anant Agarwal,
EECS professor and director of MIT's Computer Science and
Artificial Intelligence Laboratory (CSAIL); Chris Terman, CSAIL
co-director; EECS Professor Gerald Sussman; and CSAIL Research
Scientist Piotr Mitros.</p>
<blockquote>
<p>
&ldquo;We are very excited to begin <i>MITx</i> with this prototype
class,&rdquo; says MIT Provost L. Rafael Reif. &ldquo;We will use
this prototype course to optimize the tools we have built by
soliciting and acting on feedback from learners.&rdquo;
</p>
</blockquote>
<p>
To access the course, registered students will log in
at <a href="http://mitx.mit.edu">mitx.mit.edu</a>, where they will
find a course schedule, an e-textbook for the course, and a discussion
board. Each week, students will watch video lectures and
demonstrations, work with practice exercises, complete homework
assignments, and participate in an online interactive lab specifically
designed to replicate its real-world counterpart. Students will also
take exams and be able to check their grades as they progress in the
course. Overall, students can expect to spend approximately 10 hours
each week on the course.
</p>
<blockquote>
&ldquo;We invite you to join us for this pilot course of <i>MITx</i>,&rdquo;
Agarwal says. &ldquo;The 6.002x team of professors and teaching
assistants is excited to work with you on the discussion forum, and we
look forward to your feedback to improve the learning
experience.&rdquo;
</blockquote>
<p> <a href="http://mitx.mit.edu"> A video introduction to 6.002x can
be found here.</a></p>
<p> <a href="/6002x-faq.html"> A set of Frequently Asked Questions
about 6.002x can be found here.</a></p>
<p>
<a href="http://web.mit.edu/newsoffice/2011/mitx-faq-1219">
FAQs about <i>MITx</i> as a whole can be found here.
</a>
</p>
<p>
At the end of the prototype course, students who demonstrate their
mastery will be able to receive a certificate of completion for
free. In future <i>MITx</i> courses, students who complete the mastery
requirement on <i>MITx</i> will be able to receive the credential for a
modest fee.
</p>
<p>
Further courses are expected to become
available beginning in the fall.
</p>
<h3>
RELATED:
</h3>
<p>
<a href="/index.html">
6.002x course website
</a>
</p>
<p>
<a href="/6002x-faq.html">
6.002x FAQ
</a>
</p>
<h3>
ARCHIVE: &quot;MIT launches online learning initiative&quot;
</h3>
<a href="http://web.mit.edu/newsoffice/2011/mitx-education-initiative-1219.html">
http://web.mit.edu/newsoffice/2011/mitx-education-initiative-1219.html
</a>
<h3>
<i>MITx</i> website
</h3>
<a href="http://mitx.mit.edu">
http://mitx.mit.edu
</a>
<!--h3>
TAGS:
</h3>
<p>
<i>MITx</i>; students; education, teaching, academics; innovation and
invention; faculty; mit administration; learning; electrical
engineering and computer science; csail
</p-->
</div>
</section>
<h1>Kirchhoff's circuit laws</h1>
<div>From Wikipedia, the free encyclopedia. See <a href="http://en.wikipedia.org/wiki/Kirchhoff's_circuit_laws">original page</a> for copyright and attribution</div>
<h2>Kirchhoff's current law (KCL)</h2>
<div>
<div style="width:198px;"><a href="http://en.wikipedia.org/wiki/File:KCL.png"><img alt="" src="/static/Kirchhoff_files/KCL.png" width="196" height="195"></a>
<div>The current entering any junction is equal to the current leaving that junction. <i>i</i><sub>1</sub> + <i>i</i><sub>4</sub> = <i>i</i><sub>2</sub> + <i>i</i><sub>3</sub></div>
</div>
</div>
<p>This law is also called <b>Kirchhoff's first law</b>, <b>Kirchhoff's point rule</b>, <b>Kirchhoff's junction rule</b> (or nodal rule), and <b>Kirchhoff's first rule</b>.</p>
<p>The principle of conservation of <a href="http://en.wikipedia.org/wiki/Electric_charge" title="Electric charge">electric charge</a> implies that:</p>
<dl>
<dd>At any node (junction) in an <a href="http://en.wikipedia.org/wiki/Electrical_circuit" title="Electrical circuit">electrical circuit</a>, the sum of <a href="http://en.wikipedia.org/wiki/Current_(electricity)" title="Current (electricity)">currents</a> flowing into that node is equal to the sum of currents flowing out of that node.
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>or</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
<dd>The algebraic sum of currents in a network of conductors meeting at a point is zero.</dd>
</dl>
<p>Recalling that current is a signed (positive or negative) quantity reflecting direction towards or away from a node, this principle can be stated as:</p>
<dl>
<dd><img alt="\sum_{k=1}^n {I}_k = 0" src="/static/Kirchhoff_files/17bbbd9b6e69b94dab881bacae540191.png"></dd>
</dl>
<p><i>n</i> is the total number of branches with currents flowing towards or away from the node.</p>
<p>This formula is valid for <a href="http://en.wikipedia.org/wiki/Complex_number" title="Complex number">complex</a> currents:</p>
<dl>
<dd><img alt="\sum_{k=1}^n \tilde{I}_k = 0" src="/static/Kirchhoff_files/912713fc906c190d03a73f02b2f738ab.png"></dd>
</dl>
<p>The law is based on the conservation of charge whereby the charge (measured in coulombs) is the product of the current (in amperes) and the time (in seconds).</p>
<h3>Changing charge density</h3>
<p>KCL is only valid if the <a href="http://en.wikipedia.org/wiki/Charge_density" title="Charge density">charge density</a> remains constant at the point to which it is applied. Consider the current entering a single plate of a capacitor. If one imagines a closed surface around that single plate, current enters through the surface, but does not exit, thus violating KCL. Certainly, the currents through a closed surface around the entire capacitor will meet KCL since the current entering one plate is balanced by the current exiting the other plate, and that is usually all that is important in circuit analysis, but there is a problem when considering just one plate. Another common example is the current in an <a href="http://en.wikipedia.org/wiki/Antenna_(radio)" title="Antenna (radio)">antenna</a> where current enters the antenna from the transmitter feeder but no current exits from the other end.(Johnson and Graham, pp.36-37)</p>
<p><a href="http://en.wikipedia.org/wiki/James_Clerk_Maxwell" title="James Clerk Maxwell">Maxwell</a> introduced the concept of <a href="http://en.wikipedia.org/wiki/Displacement_current" title="Displacement current">displacement currents</a> to describe these situations. The current flowing into a capacitor plate is equal to the rate of accumulation of charge and hence is also equal to the rate of change of <a href="http://en.wikipedia.org/wiki/Electric_flux" title="Electric flux">electric flux</a> due to that charge (electric flux is measured in the same units, <a href="http://en.wikipedia.org/wiki/Coulomb" title="Coulomb">Coulombs</a>, as electric charge in the <a href="http://en.wikipedia.org/wiki/SI_system" title="SI system">SI system</a> of units). This rate of change of flux, <img alt="\psi \ " src="/static/Kirchhoff_files/ec93733267512bc18567c04e5a728e24.png">, is what Maxwell called displacement current <span dir="ltr"><i>I</i><sub>D</sub></span>;</p>
<dl>
<dd><img alt="I_\mathrm D = \frac {d \psi}{d t}" src="/static/Kirchhoff_files/c449f0cd2e060f03076e28ae5f8f0a75.png"></dd>
</dl>
<p>When the displacement currents are included, Kirchhoff's current law once again holds. Displacement currents are not real currents in that they do not consist of moving charges, they should be viewed more as a correction factor to make KCL true. In the case of the capacitor plate, the real current entering the plate is exactly cancelled by a displacement current leaving the plate and heading for the opposite plate.</p>
<p>This can also be expressed in terms of vector field quantities by taking the <a href="http://en.wikipedia.org/wiki/Divergence" title="Divergence">divergence</a> of <a href="http://en.wikipedia.org/wiki/Amp%C3%A8re%27s_law" title="Ampere&#39;s law">Ampere's law</a> with Maxwell's correction and combining with <a href="http://en.wikipedia.org/wiki/Gauss%27s_law" title="Gauss&#39;s law">Gauss's law</a>, yielding:</p>
<dl>
<dd><img alt="\nabla \cdot \mathbf{J} = -\nabla \cdot \frac{\partial \mathbf{D}}{\partial t} = -\frac{\partial \rho}{\partial t}" src="/static/Kirchhoff_files/229253cd444bad52ccf237f182f18267.png"></dd>
</dl>
<p>This is simply the charge conservation equation (in integral form, it says that the current flowing out of a closed surface is equal to the rate of loss of charge within the enclosed volume (<a href="http://en.wikipedia.org/wiki/Divergence_theorem" title="Divergence theorem">Divergence theorem</a>)). Kirchhoff's current law is equivalent to the statement that the divergence of the current is zero, true for time-invariant p, or always true if the displacement current is included with <b>J</b>.</p>
<h3>Uses</h3>
<p>A <a href="http://en.wikipedia.org/wiki/Matrix_(mathematics)" title="Matrix (mathematics)">matrix</a> version of Kirchhoff's current law is the basis of most <a href="http://en.wikipedia.org/wiki/Electronic_circuit_simulation" title="Electronic circuit simulation">circuit simulation software</a>, such as <a href="http://en.wikipedia.org/wiki/SPICE" title="SPICE">SPICE</a>.</p>
<h2><span>[<a href="http://en.wikipedia.org/w/index.php?title=Kirchhoff%27s_circuit_laws&action=edit&section=4" title="Edit section: Kirchhoff&#39;s voltage law (KVL)">edit</a>]</span> <span id="Kirchhoff.27s_voltage_law_.28KVL.29">Kirchhoff's voltage law (KVL)</span></h2>
<div>
<div style="width:202px;"><a href="http://en.wikipedia.org/wiki/File:Kirchhoff_voltage_law.svg"><img alt="" src="/static/Kirchhoff_files/200px-Kirchhoff_voltage_law.svg.png" width="200" height="175"></a>
<div>
<div><a href="http://en.wikipedia.org/wiki/File:Kirchhoff_voltage_law.svg" title="Enlarge"><img src="/static/Kirchhoff_files/magnify-clip.png" width="15" height="11" alt=""></a></div>
The sum of all the voltages around the loop is equal to zero. v<sub>1</sub> + v<sub>2</sub> + v<sub>3</sub> - v<sub>4</sub> = 0</div>
</div>
</div>
<p>This law is also called <b>Kirchhoff's second law</b>, <b>Kirchhoff's loop (or mesh) rule</b>, and <b>Kirchhoff's second rule</b>.</p>
<p>The principle of conservation of energy implies that</p>
<dl>
<dd>The directed sum of the electrical <a href="http://en.wikipedia.org/wiki/Potential_difference" title="Potential difference">potential differences</a> (voltage) around any closed circuit is zero.
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>or</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
<dd>More simply, the sum of the <a href="http://en.wikipedia.org/wiki/Electromotive_force" title="Electromotive force">emfs</a> in any closed loop is equivalent to the sum of the potential drops in that loop.
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>
<dl>
<dd>or</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
<dd>The algebraic sum of the products of the resistances of the conductors and the currents in them in a closed loop is equal to the total <a href="http://en.wikipedia.org/wiki/Electromotive_force" title="Electromotive force">emf</a> available in that loop.</dd>
</dl>
<p>Similarly to KCL, it can be stated as:</p>
<dl>
<dd><img alt="\sum_{k=1}^n V_k = 0" src="/static/Kirchhoff_files/08d7bd7060be987d4da37b7fc263a740.png"></dd>
</dl>
<p>Here, <i>n</i> is the total number of voltages measured. The voltages may also be complex:</p>
<dl>
<dd><img alt="\sum_{k=1}^n \tilde{V}_k = 0" src="/static/Kirchhoff_files/98720898396d325be0abb463b68caf90.png"></dd>
</dl>
<p>This law is based on the conservation of "energy given/taken by potential field" (not including energy taken by dissipation). Given a voltage potential, a charge which has completed a closed loop doesn't gain or lose energy as it has gone back to initial potential level.</p>
<p>This law holds true even when resistance (which causes <b>dissipation</b> of energy) is present in a circuit. The validity of this law in this case can be understood if one realizes that a charge in fact doesn't go back to its starting point, due to dissipation of energy. A charge will just terminate at the negative terminal, instead of positive terminal. This means all the energy given by the potential difference has been fully consumed by resistance which in turn loses the energy as heat dissipation.</p>
<p>To summarize, Kirchhoff's voltage law has nothing to do with gain or loss of energy by electronic components (resistors, capacitors, etc.). It is a law referring to the potential field generated by voltage sources. In this potential field, regardless of what electronic components are present, the gain or loss in "energy given by the potential field" must be zero when a charge completes a closed loop.</p>
<h3>Electric field and electric potential</h3>
<p>Kirchhoff's voltage law could be viewed as a consequence of the principle of <a href="http://en.wikipedia.org/wiki/Conservation_of_energy" title="Conservation of energy">conservation of energy</a>. Otherwise, it would be possible to build a <a href="http://en.wikipedia.org/wiki/Perpetual_motion_machine" title="Perpetual motion machine">perpetual motion machine</a> that passed a current in a circle around the circuit.</p>
<p>Considering that electric potential is defined as a <a href="http://en.wikipedia.org/wiki/Line_integral" title="Line integral">line integral</a> over an <a href="http://en.wikipedia.org/wiki/Electric_field" title="Electric field">electric field</a>, Kirchhoff's voltage law can be expressed equivalently as</p>
<dl>
<dd><img alt="\oint_C \mathbf{E} \cdot d\mathbf{l} = 0," src="/static/Kirchhoff_files/07172609b59c136393705e4067de95d0.png"></dd>
</dl>
<p>which states that the <a href="http://en.wikipedia.org/wiki/Line_integral" title="Line integral">line integral</a> of the <a href="http://en.wikipedia.org/wiki/Electric_field" title="Electric field">electric field</a> around closed loop C is zero.</p>
<p>In order to return to the more special form, this integral can be "cut in pieces" in order to get the voltage at specific components.</p>
<h3>Limitations</h3>
<p>This is a simplification of <a href="http://en.wikipedia.org/wiki/Faraday%27s_law_of_induction" title="Faraday&#39;s law of induction">Faraday's law of induction</a> for the special case where there is no fluctuating <a href="http://en.wikipedia.org/wiki/Magnetic_field" title="Magnetic field">magnetic field</a> linking the closed loop. Therefore, it practically suffices for explaining circuits containing only resistors and capacitors.</p>
<p>In the presence of a changing magnetic field the electric field is not <a href="http://en.wikipedia.org/wiki/Conservative_vector_field" title="Conservative vector field">conservative</a> and it cannot therefore define a pure scalar <a href="http://en.wikipedia.org/wiki/Potential" title="Potential">potential</a>-the <a href="http://en.wikipedia.org/wiki/Line_integral" title="Line integral">line integral</a> of the electric field around the circuit is not zero. This is because energy is being transferred from the magnetic field to the current (or vice versa). In order to "fix" Kirchhoff's voltage law for circuits containing inductors, an effective potential drop, or <a href="http://en.wikipedia.org/wiki/Electromotive_force" title="Electromotive force">electromotive force</a> (emf), is associated with each <a href="http://en.wikipedia.org/wiki/Inductance" title="Inductance">inductance</a> of the circuit, exactly equal to the amount by which the line integral of the electric field is not zero by <a href="http://en.wikipedia.org/wiki/Faraday%27s_law_of_induction" title="Faraday&#39;s law of induction">Faraday's law of induction</a>.</p>
<%!
from django.core.urlresolvers import reverse
%>
<%def name="make_chapter(chapter)">
<h3><a href="#">${chapter['name']}</a></h3>
<ul>
% for section in chapter['sections']:
<li
% if 'active' in section and section['active']:
class="active"
% endif
>
<a href="${reverse('courseware_section', args=format_url_params([course_name, chapter['name'], section['name']]))}">
<p>${section['name']}</p>
<p class="subtitle">
${section['format']}
% if 'due' in section and section['due']!="":
due ${section['due']}
% endif
</p>
</a>
% endfor
</ul>
</%def>
% for chapter in toc:
${make_chapter(chapter)}
% endfor
<h3><a href="#">Using the System</a></h3>
<div>
<ul>
<li> Lecture
<li> Homework
<li> Lab
</ul>
</div>
<h3><a href="#">Basic Circuit Analysis</a></h3>
<div>
<ul>
<li> Electronic Text
<li> Introduction <br><small>lecture, 50min, due Feb 1</small>
<li> KVL, KCL, and Resistive <br><small>lecture, 50min, due Feb 3</small>
<li> Nodal analysis <br><small>lecture, 50min, due Feb 5</small>
<li> <div style="background-color:#aed0ea;">Linearity, Superposition <br><small>lecture, 50min, due Feb 7</small></div>
<li> Homework 1 <br><small>due Feb 14</small>
<li> Lab 0 <br><small>due Feb 7</small>
</ul>
</div>
<h3><a href="#">Digital Systems</a></h3>
<div>
<!--ul>
<li> Lecture
<li> Homework
<li> Lab
</ul-->
</div>
<h3><a href="#">Nonlinear Elements</a></h3>
<div>
<!--ul>
<li> Lecture
<li> Homework
<li> Lab
</ul-->
</div>
<h3><a href="#">Analog Amplification</a></h3>
<div>
<!--ul>
<li> Lecture
<li> Homework
<li> Lab
</ul-->
</div>
<h3><a href="#">Capacitors and Inductors</a></h3>
<div>
<!--ul>
<li> Lecture
<li> Homework
<li> Lab
</ul-->
</div>
<h3><a href="#">Operational Amplifiers</a></h3>
<div>
<!--ul>
<li> Lecture
<li> Homework
<li> Lab
</ul-->
</div>
<h3><a href="#">Applications</a></h3>
<div>
<!--ul>
<li> Lecture
<li> Homework
<li> Lab
</ul-->
</div>
$("#accordion").accordion({
active: ${ active_chapter },
header: 'h3',
autoHeight: false,
});
$("#open_close_accordion a").click(function(){
if ($(".course-wrapper").hasClass("closed")){
$(".course-wrapper").removeClass("closed");
} else {
$(".course-wrapper").addClass("closed");
}
});
$('.ui-accordion').bind('accordionchange', function(event, ui) {
var event_data = {'newheader':ui.newHeader.text(),
'oldheader':ui.oldHeader.text()};
log_event('accordion', event_data);
});
<%inherit file="marketing.html" />
<section class="tos">
<div>
<section class="activation">
<h1>Account already active!</h1>
<!-- <p>Now go <a href="/">log in</a> and try the course!</a></p> -->
<p> This account has already been activated. You can log in at
the <a href="/">6.002x course page</a>.</p>
</div>
</section>
<%inherit file="marketing.html" />
<section class="tos">
<div>
<h1>Activation Complete!</h1>
<!-- <p>Now go <a href="/">log in</a> and try the course!</a></p> -->
<p>Thanks for activating your account. You can log in at the <a href="/">6.002x course page</a>.</p>
</div>
</section>
<%inherit file="marketing.html" />
<section class="tos">
<div>
<h1>Activation Invalid</h1>
<p>Something went wrong. Check to make sure the URL you went to was
correct -- e-mail programs will sometimes split it into two
lines. If you still have issues, e-mail us to let us know what happened
at <a href="mailto:bugs@mitx.mit.edu">bugs@mitx.mit.edu</a>.</p>
<p>Or you can go back to the <a href="/">6.002x course page</a>.</p>
</div>
</section>
<li><a href="javascript:goto_page(9)"> Contents ix </a>
<li><a href="javascript:goto_page(1)"> Preamble i </a>
<ul> <li><a href="javascript:goto_page(1)"> Comments on the Book i</a>
<li><a href="javascript:goto_page(4)"> About the Authors iv</a>
<li><a href="javascript:goto_page(7)"> Dedication vii</a>
<li><a href="javascript:goto_page(19)"> Preface xix </a>
<li><a href="javascript:goto_page(19)"> Approach xix </a>
<li><a href="javascript:goto_page(21)"> Overview xxi </a>
<li><a href="javascript:goto_page(23)"> Course Organization xxiii </a>
<li><a href="javascript:goto_page(23)"> Web Supplements xxiii </a>
<li><a href="javascript:goto_page(24)"> Acknowledgments xxiv </a>
</ul>
<li><a href="javascript:goto_page(27)"> 1 The Circuit Abstraction 3 </a>
<ul> <li><a href="javascript:goto_page(27)"> 1.1 The Power of Abstraction 3 </a>
<li><a href="javascript:goto_page(29)"> 1.2 The Lumped Circuit Abstraction 4 </a>
<li><a href="javascript:goto_page(33)"> 1.3 The Lumped Matter Discipline 9 </a>
<li><a href="javascript:goto_page(37)"> 1.4 Limitations of the Lumped Circuit Abstraction 13 </a>
<li><a href="javascript:goto_page(39)"> 1.5 Practical Two-Terminal Elements 15 </a>
<ul> <li><a href="javascript:goto_page(40)"> 1.5.1 Batteries 16 </a>
<li><a href="javascript:goto_page(42)"> 1.5.2 Linear Resistors 18 </a>
<li><a href="javascript:goto_page(49)"> 1.5.3 Associated Variables Convention 25 </a>
</ul> <li><a href="javascript:goto_page(53)"> 1.6 Ideal Two-Terminal Elements 29 </a>
<ul> <li><a href="javascript:goto_page(54)"> 1.6.1 Ideal Voltage Sources, Wires and Resistors 30 </a>
<li><a href="javascript:goto_page(56)"> 1.6.2 Element Laws 32 </a>
<li><a href="javascript:goto_page(57)"> 1.6.3 The Current Source 33 </a>
</ul> <li><a href="javascript:goto_page(60)"> 1.7 Modeling Physical Elements 36 </a>
<li><a href="javascript:goto_page(64)"> 1.8 Signal Representation 40 </a>
<ul> <li><a href="javascript:goto_page(65)"> 1.8.1 Analog Signals 41 </a>
<li><a href="javascript:goto_page(66)"> 1.8.3 Digital Signals 42 </a>
</ul> <li><a href="javascript:goto_page(70)"> 1.9 Summary 46 </a>
</ul> <li><a href="javascript:goto_page(77)"> 2 Resistive Networks 53 </a>
<ul> <li><a href="javascript:goto_page(78)"> 2.1 Terminology 54 </a>
<li><a href="javascript:goto_page(79)"> 2.2 Kirchhoff's Laws 55 </a>
<ul> <li><a href="javascript:goto_page(80)"> 2.2.1 KCL 56 </a>
<li><a href="javascript:goto_page(84)"> 2.2.1 KVL 60 </a>
</ul> <li><a href="javascript:goto_page(90)"> 2.3 Circuit Analysis: Basic Method 66 </a>
<ul> <li><a href="javascript:goto_page(91)"> 2.3.1 Single-Resistor Circuits 67 </a>
<li><a href="javascript:goto_page(94)"> 2.3.2 Quick Intuitive Analysis of Single-Resistor Circuits 70 </a>
<li><a href="javascript:goto_page(95)"> 2.3.3 Energy Conservation 71 </a>
<li><a href="javascript:goto_page(97)"> 2.3.4 Voltage and Current Dividers 73 </a>
<li><a href="javascript:goto_page(99)"> 2.3.4.1 Voltage Dividers 73 </a>
<li><a href="javascript:goto_page(100)"> 2.3.4.2 Resistors in Series 76 </a>
<li><a href="javascript:goto_page(104)"> 2.3.4.3 Current Dividers 80 </a>
<li><a href="javascript:goto_page(108)"> 2.3.4.4 Resistors in Parallel 82 </a>
<li><a href="javascript:goto_page(108)"> 2.3.5 A More Complex Circuit 84 </a>
</ul> <li><a href="javascript:goto_page(113)"> 2.4 Intuitive Method of Circuit Analysis 89 </a>
<li><a href="javascript:goto_page(119)"> 2.5 More Examples 95 </a>
<li><a href="javascript:goto_page(122)"> 2.6 Dependent Sources and the Control Concept 98 </a>
<ul> <li><a href="javascript:goto_page(126)"> 2.6.1 Circuits with Dependent Sources 102 </a>
</ul> <li><a href="javascript:goto_page(131)"> 2.7 A Formulation Suitable for a Computer Solution * 107 </a>
<li><a href="javascript:goto_page(132)"> 2.8 Summary 108 </a>
</ul> <li><a href="javascript:goto_page(143)"> 3 Network Theorems 119 </a>
<ul> <li><a href="javascript:goto_page(143)"> 3.1 Introduction 119 </a>
<li><a href="javascript:goto_page(143)"> 3.2 The Node Voltage 119 </a>
<li><a href="javascript:goto_page(149)"> 3.3 The Node Method 125 </a>
<ul> <li><a href="javascript:goto_page(154)"> 3.3.1 Node Method: A Second Example 130 </a>
<li><a href="javascript:goto_page(159)"> 3.3.2 Floating Independent Voltage Sources 135 </a>
<li><a href="javascript:goto_page(163)"> 3.3.3 Dependent Sources and the Node Method 139 </a>
<li><a href="javascript:goto_page(169)"> 3.3.4 The Conductance and Source Matrices * 145 </a>
</ul> <li><a href="javascript:goto_page(169)"> 3.4 Loop Method * 145 </a>
<li><a href="javascript:goto_page(169)"> 3.5 Superposition 145 </a>
<ul> <li><a href="javascript:goto_page(176)"> 3.5.1 Superposition Rules for Dependent Sources 152 </a>
</ul> <li><a href="javascript:goto_page(182)"> 3.6 Thevenin's Theorem and Norton's Theorem 158 </a>
<ul> <li><a href="javascript:goto_page(182)"> 3.6.1 The Thevenin Equivalent Network 158 </a>
<li><a href="javascript:goto_page(192)"> 3.6.2 The Norton Equivalent Network 168 </a>
<li><a href="javascript:goto_page(195)"> 3.6.3 More Examples 171 </a>
</ul> <li><a href="javascript:goto_page(201)"> 3.7 Summary 177 </a>
</ul> <li><a href="javascript:goto_page(217)"> 4 Analysis of Nonlinear Circuits 193 </a>
<ul> <li><a href="javascript:goto_page(217)"> 4.1 Introduction to Nonlinear Elements 193 </a>
<li><a href="javascript:goto_page(221)"> 4.2 Analytical Solutions 197 </a>
<li><a href="javascript:goto_page(227)"> 4.3 Graphical Analysis 203 </a>
<li><a href="javascript:goto_page(230)"> 4.4 Piecewise Linear Analysis 206 </a>
<ul> <li><a href="javascript:goto_page(238)"> 4.4.1 Improved Piecewise Linear Models for Nonlinear Elements * 214 </a>
</ul> <li><a href="javascript:goto_page(238)"> 4.5 Incremental Analysis 214 </a>
<li><a href="javascript:goto_page(253)"> 4.6 Summary 229 </a>
</ul> <li><a href="javascript:goto_page(267)"> 5 The Digital Abstraction 243 </a>
<ul> <li><a href="javascript:goto_page(269)"> 5.1 Voltage Levels and the Static Discipline 245 </a>
<li><a href="javascript:goto_page(256+24)"> 5.2 Boolean Logic 256 </a>
<li><a href="javascript:goto_page(258+24)"> 5.3 Combinational Gates 258 </a>
<li><a href="javascript:goto_page(261+24)"> 5.4 Standard Sum-of-Products Representation 261 </a>
<li><a href="javascript:goto_page(262+24)"> 5.5 Simplifying Logic Expressions * 262 </a>
<li><a href="javascript:goto_page(267+24)"> 5.6 Number Representation 267 </a>
<li><a href="javascript:goto_page(274+24)"> 5.7 Summary 274 </a>
</ul> <li><a href="javascript:goto_page(285+24)"> 6 The MOSFET Switch 285 </a>
<ul> <li><a href="javascript:goto_page(285+24)"> 6.1 The Switch 285 </a>
<li><a href="javascript:goto_page(288+24)"> 6.2 Logic Functions Using Switches 288 </a>
<li><a href="javascript:goto_page(298+24)"> 6.3 The MOSFET Device and Its S Model 298 </a>
<li><a href="javascript:goto_page(291+24)"> 6.4 MOSFET Switch Implementation of Logic Gates 291 </a>
<li><a href="javascript:goto_page(296+24)"> 6.5 Static Analysis Using the S Model 296 </a>
<li><a href="javascript:goto_page(300+24)"> 6.6 The SR Model of the MOSFET 300 </a>
<li><a href="javascript:goto_page(301+24)"> 6.7 Physical Structure of the MOSFET * 301 </a>
<li><a href="javascript:goto_page(306+24)"> 6.8 Static Analysis Using the SR Model 306 </a>
<ul> <li><a href="javascript:goto_page(311+24)"> 6.8.1 Static Analysis of the NAND Gate Using the SR Model 311 </a>
</ul> <li><a href="javascript:goto_page(314+24)"> 6.9 Signal Restoration 314 </a>
<ul> <li><a href="javascript:goto_page(314+24)"> 6.9.1 Signal Restoration and Gain 314 </a>
<li><a href="javascript:goto_page(317+24)"> 6.9.2 Signal Restoration and Nonlinearity 317 </a>
<li><a href="javascript:goto_page(318+24)"> 6.9.3 Buffer Characteristics and the Static Discipline 318 </a>
<li><a href="javascript:goto_page(319+24)"> 6.9.4 Inverter Transfer Characteristics and the Static Discipline 319 </a>
</ul> <li><a href="javascript:goto_page(320+24)"> 6.10 Power Consumption in Logic Gates 320 </a>
<li><a href="javascript:goto_page(321+24)"> 6.11 Active Pullups 321 </a>
<li><a href="javascript:goto_page(322+24)"> 6.12 Summary 322 </a>
</ul> <li><a href="javascript:goto_page(331+24)"> 7 The MOSFET Amplifier 331 </a>
<ul> <li><a href="javascript:goto_page(332+24)"> 7.1 Signal Amplification 332 </a>
<li><a href="javascript:goto_page(332+24)"> 7.2 Review of Dependent Sources 332 </a>
<li><a href="javascript:goto_page(335+24)"> 7.3 Actual MOSFET Characteristics 335 </a>
<li><a href="javascript:goto_page(340+24)"> 7.4 The Switch Current Source (SCS) MOSFET Model 340 </a>
<li><a href="javascript:goto_page(344+24)"> 7.5 The MOSFET Amplifier 344 </a>
<ul> <li><a href="javascript:goto_page(349+24)"> 7.5.1 Biasing the MOSFET Amplifier 349 </a>
<li><a href="javascript:goto_page(352+24)"> 7.5.2 The Amplifier Abstraction and the Saturation Discipline 352 </a>
</ul> <li><a href="javascript:goto_page(353+24)"> 7.6 Large Signal Analysis of the MOSFET Amplifier 353 </a>
<ul> <li><a href="javascript:goto_page(353+24)"> 7.6.1 v_IN versus v_OUT in the Saturation Region 353 </a>
<li><a href="javascript:goto_page(356+24)"> 7.6.2 Valid Input and Output Voltage Ranges 356 </a>
<li><a href="javascript:goto_page(363+24)"> 7.6.3 Alternative Method for Valid Input and Output Voltage Ranges 363 </a>z
</ul> <li><a href="javascript:goto_page(385+24)"> 7.7 Operating Point Selection 385 </a>
<li><a href="javascript:goto_page(386+24)"> 7.8 Switch Unified (SU) MOSFET Model * 386 </a>
<li><a href="javascript:goto_page(389+24)"> 7.9 Summary 389 </a>
</ul> <li><a href="javascript:goto_page(405+24)"> 8 The Small Signal Model 405 </a>
<ul> <li><a href="javascript:goto_page(405+24)"> 8.1 Overview of the Nonlinear MOSFET Amplifier 405 </a>
<li><a href="javascript:goto_page(405+24)"> 8.2 The Small Signal Model 405 </a>
<ul> <li><a href="javascript:goto_page(413+24)"> 8.2.1 Small Signal Circuit Representation 413 </a>
<li><a href="javascript:goto_page(418+24)"> 8.3.2 Small Signal Circuit for the MOSFET Amplifier 418 </a>
<li><a href="javascript:goto_page(420+24)"> 8.2.3 Selecting an Operating Point 420 </a>
<li><a href="javascript:goto_page(423+24)"> 8.2.4 Input and Output Resistance, Current and Power Gain 423 </a>
</ul> <li><a href="javascript:goto_page(447+24)"> 8.3 Summary 447 </a>
</ul> <li><a href="javascript:goto_page(457+24)"> 9 Energy Storage Elements 457 </a>
<ul> <li><a href="javascript:goto_page(461+24)"> 1-Sep Constitutive Laws 461 </a>
<ul> <li><a href="javascript:goto_page(461+24)"> 9.1.1 Capacitors 461 </a>
<li><a href="javascript:goto_page(466+24)"> 9.1.2 Inductors 466 </a>
</ul> <li><a href="javascript:goto_page(470+24)"> 9.2 Series & Parallel Connections 470 </a>
<ul> <li><a href="javascript:goto_page(471+24)"> 9.2.1 Capacitors 471 </a>
<li><a href="javascript:goto_page(472+24)"> 9.2.2 Inductors 472 </a>
</ul> <li><a href="javascript:goto_page(473+24)"> 9.3 Special Examples 473 </a>
<ul> <li><a href="javascript:goto_page(473+24)"> 9.3.1 MOSFET Gate Capacitance 473 </a>
<li><a href="javascript:goto_page(476+24)"> 9.3.2 Wiring Loop Inductance 476 </a>
<li><a href="javascript:goto_page(477+24)"> 9.3.3 IC Wiring Capacitance and Inductance 477 </a>
<li><a href="javascript:goto_page(478+24)"> 9.3.4 Transformers * 478 </a>
</ul> <li><a href="javascript:goto_page(480+24)"> 9.4 Simple Circuit Examples 480 </a>
<ul> <li><a href="javascript:goto_page(482+24)"> 9.4.1 Sinusoidal Inputs * 482 </a>
<li><a href="javascript:goto_page(482+24)"> 9.4.2 Step Inputs 482 </a>
<li><a href="javascript:goto_page(488+24)"> 9.4.3 Impulse Inputs 488 </a>
<li><a href="javascript:goto_page(489+24)"> 9.4.4 Role Reversal * 489 </a>
</ul> <li><a href="javascript:goto_page(489+24)"> 9.5 Energy, Charge and Flux Conservation 489 </a>
<li><a href="javascript:goto_page(492+24)"> 9.6 Summary 492 </a>
</ul> <li><a href="javascript:goto_page(503+24)"> 10 First-order Transients 503 </a>
<ul> <li><a href="javascript:goto_page(504+24)"> 10.1.1 Analysis of RC Circuits 504 </a>
<ul> <li><a href="javascript:goto_page(504+24)"> 10.1.2 Parallel RC Circuit, Step Input 504 </a>
<li><a href="javascript:goto_page(509+24)"> 10.1.3 RC Discharge Transient 509 </a>
<li><a href="javascript:goto_page(511+24)"> 10.1.4 Series RC Circuit, Step Input 511 </a>
<li><a href="javascript:goto_page(515+24)"> 10.2 Series RC Circuit, Square Wave Input 515 </a>
</ul> <li><a href="javascript:goto_page(517+24)"> 10.2.1 Analysis of RL Circuits 517 </a>
<ul> <li><a href="javascript:goto_page(517+24)"> 10.3 Series RL Circuit, Step Input 517 </a>
</ul> <li><a href="javascript:goto_page(520+24)"> 10.4 Intuitive Analysis 520 </a>
<li><a href="javascript:goto_page(525+24)"> 10.4.1 Propagation Delay and the Digital Abstraction 525 </a>
<ul> <li><a href="javascript:goto_page(527+24)"> 10.4.2 Definitions 527 </a>
<li><a href="javascript:goto_page(529+24)"> 10.5 Computing t_pd from the SRC MOSFET Model 529 </a>
</ul> <li><a href="javascript:goto_page(538+24)"> 10.5.1 State and State Variables * 538 </a>
<ul> <li><a href="javascript:goto_page(538+24)"> 10.5.2 The Concept of State 538 </a>
<li><a href="javascript:goto_page(540+24)"> 10.5.3 Computer Analysis using the State Equation 540 </a>
<li><a href="javascript:goto_page(541+24)"> 10.5.4 Zero-input and Zero-state Response 541 </a>
<li><a href="javascript:goto_page(544+24)"> 10.6 Solution by Integrating Factors* 544 </a>
</ul> <li><a href="javascript:goto_page(545+24)"> 10.6.1 Additional Examples 545 </a>
<ul> <li><a href="javascript:goto_page(545+24)"> 10.6.2 Effect of Wire Inductance in Digital Circuits 545 </a>
<li><a href="javascript:goto_page(545+24)"> 10.6.3 Ramp Inputs and Linearity 545 </a>
<li><a href="javascript:goto_page(550+24)"> 10.6.4 Response of an RC Circuit to Short Pulses and the Impulse Response 550 </a>
<li><a href="javascript:goto_page(553+24)"> 10.6.5 Intuitive Method for the Impulse Response 553 </a>
<li><a href="javascript:goto_page(554+24)"> 10.6.6 Clock Signals and Clock Fanout 554 </a>
<li><a href="javascript:goto_page(558+24)"> 10.6.7 RC Response to Decaying Exponential * 558 </a>
<li><a href="javascript:goto_page(558+24)"> 10.7 Series RL Circuit with Sinewave Input 558 </a>
</ul> <li><a href="javascript:goto_page(561+24)"> 10.7.1 Digital Memory 561 </a>
<ul> <li><a href="javascript:goto_page(561+24)"> 10.7.2 The Concept of Digital State 561 </a>
<li><a href="javascript:goto_page(562+24)"> 10.7.3 An Abstract Digital Memory Element 562 </a>
<li><a href="javascript:goto_page(563+24)"> 10.7.4 Design of the Digital Memory Element 563 </a>
<li><a href="javascript:goto_page(567+24)"> 10.7.5 A Static Memory Element 567 </a>
</ul> <li><a href="javascript:goto_page(568+24)"> 10.8 Summary 568 </a>
</ul> <li><a href="javascript:goto_page(595+24)"> 11 Energy and Power in Digital Circuits 595 </a>
<ul> <li><a href="javascript:goto_page(595+24)"> 11.1 Power and Energy Relations for a Simple RC Circuit 595 </a>
<li><a href="javascript:goto_page(597+24)"> 11.2 Average Power in an RC Circuit 597 </a>
<ul> <li><a href="javascript:goto_page(599+24)"> 11.2.1 Energy Dissipated during Interval T_1 599 </a>
<li><a href="javascript:goto_page(601+24)"> 11.2.2 Energy Dissipated during Interval T_2 601 </a>
<li><a href="javascript:goto_page(603+24)"> 11.2.3 Total Energy Dissipated 603 </a>
</ul> <li><a href="javascript:goto_page(604+24)"> 11.3 Power Dissipation in Logic Gates 604 </a>
<ul> <li><a href="javascript:goto_page(604+24)"> 11.3.1 Static Power Dissipation 604 </a>
<li><a href="javascript:goto_page(605+24)"> 11.3.2 Total Power Dissipation 605 </a>
</ul> <li><a href="javascript:goto_page(611+24)"> 11.4 NMOS Logic 611 </a>
<li><a href="javascript:goto_page(611+24)"> 11.5 CMOS Logic 611 </a>
<ul> <li><a href="javascript:goto_page(616+24)"> 11.5.1 CMOS Logic Gate Design 616 </a>
</ul> <li><a href="javascript:goto_page(618+24)"> 11.6 Summary 618 </a>
</ul> <li><a href="javascript:goto_page(625+24)"> 12 Transients in Second Order Circuits 625 </a>
<ul> <li><a href="javascript:goto_page(627+24)"> 12.1 Undriven LC Circuit 627 </a>
<li><a href="javascript:goto_page(640+24)"> 12.2 Undriven, Series RLC Circuit 640 </a>
<ul> <li><a href="javascript:goto_page(644+24)"> 12.2.1 Under-Damped Dynamics 644 </a>
<li><a href="javascript:goto_page(648+24)"> 12.2.2 Over-Damped Dynamics 648 </a>
<li><a href="javascript:goto_page(649+24)"> 12.2.3 Critically-Damped Dynamics 649 </a>
</ul> <li><a href="javascript:goto_page(651+24)"> 12.3 Stored Energy in Transient, Series RLC Circuit 651 </a>
<li><a href="javascript:goto_page(654+24)"> 12.4 Undriven, Parallel RLC Circuit * 654 </a>
<ul> <li><a href="javascript:goto_page(654+24)"> 12.4.1 Under-Damped Dynamics 654 </a>
<li><a href="javascript:goto_page(654+24)"> 12.4.2 Over-Damped Dynamics 654 </a>
<li><a href="javascript:goto_page(654+24)"> 12.4.3 Critically-Damped Dynamics 654 </a>
</ul> <li><a href="javascript:goto_page(654+24)"> 12.5 Driven, Series RLC Circuit 654 </a>
<ul> <li><a href="javascript:goto_page(657+24)"> 12.5.1 Step Response 657 </a>
<li><a href="javascript:goto_page(661+24)"> 12.5.2 Impulse Response * 661 </a>
</ul> <li><a href="javascript:goto_page(678+24)"> 12.6 Driven, Parallel RLC Circuit * 678 </a>
<ul> <li><a href="javascript:goto_page(678+24)"> 12.6.1 Step Response 678 </a>
<li><a href="javascript:goto_page(678+24)"> 12.6.2 Impulse Response 678 </a>
</ul> <li><a href="javascript:goto_page(678+24)"> 12.7 Intuitive Analysis of Second-Order Circuits 678 </a>
<li><a href="javascript:goto_page(684+24)"> 12.8 Two-Capacitor Or Two-Inductor Circuits 684 </a>
<li><a href="javascript:goto_page(689+24)"> 12.9 State-Variable Method * 689 </a>
<li><a href="javascript:goto_page(691+24)"> 12.10 State-Space Analysis * 691 </a>
<ul> <li><a href="javascript:goto_page(691+24)"> 12.10.1 Numerical Solution * 691 </a>
</ul> <li><a href="javascript:goto_page(691+24)"> 12.11 Higher-Order Circuits* 691 </a>
<li><a href="javascript:goto_page(692+24)"> 12.12 Summary 692 </a>
</ul> <li><a href="javascript:goto_page(703+24)"> 13 Sinusoidal Steady State 703 </a>
<ul> <li><a href="javascript:goto_page(703+24)"> 13.1 Introduction 703 </a>
<li><a href="javascript:goto_page(706+24)"> 13.2 Analysis using Complex Exponential Drive 706 </a>
<ul> <li><a href="javascript:goto_page(706+24)"> 13.2.1 Homogeneous Solution 706 </a>
<li><a href="javascript:goto_page(707+24)"> 13.2.2 Particular Solution 707 </a>
<li><a href="javascript:goto_page(710+24)"> 13.2.3 Complete Solution 710 </a>
<li><a href="javascript:goto_page(710+24)"> 13.2.4 Sinusoidal Steady State Response 710 </a>
</ul> <li><a href="javascript:goto_page(712+24)"> 13.3 The Boxes: Impedance 712 </a>
<ul> <li><a href="javascript:goto_page(718+24)"> 13.3.1 Example: Series RL Circuit 718 </a>
<li><a href="javascript:goto_page(722+24)"> 13.3.2 Example: Another RC Circuit 722 </a>
<li><a href="javascript:goto_page(724+24)"> 13.3.3 Example: RC Circuit with Two Capacitors 724 </a>
<li><a href="javascript:goto_page(729+24)"> 13.3.4 Example: Analysis of Small Signal Amplifier with Capacitive Load 729 </a>
</ul> <li><a href="javascript:goto_page(731+24)"> 13.4 Frequency Response: Magnitude/Phase vs. Frequency 731 </a>
<ul> <li><a href="javascript:goto_page(732+24)"> 13.4.1 Frequency Response of Capacitors, Inductor 732 </a>
<li><a href="javascript:goto_page(737+24)"> 13.4.2 Intuitively Sketching th 737 </a>
<li><a href="javascript:goto_page(741+24)"> 13.4.3 The Bode Plot: Sketching the Frequency Response of General Functions * 741 </a>
</ul> <li><a href="javascript:goto_page(742+24)"> 13.5 Filters 742 </a>
<ul> <li><a href="javascript:goto_page(744+24)"> 13.5.1 Filter Design Example: Crossover Network 744 </a>
<li><a href="javascript:goto_page(746+24)"> 13.5.2 Decoupling Amplifier Stages 746 </a>
</ul> <li><a href="javascript:goto_page(751+24)"> 13.6 Time Domain 751 </a>
<ul> <li><a href="javascript:goto_page(751+24)"> 13.6.1 Frequency Domain Analysis 751 </a>
<li><a href="javascript:goto_page(754+24)"> 13.6.2 Time Domain Analysis 754 </a>
<li><a href="javascript:goto_page(756+24)"> 13.6.3 Comparing Time Domain and Frequency Domain Analyses 756 </a>
</ul> <li><a href="javascript:goto_page(757+24)"> 13.7 Power and Energy in an Impedance 757 </a>
<ul> <li><a href="javascript:goto_page(758+24)"> 13.7.1 Arbitrary Impedance 758 </a>
<li><a href="javascript:goto_page(760+24)"> 13.7.2 Pure Resistance 760 </a>
<li><a href="javascript:goto_page(761+24)"> 13.7.3 Pure Reactance 761 </a>
<li><a href="javascript:goto_page(763+24)"> 13.7.4 Example: Power in an RC Circuit 763 </a>
</ul> <li><a href="javascript:goto_page(765+24)"> 13.8 Summary 765 </a>
</ul> <li><a href="javascript:goto_page(777+24)"> 14 Sinusoidal Steady State: Resonance 777 </a>
<ul> <li><a href="javascript:goto_page(777+24)"> 14.1 Parallel RLC, Sinusoidal Response 777 </a>
<ul> <li><a href="javascript:goto_page(778+24)"> 14.1.1 Homogeneous Solution 778 </a>
<li><a href="javascript:goto_page(780+24)"> 14.1.2 Particular Solution 780 </a>
<li><a href="javascript:goto_page(781+24)"> 14.1.3 Total Solution for the Parallel RLC Circuit 781 </a>
</ul> <li><a href="javascript:goto_page(783+24)"> 14.2 Frequency Response for Resonant Systems 783 </a>
<ul> <li><a href="javascript:goto_page(792+24)"> 14.2.1 The Resonant Region of the Frequency Response 792 </a>
</ul> <li><a href="javascript:goto_page(801+24)"> 14.3 Series RLC 801 </a>
<li><a href="javascript:goto_page(808+24)"> 14.4 The Bode Plot for Resonant Functions * 808 </a>
<li><a href="javascript:goto_page(808+24)"> 14.5 Filter Examples 808 </a>
<ul> <li><a href="javascript:goto_page(809+24)"> 14.5.1 Bandpass Filter 809 </a>
<li><a href="javascript:goto_page(810+24)"> 14.5.2 Lowpass Filter 810 </a>
<li><a href="javascript:goto_page(812+24)"> 14.5.3 Highpass Filter 812 </a>
<li><a href="javascript:goto_page(815+24)"> 14.5.4 Notch Filter 815 </a>
</ul> <li><a href="javascript:goto_page(816+24)"> 14.6 Stored Energy in a Resonant Circuit 816 </a>
<li><a href="javascript:goto_page(821+24)"> 14.7 Summary 821 </a>
</ul> <li><a href="javascript:goto_page(837+24)"> 15 The Operational Amplifier Abstraction 837 </a>
<ul> <li><a href="javascript:goto_page(837+24)"> 15.1 Introduction 837 </a>
<ul> <li><a href="javascript:goto_page(838+24)"> 15.1.1 Historical Perspective 838 </a>
</ul> <li><a href="javascript:goto_page(839+24)"> 15.2 Device Properties of the Operational Amplifier 839 </a>
<ul> <li><a href="javascript:goto_page(839+24)"> 15.2 The Op Amp Model 839 </a>
</ul> <li><a href="javascript:goto_page(842+24)"> 15.3 Simple Op Amp Circuits 842 </a>
<ul> <li><a href="javascript:goto_page(842+24)"> 15.3.1 The Non-inverting Op Amp 842 </a>
<li><a href="javascript:goto_page(844+24)"> 15.3.2 A Second Example: The Inverting Connection 844 </a>
<li><a href="javascript:goto_page(846+24)"> 15.3.3 Sensitivity 846 </a>
<li><a href="javascript:goto_page(847+24)"> 15.3.4 A Special Case: The Voltage Follower 847 </a>
<li><a href="javascript:goto_page(848+24)"> 15.3.5 An Additional Constraint: v+ - v- ~ 0 848 </a>
</ul> <li><a href="javascript:goto_page(849+24)"> 15.4 Input and Output Resistances 849 </a>
<ul> <li><a href="javascript:goto_page(849+24)"> 15.4.1 Output Resistance, Inverting Op Amp 849 </a>
<li><a href="javascript:goto_page(851+24)"> 15.4.2 Input Resistance, Inverting Connection 851 </a>
<li><a href="javascript:goto_page(853+24)"> 15.4.3 Input and Output R for Non-Inverting Op Amp 853 </a>
<li><a href="javascript:goto_page(855+24)"> 15.4.4 Generalization on Input Resistance * 855 </a>
<li><a href="javascript:goto_page(855+24)"> 15.4.5 Example: Op Amp Current Source 855 </a>
</ul> <li><a href="javascript:goto_page(857+24)"> 15.5 Additional Examples 857 </a>
<ul> <li><a href="javascript:goto_page(858+24)"> 15.5.1 Adder 858 </a>
<li><a href="javascript:goto_page(858+24)"> 15.5.2 Subtracter 858 </a>
</ul> <li><a href="javascript:goto_page(859+24)"> 15.6 Op Amp RC Circuits 859 </a>
<ul> <li><a href="javascript:goto_page(859+24)"> 15.6.1 Op Amp Integrator 859 </a>
<li><a href="javascript:goto_page(862+24)"> 15.6.2 Op Amp Differentiator 862 </a>
<li><a href="javascript:goto_page(863+24)"> 15.6.3 An RC Active Filter 863 </a>
<li><a href="javascript:goto_page(865+24)"> 15.6.4 The RC Active Filter -- Impedance Analysis 865 </a>
<li><a href="javascript:goto_page(866+24)"> 15.6.5 Sallen-Key Filter 866 </a>
</ul> <li><a href="javascript:goto_page(866+24)"> 15.7 Op Amp in Saturation 866 </a>
<ul> <li><a href="javascript:goto_page(867+24)"> 15.7.1 Op Amp Integrator in Saturation 867 </a>
</ul> <li><a href="javascript:goto_page(869+24)"> 15.8 Positive Feedback 869 </a>
<ul> <li><a href="javascript:goto_page(869+24)"> 15.8.1 RC Oscillator 869 </a>
</ul> <li><a href="javascript:goto_page(872+24)"> 15.9 Two-ports* 872 </a>
<li><a href="javascript:goto_page(873+24)"> 15.10 Summary 873 </a>
</ul> <li><a href="javascript:goto_page(905+24)"> 16 Diodes 905 </a>
<ul> <li><a href="javascript:goto_page(905+24)"> 16.1 Introduction 905 </a>
<li><a href="javascript:goto_page(905+24)"> 16.2 Semiconductor Diode Characteristics 905 </a>
<li><a href="javascript:goto_page(908+24)"> 16.3 Analysis of Diode Circuits 908 </a>
<ul> <li><a href="javascript:goto_page(908+24)"> 16.3.1 Method of Assumed States 908 </a>
</ul> <li><a href="javascript:goto_page(912+24)"> 16.4 Nonlinear Analysis with RL and RC 912 </a>
<ul> <li><a href="javascript:goto_page(912+24)"> 16.4.1 Peak Detector 912 </a>
<li><a href="javascript:goto_page(915+24)"> 16.4.2 Example: Clamping Circuit 915 </a>
<li><a href="javascript:goto_page(918+24)"> 16.4.3 A Switched Power Supply Using a Diode 918 </a>
</ul> <li><a href="javascript:goto_page(918+24)"> 16.5 Additional Examples 918 </a>
<ul> <li><a href="javascript:goto_page(918+24)"> 16.5.1 Piecewise Linear Example: Clipping Circuit 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.2 Exponentiation Circuit 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.3 Piecewise Linear Example: Limiter 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.4 Example: Full-Wave Diode Bridge 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.5 Incremental Example: Zener Diode Regulator 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.6 Incremental Example: Diode Attenuator 918 </a>
</ul> <li><a href="javascript:goto_page(919+24)"> 16.6 Summary 919 </a>
</ul> <li><a href="javascript:goto_page(927+24)"> A1 Maxwell's Equations and the LMD 927 </a>
<ul> <li><a href="javascript:goto_page(927+24)"> A.1 The Lumped Matter Discipline 927 </a>
<ul> <li><a href="javascript:goto_page(927+24)"> A.1.1 The First Constraint of the Lumped Matter Discipline 927 </a>
<li><a href="javascript:goto_page(930+24)"> A.1.2 The Second Constraint of the Lumped Matter Discipline 930 </a>
<li><a href="javascript:goto_page(932+24)"> A.1.3 The Third Constraint of the Lumped Matter Discipline 932 </a>
<li><a href="javascript:goto_page(933+24)"> A.1.4 The Lumped Matter Discipline Applied to Circuits 933 </a>
</ul> <li><a href="javascript:goto_page(934+24)"> A.2 Deriving Kirchhoff's Laws 934 </a>
<li><a href="javascript:goto_page(936+24)"> A.3 Deriving the Resistance of a Piece of Material 936 </a>
</ul> <li><a href="javascript:goto_page(941+24)"> B Trigonometric Functions & Identities 941 </a>
<ul> <li><a href="javascript:goto_page(941+24)"> B.1 Negative Arguments 941 </a>
<li><a href="javascript:goto_page(942+24)"> B.2 Phase-Shifted Arguments 942 </a>
<li><a href="javascript:goto_page(942+24)"> B.3 Sum and Difference Arguments 942 </a>
<li><a href="javascript:goto_page(943+24)"> B.4 Products 943 </a>
<li><a href="javascript:goto_page(943+24)"> B.5 Half-Angle & Twice-Angle Arguments 943 </a>
<li><a href="javascript:goto_page(943+24)"> B.6 Squares 943 </a>
<li><a href="javascript:goto_page(943+24)"> B.7 Miscellaneous 943 </a>
<li><a href="javascript:goto_page(944+24)"> B.8 Taylor Series Expansions 944 </a>
<li><a href="javascript:goto_page(944+24)"> B.9 Relations to e^j\theta 944 </a>
</ul> <li><a href="javascript:goto_page(947+24)"> C Complex Numbers 947 </a>
<ul> <li><a href="javascript:goto_page(947+24)"> C.1 Magnitude and Phase 947 </a>
<li><a href="javascript:goto_page(948+24)"> C.2 Polar Representation 948 </a>
<li><a href="javascript:goto_page(949+24)"> C.3 Addition and Subtraction 949 </a>
<li><a href="javascript:goto_page(949+24)"> C.4 Multiplication and Division 949 </a>
<li><a href="javascript:goto_page(950+24)"> C.5 Complex Conjugate 950 </a>
<li><a href="javascript:goto_page(951+24)"> C.6 Properties of e^j\theta 951 </a>
<li><a href="javascript:goto_page(951+24)"> C.7 Rotation 951 </a>
<li><a href="javascript:goto_page(952+24)"> C.8 Complex Functions of Time 952 </a>
<li><a href="javascript:goto_page(952+24)"> C.9 Numerical Examples 952 </a>
</ul> <li><a href="javascript:goto_page(957+24)"> D Solving Simultaneous Linear Equations 957 </a>
<li><a href="javascript:goto_page(959+24)"> Answers to Selected Problems 959 </a>
<li><a href="javascript:goto_page(971+24)"> Figure Acknowledgments 971 </a>
<li><a href="javascript:goto_page(973+24)"> Index 973 </a>
<%inherit file="marketing.html" />
<section class="copyright">
<div>
<h1> Licensing Information </h1>
<ul>
<li>
<h2>Videos and Exercises</h2>
<p> Copyright &copy; 2012 MIT. All rights reserved. In order to
further MIT's goal of making education accessible and affordable
to the world, MIT is planning to make <i>MITx</i> course content
available under open source licenses.
</p>
</li>
<li>
<h2>Textbook</h2>
<p> Copyright &copy; 2005 Elsevier Inc. All Rights
Reserved. Used with permission. While our goal is to build
courses with as much free and open content as possible, we
apologize that we do not have the ability to do so
entirely. </p>
</li>
<li>
<h2>Student-generated content</h2>
<td>Copyright &copy; 2012. All Rights Reserved. Due to privacy
concerns, we do not know what portion of these will be released
under open licenses. </td></li>
</ul>
<p>MIT and <i>MITx</i> are trademarks of the Massachusetts Institute
of Technology, and may not be used without permission.</p>
</div>
</section>
<%inherit file="main.html" />
<%block name="js_extra">
<!-- TODO: http://docs.jquery.com/Plugins/Validation -->
<script type="text/javascript">
$(function() {
${init}
$(".sequence-nav li a").hover(function(){
$(this).siblings().toggle();
});
});
</script>
</%block>
<%include file="navigation.html" args="active_page='courseware'" />
<section class="main-content">
<div class="course-wrapper">
<section class="course-index">
<header id="open_close_accordion">
<h2>Courseware Index</h2>
<a href="#">close</a>
</header>
<div id="accordion">
${accordion}
</div>
</section>
<section class="course-content">
${content}
</section>
</div>
</section>
<!-- TODO: Add pattern field to username. See HTML5 cookbook, page 84 for details-->
<div name="enroll_form" id="enroll_form">
<h1>Enroll in 6.002x Circuits &amp; Electronics</h1>
<!--[if lte IE 8]>
<p class="ie-warning"> Enrollment requires a modern web browser with JavaScript enabled. You don't have this. You can&rsquo;t enroll without upgrading, since you couldn&rsquo;t take the course without upgrading. Feel free to download the latest version of <a href="http://www.mozilla.org/en-US/firefox/new/">Mozilla Firefox</a> or <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=95346">Google Chrome</a>, for free, to enroll and take this course.</p>
<![endif]-->
<form name="enroll" id="enroll_form" method="get">
<fieldset><% if 'error' in locals(): e = error %>
<div id="enroll_error" name="enroll_error"></div>
<ol>
<li class="email">
<label>E-mail*</label>
<input name="email" id="ca_email" type="email" />
</li>
<li class="password">
<label>Password*</label>
<input name="password" id="ca_password" type="password" />
</li>
<li class="username">
<label>Username (public)* <span class="ui-icon ui-icon-help" id="spinner_nick" style="display:inline-block;"></span></label>
<input name="username" id="ca_username" type="text" />
<div id="sregion_nick" class="tip">Nickname you'd like to use on forums.</div>
</li>
<li class="full-name">
<label>Full name*<span class="ui-icon ui-icon-help" id="spinner_name" style="display:inline-block;"></span></label>
<input name="name" id="ca_name" type="text" />
<div class="tip" id="sregion_name">If you successfully complete the course, you will receive an electronic certificate of accomplishment from <i>MITx</i> with this name on it.</div>
</li>
<li class="location">
<label>Location <span class="ui-icon ui-icon-help" id="spinner_location" style="display:inline-block;"></span></label>
<input name="location" id="ca_location" type="text" />
<div id="sregion_location" class="tip">Preferred format is city, state, country (so for us, &quot;Cambridge, Massachusetts, USA&quot;).</div>
</li>
<li class="language">
<label>Preferred Language <span class="ui-icon ui-icon-help" id="spinner_language" style="display:inline-block;"></span></label>
<input name="language" id="ca_language" type="text" />
<div id="sregion_language" class="tip">Please let us know what language you'd most like to see the content in (even if not your native). We're working on translations and internationalization.</div>
</li>
<li class="terms">
<label> <input name="terms_of_service" id="cb_terms_of_service" type="checkbox" value="terms_of_service" />I agree to the <a href="/t/tos.html">Terms of Service</a>*</label>
</li>
<li class="honor-code">
<label>
<input name="honor_code" id="cb_honor_code" type="checkbox" value="honor_code" />I agree to the <a href="/t/honor.html">Honor Code</a>, summarized as:*</label>
<ul>
<li>Complete all mid-terms and final exams with only my own work.</li>
<li>Maintain only one account, and not share the username or password.</li>
<li>Not engage in any activities that would dishonestly improve my results, or improve or hurt those of others.</li>
<li>Not post answers to problems that are being used to assess student performance.</li>
</ul>
</li>
</ol>
<input name="create_account_button" id="create_account_button" type="submit" value="Create Account">
</fieldset> </form>
</div>
<div align="center">
<form onsubmit="return submit_circuit('${name}');" action="" method="post">
<!--input type="hidden" class="schematic" width="600" height="400" name="schematic" value="" /-->
${ circuit_line }
<input type="submit" value="save">
<input type="hidden" name="csrfmiddlewaretoken" id="csrfmiddlewaretoken">
</form>
</div>
Someone, hopefully you, signed up for an account for MITx's on-line
offering of 6.002 using this email address. If it was you, and you'd
like to activate and use your account, copy and paste this address
into your web browser's address bar:
http://${ site }/activate/${ key }
If you didn't request this, you don't need to do anything; you won't
receive any more email from us. Please do not reply to this e-mail; if
you require assistance, check the help section of the MITx web site.
Your account for MITx's on-line 6.002
We received a request to change the e-mail associated with MITx
account ${username} from ${old_email} to ${new_email}. If this is
correct, please confirm your new e-mail address by visiting:
http://${ site }/confirmemail/${ key }
If you didn't request this, you don't need to do anything; you won't
receive any more email from us. Please do not reply to this e-mail; if
you require assistance, check the help section of the MITx web site.
This is to confirm that you changed the e-mail associated with MITx
account ${username} from ${oldemail} to ${newemail}. If you did not
make this request, please contact the course staff
immediately. Contact information is listed at:
https://6002x.mitx.mit.edu/t/mitx_help.html
Request to change MITx account e-mail
(Not currently used)
We are sorry. Our course staff did not approve your request to change
your name from ${old_name} to ${new_name}. If you need further
assistance, please e-mail the course staff at ta@mitx.mit.edu.
MITx's prototype offering, 6.002x, is now open. To log in, visit
https://6002x.mitx.mit.edu
where you will find a login button at the top right-hand corner of the
window.
Please make sure you're using the latest version of Google Chrome or
Firefox. If you've forgotten your password, the log-in form has a
place to reset it.
Once you log in, we recommend that you start the course by reviewing
the "System Usage Sequence" in the Overview section, and the "6.002x
At-a-Glance (Calendar)" handout under the Course Info tab. After you
familiarize yourself with the various features of the MITx platform,
you can jump right into the coursework by working on "Administrivia
and Circuit Elements", the first Lecture Sequence in Week 1.
Thanks for joining us for the ride!
The 6.002x team
(Please note that this e-mail address does not receive e-mails --
if you need assistance, please use the help section of the web
site)
Feedback from: ${ user }
E-mail: ${ email }
Browser: ${ browser }
url: ${ url }
time: ${ time }
Subject: ${ subject }
Feedback:
${ feedback }
<%inherit file="main.html" />
<%include file="navigation.html" args="active_page=''" />
<section class="main-content">
<div class="gradebook-wrapper">
<section class="gradebook-content">
<h1>Gradebook</h1>
% for s in students:
<h2><a href=/profile/${s['id']}>${s['username']}</a></h2>
% for c in s['grade_info']['grade_summary']:
<h3>${c['category']} </h3>
<p>
% if 'subscores' in c:
% for ss in c['subscores']:
<br>${ss['summary']}
% endfor
% endif
</p>
% endfor
% endfor
</section>
</div>
</section>
<%inherit file="main.html" />
<%include file="navigation.html" args="active_page='help'"/>
<section class="help main-content">
<h1>Help</h1>
<section class="self-help">
<h2>Self-help</h2>
<ul>
<li>Read
the <a href="http://mitx.mit.edu/6002x-faq.html">FAQ</a>
carefully</li>
<li>Check the <a href="/info">course updates</a> -- we will
announce major errors and issues there </li>
<li>Check whether the issues has been asked on
the <a href="/discussion">discussion forums</a>, and if not,
ask</li>
<li>Ask in the IRC channel (irc.mitx.mit.edu, channel #6002)]</li>
<li>Check the <a href="/info">course handouts.</a></li>
</ul>
</section>
<section class="help-email">
<h2>Help email</h2>
<p> If you can't solve your problems with self-help, we have several
e-mail addresses set up:</p>
<dl>
<dt>System-related questions</dt>
<dd><a href="mailto:technical@mitx.mit.edu">technical@mitx.mit.edu</a></dd>
<dt>Content-related questions</dt>
<dd><a href="mailto:content@mitx.mit.edu">content@mitx.mit.edu</a></dd>
<dt>Bug reports</dt>
<dd><a href="mailto:bugs@mitx.mit.edu">bugs@mitx.mit.edu</a></dd>
<dt>Suggestions</dt>
<dd><a href="mailto:suggestions@mitx.mit.edu">suggestions@mitx.mit.edu</a></dd>
</dl>
<p> Please bear in mind that while we read them, we do not
expect to have time to respond to all e-mails. For technical
questions, please make sure you are using the latest version
of <a href="http://www.mozilla.org/en-US/firefox/new/">Firefox</a>
or <a href="https://www.google.com/chrome/">Chrome</a>, and
include browser and version in your e-mail, as well as
screenshots or other pertinent details. </p>
</section>
</section>
<h1> ${ homework['name']} Test </h1>
<ol>
% for problem in homework['problems']:
<li>
<h2>${ problem['name'] }</h2>
${ problem['html'] }
<section>
<input type="hidden" name="problem_id" value="${ problem['name'] }">
<input type="submit" value="Check">
</section>
</li>
% endfor
</ol>
<%inherit file="marketing.html" />
<section class="honor-code">
<div>
<h1> Collaboration Policy </h1>
<p> By enrolling in a course on <i>MITx</i>, you are joining a
special worldwide community of learners. The aspiration
of <i>MITx</i> is to provide anyone in the world who has the
motivation and ability to engage MIT coursework the opportunity
to attain the best MIT-based educational experience that
Internet technology enables. You are part of the community who
will help <i>MITx</i> achieve this goal.
<p> <i>MITx</i> depends upon your motivation to learn the material
and to do so with honesty. In order to participate
in <i>MITx</i>, you must agree to the Honor Code below and any
additional terms specific to a class. This Honor Code, and any
additional terms, will be posted on each class website.
<div style="color:darkred;">
<h2> <i>MITx</i> Honor Code Pledge</h2>
<p> By enrolling in an <i>MITx</i> course, I agree that I will:
<ul>
<li> Complete all mid-terms and final exams with my own work
and only my own work. I will not submit the work of any
other person.
<li> Maintain only one user account and not let anyone else
use my username and/or password.
<li> Not engage in any activity that would dishonestly improve
my results, or improve or hurt the results of others.
<li> Not post answers to problems that are being used to
assess student performance.
</ul>
</div>
<p> Unless otherwise indicated by the instructor of an <i>MITx</i>
course, learners on <i>MITx</i> are encouraged to:
<ul>
<li> Collaborate with others on the lecture videos, exercises,
homework and labs.
<li> Discuss with others general concepts and materials in
each course.
<li> Present ideas and written work to fellow <i>MITx</i>
learners or others for comment or criticism.
</ul>
</div>
</section>
<%inherit file="marketing.html" />
<%block name="title">MITx 6.002x: Circuits & Electronics</%block>
<%block name="description">6.002x (Circuits and Electronics) is an experimental on-line adaptation of MIT's first undergraduate analog design course: 6.002.</%block>
<%block name="keywords">MITx, circuits, electronics, EECS, electrical engineering, analog circuits, digital circuits, online learning, MIT, online laboratory, education, learners, undergraduate, certificate</%block>
<%block name="header_text">
<section class="course">
<section>
<h1>Circuits &amp; Electronics</h1>
<h2>6.002x</h2>
<a class="enroll" rel="leanModal" href="#enroll"><noscript>In order to</noscript> Enroll in 6.002x Circuits <span>&amp;</span> Electronics <noscript>you need to have javascript enabled</noscript></a>
</section>
<p>6.002x (Circuits and Electronics) is an experimental on-line adaptation of MIT&rsquo;s first undergraduate analog design course: 6.002. This course will run, free of charge, for students worldwide from March 5, 2012 through June 8, 2012.</p>
</section>
</%block>
<%block name="header_class">course</%block>
<section class="index-content">
<section class="about-course">
<section class="about-info">
<h1>About 6.002x</h1>
<p>6.002x (Circuits and Electronics) is designed to serve as a first course in an undergraduate electrical engineering (EE), or electrical engineering and computer science (EECS) curriculum. At MIT, 6.002 is in the core of department subjects required for all undergraduates in EECS.</p>
<p>The course introduces engineering in the context of the lumped circuit abstraction. Topics covered include: resistive elements and networks; independent and dependent sources; switches and MOS transistors; digital abstraction; amplifiers; energy storage elements; dynamics of first- and second-order networks; design in the time and frequency domains; and analog and digital circuits and applications. Design and lab exercises are also significant components of the course. You should expect to spend approximately 10 hours per week on the course.</p>
</section>
<section class="on-mitx">
<h1>6.002x on <em>MITx</em></h1> <!-- Link doesn't need to be here, but there should be some way to get back to main MITx site -->
<p>If you successfully complete the course, you will receive an electronic certificate of accomplishment from <em>MITx</em>. This certificate will indicate that you earned it from <em>MITx&rsquo;s</em> pilot course. In this prototype version, <em>MITx</em> will not require that you be tested in a testing center or otherwise have your identity certified in order to receive this certificate.</p>
<p>The course uses the textbook Foundations of Analog and Digital Electronic Circuits, by Anant Agarwal and Jeffrey H. Lang. Morgan Kaufmann Publishers, Elsevier, July 2005. While recommended, the book is not required: relevant sections will be provided electronically as part of the online course for personal use in connection with this course only. The copyright for the book is owned by Elsevier. The book can be purchased on <a href="http://www.amazon.com/exec/obidos/ASIN/1558607358/ref=nosim/mitopencourse-20" target="_blank">Amazon</a>.</p>
</section>
<section class="requirements">
<h1> Requirements </h1>
<p>In order to succeed in this course, you must have taken an AP level physics course in electricity and magnetism. You must know basic calculus and linear algebra and have some background in differential equations. Since more advanced mathematics will not show up until the second half of the course, the first half of the course will include an optional remedial differential equations component for those who need it.</p>
<p>The course web site was developed and tested primarily with
Google Chrome. We support current versions of Mozilla Firefox as
well. The video player is designed to work with Flash. While we
provide a partial non-Flash fallback for the video, as well as
partial support for Internet Explorer, other browsers, and
tablets, portions of the functionality will be unavailable. </p>
</section>
<section class="cta">
<a class="enroll" rel="leanModal" href="#enroll"><noscript>In order to</noscript> Enroll in 6.002x Circuits &amp; Electronics <noscript>you need to have javascript enabled</noscript></a>
</section>
</section>
<section class="staff">
<h1>About the course staff</h1>
<ul>
<li>
<img src="/static/staff/agarwal-mit-news-small.jpg" alt="Anant Agarwal">
<h2>Anant Agarwal</h2>
<p>Director of MIT&rsquo;s Computer Science and Artificial Intelligence Laboratory (CSAIL) and a professor of the Electrical Engineering and Computer Science department at MIT. His research focus is in parallel computer architectures and cloud software systems, and he is a founder of several successful startups, including Tilera, a company that produces scalable multicore processors. Prof. Agarwal won MIT&rsquo;s Smullin and Jamieson prizes for teaching and co-authored the course textbook &ldquo;Foundations of Analog and Digital Electronic Circuits.&rdquo;</p></li>
<li>
<img src="/static/staff/gjs-small.jpg" alt="Gerald Sussman">
<h2>Gerald Sussman</h2>
<p>Professor of Electrical Engineering at MIT. He is a well known educator in the computer science community, perhaps best known as the author of Structure and Interpretation of Computer Programs, which is universally acknowledged as one of the top ten textbooks in computer science, and as the creator of Scheme, a popular teaching language. His research spans a range of topics, from artificial intelligence, to physics and chaotic systems, to supercomputer design.</p></li>
<li>
<img src="/static/staff/pmitros-small.jpg" alt="Piotr Mitros">
<h2>Piotr Mitros</h2>
<p>Research Scientist at MIT. His research focus is in finding ways to apply techniques from control systems to optimizing the learning process. Dr. Mitros has worked as an analog designer at Texas Instruments, Talking Lights, and most recently, designed the analog front end for a novel medical imaging modality for Rhythmia Medical.</p></li>
</ul>
</section>
</section>
<div id="enroll" class="leanModal_box" name="enroll"><%include file="create_account.html" /></div>
<script>
$(function() {
// TODO: Clean up as per http://stackoverflow.com/questions/169506/obtain-form-input-fields-using-jquery
/* Handles when the user hits 'enroll'. Grabs form data. Does AJAX.
Either shows error, or shows success. */
$('form#enroll_form').submit(function(e) {
e.preventDefault();
var submit_data={};
$.each($("[id^=ca_]"), function(index,value){
submit_data[value.name]=value.value;
});
$.each($("[id^=cb_]"), function(index,value){
submit_data[value.name]=value.checked;
});
postJSON('/create_account',
submit_data,
function(json) {
if(json.success) {
$('#enroll').html(json.value);
} else {
$('#enroll_error').html(json.value).stop().css("background-color", "#933").animate({ backgroundColor: "#333"}, 2000);
}
}
);
});
/* Activate stupid spinner drop-downs in enrollment form */
var spinner_array=$("[id^=spinner_]");
spinner_array.each(function(i) {
var s=spinner_array[i];
$("#"+s.id).click(function(){
$("#sregion"+s.id.substring(7)).toggle();
});
})
/*$("sregion"+$("[id^=spinner_]")[1].id.substring(7)) */
});
</script>
<%inherit file="main.html" />
<%include file="navigation.html" args="active_page='info'" />
<section class="main-content">
<div class="info-wrapper">
<section class="updates">
<%include file="updates.html" />
</section>
<section class="handouts">
<%include file="handouts.html" />
</section>
</div>
</section>
<!-- TODO: http://docs.jquery.com/Plugins/Validation -->
<div id="login_div">
<header>
<h1>Log in to MITx</h1>
<p class="no-account">If you don&rsquo;t have an account yet, <a href="#enroll" rel="leanModal">please enroll here</a></p>
</header>
<!--[if lte IE 9]>
<p class="ie-warning">You are using a browser that is not supported by <em>MITx</em>, and you might not be able to complete pieces of the course. Please download the latest version of <a href="http://www.mozilla.org/en-US/firefox/new/">Firefox</a> or <a href="https://www.google.com/chrome">Chrome</a> to get the full experience.</p>
<![endif]-->
<form id="login_form" method="post">
<ol>
<li>
<label>E-mail*</label>
<input name="email" id="li_email" type="email" required>
</li>
<li>
<label>Password*</label>
<input name="password" id="li_password" type="password" required>
</li>
<li class="remember">
<label><input name="remember" id="remember" type="checkbox">Remember me</label>
</li>
</ol>
<input name="submit" id="login_button" type="submit" value="Log in">
</form>
<div class="lost-password">
<div id="lost_password"><a class="" rel="leanModal" href="#pwd_reset">Lost password?</a></div>
</div>
</div>
<!DOCTYPE html>
<html>
<head>
<%block name="title"><title>MITx 6.002x</title></%block>
<link rel="stylesheet" href="${ settings.LIB_URL }jquery.treeview.css" type="text/css" media="all" />
<link rel="stylesheet" href="/static/css/application.css" type="text/css" media="all" />
<script type="text/javascript" src="${ settings.LIB_URL }jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="${ settings.LIB_URL }jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="${ settings.LIB_URL }swfobject/swfobject.js"></script>
<!--[if lt IE 9]>
<script src="/static/js/html5shiv.js"></script>
<![endif]-->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [["\\(","\\)"]],
displayMath: [["\\[","\\]"]]}
});
</script>
<script type="text/javascript" src="${ settings.LIB_URL }mathjax-MathJax-c9db6ac/MathJax.js?config=TeX-AMS_HTML-full"></script>
<%block name="headextra"/>
</head>
<body class="<%block name="bodyclass"/>">
<!--[if lte IE 9]>
<p class="ie-warning">You are using a browser that is not supported by <em>MITx</em>, and you might not be able to complete pieces of the course. Please download the latest version of <a href="http://www.mozilla.org/en-US/firefox/new/">Firefox</a> or <a href="https://www.google.com/chrome">Chrome</a> to get the full experience.</p>
<![endif]-->
${self.body()}
<%block name="bodyextra"/>
<footer>
<!-- Template based on a design from http://www.dotemplate.com/ - Donated $10 (pmitros) so we don't need to include credit. -->
<p> Copyright &copy; 2012. MIT. <a href="/t/copyright.html">Some rights reserved.</a>
</p>
<nav>
<ul class="social">
<li class="linkedin">
<a href="http://www.linkedin.com/groups/Friends-Alumni-MITx-4316538">Linked In</a>
</li>
<li class="twitter">
<a href="https://twitter.com/#!/MyMITx">Twitter</a>
</li>
<li class="facebook">
<a href="http://www.facebook.com/pages/MITx/378592442151504">Facebook</a>
</li>
</ul>
<ul>
<li><a href="#feedback_div" rel="leanModal">Feedback</a></li>
<li><a href="#calculator_div" rel="leanModal">Calculator</a></li>
<li><a href="/s/help.html">Help</a></li>
<li><a href="/logout">Log out</a></li>
</ul>
</nav>
</footer>
<div id="feedback_div" class="leanModal_box">
<p>Found a bug? Got an idea for improving our system? Let us know.</p>
<form>
<ol>
<li><label>Subject:</label> <input type="text" id="feedback_subject"></li>
<li><label>Feedback: </label><textarea id="feedback_message"></textarea></li>
<li><input id="feedback_button" type="button" value="Submit"></li>
</ol>
</form>
</div>
<div id="calculator_div" class="leanModal_box">
<form id="calculator">
<input type="text" id="calculator_input">
<input id="calculator_button" type="submit" value="=">
<input type="text" id="calculator_output" readonly>
</form>
<dl>
<dt>Suffixes:</dt>
<dd> %kMGTcmunp</dd>
<dt>Operations:</dt>
<dd>^ * / + - ()</dd>
<dt>Functions:</dt>
<dd>sin, cos, tan, sqrt, log10, log2, ln, arccos, arcsin, arctan, abs </dd>
<dt>Constants</dt>
<dd>e, pi</dd>
<!-- Students won't know what parallel means at this time. Complex numbers aren't well tested in the courseware, so we would prefer to not expose them. If you read the comments in the source, feel free to use them. If you run into a bug, please let us know. But we can't officially support them right now.
<dt>Unsupported:</dt> <dd>||, j </dd> -->
</dl>
</div>
<script type="text/javascript" src="${ settings.LIB_URL }jquery.treeview.js"></script>
<script type="text/javascript" src="/static/js/jquery.leanModal.min.js"></script>
<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
<script type="text/javascript" src="/static/js/video_player.js"></script>
<script type="text/javascript" src="/static/js/schematic.js"></script>
<script type="text/javascript" src="/static/js/cktsim.js"></script>
<script>
// Feedback form
$(function() {
$("#feedback_button").click(function(){
postJSON("/send_feedback", {"subject":$("#feedback_subject").attr("value"),
"url":document.URL,
"message":$("#feedback_message").attr("value")},
function(data){
$("#feedback_subject").attr("value","");
$("#feedback_message").attr("value","");
$("#feedback_div").html("Feedback submitted. Thank you");
});
});
});
// Calculator
$(function() {
$("form#calculator").submit(function(e){
e.preventDefault();
$.getJSON("/calculate", {"equation":$("#calculator_input").attr("value")},
function(data){
$("#calculator_output").attr("value",data.result);
});
});
});
$(function(){
$("a[rel*=leanModal]").leanModal();
});
</script>
<%block name="js_extra"/>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title><%block name="title">MITx: MIT's new online learning initiative</%block></title>
<meta name="description" content="<%block name="description">MITx will offer a portfolio of MIT courses for free to a virtual community of learners around the world</%block>" />
<meta name="keywords" content="<%block name="keywords">MITx, online learning, MIT, online laboratory, education, learners, undergraduate, certificate</%block>" />
<!--link rel="stylesheet" href="${ settings.LIB_URL }jquery.treeview.css" type="text/css" media="all" /-->
<link rel="stylesheet" href="/static/css/marketing.css" type="text/css" media="all" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--[if lt IE 8]>
<link rel="stylesheet" href="/static/css/marketing-ie.css" type="text/css" media="all" />
<![endif]-->
<script type="text/javascript" src="${ settings.LIB_URL }jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="${ settings.LIB_URL }jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="/static/js/jquery.leanModal.min.js"></script>
<!--script type="text/javascript" src="${ settings.LIB_URL }swfobject/swfobject.js"></script-->
<!--script type="text/javascript" src="${ settings.LIB_URL }jquery.treeview.js"></script-->
<!--script type="text/javascript" src="/static/js/video_player.js"></script-->
<!-- <script type="text/javascript" src="/static/js/schematic.js"></script> -->
<script src="/static/js/html5shiv.js"></script>
<%block name="headextra"/>
<script type="text/javascript">
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
function postJSON(url, data, callback) {
$.ajax({type:'POST',
url: url,
dataType: 'json',
data: data,
success: callback,
headers : {'X-CSRFToken':getCookie('csrftoken')}
});
}
</script>
</head>
<body>
<%block name="header">
<header class="announcement <%block name="header_class"/>">
<div class="anouncement-wrapper">
<%block name="header_nav">
<nav>
<h1><a href="http://mitx.mit.edu/">MITx</a></h1>
% if settings.COURSEWARE_ENABLED:
<%block name="login_area">
<a rel="leanModal" class="login" href="#login">Log In</a>
</%block>
% endif
</nav>
</%block>
<%block name="header_text">
<section>
<h1><em>MITx</em></h1>
<h2>MIT&rsquo;s new online learning initiative</h2>
</section>
</%block>
</div>
</header>
</%block>
${self.body()}
<%block name="bodyextra"/>
<footer>
<div class="footer-wrapper">
<p> Copyright &copy; 2012. MIT. <a href="/t/copyright.html">Some rights reserved.</a></p>
<ul>
<li><a href="/t/tos.html">Terms of Service</a></li>
<li><a href="/t/privacy.html">Privacy Policy</a></li>
<li><a href="/t/honor.html">Honor Code</a></li>
<li><a href="/t/mitx_help.html">Help</a></li>
</ul>
<ul class="social">
<li class="linkedin">
<a href="http://www.linkedin.com/groups/Friends-Alumni-MITx-4316538">Linked In</a>
</li>
<li class="twitter">
<a href="https://twitter.com/#!/MyMITx">Twitter</a>
</li>
<li class="facebook">
<a href="http://www.facebook.com/pages/MITx/378592442151504">Facebook</a>
</li>
</ul>
</div>
</footer>
% if settings.COURSEWARE_ENABLED:
<div id="login" class="leanModal_box"><%include file="login.html" /></div>
% endif
<div id="pwd_reset" class="leanModal_box"><%include file="password_reset_form.html" /></div>
<div id="reset_done" class="leanModal_box"></div>
<script>
$(document).ready(function(){
/* Handles when the user tries to log in. Grabs form data. Does AJAX.
Either shows error, or redirects. */
$('form#login_form').submit(function(e) {
e.preventDefault();
var submit_data={};
$.each($("[id^=li_]"), function(index,value){
submit_data[value.name]=value.value;
});
submit_data["remember"] = ($('#remember').attr("checked")? true : false);
postJSON('/login',
submit_data,
function(json) {
if(json.success) {
location.href="/info";
} else if($('#login_error').length == 0) {
$('#login_form').prepend('<div id="login_error">Email or password is incorrect.</div>');
} else {
$('#login_error').stop().css("background-color", "#933").animate({ backgroundColor: "#333"}, 2000);
}
}
);
});
$('form#pwd_reset_form').submit(function(e) {
e.preventDefault();
var submit_data = {};
submit_data['email'] = $('#id_email').val();
postJSON('/password_reset/',
submit_data,
function(json){
if (json.success) {
$('#pwd_reset').html(json.value);
} else {
$('#pwd_error').html(json.error).stop().css("background-color", "#933").animate({ backgroundColor: "#333"}, 2000);
}
}
);
});
});
$(function(){
$("a[rel*=leanModal]").leanModal();
$("a.login").click(function(){
$("#login_form #li_email").focus();
});
$("a.enroll").click(function(){
$("#enroll_form #ca_email").focus();
});
});
</script>
<%block name="js_extra"/>
</body>
</html>
<%inherit file="marketing.html" />
<%block name="login_area">
</%block>
<section class="subpage">
<div>
<h1> <i>MITx</i> Advances MIT&rsquo;s Vision for Online Learning</h1>
<p> Education has entered an era of rapid, exciting,
technology-enabled change. At MIT, we welcome the opportunity to
harness the power of on-line technology for our students and for the
world. On December 19, 2011, we announced <i>MITx</i>, an initiative to
offer exciting, challenging and enriching courses to anyone,
anywhere, who has the motivation and ability to engage MIT&rsquo;s
educational content.</p>
<p> Ten years ago, MIT
launched <a href="http://ocw.mit.edu/index.htm">OpenCourseWare</a>,
which places online the course materials for substantially the entire
MIT curriculum, and was the genesis of today&rsquo;s worldwide
movement in free, open educational resources. <i>MITx</i> is the next step
in opening MIT&rsquo;s educational doors to the world. Through OCW and
<i>MITx</i>, MIT invites the world to join it in the passion, hard work and
thrill of learning and discovery.</p>
<h2><i>MITx</i> will e-publish interactive online courses that:</h2>
<ul>
<li>Empower students to learn at their own pace;</li>
<li>Offer online laboratories where students can experiment and apply their learning;</li>
<li>Connect students to each other in online discussion groups and wiki-based collaborative learning; </li>
<li>Challenge learners with MIT-rigor course materials; and</li>
<li>Assess individual student learning as the student progresses through the course.</li>
</ul>
<p> <i>MITx</i> students who demonstrate their mastery of a subject can earn
a certificate of completion awarded by <i>MITx</i>.</p>
<p> <i>MITx</i> courses will be available to the world through an Internet
platform that MIT will make freely available. MIT hopes that other
educational institutions, anywhere in the world, will adapt and use
the platform to publish their own educational content online for the
benefit of learners. Because the platform will be open-source and
scalable, adopters and users can continuously improve it, for the
benefit of everyone.</p>
<h2> Why Is MIT Creating <i>MITx</i>?</h2>
<p> Excellence in teaching and learning. MIT must always provide its
students the very best teaching and learning tools possible. MIT
began experimenting with online technologies in its educational
programs long before we launched OCW in 2001. We have only increased
our emphasis in recent years, as several MIT committees have studied
how MIT might enhance the learning experience of its students and
expand its impact worldwide through new online offerings.</p>
<p> These efforts, combined with those of numerous individual MIT
faculty members, confirmed MIT&rsquo;s conviction that digital
technologies enrich learning. Many other innovative institutions and
enterprises believe the same and are bringing creative online
offerings forward. Having brain-stormed, investigated and studied,
we were ready to act and eager to start. We announced our <i>MITx</i>
aspiration to capture and encourage the energy of our faculty in
creating new online teaching and learning tools. </p>
<p> Once up and running, <i>MITx</i> will be a laboratory for online
learning. Whether <i>MITx</i> learners are MIT&rsquo;s on-campus students,
university students elsewhere, or independent learners, <i>MITx</i> will help
us understand how online learning occurs and how virtual communities
of learners assemble -- information that in turn will allow us to
improve both <i>MITx</i> and our on-campus teaching. </p>
<p> Access to higher education. <i>MITx</i> will help shatter barriers to
education. The constraints of MIT&rsquo;s physical campus allow us to
admit less than 10 percent of our undergraduate applicants. We teach
on-campus only a tiny fraction of the people in the world with the
ability and motivation to learn MIT content. Online technology
provides a new and different portal into MIT-quality education.
Through <i>MITx</i>, MIT educational content can reach, augment, and enrich
the education and livelihood of many learners who cannot attend
MIT. </p>
<p> <i>MITx</i> does not provide a full MIT education. Our residential
campus is the heart of MIT&rsquo;s knowledge creation and
dissemination. MIT students enjoy a comprehensive curriculum and
distinct educational environment. Without MIT, there would be no
<i>MITx</i>. </p>
<p> Advancing the public good. <i>MITx</i> is an opportunity to help
preserve and expand higher education as a public good. Historically,
the investment of public and private assets in enormous amounts has
produced the public benefits of knowledge creation and dissemination,
leading to capable citizens, innovation, job creation, economic
development, and broader welfare.</p>
<p> Today, as computation and Internet technologies enable higher
education to migrate online, MIT sees the opportunity to democratize
education with unprecedented efficiency and scalability. We possess a
strong desire and feel a compelling obligation to offer a
not-for-profit, mission-driven, open-technology approach to online
learning. <i>MITx</i> is our contribution. </p>
</div>
</section>
<%inherit file="marketing.html" />
<%block name="header_class">home</%block>
<section class="index-content">
<section class="about">
<section class="intro">
<section class="intro-text">
<p><em>MITx</em> will offer a portfolio of MIT courses for free to a virtual community of learners around the world. It will also enhance the educational experience of its on-campus students, offering them online tools that supplement and enrich their classroom and laboratory experiences.</p>
<p>The first <em>MITx</em> course, 6.002x (Circuits and Electronics), will be launched in an experimental prototype form. Watch this space for further upcoming courses, which will become available in Fall 2012.</p>
</section>
<section class="intro-video">
<a id="video-overlay-link" rel="leanModal" href="#video-overlay"><img src="/static/images/video-image.png" id="video-img" alt="Link to MITx introduction video" /><span> Watch intro video</span></a>
</section>
</section>
<section class="features">
<h2><em>MIT<span>x</span></em> courses will be offered on an online learning platform that:</h2>
<ul>
<li>organizes and presents course material to enable students to learn worldwide</li>
<li>features interactive instruction, online laboratories and student-to-student and student-to-professor communication</li>
<li>allows for the individual assessment of any student&rsquo;s work and allows students who demonstrate their mastery of subjects to earn certificates awarded by <em>MITx</em></li>
<li>operates on an open-source, scalable software infrastructure in order to make it continuously improving and readily available to other educational institutions, such as universities and K-12 school systems.</li>
</ul>
<p><strong>Press &amp; links:</strong> <a href="/6002x-press-release.html">6.002x Press Release</a>, <a href="/6002x-faq.html">6.002x FAQ</a>, <a href="/mitx-overview.html">MITx overview</a>, <a href="http://www.boston.com/news/local/massachusetts/articles/2011/12/19/mit_to_launch_online_only_graded_courses_free_to_all/?page=full" target="_blank">Boston Globe</a>, <a href="http://www.nytimes.com/2011/12/19/education/mit-expands-free-online-courses-offering-certificates.html?_r=3&hpw=" target="_blank">New York Times</a>, <a href="http://web.mit.edu/newsoffice/2011/mitx-education-initiative-1219.html" target="_blank">MIT Press Release</a>, <a href="http://web.mit.edu/newsoffice/2011/mitx-faq-1219" target="_blank"><em>MITx</em> FAQ</a>, <a href="http://ocw.mit.edu/index.htm" target="_blank">OpenCourseWare</a></p>
</section>
</section>
<section class="course">
<hgroup>
<h1>Spring 2012 Course offering</h1>
<h2>Circuits and Electronics</h2>
<h3>6.002x</h3>
</hgroup>
<p>
<a href="http://6002x.mitx.mit.edu/" class="more-info">More information <span>&amp;</span> Enroll <span class="arrow">&#8227;</span></a>
</p>
<p>Taught by Anant Agarwal, with Gerald Sussman and Piotr Mitros, 6.002x (Circuits and Electronics) is an on-line adaption of 6.002, MIT&rsquo;s first undergraduate analog design course. This prototype course will run, free of charge, for students worldwide from March 5, 2012 through June 8, 2012. Students will be given the opportunity to demonstrate their mastery of the material and earn a certificate from <em>MITx</em>.</p>
</section>
</section>
<div id="video-overlay" class="leanModal_box">
<iframe id="player" type="text/html" width="560" height="390" src="http://www.youtube.com/embed/p2Q6BrNhdh8?enablejsapi=1" frameborder="0">
</iframe>
</div>
<%block name="js_extra">
<script>
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
});
}
$(function() {
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
$("a#video-overlay-link").click(function(){
player.playVideo();
$("a.modal_close, #lean_overlay").click(function(){
player.pauseVideo();
});
});
// TODO: Clean up as per http://stackoverflow.com/questions/169506/obtain-form-input-fields-using-jquery
/* Handles when the user hits 'enroll'. Grabs form data. Does AJAX.
Either shows error, or shows success. */
$('#create_account_button').click(function() {
var submit_data={};
$.each($("[id^=ca_]"), function(index,value){
submit_data[value.name]=value.value;
});
$.each($("[id^=cb_]"), function(index,value){
submit_data[value.name]=value.checked;
});
postJSON('/create_account',
submit_data,
function(json) {
if(json.success) {
$('#enroll').html(json.value);
} else {
$('#enroll_error').html(json.value);
}
}
);
});
/* Activate stupid spinner drop-downs in enrollment form */
var spinner_array=$("[id^=spinner_]");
spinner_array.each(function(i) {
var s=spinner_array[i];
$("#"+s.id).click(function(){
$("#sregion"+s.id.substring(7)).toggle();
});
})
/*$("sregion"+$("[id^=spinner_]")[1].id.substring(7)) */
});
</script>
</%block>
<%inherit file="marketing.html" />
<section class="tos">
<div>
<section class="help-email">
<h2>Help &amp; Feedback</h2>
<p> If run into problems signing up for the web site which you
cannot resolve on your own, please check
the <a href="http://mitx.mit.edu/6002x-faq.html">Frequently
Asked Questions</a>. If you find a bug or other issues, you can
reach us at:</p>
<dl>
<dt>System-related questions</dt>
<dd><a href="mailto:technical@mitx.mit.edu">technical@mitx.mit.edu</a> -- For technical questions, please make sure you are using a current version of <a href="http://www.mozilla.org/en-US/firefox/new/">Firefox</a> or <a href="https://www.google.com/chrome/">Chrome</a>, and include browser and version in your e-mail, as well as screenshots or other pertinent details. </dd>
<dt>Content-related questions</dt>
<dd><a href="mailto:content@mitx.mit.edu">content@mitx.mit.edu</a></dd>
<dt>Bug reports</dt>
<dd><a href="mailto:bugs@mitx.mit.edu">bugs@mitx.mit.edu</a></dd>
<dt>Suggestions</dt>
<dd><a href="mailto:suggestions@mitx.mit.edu">suggestions@mitx.mit.edu</a></dd>
</dl>
<p> Please bear in mind that while we read them, we do not expect to
have time to respond to all e-mails.</p>
</section>
</div>
</section>
<%inherit file="main.html" />
<%include file="navigation.html" args="active_page=''" />
<section class="main-content">
<div class="gradebook-wrapper">
<section class="gradebook-content">
<h1>Pending name changes</h1>
<table>
% for s in students:
<tr><td><a href=/profile/${s.uid}/>${s.oldname}</td><td>${s.newname}</td><td onclick="update({$s.uid});">[Change]</td></tr>
% endfor
</table>
</section>
</div>
</section>
<%page args="active_page" />
<div class="header-wrapper">
<header>
<hgroup>
<h1><em>MITx</em></h1>
<h2><a href="/courseware">Circuits and Electronics</a></h2>
</hgroup>
<nav class="${active_page}">
<ul class="coursenav">
<li class="courseware"><a href="/courseware">Courseware</a></li>
<li class="info"><a href="/info">Course Info</a></li>
<li class="book"><a href="/book">Textbook</a></li>
<li class="discussion"><a href="/discussion/questions">Discussion</a></li>
<li class="wiki"><a href="/wiki/view">Wiki</a></li>
<li class="profile"><a href="/profile">Profile</a></li>
</ul>
</nav>
</header>
</div>
<h1>Password reset</h1>
<p>Forgotten your password? Enter your e-mail address below, and we'll e-mail instructions for setting a new one.</p>
<form id="pwd_reset_form">
<div id="pwd_error"></div>
<label for="id_email">E-mail address:</label>
<input id="id_email" type="email" name="email" maxlength="75" />
<input type="submit" id="pwd_reset_button" value="Reset my password" />
</form>
<%inherit file="marketing.html" />
<section class="privacy-policy">
<div>
<h1>Privacy Policy</h1>
<h2>Confidentiality &amp; Security of Personally
Identifiable Information</h2>
<p>We care about the confidentiality and security of your personal
information. We will use commercially reasonable efforts to keep your
Personally Identifiable Information private and will not share it with third
parties, except as set forth in this Privacy Policy. However, no method of
transmitting or storing electronic data is ever completely secure, and we
cannot guarantee that such information will never be accessed, used, or
released in a manner that is inconsistent with this policy. </p>
<p>This Privacy Policy only applies to information that we collect
through the Site and does not apply to information that we may collect
from you in other ways (for example, this policy does not apply to
information that you may provide to us over the phone, by fax or
through conventional mail). In addition, please note your educational
records are protected by the Family Educational Rights and Privacy Act
(&quot;FERPA&quot;) to the extent FERPA applies.</p>
<h2>Usernames and Postings </h2>
<p>Comments or other information posted by you to our forums,
wikis, or other areas of the Site designed for public communications may be
viewed and downloaded by others who visit the Site. For this reason, we
encourage you to use an anonymous username, and to not post any personally
identifiable information to those forums (or other public areas).</p>
<h2>What You Consent to by Using Our Site</h2>
<p>Please understand that by submitting any Personally Identifiable
Information to us, you consent and agree that we may collect, use and
disclose such Personally Identifiable Information in accordance with
this Privacy Policy and our Terms of Service (&quot;TOS&quot;), and as
permitted or required by law. If you do not agree with these terms,
then please do not provide any Personally Identifiable Information to
us. As used herein, &quot;Personally Identifiable Information&quot;
means your full name, email address, your physical address (if you
provide it) and your student identification number, if applicable. If
you refuse, or if you choose not to provide us with any required
Personally Identifiable Information, we may not be able to provide you
with the services that can be offered on our Site.</p>
<h2>Information We Collect and How We Use It </h2>
<p>We collect information, including Personally Identifiable
Information, when you sign up for a User Account, participate in
online courses, send us email messages and/or participate in our
public forums. We collect information about student performance and
patterns of learning. We track information indicating, among other
things, which pages of our Site were visited, the order in which they
were visited, when they were visited, and which hyperlinks and other
user interface controls were used.</p>
<p>We may log the IP address, operating system and browser software
used by each user of the Site, and we may be able to determine from an
IP address a user's Internet Service Provider and the geographic
location of his or her point of connectivity. Various web analysis
tools are used to collect this information. Some of the information is
collected through cookies (a small text file placed on your
computer). You should be able to control how and whether cookies will
be accepted by your web browser. Most browsers offer instructions on
how to reset the browser to reject cookies in the &quot;Help&quot;
section of the toolbar. If you reject our cookies, many functions and
conveniences of this Site may not work properly.</p>
<p>Among other things, we may use the information that you provide
(including your Personally Identifiable Information) in connection
with the following:</p>
<ul>
<li>To help us improve <i>MITx</i> offerings, both individually
(e.g. by course staff when working with a student) and in
aggregate, and to individualize the experience and to evaluate
the access and use of the Site and the impact of <i>MITx</i> on
the worldwide educational community.
</li>
<li>For purposes of scientific research, particularly, for
example, in the areas of cognitive science and education. </li>
<li>For the purpose for which you specifically provided
the personal information, for example to respond to a specific inquiry or
provide you the specific course and/or services you select. </li>
<li>To track both individual and aggregate attendance,
progress and completion of an online course, and to analyze statistics on
student performance and how students learn. </li>
<li>To monitor and detect violations of the Honor Code, the
Terms of Service, as well as other misuses and potential misuses of the
site. </li>
<li>To publish information gathered about <i>MITx</i>
access, use, impact, and student performance but only as non-personally
identifiable data.</li>
<li>To send you updates about online courses offered by <i>MITx</i>
or other MIT events or to send you email messages about Site maintenance
or updates.</li>
<li>To archive this information and/or use it for future
communications with you.</li>
<li>As otherwise described to you at the point of
collection. </li>
</ul>
<p> In addition to the above situations where your information may be
shared with others, there is also the possibility that <i>MITx</i>
will affiliate with other educational institutions and/or
that <i>MITx</i> will become a (or part of a) nonprofit entity
separate from MIT. In those events, the other educational
institutions and/or separate entity will have access to the
information you provide, to the extent permitted by FERPA.
<h2>Sharing with Third Parties</h2>
<p>We may share the information we collect with third parties
as follows:</p>
<ul>
<li> With service providers or
contractors that perform certain functions on our behalf, including processing
information that you provide to us on the Site, operating the Site or portions
of it, or in connection with other aspects of <i>MITx</i> services. These
service providers and contractors will be obligated to keep your information
confidential.</p>
<li> With all users and other visitors
to the Site, to the extent that you submit post comments or other information
to a portion of the Site designed for public communications. As provided in the
Terms of Service, we may provide those postings to students in future offerings
of the course, either within the context of the forums, the courseware, or
otherwise, for marketing purposes, or in any other way. If we do use your postings,
we will use them without your real name and e-mail (except with explicit
permission), but we may use your username. </p>
<li>To connect you to other users of the Site. For instance, we
may recommend specific study partners, or connect potential student
mentees and mentors. In such cases, we may use all information
collected to determine who to connect you to, but we will only connect
you by username, and not disclose your real name or e-mail address to
your contact. </p>
<li> To respond to subpoenas, court orders, or other legal process, in
response to a request for cooperation from law enforcement or another
government agency, to investigate, prevent, or take action regarding
illegal activities, suspected fraud, or to enforce our user agreement
or privacy policy, or to protect our rights or the rights of
others.</p>
<li> As otherwise described to you at the point of collection or
pursuant to your consent. For example, from time to time, we may ask
your permission to use your Personally Identifiable Information in
other ways. In the future, <i>MITx</i> may have an alumni association,
resume book, etc. We may offer services where it is possible to
verify <i>MITx</i> credentials. </p>
<li> For integration with third party services. Videos and other
content may be hosted on YouTube and other web sites not controlled
by <i>MITx</i>. We may provide links and other integration with social
networks, and other sites. Those web sites are guided by their own
privacy policies. </p>
</ul>
<h2>Personalization and Pedagogical Improvements</h2>
<p>Our goal is to provide current and future visitors with the best
possible educational experience. To further this goal, we sometimes
present different users with different versions of course materials
and software. We do this to personalize the experience to the
individual learner (assess the learner's level of ability and learning
style, and present materials best suited to the learner), to evaluate
the effectiveness of our course materials, to improve our
understanding of the learning process, and to otherwise improve the
effectiveness of our offerings. We may publish or otherwise publicize
results from this process, but only as non-personally-identifiable
data. </p>
<h2>Changing Our Privacy Policy</h2>
<p>Please note that we review our privacy practices from time to time,
and that these practices are subject to change. We will publish notice
of any such modifications online on this page for a reasonable period
of time following such modifications, and by changing the effective
date of this Privacy Policy. By continuing to access the Site after
such changes have been posted, you signify your agreement to be bound
by them. Be sure to return to this page periodically to ensure
familiarity with the most current version of this Privacy Policy. </p>
<h2>Privacy Concerns</h2>
<p>If you have privacy concerns, or have disclosed data you would
prefer to keep private, please contact us
at <a href="mailto:privacy@mitx.mit.edu">privacy@mitx.mit.edu</a>. </p>
<p> Effective Date: February 6, 2012
</div>
</section>
<h2>${ problem['name'] }</h2>
<section class="problem">
${ problem['html'] }
<section class="action">
<input type="hidden" name="problem_id" value="${ problem['name'] }">
% if check_button:
<input id="check_${ id }" type="button" value="Check ${ attempts }" >
% endif
% if reset_button:
<input id="reset_${ id }" type="button" value="Reset ${ attempts }" >
% endif
% if save_button:
<input id="save_${ id }" type="button" value="Save" >
% endif
% if answer_available:
<input id="show_${ id }" type="button" value="Show Answer" >
% endif
% if explain :
<a href="/courseware/6.002_Spring_2012/${ explain }" class="new-page">Explanation</a>
% endif
</section>
</section>
function ${ id }_load() {
$('#main_${ id }').load('${ ajax_url }problem_get?id=${ id }',
function() {
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
update_schematics();
$('#check_${ id }').click(function() {
$("input.schematic").each(function(index,element){ element.schematic.update_value(); });
var submit_data={};
$.each($("[id^=input_${ id }_]"), function(index,value){
submit_data[value.id]=value.value;
});
postJSON('/modx/problem/${ id }/problem_check',
submit_data,
function(json) {
switch(json.success) {
case 'incorrect': // Worked, but answer not
case 'correct':
${ id }_load();
//alert("!!"+json.success);
break;
default:
alert(json.success);
}
});
log_event('problem_check', submit_data);
});
$('#reset_${ id }').click(function() {
var submit_data={};
$.each($("[id^=input_${ id }_]"), function(index,value){
submit_data[value.id]=value.value;
});
postJSON('/modx/problem/${ id }/problem_reset', {'id':'${ id }'}, function(json) {
${ id }_load();
});
log_event('problem_reset', submit_data);
});
$('#show_${ id }').click(function() {
postJSON('/modx/problem/${ id }/problem_show', {}, function(data) {
for (var key in data) {
$("#answer_"+key).text(data[key]);
}
});
log_event('problem_show', {'problem':'${ id }'});
});
$('#save_${ id }').click(function() {
$("input.schematic").each(function(index,element){ element.schematic.update_value(); });
var submit_data={};
$.each($("[id^=input_${ id }_]"), function(index,value){
submit_data[value.id]=value.value;});
postJSON('/modx/problem/${ id }/problem_save',
submit_data, function(data){
if(data.success) {
alert('Saved');
}}
);
log_event('problem_save', submit_data);
});
}
);}
$(function() {
${ id }_load();
});
<section id="main_${id}" class="problems-wrapper"></section>
<%inherit file="main.html" />
<%!
from django.core.urlresolvers import reverse
%>
<%block name="headextra">
<script type="text/javascript" src="/static/js/flot/jquery.flot.js"></script>
<script type="text/javascript" src="/static/js/flot/jquery.flot.stack.js"></script>
<script type="text/javascript" src="/static/js/flot/jquery.flot.symbol.js"></script>
<script>
<%include file="profile_graphs.js"/>
</script>
<script>
var loc=true; // Activate on clicks? Not if already clicked.
var lang=true;
$(function() {
$("#change_location").click(function() {
$(this).hide();
log_event("profile", {"type":"location_show", "old":$("#location_sub").text()});
if(loc) {
$("#description").html('<div>'+
"Preferred format is city, state, country (so for us, "+
"&quot;Cambridge, Massachusetts, USA&quot;), but give "+
"as much or as little detail as you want. </div>");
loc=false;
$("#location_sub").html('<form>'+'<input id="id_loc_text" type="text" name="loc_text" />'+
'<input type="submit" id="change_loc_button" value="Save" />'+'</form>');
$("#change_loc_button").click(function() {
$("#change_location").show();
postJSON('/change_setting', {'location':$("#id_loc_text").attr("value")}, function(json) {
$("#location_sub").text(json.location);
loc=true;
$("#description").html("");
log_event("profile", {"type":"location_change", "new":json.location});
});
});
}
});
$("#change_language").click(function() {
$(this).hide();
log_event("profile", {"type":"language_show", "old":$("#language_sub").text()});
if(lang) {
lang=false;
$("#language_sub").html('<form>'+'<input id="id_lang_text" type="text" name="lang_text" />'+
'<input type="submit" id="change_lang_button" value="Save" />'+'</form>');
$("#change_lang_button").click(function() {
$("#change_language").show();
postJSON('/change_setting', {'language':$("#id_lang_text").attr("value")}, function(json) {
$("#language_sub").text(json.language);
lang=true;
$("#description").html("");
log_event("profile", {"type":"language_change", "new":json.language});
});
});
}
});
$('#change_password').click(function(){
$('.modal').trigger('click');
log_event("profile", {"type":"password_show"});
});
$('#pwd_reset_button').click(function() {
$.post('/password_reset/',{ "csrfmiddlewaretoken" : "${ csrf }",
"email" : $('#id_email').val()}, function(data){
$("#password_reset_complete_link").click();
log_event("profile", {"type":"password_send"});
});
});
$("#submit_email_change").click(function(){
alert("Test 1");
var new_email = $('#new_email_field').val();
var new_password = $('#new_email_password').val();
postJSON('/email_change/',{"new_email":new_email},
function(data){});
alert("Test 2");
log_event("profile", {"type":"email_change_request",
"old_email":"${email}",
"new_email":new_email});
alert("Test 3");
});
});
</script>
</%block>
<%include file="navigation.html" args="active_page='profile'" />
<section class="main-content">
<div class="profile-wrapper">
<section class="course-info">
<h1>Course Progress</h1>
<div id="grade-detail-graph"></div>
<ol class="chapters">
%for chapter in chapters:
%if not chapter['chapter'] == "hidden":
<li>
<h2><a href="${reverse('courseware_chapter', args=format_url_params([chapter['course'], chapter['chapter']])) }">
${ chapter['chapter'] }</a></h2>
<ol class="sections">
%for section in chapter['sections']:
<li>
<%
earned = section['section_total'][0]
total = section['section_total'][1]
percentageString = "{0:.0%}".format( float(earned)/total) if earned > 0 else ""
%>
<h3><a href="${reverse('courseware_section', args=format_url_params([chapter['course'], chapter['chapter'], section['section']])) }">
${ section['section'] }</a> ${"({0:g}/{1:g}) {2}".format( earned, total, percentageString )}</h3>
${section['subtitle']}
%if 'due' in section and section['due']!="":
due ${section['due']}
%endif
%if len(section['scores']) > 0:
<ol class="scores">
${ "Problem Scores: " if section['graded'] else "Practice Scores: "}
%for score in section['scores']:
<li class="score">${"{0:g}/{1:g}".format(score[0],score[1])}</li>
%endfor
</ol>
%endif
</li> <!--End section-->
%endfor
</ol> <!--End sections-->
</li> <!--End chapter-->
%endif
%endfor
</ol> <!--End chapters-->
</section>
<section class="user-info">
<header>
<h1>${name}</h1>
%if True:
<a href="#apply_name_change" rel="leanModal">Apply to change</a>
%else:
(Name change pending)
%endif
</header>
<ul>
<li>
Forum name: <strong>${username}</strong>
</li>
<li>
E-mail: <strong>${email}</strong> <a href="#change_email" rel="leanModal" class="edit-email">Edit</a>
</li>
<li>
Location: <div id="location_sub">${location}</div><div id="description"></div> <a href="#" id="change_location">Edit</a>
</li>
<li>
Language: <div id="language_sub">${language}</div> <a href="#" id="change_language">Edit</a>
</li>
</ul>
<div id="change_password_pop">
<h2>Password change</h2>
<p>We'll e-mail a password reset link to ${email}.</p>
<input id="id_email" type="hidden" name="email" maxlength="75" value="${email}" />
<input type="submit" id="pwd_reset_button" value="Reset Password" />
</div>
<div id="unenroll">
<a href="#unenroll_course" rel="leanModal">Unenroll from 6.002x</a>
</div>
</section>
</div>
</section>
<div id="password_reset_complete" class="leanModal_box">
<a href="#password_reset_complete" rel="leanModal" id="password_reset_complete_link"></a>
<h1>Password Reset Email Sent</h1>
<p>
An email has been sent to ${email}. Follow the link in the email to change your password.
</p>
</div>
<div id="apply_name_change" class="leanModal_box">
<h1>Apply to change your name</h1>
<form>
<fieldset>
<p>A member of the course staff will review your request, and if approved, update your information. Please allow up to a week for your requested to be processed.</p>
<ul>
<li>
<label>Enter your desired full name, as it will appear on the MITx Certificate: </label>
<input id="new_name" value="" type="text" />
</li>
<li>
<label>Reason for name change:</label>
<textarea id="name_rationale" value=""></textarea>
</li>
<li>
<input type="submit" id="submit">
</li>
</ul>
</fieldset>
</form>
</div>
<div id="change_email" class="leanModal_box">
<h1>Change e-mail</h1>
<form>
<fieldset>
<ul>
<li>
<label> Please enter your new email address: </label>
<input id="new_email_field" type="email" value="" />
</li>
<li>
<label> Please confirm your password: </label>
<input id="new_email_password" value="" type="password" />
</li>
<li>
<p> We will send a confirmation to both ${email} and your new e-mail as part of the process.</p>
<input type="submit" id="submit_email_change" />
</li>
</ul>
</fieldset>
</form>
</div>
<div id="unenroll_course" class="leanModal_box">
<h1> Unenroll </h1>
<p> At the end of the semester, all students who do not complete the course will be automatically dropped. If you would still prefer to deactivate your account, you can: </p>
<form>
<fieldset>
<ul>
<li>
<label><input type="radio" name="updates" checked /> Deactivate account/do not inform me about future courses. </label>
</li>
<li>
<label><input type="radio" name="updates" /> Deactivate account, but inform me about future courses.</label>
</li>
<li>
<input type="submit" id="" value="Unenroll" />
</li>
</ul>
</fieldset>
</form>
</div>
<%!
import json
%>
$(function () {
function showTooltip(x, y, contents) {
$('<div id="tooltip">' + contents + '</div>').css( {
position: 'absolute',
display: 'none',
top: y + 5,
left: x + 5,
border: '1px solid #000',
padding: '4px 6px',
color: '#fff',
'background-color': '#333',
opacity: 0.90
}).appendTo("body").fadeIn(200);
}
/* -------------------------------- Grade detail bars -------------------------------- */
<%
colors = ["#b72121", "#600101", "#666666", "#333333"]
tickIndex = 1
sectionSpacer = 0.5
sectionIndex = 0
series = []
ticks = [] #These are the indices and x-axis labels for the data
bottomTicks = [] #Labels on the bottom
detail_tooltips = {} #This an dictionary mapping from 'section' -> array of detail_tooltips
droppedScores = [] #These are the datapoints to indicate assignments which aren't factored into the total score
dropped_score_tooltips = []
for section in grade_summary:
if 'subscores' in section: ##This is for sections like labs or homeworks, with several smaller components and a total
series.append({
'label' : section['category'],
'data' : [[i + tickIndex, score['percentage']] for i,score in enumerate(section['subscores'])],
'color' : colors[sectionIndex]
})
ticks += [[i + tickIndex, score['label'] ] for i,score in enumerate(section['subscores'])]
bottomTicks.append( [tickIndex + len(section['subscores'])/2, section['category']] )
detail_tooltips[ section['category'] ] = [score['summary'] for score in section['subscores']]
droppedScores += [[tickIndex + index, 0.05] for index in section['dropped_indices']]
dropExplanation = "The lowest {0} {1} scores are dropped".format( len(section['dropped_indices']), section['category'] )
dropped_score_tooltips += [dropExplanation] * len(section['dropped_indices'])
tickIndex += len(section['subscores']) + sectionSpacer
category_total_label = section['category'] + " Total"
series.append({
'label' : category_total_label,
'data' : [ [tickIndex, section['totalscore']['score']] ],
'color' : colors[sectionIndex]
})
ticks.append( [tickIndex, section['totallabel']] )
detail_tooltips[category_total_label] = [section['totalscore']['summary']]
else:
series.append({
'label' : section['category'],
'data' : [ [tickIndex, section['totalscore']['score']] ],
'color' : colors[sectionIndex]
})
ticks.append( [tickIndex, section['totallabel']] )
detail_tooltips[section['category']] = [section['totalscore']['summary']]
tickIndex += 1 + sectionSpacer
sectionIndex += 1
detail_tooltips['Dropped Scores'] = dropped_score_tooltips
## ----------------------------- Grade overviewew bar ------------------------- ##
totalWeight = 0.0
sectionIndex = 0
totalScore = 0.0
overviewBarX = tickIndex
for section in grade_summary:
weighted_score = section['totalscore']['score'] * section['weight']
summary_text = "{0} - {1:.1%} of a possible {2:.0%}".format(section['category'], weighted_score, section['weight'])
weighted_category_label = section['category'] + " - Weighted"
if section['totalscore']['score'] > 0:
series.append({
'label' : weighted_category_label,
'data' : [ [overviewBarX, weighted_score] ],
'color' : colors[sectionIndex]
})
detail_tooltips[weighted_category_label] = [ summary_text ]
sectionIndex += 1
totalWeight += section['weight']
totalScore += section['totalscore']['score'] * section['weight']
ticks += [ [overviewBarX, "Total"] ]
tickIndex += 1 + sectionSpacer
%>
var series = ${ json.dumps(series) };
var ticks = ${ json.dumps(ticks) };
var bottomTicks = ${ json.dumps(bottomTicks) };
var detail_tooltips = ${ json.dumps(detail_tooltips) };
var droppedScores = ${ json.dumps(droppedScores) };
//Alwasy be sure that one series has the xaxis set to 2, or the second xaxis labels won't show up
series.push( {label: 'Dropped Scores', data: droppedScores, points: {symbol: "cross", show: true, radius: 3}, bars: {show: false}, color: "#333"} );
var options = {
series: {stack: true,
lines: {show: false, steps: false },
bars: {show: true, barWidth: 0.8, align: 'center', lineWidth: 0, fill: .8 },},
xaxis: {tickLength: 0, min: 0.0, max: ${tickIndex - sectionSpacer}, ticks: ticks, labelAngle: 90},
yaxis: {ticks: [[1, "100%"], [0.87, "A 87%"], [0.7, "B 70%"], [0.6, "C 60%"], [0, "0%"]], min: 0.0, max: 1.0, labelWidth: 50},
grid: { hoverable: true, clickable: true, borderWidth: 1,
markings: [ {yaxis: {from: 0.87, to: 1 }, color: "#ddd"}, {yaxis: {from: 0.7, to: 0.87 }, color: "#e9e9e9"},
{yaxis: {from: 0.6, to: 0.7 }, color: "#f3f3f3"}, ] },
legend: {show: false},
};
var $grade_detail_graph = $("#grade-detail-graph");
if ($grade_detail_graph.length > 0) {
var plot = $.plot($grade_detail_graph, series, options);
var o = plot.pointOffset({x: ${overviewBarX} , y: ${totalScore}});
$grade_detail_graph.append('<div style="position:absolute;left:' + (o.left - 12) + 'px;top:' + (o.top - 20) + 'px">${"{totalscore:.0%}".format(totalscore=totalScore)}</div>');
}
var previousPoint = null;
$("#grade-detail-graph").bind("plothover", function (event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if (item) {
if (previousPoint != (item.dataIndex, item.seriesIndex)) {
previousPoint = (item.dataIndex, item.seriesIndex);
$("#tooltip").remove();
if (item.series.label in detail_tooltips) {
var series_tooltips = detail_tooltips[item.series.label];
if (item.dataIndex < series_tooltips.length) {
var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2);
showTooltip(item.pageX, item.pageY, series_tooltips[item.dataIndex]);
}
}
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
});
});
{% extends "admin/base_site.html" %}
{% load i18n admin_modify adminmedia %}
{% load url from future %}
{% block extrahead %}{{ block.super }}
{% url 'admin:jsi18n' as jsi18nurl %}
<script type="text/javascript" src="{{ jsi18nurl|default:"../../../../jsi18n/" }}"></script>
{% endblock %}
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %}
{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %}
{% block breadcrumbs %}{% if not is_popup %}
<div class="breadcrumbs">
<a href="../../../../">{% trans "Home" %}</a> &rsaquo;
<a href="../../../">{{ opts.app_label|capfirst|escape }}</a> &rsaquo;
<a href="../../">{{ opts.verbose_name_plural|capfirst }}</a> &rsaquo;
<a href="../">{{ original|truncatewords:"18" }}</a> &rsaquo;
{% trans 'Change password' %}
</div>
{% endif %}{% endblock %}
{% block content %}<div id="content-main">
<form action="{{ form_url }}" method="post" id="{{ opts.module_name }}_form">{% csrf_token %}{% block form_top %}{% endblock %}
<div>
{% if is_popup %}<input type="hidden" name="_popup" value="1" />{% endif %}
{% if form.errors %}
<p class="errornote">
{% blocktrans count form.errors.items|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
</p>
{% endif %}
<p>{% blocktrans with original.username as username %}Enter a new password for the user <strong>{{ username }}</strong>.{% endblocktrans %}</p>
<fieldset class="module aligned">
<div class="form-row">
{{ form.password1.errors }}
{# TODO: get required class on label_tag #}
<label for="id_password1" class="required">{% trans 'Password' %}:</label> {{ form.password1 }}
</div>
<div class="form-row">
{{ form.password2.errors }}
{# TODO: get required class on label_tag #}
<label for="id_password2" class="required">{% trans 'Password (again)' %}:</label> {{ form.password2 }}
<p class="help">{% trans 'Enter the same password as above, for verification.' %}</p>
</div>
</fieldset>
<div class="submit-row">
<input type="submit" value="{% trans 'Change password' %}" class="default" />
</div>
<script type="text/javascript">document.getElementById("id_password1").focus();</script>
</div>
</form></div>
{% endblock %}
{% extends "admin/base_site.html" %}
{% load i18n %}
{% block breadcrumbs %}<div class="breadcrumbs"><a href="../">{% trans 'Home' %}</a></div>{% endblock %}
{% block content %}
<p>{% trans "Thanks for spending some quality time with the Web site today." %}</p>
<p><a href="../">{% trans 'Log in again' %}</a></p>
{% endblock %}
{% extends "registration/base.html" %}
{% block title %}Log in{% endblock %}
{% block content %}
<h1>Log in</h1>
{% if form.errors %}
<p class="error">Please correct the errors below:</p>
{% endif %}
<form method="post" action="?next={{ next|default:"/" }}">
{% csrf_token %}
<dl>
<dt><label for="id_username">Username:</label>{% if form.username.errors %} <span class="error">{{ form.username.errors|join:", " }}</span>{% endif %}</dt>
<dd>{{ form.username }}</dd>
<dt><label for="id_password">Password:</label>{% if form.password.errors %} <span class="error">{{ form.password.errors|join:", " }}</span>{% endif %}</dt>
<dd>{{ form.password }}</dd>
<dt><input type="submit" value="Log in" /></dt>
</dl>
</form>
{% endblock %}
{% block content-related %}
<p>If you don't have an account, you can <a href="/accounts/register/">sign
up</a> for one.
{% endblock %}
{% extends "registration/base.html" %}
{% block title %}Logged out{% endblock %}
{% block content %}
<h1>You've been logged out.</h1>
<p>Thanks for stopping by; when you come back, don't forget to <a href="/accounts/login/">log in</a> again.</p>
{% endblock %}
\ No newline at end of file
{% extends "admin/base_site.html" %}
{% load i18n %}
{% load url from future %}
{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %}{% trans 'Change password' %} / <a href="../../logout/">{% trans 'Log out' %}</a>{% endblock %}
{% block breadcrumbs %}<div class="breadcrumbs"><a href="../../">{% trans 'Home' %}</a> &rsaquo; {% trans 'Password change' %}</div>{% endblock %}
{% block title %}{% trans 'Password change successful' %}{% endblock %}
{% block content %}
<h1>{% trans 'Password change successful' %}</h1>
<p>{% trans 'Your password was changed.' %}</p>
{% endblock %}
{% extends "admin/base_site.html" %}
{% load i18n adminmedia %}
{% load url from future %}
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %}
{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %} {% trans 'Change password' %} / <a href="../logout/">{% trans 'Log out' %}</a>{% endblock %}
{% block breadcrumbs %}<div class="breadcrumbs"><a href="../">{% trans 'Home' %}</a> &rsaquo; {% trans 'Password change' %}</div>{% endblock %}
{% block title %}{% trans 'Password change' %}{% endblock %}
{% block content %}<div id="content-main">
<form action="" method="post">{% csrf_token %}
<div>
{% if form.errors %}
<p class="errornote">
{% blocktrans count form.errors.items|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
</p>
{% endif %}
<h1>{% trans 'Password change' %}</h1>
<p>{% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}</p>
<fieldset class="module aligned wide">
<div class="form-row">
{{ form.old_password.errors }}
<label for="id_old_password" class="required">{% trans 'Old password' %}:</label>{{ form.old_password }}
</div>
<div class="form-row">
{{ form.new_password1.errors }}
<label for="id_new_password1" class="required">{% trans 'New password' %}:</label>{{ form.new_password1 }}
</div>
<div class="form-row">
{{ form.new_password2.errors }}
<label for="id_new_password2" class="required">{% trans 'Password (again)' %}:</label>{{ form.new_password2 }}
</div>
</fieldset>
<div class="submit-row">
<input type="submit" value="{% trans 'Change my password' %}" class="default" />
</div>
<script type="text/javascript">document.getElementById("id_old_password").focus();</script>
</div>
</form></div>
{% endblock %}
{% load i18n %}
<h1> Password reset complete </h1>
{% block content %}
Your password has been set. You may go ahead and <a href="/">log in</a> now.
{% endblock %}
{% block content %}
{% if validlink %}
<h1>Enter new password</h1>
<p>Please enter your new password twice so we can verify you typed it in correctly.</p>
<form action="" method="post">{% csrf_token %}
{{ form.new_password1.errors }}
<p class="aligned wide"><label for="id_new_password1">New password:</label>{{ form.new_password1 }}</p>
{{ form.new_password2.errors }}
<p class="aligned wide"><label for="id_new_password2">Confirm password:</label>{{ form.new_password2 }}</p>
<p><input type="submit" value="Change my password" /></p>
</form>
{% else %}
<h1>Password reset unsuccessful</h1>
<p>The password reset link was invalid, possibly because the link has already been used. Please request a new password reset.</p>
{% endif %}
{% endblock %}
<h1>Password reset successful</h1>
<p>We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly.</p>
{% load i18n %}{% load url from future %}{% autoescape off %}
{% blocktrans %}You're receiving this e-mail because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %}
{% trans "Please go to the following page and choose a new password:" %}
{% block reset_link %}
{{ protocol }}://{{ site_name }}{% url 'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %}
{% endblock %}
{% trans "Your username, in case you've forgotten:" %} {{ user.username }}
{% trans "Thanks for using our site!" %}
{% blocktrans %}The MITx team{% endblocktrans %}
{% endautoescape %}
<h1>Check your email</h1>
<p>An activation link has been sent to ${ email }, along with
instructions for activating your account.</p>
{% extends "registration/base.html" %}
{% block title %}Registration complete{% endblock %}
{% block content %}
<h1>Check your email</h1>
<p>An activation link has been sent to the email address you supplied, along with instructions for activating your account.</p>
{% endblock %}
\ No newline at end of file
{% extends "registration/base.html" %}
{% block title %}Sign up{% endblock %}
{% block content %}
{% if form.errors %}
<p class="errors">Please correct the errors below: {{ form.non_field_errors }}</p>
{% endif %}
<h1>Create an account</h1>
<form method="post" action="" class="wide">
{% csrf_token %}
<p>
<label for="id_username">Username:</label>
{% if form.username.errors %}
<p class="errors">{{ form.username.errors.as_text }}</p>
{% endif %}
{{ form.username }}
</p>
<p>
<label for="id_email">Email address:</label>
{% if form.email.errors %}
<p class="errors">{{ form.email.errors.as_text }}</p>
{% endif %}
{{ form.email }}
</p>
<p>
<label for="id_password1">Password:</label>
{% if form.password1.errors %}
<p class="errors">{{ form.password1.errors.as_text }}</p>
{% endif %}
{{ form.password1 }}
</p>
<p>
<label for="id_password2">Password (type again to catch typos):</label>
{% if form.password2.errors %}
<p class="errors">{{ form.password2.errors.as_text }}</p>
{% endif %}
{{ form.password2 }}
</p>
<p class="submit"><input type="submit" value="Register &rarr;"></p>
</form>
{% endblock %}
{% block content-related %}
<p>Fill out the form to the left (all fields are required), and your
account will be created; you'll be sent an email with instructions on how
to finish your registration.</p>
<p>We'll only use your email to send you signup instructions. We hate spam
as much as you do.</p>
<p>This account will let you log into the ticket tracker, claim tickets,
and be exempt from spam filtering.</p>
{% endblock %}
This project is using Sass to generate it's CSS. Sass is a CSS preprocessor that allows for faster development of CSS. For more information about sass: http://sass-lang.com
To use sass all you need to do is enter:
$ gem install sass
We are also using Bourbon with sass. They are a generic set of mixins, and functions that allow for more rapid development of CSS3. Find out more about bourbon here: https://github.com/thoughtbot/bourbon
To use bourbon you need to install it with:
$ gem install bourbon
Then to generate Sass files cd to templates directory and watch the sass files for developement:
$ sass --watch sass:../static/css/ -r ./sass/bourbon/lib/bourbon.rb
To generate a compressed css file for production:
$ sass --watch sass:../static/css/ -r ./sass/bourbon/lib/bourbon.rb --style :compressed
These will automatically generate the CSS files on save.
div.gradebook-wrapper {
@extend .table-wrapper;
section.gradebook-content {
@extend .content;
h1 {
@extend .top-header;
}
}
}
section.help.main-content {
padding: lh();
h1 {
margin-top: 0;
margin-bottom: lh();
padding-bottom: lh();
border-bottom: 1px solid #ddd;
}
p {
max-width: 700px;
}
h2 {
margin-top: 0;
}
section.self-help {
margin-bottom: lh();
margin-right: flex-gutter();
float: left;
width: flex-grid(6);
ul {
margin-left: flex-gutter(6);
li {
margin-bottom: lh(.5);
}
}
}
section.help-email {
float: left;
width: flex-grid(6);
dl {
margin-bottom: lh();
display: block;
dd {
margin-bottom: lh();
}
dt {
font-weight: bold;
float: left;
clear: left;
width: flex-grid(2, 6);
}
}
}
}
div.info-wrapper {
@extend .table-wrapper;
section.updates {
@extend .content;
> h1 {
@extend .top-header;
}
> p {
margin-bottom: lh();
}
> ol {
list-style: none;
> li {
padding-bottom: lh(.5);
margin-bottom: lh(.5);
@extend .clearfix;
border-bottom: 1px solid #e3e3e3;
&:first-child {
padding: lh(.5);
margin-left: (-(lh(.5)));
background: $cream;
border-bottom: 1px solid darken($cream, 10%);
}
h2 {
float: left;
width: flex-grid(2, 9);
margin: 0 flex-gutter() 0 0;
}
section.update-description {
float: left;
width: flex-grid(7, 9);
margin-bottom: 0;
p {
&:last-child {
margin-bottom: 0;
}
}
}
}
}
}
section.handouts {
@extend .sidebar;
@include border-radius(0 4px 4px 0);
border-right: 0;
border-left: 1px solid #d3d3d3;
h1 {
padding: lh(.5) lh();
font-size: 18px;
margin: 0 ;
@extend .bottom-border;
}
ol {
list-style: none;
li {
@include box-shadow(0 1px 0 #eee);
border-bottom: 1px solid #d3d3d3;
@extend .clearfix;
p {
padding: 7px lh();
margin: 0;
text-transform: none;
letter-spacing: 0;
font-size: $body-font-size;
&:hover {
background: #efefef;
}
a {
display: inline;
padding: 0;
&:hover {
text-decoration: underline;
background: none;
}
}
}
a {
@include transition();
color: lighten($text-color, 10%);
display: block;
padding: 7px lh();
text-decoration: none;
&:hover {
background: #efefef;
}
}
}
}
}
}
div.profile-wrapper {
@extend .table-wrapper;
color: #000;
section.user-info {
@extend .sidebar;
@include border-radius(0px 4px 4px 0);
border-left: 1px solid #d3d3d3;
border-right: 0;
header {
padding: lh(.5) lh();
margin: 0 ;
@extend .bottom-border;
h1 {
font-size: 18px;
}
}
ul {
list-style: none;
li {
@include transition();
color: lighten($text-color, 10%);
display: block;
text-decoration: none;
@include box-shadow(0 1px 0 #eee);
padding: 7px lh();
border-bottom: 1px solid #d3d3d3;
position: relative;
div#location_sub, div#language_sub {
font-weight: bold;
@include inline-block();
form {
width: 100%;
}
input {
&[type="text"] {
margin: lh(.5) 0;
width: 100%;
@include box-sizing(border-box);
}
&[type="input"]{
}
}
&:empty {
padding: 0;
}
}
div#description {
font-size: 12px;
}
a#change_language, a#change_location, a.edit-email {
position: absolute;
top: 9px;
right: lh(.5);
text-transform: uppercase;
font-size: 12px;
color: #999;
&:hover {
color: #555;
}
}
}
}
div#change_password_pop {
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
color: #4D4D4D;
padding: 7px lh();
h2 {
margin-top: 0;
font-weight: bold;
text-transform: uppercase;
font-size: $body-font-size;
}
}
div#unenroll {
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
a {
color: lighten($text-color, 10%);
display: block;
display: block;
padding: 7px lh();
@include transition();
&:hover {
background: #efefef;
}
}
}
}
section.course-info {
@extend .content;
> h1 {
@extend .top-header;
}
div#grade-detail-graph {
width: 100%;
min-height: 300px;
}
> ol {
border-top: 1px solid #e3e3e3;
list-style: none;
margin-top: lh();
> li {
@extend .clearfix;
border-bottom: 1px solid #e3e3e3;
display: table;
padding: lh() 0;
width: 100%;
&:last-child {
border-bottom: 0px;
}
h2 {
border-right: 1px dashed #ddd;
@include box-sizing(border-box);
display: table-cell;
margin: 0;
padding: 0;
padding-right: flex-gutter(9);
width: flex-grid(2, 9);
}
ol.sections {
display: table-cell;
list-style: none;
padding-left: flex-gutter(9);
width: flex-grid(7, 9);
> li {
padding:0 0 lh() 0;
&:first-child {
padding-top: 0;
}
&:last-child {
border-bottom: 0;
}
h3 {
color: #666;
}
ol {
list-style: none;
li {
display: inline-block;
padding-right: 1em;
}
}
}
}
}
}
}
}
div.book-wrapper {
@extend .table-wrapper;
section.book-sidebar {
@extend .sidebar;
@include box-sizing(border-box);
@extend .tran;
ul#booknav {
font-size: 12px;
a {
color: #000;
&:hover {
color: #666;
}
}
li {
background: none;
padding-left: 30px;
div.hitarea {
margin-left: -22px;
background-image: url('/static/images/treeview-default.gif');
position: relative;
top: 4px;
&:hover {
opacity: 0.6;
filter: alpha(opacity=60);
}
}
ul {
background: none;
}
}
> li {
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
padding: 7px 7px 7px 30px;
}
}
}
section.book {
@extend .content;
nav {
@extend .topbar;
@extend .clearfix;
a {
@extend .block-link;
padding: 0 lh();
}
ul {
@extend .clearfix;
li {
&.last {
float: left;
display: block;
a {
@include box-shadow(inset -1px 0 0 lighten(#f6efd4, 5%));
border-right: 1px solid darken(#f6efd4, 20%);
border-left: 0;
}
}
&.next {
display: block;
float: right;
}
}
}
&.bottom-nav {
margin-top: lh();
margin-bottom: -(lh());
border-bottom: 0;
border-top: 1px solid #EDDFAA;
}
}
section.page {
text-align: center;
img {
border: 1px solid $border-color;
max-width: 100%;
}
}
}
&.closed {
section.book-sidebar {
width: flex-grid(.6);
header#open_close_accordion {
padding: 0;
a {
background-image: url('/static/images/slide-right-icon.png');
}
h2 {
visibility: hidden;
width: 10px;
padding: 0;
}
}
ul#booknav {
visibility: hidden;
width: 10px;
padding: 0;
overflow: hidden;
max-height: 100px;
}
}
section.course-content {
width: flex-grid(11.5) + flex-gutter();
}
}
}
@import "bourbon/bourbon";
// Base layout
@import "base/reset", "base/font-face";
@import "base/variables", "base/functions", "base/extends", "base/base";
@import "layout/layout", "layout/header", "layout/footer", "layout/leanmodal";
@import "plugins/jquery-ui-1.8.16.custom";
// pages
@import "courseware/courseware", "courseware/sidebar", "courseware/video", "courseware/sequence-nav", "courseware/amplifier";
@import "textbook";
@import "info";
@import "profile";
@import "gradebook";
@import "wiki/basic-html", "wiki/sidebar", "wiki/create", "wiki/wiki", "wiki/table";
@import "help";
@import "discussion/askbot-original", "discussion/discussion","discussion/sidebar", "discussion/questions", "discussion/tags", "discussion/question-view" , "discussion/answers", "discussion/forms", "discussion/form-wmd-toolbar", "discussion/modals", "discussion/profile", "discussion/badges";
:focus {
outline-color: #ccc;
}
h1, h2, h3, h4, h5, h6 {
a {
color: #000;
}
}
h1 {
font-size:1.6em;
margin:20px 0 10px 0;
}
h2 {
font-size: $body-font-size;
font-weight: bold;
letter-spacing: 1px;
margin:20px 0 10px 0;
text-transform: uppercase;
}
p {
margin-bottom: $body-line-height;
}
em {
font-style: italic;
}
img {
max-width: 100%;
height: auto;
}
#{$all-text-inputs}, textarea {
@include box-shadow(0 -1px 0 #fff);
@include linear-gradient(#eee, #fff);
border: 1px solid #999;
font: $body-font-size $body-font-family;
padding: 4px;
&:focus {
border-color: $mit-red;
}
}
a {
color: $mit-red;
&:link {
color: $mit-red;
}
&:visited {
color: darken($mit-red, 10%);
}
&:link, &:visited {
text-decoration:none;
}
&:hover, &:focus {
text-decoration:underline;
}
}
input[type="submit"], input[type="button"], button {
@extend .button;
}
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.wrapper {
margin: 0 auto;
max-width: $fg-max-width;
min-width: $fg-min-width;
text-align: left;
width: flex-grid(12);
div.table-wrapper {
display: table;
width: flex-grid(12);
}
}
h1.top-header {
background: #f3f3f3;
border-bottom: 1px solid #e3e3e3;
margin: (-(lh())) (-(lh())) lh();
padding: lh();
}
.button {
border: 1px solid darken(#888, 10%);
@include border-radius(3px);
@include box-shadow(inset 0 1px 0 lighten(#888, 10%), 0 0 3px #ccc);
color: #fff;
cursor: pointer;
font: bold $body-font-size $body-font-family;
@include linear-gradient(lighten(#888, 5%), darken(#888, 5%));
padding: 4px 8px;
text-decoration: none;
text-shadow: none;
-webkit-font-smoothing: antialiased;
&:hover, &:focus {
@include box-shadow(inset 0 1px 0 lighten(#888, 20%), 0 0 3px #ccc);
@include linear-gradient(lighten(#888, 10%), darken(#888, 5%));
border: 1px solid darken(#888, 20%);
}
}
.content {
@include box-shadow(inset 0 0 2px 3px #f3f3f3);
@include box-sizing(border-box);
display: table-cell;
padding: lh();
vertical-align: top;
width: flex-grid(9) + flex-gutter();
@media print {
@include box-shadow(none);
}
}
.sidebar {
background: #e3e3e3;
@include border-radius(4px 0 0 4px);
border-right: 1px solid #d3d3d3;
@include box-shadow( inset 0 0 0 1px #f6f6f6);
@include box-sizing(border-box);
display: table-cell;
font-family: $body-font-family;
position: relative;
text-shadow: 0 1px 0 #f1f1f1;
vertical-align: top;
width: flex-grid(3);
h1, h2 {
font-size: 18px;
font-weight: 800;
letter-spacing: 0;
text-transform: none;
}
.bottom-border {
@include box-shadow(0 1px 0 #eee);
border-bottom: 1px solid #d3d3d3;
}
@media print {
display: none;
}
h3 {
border: none;
border-bottom: 1px solid #d3d3d3;
@extend .bottom-border;
background: none;
color: #000;
font-weight: normal;
margin: 0;
overflow: hidden;
a {
color: lighten($text-color, 10%);
display: block;
font-size: $body-font-size;
padding: 7px 7px 7px 30px;
text-decoration: none;
@include transition();
&:hover {
background: #efefef;
@include box-shadow(0 1px 0 #fff);
}
}
span.ui-icon {
background-image: url(images/ui-icons_454545_256x240.png);
}
&.active {
background: none;
border: 0;
border-bottom: 1px solid #bbb;
@include box-shadow(none);
color: #000;
font-weight: bold;
a {
color: #000;
}
}
}
header#open_close_accordion {
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
padding: lh(.5) lh();
position: relative;
h2 {
padding-right: 20px;
margin: 0;
}
a {
background: #eee url('/static/images/slide-left-icon.png') center center no-repeat;
border: 1px solid #D3D3D3;
@include border-radius(3px 0 0 3px);
height: 16px;
padding: 8px;
position: absolute;
right: -1px;
text-indent: -9999px;
top: 6px;
width: 16px;
&:hover {
background-color: white;
}
}
}
a.button {
text-decoration: none;
}
}
.topbar {
@extend .clearfix;
background: $cream;
border-bottom: 1px solid darken($cream, 10%);
@include box-shadow(inset 0 1px 0 #fff, inset 1px 0 0 #fff);
font-size: 12px;
margin: (-$body-line-height) (-$body-line-height) $body-line-height;
text-shadow: 0 1px 0 #fff;
line-height: 46px;
height:46px;
@media print {
display: none;
}
a {
color: darken($cream, 80%);
&:hover {
color: darken($cream, 60%);
text-decoration: none;
}
&.block-link {
background: darken($cream, 5%);
border-left: 1px solid darken($cream, 20%);
@include box-shadow(inset 1px 0 0 lighten($cream, 5%));
display: block;
text-transform: uppercase;
&:hover {
background: none;
}
}
}
}
.tran {
@include transition( all, .2s, $ease-in-out-quad);
}
p.ie-warning {
display: block !important;
line-height: 1.3em;
background: yellow;
padding: lh();
text-align: left;
margin-bottom: 0;
}
/* Generated by Font Squirrel (http://www.fontsquirrel.com) on January 25, 2012 05:06:34 PM America/New_York */
// Not used in UI
// @font-face {
// font-family: 'Open Sans';
// src: url('/static/fonts/OpenSans-Light-webfont.eot');
// src: url('/static/fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
// url('/static/fonts/OpenSans-Light-webfont.woff') format('woff'),
// url('/static/fonts/OpenSans-Light-webfont.ttf') format('truetype'),
// url('/static/fonts/OpenSans-Light-webfont.svg#OpenSansLight') format('svg');
// font-weight: 300;
// font-style: normal;
// }
// @font-face {
// font-family: 'Open Sans';
// src: url('/static/fonts/OpenSans-LightItalic-webfont.eot');
// src: url('/static/fonts/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'),
// url('/static/fonts/OpenSans-LightItalic-webfont.woff') format('woff'),
// url('/static/fonts/OpenSans-LightItalic-webfont.ttf') format('truetype'),
// url('/static/fonts/OpenSans-LightItalic-webfont.svg#OpenSansLightItalic') format('svg');
// font-weight: 300;
// font-style: italic;
// }
@font-face {
font-family: 'Open Sans';
src: url('/static/fonts/OpenSans-Regular-webfont.eot');
src: url('/static/fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/OpenSans-Regular-webfont.woff') format('woff'),
url('/static/fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
url('/static/fonts/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg');
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: url('/static/fonts/OpenSans-Italic-webfont.eot');
src: url('/static/fonts/OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/OpenSans-Italic-webfont.woff') format('woff'),
url('/static/fonts/OpenSans-Italic-webfont.ttf') format('truetype'),
url('/static/fonts/OpenSans-Italic-webfont.svg#OpenSansItalic') format('svg');
font-weight: 400;
font-style: italic;
}
// Not used in UI
// @font-face {
// font-family: 'Open Sans';
// src: url('/static/fonts/OpenSans-Semibold-webfont.eot');
// src: url('/static/fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'),
// url('/static/fonts/OpenSans-Semibold-webfont.woff') format('woff'),
// url('/static/fonts/OpenSans-Semibold-webfont.ttf') format('truetype'),
// url('/static/fonts/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg');
// font-weight: 600;
// font-style: normal;
// }
// @font-face {
// font-family: 'Open Sans';
// src: url('/static/fonts/OpenSans-SemiboldItalic-webfont.eot');
// src: url('/static/fonts/OpenSans-SemiboldItalic-webfont.eot?#iefix') format('embedded-opentype'),
// url('/static/fonts/OpenSans-SemiboldItalic-webfont.woff') format('woff'),
// url('/static/fonts/OpenSans-SemiboldItalic-webfont.ttf') format('truetype'),
// url('/static/fonts/OpenSans-SemiboldItalic-webfont.svg#OpenSansSemiboldItalic') format('svg');
// font-weight: 600;
// font-style: italic;
// }
@font-face {
font-family: 'Open Sans';
src: url('/static/fonts/OpenSans-Bold-webfont.eot');
src: url('/static/fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/OpenSans-Bold-webfont.woff') format('woff'),
url('/static/fonts/OpenSans-Bold-webfont.ttf') format('truetype'),
url('/static/fonts/OpenSans-Bold-webfont.svg#OpenSansBold') format('svg');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: url('/static/fonts/OpenSans-BoldItalic-webfont.eot');
src: url('/static/fonts/OpenSans-BoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/OpenSans-BoldItalic-webfont.woff') format('woff'),
url('/static/fonts/OpenSans-BoldItalic-webfont.ttf') format('truetype'),
url('/static/fonts/OpenSans-BoldItalic-webfont.svg#OpenSansBoldItalic') format('svg');
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: 'Open Sans';
src: url('/static/fonts/OpenSans-ExtraBold-webfont.eot');
src: url('/static/fonts/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/OpenSans-ExtraBold-webfont.woff') format('woff'),
url('/static/fonts/OpenSans-ExtraBold-webfont.ttf') format('truetype'),
url('/static/fonts/OpenSans-ExtraBold-webfont.svg#OpenSansExtrabold') format('svg');
font-weight: 800;
font-style: normal;
}
@font-face {
font-family: 'Open Sans';
src: url('/static/fonts/OpenSans-ExtraBoldItalic-webfont.eot');
src: url('/static/fonts/OpenSans-ExtraBoldItalic-webfont.eot?#iefix') format('embedded-opentype'),
url('/static/fonts/OpenSans-ExtraBoldItalic-webfont.woff') format('woff'),
url('/static/fonts/OpenSans-ExtraBoldItalic-webfont.ttf') format('truetype'),
url('/static/fonts/OpenSans-ExtraBoldItalic-webfont.svg#OpenSansExtraboldItalic') format('svg');
font-weight: 800;
font-style: italic;
}
// Flexible grid
@function flex-grid($columns, $container-columns: $fg-max-columns) {
$width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
@return percentage($width / $container-width);
}
// Flexible grid gutter
@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
$container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
@return percentage($gutter / $container-width);
}
// Percentage of container calculator
@function perc($width, $container-width: $max-width) {
@return percentage($width / $container-width);
}
// Line-height
@function lh($amount: 1) {
@return $body-line-height * $amount;
}
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
body {
line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
nav ul {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}
/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000;
font-style:italic;
font-weight:bold;
}
del {
text-decoration: line-through;
}
abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}
table {
border-collapse:collapse;
border-spacing:0;
}
/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}
input, select {
vertical-align:middle;
}
// Variables
// ---------------------------------------- //
// fonts
$body-font-family: "Open Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;;
$body-font-size: 14px;
// grid
$columns: 12;
$column-width: 80px;
$gutter-width: 25px;
$max-width: ($columns * $column-width) + (($columns - 1) * $gutter-width);
$gw-column: perc($column-width);
$gw-gutter: perc($gutter-width);
$body-line-height: golden-ratio($body-font-size, 1);
//Flexible grid
$fg-column: $column-width;
$fg-gutter: $gutter-width;
$fg-max-columns: $columns;
$fg-max-width: 1400px;
$fg-min-width: 810px;
// color
$light-gray: #ddd;
$dark-gray: #333;
$mit-red: #993333;
$cream: #F6EFD4;
$text-color: $dark-gray;
$border-color: $light-gray;
// Custom Functions
@import "functions/deprecated-webkit-gradient";
@import "functions/grid-width";
@import "functions/modular-scale";
@import "functions/tint-shade";
// CSS3 Mixins
@import "css3/animation";
@import "css3/appearance";
@import "css3/background-image";
@import "css3/background-size";
@import "css3/border-image";
@import "css3/border-radius";
@import "css3/box-shadow";
@import "css3/box-sizing";
@import "css3/columns";
@import "css3/flex-box";
@import "css3/inline-block";
@import "css3/linear-gradient";
@import "css3/radial-gradient";
@import "css3/transform";
@import "css3/transition";
// Addons & other mixins
@import "addons/button";
@import "addons/font-family";
@import "addons/html5-input-types";
@import "addons/position";
@import "addons/timing-functions";
@mixin button ($style: simple, $base-color: #4294f0) {
@if type-of($style) == color {
$base-color: $style;
$style: simple;
}
// Grayscale button
@if $base-color == grayscale($base-color) {
@if $style == simple {
@include simple($base-color, $grayscale: true);
}
@else if $style == shiny {
@include shiny($base-color, $grayscale: true);
}
@else if $style == pill {
@include pill($base-color, $grayscale: true);
}
}
// Colored button
@else {
@if $style == simple {
@include simple($base-color);
}
@else if $style == shiny {
@include shiny($base-color);
}
@else if $style == pill {
@include pill($base-color);
}
}
}
// Simple Button
//************************************************************************//
@mixin simple($base-color, $grayscale: false) {
$color: hsl(0, 0, 100%);
$border: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
$inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%);
$stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%);
$text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%);
@if lightness($base-color) > 70% {
$color: hsl(0, 0, 20%);
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
}
@if $grayscale == true {
$border: grayscale($border);
$inset-shadow: grayscale($inset-shadow);
$stop-gradient: grayscale($stop-gradient);
$text-shadow: grayscale($text-shadow);
}
border: 1px solid $border;
@include border-radius (3px);
@include box-shadow (inset 0 1px 0 0 $inset-shadow);
color: $color;
display: inline;
font-size: 11px;
font-weight: bold;
@include linear-gradient ($base-color, $stop-gradient);
padding: 6px 18px 7px;
text-shadow: 0 1px 0 $text-shadow;
-webkit-background-clip: padding-box;
&:hover {
$base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
$inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%);
$stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%);
@if $grayscale == true {
$base-color-hover: grayscale($base-color-hover);
$inset-shadow-hover: grayscale($inset-shadow-hover);
$stop-gradient-hover: grayscale($stop-gradient-hover);
}
@include box-shadow (inset 0 1px 0 0 $inset-shadow-hover);
cursor: pointer;
@include linear-gradient ($base-color-hover, $stop-gradient-hover);
}
&:active {
$border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
$inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%);
@if $grayscale == true {
$border-active: grayscale($border-active);
$inset-shadow-active: grayscale($inset-shadow-active);
}
border: 1px solid $border-active;
@include box-shadow (inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active, 0 1px 1px 0 #eee);
}
}
// Shiny Button
//************************************************************************//
@mixin shiny($base-color, $grayscale: false) {
$color: hsl(0, 0, 100%);
$border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81);
$border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122);
$fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46);
$inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12);
$second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33);
$text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114);
$third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48);
@if lightness($base-color) > 70% {
$color: hsl(0, 0, 20%);
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
}
@if $grayscale == true {
$border: grayscale($border);
$border-bottom: grayscale($border-bottom);
$fourth-stop: grayscale($fourth-stop);
$inset-shadow: grayscale($inset-shadow);
$second-stop: grayscale($second-stop);
$text-shadow: grayscale($text-shadow);
$third-stop: grayscale($third-stop);
}
border: 1px solid $border;
border-bottom: 1px solid $border-bottom;
@include border-radius(5px);
@include box-shadow(inset 0 1px 0 0 $inset-shadow);
color: $color;
display: inline;
font-size: 14px;
font-weight: bold;
@include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);
padding: 7px 20px 8px;
text-align: center;
text-decoration: none;
text-shadow: 0 -1px 1px $text-shadow;
&:hover {
$first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18);
$second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51);
$third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66);
$fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63);
@if $grayscale == true {
$first-stop-hover: grayscale($first-stop-hover);
$second-stop-hover: grayscale($second-stop-hover);
$third-stop-hover: grayscale($third-stop-hover);
$fourth-stop-hover: grayscale($fourth-stop-hover);
}
cursor: pointer;
@include linear-gradient(top, $first-stop-hover 0%,
$second-stop-hover 50%,
$third-stop-hover 50%,
$fourth-stop-hover 100%);
}
&:active {
$inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122);
@if $grayscale == true {
$inset-shadow-active: grayscale($inset-shadow-active);
}
@include box-shadow(inset 0 0 20px 0 $inset-shadow-active, 0 1px 0 #fff);
}
}
// Pill Button
//************************************************************************//
@mixin pill($base-color, $grayscale: false) {
$color: hsl(0, 0, 100%);
$border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%);
$border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%);
$border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%);
$inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%);
$stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%);
$text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%);
@if lightness($base-color) > 70% {
$color: hsl(0, 0, 20%);
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
}
@if $grayscale == true {
$border-bottom: grayscale($border-bottom);
$border-sides: grayscale($border-sides);
$border-top: grayscale($border-top);
$inset-shadow: grayscale($inset-shadow);
$stop-gradient: grayscale($stop-gradient);
$text-shadow: grayscale($text-shadow);
}
border: 1px solid $border-top;
border-color: $border-top $border-sides $border-bottom;
@include border-radius(16px);
@include box-shadow(inset 0 1px 0 0 $inset-shadow, 0 1px 2px 0 #b3b3b3);
color: $color;
display: inline;
font-size: 11px;
font-weight: normal;
line-height: 1;
@include linear-gradient ($base-color, $stop-gradient);
padding: 3px 16px 5px;
text-align: center;
text-shadow: 0 -1px 1px $text-shadow;
-webkit-background-clip: padding-box;
&:hover {
$base-color-hover: adjust-color($base-color, $lightness: -4.5%);
$border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%);
$border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%);
$border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%);
$inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%);
$stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%);
$text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%);
@if $grayscale == true {
$base-color-hover: grayscale($base-color-hover);
$border-bottom: grayscale($border-bottom);
$border-sides: grayscale($border-sides);
$border-top: grayscale($border-top);
$inset-shadow-hover: grayscale($inset-shadow-hover);
$stop-gradient-hover: grayscale($stop-gradient-hover);
$text-shadow-hover: grayscale($text-shadow-hover);
}
border: 1px solid $border-top;
border-color: $border-top $border-sides $border-bottom;
@include box-shadow(inset 0 1px 0 0 $inset-shadow-hover);
cursor: pointer;
@include linear-gradient ($base-color-hover, $stop-gradient-hover);
text-shadow: 0 -1px 1px $text-shadow-hover;
-webkit-background-clip: padding-box;
}
&:active {
$active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%);
$border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%);
$border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%);
$inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%);
$text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%);
@if $grayscale == true {
$active-color: grayscale($active-color);
$border-active: grayscale($border-active);
$border-bottom-active: grayscale($border-bottom-active);
$inset-shadow-active: grayscale($inset-shadow-active);
$text-shadow-active: grayscale($text-shadow-active);
}
background: $active-color;
border: 1px solid $border-active;
border-bottom: 1px solid $border-bottom-active;
@include box-shadow(inset 0 0 6px 3px $inset-shadow-active, 0 1px 0 0 #fff);
text-shadow: 0 -1px 1px $text-shadow-active;
}
}
$georgia: Georgia, Cambria, "Times New Roman", Times, serif;
$helvetica: "Helvetica Neue", Helvetica, Arial, sans-serif;
$lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif;
$monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace;
$verdana: Verdana, Geneva, sans-serif;
//************************************************************************//
// Generate a variable ($all-text-inputs) with a list of all html5
// input types that have a text-based input, excluding textarea.
// http://diveintohtml5.org/forms.html
//************************************************************************//
$inputs-list: 'input[type="email"]',
'input[type="number"]',
'input[type="password"]',
'input[type="search"]',
'input[type="tel"]',
'input[type="text"]',
'input[type="url"]',
// Webkit & Gecko may change the display of these in the future
'input[type="color"]',
'input[type="date"]',
'input[type="datetime"]',
'input[type="datetime-local"]',
'input[type="month"]',
'input[type="time"]',
'input[type="week"]';
$unquoted-inputs-list: ();
@each $input-type in $inputs-list {
$unquoted-inputs-list: append($unquoted-inputs-list, unquote($input-type), comma);
}
$all-text-inputs: $unquoted-inputs-list;
// You must use interpolation on the variable:
// #{$all-text-inputs}
//************************************************************************//
// #{$all-text-inputs}, textarea {
// border: 1px solid red;
// }
@mixin position ($position: relative, $coordinates: 0 0 0 0) {
@if type-of($position) == list {
$coordinates: $position;
$position: relative;
}
$top: nth($coordinates, 1);
$right: nth($coordinates, 2);
$bottom: nth($coordinates, 3);
$left: nth($coordinates, 4);
position: $position;
@if not(unitless($top)) {
top: $top;
}
@if not(unitless($right)) {
right: $right;
}
@if not(unitless($bottom)) {
bottom: $bottom;
}
@if not(unitless($left)) {
left: $left;
}
}
// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
// Timing functions are the same as demo'ed here: http://jqueryui.com/demos/effect/easing.html
// EASE IN
$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
// EASE OUT
$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
// EASE IN OUT
$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
// http://www.w3.org/TR/css3-animations/#the-animation-name-property-
// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties.
// Official animation shorthand property.
@mixin animation ($animation-1,
$animation-2: false, $animation-3: false,
$animation-4: false, $animation-5: false,
$animation-6: false, $animation-7: false,
$animation-8: false, $animation-9: false)
{
$full: compact($animation-1, $animation-2, $animation-3, $animation-4,
$animation-5, $animation-6, $animation-7, $animation-8, $animation-9);
-webkit-animation: $full;
-moz-animation: $full;
animation: $full;
}
// Individual Animation Properties
@mixin animation-name ($name-1,
$name-2: false, $name-3: false,
$name-4: false, $name-5: false,
$name-6: false, $name-7: false,
$name-8: false, $name-9: false)
{
$full: compact($name-1, $name-2, $name-3, $name-4,
$name-5, $name-6, $name-7, $name-8, $name-9);
-webkit-animation-name: $full;
-moz-animation-name: $full;
animation-name: $full;
}
@mixin animation-duration ($time-1: 0,
$time-2: false, $time-3: false,
$time-4: false, $time-5: false,
$time-6: false, $time-7: false,
$time-8: false, $time-9: false)
{
$full: compact($time-1, $time-2, $time-3, $time-4,
$time-5, $time-6, $time-7, $time-8, $time-9);
-webkit-animation-duration: $full;
-moz-animation-duration: $full;
animation-duration: $full;
}
@mixin animation-timing-function ($motion-1: ease,
// ease | linear | ease-in | ease-out | ease-in-out
$motion-2: false, $motion-3: false,
$motion-4: false, $motion-5: false,
$motion-6: false, $motion-7: false,
$motion-8: false, $motion-9: false)
{
$full: compact($motion-1, $motion-2, $motion-3, $motion-4,
$motion-5, $motion-6, $motion-7, $motion-8, $motion-9);
-webkit-animation-timing-function: $full;
-moz-animation-timing-function: $full;
animation-timing-function: $full;
}
@mixin animation-iteration-count ($value-1: 1,
// infinite | <number>
$value-2: false, $value-3: false,
$value-4: false, $value-5: false,
$value-6: false, $value-7: false,
$value-8: false, $value-9: false)
{
$full: compact($value-1, $value-2, $value-3, $value-4,
$value-5, $value-6, $value-7, $value-8, $value-9);
-webkit-animation-iteration-count: $full;
-moz-animation-iteration-count: $full;
animation-iteration-count: $full;
}
@mixin animation-direction ($direction-1: normal,
// normal | alternate
$direction-2: false, $direction-3: false,
$direction-4: false, $direction-5: false,
$direction-6: false, $direction-7: false,
$direction-8: false, $direction-9: false)
{
$full: compact($direction-1, $direction-2, $direction-3, $direction-4,
$direction-5, $direction-6, $direction-7, $direction-8, $direction-9);
-webkit-animation-direction: $full;
-moz-animation-direction: $full;
animation-direction: $full;
}
@mixin animation-play-state ($state-1: running,
// running | paused
$state-2: false, $state-3: false,
$state-4: false, $state-5: false,
$state-6: false, $state-7: false,
$state-8: false, $state-9: false)
{
$full: compact($state-1, $state-2, $state-3, $state-4,
$state-5, $state-6, $state-7, $state-8, $state-9);
-webkit-animation-play-state: $full;
-moz-animation-play-state: $full;
animation-play-state: $full;
}
@mixin animation-delay ($time-1: 0,
$time-2: false, $time-3: false,
$time-4: false, $time-5: false,
$time-6: false, $time-7: false,
$time-8: false, $time-9: false)
{
$full: compact($time-1, $time-2, $time-3, $time-4,
$time-5, $time-6, $time-7, $time-8, $time-9);
-webkit-animation-delay: $full;
-moz-animation-delay: $full;
animation-delay: $full;
}
@mixin animation-fill-mode ($mode-1: none,
// http://goo.gl/l6ckm
// none | forwards | backwards | both
$mode-2: false, $mode-3: false,
$mode-4: false, $mode-5: false,
$mode-6: false, $mode-7: false,
$mode-8: false, $mode-9: false)
{
$full: compact($mode-1, $mode-2, $mode-3, $mode-4,
$mode-5, $mode-6, $mode-7, $mode-8, $mode-9);
-webkit-animation-fill-mode: $full;
-moz-animation-fill-mode: $full;
animation-fill-mode: $full;
}
// Deprecated
@mixin animation-basic ($name, $time: 0, $motion: ease) {
$length-of-name: length($name);
$length-of-time: length($time);
$length-of-motion: length($motion);
@if $length-of-name > 1 {
@include animation-name(zip($name));
} @else {
@include animation-name( $name);
}
@if $length-of-time > 1 {
@include animation-duration(zip($time));
} @else {
@include animation-duration( $time);
}
@if $length-of-motion > 1 {
@include animation-timing-function(zip($motion));
} @else {
@include animation-timing-function( $motion);
}
@warn "The animation-basic mixin is deprecated. Use the animation mixin instead.";
}
@mixin appearance ($value) {
-webkit-appearance: $value;
-moz-appearance: $value;
-ms-appearance: $value;
-o-appearance: $value;
appearance: $value;
}
//************************************************************************//
// Background-image property for adding multiple background images with
// gradients, or for stringing multiple gradients together.
//************************************************************************//
@import "../functions/linear-gradient";
@import "../functions/radial-gradient";
@mixin background-image(
$image-1 , $image-2: false,
$image-3: false, $image-4: false,
$image-5: false, $image-6: false,
$image-7: false, $image-8: false,
$image-9: false, $image-10: false
) {
$images: compact($image-1, $image-2,
$image-3, $image-4,
$image-5, $image-6,
$image-7, $image-8,
$image-9, $image-10);
background-image: add-prefix($images, webkit);
background-image: add-prefix($images, moz);
background-image: add-prefix($images, ms);
background-image: add-prefix($images, o);
background-image: add-prefix($images);
}
@function add-prefix($images, $vendor: false) {
$images-prefixed: ();
@for $i from 1 through length($images) {
$type: type-of(nth($images, $i)); // Get type of variable - List or String
// If variable is a list - Gradient
@if $type == list {
$gradient-type: nth(nth($images, $i), 1); // Get type of gradient (linear || radial)
$gradient-args: nth(nth($images, $i), 2); // Get actual gradient (red, blue)
$gradient: render-gradients($gradient-args, $gradient-type, $vendor);
$images-prefixed: append($images-prefixed, $gradient, comma);
}
// If variable is a string - Image
@else if $type == string {
$images-prefixed: join($images-prefixed, nth($images, $i), comma);
}
}
@return $images-prefixed;
}
@function render-gradients($gradients, $gradient-type, $vendor: false) {
$vendor-gradients: false;
@if $vendor {
$vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient($gradients);
}
@else if $vendor == false {
$vendor-gradients: "#{$gradient-type}-gradient(#{$gradients})";
$vendor-gradients: unquote($vendor-gradients);
}
@return $vendor-gradients;
}
//Examples:
//@include background-image(linear-gradient(top, orange, red));
//@include background-image(radial-gradient(50% 50%, cover circle, orange, red));
//@include background-image(url("/images/a.png"), linear-gradient(orange, red));
//@include background-image(url("image.png"), linear-gradient(orange, red), url("image.png"));
//@include background-image(linear-gradient(hsla(0, 100%, 100%, 0.25) 0%, hsla(0, 100%, 100%, 0.08) 50%, transparent 50%), linear-gradient(orange, red);
@mixin background-size ($length-1,
$length-2: false, $length-3: false,
$length-4: false, $length-5: false,
$length-6: false, $length-7: false,
$length-8: false, $length-9: false)
{
$full: compact($length-1, $length-2, $length-3, $length-4,
$length-5, $length-6, $length-7, $length-8, $length-9);
-webkit-background-size: $full;
-moz-background-size: $full;
-ms-background-size: $full;
-o-background-size: $full;
background-size: $full;
}
@mixin border-image ($image) {
-webkit-border-image: $image;
-moz-border-image: $image;
-ms-border-image: $image;
-o-border-image: $image;
border-image: $image;
}
@mixin border-radius ($radii) {
-webkit-border-radius: $radii;
-moz-border-radius: $radii;
-ms-border-radius: $radii;
-o-border-radius: $radii;
border-radius: $radii;
}
@mixin border-top-left-radius($radii) {
-webkit-border-top-left-radius: $radii;
-moz-border-top-left-radius: $radii;
-ms-border-top-left-radius: $radii;
-o-border-top-left-radius: $radii;
border-top-left-radius: $radii;
}
@mixin border-top-right-radius($radii) {
-webkit-border-top-right-radius: $radii;
-moz-border-top-right-radius: $radii;
-ms-border-top-right-radius: $radii;
-o-border-top-right-radius: $radii;
border-top-right-radius: $radii;
}
@mixin border-bottom-left-radius($radii) {
-webkit-border-bottom-left-radius: $radii;
-moz-border-bottom-left-radius: $radii;
-ms-border-bottom-left-radius: $radii;
-o-border-bottom-left-radius: $radii;
border-bottom-left-radius: $radii;
}
@mixin border-bottom-right-radius($radii) {
-webkit-border-bottom-right-radius: $radii;
-moz-border-bottom-right-radius: $radii;
-ms-border-bottom-right-radius: $radii;
-o-border-bottom-right-radius: $radii;
border-bottom-right-radius: $radii;
}
@mixin border-top-radius($radii) {
@include border-top-left-radius($radii);
@include border-top-right-radius($radii);
}
@mixin border-right-radius($radii) {
@include border-top-right-radius($radii);
@include border-bottom-right-radius($radii);
}
@mixin border-bottom-radius($radii) {
@include border-bottom-left-radius($radii);
@include border-bottom-right-radius($radii);
}
@mixin border-left-radius($radii) {
@include border-top-left-radius($radii);
@include border-bottom-left-radius($radii);
}
// Box-Shadow Mixin Requires Sass v3.1.1+
@mixin box-shadow ($shadow-1,
$shadow-2: false, $shadow-3: false,
$shadow-4: false, $shadow-5: false,
$shadow-6: false, $shadow-7: false,
$shadow-8: false, $shadow-9: false)
{
$full: compact($shadow-1, $shadow-2, $shadow-3, $shadow-4,
$shadow-5, $shadow-6, $shadow-7, $shadow-8, $shadow-9);
-webkit-box-shadow: $full;
-moz-box-shadow: $full;
-ms-box-shadow: $full;
-o-box-shadow: $full;
box-shadow: $full;
}
@mixin box-sizing ($box) {
// content-box | border-box | inherit
-webkit-box-sizing: $box;
-moz-box-sizing: $box;
-ms-box-sizing: $box;
-o-box-sizing: $box;
box-sizing: $box;
}
@mixin columns($arg: auto) {
// <column-count> || <column-width>
-webkit-columns: $arg;
-moz-columns: $arg;
columns: $arg;
}
@mixin column-count($int: auto) {
// auto || integer
-webkit-column-count: $int;
-moz-column-count: $int;
column-count: $int;
}
@mixin column-gap($length: normal) {
// normal || length
-webkit-column-gap: $length;
-moz-column-gap: $length;
column-gap: $length;
}
@mixin column-fill($arg: auto) {
// auto || length
-webkit-columns-fill: $arg;
-moz-columns-fill: $arg;
columns-fill: $arg;
}
@mixin column-rule($arg) {
// <border-width> || <border-style> || <color>
-webkit-column-rule: $arg;
-moz-column-rule: $arg;
column-rule: $arg;
}
@mixin column-rule-color($color) {
-webkit-column-rule-color: $color;
-moz-column-rule-color: $color;
column-rule-color: $color;
}
@mixin column-rule-style($style: none) {
// none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
-webkit-column-rule-style: $style;
-moz-column-rule-style: $style;
column-rule-style: $style;
}
@mixin column-rule-width ($width: none) {
-webkit-column-rule-width: $width;
-moz-column-rule-width: $width;
column-rule-width: $width;
}
@mixin column-span($arg: none) {
// none || all
-webkit-column-span: $arg;
-moz-column-span: $arg;
column-span: $arg;
}
@mixin column-width($length: auto) {
// auto || length
-webkit-column-width: $length;
-moz-column-width: $length;
column-width: $length;
}
// CSS3 Flexible Box Model and property defaults
// Custom shorthand notation for flexbox
@mixin box($orient: inline-axis, $pack: start, $align: stretch) {
@include display-box;
@include box-orient($orient);
@include box-pack($pack);
@include box-align($align);
}
@mixin display-box {
display: -webkit-box;
display: -moz-box;
display: box;
}
@mixin box-orient($orient: inline-axis) {
// horizontal|vertical|inline-axis|block-axis|inherit
-webkit-box-orient: $orient;
-moz-box-orient: $orient;
box-orient: $orient;
}
@mixin box-pack($pack: start) {
// start|end|center|justify
-webkit-box-pack: $pack;
-moz-box-pack: $pack;
box-pack: $pack;
}
@mixin box-align($align: stretch) {
// start|end|center|baseline|stretch
-webkit-box-align: $align;
-moz-box-align: $align;
box-align: $align;
}
@mixin box-direction($direction: normal) {
// normal|reverse|inherit
-webkit-box-direction: $direction;
-moz-box-direction: $direction;
box-direction: $direction;
}
@mixin box-lines($lines: single) {
// single|multiple
-webkit-box-lines: $lines;
-moz-box-lines: $lines;
box-lines: $lines;
}
@mixin box-ordinal-group($integer: 1) {
-webkit-box-ordinal-group: $integer;
-moz-box-ordinal-group: $integer;
box-ordinal-group: $integer;
}
@mixin box-flex($value: 0.0) {
-webkit-box-flex: $value;
-moz-box-flex: $value;
box-flex: $value;
}
@mixin box-flex-group($integer: 1) {
-webkit-box-flex-group: $integer;
-moz-box-flex-group: $integer;
box-flex-group: $integer;
}
// Legacy support for inline-block in IE7 (maybe IE6)
@mixin inline-block {
display: -moz-inline-box;
-moz-box-orient: vertical;
display: inline-block;
vertical-align: baseline;
zoom: 1;
*display: inline;
*vertical-align: auto;
}
@mixin linear-gradient($pos, $G1, $G2: false,
$G3: false, $G4: false,
$G5: false, $G6: false,
$G7: false, $G8: false,
$G9: false, $G10: false,
$fallback: false) {
// Detect what type of value exists in $pos
$pos-type: type-of(nth($pos, 1));
// If $pos is missing from mixin, reassign vars and add default position
@if ($pos-type == color) or (nth($pos, 1) == "transparent") {
$G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;
$G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;
$pos: top; // Default position
}
$full: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
// Set $G1 as the default fallback color
$fallback-color: nth($G1, 1);
// If $fallback is a color use that color as the fallback color
@if type-of($fallback) == color {
$fallback-color: $fallback;
}
background-color: $fallback-color;
background-image: deprecated-webkit-gradient(linear, $full); // Safari <= 5.0
background-image: -webkit-linear-gradient($pos, $full); // Safari 5.1+, Chrome
background-image: -moz-linear-gradient($pos, $full);
background-image: -ms-linear-gradient($pos, $full);
background-image: -o-linear-gradient($pos, $full);
background-image: unquote("linear-gradient(#{$pos}, #{$full})");
}
// Usage: Gradient position is optional, default is top. Position can be a degree. Color stops are optional as well.
// @include linear-gradient(#1e5799, #2989d8);
// @include linear-gradient(#1e5799, #2989d8, $fallback:#2989d8);
// @include linear-gradient(top, #1e5799 0%, #2989d8 50%);
// @include linear-gradient(50deg, rgba(10, 10, 10, 0.5) 0%, #2989d8 50%, #207cca 51%, #7db9e8 100%);
// Requires Sass 3.1+
@mixin radial-gradient($pos, $shape-size,
$G1, $G2,
$G3: false, $G4: false,
$G5: false, $G6: false,
$G7: false, $G8: false,
$G9: false, $G10: false) {
$full: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
background-color: nth($G1, 1);
background-image: deprecated-webkit-gradient(radial, $full); // Safari <= 5.0
background-image: -webkit-radial-gradient($pos, $shape-size, $full);
background-image: -moz-radial-gradient($pos, $shape-size, $full);
background-image: -ms-radial-gradient($pos, $shape-size, $full);
background-image: -o-radial-gradient($pos, $shape-size, $full);
background-image: unquote("radial-gradient(#{$pos}, #{$shape-size}, #{$full})");
}
// Usage: Gradient position and shape-size are required. Color stops are optional.
// @include radial-gradient(50% 50%, circle cover, #1e5799, #efefef);
// @include radial-gradient(50% 50%, circle cover, #eee 10%, #1e5799 30%, #efefef);
@mixin transform($property: none) {
// none | <transform-function>
-webkit-transform: $property;
-moz-transform: $property;
-ms-transform: $property;
-o-transform: $property;
transform: $property;
}
@mixin transform-origin($axes: 50%) {
// x-axis - left | center | right | length | %
// y-axis - top | center | bottom | length | %
// z-axis - length
-webkit-transform-origin: $axes;
-moz-transform-origin: $axes;
-ms-transform-origin: $axes;
-o-transform-origin: $axes;
transform-origin: $axes;
}
// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.
// Example: @include transition (all, 2.0s, ease-in-out);
// @include transition ((opacity, width), (1.0s, 2.0s), ease-in, (0, 2s));
// @include transition ($property:(opacity, width), $delay: (1.5s, 2.5s));
@mixin transition ($property: all, $duration: 0.15s, $timing-function: ease-out, $delay: 0) {
// Detect # of args passed into each variable
$length-of-property: length($property);
$length-of-duration: length($duration);
$length-of-timing-function: length($timing-function);
$length-of-delay: length($delay);
@if $length-of-property > 1 {
@include transition-property(zip($property)); }
@else {
@include transition-property( $property);
}
@if $length-of-duration > 1 {
@include transition-duration(zip($duration)); }
@else {
@include transition-duration( $duration);
}
@if $length-of-timing-function > 1 {
@include transition-timing-function(zip($timing-function)); }
@else {
@include transition-timing-function( $timing-function);
}
@if $length-of-delay > 1 {
@include transition-delay(zip($delay)); }
@else {
@include transition-delay( $delay);
}
}
@mixin transition-property ($prop-1: all,
$prop-2: false, $prop-3: false,
$prop-4: false, $prop-5: false,
$prop-6: false, $prop-7: false,
$prop-8: false, $prop-9: false)
{
$full: compact($prop-1, $prop-2, $prop-3, $prop-4, $prop-5,
$prop-6, $prop-7, $prop-8, $prop-9);
-webkit-transition-property: $full;
-moz-transition-property: $full;
-ms-transition-property: $full;
-o-transition-property: $full;
transition-property: $full;
}
@mixin transition-duration ($time-1: 0,
$time-2: false, $time-3: false,
$time-4: false, $time-5: false,
$time-6: false, $time-7: false,
$time-8: false, $time-9: false)
{
$full: compact($time-1, $time-2, $time-3, $time-4, $time-5,
$time-6, $time-7, $time-8, $time-9);
-webkit-transition-duration: $full;
-moz-transition-duration: $full;
-ms-transition-duration: $full;
-o-transition-duration: $full;
transition-duration: $full;
}
@mixin transition-timing-function ($motion-1: ease,
$motion-2: false, $motion-3: false,
$motion-4: false, $motion-5: false,
$motion-6: false, $motion-7: false,
$motion-8: false, $motion-9: false)
{
$full: compact($motion-1, $motion-2, $motion-3, $motion-4, $motion-5,
$motion-6, $motion-7, $motion-8, $motion-9);
// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
-webkit-transition-timing-function: $full;
-moz-transition-timing-function: $full;
-ms-transition-timing-function: $full;
-o-transition-timing-function: $full;
transition-timing-function: $full;
}
@mixin transition-delay ($time-1: 0,
$time-2: false, $time-3: false,
$time-4: false, $time-5: false,
$time-6: false, $time-7: false,
$time-8: false, $time-9: false)
{
$full: compact($time-1, $time-2, $time-3, $time-4, $time-5,
$time-6, $time-7, $time-8, $time-9);
-webkit-transition-delay: $full;
-moz-transition-delay: $full;
-ms-transition-delay: $full;
-o-transition-delay: $full;
transition-delay: $full;
}
// Render Deprecated Webkit Gradient - Linear || Radial
//************************************************************************//
@function deprecated-webkit-gradient($type, $full) {
$gradient-list: ();
$gradient: false;
$full-length: length($full);
$percentage: false;
$gradient-type: $type;
@for $i from 1 through $full-length {
$gradient: nth($full, $i);
@if length($gradient) == 2 {
$color-stop: color-stop(nth($gradient, 2), nth($gradient, 1));
$gradient-list: join($gradient-list, $color-stop, comma);
}
@else {
@if $i == $full-length {
$percentage: 100%;
}
@else {
$percentage: ($i - 1) * (100 / ($full-length - 1)) + "%";
}
$color-stop: color-stop(unquote($percentage), $gradient);
$gradient-list: join($gradient-list, $color-stop, comma);
}
}
@if $type == radial {
$gradient: -webkit-gradient(radial, center center, 0, center center, 460, $gradient-list);
}
@else if $type == linear {
$gradient: -webkit-gradient(linear, left top, left bottom, $gradient-list);
}
@return $gradient;
}
@function grid-width($n) {
@return $n * $gw-column + ($n - 1) * $gw-gutter;
}
// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function.
//
// $gw-column: 100px; // Column Width
// $gw-gutter: 40px; // Gutter Width
//
// div {
// width: grid-width(4); // returns 520px;
// margin-left: $gw-gutter; // returns 40px;
// }
@function linear-gradient($pos: top, $G1: false, $G2: false,
$G3: false, $G4: false,
$G5: false, $G6: false,
$G7: false, $G8: false,
$G9: false, $G10: false) {
// Detect what type of value exists in $pos
$pos-type: type-of(nth($pos, 1));
// If $pos is missing from mixin, reassign vars and add default position
@if ($pos-type == color) or (nth($pos, 1) == "transparent") {
$G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;
$G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;
$pos: top; // Default position
}
$type: linear;
$gradient: compact($pos, $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
$type-gradient: append($type, $gradient, comma);
@return $type-gradient;
}
@function modular-scale($value, $increment, $ratio) {
@if $increment > 0 {
@for $i from 1 through $increment {
$value: ($value * $ratio);
}
}
@if $increment < 0 {
$increment: abs($increment);
@for $i from 1 through $increment {
$value: ($value / $ratio);
}
}
@return $value;
}
// div {
// Increment Up GR with positive value
// font-size: modular-scale(14px, 1, 1.618); // returns: 22.652px
//
// Increment Down GR with negative value
// font-size: modular-scale(14px, -1, 1.618); // returns: 8.653px
//
// Can be used with ceil(round up) or floor(round down)
// font-size: floor( modular-scale(14px, 1, 1.618) ); // returns: 22px
// font-size: ceil( modular-scale(14px, 1, 1.618) ); // returns: 23px
// }
//
// modularscale.com
@function golden-ratio($value, $increment) {
@return modular-scale($value, $increment, 1.618)
}
// div {
// font-size: golden-ratio(14px, 1); // returns: 22.652px
// }
//
// goldenratiocalculator.com
// This function is required and used by the background-image mixin.
@function radial-gradient($pos, $shape-size,
$G1, $G2,
$G3: false, $G4: false,
$G5: false, $G6: false,
$G7: false, $G8: false,
$G9: false, $G10: false) {
$type: radial;
$gradient: compact($pos, $shape-size, $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
$type-gradient: append($type, $gradient, comma);
@return $type-gradient;
}
// Add percentage of white to a color
@function tint($color, $percent){
@return mix(white, $color, $percent);
}
// Add percentage of black to a color
@function shade($color, $percent){
@return mix(black, $color, $percent);
}
require "bourbon/generator"
module Bourbon
if defined?(Rails)
class Engine < ::Rails::Engine
require 'bourbon/engine'
end
module Rails
class Railtie < ::Rails::Railtie
rake_tasks do
load "tasks/install.rake"
end
end
end
end
end
require File.join(File.dirname(__FILE__), "/bourbon/sass_extensions")
module Bourbon::SassExtensions
end
require "sass"
require File.join(File.dirname(__FILE__), "/sass_extensions/functions")
module Bourbon::SassExtensions::Functions
end
require File.join(File.dirname(__FILE__), "/functions/compact")
module Sass::Script::Functions
include Bourbon::SassExtensions::Functions::Compact
end
# Wierd that this has to be re-included to pick up sub-modules. Ruby bug?
class Sass::Script::Functions::EvaluationContext
include Sass::Script::Functions
end
# Compact function pulled from compass
module Bourbon::SassExtensions::Functions::Compact
def compact(*args)
sep = :comma
if args.size == 1 && args.first.is_a?(Sass::Script::List)
args = args.first.value
sep = args.first.separator
end
Sass::Script::List.new(args.reject{|a| !a.to_bool}, sep)
end
end
// JM MOSFET AMPLIFIER
div#graph-container {
@extend .clearfix;
border-top: 1px solid #ddd;
padding-top: lh(1.0);
canvas#graph {
width: flex-grid(4.5, 9);
float: left;
margin-right: flex-gutter(9);
}
div.graph-controls {
width: flex-grid(4.5, 9);
float: left;
select#musicTypeSelect {
display: block;
margin-bottom: lh();
}
div#graph-output {
display: block;
margin-bottom: lh();
}
div#graph-listen {
display: block;
margin-bottom: lh();
}
p {
margin-bottom: lh(.5);
}
div#label {
display: inline-block;
}
input#playButton {
display: block;
}
}
}
div#schematic-container {
@extend .clearfix;
canvas {
width: flex-grid(4.5, 9);
float: left;
margin-right: flex-gutter(9);
}
div.schematic-sliders {
width: flex-grid(4.5, 9);
float: left;
div.slider-label#vs {
margin-top: lh(2.0);
}
div.slider-label {
margin-bottom: lh(0.5);
}
div.slider {
margin-bottom: lh(1);
}
}
}
//End JM MOSFET AMPLIFIER
// Labels
div.graph-controls, div#graph-listen {
label {
@include border-radius(2px);
font-weight: bold;
padding: 3px;
}
label[for="vinCheckbox"], label[for="vinRadioButton"]{
color: desaturate(#00bfff, 50%);
}
label[for="voutCheckbox"], label[for="voutRadioButton"]{
color: darken(#ffcf48, 20%);
}
label[for="vrCheckbox"], label[for="vrRadioButton"]{
color: desaturate(#1df914, 40%);
}
}
div.course-wrapper {
@extend .table-wrapper;
ul, ol {
list-style: none;
}
section.course-content {
@extend .content;
h1 {
@extend .top-header;
}
p {
margin-bottom: lh();
&:empty {
display: none;
margin-bottom: 0;
}
}
ul {
li {
margin-bottom: lh(.5);
}
}
.problem-set {
position: relative;
@extend .clearfix;
h2 {
margin-top: 0;
margin-bottom: 15px;
width: flex-grid(2, 9);
padding-right: flex-gutter(9);
border-right: 1px dashed #ddd;
@include box-sizing(border-box);
display: table-cell;
vertical-align: top;
@media screen and (max-width:1120px) {
display: block;
width: auto;
border-right: 0;
}
@media print {
display: block;
width: auto;
border-right: 0;
}
}
section.problem {
display: table-cell;
width: flex-grid(7, 9);
padding-left: flex-gutter(9);
@media screen and (max-width:1120px) {
display: block;
width: auto;
padding: 0;
}
@media print {
display: block;
width: auto;
padding: 0;
canvas, img {
page-break-inside: avoid;
}
}
span {
&.unanswered, &.ui-icon-bullet {
@include inline-block();
background: url('/static/images/unanswered-icon.png') center center no-repeat;
height: 14px;
position: relative;
top: 4px;
width: 14px;
}
&.correct, &.ui-icon-check {
@include inline-block();
background: url('/static/images/correct-icon.png') center center no-repeat;
height: 20px;
position: relative;
top: 6px;
width: 25px;
}
&.incorrect, &.ui-icon-close {
@include inline-block();
background: url('/static/images/incorrect-icon.png') center center no-repeat;
height: 20px;
width: 20px;
position: relative;
top: 6px;
}
}
}
div {
> span {
display: block;
margin-bottom: lh(.5);
}
}
input[type="text"] {
display: inline-block;
}
center {
display: block;
margin: lh() 0;
border: 1px solid #ccc;
padding: lh();
}
section.action {
margin-top: lh();
}
}
section.problems-wrapper, div#seq_content {
@extend .problem-set;
}
section.problems-wrapper {
display: table;
width: 100%;
@media screen and (max-width:1120px) {
display: block;
width: auto;
}
}
div#seq_content {
h1 {
background: none;
margin-bottom: lh();
padding-bottom: 0;
border-bottom: none;
}
}
ol.vert-mod {
> li {
@extend .clearfix;
@extend .problem-set;
border-bottom: 1px solid #ddd;
margin-bottom: 15px;
padding: 0 0 15px;
&:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
}
}
section.tutorials {
ul {
list-style: disc outside none;
margin-left: lh();
}
}
div.staff_info {
white-space: pre-wrap;
border-top: 1px solid #ccc;
padding-top: lh();
margin-top: lh();
line-height: lh();
font-family: Consolas, "Lucida Console", Monaco, "Courier New", Courier, monospace;
}
div.ui-slider {
border: 1px solid #aaa;
background: #ddd;
@include box-shadow(inset 0 1px 0 #eee);
@include border-radius(0);
a.ui-slider-handle {
@include box-shadow(inset 0 1px 0 lighten($mit-red, 10%));
background: $mit-red url(/static/images/slider-bars.png) center center no-repeat;
border: 1px solid darken($mit-red, 20%);
cursor: pointer;
&:hover, &:focus {
background-color: lighten($mit-red, 10%);
outline: none;
}
}
}
}
&.closed {
section.course-index {
width: flex-grid(.6);
header#open_close_accordion {
padding: 0;
a {
background-image: url('/static/images/slide-right-icon.png');
}
h2 {
visibility: hidden;
width: 10px;
padding: 0;
}
}
div#accordion {
visibility: hidden;
width: 10px;
padding: 0;
}
}
section.course-content {
width: flex-grid(11.5) + flex-gutter();
}
}
}
nav.sequence-nav {
@extend .topbar;
margin-bottom: $body-line-height;
ol {
display: table-row;
float: left;
width: flex-grid(8,9) + flex-gutter();
position: relative;
a {
@extend .block-link;
}
li {
display: table-cell;
.inactive {
background-repeat: no-repeat;
&:hover {
background-color: lighten($cream, 3%);
}
}
.visited {
background-color: #DCCDA2;
background-repeat: no-repeat;
@include box-shadow(inset 0 0 3px darken(#dccda2, 10%));
&:hover {
background-color: $cream;
background-position: center center;
}
}
.active {
@include box-shadow(0 1px 0 #fff);
background-color: #fff;
background-repeat: no-repeat;
&:hover {
background-color: #fff;
background-position: center;
}
}
a {
@include box-shadow(1px 0 0 #fff);
background-position: center center;
border: none;
border-right: 1px solid darken($cream, 10%);
cursor: pointer;
padding: 15px 4px 14px;
width: 28px;
height: 17px;
// @media screen and (max-width: 800px) {
// padding: 12px 8px;
// }
//video
&.seq_video_inactive {
@extend .inactive;
background-image: url('/static/images/sequence-nav/video-icon-normal.png');
background-position: center;
}
&.seq_video_visited {
@extend .visited;
background-image: url('/static/images/sequence-nav/video-icon-visited.png');
background-position: center;
}
&.seq_video_active {
@extend .active;
background-image: url('/static/images/sequence-nav/video-icon-current.png');
background-position: center;
}
//other
&.seq_other_inactive {
@extend .inactive;
background-image: url('/static/images/sequence-nav/document-icon-normal.png');
background-position: center;
}
&.seq_other_visited {
@extend .visited;
background-image: url('/static/images/sequence-nav/document-icon-visited.png');
background-position: center;
}
&.seq_other_active {
@extend .active;
background-image: url('/static/images/sequence-nav/document-icon-current.png');
background-position: center;
}
//vertical & problems
&.seq_vertical_inactive, &.seq_problem_inactive {
@extend .inactive;
background-image: url('/static/images/sequence-nav/list-icon-normal.png');
background-position: center;
}
&.seq_vertical_visited, &.seq_problem_visited {
@extend .visited;
background-image: url('/static/images/sequence-nav/list-icon-visited.png');
background-position: center;
}
&.seq_vertical_active, &.seq_problem_active {
@extend .active;
background-image: url('/static/images/sequence-nav/list-icon-current.png');
background-position: center;
}
}
p {
position: absolute;
display: none;
background: #333;
padding: 6px;
white-space: pre-wrap;
z-index: 99;
margin: 4px 0 0 -5px;
text-shadow: 0 -1px 0 #000;
color: #fff;
line-height: lh();
&:empty {
background: none;
&::after {
display: none;
}
}
&::after {
background: #333;
content: " ";
display: block;
height: 10px;
position: absolute;
top: -5px;
left: 18px;
@include transform(rotate(45deg));
@include transition();
width: 10px;
}
}
}
}
ul {
float: right;
margin-right: 1px;
width: flex-grid(1, 9);
display: table-row;
li {
display: table-cell;
&.prev, &.next {
a {
@include box-shadow(inset 1px 0 0 lighten(#f6efd4, 5%));
background-color: darken($cream, 5%);
background-position: center center;
background-repeat: no-repeat;
border-left: 1px solid darken(#f6efd4, 20%);
cursor: pointer;
padding: 0 4px;
text-indent: -9999px;
width: 38px;
display: block;
&:hover {
text-decoration: none;
color: darken($cream, 60%);
text-decoration: none;
background-color: none;
}
&.disabled {
cursor: normal;
opacity: .4;
}
}
}
&.prev {
a {
background-image: url('/static/images/sequence-nav/previous-icon.png');
&:hover {
background-color: none;
}
}
}
&.next {
a {
background-image: url('/static/images/sequence-nav/next-icon.png');
&:hover {
background-color: none;
}
}
}
}
}
}
section.course-content {
nav.sequence-bottom {
margin-bottom: -(lh());
ul {
@extend .clearfix;
border: 1px solid darken(#f6efd4, 20%);
border-bottom: 0;
@include border-radius(3px 3px 0 0);
margin: lh() auto 0;
overflow: hidden;
width: 106px;
background-color: darken($cream, 5%);
@include box-shadow(inset 0 0 0 1px lighten(#f6efd4, 5%));
li {
float: left;
&.prev, &.next {
margin-bottom: 0;
a {
background-position: center center;
background-repeat: no-repeat;
padding: lh(.75) 4px;
text-indent: -9999px;
width: 45px;
display: block;
&:hover {
text-decoration: none;
color: darken($cream, 60%);
text-decoration: none;
opacity: .5;
background-color: darken($cream, 10%);
}
&.disabled {
opacity: .4;
background-color: lighten($cream, 10%);
}
}
}
&.prev {
a {
background-image: url('/static/images/sequence-nav/previous-icon.png');
&:hover {
background-color: none;
}
}
}
&.next {
a {
background-image: url('/static/images/sequence-nav/next-icon.png');
&:hover {
background-color: none;
}
}
}
}
}
}
}
section.course-index {
@extend .sidebar;
@extend .tran;
div#accordion {
h3 {
overflow: hidden;
margin: 0;
&:last-child {
@include box-shadow(none);
}
&.ui-accordion-header {
color: #000;
a {
font-size: $body-font-size;
color: lighten($text-color, 10%);
}
&.ui-state-hover {
border: none;
border-bottom: 1px solid #d3d3d3;
}
&.ui-state-active {
@extend .active;
}
}
}
ul.ui-accordion-content {
@include border-radius(0);
@include box-shadow( inset -1px 0 0 #e6e6e6);
background: #d6d6d6;
border: none;
border-bottom: 1px solid #c3c3c3;
font-size: 12px;
margin: 0;
overflow: hidden;
li {
&.active {
font-weight: bold;
}
a {
text-decoration: none;
margin-bottom: lh(.5);
display: block;
color: #000;
&:hover {
color: #666;
}
p {
margin-bottom: 0;
&.subtitle {
color: #666;
}
}
}
}
}
}
}
section.course-content {
div.video-subtitles {
position: relative;
div.video-wrapper {
float: left;
width: flex-grid(6, 9);
margin-right: flex-gutter(9);
div.video-player {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
object {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
iframe#html5_player {
border: none;
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
// ul {
// float: left;
// li {
// margin-top: 5px;
// display: inline-block;
// cursor: pointer;
// border: 0;
// padding: 0;
// div {
// &:empty {
// display: none;
// }
// }
// }
// }
section.video-controls {
@extend .clearfix;
background: #333;
position: relative;
border: 1px solid #000;
color: #ccc;
div#slider {
@extend .clearfix;
@include border-radius(0);
@include box-shadow(inset 0 1px 0 #eee, 0 1px 0 #555);
background: #c2c2c2;
border: none;
border-bottom: 1px solid #000;
height: 14px;
a.ui-slider-handle {
@include border-radius(20px);
@include box-shadow(inset 0 1px 0 lighten($mit-red, 10%));
background: $mit-red url(/static/images/slider-handle.png) center center no-repeat;
border: 1px solid darken($mit-red, 20%);
cursor: pointer;
height: 20px;
margin-left: -10px;
top: -4px;
width: 20px;
&:focus, &:hover {
background-color: lighten($mit-red, 10%);
outline: none;
}
}
}
ul.vcr {
float: left;
margin-right: lh();
li {
float: left;
margin-bottom: 0;
a {
@include box-shadow(1px 0 0 #555);
border-right: 1px solid #000;
display: block;
cursor: pointer;
height: 14px;
padding: lh(.75) lh();
text-indent: -9999px;
width: 14px;
&.play {
background: url('/static/images/play-icon.png') center center no-repeat;
&:hover {
background-color: #444;
}
}
&.pause {
background: url('/static/images/pause-icon.png') center center no-repeat;
&:hover {
background-color: #444;
}
}
}
div#vidtime {
padding-left: lh();
font-weight: bold;
line-height: 46px; //height of play pause buttons
-webkit-font-smoothing: antialiased;
}
}
}
div.secondary-controls {
float: right;
div.speeds {
border-right: 1px solid #000;
border-left: 1px solid #000;
@include box-shadow(1px 0 0 #555, inset 1px 0 0 #555);
float: left;
line-height: 46px; //height of play pause buttons
margin-right: 0;
-webkit-font-smoothing: antialiased;
h3 {
@include inline-block();
a {
color: #fff;
padding: 0 lh(.5);
@include inline-block();
&:hover {
text-decoration: none;
// background-color: #444;
}
}
}
// fix for now
ol#video_speeds {
@include inline-block();
padding-right: lh(.5);
li {
cursor: pointer;
@include inline-block();
&.active {
font-weight: bold;
}
}
}
}
a.hide-subtitles {
float: left;
display: block;
padding-right: lh(.5);
margin-left: 0;
color: #797979;
padding-left: 50px;
line-height: 46px; //height of play pause buttons
font-weight: 800;
background: url('/static/images/cc.png') 16px center no-repeat;
-webkit-font-smoothing: antialiased;
&:hover {
color: #fff;
text-decoration: none;
background-color: #444;
}
}
}
}
}
ol.subtitles {
float: left;
width: flex-grid(3, 9);
height: 530px;
overflow: hidden;
li {
margin-bottom: 0px;
cursor: pointer;
border: 0;
padding: 0;
color: #666;
&.current {
background-color: #f3f3f3;
color: #333;
}
&:hover {
color: $mit-red;
}
div {
margin-bottom: 8px;
}
div:empty {
margin-bottom: 0px;
}
}
}
&.closed {
@extend .trans;
div.video-wrapper {
width: flex-grid(9,9);
}
ol.subtitles {
width: 0px;
height: 0;
}
}
}
}
div.answer-controls {
@include box-sizing(border-box);
display: inline-block;
margin: 0 0 15px;
padding-left: flex-grid(1.1);
width: 100%;
div.answer-count {
display: inline-block;
float: left;
}
div.answer-sort {
float: right;
margin-left: flex-gutter();
nav {
@extend .action-link;
float: right;
margin-top: 34px;
a {
&.on span{
font-weight: bold;
}
&:before {
content: '|';
color: #ccc;
font-size: 16px;
}
}
}
}
}
div.answer-block {
@extend div.question-header;
border-top: #ddd 1px solid;
display: inline-block;
float: left;
padding-top: 20px;
width: 100%;
div.official-stamp {
background: $mit-red;
color: #fff;
font-size: 12px;
margin-top: 10px;
padding: 2px 5px;
text-align: center;
margin-left: -1px;
}
img.answer-img-accept {
margin: 10px 0px 10px 16px;
}
div.answer-container {
@extend div.question-container;
div.answer-content {
@extend div.question-content;
div.answer-body {
@extend div.question-body;
}
}
}
div.meta-bar {
div.answer-actions {
@extend div.question-actions;
}
}
div.answered-by-owner {
p {
font-style: italic;
color: #656565;
}
div.comments-container {
color: #555;
}
}
div.accepted-answer {
p {
color:#000;
}
}
div.deleted {
p {
color: $mit-red;
}
}
img.answer-img-accept {
opacity: 0.7;
}
}
div.paginator {
@extend div.answer-block;
text-align: center;
padding: 20px 0;
span {
@include border-radius(3px);
background: #eee;
margin: 0 5px;
padding: 4px 10px;
&.curr {
background: none;
color: $mit-red;
font-weight: bold;
}
&.next, &.prev {
@extend .light-button;
}
a {
color: #555;
text-decoration: none;
}
}
}
div.answer-own {
border-top: 1px solid #eee;
overflow:hidden;
padding-left: flex-grid(1.2);
padding-top: 10px;
}
div.answer-actions {
margin: 0;
padding:8px 8px 8px 0;
text-align: right;
border-top: 1px solid #efefef;
span.sep {
color: #EDDFAA;
}
a {
cursor: pointer;
text-decoration: none;
&.question-delete {
// color: $mit-red;
}
}
}
// original styles
// body {
// background: #fff;
// font-size: 14px;
// line-height: 150%;
// margin: 0;
// padding: 0;
// color: #000;
// font-family: arial; }
// div {
// margin: 0 auto;
// padding: 0; }
// h1, h2, h3, h4, h5, h6, ul, li, dl, dt, dd, form, img, p {
// margin: 0;
// padding: 0;
// border: none; }
// label {
// vertical-align: middle; }
// hr {
// border: none;
// border-top: 1px dashed #ccccce; }
// input, select {
// vertical-align: middle;
// font-family: trebuchet ms,"segoe ui",helvetica,tahoma,verdana,mingliu,pmingliu,arial,sans-serif;
// margin-left: 0px; }
// textarea:focus, input:focus {
// outline: none; }
// iframe {
// border: none; }
// p {
// font-size: 14px;
// line-height: 140%;
// margin-bottom: 6px; }
// a {
// color: #1b79bd;
// text-decoration: none;
// cursor: pointer; }
// h2 {
// font-size: 21px;
// padding: 3px 0 3px 5px; }
// h3 {
// font-size: 19px;
// padding: 3px 0 3px 5px; }
// ul {
// list-style: disc;
// margin-left: 20px;
// padding-left: 0px;
// margin-bottom: 1em; }
// ol {
// list-style: decimal;
// margin-left: 30px;
// margin-bottom: 1em;
// padding-left: 0px; }
// td ul {
// vertical-align: middle; }
// li input {
// margin: 3px 3px 4px 3px; }
// pre {
// font-family: consolas, monaco, liberation mono, lucida console, monospace;
// font-size: 100%;
// margin-bottom: 10px;
// background-color: #f5f5f5;
// padding-left: 5px;
// padding-top: 5px;
// padding-bottom: 20px; }
// code {
// font-family: consolas, monaco, liberation mono, lucida console, monospace;
// font-size: 100%; }
// blockquote {
// margin-bottom: 10px;
// margin-right: 15px;
// padding: 10px 0px 1px 10px;
// background-color: #f5f5f5; }
// * html {
// .clearfix, .paginator {
// height: 1;
// overflow: visible; } }
// +html {
// .clearfix, .paginator {
// min-height: 1%; } }
// .clearfix:after, .paginator:after {
// clear: both;
// content: ".";
// display: block;
// height: 0;
// visibility: hidden; }
// .badges a {
// color: #763333;
// text-decoration: underline; }
// a:hover {
// text-decoration: underline; }
.badge-context-toggle.active {
cursor: pointer;
text-decoration: underline; }
// h1 {
// font-size: 24px;
// padding: 10px 0 5px 0px; }
body.user-messages {
margin-top: 2.4em; }
// .left {
// float: left; }
// .right {
// float: right; }
// .clean {
// clear: both; }
// .center {
// margin: 0 auto;
// padding: 0; }
.notify {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
z-index: 100;
padding: 0;
text-align: center;
background-color: #f5dd69;
border-top: #fff 1px solid;
font-family: 'yanone kaffeesatz',sans-serif;
p.notification {
margin-top: 6px;
margin-bottom: 6px;
font-size: 16px;
color: #424242; } }
#closenotify {
position: absolute;
right: 5px;
top: 7px;
color: #735005;
text-decoration: none;
line-height: 18px;
background: -6px -5px url(../images/sprites.png) no-repeat;
cursor: pointer;
width: 20px;
height: 20px;
&:hover {
background: -26px -5px url(../images/sprites.png) no-repeat; } }
#header {
margin-top: 0px;
background: #16160f;
font-family: 'yanone kaffeesatz',sans-serif; }
/*.content-wrapper {
width: 960px;
margin: auto;
position: relative; }*/
#logo img {
padding: 5px 0px 5px 0px;
height: 75px;
width: auto;
float: left; }
#usertoolsnav {
height: 20px;
padding-bottom: 5px;
a {
height: 35px;
text-align: right;
margin-left: 20px;
text-decoration: underline;
color: #d0e296;
font-size: 16px;
&:first-child {
margin-left: 0; }
&#ab-responses {
margin-left: 3px; } }
.user-info, .user-micro-info {
color: #b5b593; }
a img {
vertical-align: middle;
margin-bottom: 2px; }
.user-info a {
margin: 0;
text-decoration: none; } }
#metanav {
float: right;
a {
color: #e2e2ae;
padding: 0px 0px 0px 35px;
height: 25px;
line-height: 30px;
margin: 5px 0px 0px 10px;
font-size: 18px;
font-weight: 100;
text-decoration: none;
display: block;
float: left;
&:hover {
text-decoration: underline; }
&.on {
font-weight: bold;
color: #fff;
text-decoration: none; }
&.special {
font-size: 18px;
color: #b02b2c;
font-weight: bold;
text-decoration: none;
&:hover {
text-decoration: underline; } } }
#navtags {
background: -50px -5px url(../images/sprites.png) no-repeat; }
#navusers {
background: -125px -5px url(../images/sprites.png) no-repeat; }
#navbadges {
background: -210px -5px url(../images/sprites.png) no-repeat; } }
// #header {
// &.with-logo #usertoolsnav {
// position: absolute;
// bottom: 0;
// right: 0px; }
// &.without-logo {
// #usertoolsnav {
// float: left;
// margin-top: 7px; }
// #metanav {
// margin-bottom: 7px; } } }
// #secondaryheader {
// height: 55px;
// background: #e9e9e1;
// border-bottom: #d3d3c2 1px solid;
// border-top: #fcfcfc 1px solid;
// margin-bottom: 10px;
// font-family: 'yanone kaffeesatz',sans-serif;
// #homebutton {
// border-right: #afaf9e 1px solid;
// background: -6px -36px url(../images/sprites.png) no-repeat;
// height: 55px;
// width: 43px;
// display: block;
// float: left;
// &:hover {
// background: -51px -36px url(../images/sprites.png) no-repeat; } }
// #scopewrapper {
// width: 688px;
// float: left;
// a {
// display: block;
// float: left; }
// .scope-selector {
// font-size: 21px;
// color: #5a5a4b;
// height: 55px;
// line-height: 55px;
// margin-left: 24px; }
// .on {
// background: url(../images/scopearrow.png) no-repeat center bottom; }
// .ask-message {
// font-size: 24px; } } }
#searchbar {
display: inline-block;
background-color: #fff;
width: 412px;
border: 1px solid #c9c9b5;
float: right;
height: 42px;
margin: 6px 0px 0px 15px;
.searchinput, .searchinputcancelable {
font-size: 30px;
height: 40px;
font-weight: 300;
background: #fff;
border: 0px;
color: #484848;
padding-left: 10px;
font-family: arial;
vertical-align: middle; }
.searchinput {
width: 352px; }
.searchinputcancelable {
width: 317px; }
.logoutsearch {
width: 337px; }
.searchbtn {
font-size: 10px;
color: #666;
background-color: #eee;
height: 42px;
border: #fff 1px solid;
line-height: 22px;
text-align: center;
float: right;
margin: 0px;
width: 48px;
background: -98px -36px url(../images/sprites.png) no-repeat;
cursor: pointer;
&:hover {
background: -146px -36px url(../images/sprites.png) no-repeat; } }
.cancelsearchbtn {
font-size: 30px;
color: #ce8888;
background: #fff;
height: 42px;
border: 0px;
border-left: #deded0 1px solid;
text-align: center;
width: 35px;
cursor: pointer;
&:hover {
color: #d84040; } } }
body.anon #searchbar {
width: 500px;
.searchinput {
width: 440px; }
.searchinputcancelable {
width: 405px; } }
#askbutton {
background: url(../images/bigbutton.png) repeat-x bottom;
line-height: 44px;
text-align: center;
width: 200px;
height: 42px;
font-size: 23px;
color: #4a757f;
margin-top: 7px;
float: right;
text-transform: uppercase;
border-radius: 5px;
-ms-border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius: 5px;
-webkit-box-shadow: 1px 1px 2px #636363;
-moz-box-shadow: 1px 1px 2px #636363;
box-shadow: 1px 1px 2px #636363;
&:hover {
text-decoration: none;
background: url(../images/bigbutton.png) repeat-x top;
text-shadow: 0px 1px 0px #c6d9dd;
-moz-text-shadow: 0px 1px 0px #c6d9dd;
-webkit-text-shadow: 0px 1px 0px #c6d9dd; } }
/*#contentleft {
width: 730px;
float: left;
position: relative;
padding-bottom: 10px; }
#contentright {
width: 200px;
float: right;
padding: 0 0px 10px 0px; }*/
#contentfull {
float: left;
width: 960px; }
.box {
/*background: #fff;*/
/*padding: 4px 0px 10px 0px;*/
/*width: 200px;*/
p {
margin-bottom: 4px;
&.info-box-follow-up-links {
text-align: right;
margin: 0; } }
h2 {
// padding-left: 0;
// /*background: #eceeeb;*/
// height: 30px;
// line-height: 30px;
// /*text-align: right;*/
// /*font-size: 18px !important;*/
// // font-weight: normal;
// // color: #656565;
// /*padding-right: 10px;*/
// /*margin-bottom: 10px;*/
// /*font-family: 'yanone kaffeesatz',sans-serif;*/
}
// h3 {
// /*color: #4a757f;*/
// /*font-size: 18px;*/
// text-align: left;
// font-weight: normal;
// /*font-family: 'yanone kaffeesatz',sans-serif;*/
// padding-left: 0px; }
// .contributorback {
// background: #eceeeb url(../images/contributorsback.png) no-repeat center left; }
// label {
// color: #707070;
// font-size: 15px;
// display: block;
// float: right;
// text-align: left;
// font-family: 'yanone kaffeesatz',sans-serif;
// width: 80px;
// margin-right: 18px; }
// #displaytagfiltercontrol label {
// width: 160px; }
// ul {
// margin-left: 22px; }
// li {
// list-style-type: disc;
// font-size: 13px;
// line-height: 20px;
// margin-bottom: 10px;
// color: #707070; }
// ul.tags {
// list-style: none;
// margin: 0;
// padding: 0;
// line-height: 170%;
// display: block; }
// #displaytagfiltercontrol p label {
// color: #707070;
// font-size: 15px; }
/*.inputs {
#interestingtaginput, #ignoredtaginput {
width: 153px;
padding-left: 5px;
border: #c9c9b5 1px solid;
height: 25px; }
#interestingtagadd, #ignoredtagadd {
background: url(../images/small-button-blue.png) repeat-x top;
border: 0;
color: #4a757f;
font-weight: bold;
font-size: 12px;
width: 30px;
height: 27px;
margin-top: -2px;
cursor: pointer;
border-radius: 4px;
-ms-border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
text-shadow: 0px 1px 0px #e6f6fa;
-moz-text-shadow: 0px 1px 0px #e6f6fa;
-webkit-text-shadow: 0px 1px 0px #e6f6fa;
-webkit-box-shadow: 1px 1px 2px #808080;
-moz-box-shadow: 1px 1px 2px #808080;
box-shadow: 1px 1px 2px #808080; }
#interestingtagadd:hover, #ignoredtagadd:hover {
background: url(../images/small-button-blue.png) repeat-x bottom; } }*/
// img.gravatar {
// margin: 1px; }
// a {
// &.followed, &.follow {
// background: url(../images/medium-button.png) top repeat-x;
// height: 34px;
// line-height: 34px;
// text-align: center;
// border: 0;
// font-family: 'yanone kaffeesatz',sans-serif;
// color: #4a757f;
// font-weight: normal;
// font-size: 21px;
// margin-top: 3px;
// display: block;
// width: 120px;
// text-decoration: none;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// -webkit-box-shadow: 1px 1px 2px #636363;
// -moz-box-shadow: 1px 1px 2px #636363;
// box-shadow: 1px 1px 2px #636363;
// margin: 0 auto;
// padding: 0; }
// &.followed:hover, &.follow:hover {
// text-decoration: none;
// background: url(../images/medium-button.png) bottom repeat-x;
// text-shadow: 0px 1px 0px #c6d9dd;
// -moz-text-shadow: 0px 1px 0px #c6d9dd;
// -webkit-text-shadow: 0px 1px 0px #c6d9dd; }
// &.followed {
// div.unfollow {
// display: none; }
// &:hover div {
// display: none;
// &.unfollow {
// display: inline;
// color: #a05736; } } } }
// .favorite-number {
// padding: 5px 0 0 5px;
// font-size: 100%;
// font-family: arial;
// font-weight: bold;
// color: #777;
// text-align: center; }
// .notify-sidebar #question-subscribe-sidebar {
// margin: 7px 0 0 3px; }
}
//.statswidget p {
// color: #707070;
// font-size: 16px;
// border-bottom: #cccccc 1px solid;
// font-size: 13px;
// strong {
// float: right;
// padding-right: 10px; } }
// .questions-related {
// word-wrap: break-word;
// p {
// line-height: 20px;
// padding: 4px 0px 4px 0px;
// font-size: 16px;
// font-weight: normal;
// border-bottom: #cccccc 1px solid; }
// a {
// font-size: 13px; } }
// #tips {
// li {
// color: #707070;
// font-size: 13px;
// list-style-image: url(../images/tips.png); }
// a {
// font-size: 16px; } }
// #markdownhelp {
// li {
// color: #707070;
// font-size: 13px; }
// a {
// font-size: 16px; } }
// .tabbar {
// background-color: #eff5f6;
// height: 30px;
// margin-bottom: 3px;
// margin-top: 3px;
// float: right;
// font-family: georgia,serif;
// font-size: 16px;
// border-radius: 5px;
// -ms-border-radius: 5px;
// -moz-border-radius: 5px;
// -webkit-border-radius: 5px;
// -khtml-border-radius: 5px;
// h2 {
// float: left; } }
// .tabsa, .tabsc {
// float: right;
// position: relative;
// display: block;
// height: 20px; }
// .tabsa {
// float: right; }
// .tabsc {
// float: left; }
// .tabsa a, .tabsc a {
// border-left: 1px solid #d0e1e4;
// color: #7ea9b3;
// display: block;
// float: left;
// height: 20px;
// line-height: 20px;
// padding: 4px 7px 4px 7px;
// text-decoration: none; }
// .tabsa a.on, .tabsc a.on, .tabsa a:hover, .tabsc a:hover {
// color: #4a757f; }
// .tabsa .label, .tabsc .label {
// float: left;
// color: #646464;
// margin-top: 4px;
// margin-right: 5px; }
// .main-page .tabsa .label {
// margin-left: 8px; }
// .tabsb a {
// background: #eee;
// border: 1px solid #eee;
// color: #777;
// display: block;
// float: left;
// height: 22px;
// line-height: 28px;
// margin: 5px 0px 0 4px;
// padding: 0 11px 0 11px;
// text-decoration: none; }
// .tabsc .first {
// border: none; }
// .rss {
// float: right;
// font-size: 16px;
// color: #f57900;
// margin: 5px 0px 3px 7px;
// width: 52px;
// padding-left: 2px;
// padding-top: 3px;
// background: white url(../images/feed-icon-small.png) no-repeat center right;
// float: right;
// font-family: georgia,serif;
// font-size: 16px;
// &:hover {
// color: #f4a731 !important; } }
// #questioncount {
// font-weight: bold;
// font-size: 23px;
// color: #7ea9b3;
// width: 200px;
// float: left;
// margin-bottom: 8px;
// padding-top: 6px;
// font-family: 'yanone kaffeesatz',sans-serif; }
// #listsearchtags {
// float: left;
// margin-top: 3px;
// color: #707070;
// font-size: 16px;
// font-family: 'yanone kaffeesatz',sans-serif; }
// ul#searchtags {
// margin-left: 10px;
// float: right;
// padding-top: 2px; }
// .search-tips {
// font-size: 16px;
// line-height: 17px;
// color: #707070;
// margin: 5px 0 10px 0;
// padding: 0px;
// float: left;
// font-family: 'yanone kaffeesatz',sans-serif;
// a {
// text-decoration: underline;
// color: #1b79bd; } }
// #question-list {
// float: left;
// position: relative;
// background-color: #fff;
// padding: 0;
// width: 100%; }
// .short-summary {
// position: relative;
// filter: inherit;
// padding: 10px;
// border-bottom: 1px solid #dddbce;
// margin-bottom: 1px;
// overflow: hidden;
// width: 710px;
// float: left;
// background: url(../images/summary-background.png) repeat-x;
// h2 {
// font-size: 24px;
// font-weight: normal;
// line-height: 26px;
// padding-left: 0;
// margin-bottom: 6px;
// display: block;
// font-family: 'yanone kaffeesatz',sans-serif; }
// a {
// color: #464646; }
// .userinfo {
// text-align: right;
// line-height: 16px;
// font-family: arial;
// padding-right: 4px;
// .relativetime {
// font-size: 11px;
// clear: both;
// font-weight: normal;
// color: #555; } }
// span.anonymous {
// font-size: 11px;
// clear: both;
// font-weight: normal;
// color: #555; }
// .userinfo a {
// font-weight: bold;
// font-size: 11px; }
// .counts {
// float: right;
// margin: 4px 0 0 5px;
// font-family: 'yanone kaffeesatz',sans-serif;
// .item-count {
// padding: 0px 5px 0px 5px;
// font-size: 25px;
// font-family: 'yanone kaffeesatz',sans-serif; }
// .votes div, .views div, .answers div, .favorites div {
// margin-top: 3px;
// font-size: 14px;
// line-height: 14px;
// color: #646464; } }
// .tags {
// margin-top: 0; }
// .votes, .answers, .favorites, .views {
// text-align: center;
// margin: 0 3px;
// padding: 8px 2px 0px 2px;
// width: 51px;
// float: right;
// height: 44px;
// border: #dbdbd4 1px solid; }
// .votes {
// background: url(../images/vote-background.png) repeat-x; }
// .answers {
// background: url(../images/answers-background.png) repeat-x; }
// .views {
// background: url(../images/view-background.png) repeat-x; }
// .no-votes .item-count {
// color: #b1b5b6; }
// .some-votes .item-count {
// color: #4a757f; }
// .no-answers .item-count {
// color: #b1b5b6; }
// .some-answers .item-count {
// color: #eab243; }
// .no-views .item-count {
// color: #b1b5b6; }
// .some-views .item-count {
// color: #d33f00; }
// .accepted .item-count {
// background: url(../images/accept.png) no-repeat top right;
// display: block;
// text-align: center;
// width: 40px;
// color: #eab243; }
// .some-favorites .item-count {
// background: #338333;
// color: #d0f5a9; }
// .no-favorites .item-count {
// background: #eab243;
// color: yellow; } }
// .evenmore {
// font-size: 13px;
// color: #707070;
// padding: 15px 0px 10px 0px;
// clear: both;
// a {
// text-decoration: underline;
// color: #1b79bd; } }
.pager {
margin-top: 10px;
margin-bottom: 16px; }
.pagesize {
margin-top: 10px;
margin-bottom: 16px;
float: right; }
// .paginator {
// padding: 5px 0 10px 0;
// font-size: 13px;
// margin-bottom: 10px;
// .prev a, .next a {
// background-color: #fff;
// color: #777;
// padding: 2px 4px 3px 4px;
// &:visited {
// background-color: #fff;
// color: #777;
// padding: 2px 4px 3px 4px; } }
// a {
// color: #7ea9b3; }
// .prev {
// margin-right: .5em; }
// .next {
// margin-left: .5em; }
// .page a {
// padding: .25em;
// background-color: #fff;
// margin: 0em .25em;
// color: #ff;
// &:visited {
// padding: .25em;
// background-color: #fff;
// margin: 0em .25em;
// color: #ff; } }
// .curr {
// padding: .25em;
// background-color: #fff;
// margin: 0em .25em;
// color: #ff;
// background-color: #8ebcc7;
// color: #fff;
// font-weight: bold; }
// .next a, .prev a {
// color: #7ea9b3; }
// .page a:hover, .curr a:hover, .prev a:hover, .next a:hover {
// color: #8c8c8c;
// background-color: #e1e1e1;
// text-decoration: none; }
// .text {
// color: #777;
// padding: .3em; }
// .paginator-container-left {
// padding: 5px 0 10px 0; } }
// .tag-size-1 {
// font-size: 12px; }
// .tag-size-2 {
// font-size: 13px; }
// .tag-size-3 {
// font-size: 14px; }
// .tag-size-4 {
// font-size: 15px; }
// .tag-size-5 {
// font-size: 16px; }
// .tag-size-6 {
// font-size: 17px; }
// .tag-size-7 {
// font-size: 18px; }
// .tag-size-8 {
// font-size: 19px; }
// .tag-size-9 {
// font-size: 20px; }
// .tag-size-10 {
// font-size: 21px; }
// ul {
// &.tags {
// list-style: none;
// margin: 0;
// padding: 0;
// line-height: 170%;
// display: block;
// &.marked-tags {
// list-style: none;
// margin: 0;
// padding: 0;
// line-height: 170%;
// display: block; } }
// &#related-tags {
// list-style: none;
// margin: 0;
// padding: 0;
// line-height: 170%;
// display: block; }
// &.tags li {
// float: left;
// display: block;
// margin: 0 8px 0 0;
// padding: 0;
// height: 20px; } }
// .wildcard-tags {
// clear: both; }
// ul.tags.marked-tags li, .wildcard-tags ul.tags li {
// margin-bottom: 5px; }
// #tagselector div.inputs {
// clear: both;
// float: none;
// margin-bottom: 10px; }
// .tags-page ul.tags li {
// width: 160px;
// margin: 5px; }
// ul {
// &#ab-user-tags li {
// width: 160px;
// margin: 5px; }
// &#related-tags li {
// margin: 0 5px 8px 0;
// float: left;
// clear: left; } }
// .tag-left {
// cursor: pointer;
// display: block;
// float: left;
// height: 17px;
// margin: 0 5px 0 0;
// padding: 0;
// -webkit-box-shadow: 0px 0px 5px #d3d6d7;
// -moz-box-shadow: 0px 0px 5px #d3d6d7;
// box-shadow: 0px 0px 5px #d3d6d7; }
// .tag-right {
// background: #f3f6f6;
// border: #fff 1px solid;
// border-top: #fff 2px solid;
// outline: #cfdbdb 1px solid;
// display: block;
// float: left;
// height: 17px;
// line-height: 17px;
// font-weight: normal;
// font-size: 11px;
// padding: 0px 8px 0px 8px;
// text-decoration: none;
// text-align: center;
// white-space: nowrap;
// vertical-align: middle;
// font-family: arial;
// color: #717179; }
// .deletable-tag {
// margin-right: 3px;
// white-space: nowrap;
// border-top-right-radius: 4px;
// border-bottom-right-radius: 4px;
// -moz-border-radius-topright: 4px;
// -moz-border-radius-bottomright: 4px;
// -webkit-border-bottom-right-radius: 4px;
// -webkit-border-top-right-radius: 4px; }
// .tags {
// a.tag-right, span.tag-right {
// color: #585858;
// text-decoration: none; }
// a:hover {
// color: #1a1a1a; } }
// .users-page h1, .tags-page h1 {
// float: left; }
// .main-page h1 {
// margin-right: 5px; }
// .delete-icon {
// margin-top: -1px;
// float: left;
// height: 21px;
// width: 18px;
// display: block;
// line-height: 20px;
// text-align: center;
// background: #bbcdcd;
// cursor: default;
// color: #fff;
// border-top: #cfdbdb 1px solid;
// font-family: arial;
// border-top-right-radius: 4px;
// border-bottom-right-radius: 4px;
// -moz-border-radius-topright: 4px;
// -moz-border-radius-bottomright: 4px;
// -webkit-border-bottom-right-radius: 4px;
// -webkit-border-top-right-radius: 4px;
// text-shadow: 0px 1px 0px #7ea0a0;
// -moz-text-shadow: 0px 1px 0px #7ea0a0;
// -webkit-text-shadow: 0px 1px 0px #7ea0a0;
// &:hover {
// background: #b32f2f; } }
// .tag-number {
// font-weight: normal;
// float: left;
// font-size: 16px;
// color: #5d5d5d; }
// .badges .tag-number {
// float: none;
// display: inline;
// padding-right: 15px; }
// .section-title {
// color: #7ea9b3;
// font-family: 'yanone kaffeesatz',sans-serif;
// font-weight: bold;
// font-size: 24px; }
// #fmask {
// margin-bottom: 30px;
// width: 100%; }
// #askformbar {
// display: inline-block;
// padding: 4px 7px 5px 0px;
// margin-top: 0px;
// p {
// margin: 0 0 5px 0;
// font-size: 14px;
// color: #525252;
// line-height: 1.4; }
// .questiontitleinput {
// font-size: 24px;
// line-height: 24px;
// height: 36px;
// margin: 0px;
// padding: 0px 0 0 5px;
// border: #cce6ec 3px solid;
// width: 725px; } }
// .ask-page div#question-list, .edit-question-page div#question-list {
// float: none;
// border-bottom: #f0f0ec 1px solid;
// float: left;
// margin-bottom: 10px; }
// .ask-page div#question-list a, .edit-question-page div#question-list a {
// line-height: 30px; }
// .ask-page div#question-list h2, .edit-question-page div#question-list h2 {
// font-size: 13px;
// padding-bottom: 0;
// color: #1b79bd;
// border-top: #f0f0ec 1px solid;
// border-left: #f0f0ec 1px solid;
// height: 30px;
// line-height: 30px;
// font-weight: normal; }
// .ask-page div#question-list span, .edit-question-page div#question-list span {
// width: 28px;
// height: 26px;
// line-height: 26px;
// text-align: center;
// margin-right: 10px;
// float: left;
// display: block;
// color: #fff;
// background: #b8d0d5;
// border-radius: 3px;
// -ms-border-radius: 3px;
// -moz-border-radius: 3px;
// -webkit-border-radius: 3px;
// -khtml-border-radius: 3px; }
// .ask-page label, .edit-question-page label {
// color: #525252;
// font-size: 13px; }
// .ask-page #id_tags, .edit-question-page #id_tags {
// border: #cce6ec 3px solid;
// height: 25px;
// padding-left: 5px;
// width: 395px;
// font-size: 14px; }
// .title-desc {
// color: #707070;
// font-size: 13px; }
// #fmanswer input.submit, .ask-page input.submit, .edit-question-page input.submit {
// float: left;
// background: url(../images/medium-button.png) top repeat-x;
// height: 34px;
// border: 0;
// font-family: 'yanone kaffeesatz',sans-serif;
// color: #4a757f;
// font-weight: normal;
// font-size: 21px;
// margin-top: 3px;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// -webkit-box-shadow: 1px 1px 2px #636363;
// -moz-box-shadow: 1px 1px 2px #636363;
// box-shadow: 1px 1px 2px #636363;
// margin-right: 7px; }
// #fmanswer input.submit:hover, .ask-page input.submit:hover, .edit-question-page input.submit:hover {
// text-decoration: none;
// background: url(../images/medium-button.png) bottom repeat-x;
// text-shadow: 0px 1px 0px #c6d9dd;
// -moz-text-shadow: 0px 1px 0px #c6d9dd;
// -webkit-text-shadow: 0px 1px 0px #c6d9dd; }
// #editor {
// font-size: 100%;
// min-height: 200px;
// line-height: 18px;
// margin: 0;
// border-left: #cce6ec 3px solid;
// border-bottom: #cce6ec 3px solid;
// border-right: #cce6ec 3px solid;
// border-top: 0;
// padding: 10px;
// margin-bottom: 10px;
// width: 710px; }
// #id_title {
// width: 100%; }
// .wmd-preview {
// margin: 3px 0 5px 0;
// padding: 6px;
// background-color: #f5f5f5;
// min-height: 20px;
// overflow: auto;
// font-size: 13px;
// font-family: arial;
// p {
// margin-bottom: 14px;
// line-height: 1.4;
// font-size: 14px; }
// pre {
// background-color: #e7f1f8; }
// blockquote {
// background-color: #eee; }
// img {
// max-width: 600px; } }
// .preview-toggle {
// width: 100%;
// color: #b6a475;
// text-align: left;
// span:hover {
// cursor: pointer; } }
// .after-editor {
// margin-top: 15px;
// margin-bottom: 15px; }
.checkbox {
margin-left: 5px;
font-weight: normal;
cursor: help; }
// .question-options {
// margin-top: 1px;
// color: #666;
// line-height: 13px;
// margin-bottom: 5px;
// label {
// vertical-align: text-bottom; } }
// .edit-content-html {
// border-top: 1px dotted #d8d2a9;
// border-bottom: 1px dotted #d8d2a9;
// margin: 5px 0 5px 0; }
// .edit-question-page, #fmedit, .wmd-preview {
// color: #525252; }
// .edit-question-page #id_revision, #fmedit #id_revision, .wmd-preview #id_revision {
// font-size: 14px;
// margin-top: 5px;
// margin-bottom: 5px; }
// .edit-question-page #id_title, #fmedit #id_title, .wmd-preview #id_title {
// font-size: 24px;
// line-height: 24px;
// height: 36px;
// margin: 0px;
// padding: 0px 0 0 5px;
// border: #cce6ec 3px solid;
// width: 725px;
// margin-bottom: 10px; }
// .edit-question-page #id_summary, #fmedit #id_summary, .wmd-preview #id_summary {
// border: #cce6ec 3px solid;
// height: 25px;
// padding-left: 5px;
// width: 395px;
// font-size: 14px; }
// .edit-question-page .title-desc, #fmedit .title-desc, .wmd-preview .title-desc {
// margin-bottom: 10px; }
// .question-page {
// h1 {
// padding-top: 0px;
// font-family: 'yanone kaffeesatz',sans-serif;
// a {
// color: #464646;
// font-size: 30px;
// font-weight: normal;
// line-height: 1; } }
// p.rss {
// float: none;
// clear: both;
// padding: 3px 0 0 23px;
// font-size: 15px;
// width: 110px;
// background-position: center left;
// margin-left: 0px !important;
// a {
// font-family: 'yanone kaffeesatz',sans-serif;
// vertical-align: top; } }
// .question-content {
// float: right;
// width: 682px;
// margin-bottom: 10px; }
// #question-table {
// float: left;
// border-top: #f0f0f0 1px solid;
// margin: 6px 0 6px 0;
// border-spacing: 0px;
// width: 670px;
// padding-right: 10px; }
// .answer-table {
// margin: 6px 0 6px 0;
// border-spacing: 0px;
// width: 670px;
// padding-right: 10px;
// margin-top: 0px;
// border-bottom: 1px solid #d4d4d4;
// float: right;
// td {
// width: 20px;
// vertical-align: top; } }
// #question-table td {
// width: 20px;
// vertical-align: top; }
// .question-body, .answer-body {
// overflow: auto;
// margin-top: 10px;
// font-family: arial;
// color: #4b4b4b; }
// .question-body p, .answer-body p {
// margin-bottom: 14px;
// line-height: 1.4;
// font-size: 14px;
// padding: 0px 5px 5px 0px; }
// .question-body a, .answer-body a {
// color: #1b79bd; }
// .question-body li, .answer-body li {
// margin-bottom: 7px; }
// .question-body img, .answer-body img {
// max-width: 600px; }
// .post-update-info-container {
// float: right;
// width: 175px; }
// .post-update-info {
// background: white url(../images/background-user-info.png) repeat-x bottom;
// float: right;
// font-size: 9px;
// font-family: arial;
// width: 158px;
// padding: 4px;
// margin: 0px 0px 5px 5px;
// line-height: 14px;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// -webkit-box-shadow: 0px 2px 1px #bfbfbf;
// -moz-box-shadow: 0px 2px 1px #bfbfbf;
// box-shadow: 0px 2px 1px #bfbfbf;
// p {
// line-height: 13px;
// font-size: 11px;
// margin: 0 0 2px 1px;
// padding: 0; }
// a {
// color: #444; }
// .gravatar {
// float: left;
// margin-right: 4px; }
// p.tip {
// color: #444;
// line-height: 13px;
// font-size: 10px; } }
// .post-controls {
// font-size: 11px;
// line-height: 12px;
// min-width: 200px;
// padding-left: 5px;
// text-align: right;
// clear: left;
// float: right;
// margin-top: 10px;
// margin-bottom: 8px;
// a {
// color: #777;
// padding: 0px 3px 3px 22px;
// cursor: pointer;
// border: none;
// font-size: 12px;
// font-family: arial;
// text-decoration: none;
// height: 18px;
// display: block;
// float: right;
// line-height: 18px;
// margin-top: -2px;
// margin-left: 4px;
// &:hover {
// background-color: #f5f0c9;
// border-radius: 3px;
// -ms-border-radius: 3px;
// -moz-border-radius: 3px;
// -webkit-border-radius: 3px;
// -khtml-border-radius: 3px; } }
// .sep {
// color: #ccc;
// float: right;
// height: 18px;
// font-size: 18px; }
// .question-delete {
// background: url(../images/delete.png) no-repeat center left;
// padding-left: 16px; } }
// .answer-controls .question-delete {
// background: url(../images/delete.png) no-repeat center left;
// padding-left: 16px; }
// .post-controls .question-flag, .answer-controls .question-flag {
// background: url(../images/flag.png) no-repeat center left; }
// .post-controls .question-edit, .answer-controls .question-edit {
// background: url(../images/edit2.png) no-repeat center left; }
// .post-controls .question-retag, .answer-controls .question-retag {
// background: url(../images/retag.png) no-repeat center left; }
// .post-controls .question-close, .answer-controls .question-close {
// background: url(../images/close.png) no-repeat center left; }
// .post-controls .permant-link, .answer-controls .permant-link {
// background: url(../images/link.png) no-repeat center left; }
// .tabbar {
// width: 100%; }
// #questioncount {
// float: left;
// font-family: 'yanone kaffeesatz',sans-serif;
// line-height: 15px; }
// .question-img-upvote, .question-img-downvote, .answer-img-upvote, .answer-img-downvote {
// width: 25px;
// height: 20px;
// cursor: pointer; }
// .question-img-upvote, .answer-img-upvote {
// background: url(../images/vote-arrow-up-new.png) no-repeat; }
// .question-img-downvote, .answer-img-downvote {
// background: url(../images/vote-arrow-down-new.png) no-repeat; }
// .question-img-upvote {
// &:hover, &.on {
// background: url(../images/vote-arrow-up-on-new.png) no-repeat; } }
// .answer-img-upvote {
// &:hover, &.on {
// background: url(../images/vote-arrow-up-on-new.png) no-repeat; } }
// .question-img-downvote {
// &:hover, &.on {
// background: url(../images/vote-arrow-down-on-new.png) no-repeat; } }
// .answer-img-downvote {
// &:hover, &.on {
// background: url(../images/vote-arrow-down-on-new.png) no-repeat; } }
// #fmanswer_button {
// margin: 8px 0px; }
// .question-img-favorite:hover {
// background: url(../images/vote-favorite-on.png); }
// div.comments {
// padding: 0; }
// #comment-title {
// font-weight: bold;
// font-size: 23px;
// color: #7ea9b3;
// width: 200px;
// float: left;
// font-family: 'yanone kaffeesatz',sans-serif; }
// .comments {
// font-size: 12px;
// clear: both;
// div.controls {
// clear: both;
// float: left;
// width: 100%;
// margin: 3px 0 20px 5px; }
// .controls a {
// color: #988e4c;
// padding: 0 3px 2px 22px;
// font-family: arial;
// font-size: 13px;
// background: url(../images/comment.png) no-repeat center left;
// &:hover {
// background-color: #f5f0c9;
// text-decoration: none; } }
// .button {
// color: #988e4c;
// font-size: 11px;
// padding: 3px;
// cursor: pointer; }
// a {
// background-color: inherit;
// color: #1b79bd;
// padding: 0; }
// form.post-comments {
// margin: 3px 26px 0 42px;
// textarea {
// font-size: 13px;
// line-height: 1.3; } }
// textarea {
// height: 42px;
// width: 100%;
// margin: 7px 0 5px 1px;
// font-family: arial;
// outline: none;
// overflow: auto;
// font-size: 12px;
// line-height: 140%;
// padding-left: 2px;
// padding-top: 3px;
// border: #cce6ec 3px solid; }
// input {
// margin-left: 10px;
// margin-top: 1px;
// vertical-align: top;
// width: 100px; }
// button {
// background: url(../images/small-button-blue.png) repeat-x top;
// border: 0;
// color: #4a757f;
// font-family: arial;
// font-size: 13px;
// width: 100px;
// font-weight: bold;
// height: 27px;
// line-height: 25px;
// margin-bottom: 5px;
// cursor: pointer;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// text-shadow: 0px 1px 0px #e6f6fa;
// -moz-text-shadow: 0px 1px 0px #e6f6fa;
// -webkit-text-shadow: 0px 1px 0px #e6f6fa;
// -webkit-box-shadow: 1px 1px 2px #808080;
// -moz-box-shadow: 1px 1px 2px #808080;
// box-shadow: 1px 1px 2px #808080;
// &:hover {
// background: url(../images/small-button-blue.png) bottom repeat-x;
// text-shadow: 0px 1px 0px #c6d9dd;
// -moz-text-shadow: 0px 1px 0px #c6d9dd;
// -webkit-text-shadow: 0px 1px 0px #c6d9dd; } }
// .counter {
// display: inline-block;
// width: 245px;
// float: right;
// color: #b6a475 !important;
// vertical-align: top;
// font-family: arial;
// float: right;
// text-align: right; }
// .comment {
// border-bottom: 1px solid #edeeeb;
// clear: both;
// margin: 0;
// margin-top: 8px;
// padding-bottom: 4px;
// overflow: auto;
// font-family: arial;
// font-size: 11px;
// min-height: 25px;
// background: white url(../images/comment-background.png) bottom repeat-x;
// border-radius: 5px;
// -ms-border-radius: 5px;
// -moz-border-radius: 5px;
// -webkit-border-radius: 5px;
// -khtml-border-radius: 5px; }
// div.comment:hover {
// background-color: #efefef; }
// a.author {
// background-color: inherit;
// color: #1b79bd;
// padding: 0;
// &:hover {
// text-decoration: underline; } }
// span.delete-icon {
// background: url(../images/close-small.png) no-repeat;
// border: 0;
// width: 14px;
// height: 14px;
// &:hover {
// border: #bc564b 2px solid;
// border-radius: 10px;
// -ms-border-radius: 10px;
// -moz-border-radius: 10px;
// -webkit-border-radius: 10px;
// -khtml-border-radius: 10px;
// margin: -3px 0px 0px -2px; } }
// .content {
// margin-bottom: 7px; }
// .comment-votes {
// float: left;
// width: 37px;
// line-height: 130%;
// padding: 6px 5px 6px 3px; }
// .comment-body {
// line-height: 1.3;
// margin: 3px 26px 0 46px;
// padding: 5px 3px;
// color: #666;
// font-size: 13px;
// .edit {
// padding-left: 6px; }
// p {
// font-size: 13px;
// line-height: 1.3;
// margin-bottom: 3px;
// padding: 0; } }
// .comment-delete {
// float: right;
// width: 14px;
// line-height: 130%;
// padding: 8px 6px; }
// .upvote {
// margin: 0px;
// padding-right: 17px;
// padding-top: 2px;
// text-align: right;
// height: 20px;
// font-size: 13px;
// font-weight: bold;
// color: #777;
// &.upvoted {
// color: #d64000; }
// &.hover {
// background: url(../images/go-up-grey.png) no-repeat;
// background-position: right 1px; }
// &:hover {
// background: url(../images/go-up-orange.png) no-repeat;
// background-position: right 1px; } }
// .help-text {
// float: right;
// text-align: right;
// color: gray;
// margin-bottom: 0px;
// margin-top: 0px;
// line-height: 50%; } }
// #questiontools {
// font-size: 22px;
// margin-top: 11px;
// text-align: left; }
// .question-status {
// margin-top: 10px;
// margin-bottom: 15px;
// padding: 20px;
// background-color: #fef7cc;
// text-align: center;
// border: #e1c04a 1px solid;
// h3 {
// font-size: 20px;
// color: #707070;
// font-weight: normal; } }
// .vote-buttons {
// // float: left;
// // text-align: center;
// // padding-top: 2px;
// // margin: 10px 10px 0px 3px;
// img {
// cursor: pointer; } }
// .vote-number {
// font-family: 'yanone kaffeesatz',sans-serif;
// padding: 0px 0 5px 0;
// font-size: 25px;
// font-weight: bold;
// color: #777; }
// .vote-buttons .notify-sidebar {
// // text-align: left;
// // width: 120px;
// label {
// vertical-align: top; } }
// .tabbar-answer {
// margin-bottom: 15px;
// padding-left: 7px;
// width: 723px;
// margin-top: 10px; }
// .answer .vote-buttons {
// // float: left;
// }
// .accepted-answer {
// background-color: #f7fecc;
// border-bottom-color: #9bd59b;
// // .vote-buttons {
// // width: 27px;
// // margin-right: 10px;
// // margin-top: 10px; }
// }
// .answer .post-update-info a {
// color: #444444; }
// .answered {
// background: #ccc;
// color: #999; }
// .answered-accepted {
// background: #dcdcdc;
// color: #763333;
// strong {
// color: #e1e818; } }
// .answered-by-owner {
// background: #f1f1ff;
// .comments {
// .button {
// background-color: #e6ecff; }
// background-color: #e6ecff; }
// // .vote-buttons {
// // margin-right: 10px; }
// }
// .answer-img-accept:hover {
// background: url(../images/vote-accepted-on.png); }
// .answer-body {
// a {
// color: #1b79bd; }
// li {
// margin-bottom: 0.7em; } }
// #fmanswer {
// color: #707070;
// line-height: 1.2;
// margin-top: 10px;
// h2 {
// font-family: 'yanone kaffeesatz',sans-serif;
// color: #7ea9b3;
// font-size: 24px; }
// label {
// font-size: 13px; } }
// .message {
// padding: 5px;
// margin: 0px 0 10px 0; } }
// @media screen and (-webkit-min-device-pixel-ratio:0) {
// textarea {
// padding-left: 3px !important; } }
// .facebook-share.icon, .twitter-share.icon, .linkedin-share.icon, .identica-share.icon {
// background: url(../images/socialsprite.png) no-repeat;
// display: block;
// text-indent: -100em;
// height: 25px;
// width: 25px;
// margin-bottom: 3px; }
// .facebook-share.icon:hover, .twitter-share.icon:hover, .linkedin-share.icon:hover, .identica-share.icon:hover {
// opacity: 0.8;
// filter: alpha(opacity = 80); }
// .facebook-share.icon {
// background-position: -26px 0px; }
// .identica-share.icon {
// background-position: -78px 0px; }
// .twitter-share.icon {
// margin-top: 10px;
// background-position: 0px 0px; }
// .linkedin-share.icon {
// background-position: -52px 0px; }
// .openid-signin, .meta, .users-page, .user-profile-edit-page {
// font-size: 13px;
// line-height: 1.3;
// color: #525252; }
// .openid-signin p, .meta p, .users-page p, .user-profile-edit-page p {
// font-size: 13px;
// color: #707070;
// line-height: 1.3;
// font-family: arial;
// color: #525252;
// margin-bottom: 12px; }
// .openid-signin h2, .meta h2, .users-page h2, .user-profile-edit-page h2 {
// color: #525252;
// padding-left: 0px;
// font-size: 16px; }
// .openid-signin form, .meta form, .users-page form, .user-profile-edit-page form, .user-profile-page form {
// margin-bottom: 15px; }
// .openid-signin input[type="text"], .meta input[type="text"], .users-page input[type="text"], .user-profile-edit-page input[type="text"], .user-profile-page input[type="text"], .openid-signin input[type="password"], .meta input[type="password"], .users-page input[type="password"], .user-profile-edit-page input[type="password"], .user-profile-page input[type="password"], .openid-signin select, .meta select, .users-page select, .user-profile-edit-page select, .user-profile-page select {
// border: #cce6ec 3px solid;
// height: 25px;
// padding-left: 5px;
// width: 395px;
// font-size: 14px; }
// .openid-signin select, .meta select, .users-page select, .user-profile-edit-page select, .user-profile-page select {
// width: 405px;
// height: 30px; }
// .openid-signin textarea, .meta textarea, .users-page textarea, .user-profile-edit-page textarea, .user-profile-page textarea {
// border: #cce6ec 3px solid;
// padding-left: 5px;
// padding-top: 5px;
// width: 395px;
// font-size: 14px; }
// .openid-signin input.submit, .meta input.submit, .users-page input.submit, .user-profile-edit-page input.submit, .user-profile-page input.submit {
// background: url(../images/small-button-blue.png) repeat-x top;
// border: 0;
// color: #4a757f;
// font-weight: bold;
// font-size: 13px;
// font-family: arial;
// height: 26px;
// margin: 5px 0px;
// width: 100px;
// cursor: pointer;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// text-shadow: 0px 1px 0px #e6f6fa;
// -moz-text-shadow: 0px 1px 0px #e6f6fa;
// -webkit-text-shadow: 0px 1px 0px #e6f6fa;
// -webkit-box-shadow: 1px 1px 2px #808080;
// -moz-box-shadow: 1px 1px 2px #808080;
// box-shadow: 1px 1px 2px #808080; }
// .openid-signin input.submit:hover, .meta input.submit:hover, .users-page input.submit:hover, .user-profile-edit-page input.submit:hover, .user-profile-page input.submit:hover {
// background: url(../images/small-button-blue.png) repeat-x bottom;
// text-decoration: none; }
.openid-signin .cancel, .meta .cancel, .users-page .cancel, .user-profile-edit-page .cancel, .user-profile-page .cancel {
background: url(../images/small-button-cancel.png) repeat-x top !important;
color: #525252 !important; }
.openid-signin .cancel:hover, .meta .cancel:hover, .users-page .cancel:hover, .user-profile-edit-page .cancel:hover, .user-profile-page .cancel:hover {
background: url(../images/small-button-cancel.png) repeat-x bottom !important; }
#email-input-fs, #local_login_buttons, #password-fs, #openid-fs {
margin-top: 10px; }
#email-input-fs #id_email, #local_login_buttons #id_email, #password-fs #id_email, #openid-fs #id_email, #email-input-fs #id_username, #local_login_buttons #id_username, #password-fs #id_username, #openid-fs #id_username, #email-input-fs #id_password, #local_login_buttons #id_password, #password-fs #id_password, #openid-fs #id_password {
font-size: 12px;
line-height: 20px;
height: 20px;
margin: 0px;
padding: 0px 0 0 5px;
border: #cce6ec 3px solid;
width: 200px; }
#email-input-fs .submit-b, #local_login_buttons .submit-b, #password-fs .submit-b, #openid-fs .submit-b {
background: url(../images/small-button-blue.png) repeat-x top;
border: 0;
color: #4a757f;
font-weight: bold;
font-size: 13px;
font-family: arial;
height: 24px;
margin-top: -2px;
padding-left: 10px;
padding-right: 10px;
cursor: pointer;
border-radius: 4px;
-ms-border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
text-shadow: 0px 1px 0px #e6f6fa;
-moz-text-shadow: 0px 1px 0px #e6f6fa;
-webkit-text-shadow: 0px 1px 0px #e6f6fa;
-webkit-box-shadow: 1px 1px 2px #808080;
-moz-box-shadow: 1px 1px 2px #808080;
box-shadow: 1px 1px 2px #808080; }
#email-input-fs .submit-b:hover, #local_login_buttons .submit-b:hover, #password-fs .submit-b:hover, #openid-fs .submit-b:hover {
background: url(../images/small-button-blue.png) repeat-x bottom; }
.openid-input {
background: url(../images/openid.gif) no-repeat;
padding-left: 15px;
cursor: pointer; }
.openid-login-input {
background-position: center left;
background: url(../images/openid.gif) no-repeat 0% 50%;
padding: 5px 5px 5px 15px;
cursor: pointer;
font-family: trebuchet ms;
font-weight: 300;
font-size: 150%;
width: 500px; }
.openid-login-submit {
height: 40px;
width: 80px;
line-height: 40px;
cursor: pointer;
border: 1px solid #777;
font-weight: bold;
font-size: 120%; }
.tabbar-user {
width: 375px; }
.user {
padding: 5px;
line-height: 140%;
width: 166px;
border: #eee 1px solid;
margin-bottom: 5px;
border-radius: 3px;
-ms-border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
.user-micro-info {
color: #525252; }
ul {
margin: 0;
list-style-type: none; }
.thumb {
clear: both;
float: left;
margin-right: 4px;
display: inline; } }
// .tabbar-tags {
// width: 270px;
// margin-bottom: 15px; }
// a {
// &.medal {
// font-size: 17px;
// line-height: 250%;
// margin-right: 5px;
// color: #333;
// text-decoration: none;
// background: url(../images/medala.gif) no-repeat;
// border-left: 1px solid #eee;
// border-top: 1px solid #eee;
// border-bottom: 1px solid #ccc;
// border-right: 1px solid #ccc;
// padding: 4px 12px 4px 6px; }
// &:hover.medal {
// color: #333;
// text-decoration: none;
// background: url(../images/medala_on.gif) no-repeat;
// border-left: 1px solid #e7e296;
// border-top: 1px solid #e7e296;
// border-bottom: 1px solid #d1ca3d;
// border-right: 1px solid #d1ca3d; } }
#award-list .user {
float: left;
margin: 5px; }
.tabbar-profile {
width: 100%;
margin-bottom: 15px;
float: left; }
// .user-profile-page {
// font-size: 13px;
// color: #525252;
// p {
// font-size: 13px;
// line-height: 1.3;
// color: #525252; }
// .avatar img {
// border: #eee 1px solid;
// padding: 5px; }
// h2 {
// padding: 10px 0px 10px 0px;
// font-family: 'yanone kaffeesatz',sans-serif; } }
.user-details {
font-size: 13px;
h3 {
font-size: 16px; } }
.user-about {
background-color: #eeeeee;
height: 200px;
line-height: 20px;
overflow: auto;
padding: 10px;
width: 90%;
p {
font-size: 13px; } }
// .follow-toggle, .submit {
// border: 0 !important;
// color: #4a757f;
// font-weight: bold;
// font-size: 12px;
// height: 26px;
// line-height: 26px;
// margin-top: -2px;
// font-size: 15px;
// cursor: pointer;
// font-family: 'yanone kaffeesatz',sans-serif;
// background: url(../images/small-button-blue.png) repeat-x top;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// text-shadow: 0px 1px 0px #e6f6fa;
// -moz-text-shadow: 0px 1px 0px #e6f6fa;
// -webkit-text-shadow: 0px 1px 0px #e6f6fa;
// -webkit-box-shadow: 1px 1px 2px #808080;
// -moz-box-shadow: 1px 1px 2px #808080;
// box-shadow: 1px 1px 2px #808080; }
// .follow-toggle:hover, .submit:hover {
// background: url(../images/small-button-blue.png) repeat-x bottom;
// text-decoration: none !important; }
// .follow-toggle {
// .follow {
// font-color: #000;
// font-style: normal; }
// .unfollow {
// div.unfollow-red {
// display: none; }
// &:hover div {
// &.unfollow-red {
// display: inline;
// color: #fff;
// font-weight: bold;
// color: #a05736; }
// &.unfollow-green {
// display: none; } } } }
.count {
font-family: 'yanone kaffeesatz',sans-serif;
font-size: 200%;
font-weight: 700;
color: #777777; }
.scorenumber {
font-family: 'yanone kaffeesatz',sans-serif;
font-size: 35px;
font-weight: 800;
color: #777;
line-height: 40px;
margin-top: 3px; }
.vote-count {
font-family: arial;
font-size: 160%;
font-weight: 700;
color: #777; }
// .answer-summary {
// display: block;
// clear: both;
// padding: 3px; }
.answer-votes {
background-color: #eeeeee;
color: #555555;
float: left;
font-family: arial;
font-size: 15px;
font-weight: bold;
height: 17px;
padding: 2px 4px 5px;
text-align: center;
text-decoration: none;
width: 20px;
margin-right: 10px;
border-radius: 4px;
-ms-border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px; }
.karma-summary {
padding: 5px;
font-size: 13px;
h3 {
text-align: center;
font-weight: bold;
padding: 5px; } }
.karma-diagram {
width: 477px;
height: 300px;
float: left;
margin-right: 10px; }
.karma-details {
float: right;
width: 450px;
height: 250px;
overflow-y: auto;
word-wrap: break-word;
p {
margin-bottom: 10px; } }
.karma-gained {
font-weight: bold;
background: #eee;
width: 25px;
margin-right: 5px;
color: green;
padding: 3px;
display: block;
float: left;
text-align: center;
border-radius: 3px;
-ms-border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px; }
.karma-lost {
font-weight: bold;
background: #eee;
width: 25px;
color: red;
padding: 3px;
display: block;
margin-right: 5px;
float: left;
text-align: center;
border-radius: 3px;
-ms-border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px; }
.submit-row {
margin-bottom: 10px; }
.revision {
margin: 10px 0 10px 0;
font-size: 13px;
color: #525252;
p {
font-size: 13px;
line-height: 1.3;
color: #525252; }
h3 {
font-family: 'yanone kaffeesatz',sans-serif;
font-size: 21px;
padding-left: 0px; }
.header {
background-color: #f5f5f5;
padding: 5px;
cursor: pointer; }
.author {
background-color: #e9f3f5; }
.summary {
padding: 5px 0 10px 0;
span {
background-color: #fde785;
padding: 6px;
border-radius: 4px;
-ms-border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
display: inline;
-webkit-box-shadow: 1px 1px 4px #cfb852;
-moz-box-shadow: 1px 1px 4px #cfb852;
box-shadow: 1px 1px 4px #cfb852; } }
.answerbody {
padding: 10px 0 5px 10px; }
.revision-mark {
width: 150px;
text-align: left;
display: inline-block;
font-size: 11px;
overflow: hidden;
.gravatar {
float: left;
margin-right: 4px;
padding-top: 5px; } }
.revision-number {
font-size: 300%;
font-weight: bold;
font-family: sans-serif; } }
// del {
// color: #c34719;
// .post-tag {
// color: #c34719; } }
ins {
.post-tag, p {
background-color: #e6f0a2; }
background-color: #e6f0a2; }
// .vote-notification {
// z-index: 1;
// cursor: pointer;
// display: none;
// position: absolute;
// font-family: arial;
// font-size: 14px;
// font-weight: normal;
// color: white;
// background-color: #8e0000;
// text-align: center;
// padding-bottom: 10px;
// -webkit-box-shadow: 0px 2px 4px #370000;
// -moz-box-shadow: 0px 2px 4px #370000;
// box-shadow: 0px 2px 4px #370000;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// h3 {
// background: url(../images/notification.png) repeat-x top;
// padding: 10px 10px 10px 10px;
// font-size: 13px;
// margin-bottom: 5px;
// border-top: #8e0000 1px solid;
// color: #fff;
// font-weight: normal;
// border-top-right-radius: 4px;
// border-top-left-radius: 4px;
// -moz-border-radius-topright: 4px;
// -moz-border-radius-topleft: 4px;
// -webkit-border-top-left-radius: 4px;
// -webkit-border-top-right-radius: 4px; }
// a {
// color: #fb7321;
// text-decoration: underline;
// font-weight: bold; } }
// #ground {
// width: 100%;
// clear: both;
// border-top: 1px solid #000;
// padding: 6px 0 0 0;
// background: #16160f;
// font-size: 16px;
// font-family: 'yanone kaffeesatz',sans-serif;
// p {
// margin-bottom: 0; } }
.footer-links {
color: #eee;
text-align: left;
width: 500px;
float: left;
a {
color: #e7e8a8; } }
.powered-link {
width: 500px;
float: left;
text-align: left;
a {
color: #8ebcc7; } }
.copyright {
color: #616161;
width: 450px;
float: right;
text-align: right;
a {
color: #8ebcc7; }
img.license-logo {
margin: 6px 0px 20px 10px;
float: right; } }
.notify-me {
float: left; }
span {
&.text-counter {
margin-right: 20px; }
// &.form-error {
// color: #990000;
// font-weight: normal;
// margin-left: 5px; }
}
p.form-item {
margin: 0px; }
// .deleted {
// background: #f4e7e7 none repeat scroll 0 0; }
.form-row {
line-height: 25px; }
table {
&.form-as-table {
margin-top: 5px;
ul {
list-style-type: none;
display: inline; }
li {
display: inline; }
td {
text-align: right; }
th {
text-align: left;
font-weight: normal; } }
&.ab-subscr-form, &.ab-tag-filter-form {
width: 45em; } }
.submit-row {
line-height: 30px;
padding-top: 10px;
display: block;
clear: both; }
.errors {
line-height: 20px;
color: red; }
.error {
color: darkred;
margin: 0;
font-size: 10px; }
label.retag-error {
color: darkred;
padding-left: 5px;
font-size: 10px; }
.fieldset {
border: none;
margin-top: 10px;
padding: 10px; }
// span.form-error {
// color: #990000;
// font-size: 90%;
// font-weight: normal;
// margin-left: 5px; }
.favorites-empty {
width: 32px;
height: 45px;
float: left; }
.user-info-table {
margin-bottom: 10px;
border-spacing: 0; }
.user-stats-table .narrow {
width: 660px; }
.narrow .summary h3 {
padding: 0px;
margin: 0px; }
.relativetime {
font-weight: bold;
text-decoration: none; }
// .narrow .tags {
// float: left; }
.user-action-1 {
font-weight: bold;
color: #333; }
.user-action-2 {
font-weight: bold;
color: #ccc; }
.user-action-3, .user-action-4 {
color: #333; }
.user-action-5, .user-action-6 {
color: darkred; }
.user-action-7 {
color: #333; }
.user-action-8 {
padding: 3px;
font-weight: bold;
background-color: #ccc;
color: #763333; }
.revision-summary {
background-color: #fffe9b;
padding: 2px; }
.question-title-link a {
font-weight: bold;
color: #0077cc; }
.answer-title-link a {
color: #333; }
.post-type-1 a, .post-type-3 a, .post-type-5 a {
font-weight: bold; }
.post-type-2 a, .post-type-4 a, .post-type-6 a, .post-type-8 a {
color: #333; }
.hilite, .hilite1 {
background-color: #ff0; }
.hilite2 {
background-color: #f0f; }
.hilite3 {
background-color: #0ff; }
// .gold, .badge1 {
// color: #ffcc00; }
// .silver, .badge2 {
// color: #cccccc; }
// .bronze, .badge3 {
// color: #cc9933; }
.score {
font-weight: 800;
color: #333; }
a {
&.comment {
background: #eee;
color: #993300;
padding: 5px; }
&.offensive {
color: #999; } }
.message {
h1 {
padding-top: 0px;
font-size: 15px; }
p {
margin-bottom: 0px; } }
p.space-above {
margin-top: 10px; }
.warning {
color: red; }
button::-moz-focus-inner {
padding: 0;
border: none; }
// .submit {
// cursor: pointer;
// background-color: #d4d0c8;
// height: 30px;
// border: 1px solid #777777;
// font-weight: bold;
// font-size: 120%;
// &:hover {
// text-decoration: underline; }
// &.small {
// margin-right: 5px;
// height: 20px;
// font-weight: normal;
// font-size: 12px;
// padding: 1px 5px;
// &:hover {
// text-decoration: none; } } }
.question-page a.submit {
display: -moz-inline-stack;
display: inline-block;
line-height: 30px;
padding: 0 5px;
*display: inline; }
.noscript {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
z-index: 100;
padding: 5px 0;
text-align: center;
font-family: sans-serif;
font-size: 120%;
font-weight: bold;
color: #ffffff;
background-color: #ae0000; }
.big {
font-size: 14px; }
.strong {
font-weight: bold; }
.orange {
color: #d64000;
font-weight: bold; }
.grey {
color: #808080; }
.about div {
padding: 10px 5px 10px 5px;
border-top: 1px dashed #aaaaaa; }
.highlight {
background-color: #fff8c6; }
.nomargin {
margin: 0; }
.margin-bottom {
margin-bottom: 10px; }
.margin-top {
margin-top: 10px; }
.inline-block {
display: inline-block; }
.action-status {
margin: 0;
border: none;
text-align: center;
line-height: 10px;
font-size: 12px;
padding: 0;
span {
padding: 3px 5px 3px 5px;
background-color: #fff380;
font-weight: normal;
-moz-border-radius: 5px;
-khtml-border-radius: 5px;
-webkit-border-radius: 5px; } }
.list-table td {
vertical-align: top; }
table.form-as-table {
.errorlist {
display: block;
margin: 0;
padding: 0 0 0 5px;
text-align: left;
font-size: 10px;
color: darkred; }
input {
display: inline;
margin-left: 4px; }
th {
vertical-align: bottom;
padding-bottom: 4px; } }
.form-row-vertical {
margin-top: 8px;
display: block;
label {
margin-bottom: 3px;
display: block; } }
.text-align-right {
text-align: center; }
ul.form-horizontal-rows {
list-style: none;
margin: 0;
li {
position: relative;
height: 40px; }
label {
display: inline-block; }
ul.errorlist {
list-style: none;
color: darkred;
font-size: 10px;
line-height: 10px;
position: absolute;
top: 2px;
left: 180px;
text-align: left;
margin: 0;
li {
height: 10px; } }
label {
position: absolute;
left: 0px;
bottom: 6px;
margin: 0px;
line-height: 12px;
font-size: 12px; }
li input {
position: absolute;
bottom: 0px;
left: 180px;
margin: 0px; } }
.narrow .summary {
float: left; }
.user-profile-tool-links {
font-weight: bold;
vertical-align: top; }
// ul {
// &.post-tags {
// margin-left: 3px;
// li {
// margin-top: 4px;
// margin-bottom: 3px; } }
// &.post-retag {
// margin-bottom: 0px;
// margin-left: 5px; } }
// #question-controls .tags {
// margin: 0 0 3px 0; }
// #tagselector {
// padding-bottom: 2px;
// margin-bottom: 0; }
// #related-tags {
// padding-left: 3px; }
#hideignoredtagscontrol {
margin: 5px 0 0 0;
label {
font-size: 12px;
color: #666; } }
#hideignoredtagscb {
margin: 0 2px 0 1px; }
#recaptcha_widget_div {
width: 318px;
float: left;
clear: both; }
p.signup_p {
margin: 20px 0px 0px 0px; }
.simple-subscribe-options ul {
list-style: none;
list-style-position: outside;
margin: 0; }
.wmd-preview {
a {
color: #1b79bd; }
li {
margin-bottom: 7px;
font-size: 14px; } }
// .search-result-summary {
// font-weight: bold;
// font-size: 18px;
// line-height: 22px;
// margin: 0px 0px 0px 0px;
// padding: 2px 0 0 0;
// float: left; }
.faq-rep-item {
text-align: right;
padding-right: 5px; }
.user-info-table .gravatar {
margin: 0; }
#responses {
clear: both;
line-height: 18px;
margin-bottom: 15px;
div.face {
float: left;
text-align: center;
width: 54px;
padding: 3px;
overflow: hidden; } }
.response-parent {
margin-top: 18px;
strong {
font-size: 20px; } }
.re {
min-height: 57px;
clear: both;
margin-top: 10px; }
#responses input {
float: left; }
#re_tools {
margin-bottom: 10px; }
#re_sections {
margin-bottom: 6px;
.on {
font-weight: bold; } }
.avatar-page {
ul {
list-style: none; }
li {
display: inline; } }
// .user-profile-page {
// .avatar p {
// margin-bottom: 0px; }
// .tabbar a#stats {
// margin-left: 0; }
// img.gravatar {
// margin: 2px 0 3px 0; }
// h3 {
// padding: 0;
// margin-top: -3px; } }
.userlist {
font-size: 13px; }
img.flag {
border: 1px solid #eee;
vertical-align: text-top; }
.main-page img.flag {
vertical-align: text-bottom; }
a.edit {
padding-left: 3px;
color: #145bff; }
.str {
color: #080; }
.kwd {
color: #008; }
.com {
color: #800; }
.typ {
color: #606; }
.lit {
color: #066; }
.pun {
color: #660; }
.pln {
color: #000; }
// .tag {
// color: #008; }
.atn {
color: #606; }
.atv {
color: #080; }
.dec {
color: #606; }
pre.prettyprint {
clear: both;
padding: 3px;
border: 0px solid #888; }
// @media print {
// .str {
// color: #060; }
// .kwd {
// color: #006;
// font-weight: bold; }
// .com {
// color: #600;
// font-style: italic; }
// .typ {
// color: #404;
// font-weight: bold; }
// .lit {
// color: #044; }
// .pun {
// color: #440; }
// .pln {
// color: #000; }
// .tag {
// color: #006;
// font-weight: bold; }
// .atn {
// color: #404; }
// .atv {
// color: #060; } }
div.badges-intro {
margin: 20px 0;
}
div.badge-intro {
@extend .badges-intro;
.badge1, .badge2, .badge3 {
font-size: 20px;
}
}
div#award-list{
li.username {
font-size: 20px;
margin-bottom: 8px;
}
}
ul.badge-list {
li.badge {
border-bottom: 1px solid #eee;
@extend .clearfix;
list-style: none;
padding: 10px 0;
&:last-child {
border-bottom: 0;
}
div.check {
float:right;
min-width:flex-grid(1,9);
text-align:right;
span {
font-size:19px;
padding-right:5px;
color:green;
}
}
div.badge-name {
float:left;
width:flex-grid(3,9);
span {
font-size: 20px;
}
}
p {
margin: 0;
float:left;
}
}
}
.gold, .badge1 {
color: #ffcc00;
}
.silver, .badge2 {
color: #cccccc;
}
.bronze, .badge3 {
color: #cc9933;
}
div.badge-desc {
> div {
margin-bottom: 20px;
span {
font-size: 18px;
@include border-radius(10px);
}
}
}
// Base extends (Merge with main stylesheet later)
.light-button, a.light-button {
@include box-shadow(inset 0 1px 0 #fff);
@include linear-gradient(#fff, lighten(#888, 40%));
@include border-radius(3px);
border: 1px solid #ccc;
padding: 4px 8px;
color: #666;
font: normal $body-font-size $body-font-family;
text-decoration: none;
cursor: pointer;
-webkit-font-smoothing: antialiased;
&:hover, &:focus {
@include linear-gradient(#fff, lighten(#888, 37%));
border: 1px solid #ccc;
text-decoration: none;
}
}
.action-link {
a {
color: $mit-red;
&:hover {
text-decoration: none;
color: darken($mit-red, 20%);
}
}
}
// Layout
body.askbot {
section.main-content {
div.discussion-wrapper {
@extend .table-wrapper;
div.discussion-content {
@include box-sizing(border-box);
display: table-cell;
min-width: 650px;
padding: lh();
vertical-align: top;
width: flex-grid(9) + flex-gutter();
a.tabula-rasa, .tabula-rasa{
@extend .light-button;
@include border-radius(5px);
display: block;
margin: 10px auto;
padding: 20px;
text-align: center;
width: flex-grid(5);
text-decoration: none;
color: #888;
font-weight: bold;
&:first-child {
margin-top: 70px;
}
&:last-child {
margin-bottom: 70px;
}
}
}
}
}
}
// Autocomplete
.acInput {
width: 200px;
}
.acResults {
background-color: #fff;
border: 1px solid #ababab;
overflow: hidden;
padding: 0px;
@include box-shadow(0 2px 2px #bbb);
ul {
list-style-position: outside;
list-style: none;
margin: 0;
padding: 0;
width: 100%;
}
li {
cursor: pointer;
display: block;
font: menu;
margin: 0px;
overflow: hidden;
padding: 5px 10px;
text-align: left;
border-top: 1px solid #eee;
width: 100%;
}
}
.acLoading {
background : url('../images/indicator.gif') right center no-repeat;
}
.acSelect {
background-color: $mit-red;
color: #fff;
}
.wmd-panel
{
}
#wmd-button-bar {
border: 1px solid #ddd;
height:36px;
float:left;
width:99%;
}
#wmd-input {
height: 500px;
background-color: Gainsboro;
border: 1px solid DarkGray;
margin-top: -20px;
}
#wmd-preview {
background-color: LightSkyBlue;
}
#wmd-output {
background-color: Pink;
}
#wmd-button-row {
position: relative;
margin-left: 5px;
margin-right: 5px;
margin-bottom: 0px;
margin-top: 10px;
padding: 0px;
height: 20px;
}
.wmd-spacer {
width: 1px;
height: 20px;
margin-left: 14px;
position: absolute;
background-color: Silver;
display: inline-block;
list-style: none;
}
.wmd-button {
width: 20px;
height: 20px;
margin-left: 5px;
margin-right: 5px;
position: absolute;
background-image: url(/static/images/askbot/wmd-buttons.png);
background-repeat: no-repeat;
background-position: 0px 0px;
display: inline-block;
list-style: none;
}
.wmd-button > a {
width: 20px;
height: 20px;
margin-left: 5px;
margin-right: 5px;
position: absolute;
display: inline-block;
}
/* sprite button slicing style information */
#wmd-bold-button {left: 0px; background-position: 0px 0;}
#wmd-italic-button {left: 25px; background-position: -20px 0;}
#wmd-spacer1 {left: 50px;}
#wmd-link-button {left: 75px; background-position: -40px 0;}
#wmd-quote-button {left: 100px; background-position: -60px 0;}
#wmd-code-button {left: 125px; background-position: -80px 0;}
#wmd-image-button {left: 150px; background-position: -100px 0;}
#wmd-attachment-button {left: 175px; background-position: -120px 0;}
#wmd-spacer2 {left: 200px;}
#wmd-olist-button {left: 225px; background-position: -140px 0;}
#wmd-ulist-button {left: 250px; background-position: -160px 0;}
#wmd-heading-button {left: 275px; background-position: -180px 0;}
#wmd-hr-button {left: 300px; background-position: -200px 0;}
#wmd-spacer3 {left: 325px;}
#wmd-undo-button {left: 350px; background-position: -220px 0;}
#wmd-redo-button {left: 375px; background-position: -240px 0;}
#wmd-help-button {right: 0px; background-position: -260px 0;}
.wmd-prompt-background
{
background-color: Black;
}
.wmd-prompt-dialog
{
border: 1px solid #999999;
background-color: #F5F5F5;
}
.wmd-prompt-dialog > div {
font-size: 1em;
font-family: arial, helvetica, sans-serif;
}
.wmd-prompt-dialog > form > input[type="text"] {
border: 1px solid #999999;
color: black;
}
.wmd-prompt-dialog > form > input[type="button"]{
border: 1px solid #888888;
font-family: trebuchet MS, helvetica, sans-serif;
font-size: 1em;
font-weight: bold;
}
form.answer-form {
@include box-sizing(border-box);
border-top: 1px solid #ddd;
overflow: hidden;
padding-left: flex-grid(1.1);
textarea {
@include box-sizing(border-box);
margin-top: 15px;
resize: vertical;
width: 99%;
}
div.form-item {
margin: 15px 0;
label {
display: block;
margin-bottom: -5px;
}
.title-desc {
@include box-sizing(border-box);
@include border-radius(4px);
background: #333;
color: #fff;
display: none;
font-size: 13px;
padding: 7px 14px;
-webkit-font-smoothing: antialiased;
}
&:hover {
.title-desc {
display: inline-block;
position: absolute;
margin-left: 10px;
z-index: 1;
width: 200px;
&:before {
border-color: transparent #333 transparent transparent;
border-style:solid;
border-width:12px 12px 12px 0;
content:"";
height:0;
left:-10px;
position:absolute;
top:1;
width:0;
}
}
}
}
span.form-error, label.form-error {
color: #990000;
display: inline-block;
font-size: 90%;
font-weight: bold;
padding: 10px 0;
}
div.preview-toggle{
padding: 15px 0;
width: auto;
a {
@extend .light-button;
}
}
.wmd-preview {
margin: 3px 0 15px 0;
padding: 10px;
background-color: #F5F5F5;
min-height: 20px;
overflow: auto;
font-size: 13px;
font-family: Arial;
p {
margin-bottom: 14px;
line-height: 1.4;
font-size: 14px;
}
blockquote {
margin-left: 2.5%;
padding-left: 1.5%;
border-left: 1px dashed #ddd;
color: $mit-red;;
}
ul, ol, pre {
margin-left: 3%;
margin-bottom: 20px;
}
pre {
background-color: #eee;
}
blockquote {
background-color: #eee;
}
}
}
input.after-editor {
margin-bottom: 20px;
margin-right: 10px;
}
form.question-form {
@extend .answer-form;
border: none;
padding: 15px 0 0 0;
input[type="text"] {
@include box-sizing(border-box);
width: flex-grid(6);
}
input[type="checkbox"] {
margin-top: 10px;
}
div#question-list {
background-color: rgba(255,255,255,0.95);
@include box-sizing(border-box);
margin-top: -15px;
max-width: 505px;
min-width: 300px;
overflow: hidden;
padding-left: 5px;
position: absolute;
width: 35%;
z-index: 9999;
h2 {
text-transform: none;
padding: 8px 0;
border-bottom: 1px solid #eee;
margin: 0;
span {
background: #eee;
color: #555;
padding: 2px 5px;
@include border-radius(2px);
margin-right: 5px;
}
}
}
}
.vote-notification {
background-color: darken($mit-red, 7%);
@include border-radius(4px);
@include box-shadow(0px 2px 9px #aaa);
color: white;
cursor: pointer;
display: none;
font-size: 14px;
font-weight: normal;
padding-bottom: 10px;
position: absolute;
text-align: center;
z-index: 1;
h3 {
background: $mit-red;
padding: 10px 10px 10px 10px;
font-size: 13px;
margin-bottom: 5px;
border-bottom: darken(#8e0000, 10%) 1px solid;
@include box-shadow(0 1px 0 lighten($mit-red, 10%));
color: #fff;
font-weight: normal;
@include border-radius(4px 4px 0 0);
}
a {
color: #fb7321;
text-decoration: underline;
font-weight: bold; } }
body.user-profile-page {
section.questions {
h1 {
margin: 0;
}
}
ul.sub-info {
// border-top: 1px solid #ddd;
margin-top: lh();
list-style: none;
> li {
display: table-cell;
padding: (flex-gutter(9)/2);
border-right: 1px dashed #efefef;
@include box-sizing(border-box);
&:first-child {
padding-left: 0;
}
&:last-child {
border-right: 0;
padding-right: 0;
}
&.votes-badges {
width: flex-grid(2,9);
p {
margin-top: 15px;
}
}
&.answer-list {
width: flex-grid(4, 9);
}
&.tags-list {
width: flex-grid(3,9);
}
h2 {
margin-bottom: 30px;
margin-top: 0;
}
span.tag-number {
display: none;
}
}
ul {
list-style: none;
&.user-stats-table {
list-style: none;
li {
padding: 10px 0 15px;
border-top: 1px solid #eee;
}
}
&.vote-buttons {
list-style: none;
margin-bottom: 30px;
li {
background-color: lighten($cream, 3%);
background-position: 10px center;
background-repeat: no-repeat;
@include border-radius(4px);
display: inline-block;
height: 20px;
padding: 10px 10px 10px 40px;
&.up {
background-color:#d1e3a8;
background-image: url(/static/images/askbot/vote-arrow-up-activate.png);
margin-right: 6px;
span.vote-count {
color: #3f6c3e;
}
}
&.down {
background-image: url(/static/images/askbot/vote-arrow-down-activate.png);
background-color:#eac6ad;
span.vote-count {
color: $mit-red;
}
}
}
}
&.badges {
@include inline-block();
a {
background-color: #e3e3e3;
border: 0;
@include border-radius(4px);
color: #292309;
display: block;
font-size: 12px;
padding: 10px;
margin-bottom: 10px;
text-shadow: 0 1px 0 #fff;
text-transform: uppercase;
text-decoration: none;
&:hover {
background-color: #cdcdcd;
}
}
}
}
}
}
div.question-header {
div.vote-buttons {
display: inline-block;
float: left;
margin-right: flex-gutter(9);
width: flex-grid(0.7,9);
ul {
li {
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
font-weight: bold;
height: 20px;
list-style: none;
padding: 10px;
text-align: center;
width: 70%;
&.post-vote {
@include border-radius(4px);
background-color: lighten($cream, 5%);
border: 1px solid darken( $cream, 10% );
@include box-shadow(inset 0 1px 0px #fff);
}
&.question-img-upvote, &.answer-img-upvote {
background-image: url(/static/images/askbot/vote-arrow-up.png);
@include box-shadow(inset 0 1px 0px rgba(255, 255, 255, 0.5));
&:hover, &.on {
background-color:#d1e3a8;
border-color: darken(#D1E3A8, 20%);
background-image: url(/static/images/askbot/vote-arrow-up-activate.png);
}
}
&.question-img-downvote, &.answer-img-downvote {
background-image: url(/static/images/askbot/vote-arrow-down.png);
&:hover, &.on {
background-color:#EAC6AD;
border-color: darken(#EAC6AD, 20%);
background-image: url(/static/images/askbot/vote-arrow-down-activate.png);
}
}
}
}
}
div.question-container {
display: inline-block;
float: left;
width: flex-grid(8.3,9);
h1 {
margin-top: 0;
}
div.meta-bar {
border-bottom: 1px solid #eee;
display: block;
margin: 10px 0;
overflow: hidden;
padding: 5px 0 10px;
div.tag-list {
display: inline-block;
float:left;
width: flex-grid(4,8);
margin-right: flex-gutter(8);
}
div.question-actions {
display: inline-block;
float:left;
text-align: right;
width: flex-grid(4,8);
a {
&.question-delete {
color: $mit-red;
text-decoration: none;
cursor: pointer;
}
}
span.sep {
color: #ccc;
}
}
}
div.question-content {
overflow: hidden;
div.question-body {
display: inline-block;
float: left;
margin-right: flex-gutter(8);
width: flex-grid(6.2,8);
blockquote {
margin-left: 2.5%;
padding-left: 1.5%;
border-left: 1px dashed #ddd;
color: $mit-red;;
}
ul, ol, pre {
margin-left: 6%;
margin-bottom: 20px;
}
}
div.post-update-container {
display: inline-block;
float: left;
width: 20%;
border-left: 1px dashed #ddd;
div.post-update-info {
@include box-sizing(border-box);
padding: 10px;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
&.revision {
text-align: center;
background:lighten($cream, 7%);
a {
color: black;
}
}
a {
color:$mit-red ;
}
div.change-date {
font-size: 12px;
margin-bottom: 2px;
}
div.user-meta {
display: inline-block;
span.username {
font-size: 20px;
margin-right: 5px;
}
span.user-badges {
}
}
}
}
}
div.comments-container {
@include box-sizing(border-box);
display: inline-block;
padding: 0 0 3% 0;
width: 100%;
div.comments-content {
font-size: 13px;
background: #efefef;
.block {
border-top: 1px solid #ddd;
padding: 15px;
display: block;
&:first-child {
border-top: 0;
}
&.official {
padding-top: 10px;
span.official-comment {
background: $mit-red;
color: #fff;
display: block;
font-size: 12px;
margin: 0 0 10px -5%;
padding:2px 5px 2px 5%;
text-align: left;
width:100px;
}
}
}
form.post-comments {
padding: 15px;
button:last-child {
margin-left: 10px;
@extend .light-button;
}
}
div.comment {
&:first-child {
border-top: 0;
}
&:last-child {
margin-bottom: 20px;
}
aside.comment-controls {
background: none;
border: none;
@include box-shadow(none);
display: inline-block;
margin-top: -8px;
padding:0 2% 0 0;
text-align: center;
width: 5%;
div {
background: none;
opacity: 0.6;
&:hover {
opacity: 1;
}
}
div.comment-votes {
width: 16px;
a.upvote {
background: url(../images/askbot/comment-vote-up.png) no-repeat 2px;
cursor: pointer;
color: green;
display: block;
margin-bottom: 6px;
margin-top: 5px;
overflow: hidden;
text-decoration: none;
text-indent: -9999px;
width: 20px;
}
a.upvoted {
@include border-radius(3px);
background: #D1E3A8;
color: green;
font-weight: bold;
margin-top: 10px;
padding: 2px;
text-indent: 0px;
}
}
hr {
margin: 0;
}
div.comment-delete {
// display: inline;
color: $mit-red;
cursor: pointer;
font-size: 15px;
}
div.comment-edit {
@include transform(rotate(50deg));
cursor: pointer;
font-size: 16px;
a.edit-icon {
color: #555;
text-decoration: none;
}
}
}
div.comment-body {
display: inline-block;
width: 95%;
&#full-width {
width: 100%;
}
div.comment-meta {
text-align: right;
a.author {
font-weight: bold;
}
a.edit {
@extend .button;
font-size: 12px;
padding: 2px 10px;
}
}
}
}
}
#edit-comment-form {
margin: 10px 0;
min-height: 100px;
width: 99%;
resize: vertical;
}
.counter {
color: #888;
display: none;
float: right;
margin-top: 5px;
text-align: right;
}
div.controls {
border-top: 1px solid #efefef;
text-align: right;
a {
display: inline-block;
font-size: 12px;
margin: 10px 10px 10px 0;
}
}
}
}
}
div.question-status {
background: $mit-red;
clear:both;
color: #fff;
display: block;
padding: 10px 0 10px 7.5%;
h3 {
font-weight: normal;
}
a {
color: #eee;
}
}
div.share-question {
padding: 10px 0 10px 7.5%;
p {
padding: 0;
margin: 0;
}
}
div.question-list-header {
display: block;
margin-bottom: 0px;
overflow: hidden;
width: flex-grid(9,9);
@extend h1.top-header;
h1 {
margin: 0;
> a.light-button {
float: right;
}
}
section.question-list-meta {
display: block;
overflow: hidden;
width: 100%;
div {
display: inline-block;
float: left;
}
h1 {
margin: 0;
}
span.label {
color: #555;
}
div.question-list-title {
margin-right: flex-gutter();
h1 {
margin-top: 0;
}
}
div.question-sort {
float: right;
margin-left: flex-gutter();
margin-top: 6px;
nav {
@extend .action-link;
float: right;
a {
&.on span{
font-weight: bold;
}
&:before {
content: '|';
color: #ccc;
font-size: 16px;
}
}
}
}
}
section.question-tags-list {
display: block;
min-height: 26px;
padding-top:15px;
width: 100%;
div {
display: inline-block;
float: left;
}
div.back {
margin-right: 10px;
margin-top: 4px;
a {
color: #555;
}
}
div.tags-list {
}
ul.tags {
li {
background: #fff;
&:before {
border-color: transparent #fff transparent transparent;
}
}
}
}
}
ul.question-list, div#question-list {
width: flex-grid(9,9);
li.single-question {
border-bottom: 1px solid #eee;
list-style: none;
padding: 10px 3%;
margin-left: -3%;
width: 100%;
&:hover {
background: #F3F3F3;
ul.tags li {
background: #ddd;
&:before {
border-color: transparent #ddd transparent transparent;
}
}
}
&:first-child {
border-top: 0;
}
div {
display: inline-block;
&.question-body {
@include box-sizing(border-box);
margin-right: flex-gutter();
width: flex-grid(5.5,9);
h2 {
font-size: 16px;
font-weight: bold;
letter-spacing: 0;
margin: 0px 0 15px 0;
text-transform: none;
}
p.excerpt {
color: #777;
}
div.user-info {
display: inline-block;
vertical-align: top;
margin-bottom: 10px;
span.relative-time {
font-weight: normal;
}
a {
color: $mit-red;
}
}
ul.tags {
display: inline-block;
}
}
&.question-meta {
float: right;
margin-top: 10px;
width: flex-grid(3.5,9);
ul {
text-align: right;
li {
border: 1px solid #ddd;
@include box-shadow(0 1px 0 #fff);
display: inline-block;
height:60px;
@include linear-gradient(#fff, #f5f5f5);
margin-right: 10px;
width: 60px;
&:last-child {
margin-right: 0px;
}
&:hover {
span, div {
color: #555;
}
}
&.views {
}
&.answers {
&.accepted {
@include linear-gradient(#fff, lighten( #c4dfbe, 12% ));
border-color: #c4dfbe;
span, div {
color: darken(#c4dfbe, 35%);
}
}
&.no-answers {
span, div {
color: lighten($mit-red, 20%);
}
}
}
&.votes {
}
span, div {
@include box-sizing(border-box);
color: #888;
display: block;
text-align: center;
}
span {
font-size: 16px;
font-weight: bold;
height: 35px;
padding-top: 15px;
vertical-align: middle;
}
div {
height: 25px;
font-size: 12px;
}
}
}
}
}
}
div.post-own-question {
padding: 11px;
margin-top: 10px;
color: #888;
text-align: center;
a {
font-weight: bold;
@extend .light-button;
padding: 20px;
display: block;
margin: 10px auto;
text-align: center;
width: flex-grid(5);
}
}
}
.search-result-summary {
}
div.discussion-wrapper aside {
@extend .sidebar;
border-left: 1px solid #d3d3d3;
@include border-radius(0 4px 4px 0);
border-right: 1px solid #f6f6f6;
@include box-shadow(inset 1px 0 0 #f6f6f6);
padding: lh();
width: flex-grid(3);
&.main-sidebar {
min-width:200px;
}
h1 {
@extend .bottom-border;
margin: (-(lh())) (-(lh())) 0;
padding: lh(.5) lh();
}
h2 {
color: #4D4D4D;
&.first {
margin-top: 0px;
}
}
h3 {
border-bottom: 0;
box-shadow: none;
}
div.inputs {
input[type="submit"] {
width: 27%;
float: right;
}
input[type="text"] {
width: 62%;
}
}
div.box {
display: block;
margin: lh(.5) 0;
&:last-child {
@include box-shadow(none);
border: 0;
}
h2 {
text-transform: uppercase;
font-weight: bold;
font-size: 14px;
letter-spacing: 1px;
&:not(.first) {
@include box-shadow(inset 0 1px 0 #eee);
border-top: 1px solid #d3d3d3;
margin: 0 (-(lh())) 0;
padding: lh(.5) lh();
}
}
&.contributors {
a {
@include border-radius(3px);
border: 1px solid #aaa;
cursor: pointer;
display: inline-block;
margin-right: 6px;
position: relative;
&:before {
@include border-radius(3px);
@include box-shadow(inset 0 0 1px 1px rgba(255,255,255,.4));
top: 1px; left: 1px; bottom: 1px; right: 1px;
content: '';
position: absolute;
}
}
img.gravatar {
@include border-radius(3px);
}
}
&.tag-selector {
ul {
margin-bottom: 10px;
display: block;
}
}
}
div.search-box {
margin-top: lh(.5);
input {
@include box-sizing(border-box);
display: inline;
}
input[type='submit'] {
@include box-shadow(none);
opacity: 0.5;
background: url(/static/images/askbot/search-icon.png) no-repeat center;
border: 0;
margin-left: 3px;
position: absolute;
text-indent: -9999px;
width: 24px;
&:hover {
opacity: 0.9;
}
&:focus {
opacity: 1;
}
}
input#keywords {
padding-left: 30px;
padding-right: 30px;
width: 100%;
}
input#clear {
@include box-shadow(none);
@include border-radius(15px);
border: none;
background: #bbb;
color: #fff;
display: inline;
font-size: 10px;
margin-left: -25px;
padding: 2px 5px;
}
}
div#tagSelector {
h2 {
@include box-shadow(inset 0 1px 0 #eee);
border-top: 1px solid #d3d3d3;
margin: 0 (-(lh())) 0;
padding: lh(.5) lh();
text-transform: uppercase;
font-weight: bold;
font-size: 14px;
letter-spacing: 1px;
}
ul {
margin: 0;
}
div.inputs {
margin-bottom: lh();
}
div#displayTagFilterControl {
p.choice {
@include inline-block();
margin-right: lh(.5);
}
}
}
// Question view sopecific
div.follow-buttons {
margin-top: 20px;
display: block;
a.button {
@include box-sizing(border-box);
display: block;
text-align: center;
width: 100%;
}
}
div.question-stats {
ul {
color: #777;
list-style: none;
li {
padding: 7px 0 0;
&:last-child {
@include box-shadow(none);
border: 0;
}
strong {
float: right;
padding-right: 10px;
}
}
}
}
div.user-info, div.user-stats {
@extend div.question-stats;
overflow: hidden;
div {
float: left;
display: block;
}
div.karma {
background: #eee;
border: 1px solid #D3D3D3;
@include border-radius(3px);
@include box-sizing(border-box);
@include box-shadow(inset 0 0 0 1px #fff, 0 1px 0 #fff);
padding: lh(.4) 0;
text-align: center;
width: flex-grid(1, 3);
float: right;
strong {
display: block;
font-style: 20px;
}
}
div.meta {
width: flex-grid(2,3);
padding-right: flex-gutter(3)*0.5;
@include box-sizing(border-box);
h2 {
border: 0;
@include box-shadow(none);
margin: 0 0 8px 0;
padding: 0;
}
p {
color: #777;
font-size: 14px;
}
}
}
div.user-stats {
overflow: visible;
ul {
font-size: 14px;
h2 {
margin:0 (-(lh())) 5px (-(lh()));
padding: lh(.5) lh();
}
}
}
div.question-tips, div.markdown {
ul {
margin-left: 8%;
}
ol {
margin-left: 8%;
}
}
div.markdown ul li {
margin: 20px 0;
&:first-child {
margin: 0;
}
ol li {
margin: 0;
}
}
div.view-profile {
h2 {
border-top: 0;
@include box-shadow(none);
}
a {
width: 100%;
@include box-sizing(border-box);
text-align: center;
padding: 10px;
display: block;
margin-top: 10px;
&:first-child {
margin-top: 0;
}
span {
font-weight: bold;
}
}
}
}
ul.tags {
list-style: none;
display: inline;
li, a {
position: relative;
}
li {
background: #eee;
@include border-radius(4px);
@include box-shadow(0px 1px 0px #ccc);
color: #555;
display: inline-block;
font-size: 12px;
margin-bottom: 5px;
margin-left: 15px;
padding: 3px 10px 5px 5px;
&:before {
border-color:transparent #eee transparent transparent;
border-style:solid;
border-width:12px 12px 12px 0;
content:"";
height:0;
left:-10px;
position:absolute;
top:0;
width:0;
}
span.delete-icon, div.delete-icon {
background: #555;
@include border-radius(0 4px 4px 0);
clear: none;
color: #eee;
cursor: pointer;
display: inline;
float: none;
left: 10px;
opacity: 0.5;
padding: 4px 6px;
position: relative;
top: 1px;
&:hover {
opacity: 1;
}
}
a {
color: #555;
text-decoration: none;
}
}
}
span.tag-number {
display: none;
// @include border-radius(3px);
// background: #555;
// font-size: 10px;
// margin: 0 3px;
// padding: 2px 5px;
// color: #eee;
// opacity: 0.5;
}
body {
background-color: #fff;
color: #444;
font: $body-font-size $body-font-family;
:focus {
outline-color: #ccc;
}
h1 {
font: 800 24px $header-font-family;
}
li {
margin-bottom: lh();
}
em {
font-style: italic;
}
a {
color: $mit-red;
font-style: italic;
text-decoration: none;
&:hover, &:focus {
color: darken($mit-red, 10%);
}
}
#{$all-text-inputs}, textarea {
@include box-shadow(0 -1px 0 #fff);
@include linear-gradient(#eee, #fff);
border: 1px solid #999;
font: $body-font-size $body-font-family;
padding: 4px;
width: 100%;
&:focus {
border-color: $mit-red;
}
}
}
.wrapper {
@include box-sizing(border-box);
margin: 0 auto;
max-width: $fg-max-width;
// min-width: $fg-min-width;
padding: lh();
width: flex-grid(12);
}
.subpage {
@extend .clearfix;
@extend .wrapper;
> div {
padding-left: flex-grid(4) + flex-gutter();
@media screen and (max-width: 940px) {
padding-left: 0;
}
p {
margin-bottom: lh();
line-height: lh();
}
h1 {
margin-bottom: lh(.5);
}
h2 {
font: 18px $header-font-family;
color: #000;
margin-bottom: lh(.5);
}
ul {
list-style: disc outside none;
li {
list-style: disc outside none;
line-height: lh();
}
}
dl {
margin-bottom: lh();
dd {
margin-bottom: lh(.5);
}
}
}
}
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.button {
@include border-radius(3px);
@include inline-block();
@include transition();
background-color: $mit-red;
border: 1px solid darken($mit-red, 10%);
color: #fff;
margin: lh() 0 lh(.5);
padding: lh(.25) lh(.5);
text-decoration: none;
font-style: normal;
@include box-shadow(inset 0 1px 0 lighten($mit-red, 8%));
-webkit-font-smoothing: antialiased;
&:hover {
background-color: darken($mit-red, 10%);
border-color: darken($mit-red, 20%);
}
span {
font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
font-style: italic;
}
}
p.ie-warning {
display: block !important;
line-height: 1.3em;
background: yellow;
margin-bottom: lh();
padding: lh();
}
footer {
@extend .wrapper;
@extend .clearfix;
padding-top: 0;
div.footer-wrapper {
border-top: 1px solid #e5e5e5;
padding: lh() 0;
background: url('/static/images/marketing/mit-logo.png') right center no-repeat;
@media screen and (max-width: 780px) {
background-position: left bottom;
padding-bottom: lh(3);
}
a {
color: #888;
text-decoration: none;
@include transition();
&:hover, &:focus {
color: #666;
}
}
p {
@include inline-block();
margin-right: lh();
}
ul {
@include inline-block();
@media screen and (max-width: 780px) {
margin-top: lh();
}
li {
@include inline-block();
margin-bottom: 0;
&:after {
content: ' |';
display: inline;
color: #ccc;
}
&:last-child {
&:after {
content: none;
}
}
}
&.social {
float: right;
margin-right: 60px;
position: relative;
top: -5px;
@media screen and (max-width: 780px) {
float: none;
}
li {
float: left;
margin-right: lh(.5);
&:after {
content: none;
display: none;
}
a {
display: block;
height: 29px;
width: 28px;
text-indent: -9999px;
&:hover {
opacity: .8;
}
}
&.twitter a {
background: url('/static/images/marketing/twitter.png') 0 0 no-repeat;
}
&.facebook a {
background: url('/static/images/marketing/facebook.png') 0 0 no-repeat;
}
&.linkedin a {
background: url('/static/images/marketing/linkedin.png') 0 0 no-repeat;
}
}
}
}
}
}
header.announcement {
@include background-size(cover);
background: #333;
border-bottom: 1px solid #000;
color: #fff;
-webkit-font-smoothing: antialiased;
&.home {
background: #e3e3e3 url("/static/images/marketing/shot-5-medium.jpg");
@media screen and (min-width: 1200px) {
background: #e3e3e3 url("/static/images/marketing/shot-5-large.jpg");
}
div {
padding: lh(10) lh() lh(3);
@media screen and (max-width:780px) {
padding: lh(2.5) lh() lh(2);
}
//hide login link for homepage
nav {
h1 {
margin-right: 0;
}
a.login {
display: none;
}
}
}
}
&.course {
background: #e3e3e3 url("/static/images/marketing/course-bg-small.jpg");
@media screen and (min-width: 1200px) {
background: #e3e3e3 url("/static/images/marketing/course-bg-large.jpg");
}
@media screen and (max-width: 1199px) and (min-width: 700px) {
background: #e3e3e3 url("/static/images/marketing/course-bg-medium.jpg");
}
div {
padding: lh(4) lh() lh(2);
@media screen and (max-width:780px) {
padding: lh(2.5) lh() lh(2);
}
}
}
div {
@extend .wrapper;
position: relative;
nav {
position: absolute;
top: 0;
right: lh();
@include border-radius(0 0 3px 3px);
background: #333;
background: rgba(#000, .7);
padding: lh(.5) lh();
h1 {
@include inline-block();
margin-right: lh(.5);
a {
font: italic 800 18px $header-font-family;
color: #fff;
text-decoration: none;
&:hover, &:focus {
color: #999;
}
}
}
a.login {
text-decoration: none;
color: #fff;
font-size: 12px;
font-style: normal;
font-family: $header-font-family;
&:hover, &:focus {
color: #999;
}
}
}
section {
@extend .clearfix;
background: $mit-red;
@include inline-block();
margin-left: flex-grid(4) + flex-gutter();
padding: lh() lh(1.5);
@media screen and (max-width: 780px) {
margin-left: 0;
}
h1 {
font-family: "Open Sans";
font-size: 30px;
font-weight: 800;
@include inline-block();
line-height: 1.2em;
margin: 0 lh() 0 0;
}
h2 {
font-family: "Open Sans";
font-size: 24px;
font-weight: 400;
@include inline-block();
line-height: 1.2em;
}
&.course {
section {
float: left;
margin-left: 0;
margin-right: flex-gutter(8);
padding: 0;
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
float: none;
width: 100%;
margin-right: 0;
}
a {
@extend .button;
background-color: darken($mit-red, 20%);
border-color: darken($mit-red, 30%);
@include box-shadow(inset 0 1px 0 darken($mit-red, 10%), 0 1px 0 lighten($mit-red, 5%));
display: block;
padding: lh(.5) lh();
text-align: center;
&:hover {
background-color: darken($mit-red, 10%);
border-color: darken($mit-red, 20%);
}
}
}
p {
width: flex-grid(4, 8);
line-height: lh();
float: left;
@media screen and (max-width: 780px) {
float: none;
width: 100%;
}
}
}
}
}
}
section.index-content {
@extend .wrapper;
@extend .clearfix;
section {
@extend .clearfix;
float: left;
@media screen and (max-width: 780px) {
float: none;
width: auto;
margin-right: 0;
}
h1 {
font-size: 800 24px "Open Sans";
margin-bottom: lh();
}
p {
line-height: lh();
margin-bottom: lh();
}
ul {
margin: 0;
}
&.about {
@include box-sizing(border-box);
border-right: 1px solid #e5e5e5;
margin-right: flex-gutter();
padding-right: flex-gutter() / 2;
width: flex-grid(8);
@media screen and (max-width: 780px) {
width: 100%;
border-right: 0;
margin-right: 0;
padding-right: 0;
}
section {
@extend .clearfix;
margin-bottom: lh();
p {
width: flex-grid(4, 8);
float: left;
@media screen and (max-width: 780px) {
float: none;
width: auto;
}
&:nth-child(odd) {
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
}
}
}
&.intro {
section {
margin-bottom: 0;
&.intro-text {
margin-right: flex-gutter(8);
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
margin-right: 0;
width: auto;
}
p {
margin-right: 0;
width: auto;
float: none;
}
}
&.intro-video {
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
width: auto;
}
a {
display: block;
width: 100%;
img {
width: 100%;
}
span {
display: none;
}
}
}
}
}
&.features {
border-top: 1px solid #E5E5E5;
padding-top: lh();
margin-bottom: 0;
h2 {
text-transform: uppercase;
letter-spacing: 1px;
color: #888;
margin-bottom: lh();
font-weight: normal;
font-size: 14px;
span {
text-transform: none;
}
}
p {
width: auto;
clear: both;
strong {
font-family: "Open sans";
font-weight: 800;
}
a {
color: $mit-red;
text-decoration: none;
@include transition();
&:hover, &:focus {
color: darken($mit-red, 15%);
}
}
}
ul {
margin-bottom: 0;
li {
line-height: lh();
width: flex-grid(4, 8);
float: left;
margin-bottom: lh(.5);
@media screen and (max-width: 780px) {
width: auto;
float: none;
}
&:nth-child(odd) {
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
}
}
}
}
}
}
}
&.course, &.staff {
width: flex-grid(4);
@media screen and (max-width: 780px) {
width: auto;
}
h1 {
color: #888;
font: normal $body-font-size $body-font-family;
font-size: 14px;
letter-spacing: 1px;
margin-bottom: lh();
text-transform: uppercase;
}
h2 {
font: 800 24px $header-font-family;
}
h3 {
font: 400 18px $header-font-family;
}
a {
@extend .button;
span.arrow {
color: rgba(#fff, .6);
font-style: normal;
@include inline-block();
padding-left: 10px;
}
}
ul {
list-style: none;
li {
img {
float: left;
margin-right: lh(.5);
}
}
}
}
&.course {
h2 {
padding-top: lh(5);
background: url('/static/images/marketing/circuits-bg.jpg') 0 0 no-repeat;
@include background-size(contain);
@media screen and (max-width: 998px) and (min-width: 781px){
background: url('/static/images/marketing/circuits-medium-bg.jpg') 0 0 no-repeat;
}
@media screen and (max-width: 780px) {
padding-top: lh(5);
background: url('/static/images/marketing/circuits-bg.jpg') 0 0 no-repeat;
}
@media screen and (min-width: 500px) and (max-width: 781px) {
padding-top: lh(8);
}
}
}
// index
//---------------------------------------- //
&.about-course {
@include box-sizing(border-box);
border-right: 1px solid #e5e5e5;
margin-right: flex-gutter();
padding-right: flex-gutter() / 2;
width: flex-grid(8);
@media screen and (max-width: 780px) {
width: auto;
border-right: 0;
margin-right: 0;
padding-right: 0;
}
section {
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
width: auto;
}
&.about-info {
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
}
}
&.requirements {
clear: both;
width: 100%;
border-top: 1px solid #E5E5E5;
padding-top: lh();
margin-bottom: 0;
p {
float: left;
width: flex-grid(4, 8);
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
float: none;
width: auto;
}
&:nth-child(odd) {
margin-right: 0;
}
}
}
&.cta {
width: 100%;
text-align: center;
a.enroll {
@extend .button;
padding: lh(.5) lh(2);
@include inline-block();
text-align: center;
font: 800 18px $header-font-family;
}
}
}
}
&.staff {
h1 {
margin-top: lh(1);
}
}
}
}
section.copyright, section.tos, section.privacy-policy, section.honor-code {
@extend .subpage;
}
// Variables
//---------------------------------------- //
// // grid
$fg-column: 60px;
$fg-gutter: 25px;
$fg-max-columns: 12;
$fg-max-width: 1400px;
$fg-min-width: 781px;
$gw-column: 60px;
$gw-gutter: 25px;
$body-font-family: Georgia, serif;
$header-font-family: "Open Sans", Helvetica, Arial, sans-serif;
$body-font-size: 16px;
$body-line-height: golden-ratio($body-font-size, 1);
// Colors
$mit-red: #933;
$cream: #F6EFD4;
footer {
@extend .clearfix;
@extend .wrapper;
@include box-sizing(border-box);
color: #777;
margin-top: $body-line-height;
padding: 0 $body-line-height;
@media print {
display: none;
}
p {
float: left;
a {
color: #444;
&:link, &:visited {
color: #444;
}
&:hover, &:focus {
color: #000;
}
}
}
nav {
float: right;
ul {
float: left;
li {
display: inline-block;
margin-right: 20px;
a {
color: #444;
&:link, &:visited {
color: #444;
}
&:hover, &:focus {
color: #000;
}
}
}
&.social {
margin-right: 40px;
position: relative;
top: -5px;
@media screen and (max-width: 780px) {
float: none;
}
li {
float: left;
margin-right: lh(.5);
&:after {
content: none;
display: none;
}
a {
display: block;
height: 29px;
width: 28px;
text-indent: -9999px;
&:hover {
opacity: .8;
}
}
&.twitter a {
background: url('/static/images/twitter.png') 0 0 no-repeat;
}
&.facebook a {
background: url('/static/images/facebook.png') 0 0 no-repeat;
}
&.linkedin a {
background: url('/static/images/linkedin.png') 0 0 no-repeat;
}
}
}
}
}
}
div.header-wrapper {
background: $mit-red;
border-bottom: 1px solid #fff;
@include box-shadow(inset 0 -4px 6px darken($mit-red, 5%));
@media print {
display: none;
}
header {
@extend .clearfix;
@extend .wrapper;
@include box-sizing(border-box);
padding: 0 $body-line-height;
hgroup {
@extend .clearfix;
float: left;
min-width: flex-grid(3);
padding-top: 13px;
h1 {
color: darken($mit-red, 25%);
font-size: 18px;
font-weight: 800;
@include inline-block();
line-height: lh();
margin: 0;
padding: 0 lh(.5) 0 0;
text-shadow: 0 1px 0 lighten($mit-red, 10%);
&:after {
color: darken($mit-red, 10%);
content: "•";
display: inline-block;
font-size: 10px;
letter-spacing: -2px;
padding-left: lh(.5);
text-shadow: 0;
}
}
h2 {
font-size: 16px;
@include inline-block();
letter-spacing: 0;
margin: 0;
padding: 0 lh() 0px 0;
text-shadow: 0 -1px 0 darken($mit-red, 10%);
text-transform: none;
-webkit-font-smoothing: antialiased;
a {
color: #fff;
text-decoration: none;
&:hover {
color: rgba(#fff, .7);
}
}
}
@media screen and (max-width: 900px) {
display: block;
float: none;
h1 {
border: 0;
float: left;
}
h2 {
border: 0;
float: left;
margin-right: 0;
}
}
}
nav {
background: #501016;
border-bottom: 1px solid darken(#501016, 10%);
@include border-radius(3px 3px 0 0);
@include box-shadow(inset 0 0 0 1px darken(#501016, 5%), inset 0 2px 0 lighten(#501016, 5%));
display: block;
float: left;
margin: 5px 0 0;
padding: 0;
text-shadow: 0 -1px 0 darken($mit-red, 10%);
-webkit-font-smoothing: antialiased;
ul {
@extend .clearfix;
margin: 0;
li {
line-height: lh();
margin-bottom: 0;
float: left;
a {
color: #fff;
display: block;
font-weight: bold;
padding: 10px lh() 8px;
text-decoration: none;
@media screen and (max-width: 1020px) {
padding: 10px lh(.7) 8px;
}
&:hover {
color: rgba(#fff, .7);
background-color: none;
}
}
}
}
@media screen and (max-width: 900px) {
width: 100%;
float: none;
ul {
li {
padding: auto;
display: table-cell;
width: 16.6666666667%;
text-align: center;
}
}
}
.active {
background: #F4F4F4;
border: 1px solid darken(#501016, 10%);
border-bottom: 0;
@include border-radius(3px 3px 0 0);
@include box-shadow(0 2px 0 #f4f4f4, inset 0 1px 0 #fff);
color: #333;
text-shadow: 0 1px 0 #fff;
}
&.courseware {
li.courseware a {
@extend .active;
}
}
&.book {
li.book a {
@extend .active;
}
}
&.info {
li.info a {
@extend .active;
}
}
&.discussion {
li.discussion a {
@extend .active;
}
}
&.wiki {
li.wiki a {
@extend .active;
}
}
&.profile {
li.profile a {
@extend .active;
}
}
}
}
}
html {
margin-top: 0;
body {
color: $dark-gray;
font: $body-font-size $body-font-family;
text-align: center;
margin: 0;
background: #f4f4f4; //#f3f1e5
section.main-content {
@extend .clearfix;
@extend .wrapper;
background: #fff;
border: 1px solid #bbb;
border-bottom: 1px solid #bbb;
@include box-shadow(0 0 4px #dfdfdf);
@include box-sizing(border-box);
margin-top: 3px;
overflow: hidden;
@media print {
border-bottom: 0;
@include border-radius(none);
}
@media screen and (min-width: 1400px) {
@include border-radius(4px);
margin-top: lh(.5);
}
}
}
}
#lean_overlay {
position: fixed;
z-index:100;
top: 0px;
left: 0px;
height:100%;
width:100%;
background: #000;
display: none;
}
div.leanModal_box {
background: #fff;
border: none;
@include border-radius(3px);
@include box-shadow(0 0 6px #000);
@include box-sizing(border-box);
display: none;
padding: lh(2);
text-align: left;
a.modal_close {
color: #aaa;
display: block;
font-style: normal;
height: 14px;
position: absolute;
right: 12px;
top: 12px;
width: 14px;
z-index: 2;
&:hover{
text-decoration: none;
color: $mit-red;
}
}
h1 {
border-bottom: 1px solid #eee;
font-size: 24px;
margin-bottom: lh();
margin-top: 0;
padding-bottom: lh();
text-align: left;
}
&#enroll {
max-width: 600px;
ol {
@extend .clearfix;
padding-top: lh();
li {
&.terms, &.honor-code {
width: auto;
float: none;
}
div.tip {
display: none;
}
&:hover {
div.tip {
background: #333;
color: #fff;
display: block;
font-size: 16px;
line-height: lh();
margin: 0 0 0 -10px;
padding: 10px;
position: absolute;
-webkit-font-smoothing: antialiased;
width: 500px;
}
}
}
}
}
form {
text-align: left;
div#enroll_error, div#login_error, div#pwd_error {
$error-color: #333;
background-color: $error-color;
border: darken($error-color, 20%);
color: #fff;
font-family: "Open sans";
font-weight: bold;
letter-spacing: 1px;
margin: (-(lh())) (-(lh())) lh();
padding: lh(.5);
text-shadow: 0 1px 0 darken($error-color, 10%);
-webkit-font-smoothing: antialiased;
&:empty {
padding: 0;
}
}
ol {
list-style: none;
margin-bottom: lh();
li {
margin-bottom: lh(.5);
&.terms, &.remember {
border-top: 1px solid #eee;
clear: both;
float: none;
padding-top: lh();
width: auto;
}
&.honor-code {
width: auto;
float: none;
}
label {
display: block;
font-weight: bold;
}
#{$all-text-inputs}, textarea {
width: 100%;
@include box-sizing(border-box);
}
input[type="checkbox"] {
margin-right: 10px;
}
ul {
list-style: disc outside none;
margin: lh(.5) 0 lh() lh();
li {
color: #666;
float: none;
font-size: 14px;
list-style: disc outside none;
margin-bottom: lh(.5);
}
}
}
}
input[type="button"], input[type="submit"] {
@include button($mit-red);
font-size: 18px;
padding: lh(.5);
}
}
}
div#login {
min-width: 400px;
header {
border-bottom: 1px solid #ddd;
margin-bottom: lh();
padding-bottom: lh();
h1 {
border-bottom: 0;
padding-bottom: 0;
margin-bottom: lh(.25);
}
}
ol {
li {
width: auto;
float: none;
}
}
}
div.lost-password {
text-align: left;
margin-top: lh();
a {
color: #999;
&:hover {
color: #444;
}
}
}
div#pwd_reset {
p {
margin-bottom: lh();
}
input[type="email"] {
margin-bottom: lh();
}
}
div#apply_name_change,
div#change_email,
div#unenroll_course {
max-width: 700px;
ul {
list-style: none;
li {
margin-bottom: lh(.5);
textarea, #{$all-text-inputs} {
display: block;
width: 100%;
@include box-sizing(border-box);
}
textarea {
height: 60px;
}
}
}
}
div#feedback_div{
form{
ol {
li {
float: none;
width: 100%;
textarea#feedback_message {
height: 100px;
}
}
}
}
}
div#calculator_div {
max-width: 500px;
form {
padding-bottom: lh();
margin-bottom: lh();
border-bottom: 1px solid #ddd;
input#calculator_input {
width: 400px;
}
input#calculator_button {
background: 0;
color: $mit-red;
border: 0;
@include box-shadow(none);
padding: 0;
text-shadow: none;
&:hover {
color: #333;
}
}
input#calculator_output {
border: 0;
background: none;
padding: lh(.35);
font-size: 24px;
width: 378px;
font-weight: bold;
margin-top: 4px;
}
}
dl {
dt {
float: left;
clear: both;
padding-right: lh(.5);
font-weight: bold;
}
dd {
float: left;
}
}
}
body {
margin: 0;
padding: 0;
}
.wrapper, .subpage, section.copyright, section.tos, section.privacy-policy, section.honor-code, header.announcement div, section.index-content, footer {
margin: 0;
overflow: hidden;
}
div#enroll {
form {
display: none;
}
}
@import "bourbon/bourbon";
@import "base/reset", "base/font-face", "base/functions";
// pages
@import "index/variables", "index/extends", "index/base", "index/header", "index/footer", "index/index";
@import "layout/leanmodal";
/*
* jQuery UI CSS Framework 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*
* jQuery UI CSS Framework 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Helvetica,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=2px&bgColorHeader=7fbcfd&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=50&borderColorHeader=dae5c9&fcHeader=031634&iconColorHeader=031634&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=dae5c9&fcContent=031634&iconColorContent=adcc80&bgColorDefault=7fbcdf&bgTextureDefault=03_highlight_soft.png&bgImgOpacityDefault=100&borderColorDefault=dae5c9&fcDefault=7a994c&iconColorDefault=adcc80&bgColorHover=bddeff&bgTextureHover=03_highlight_soft.png&bgImgOpacityHover=25&borderColorHover=7fbcdf&fcHover=7a994c&iconColorHover=adcc80&bgColorActive=023063&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=dae5c9&fcActive=dae5c9&iconColorActive=454545&bgColorHighlight=ffffff&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=cccccc&fcHighlight=444444&iconColorHighlight=adcc80&bgColorError=ffffff&bgTextureError=01_flat.png&bgImgOpacityError=55&borderColorError=fa720a&fcError=222222&iconColorError=fa720a&bgColorOverlay=eeeeee&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=80&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=60&thicknessShadow=4px&offsetTopShadow=-4px&offsetLeftShadow=-4px&cornerRadiusShadow=0px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Helvetica, Arial, sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Helvetica, Arial, sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #dae5c9; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #031634; }
.ui-widget-content a { color: #031634; }
.ui-widget-header { border: 1px solid #dae5c9; background: #7fbcfd url(images/ui-bg_highlight-soft_50_7fbcfd_1x100.png) 50% 50% repeat-x; color: #031634; font-weight: bold; }
.ui-widget-header a { color: #031634; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #dae5c9; background: #7fbcdf url(images/ui-bg_highlight-soft_100_7fbcdf_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #7a994c; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #7a994c; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #7fbcdf; background: #bddeff url(images/ui-bg_highlight-soft_25_bddeff_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #7a994c; }
.ui-state-hover a, .ui-state-hover a:hover { color: #7a994c; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #dae5c9; background: #023063 url(images/ui-bg_glass_65_023063_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #dae5c9; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #dae5c9; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #cccccc; background: #ffffff url(images/ui-bg_flat_55_ffffff_40x100.png) 50% 50% repeat-x; color: #444444; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #444444; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #fa720a; background: #ffffff url(images/ui-bg_flat_55_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #222222; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #222222; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_adcc80_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_adcc80_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_031634_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_adcc80_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_adcc80_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_adcc80_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_fa720a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 2px; -webkit-border-top-left-radius: 2px; -khtml-border-top-left-radius: 2px; border-top-left-radius: 2px; }
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 2px; -webkit-border-top-right-radius: 2px; -khtml-border-top-right-radius: 2px; border-top-right-radius: 2px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 2px; -webkit-border-bottom-left-radius: 2px; -khtml-border-bottom-left-radius: 2px; border-bottom-left-radius: 2px; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 2px; -webkit-border-bottom-right-radius: 2px; -khtml-border-bottom-right-radius: 2px; border-bottom-right-radius: 2px; }
/* Overlays */
.ui-widget-overlay { background: #eeeeee url(images/ui-bg_flat_0_eeeeee_40x100.png) 50% 50% repeat-x; opacity: .80;filter:Alpha(Opacity=80); }
.ui-widget-shadow { margin: -4px 0 0 -4px; padding: 4px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); -moz-border-radius: 0px; -khtml-border-radius: 0px; -webkit-border-radius: 0px; border-radius: 0px; }/*
* jQuery UI Resizable 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
* jQuery UI Selectable 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectable#theming
*/
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
/*
* jQuery UI Accordion 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Accordion#theming
*/
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }
/*
* jQuery UI Autocomplete 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Autocomplete#theming
*/
.ui-autocomplete { position: absolute; cursor: default; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.16
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
/*
* jQuery UI Button 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Button#theming
*/
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
/*
* jQuery UI Dialog 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Dialog#theming
*/
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/*
* jQuery UI Slider 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Slider#theming
*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
* jQuery UI Tabs 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs#theming
*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/*
* jQuery UI Datepicker 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/*
* jQuery UI Progressbar 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Progressbar#theming
*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
\ No newline at end of file
section.wiki-body {
h1 {
font-weight: bold;
font-size: 2em;
margin-bottom: 25px;
}
div#wiki_article {
html, address, blockquote, body, dd, div, dl, dt, fieldset, form, frame, frameset, h1, h2, h3, h4, h5, h6, noframes, ol, p, ul, center, dir, hr, menu, pre {
display: block;
unicode-bidi: embed
}
li {
display: list-item
}
head {
display: none
}
table {
display: table
}
tr {
display: table-row
}
thead {
display: table-header-group
}
tbody {
display: table-row-group
}
tfoot {
display: table-footer-group
}
col { display: table-column }
colgroup { display: table-column-group }
td, th { display: table-cell }
caption {
display: table-caption
}
th {
font-weight: bolder;
text-align: center
}
caption {
text-align: center
}
h1 {
font-size: 1.6em;
margin: .67em 0;
letter-spacing: 0px;
}
h2 {
text-transform: none;
font-size: 1.4em;
margin: .75em 0;
letter-spacing: 0px;
}
h3 {
font-size: 1.2em;
margin: .83em 0;
}
h4 {
font-size: 1.1em;
}
h4, p, blockquote, ul, fieldset, form, ol, dl, dir, menu { margin: 1.12em 0 }
h5 { font-size: 1em; margin: 1.5em 0 }
h6 { font-size: 0.5em; margin: 1.67em 0 }
b, strong { font-weight: bolder }
blockquote {
padding: 10px 20px;
background: #e3e3e3;
border-left: 4px solid;
}
i, cite, em, var, address { font-style: italic }
pre, tt, code, kbd, samp {
font-family: monospace;
}
pre { white-space: pre }
button, textarea, input, select { display: inline-block }
big { font-size: 1.17em }
small, sub, sup { font-size: .83em }
sub { vertical-align: sub }
sup { vertical-align: super }
table { border-spacing: 2px; }
thead, tbody, tfoot { vertical-align: middle }
td, th, tr { vertical-align: inherit }
s, strike, del { text-decoration: line-through }
hr { height: 1px; background: #999; border: none;}
ol, ul, dir, menu, dd { margin-left: 40px }
ol { list-style-type: decimal }
ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 }
u, ins { text-decoration: underline }
br:before { content: "\A"; white-space: pre-line }
center { text-align: center }
}
}
form#wiki_revision {
float: left;
width: flex-grid(6, 9);
margin-right: flex-gutter(9);
label {
display: block;
margin-bottom: 7px ;
}
textarea {
@include box-sizing(border-box);
margin-bottom: 20px;
min-height: 450px;
width: 100%;
}
input[type="text"] {
display: block;
width: 50%;
}
#submit_delete {
@include box-shadow(none);
background: none;
border: none;
color: #999;
float: right;
text-decoration: underline;
font-weight: normal;
}
input[type="submit"] {
margin-top: 20px;
}
}
#wiki_edit_instructions {
float: left;
width: flex-grid(3, 9);
margin-top: lh();
color: #666;
&:hover {
color: #333;
}
.markdown-example {
background-color: #e3e3e3;
text-shadow: 0 1px 0 #fff;
padding: {
top: 5px;
right: 2px;
bottom: 5px;
left: 5px;
}
margin: 5px 0 7px;
line-height: 1.0;
}
}
div#wiki_panel {
@extend .sidebar;
overflow: auto;
h2 {
padding: lh(.5) lh();
font-size: 18px;
margin: 0 ;
@extend .bottom-border;
}
input[type="button"] {
@extend h3;
@include transition();
color: lighten($text-color, 10%);
font-size: $body-font-size;
margin: 0 !important;
padding: 7px lh();
text-align: left;
width: 100%;
&:hover {
@include box-shadow(0 1px 0 #fff);
background: #efefef;
}
}
ul {
li {
&.search {
@include box-shadow(0 1px 0 #eee);
border-bottom: 1px solid #d3d3d3;
padding: 7px lh();
label {
display: none;
}
}
&.create-article {
h3 {
a {
padding: 7px lh();
}
}
}
}
}
div#wiki_create_form {
@extend .clearfix;
padding: 15px;
background: #d6d6d6;
border-bottom: 1px solid #bbb;
input[type="text"] {
margin-bottom: 6px;
display: block;
width: 100%;
@include box-sizing(border-box);
}
ul {
list-style: none;
li {
float: left;
&#cancel {
float: right;
margin-top: 10px;
}
}
}
}
}
table.wiki-history {
thead {
background: #ddd;
// border-bottom: 1px solid #ddd;
tr {
height: 40px;
th {
padding-top: 10px;
padding-left: 15px;
&#revision {
width: 5%;
}
&#comment {
width: 15%;
}
&#diff {
width: 60%;
}
&#modified {
width:20%;
}
}
}
}
tbody {
tr td {
padding: 8px 15px;
}
}
tr.dark {
background-color: #efefef;
}
}
div.history-controls {
margin-top: 20px;
input[type="submit"] {
@extend .light-button;
}
}
div.wiki-wrapper {
display: table;
width: 100%;
section.wiki-body {
@extend .clearfix;
@extend .content;
position: relative;
header {
@extend .topbar;
height:46px;
@include box-shadow(inset 0 1px 0 white);
&:empty {
display: none !important;
border-bottom: 0;
}
a {
@extend .block-link;
}
p {
float: left;
margin-bottom: 0;
color: darken($cream, 55%);
line-height: 46px;
padding-left: lh();
}
ul {
float: right;
list-style: none;
li {
float: left;
input[type="button"] {
@extend .block-link;
background-color: darken($cream, 5%);
background-position: 12px center;
background-repeat: no-repeat;
border: 0;
border-left: 1px solid darken(#f6efd4, 20%);
@include border-radius(0);
@include box-shadow(inset 1px 0 0 lighten(#f6efd4, 5%));
color: darken($cream, 80%);
display: block;
font-weight: normal;
font-size: 12px;
letter-spacing: 1px;
line-height: 46px;
margin: 0;
padding: 0 lh() 0 38px;
text-shadow: none;
text-transform: uppercase;
@include transition();
&.view {
background-image: url('/static/images/sequence-nav/view.png');
}
&.history {
background-image: url('/static/images/sequence-nav/history.png');
}
&.edit {
background-image: url('/static/images/sequence-nav/edit.png');
}
&:hover {
background-color: transparent;
}
}
}
}
}
h2.wiki-title {
@include box-sizing(border-box);
display: inline-block;
float: left;
margin-bottom: 15px;
margin-top: 0;
padding-right: flex-gutter(9);
vertical-align: top;
width: flex-grid(2.5, 9);
@media screen and (max-width:900px) {
display: block;
width: auto;
border-right: 0;
}
@media print {
display: block;
width: auto;
border-right: 0;
}
}
p {
line-height: 1.6em;
}
section.results {
@include box-sizing(border-box);
display: inline-block;
border-left: 1px dashed #ddd;
float: left;
padding-left: 10px;
width: flex-grid(6.5, 9);
@media screen and (max-width:900px) {
border: 0;
display: block;
padding-left: 0;
width: 100%;
width: auto;
}
@media print {
display: block;
width: auto;
padding: 0;
canvas, img {
page-break-inside: avoid;
}
}
ul.article-list {
margin-left: 15px;
width: 100%;
@media screen and (max-width:900px) {
margin-left: 0px;
}
li {
list-style: none;
margin: 0;
padding: 10px 0;
border-bottom: 1px solid #eee;
&:last-child {
border-bottom: 0;
}
h3 {
font-size: 18px;
font-weight: normal;
}
}
}
}
}
}
<span>
<input type="hidden" class="schematic" height="${height}" width="${width}" parts="${parts}" analyses="${analyses}" name="input_${id}" id="input_${id}" value="" initial_value=""/>
<div id="value_${id}" style="display:none">${value}</div>
<div id="initial_value_${id}" style="display:none">${initial_value}</div>
<div id="submit_value_${id}" style="display:none">${submit_analyses}</div>
<script>
$("#input_${id}").attr("value",$("#value_${id}").text());
$("#input_${id}").attr("initial_value",$("#initial_value_${id}").text());
$("#input_${id}").attr("submit_analyses",$("#submit_value_${id}").text());
</script>
<span id="answer_${id}"></span>
% if state == 'unsubmitted':
<span class="ui-icon ui-icon-bullet" style="display:inline-block;" id="status_${id}"></span>
% elif state == 'correct':
<span class="ui-icon ui-icon-check" style="display:inline-block;" id="status_${id}"></span>
% elif state == 'incorrect':
<span class="ui-icon ui-icon-close" style="display:inline-block;" id="status_${id}"></span>
% elif state == 'incomplete':
<span class="ui-icon ui-icon-close" style="display:inline-block;" id="status_${id}"></span>
% endif
</span>
<nav class="sequence-nav">
<ol>
% for t in range(1,1+len(items)):
<li><a href="#" class="seq_inactive" id="tt_${ t }"></a></li>
% endfor
</ol>
<ul>
<li class="${ id }prev prev"><a href="#">Previous</a></li>
<li class="${ id }next next"><a href="#">Next</a></li>
</ul>
</nav>
<div id="seq_content"></div>
<nav class="sequence-bottom">
<ul>
<li class="${ id }prev prev"><a href="#">Previous</a></li>
<li class="${ id }next next"><a href="#">Next</a></li>
</ul>
</nav>
// IMPORTANT TODO: Namespace
var ${ id }contents=["",
%for t in items:
${t['content']} ,
%endfor
""
];
var ${ id }types=["",
%for t in items:
"${t['type']}" ,
%endfor
""
];
var ${ id }init_functions=["",
%for t in items:
function(){ ${t['init_js']} },
%endfor
""];
var ${ id }titles=${titles};
var ${ id }destroy_functions=["",
%for t in items:
function(){ ${t['destroy_js']} },
%endfor
""];
var ${ id }loc = -1;
function disablePrev() {
var i=${ id }loc-1;
log_event("seq_prev", {'old':${id}loc, 'new':i,'id':'${id}'});
if (i < 1 ) {
$('.${ id }prev a').addClass('disabled');
} else {
$('.${ id }prev a').removeClass('disabled');
};
}
function disableNext() {
var i=${ id }loc+1;
log_event("seq_next", {'old':${id}loc, 'new':i,'id':'${id}'});
if(i > ${ len(items) } ) {
$('.${ id }next a').addClass('disabled');
} else {
$('.${ id }next a').removeClass('disabled');
};
}
function ${ id }goto(i) {
log_event("seq_goto", {'old':${id}loc, 'new':i,'id':'${id}'});
postJSON('/modx/sequential/${ id }/goto_position',
{'position' : i });
if (${ id }loc!=-1)
${ id }destroy_functions[ ${ id }loc ]();
$('#seq_content').html(${ id }contents[i]);
${ id }init_functions[i]()
//$('#tt_'+${ id }loc).attr("style", "background-color:gray");
$('#tt_'+${ id }loc).removeClass();
$('#tt_'+${ id }loc).addClass("seq_"+${ id }types[${ id }loc]+"_visited");
${ id }loc=i;
//$('#tt_'+i).attr("style", "background-color:red");
$('#tt_'+i).removeClass();
$('#tt_'+i).addClass("seq_"+${ id }types[${ id }loc]+"_active");
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
disableNext();
disablePrev();
}
function ${ id }setup_click(i) {
$('#tt_'+i).click(function(eo) { ${ id }goto(i);});
$('#tt_'+i).addClass("seq_"+${ id }types[i]+"_inactive");
$('#tt_'+i).parent().append("<p>" + ${ id }titles[i-1] + "</p>");
}
function ${ id }next() {
var i=${ id }loc+1;
log_event("seq_next", {'old':${id}loc, 'new':i,'id':'${id}'});
if(i > ${ len(items) } ) {
i = ${ len(items) };
} else {
${ id }goto(i);
};
}
function ${ id }prev() {
var i=${ id }loc-1;
log_event("seq_prev", {'old':${id}loc, 'new':i,'id':'${id}'});
if (i < 1 ) {
i = 1;
} else {
${ id }goto(i);
};
}
$(function() {
var i;
for(i=1; i<${ len(items)+1 }; i++) {
${ id }setup_click(i);
}
$('.${ id }next a').click(function(eo) { ${ id }next(); return false;});
$('.${ id }prev a').click(function(eo) { ${ id }prev(); return false;});
${ id }goto( ${ position } );
});
<%inherit file="main.html" />
<section class="activation">
<h1>Currently the <em>MITx</em> servers are down</h1>
<p>Our staff is currently working to get the site back up as soon as possible. Please email us at <a href="mailto:technical@mitx.mit.edu">technical@mitx.mit.edu</a> to report any problems or downtime.</p>
</section>
<%inherit file="main.html" />
<section class="activation">
<h1>There has been an error on the <em>MITx</em> servers</h1>
<p>Our staff is currently working to get the site back up as soon as possible. Please email us at <a href="mailto:technical@mitx.mit.edu">technical@mitx.mit.edu</a> to report any problems or downtime.</p>
</section>
<%inherit file="main.html" />
<section class="activation">
<h1>Currently the <em>MITx</em> servers are overloaded</h1>
<p>Our staff is currently working to get the site back up as soon as possible. Please email us at <a href="mailto:technical@mitx.mit.edu">technical@mitx.mit.edu</a> to report any problems or downtime.</p>
</section>
<div align="center" id="div_wiki_circuit_${name}" class="div_wiki_circuit">
</div>
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="main.html"/>
<%block name="headextra">
<!-- <link rel="stylesheet" media="screen,print" href="/static/simplewiki/css/base.css" /> -->
<!-- <link rel="stylesheet" media="print" href="/static/simplewiki/css/base_print.css" /> -->
<!-- <link rel="stylesheet" href="/static/simplewiki/css/autosuggest_inquisitor.css" /> -->
<!-- <link rel="stylesheet" href="/static/css/local.css" type="text/css" media="all" /> -->
<script type="text/javascript" src="/static/simplewiki/js/bsn.AutoSuggest_c_2.0.js"></script>
<%!
from django.core.urlresolvers import reverse
%>
<script type="text/javascript">
function set_related_article_id(s) {
document.getElementById('wiki_related_input_id').value = s.id;
document.getElementById('wiki_related_input_submit').disabled=false;
}
%if wiki_article is not UNDEFINED:
var x = window.onload;
window.onload = function(){
var options = {
script: "${reverse("search_related", args=[wiki_article.get_url()] )}/?self=${wiki_article.pk}&",
json: true,
varname: "query",
maxresults: 35,
callback: set_related_article_id,
noresults: "Nothing found!"
};
var as = new AutoSuggest('wiki_related_input', options);
if (typeof x == 'function')
x();
}
%endif
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {inlineMath: [ ['$','$'], ["\\(","\\)"]],
displayMath: [ ['$$','$$'], ["\\[","\\]"]]}
});
</script> <script type="text/javascript" src="${ settings.LIB_URL }mathjax/MathJax.js?config=TeX-AMS_HTML-full"></script>
<script>
$(function(){
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
$(".div_wiki_circuit").each(function(d,e) {
id = $(this).attr("id");
name = id.substring(17);
//alert(name);
$("#"+id).load("/edit_circuit/"+name, function(){update_schematics();});
f=this;
});
$("#wiki_create_form").hide();
$("#create-article").click(function() {
$("#wiki_create_form").slideToggle();
$(this).parent().toggleClass("active");
});
});
</script>
<%block name="wiki_head"/>
</%block>
<%block name="bodyextra">
<%include file="navigation.html" args="active_page='wiki'" />
<section class="main-content">
<div class="wiki-wrapper">
<%block name="wiki_panel">
<div id="wiki_panel">
<h2>Course Wiki</h2>
<%
if (wiki_article is not UNDEFINED):
baseURL = reverse("wiki_view", args=[wiki_article.get_url()])
else:
baseURL = reverse("wiki_view", args=["/"])
%>
<ul class="action">
<li>
<input type="button" onclick="javascript:location.href='${reverse("wiki_list_articles", args=[])}'" value="All articles" class="button" />
</li>
<li class="create-article">
<h3>
<a href="#" id="create-article"/>Create Article</a>
</h3>
<div id="wiki_create_form">
<%
theaction = "this.wiki_article_name.value.replace(/([^a-zA-Z0-9\-])/g, '')"
baseURL = reverse("wiki_create", args=["/"])
%>
<form method="GET" onsubmit="this.action='${baseURL + "' + " + theaction};">
<div>
<label for="id_wiki_article_name">Title of article</label>
<input type="text" name="wiki_article_name" id="id_wiki_article_name" /><br/>
<!-- <label for="id_wiki_article_is_child">Create as a child of current article</label> -->
<!-- <input type="checkbox" name="wiki_article_is_child" id="id_wiki_artcile_is_child" disabled="true" ${ 'checked="checked"' if wiki_article is not UNDEFINED else ""}> -->
</div>
<ul>
<li>
<input type="submit" class="button" value="Create" style="display: inline-block; margin-right: 2px; font-weight: bold;" />
</li>
</ul>
</form>
</div>
</li>
<li class="search">
<form method="POST" action='${reverse("wiki_search_articles", args=[])}'>
<label class="wiki_box_title">Search</label>
<div style="display:none">
<input type="hidden" name="csrfmiddlewaretoken" value="${csrf_token}"/>
</div>
<input type="text" placeholder="Search" name="value" id="wiki_search_input" style="width: 71%" value="${wiki_search_query if wiki_search_query is not UNDEFINED else '' |h}"/>
<input type="submit" id="wiki_search_input_submit" value="Go!" style="width: 20%" />
</form>
</li>
</ul>
</div>
</%block>
<section class="wiki-body">
%if wiki_article is not UNDEFINED:
<header>
%if wiki_article.locked:
<p><strong>This article has been locked</strong></p>
%endif
<p>Last modified: ${wiki_article.modified_on.strftime("%b %d, %Y, %I:%M %p")}</p>
%endif
%if wiki_article is not UNDEFINED:
<ul>
<li>
<input type="button" onclick="javascript:location.href='${reverse("wiki_view", args=[wiki_article.get_url()])}'" value="View" class="view" />
</li>
<li>
<input type="button" onclick="javascript:location.href='${reverse("wiki_edit", args=[wiki_article.get_url()])}'" value="Edit" ${'disabled="true"' if not wiki_write else ""} class="edit"/>
</li>
<li>
<input type="button" onclick="javascript:location.href='${reverse("wiki_history", args=[wiki_article.get_url(),1])}'" value="History" class="button history" />
</li>
</ul>
</header>
%endif
<%block name="wiki_page_title"/>
<%block name="wiki_body"/>
</section>
</div>
</section>
</%block>
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="simplewiki_base.html"/>
<%block name="title"><title>Create Article - MITx 6.002x Wiki</title></%block>
<%block name="wiki_page_title">
<h1>Create article</h1>
</%block>
<%block name="wiki_body">
<form method="POST" id="wiki_revision">
<div style="display:none">
<input type="hidden" name="csrfmiddlewaretoken" value="${csrf_token}"/>
</div>
${ wiki_form }
<input type="submit" value="Create article" /></td>
</form>
<%include file="simplewiki_instructions.html"/>
</%block>
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="simplewiki_base.html"/>
<%block name="title"><title>${"Edit " + wiki_title + " - " if wiki_title is not UNDEFINED else ""}MITx 6.002x Wiki</title></%block>
<%block name="wiki_page_title">
<h1>${ wiki_article.title }</h1>
</%block>
<%block name="wiki_head">
<script>
$(function() {
//Store the initial contents of #id_contents (the wiki body field) so we can compare for unsaved changes
$("#id_contents").data('initial_contents', $("#id_contents").val());
window.onbeforeunload = function askConfirm() { //Warn the user before they navigate away
if ( $("#id_contents").val() != $("#id_contents").data('initial_contents') ) {
return "You have made changes to the article that have not been saved yet.";
}
};
$("#submit_edit").click(function() {
$("#id_contents").data('initial_contents', $("#id_contents").val());
});
});
</script>
</%block>
<%block name="wiki_body">
<form method="POST" id="wiki_revision">
<div style="display:none">
<input type="hidden" name="csrfmiddlewaretoken" value="${csrf_token}"/>
</div>
${wiki_form}
<input type="submit" id="submit_edit" name="edit" value="Save Changes" />
<input type="submit" id="submit_delete" name="delete" value="Delete article" />
</form>
<%include file="simplewiki_instructions.html"/>
</%block>
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="simplewiki_base.html"/>
<%!
from django.core.urlresolvers import reverse
%>
<%block name="title"><title>Oops... - MITx 6.002x Wiki</title></%block>
<%block name="wiki_page_title">
<h1>Oops...</h1>
</%block>
<%block name="wiki_body">
<div class="wiki_error">
%if wiki_error is not UNDEFINED:
${wiki_error}
%endif
%if wiki_err_notfound is not UNDEFINED:
%if wiki_url is not UNDEFINED:
<p>
The page you requested could not be found.
Click <a href="${reverse("wiki_create", args=[wiki_url])}">here</a> to create it.
</p>
%else:
<p>
Or maybe rather: Congratulations! It seems that there's no root
article, which is probably because you just installed simple-wiki
and your installation is working. Now you can create the root article.
Click <a href="{% url wiki_create "" %}">here</a> to create it.
</p>
%endif
%else:
%if wiki_err_noparent is not UNDEFINED:
<p>
You cannot create this page, because its parent
does not exist. Click <a href="${reverse("wiki_create", args=[wiki_url_parent])}">here</a>
to create it.
</p>
%else:
%if wiki_err_keyword is not UNDEFINED and wiki_err_keyword:
<p>
The page you're trying to create <b>${wiki_url}</b> starts with <b>_</b>, which is reserved for internal use.
</p>
%elif wiki_err_locked is not UNDEFINED and wiki_err_locked:
<p>
The article you are trying to modify is locked.
</p>
%elif wiki_err_noread is not UNDEFINED and wiki_err_noread:
<p>
You do not have access to read this article.
</p>
%elif wiki_err_nowrite is not UNDEFINED and wiki_err_nowrite:
<p>
You do not have access to edit this article.
</p>
%elif wiki_err_noanon is not UNDEFINED and wiki_err_noanon:
<p>
Anonymous attachments are not allowed. Try logging in.
</p>
%elif wiki_err_create is not UNDEFINED and wiki_err_create:
<p>
You do not have access to create this article.
</p>
%elif wiki_err_encode is not UNDEFINED and wiki_err_encode:
<p>
The url you requested could not be handled by the wiki.
Probably you used a bad character in the URL.
Only use digits, English letters, underscore and dash. For instance
/wiki/An_Article-1
</p>
%elif wiki_err_deleted is not UNDEFINED and wiki_err_deleted:
<p>
The article you tried to access has been deleted. You may be able to restore it to an earlier version in its <a href="${reverse("wiki_history", args=[wiki_article.get_url(),1])}">history</a>, or <a href="${reverse("wiki_edit", args=[wiki_article.get_url()])}">create a new version</a>.
</p>
%elif wiki_err_norevision is not UNDEFINED:
<p>
This article does not contain revision ${wiki_err_norevision | h}.
</p>
%else:
<p>
An error has occured.
</p>
%endif
%endif
%endif
</div>
</%block>
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="simplewiki_base.html"/>
<%block name="title"><title>${"Revision history of " + wiki_title + " - " if wiki_title is not UNDEFINED else ""}MITx 6.002x Wiki</title></%block>
<%!
from django.core.urlresolvers import reverse
%>
<%block name="wiki_page_title">
<h1>
${ wiki_article.title }
</h1>
</%block>
<%block name="wiki_body">
<form method="POST">
<div style="display:none">
<input type="hidden" name="csrfmiddlewaretoken" value="${csrf_token}"/>
</div>
<table id="wiki_history_table" class="wiki-history">
<thead>
<tr>
<th id="revision">Revision</th>
<th id="comment">Comment</th>
<th id="diff">Diff</th>
<th id="modified">Modified</th>
</tr>
</thead>
<tbody>
<% loopCount = 0 %>
%for revision in wiki_history:
%if revision.deleted < 2 or show_delete_revision:
<% loopCount += 1 %>
<tr style="border-top: 1px" class="${'dark ' if (loopCount % 2) == 0 else ''}${'deleted ' if (revision.deleted==2) else ''}" >
<td width="15px">
<input type="radio" name="revision" id="${revision.id}" value="${revision.id}"${"checked" if wiki_article.current_revision.id == revision.id else ""}/>
<label for="${revision.id}">
${ revision }
%if revision.previous_revision:
%if not revision.counter == revision.previous_revision.counter + 1:
<br/>(based on ${revision.previous_revision})
%endif
%endif
</label>
</td>
<td>
${ revision.revision_text if revision.revision_text else "<i>None</i>" }</td>
<td class="diff">
%for x in revision.get_diff():
${x|h}<br/>
%endfor </td>
<td>${revision.get_user()}
<br/>
${revision.revision_date.strftime("%b %d, %Y, %I:%M %p")}
</td>
</tr>
%endif
%endfor
</tbody>
%if wiki_prev_page or wiki_next_page:
<tfoot>
<tr>
<td colspan="4">
%if wiki_prev_page:
<a href="${reverse("wiki_history", args=[wiki_article.get_url(), wiki_prev_page])}">Previous page</a>
%endif
%if wiki_next_page:
<a href="${reverse("wiki_history", args=[wiki_article.get_url(), wiki_next_page])}">Next page</a>
%endif
</td>
</tr>
</tfoot>
%endif
</table>
<div class="history-controls"><input type="submit" name="view" value="View revision"/>
<input type="submit" name="change" value="Change to revision"
%if not wiki_write:
disabled="true"
%endif
/>
%if show_delete_revision:
<input type="submit" name="delete" value="Delete revision"/>
<input type="submit" name="restore" value="Restore revision"/>
<input type="submit" name="delete_all" value="Delete all revisions">
<input type="submit" name="lock_article" value="${'Lock Article' if not wiki_article.locked else 'Unlock Article'}">
%endif
</div>
</form>
</%block>
<div id="wiki_edit_instructions">
This wiki uses <strong>Markdown</strong> for styling. There are several <a href="http://daringfireball.net/projects/markdown/basics">useful</a> <a href="http://greg.vario.us/doc/markdown.txt">guides</a> <a href="http://www.lowendtalk.com/discussion/6/miniature-markdown-guide">online</a>.
<br>
<br>MITx Additions:
<p class="markdown-example">circuit:basic</p>
<p class="markdown-example"><span>$</span>LaTeX Math Expression<span>$</span></p>
To create a new wiki article, create a link to it. Clicking the link gives you the creation page.
<p class="markdown-example">[Article Name](wiki:ArticleName)</p>
Other useful examples:<br>
<p class="markdown-example">[Link](http://google.com)</p>
<p class="markdown-example">Huge Header
<br>====</p>
<p class="markdown-example">Smaller Header
<br>-------</p>
<p class="markdown-example">*emphasis* or _emphasis_</p>
<p class="markdown-example">**strong** or __strong__</p>
<p class="markdown-example">- Unordered List
<br>&nbsp&nbsp- Sub Item 1
<br>&nbsp&nbsp- Sub Item 2</p>
<p class="markdown-example">1. Ordered
<br>2. List</p>
</div>
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="simplewiki_base.html"/>
<%block name="title"><title>Revision feed - MITx 6.002x Wiki</title></%block>
<%!
from django.core.urlresolvers import reverse
%>
<%block name="wiki_page_title">
<h1>Revision Feed - Page ${wiki_page}</h1>
</%block>
<%block name="wiki_body">
<table id="wiki_history_table" class="wiki-history">
<thead>
<tr>
<th id="revision">Revision</th>
<th id="comment">Comment</th>
<th id="diff">Diff</th>
<th id="modified">Modified</th>
</tr>
</thead>
<tbody>
<% loopCount = 0 %>
%for revision in wiki_history:
%if revision.deleted < 2 or show_delete_revision:
<% loopCount += 1 %>
<tr style="border-top: 1px" class="${'dark ' if (loopCount % 2) == 0 else ''}${'deleted ' if (revision.deleted==2) else ''}" >
<td width="15px">
<a href="${reverse('wiki_view_revision',args=[revision.counter, revision.article.get_url()])}"> ${revision.article.title} - ${revision}</a>
</td>
<td>
${ revision.revision_text if revision.revision_text else "<i>None</i>" }</td>
<td class="diff">
%for x in revision.get_diff():
${x|h}<br/>
%endfor </td>
<td>${revision.get_user()}
<br/>
${revision.revision_date.strftime("%b %d, %Y, %I:%M %p")}
</td>
</tr>
%endif
%endfor
</tbody>
%if wiki_prev_page or wiki_next_page:
<tfoot>
<tr>
<td colspan="4">
%if wiki_prev_page:
<a href="${reverse("wiki_revision_feed", args=[wiki_prev_page])}">Previous page</a>
%endif
%if wiki_next_page:
<a href="${reverse("wiki_revision_feed", args=[wiki_next_page])}">Next page</a>
%endif
</td>
</tr>
</tfoot>
%endif
</table>
</%block>
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="simplewiki_base.html"/>
<%block name="title"><title>Search Results - MITx 6.002x Wiki</title></%block>
<%!
from django.core.urlresolvers import reverse
%>
<%block name="wiki_page_title">
<h2 class="wiki-title">
%if wiki_search_query:
Search results for ${wiki_search_query | h}
%else:
Displaying all articles
%endif
</h2>
</%block>
<%block name="wiki_body">
<section class="results">
<ul class="article-list">
%for article in wiki_search_results:
<% article_deleted = not article.current_revision.deleted == 0 %>
<li><h3><a href="${reverse("wiki_view", args=[article.get_url()])}">${article.title} ${'(Deleted)' if article_deleted else ''}</a></h3></li>
%endfor
%if not wiki_search_results:
No articles matching <b>${wiki_search_query if wiki_search_query is not UNDEFINED else ""} </b>!
%endif
</ul>
</section>
</%block>
##This file is based on the template from the SimpleWiki source which carries the GPL license
##This file has been converted to Mako, but not tested. It is because uploads are disabled for the wiki. If they are reenabled, this may contain bugs.
<%!
from django.template.defaultfilters import filesizeformat
%>
%if started:
<script type="text/javascript">
parent.document.getElementById("wiki_attach_progress_container").style.display='block';
</script>
%else:
%if finished:
<script type="text/javascript">
parent.document.getElementById("wiki_attach_progress_container").style.display='none';
parent.location.reload();
</script>
%else:
%if overwrite_warning:
<script type="text/javascript">
if (confirm('Warning: The filename already exists? Really overwrite ${ filename }?'))
parent.document.getElementById("wiki_attach_overwrite").checked=true;
parent.document.getElementById("wiki_attach_overwrite").form.submit();
</script>
%else:
%if too_big:
<script type="text/javascript">
alert('File is too big. Maximum: ${filesizeformat(max_size)}\nYour file was: ${filesizeformat(file.size)}');
</script>
%else:
<script type="text/javascript">
parent.document.getElementById("wiki_attach_progress").style.width='${progress_width}%';
</script>
%endif
%endif
%endif
%endif
##This file is based on the template from the SimpleWiki source which carries the GPL license
<%inherit file="simplewiki_base.html"/>
<%block name="title"><title>${wiki_title + " - " if wiki_title is not UNDEFINED else ""}MITx 6.002x Wiki</title></%block>
<%block name="wiki_page_title">
<h1>${ wiki_article.title } ${'<span style="color: red;">- Deleted Revision!</span>' if wiki_current_revision_deleted else ''}</h1>
</%block>
<%block name="wiki_body">
<div id="wiki_article">
${ wiki_article_revision.contents_parsed| n}
</div>
</%block>
<div class="staff_info">
${xml | h}
</div>
<%inherit file="main.html" />
<%block name="js_extra">
<script>
var page=${ page };
$(document).ready(function(){
if(!page) {
cookie_page = $.cookie("book_page");
if(cookie_page) {
goto_page(cookie_page);
}
}
$("#booknav").treeview({collapsed:true, unique:true/*, cookieId: "treeview-book-nav", persist: "cookie"*/});
});
function goto_page(n) {
log_event("book", {"type":"gotopage","old":page,"new":n});
page=n;
var prefix = "";
if(n<100) {
prefix="0";
}
if(n<10) {
prefix="00";
}
$("#bookpage").attr("src","${ settings.BOOK_URL }p"+prefix+n+".png");
$.cookie("book_page", n, {'expires':3650, 'path':'/'});
};
function prev_page() {
var newpage=page-1;
if(newpage<0) newpage=0;
goto_page(newpage);
log_event("book", {"type":"prevpage","new":page});
}
function next_page() {
var newpage=page+1;
if(newpage>1008) newpage=1008;
goto_page(newpage);
log_event("book", {"type":"nextpage","new":page});
}
$("#open_close_accordion a").click(function(){
if ($(".book-wrapper").hasClass("closed")){
$(".book-wrapper").removeClass("closed");
} else {
$(".book-wrapper").addClass("closed");
}
});
</script>
</%block>
<%include file="navigation.html" args="active_page='book'" />
<section class="main-content">
<div class="book-wrapper">
<section class="book-sidebar">
<header id="open_close_accordion">
<h2>Table of Contents</h2>
<a href="#">close</a>
</header>
<ul id="booknav" class="treeview-booknav">
<%include file="book_toc.html" />
</ul>
</section>
<section class="book">
<section class="page">
<nav>
<ul>
<li class="last">
<a href="javascript:prev_page()">Previous page</a>
</li>
<li class="next">
<a href="javascript:next_page()">Next page</a>
</li>
</ul>
</nav>
<img id="bookpage" src="${ settings.BOOK_URL }p${ "%03i"%(page) }.png">
<nav class="bottom-nav">
<ul>
<li class="last">
<a href="javascript:prev_page()">Previous page</a>
</li>
<li class="next">
<a href="javascript:next_page()">Next page</a>
</li>
</ul>
</nav>
</section>
</section>
</div>
</section>
<div id="tabs">
<ul>
% for t in items:
<li> <a href="#tabs-${items.index(t)}">${t[0]}</a>
% endfor
</ul>
% for t in items:
<div id="tabs-${items.index(t)}">
</div>
% endfor
</div>
// IMPORTANT TODO: Namespace
var ${ id }contents=["",
%for t in items:
${t[1]['content']} ,
%endfor
""
];
var ${ id }init_functions=["",
%for t in items:
function(){ ${t[1]['init_js']} },
%endfor
""];
var ${ id }destroy_functions=["",
%for t in items:
function(){ ${t[1]['destroy_js']} },
%endfor
""];
var ${ id }loc = -1;
function ${ id }goto(i) {
if (${ id }loc!=-1)
${ id }destroy_functions[ ${ id }loc ]();
$('#tabs-'+(i-1)).html(${ id }contents[i]);
${ id }init_functions[i]()
$('#tt_'+${ id }loc).attr("style", "background-color:grey");
${ id }loc=i;
$('#tt_'+i).attr("style", "background-color:red");
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
}
$("#tabs").tabs({select:function(event, ui){
//global=ui;
return true;
},
show:function(event,ui){
//global=ui;
${ id }goto(ui.index+1);
return true;
},
});
<%inherit file="main.html" />
<div id="bodyContent">
<%include file="navigation.html" />
<div>
${ text }
</div>
</div>
<section class="text-input">
<input type="text" name="input_${id}" id="input_${id}" value="${value}" />
<span id="answer_${id}"></span>
% if state == 'unsubmitted':
<span class="unanswered" style="display:inline-block;" id="status_${id}"></span>
% elif state == 'correct':
<span class="correct" id="status_${id}"></span>
% elif state == 'incorrect':
<span class="incorrect" id="status_${id}"></span>
% elif state == 'incomplete':
<span class="incorrect" id="status_${id}"></span>
% endif
</section>
<%inherit file="marketing.html" />
<section class="tos">
<div>
<h1><i>MITx</i> Terms of Service</h1>
<p>Welcome to <i>MITx</i>. You must read and agree to these Terms of Service
(&quot;TOS&quot;), <i>MITx</i>&rsquo;s <a href="/t/privacy.html">Privacy
Policy</a>, and <a href="/t/honor.html">Honor Code</a> prior to
registering for this site or using any portion of this site
(&ldquo;Site&rdquo;), including accessing any course materials, chat
room, mailing list, or other electronic service. These TOS, the
Privacy Policy and the Honor Code are agreements (the
&ldquo;Agreements&rdquo;) between you and the Massachusetts Institute
of Technology (&ldquo;MIT&rdquo;). If you do not understand or do not
agree to be bound by the terms of the Agreements, please immediately
exit this site. </p>
<p><i>MITx</i> reserves the right to modify these TOS at any time and
will publish notice of any such modifications online on this page for
a reasonable period of time following such modifications, and by
changing the effective date of these TOS. By continuing to access the
Site after notice of such changes have been posted, you signify your
agreement to be bound by them. Be sure to return to this page
periodically to ensure familiarity with the most current version of
these TOS. </p>
<h2>Description of <i>MITx</i> </h2>
<p><i>MITx</i> offers online courses that include opportunities for
professor-to-student and student-to-student interactivity, individual
assessment of a student's work, and for students who demonstrate their
mastery of subjects, a certificate or credential. </p>
<h2>Rules for Online Conduct</h2>
<p>You agree that you are responsible for your own use of the Site and
for your User Postings. &ldquo;User Postings&rdquo; include all
content submitted, posted, published or distributed on the Site by you
or other users of the Site, including but not limited to all forum
posts, wiki edits, notes, questions, comments, videos, and file
uploads. You agree that you will use the Site in compliance with these
TOS, the <a href="/t/honor.html">Honor Code</a>, and all applicable
local, state, national, and international laws, rules and regulations,
including copyright laws and any laws regarding the transmission of
technical data exported from your country of residence and all United
States export control laws.
<p>As a condition of your use of the Services, you will not use the
Site in any manner intended to damage, disable, overburden, or impair
any <i>MITx</i> server, or the network(s) connected to any <i>MITx</i>
server, or interfere with any other party's use and enjoyment of the
Site. You may not attempt to gain unauthorized access to the Site,
other accounts, computer systems or networks connected to
any <i>MITx</i> server through hacking, password mining or any other
means. You may not obtain or attempt to obtain any materials or
information stored on the Site, its servers, or associated computers
through any means not intentionally made available through the
Site. </p>
<h2>The following list of items is strictly prohibited on the Site:</h2>
<ol>
<li>Content that defames, harasses, or threatens others
<li>Content that discusses illegal activities with the intent to commit them.
<li>Content that infringes another&#39;s intellectual property,
including, but not limited to, copyrights, or trademarks
<li>Any inappropriate, profane, pornographic, obscene, indecent, or
unlawful content
<li>Advertising or any form of commercial solicitation
<li>Political content or content related to partisan political
activities
<li>Viruses, trojan horses, worms, time bombs, corrupted files,
malware, spyware, or any other similar software that may damage the
operation of another&rsquo;s computer or property
<li>Content that contains intentional inaccurate information with the
intent of misleading others.
<li>You, furthermore, agree not to scrape, or otherwise download in
bulk, user-contributed content, a list or directory of users on the
system, or other material including but not limited to on-line
textbooks, User Postings, or user information.
<lu>You agree to not misrepresent or attempt to misrepresent your
identity while using the Sites (although you are welcome and
encouraged to use an anonymous username in the forums).
</ol>
<h2>User Accounts and Authority</h2>
<p>In order to participate in Site activities, you must provide an
email address (&quot;Email Address&quot;) and a user password
(&quot;User Password&quot;) in order to create a user account
(&ldquo;User Account&rdquo;). You agree that you will never divulge or
share access or access information to your User Account with any third
party for any reason. In setting up your User Account, you may be
prompted or required to enter additional information, including your
name. You understand and agree that all information provided by you is
accurate and current. You agree to maintain and update your
information to keep it accurate and current. </p>
<p>We care about the confidentiality and security of your personal
information. Please see our <a href="/t/privacy.html">Privacy
Policy</a> for more information about what information about
you <i>MITx</i> collects and how <i>MITx</i> uses that
information.</p>
<h2>Your Right to Use Content on the Site</h2>
<p>Unless indicated as being in the public domain, all content on the
Site is protected by United States copyright. The texts, exams and
other instructional materials provided with the courses offered on
this Site are for your personal use in connection with those courses
only. MIT is planning to make <i>MITx</i> course content and software
infrastructure available under open source licenses that will help
create a vibrant ecosystem of contributors and further MIT&rsquo;s
goal of making education accessible and affordable to the world. </p>
<p>Certain reference documents, digital textbooks, articles and other
information on the Site are used with the permission of third parties
and use of that information is subject to certain rules and
conditions, which will be posted along with the information. By using
this Site you agree to abide by all such rules and conditions. Due to
privacy concerns, User Postings shall be licensed to <i>MITx</i> with
the terms discussed below. Please
see <a href="/t/copyright.html"><i>MITx's Copyright Page</i></a> for
more information.</p>
<h2>User Postings</h2>
<p><strong>User Postings Representations and Warranties.</strong> By
submitting or distributing your User Postings, you affirm, represent,
and warrant that you are the creator and owner of or have the
necessary licenses, rights, consents, and permissions to reproduce and
publish the posted information, and to authorize MIT and <i>MITx</i>'s
Users to reproduce, modify, publish, and otherwise use that infomation
and distribute your User Postings as necessary to exercise the
licenses granted by you below. You, and not <i>MITx</i>, are solely
responsible for your User Postings and the consequences of posting or
publishing them.</p>
<p><strong>Limited License Grant to MIT.</strong> By submitting or
distributing User Postings to the Site, you hereby grant to MIT a
worldwide, non-exclusive, transferable, assignable, fully paid-up,
royalty-free, perpetual, irrevocable right and license to host,
transfer, display, perform, reproduce, modify, distribute and
re-distribute, relicense, and otherwise exploit your User Postings, in
whole or in part, in any form, and in any media formats and through
any media channels (now known or hereafter developed).</p>
<p><strong>Limited License Grant to <i>MITx</i> Users.</strong> By
submitting or distributing User Postings to the Site, you hereby grant
to each User of the Site a non-exclusive license to access and use
your User Postings in connection with their use of the Site for their
own personal purposes. </p>
<h2>Use of <i>MITx</i> and MIT Names, Trademarks and Service Marks</h2>
<p>&ldquo;<i>MITx</i>,&rdquo; &quot;MIT&quot;, &quot;Massachusetts Institute
of Technology&quot;, and its logos and seal are trademarks of the
Massachusetts Institute of Technology. You may not use MIT&rsquo;s
names or logos, or any variations thereof, without prior written
consent of MIT. You may not use the MIT name in any of its forms nor
MIT seals or logos for promotional purposes, or in any way that
deliberately or inadvertently claims, suggests, or in MIT&#39;s sole
judgment gives the appearance or impression of a relationship with or
endorsement by MIT.
<p>All Trademarks not owned by MIT that appear on the Site or on or
through the services made available on or through the Site, if any,
are the property of their respective owners. Nothing contained
on the Site should be construed as granting, by implication, estoppel,
or otherwise, any license or right to use any such Trademark displayed
on the Site without the written permission of the third party that may
own the applicable Trademark.</a>
<h2>Digital Millennium Copyright Act</h2>
<p> Copyright owners who believe their material has been infringed on
the Site should contact MITx's designated copyright agent at
dcma-agent@mit.edu or at 77 Massachusetts Avenue, Cambridge, MA
02138-4307 Attention: MIT DCMA Agent, W92-263A.
<p> Notification must
include:
<ul>
<li> Identification of the copyrighted work, or, in the case of
multiple works at the same location, a representative list of such
works at that site.
<li> Identification of the material that is claimed to be infringing
or to be the subject of infringing activity. You must include
sufficient information for us to locate the material (e.g., url, ip
address, computer name).
<li> Information for us to be able to contact the complaining party
(e.g., email address, phone number).
<li> A statement that the complaining party believes that the use of
the material has not been authorized by the copyright owner or an
authorized agent.
<li> A statement that the information in the notification is accurate
and that the complaining party is authorized to act on behalf of the
copyright owner.
</ul>
<h2>Disclaimer of Warranty / Indemnification/Limitation of Liabilities</h2>
<p>THE SITE IS PROVIDED &quot;AS IS&quot; AND &quot;AS AVAILABLE&quot;
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
FOR USE FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. MIT does not
warrant the Site will operate in an uninterrupted or error-free manner
or that the Site is free of viruses or other harmful components. Use
of information obtained from or through this Site is at your own
risk. Your access to or download of information, materials, or data
through the Site or any reference sites is at your own discretion and
risk and that you will be solely responsible for any damage to your
property (including your computer system) or loss of data that results
from the download or use of such material or data. We may close or
limit enrollment for pedagogical or technological reasons.</p>
<p><strong>User Postings Disclaimer.</strong> You understand that when
using the Site you will be exposed to User Postings from a variety of
sources, and that MIT is not responsible for the accuracy, usefulness,
reliability, or intellectual property rights of or relating to such
User Postings. You further understand and acknowledge that you may be
exposed to User Postings that are inaccurate, offensive, defamatory,
indecent or objectionable, and you agree to waive, and hereby do
waive, any legal or equitable rights or remedies you have or may have
against MIT with respect thereto. MIT does not endorse any User
Postings or any opinion, recommendation or advice expressed
therein. <i>MITx</i> has no obligation to monitor any User Postings or
any other user communications through the Site. However, <i>MITx</i> reserves
the right to review User Postings and to edit or remove, in whole or
in part, such User Postings in its sole discretion. If notified by a
User or a content owner of a User Posting that allegedly does not
conform to the TOS, MIT may investigate the allegation and determine
in its sole discretion whether to remove the User Posting, which it
reserves the right to do at any time and without notice. </p>
<p><strong>Links to Other Sites.</strong> The Site may include
hyperlinks to sites maintained or controlled by others. MIT is not
responsible for and does not routinely screen, approve, review or
endorse the contents of or use of any of the products or services that
may be offered at these sites. If you decide to access linked third
party web sites, you do so at your own risk.</p>
<strong>
<p>YOU AGREE THAT MIT WILL NOT BE LIABLE TO YOU FOR ANY LOSS OR
DAMAGES, EITHER ACTUAL OR CONSEQUENTIAL, ARISING OUT OF OR RELATING TO
THESE TERMS OF SERVICE, OR TO YOUR (OR ANY THIRD PARTY&#39;S) USE OR
INABILITY TO USE THE SITE, OR TO YOUR PLACEMENT OF CONTENT ON THE
SITE, OR TO YOUR RELIANCE UPON INFORMATION OBTAINED FROM OR THROUGH
THE SITE WHETHER BASED IN CONTRACT, TORT, STATUTORY OR OTHER LAW,
EXCEPT ONLY IN THE CASE OF DEATH OR PERSONAL INJURY WHERE AND ONLY TO
THE EXTENT THAT APPLICABLE LAW REQUIRES SUCH LIABILITY. </p>
<p>IN PARTICULAR, MIT WILL HAVE NO LIABILTY FOR ANY CONSEQUENTIAL,
INDIRECT, PUNITIVE, SPECIAL, EXEMPLARY OR INCIDENTAL DAMAGES, WHETHER
FORESEEABLE OR UNFORESEEABLE, (INCLUDING, BUT NOT LIMITED TO, CLAIMS
FOR DEFAMATION, ERRORS, LOSS OF DATA, OR INTERRUPTION IN AVAILABILITY
OF DATA).</p>
</strong>
<h2>Indemnification</h2>
<p>You agree to defend, hold harmless and indemnify MIT, and its
subsidiaries, affiliates, officers, agents, and employees from and
against any third-party claims, actions or demands arising out of,
resulting from or in any way related to your use of the Site,
including any liability or expense arising from any and all claims,
losses, damages (actual and consequential), suits, judgments,
litigation costs and attorneys&#39; fees, of every kind and nature. In
such a case, MIT will provide you with written notice of such claim,
suit or action.</p>
<h2>Miscellaneous</h2>
<p><strong>Termination Rights.</strong> You agree that MIT, in its sole
discretion, may terminate your use of the Site or your participation
in it thereof, for any reason or no reason. If you no longer desire to
participate in the Site, you may terminate your participation therein
upon notice to MIT.</p>
<p><strong>Entire Agreement.</strong> This Agreement constitutes the entire agreement
between you and MIT with respect to your use of the Site, superseding
any prior agreements between you and MIT regarding your use of the
Site. </p>
<p><strong>Waiver and Severability of TOS.</strong> The failure of MIT to exercise or
enforce any right or provision of the TOS of Site shall not constitute
a waiver of such right or provision. If any provision of the TOS is
found by a court of competent jurisdiction to be invalid, the parties
nevertheless agree that the court should endeavor to give effect to
the parties&#39; intentions as reflected in the provision, and the
other provisions of the TOS remain in full force and effect.</p>
<p><strong>Choice of Law/Forum Selection.</strong> You agree that any dispute
arising out of or relating to these Terms or any content posted to a
Site will be governed by the laws of the Commonwealth of
Massachusetts, excluding its conflicts of law provisions. You further
consent to the personal jurisdiction of and exclusive venue in the
federal and state courts located in and serving Boston, Massachusetts
as the legal forum for any such dispute.</p>
<p><strong>Effective Date:</strong> February 20, 2012</p><div>
</div>
</section>
<h1>Using the system</h1>
<ul>
<li>
<p>During video playback, use the subtitles and the scroll bar to navigate. Clicking the subtitles is a fast way to skip forwards and backwards by small amounts.</p>
</li>
<li>
<p>If you are on a low-resolution display, the left navigation bar can be hidden by clicking on the set of three left arrows next to it.</p>
</li>
<li>
<p>If you need bigger or smaller fonts, use your browsers settings to scale them up or down. Under Google Chrome, this is done by pressing ctrl-plus, or ctrl-minus at the same time.</p>
</li>
</ul>
<ol class="vert-mod">
% for t in items:
<li id="vert-${items.index(t)}">
${t[1]['content']}
</li>
% endfor
</ol>
% if name is not UNDEFINED and name != None:
<h1> ${name} </h1>
% endif
<div class="video-subtitles">
<div class="video-wrapper">
<div class="video-player">
<div id="ytapiplayer">
</div>
<iframe id="html5_player" type="text/html" frameborder="0">
</iframe>
</div>
<section class="video-controls">
<div id="slider"></div>
<section>
<ul class="vcr">
<li><a id="video_control" class="pause">Pause</a></li>
<li>
<div id="vidtime">0:00 / 0:00</div>
</li>
</ul>
<div class="secondary-controls">
<div class="speeds">
<h3><a href="#">Speed</a></h3>
<ol id="video_speeds"></ol>
</div>
<a href="#" class="hide-subtitles">on</a>
</div>
</section>
</section>
</div>
<ol class="subtitles">
<!-- <li id="stt_n5"><div id="std_n7" onclick="title_seek(-7);"></div></li> -->
<li id="stt_n4"><div id="std_n6" onclick="title_seek(-6);"></div></li>
<li id="stt_n4"><div id="std_n5" onclick="title_seek(-5);"></div></li>
<li id="stt_n4"><div id="std_n4" onclick="title_seek(-4);"></div></li>
<li id="stt_n3"><div id="std_n3" onclick="title_seek(-3);"></div></li>
<li id="stt_n2"><div id="std_n2" onclick="title_seek(-2);"></div></li>
<li id="stt_n1"><div id="std_n1" onclick="title_seek(-1);"></div></li>
<li id="stt_0 "class="current"><div id="std_0" onclick="title_seek(0);"></div></li>
<li id="stt_p1"><div id="std_p1" onclick="title_seek( 1);"></div></li>
<li id="stt_p2"><div id="std_p2" onclick="title_seek( 2);"></div></li>
<li id="stt_p3"><div id="std_p3" onclick="title_seek( 3);"></div></li>
<li id="stt_p4"><div id="std_p4" onclick="title_seek( 4);"></div></li>
<li id="stt_p5"><div id="std_p5" onclick="title_seek( 5);"></div></li>
<li id="stt_p6"><div id="std_p7" onclick="title_seek( 6);"></div></li>
<li id="stt_p6"><div id="std_p7" onclick="title_seek( 7);"></div></li>
<!-- <li id="stt_p6"><div id="std_p7" onclick="title_seek( 8);"></div></li> -->
</ol>
</div>
<%block name="js_extra">
<script type="text/javascript" charset="utf-8">
$(function() {
$('.hide-subtitles').click(function() {
$('div.video-subtitles').toggleClass('closed');
var link_text = $('.hide-subtitles').text();
$(this).text((link_text == 'on') ? 'off' : 'on');
return false;
});
});
</script>
</%block>
var streams=${ streams }
var params = { allowScriptAccess: "always", bgcolor: "#cccccc", wmode: "transparent", allowFullScreen: "true" };
var atts = { id: "myytplayer" };
// If the user doesn't have flash, use the HTML5 Video instead. YouTube's
// iFrame API which supports HTML5 is still developmental so it is not default
if (swfobject.hasFlashPlayerVersion("10.1")){
swfobject.embedSWF(document.location.protocol + "//www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer?wmode=transparent",
"ytapiplayer", "640", "385", "8", null, null, params, atts);
} else {
//end of this URL may need &origin=http://..... once pushed to production to prevent XSS
$("#html5_player").attr("src", document.location.protocol + "//www.youtube.com/embed/" + streams["1.0"] + "?enablejsapi=1&controls=0");
$("#html5_player").show();
var tag = document.createElement('script');
tag.src = document.location.protocol + "//www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Make sure the callback is called once API ready, YT seems to be buggy
loadHTML5Video();
}
var captions=0;
$("#slider").slider({slide:function(event,ui){seek_slide('slide',event.originalEvent,ui.value);},
stop:function(event,ui){seek_slide('stop',event.originalEvent,ui.value);}});
function good() {
window['console'].log(ytplayer.getCurrentTime());
}
ajax_video=good;
// load the same video speed your last video was at in a sequence
// if the last speed played on video doesn't exist on another video just use 1.0 as default
function add_speed(key, stream) {
var id = 'speed_' + stream;
if (key == video_speed) {
$("#video_speeds").append(' <li class=active id="'+id+'">'+key+'x</li>');
} else {
$("#video_speeds").append(' <li id="'+id+'">'+key+'x</li>');
}
$("#"+id).click(function(){
change_video_speed(key, stream);
$(this).siblings().removeClass("active");
$(this).addClass("active");
});
}
var l=[]
for (var key in streams) {
l.push(key);
}
function sort_by_value(a,b) {
var x=parseFloat(a);
var y=parseFloat(b);
var r=((x < y) ? -1 : ((x > y) ? 1 : 0));
return r;
}
l.sort(sort_by_value);
$(document).ready(function() {
video_speed = $.cookie("video_speed");
//ugly hack to account for different formats in vid speed in the XML (.75 vs 0.75, 1.5 vs 1.50);
if (( !video_speed ) || ( !streams[video_speed] && !streams[video_speed + "0"]) && !streams[video_speed.slice(0,-1)] && !streams[video_speed.slice(1)] && !streams["0" + video_speed]) {
video_speed = "1.0";
}
if (streams[video_speed + "0"]){
video_speed = video_speed + "0";
} else if (streams[video_speed.slice(0, -1)]){
video_speed = video_speed.slice(0, -1);
} else if (streams[video_speed.slice(1)]) {
video_speed = video_speed.slice(1);
} else if (streams["0" + video_speed]) {
video_speed = "0" + video_speed;
}
loadNewVideo(streams["1.0"], streams[video_speed], ${ position });
for(var i=0; i<l.length; i++) {
add_speed(l[i], streams[l[i]])
}
});
function toggleVideo(){
if ($("#video_control").hasClass("play")){
play();
$("#video_control").removeClass().addClass("pause");
} else {
pause();
$("#video_control").removeClass().addClass("play");
}
}
$("#video_control").click(toggleVideo);
// space bar to pause video
$(".video-wrapper").keyup(function(e){
active = document.activeElement;
if (e.which == 32) {
e.preventDefault();
$("#video_control").click();
}
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment