diff --git a/Arduino Code/Anemometer done.ino b/Arduino Code/Anemometer done.ino new file mode 100644 index 0000000..e12553c --- /dev/null +++ b/Arduino Code/Anemometer done.ino @@ -0,0 +1,45 @@ +#include + +#define WindSensorPin (2) // The pin location of the anemometer sensor + +volatile unsigned long Rotations; // cup rotation counter used in interrupt routine +volatile unsigned long ContactBounceTime; // Timer to avoid contact bounce in interrupt routine + +float WindSpeed; // speed miles per hour + +void setup() { +Serial.begin(9600); + +pinMode(WindSensorPin, INPUT); +attachInterrupt(digitalPinToInterrupt(WindSensorPin), isr_rotation, FALLING); + +Serial.println("Rotations\tKm/h"); +} + +void loop() { + +Rotations = 0; // Set Rotations count to 0 ready for calculations + +sei(); // Enables interrupts +delay (3000); // Wait 3 seconds to average +cli(); // Disable interrupts + +// convert to mp/h using the formula V=P(2.25/T) +// V = P(2.25/3) = P * 0.75 + +WindSpeed = (Rotations * 0.75) * 1.609344; + +Serial.print(Rotations); Serial.print("\t\t"); +Serial.println(WindSpeed); + +} + +// This is the function that the interrupt calls to increment the rotation count +void isr_rotation () { + +if ((millis() - ContactBounceTime) > 15 ) { // debounce the switch contact. +Rotations++; +ContactBounceTime = millis(); +} + +} diff --git a/Arduino Code/FULL_PROGRAMM.ino b/Arduino Code/FULL_PROGRAMM.ino new file mode 100644 index 0000000..12be9a6 --- /dev/null +++ b/Arduino Code/FULL_PROGRAMM.ino @@ -0,0 +1,363 @@ +#include +#include +#include +#include +#define WindSensorPin (2) +volatile unsigned long Rotations; +volatile unsigned long ContactBounceTime; +float WindSpeed; +byte mac[] = { 0x90, 0xA2, 0xDA, 0x0E, 0xD4, 0x22 };// @dresse MAC de votre Arduino Ethernet +byte ip[] = {10,66,240,59}; +//char server[] = "spe.sin.apo.free.fr"; // nom du site +char server[] = "10.66.240.81"; // @PC en local quand on utilise WAMPSERVEUR + +String readString; +Servo monServomoteur; +boolean drapeau= false; +int D; +int LE; +int LI; +int S; +int AM; +char c; +int pin = 9; +unsigned long duration; +int position = 0 ; +float T = 0; +int F = 1/T; +int Led = 7; +int bLed = 3; +int gLed = 4; +int rLed = 6; +int ST; + +EthernetClient client; + + +void setup() { + pinMode(pin, INPUT); + pinMode(bLed, OUTPUT); + pinMode(gLed, OUTPUT); + pinMode(rLed, OUTPUT); + pinMode(Led, OUTPUT); + monServomoteur.attach(8); + Serial.begin(9600);// mise en marche liaison série + //Ethernet.begin(mac, ip); + if (Ethernet.begin(mac) == 0) { + Serial.println("Failed to configure Ethernet using DHCP"); + // no point in carrying on, so do nothing forevermore: + for(;;);} + delay(2000); + Serial.println("connecting..."); + } + +void loop(){ +//Luxmetre +delay(500); +duration = pulseIn(pin, HIGH); +T = 2*duration; +Serial.print("Luminosite (lux): "); +F = 1000000*1/T; +Serial.println(F, DEC); + //Anemometre +Rotations = 0; +sei(); +delay (3000); +cli(); +WindSpeed = (Rotations * 0.75) * 1.609344; +Serial.print(Rotations); Serial.print("\t\t"); +Serial.println(WindSpeed); + +envoieBDD(); +LectureBDD(); +Traitement(); +} +void isr_rotation () { + +if ((millis() - ContactBounceTime) > 15 ) { // debounce the switch contact. +Rotations++; +ContactBounceTime = millis(); +} +} +void envoieBDD() +{ + if (client.connect(server, 80)) { + Serial.println("connected"); + client.print("GET /SLEGPI/ecriture.php?lux="); + client.print(F); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + Serial.println(F); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + else { + Serial.println("connection failed"); + } + + if (client.connect(server, 80)) { + Serial.println("connected"); + client.print("GET /SLEGPI/ecriture.php?vent="); + client.print(WindSpeed); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + //Serial.println(F); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + else { + Serial.println("connection failed"); + } + + } + +void LectureBDD() +{ + EthernetServer server(80); + server.available(); +EthernetClient client = server.available(); + if (client) + { + Serial.println("attente serveur"); + while (client.connected()) + { + client.println("z"); //pour la connexion + while (client.available()) // Not if - you want to read all the data + { + char c = client.read();//lecture caractère par caractère + //on concatène les caractères et on ne sélectionne qu'un string total de longueur < 40 + if (readString.length()<40 ) readString.concat(c); + // détection de fin de ligne + if (c == '\n' ) + { + Serial.println (readString);//écriture des 40 caractères dans le terminal série + // index des recherches des mots "ON" et "OUV" dans la chaine readString + // si absent alors =-1 + LI = readString.indexOf('Y'); + LE = readString.indexOf('Z'); + S = readString.indexOf('OUV'); + AM = readString.indexOf('WW'); + readString="";//initialisation de la variable chaîne readString + client.stop();//deconnection de l'arduino + Serial.println(); + + + } + } + } +} +} + +void Traitement() +{ + if(AM >0){ + Serial.println("Mode automatique"); + + if(F <1000){ + digitalWrite(bLed, HIGH); + digitalWrite(gLed, HIGH); + digitalWrite(rLed, HIGH); + digitalWrite(Led, LOW); + if (drapeau==true) + { + drapeau=false; + position=0; + monServomoteur.write(position); + delay(15); + } + D=1; + ST=0; + //allumer + +if (client.connect(server, 80)) { + Serial.println("connected"); + Serial.println("toto"); + client.print("GET /SLEGPI/ecriture.php?eInt="); + client.print(D); + Serial.println(D); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + Serial.println(F); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + else { + Serial.println("connection failed"); + } + if (client.connect(server, 80)) { + Serial.println("connected"); + client.print("GET /SLEGPI/ecriture.php?eExt="); + client.print(D); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + Serial.println(1); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + if (client.connect(server, 80)) { + Serial.println("connected"); + client.print("GET /SLEGPI/ecriture.php?Store="); + client.print(ST); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + Serial.println(1); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + } + + + + if(F >1000){ + digitalWrite(bLed, LOW); + digitalWrite(gLed, LOW); + digitalWrite(rLed, LOW); + digitalWrite(Led, HIGH); + if (drapeau==false) + { + drapeau=true; + for (int position = 0; position <= 180; position++) + { + monServomoteur.write(position); + delay(15); + } + } + D=0; + ST=1; + //et + if (client.connect(server, 80)) { + Serial.println("connected"); + Serial.println("toto"); + client.print("GET /SLEGPI/ecriture.php?eInt="); + client.print(D); + Serial.println(D); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + Serial.println(F); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + else { + Serial.println("connection failed"); + } + if (client.connect(server, 80)) { + Serial.println("connected"); + client.print("GET /SLEGPI/ecriture.php?eExt="); + client.print(D); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + Serial.println(1); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + if (client.connect(server, 80)) { + Serial.println("connected"); + Serial.println("toto"); + client.print("GET /SLEGPI/ecriture.php?Store="); + client.print(ST); + Serial.println(D); + client.println(" HTTP/1.1"); + client.println("Host: 10.66.240.81"); + Serial.println(F); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + } + } //Allumer les lumieres exterieurs + else{ + Serial.println("Mode manuel"); + //Eteindre les lumieres exterieurs + + + + if(LI >0){ + digitalWrite(Led, LOW); + }//Allumer les lumieres exterieurs + else{ + digitalWrite(Led, HIGH); + }//Eteindre les lumieres exterieurs + + + + if(LE >0){ + digitalWrite(bLed, HIGH); + digitalWrite(gLed, HIGH); + digitalWrite(rLed, HIGH); + }//Allumer les lumieres exterieurs + else{ + digitalWrite(bLed, LOW); + digitalWrite(gLed, LOW); + digitalWrite(rLed, LOW); + }//Eteindre les lumieres exterieurs + + + + if(S >0){ + if (drapeau==false) + { + drapeau=true; + for (int position = 0; position <= 180; position++) + { + monServomoteur.write(position); + delay(15); + } + } + + } + //Monter le Store + else{ + + if (drapeau==true) + { + drapeau=false; + position=0; + monServomoteur.write(position); + delay(15); + } + } + }//Baisser le Store + +} + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Arduino Code/LICENSE b/Arduino Code/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/Arduino Code/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Arduino Code/Luxmeter.ino b/Arduino Code/Luxmeter.ino new file mode 100644 index 0000000..78f432b --- /dev/null +++ b/Arduino Code/Luxmeter.ino @@ -0,0 +1,48 @@ +int pin = 10; +unsigned long duration; +float T = 0; +int F = 1/T; +int led = 9; +int BLUE = 6; +int GREEN = 3; +int RED = 5; +int brightness1 = 200; +int brightness2 = 255; +int brightness3 = 255; +int brightness4 = 0; +int brightness5 = 0; +int brightness6 = 0; + +void setup() +{ + pinMode(pin, INPUT); + pinMode(led, OUTPUT); + Serial.begin(9600); + digitalWrite(led, LOW); +} + +void loop() +{ + delay(1000); + duration = pulseIn(pin, HIGH); +T = 2*duration; +Serial.print("Luminosite (lux): "); +F = 1000000*1/T; +Serial.println(F, DEC); + +if (F >= 500) +{ + digitalWrite(led, HIGH); + analogWrite(RED, brightness4); + analogWrite(GREEN, brightness5); + analogWrite(BLUE, brightness6); +} +else +{ + digitalWrite(led, LOW); + analogWrite(RED, brightness1); + analogWrite(GREEN, brightness2); + analogWrite(BLUE, brightness3); +} +} + diff --git a/Arduino Code/Motor.ino b/Arduino Code/Motor.ino new file mode 100644 index 0000000..4de5be1 --- /dev/null +++ b/Arduino Code/Motor.ino @@ -0,0 +1,120 @@ +#include +#include +#include +#define WindSensorPin (2) +volatile unsigned long Rotations; +volatile unsigned long ContactBounceTime; +float WindSpeed; +int pin = 9; +unsigned long duration; +float T = 0; +int F = 1/T; +int led = 8; +int BLUE = 6; +int GREEN = 3; +int RED = 5; +int brightness1 = 200; +int brightness2 = 255; +int brightness3 = 255; +int brightness4 = 0; +int brightness5 = 0; +int brightness6 = 0; + EthernetClient client; +byte mac[] = { 0x90, 0xA2, 0xDA, 0x0E, 0xD4, 0x22 }; +byte ip[] = { 192, 168, 1, 102 }; //ip arduino +char server[] = "192.168.1.101"; //ip raspberry + +void setup() { + + pinMode(WindSensorPin, INPUT); +attachInterrupt(digitalPinToInterrupt(WindSensorPin), isr_rotation, FALLING); + +Serial.println("Rotations\tKm/h"); + + pinMode(led, OUTPUT); + pinMode(pin, INPUT); + Serial.begin(9600); + digitalWrite(led, LOW); + + if (Ethernet.begin(mac) == 0) { + Serial.println("Failed to configure Ethernet using DHCP"); + for(;;) + ; + } + delay(500); + Serial.println("connecting..."); +} + +void loop() { + + //luxmetre + delay(500); + duration = pulseIn(pin, HIGH); +T = 2*duration; +Serial.print("Luminosite (lux): "); +F = 1000000*1/T; +Serial.println(F, DEC); +if (F >= 1000) +{ + digitalWrite(led, HIGH); + analogWrite(RED, brightness4); + analogWrite(GREEN, brightness5); + analogWrite(BLUE, brightness6); +} +else +{ + digitalWrite(led, LOW); + analogWrite(RED, brightness1); + analogWrite(GREEN, brightness2); + analogWrite(BLUE, brightness3); +} + + if (client.connect(server, 80)) { + Serial.println("connected"); + client.print("GET /SLEGPI/ecriture.php?lux="); + client.print(F); + client.println(" HTTP/1.1"); + client.println("Host: 192.168.1.101"); + //Serial.println(F); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + else { + Serial.println("connection failed"); + } +delay(500); + + //anémometre +Rotations = 0; +sei(); +delay (3000); +cli(); +WindSpeed = (Rotations * 0.75) * 1.609344; +Serial.print(Rotations); Serial.print("\t\t"); +Serial.println(WindSpeed); + + if (client.connect(server, 80)) { + Serial.println("connected"); + client.print("GET /SLEGPI/ecriture.php?vent="); + client.print(WindSpeed); + client.println(" HTTP/1.1"); + client.println("Host: 192.168.1.101"); + //Serial.println(F); + Serial.println( "Connection: close" ); + client.println(); + client.stop(); + client.println(); + } + else { + Serial.println("connection failed"); + } + } +void isr_rotation () { + +if ((millis() - ContactBounceTime) > 15 ) { // debounce the switch contact. +Rotations++; +ContactBounceTime = millis(); +} +} diff --git a/Arduino Code/Outdoor_Lights.ino b/Arduino Code/Outdoor_Lights.ino new file mode 100644 index 0000000..1ad0f2a --- /dev/null +++ b/Arduino Code/Outdoor_Lights.ino @@ -0,0 +1,42 @@ +int bLed = 3; +int gLed = 4; +int rLed = 6; +int pin = 9; +unsigned long duration; +float T = 0; +int F = 1/T; + +void setup() { + // put your setup code here, to run once: + pinMode(pin, INPUT); + Serial.begin(9600); + pinMode(bLed, OUTPUT); + pinMode(gLed, OUTPUT); + pinMode(rLed, OUTPUT); +} + +void loop() { + // put your main code here, to run repeatedly: + delay(1000); + duration = pulseIn(pin, HIGH); + T = 2*duration; + Serial.print("F: "); + F = 1000000*1/T; + Serial.println(F, DEC); + +if (F<1000) +{ + digitalWrite(bLed, HIGH); + digitalWrite(gLed, HIGH); + digitalWrite(rLed, HIGH); + delay(1000); +} + +if (F>1000) +{ + digitalWrite(bLed, LOW); + digitalWrite(gLed, LOW); + digitalWrite(rLed, LOW); + delay(1000); +} +} diff --git a/Arduino Code/README.md b/Arduino Code/README.md new file mode 100644 index 0000000..7a47f00 --- /dev/null +++ b/Arduino Code/README.md @@ -0,0 +1,8 @@ +# SLEGPI-Arduino +SLEGPI is my project for my exams of june 2018. I have work on it from October 2017 to May 2018. + +In what consist SLEGPI-Website ? + +First, SLEGPI mean in french "Electrical blind and Leds Piloted by Informatic" ("Store Electrique Géré Par Informatique" is the full french name) + +This part is used on an Arduino Ethernet (Arduino Uno Shield with Ethernet connection). diff --git a/Arduino Code/_config.yml b/Arduino Code/_config.yml new file mode 100644 index 0000000..c419263 --- /dev/null +++ b/Arduino Code/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..818433e --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md index d8b8aa1..cd0f5ab 100644 --- a/README.md +++ b/README.md @@ -1 +1,14 @@ -# SLEGPI \ No newline at end of file +# SLEGPI-Website +SLEGPI is my project for my exams of june 2018. I have work on it from October 2017 to May 2018. + +In what consist SLEGPI-Website ? + +First, SLEGPI mean in french "Electrical blind and Lights Piloted by Informatic" ("Store Electrique Géré Par Informatique" is the full french name) + +So My project consist to Pilote with a website a Venician blind and 2 lights with a website. This website is hosted on a Raspberry Pi 3 (the raspberry is the server). The Server have a MySQL database and when the binaries values on the database changes, an arduino card execute an action (turn on/off the lights or raising up/down the venician blind). + +Here is all the files of my project that are hosted on the Raspberry Pi 3. + +To Work, the card need to have Apache, PHP5 and MySQL Database (with PDO function) package (In other words, it need LAMP). + +A database called "catpbdd" must execute the captbdd.sql file. diff --git a/Website Source Code/_config.yml b/Website Source Code/_config.yml new file mode 100644 index 0000000..c419263 --- /dev/null +++ b/Website Source Code/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/Website Source Code/about.php b/Website Source Code/about.php new file mode 100644 index 0000000..12605a9 --- /dev/null +++ b/Website Source Code/about.php @@ -0,0 +1,94 @@ + + + + + + + Slegpi - Projet SIN 2018 + + + + + + + + + +
+
+

About

+

+ This is the demo website of the SLEGPI project +

+

The Team

+

+ Our team is composed by 4 students :
+

- Alexandre (Alex06)
- Baptiste (BertrandBellonuCon)
- José (JunkJumper)
- Valentin (Valmal)

+
+
+

+ Logo SLEGPI +

+
+ +
+
+
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/Website Source Code/auto.php b/Website Source Code/auto.php new file mode 100644 index 0000000..790b342 --- /dev/null +++ b/Website Source Code/auto.php @@ -0,0 +1,212 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + // Connection MySQL for imgs displaying. + $bdd = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + } + catch(Exception $e) + { + // Si il y a une erreur, arret du script. + die('Erreur : '.$e->getMessage()); + } + + $sql = "UPDATE `capteurs` SET `A/M` = '1' WHERE `capteurs`.`id` = 1"; + + // Prepare statement + $stmt = $conn->prepare($sql); + + // execute the query + $stmt->execute(); + +$conn = null; + +?> + + + + + + + + Slegpi - Projet SIN 2018 + + + + + + + + + + + +
+
+
    + + + +
  • +
    +
    + query('SELECT `eInt` FROM `capteurs` WHERE id=1'); + $result = $etateInt->fetch(); + $count = $result[0]; + if ($count == 1) + { + echo ''; + } + else + { + echo 'Lumières Intérieures Eteintes'; + } + ?> +
    +

    State of the Indoor Lights

    +
    +
    +
    +
  • + + + +
  • +
    +
    + query('SELECT `Store` FROM `capteurs` WHERE id=1'); + $result2 = $etatStore->fetch(); + $count2 = $result2[0]; + if ($count2 == 0) + { + echo 'Store en position Haute'; + } + else + { + echo 'Store en position Basse'; + } + ?> +
    +

    Position of the blind

    +
    +
    +
    +
  • + + + + +
  • +
    +
    + query('SELECT `eExt` FROM `capteurs` WHERE id=1'); + $result1 = $etateExt->fetch(); + $count1 = $result1[0]; + if ($count1 == 1) + { + echo ''; + } + else + { + echo 'Lumières Extérieures Eteintes'; + } + ?> +
    +

    State of the Outdoor Lights

    +
    +
    +
    +
  • + + + + +
  • +
    +
    + +
    +
    +

    Amount of light (in µW/cm²)

    +
    +
    +
  • + + + +
  • +
    +
    +
    + +
    + +
    +
  • + + + +
  • +
    +
    + +
    +
    +

    Wind Speed (km/h)

    +
    +
    +
  • + +
+
+
+ + + diff --git a/Website Source Code/captbdd.sql b/Website Source Code/captbdd.sql new file mode 100644 index 0000000..1cd7782 --- /dev/null +++ b/Website Source Code/captbdd.sql @@ -0,0 +1,53 @@ +-- phpMyAdmin SQL Dump +-- version 4.7.9 +-- https://www.phpmyadmin.net/ +-- +-- Hôte : 127.0.0.1:3306 +-- Généré le : jeu. 31 mai 2018 à 09:01 +-- Version du serveur : 5.7.21 +-- Version de PHP : 5.6.35 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Base de données : `captbdd` +-- + +-- -------------------------------------------------------- + +-- +-- Structure de la table `capteurs` +-- + +DROP TABLE IF EXISTS `capteurs`; +CREATE TABLE IF NOT EXISTS `capteurs` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `lux` float NOT NULL, + `vent` float NOT NULL, + `A/M` tinyint(1) NOT NULL, + `eInt` tinyint(1) NOT NULL, + `eExt` tinyint(1) NOT NULL, + `Store` tinyint(1) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; + +-- +-- Déchargement des données de la table `capteurs` +-- + +INSERT INTO `capteurs` (`id`, `lux`, `vent`, `A/M`, `eInt`, `eExt`, `Store`) VALUES +(1, 4321, 2, 0, 0, 0, 0); +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Website Source Code/css/display-lux.css b/Website Source Code/css/display-lux.css new file mode 100644 index 0000000..c9fae35 --- /dev/null +++ b/Website Source Code/css/display-lux.css @@ -0,0 +1,25 @@ +/* Main styles */ +@import url(https://fonts.googleapis.com/css?family=Open+Sans:800); + +.text { + fill: none; + stroke-width: 2; + stroke-linejoin: round; + stroke-dasharray: 70 330; + stroke-dashoffset: 0; +} + +/* Other styles */ +html, body { + height: 80%; +} + +body { + background: #ece5df; + background-size: .2em 100%; + font: 6em Open Sans, Impact; + text-transform: uppercase; + margin: 0; + text-align: center; + vertical-align: middle; +} \ No newline at end of file diff --git a/Website Source Code/css/font-awesome.min.css b/Website Source Code/css/font-awesome.min.css new file mode 100644 index 0000000..a7de62e --- /dev/null +++ b/Website Source Code/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.1.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-square:before,.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"} \ No newline at end of file diff --git a/Website Source Code/css/hawthorne_type2_color3.css b/Website Source Code/css/hawthorne_type2_color3.css new file mode 100644 index 0000000..4451497 --- /dev/null +++ b/Website Source Code/css/hawthorne_type2_color3.css @@ -0,0 +1,5604 @@ +/* line 28, ../scss/master/_blog.scss */ +aside.blog-sidebar h5 { + text-align: center; +} + +/* line 32, ../scss/master/_blog.scss */ +aside.blog-sidebar h5, .related-posts h5 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: 1.125rem; + line-height: 1.2; + letter-spacing: 0; + text-transform: none; + padding-bottom: 0.5em; +} + +/* line 43, ../scss/master/_blog.scss */ +aside.blog-sidebar li, aside.blog-sidebar p { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + font-style: normal; + font-size: 1.125rem; + line-height: 1.6; + letter-spacing: 0; + text-transform: none; + list-style-type: none; + padding-bottom: 1em; + text-align: center; +} + +/* line 56, ../scss/master/_blog.scss */ +aside.blog-sidebar ul { + margin-left: 0; +} + +/* line 60, ../scss/master/_blog.scss */ +aside.blog-sidebar ul li { + list-style-type: none; + margin-left: 0; +} + +/* line 65, ../scss/master/_blog.scss */ +aside.blog-sidebar ul li a, aside.blog-sidebar ul li a:hover, aside.blog-sidebar p a, aside.blog-sidebar p a:hover, article h1 a, article h1 a:hover { + border-bottom: none !important; + text-decoration: none; + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 71, ../scss/master/_blog.scss */ +article { + border-bottom: 1px solid #9d9995; + padding-bottom: 1.25em; + margin-bottom: 2.5em; +} + +/* line 77, ../scss/master/_blog.scss */ +article h1, h1.archive-title { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: 1.5rem; + line-height: 1.2; + letter-spacing: 0; + text-transform: none; +} + +/* line 87, ../scss/master/_blog.scss */ +article h6.date { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 300; + font-style: normal; + font-size: 1rem; + line-height: 1.2; + letter-spacing: 0; + text-transform: none; + margin-bottom: 1.5em; +} + +/* line 98, ../scss/master/_blog.scss */ +article p, article li { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 104, ../scss/master/_blog.scss */ +article p a { + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 108, ../scss/master/_blog.scss */ +article p.byline { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 300; + font-style: normal; + font-size: 1rem; + line-height: 1.2; + letter-spacing: 0; + text-transform: none; +} + +/* line 118, ../scss/master/_blog.scss */ +article img { + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +/* line 123, ../scss/master/_blog.scss */ +article .caption { + margin-top: -1em; +} + +/* line 128, ../scss/master/_blog.scss */ +.comments { + border-top: 1px solid #9d9995; + margin-top: 3em; + padding-top: 3em; + padding-bottom: 1em; +} + +/* line 135, ../scss/master/_blog.scss */ +div div div article h2 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: 1.6rem; + line-height: 1.2; + letter-spacing: 0; + text-transform: none; + padding-bottom: 0.25em; +} + +/* line 146, ../scss/master/_blog.scss */ +div div div article h3 { + font-weight: bold; + font-size: 0.875rem; +} + +/* line 151, ../scss/master/_blog.scss */ +.related-posts { + margin-top: 2em; + margin-bottom: 1.5em; +} + +/* line 156, ../scss/master/_blog.scss */ +.related-posts h5 { + margin-bottom: 0.25em; +} + +/* line 160, ../scss/master/_blog.scss */ +.related-posts ul { + list-style-type: none; + margin-left: 0; +} + +/* line 165, ../scss/master/_blog.scss */ +.related-posts ul li { + margin-left: 0; + line-height: 1.8; + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + font-style: normal; + font-size: 1.125rem; + line-height: 1.6; + letter-spacing: 0; + text-transform: none; +} + +/* line 177, ../scss/master/_blog.scss */ +h1.archive-title { + text-align: center; + margin-bottom: 1.25em; +} + +/* line 182, ../scss/master/_blog.scss */ +.archive-item { + margin-bottom: 2em; +} + +/* line 186, ../scss/master/_blog.scss */ +.archive-item h2 a { + -webkit-transition: border 0.2s ease-out; + -moz-transition: border 0.2s ease-out; + transition: border 0.2s ease-out; + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; + border-bottom: 1px solid #8a8988; + padding-bottom: 2px; + text-decoration: none; +} + +/* line 194, ../scss/master/_blog.scss */ +.archive-item h2 a:hover { + border-bottom: 1px solid #1a5f99; + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 199, ../scss/master/_blog.scss */ +.archive-item h2 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: 1.125rem; + line-height: 1.7; + letter-spacing: 0; + text-transform: none; + text-align: center; +} + +/* line 210, ../scss/master/_blog.scss */ +.archive-item h6.date { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 300; + font-style: normal; + font-size: 0.875rem; + line-height: 1.3; + letter-spacing: 0; + text-transform: none; + text-align: center; + padding-top: 0.125em; +} + +/* line 222, ../scss/master/_blog.scss */ +.pagination-custom { + margin-bottom: 2em; +} + +/* line 226, ../scss/master/_blog.scss */ +.pagination-custom p span { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + font-style: normal; + font-size: 1rem; + line-height: 1.2; + letter-spacing: 0; + text-transform: none; + color: #8a8988; +} + +/* line 237, ../scss/master/_blog.scss */ +.pagination-custom a, .pagination-custom a:hover { + border-bottom: none !important; + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 242, ../scss/master/_blog.scss */ +.pagination-left { + padding-right: 1em; +} + +/*================================================================================================== +Media Queries +==================================================================================================*/ +@media only screen and (min-width: 40.063em) { + /* line 254, ../scss/master/_blog.scss */ + aside.blog-sidebar h5 { + text-align: left; + } + + /* line 258, ../scss/master/_blog.scss */ + aside.blog-sidebar li, aside.blog-sidebar p { + text-align: left; + } + + /* line 262, ../scss/master/_blog.scss */ + article h1, h1.archive-title { + font-size: 2rem; + } + + /* line 266, ../scss/master/_blog.scss */ + article p, article li, div div div article h3 { + font-size: 1.125rem; + } +} +/*================================================================================================== +Global +==================================================================================================*/ +/* line 69, ../scss/_custom.scss */ +html { + background-color: #ece5df !important; +} + +/* line 73, ../scss/_custom.scss */ +a, button, img, nav ul a, .thumbnail-caption a { + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 77, ../scss/_custom.scss */ +p a, li a, .thumbnail-caption a { + -webkit-transition: border 0.2s ease-out; + -moz-transition: border 0.2s ease-out; + transition: border 0.2s ease-out; + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; + border-bottom: 1px solid #9d9995; + padding-bottom: 1px; +} + +/* line 84, ../scss/_custom.scss */ +p a:hover, li a:hover, .thumbnail-caption a:hover, .caption-hover { + color: #1a5f99; + border-bottom: 1px solid #1a5f99 !important; +} + +/* line 89, ../scss/_custom.scss */ +li .thumbnail-hover a, li thumbnail-img a img { + border-bottom: none !important; +} + +/* line 93, ../scss/_custom.scss */ +div.lined-list ul { + margin-left: 0; +} + +/* line 97, ../scss/_custom.scss */ +.lined-list li { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + font-style: normal; + font-size: inherit; + line-height: 1.5; + letter-spacing: 0; + text-transform: none; + list-style-type: none; + border-bottom: 1px solid #9d9995; + padding-top: 0.8em; + padding-bottom: 0.8em; + margin-left: 0; +} + +/* line 112, ../scss/_custom.scss */ +.lined-list li strong { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: inherit; + line-height: 1.3; + letter-spacing: 0; + text-transform: none; +} + +/* line 122, ../scss/_custom.scss */ +.lined-list li:first-child { + border-top: 1px solid #9d9995; +} + +/* line 97, ../scss/_custom.scss */ +.resume-list li { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + font-style: normal; + font-size: inherit; + letter-spacing: 0; + text-transform: none; + list-style-type: none; + border-bottom: 0px solid #9d9995; + padding-top: 0.8em; + padding-bottom: 0.8em; + margin-left: 0; +} + +/* line 122, ../scss/_custom.scss */ +.resume-list li:first-child { + border-top: 0px solid #9d9995; +} + +/* line 126, ../scss/_custom.scss */ +.centered { + text-align: center; +} + +/* line 130, ../scss/_custom.scss */ +iframe { + border: none !important; +} + +/* line 134, ../scss/_custom.scss */ +ul.inline-list-custom li { + margin-left: 0 !important; +} + +/* line 138, ../scss/_custom.scss */ +ul li { + margin-left: 0.25em; + padding-bottom: 1em; +} + +/* line 144, ../scss/_custom.scss */ +ol li { + margin-left: 0.25em; + padding-bottom: 1em; +} + +/* line 150, ../scss/_custom.scss */ +.row blockquote { + border-left: 1px solid #9d9995; +} + +/* line 154, ../scss/_custom.scss */ +.row blockquote p, .row blockquote { + color: #0a161f; + font-style: italic; +} + +/* line 159, ../scss/_custom.scss */ +.row blockquote cite { + font-weight: bold; + font-style: normal; + color: #0a161f; + font-size: 1em; + margin-top: 1em; +} + +/* line 167, ../scss/_custom.scss */ +div h1, div h2, div h3, div h4, div h5, div h6 { + font-weight: bold; +} + +/* line 171, ../scss/_custom.scss */ +div div h2 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: 2.7rem; + line-height: 1.3; + letter-spacing: 0; + text-transform: none; +} + +/* line 181, ../scss/_custom.scss */ +div div h3 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: 1.125rem; + line-height: 1.3; + letter-spacing: 0; + text-transform: none; +} + +/* line 191, ../scss/_custom.scss */ +.p-small, article .caption, .caption { + font-size: 0.875rem; + line-height: 1.5; +} + +/* line 196, ../scss/_custom.scss */ +.p-smaller { + font-size: 0.75rem; + line-height: 1.5; +} + +/* line 201, ../scss/_custom.scss */ +.caption { + margin-top: -0.5em; +} + +/* line 206, ../scss/_custom.scss */ +.social-inline { + margin-left: 0; +} + +/* line 210, ../scss/_custom.scss */ +.social-inline li { + display: block; + float: left; + margin-left: 0; + margin-right: 1.5em; + vertical-align: top !important; +} + +/* line 218, ../scss/_custom.scss */ +.social-inline li:first-child { + margin-right: 0; +} + +/* line 222, ../scss/_custom.scss */ +.social-inline li span { + vertical-align: top !important; +} + +/*================================================================================================== +Header & Nav +==================================================================================================*/ +/* line 232, ../scss/_custom.scss */ +.top-border { + border-top: 4px solid #0a161f; +} + +/* line 236, ../scss/_custom.scss */ +header { + padding-top: 3em; + padding-bottom: 2em; +} + +/* line 241, ../scss/_custom.scss */ +header div.logo { + text-align: center; +} + +/* line 245, ../scss/_custom.scss */ +div div header h1 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: bold; + font-style: normal; + font-size: 1.7rem; + line-height: 1.3; + letter-spacing: 0; + text-transform: none; + line-height: 1.1; + text-align: center; + color: #0a161f; +} + +/* line 258, ../scss/_custom.scss */ +div div header h1 a { + text-decoration: none; + color: #0a161f; +} + +/* line 263, ../scss/_custom.scss */ +div div header h2 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 400; + font-style: normal; + font-size: 1,5rem; + line-height: 1.5; + letter-spacing: 0; + text-transform: none; + line-height: 1.4; + text-align: center; + color: #0d1d2a; + margin-top: 0.75em; +} + +/* line 263, ../scss/_custom.scss */ +div header h2 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 400; + font-style: italic; + font-size: 1,5rem; + line-height: 1.5; + letter-spacing: 0; + text-transform: none; + line-height: 1.4; + text-align: center; + color: #0d1d2a; + margin-top: 0.75em; +} + +.slogan { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 100; + font-style: italic; + font-size: 1.2rem; + line-height: 1; + letter-spacing: 0; + text-transform: none; + line-height: 1; + text-align: center; + color: #0d1d2a; + margin-top: 0.75em; +} + +/* line 278, ../scss/_custom.scss */ +div div header h2 a { + text-decoration: none; + color: #0d1d2a; +} + +/* line 283, ../scss/_custom.scss */ +div div header h1 a:hover, header h1 a:focus { + color: #0a161f; +} + +/* line 287, ../scss/_custom.scss */ +div div header h2 a:hover, header h2 a:focus { + color: #0d1d2a; +} + +/* line 291, ../scss/_custom.scss */ +nav { + border-top: 1px solid #9d9995; + border-bottom: 1px solid #9d9995; + margin-bottom: 3em; + background-color: #ece5df; +} + +/* line 298, ../scss/_custom.scss */ +nav ul.inline-list-custom { + text-align: center; + padding-top: 0.8em; + margin-bottom: 0.8em; + margin-left: 0; +} + +/* line 305, ../scss/_custom.scss */ +nav ul.inline-list-custom li { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 50; + font-style: normal; + font-size: 1.35rem; + line-height: 2; + letter-spacing: 0; + text-transform: none; + display: inline-block; + padding-left: 1em; + margin-right: 1em; + padding-bottom: 0; +} + +/* line 320, ../scss/_custom.scss */ +nav ul li a, nav ul li a:hover { + border: none !important; +} + +/* line 324, ../scss/_custom.scss */ +a.current { + color: #8a8988; + pointer-events: none; +} + +/* line 329, ../scss/_custom.scss */ +a.current:hover { + color: #8a8988; +} + +/*================================================================================================== +Project +==================================================================================================*/ +/* line 339, ../scss/_custom.scss */ +.thumbnail { + margin-bottom: -0.5em; + max-width: 328px; + margin-left: auto; + margin-right: auto; +} + +/* line 346, ../scss/_custom.scss */ +.thumbnail-img { + position: relative; +} + +/* line 350, ../scss/_custom.scss */ +.thumbnail-hover { + position: absolute; + display: none; + width: 100%; + height: 100%; + background-color: rgba(26, 95, 153, 0.5); +} + +/* line 358, ../scss/_custom.scss */ +.thumbnail-hover a { + position: absolute; + left: 0; + width: 100%; + height: 100%; +} + +/* line 365, ../scss/_custom.scss */ +.thumbnail-hover a:hover { + border: none; +} + +/* line 369, ../scss/_custom.scss */ +.thumbnail-caption { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 300; + font-style: normal; + font-size: 0.875rem; + line-height: 1.5; + letter-spacing: 0; + text-transform: none; + text-align: center; + margin-top: 0.5em; +} + +/* line 381, ../scss/_custom.scss */ +.thumbnail-caption a { + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 385, ../scss/_custom.scss */ +ul.small-block-grid-1 li { + text-align: center; +} + +/* line 389, ../scss/_custom.scss */ +hr.project-detail-hr { + margin-top: 1.75em; + display: none; +} + +/* line 394, ../scss/_custom.scss */ +.project-img { + text-align: center; + margin-top: 3em; +} + +/* line 399, ../scss/_custom.scss */ +.project-img:first-of-type { + margin-top: 1.75em; +} + +/* line 403, ../scss/_custom.scss */ +.project-img h6 { + padding-top: 1em; + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 300; + font-style: normal; + font-size: 0.875rem; + line-height: 1.5; + letter-spacing: 0; + text-transform: none; +} + +/* line 414, ../scss/_custom.scss */ +.back-to-top-holder { + margin-top: 4em; + margin-bottom: 2em; + text-align: center; +} + +/* line 420, ../scss/_custom.scss */ +.back-to-top { + border: none; + color: #283a49; +} + +/* line 425, ../scss/_custom.scss */ +a.back-to-top:hover { + border: none !important; +} + +/* line 429, ../scss/_custom.scss */ +.raw-html iframe { + padding-top: 2em; +} + +/* line 433, ../scss/_custom.scss */ +.raw-html div { + margin-top: 2em; +} + +/* line 437, ../scss/_custom.scss */ +.raw-html hr { + display: none; + margin-top: 3em; + margin-bottom: 3em; +} + +/*================================================================================================== +Footer +==================================================================================================*/ +/* line 449, ../scss/_custom.scss */ +footer { + border-top: 1px solid #9d9995; + margin-top: 3em; + padding-top: 4em; + padding-bottom: 5em; +} + +/* line 456, ../scss/_custom.scss */ +footer ul { + text-align: center; + margin-top: 2em; + margin-left: 0; +} + +/* line 462, ../scss/_custom.scss */ +footer li { + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + font-style: normal; + font-size: 0.8125rem; + line-height: 1.6; + letter-spacing: 0; + text-transform: none; + display: inline-block; + padding-left: 1em; + margin-right: 1em; + color: #283a49; +} + +/* line 476, ../scss/_custom.scss */ +footer li a { + color: #283a49; + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 481, ../scss/_custom.scss */ +footer div.social-icons { + text-align: center; +} + +/* line 485, ../scss/_custom.scss */ +footer div.social-icons i { + padding-left: 0.25em; + padding-right: 0.25em; + color: #283a49; +} + +/* line 491, ../scss/_custom.scss */ +footer div.social-icons a:hover i { + color: #1a5f99; + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/* line 496, ../scss/_custom.scss */ +footer div.social-icons a i { + -webkit-transition: color 0.2s ease-out; + -moz-transition: color 0.2s ease-out; + transition: color 0.2s ease-out; +} + +/*================================================================================================== +Media Queries +==================================================================================================*/ +@media only screen and (min-width: 40.063em) { + /* line 508, ../scss/_custom.scss */ + header { + padding-top: 6.25em; + padding-bottom: 3.95em; + } + + /* line 513, ../scss/_custom.scss */ + div div header h1 { + font-size: 2.25rem; + } + + /* line 517, ../scss/_custom.scss */ + div div header h2 { + font-size: 0.875rem; + } + + /* line 521, ../scss/_custom.scss */ + div div h2 { + font-size: 1.875rem; + } + + /* line 525, ../scss/_custom.scss */ + div div h3 { + font-size: 1.125rem; + } + + /* line 529, ../scss/_custom.scss */ + hr.project-detail-hr { + display: block; + } + + /* line 533, ../scss/_custom.scss */ + .raw-html hr { + display: block; + } + + /* line 537, ../scss/_custom.scss */ + .project-img:first-of-type { + margin-top: 3em; + } +} +/* line 287, ../bower_components/foundation/scss/foundation/components/_global.scss */ +meta.foundation-mq-small { + font-family: "/only screen and (max-width: 40em)/"; + width: 0em; +} + +/* line 292, ../bower_components/foundation/scss/foundation/components/_global.scss */ +meta.foundation-mq-medium { + font-family: "/only screen and (min-width:40.063em) and (max-width:64em)/"; + width: 40.063em; +} + +/* line 297, ../bower_components/foundation/scss/foundation/components/_global.scss */ +meta.foundation-mq-large { + font-family: "/only screen and (min-width:64.063em)/"; + width: 64.063em; +} + +/* line 302, ../bower_components/foundation/scss/foundation/components/_global.scss */ +meta.foundation-mq-xlarge { + font-family: "/only screen and (min-width:90.063em)/"; + width: 90.063em; +} + +/* line 307, ../bower_components/foundation/scss/foundation/components/_global.scss */ +meta.foundation-mq-xxlarge { + font-family: "/only screen and (min-width:120.063em)/"; + width: 120.063em; +} + +/* line 317, ../bower_components/foundation/scss/foundation/components/_global.scss */ +*, +*:before, +*:after { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +/* line 322, ../bower_components/foundation/scss/foundation/components/_global.scss */ +html, +body { + font-size: 100%; +} + +/* line 325, ../bower_components/foundation/scss/foundation/components/_global.scss */ +body { + background: #ece5df; + color: #0a161f; + padding: 0; + margin: 0; + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + font-style: normal; + line-height: 1; + position: relative; + cursor: "default"; +} + +/* line 338, ../bower_components/foundation/scss/foundation/components/_global.scss */ +a:hover { + cursor: pointer; +} + +/* line 343, ../bower_components/foundation/scss/foundation/components/_global.scss */ +img, +object, +embed { + max-width: 100%; + height: auto; +} + +/* line 346, ../bower_components/foundation/scss/foundation/components/_global.scss */ +object, +embed { + height: 100%; +} + +/* line 347, ../bower_components/foundation/scss/foundation/components/_global.scss */ +img { + -ms-interpolation-mode: bicubic; +} + +/* line 353, ../bower_components/foundation/scss/foundation/components/_global.scss */ +#map_canvas img, +#map_canvas embed, +#map_canvas object, +.map_canvas img, +.map_canvas embed, +.map_canvas object { + max-width: none !important; +} + +/* line 358, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.left { + float: left !important; +} + +/* line 359, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.right { + float: right !important; +} + +/* line 360, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.clearfix { + *zoom: 1; +} +/* line 165, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.clearfix:before, .clearfix:after { + content: " "; + display: table; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.clearfix:after { + clear: both; +} + +/* line 361, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.text-left { + text-align: left !important; +} + +/* line 362, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.text-right { + text-align: right !important; +} + +/* line 363, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.text-center { + text-align: center !important; +} + +/* line 364, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.text-justify { + text-align: justify !important; +} + +/* line 365, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.hide { + display: none; +} + +/* line 371, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.antialiased { + -webkit-font-smoothing: antialiased; +} + +/* line 374, ../bower_components/foundation/scss/foundation/components/_global.scss */ +img { + display: inline-block; + vertical-align: middle; +} + +/* line 384, ../bower_components/foundation/scss/foundation/components/_global.scss */ +textarea { + height: auto; + min-height: 50px; +} + +/* line 387, ../bower_components/foundation/scss/foundation/components/_global.scss */ +select { + width: 100%; +} + +/* line 69, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ +[class*="block-grid-"] { + display: block; + padding: 0; + margin: 0 -1.5em; + *zoom: 1; +} +/* line 165, ../bower_components/foundation/scss/foundation/components/_global.scss */ +[class*="block-grid-"]:before, [class*="block-grid-"]:after { + content: " "; + display: table; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_global.scss */ +[class*="block-grid-"]:after { + clear: both; +} +/* line 35, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ +[class*="block-grid-"] > li { + display: inline; + height: auto; + float: left; + padding: 0 1.5em 3em; +} + +@media only screen { + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-1 > li { + width: 100%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-1 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-2 > li { + width: 50%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-2 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-3 > li { + width: 33.33333%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-3 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-4 > li { + width: 25%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-4 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-5 > li { + width: 20%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-5 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-6 > li { + width: 16.66667%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-6 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-7 > li { + width: 14.28571%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-7 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-8 > li { + width: 12.5%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-8 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-9 > li { + width: 11.11111%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-9 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-10 > li { + width: 10%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-10 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-11 > li { + width: 9.09091%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-11 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-12 > li { + width: 8.33333%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-12 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .small-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; + } +} +@media only screen and (min-width: 40.063em) { + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-1 > li { + width: 100%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-1 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-2 > li { + width: 50%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-2 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-3 > li { + width: 33.33333%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-3 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-4 > li { + width: 25%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-4 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-5 > li { + width: 20%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-5 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-6 > li { + width: 16.66667%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-6 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-7 > li { + width: 14.28571%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-7 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-8 > li { + width: 12.5%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-8 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-9 > li { + width: 11.11111%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-9 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-10 > li { + width: 10%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-10 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-11 > li { + width: 9.09091%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-11 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-12 > li { + width: 8.33333%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-12 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .medium-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; + } +} +@media only screen and (min-width: 64.063em) { + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-1 > li { + width: 100%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-1 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-2 > li { + width: 50%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-2 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-3 > li { + width: 33.33333%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-3 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-4 > li { + width: 25%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-4 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-5 > li { + width: 20%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-5 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-6 > li { + width: 16.66667%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-6 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-7 > li { + width: 14.28571%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-7 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-8 > li { + width: 12.5%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-8 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-9 > li { + width: 11.11111%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-9 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-10 > li { + width: 10%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-10 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-11 > li { + width: 9.09091%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-11 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; + } + + /* line 44, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-12 > li { + width: 8.33333%; + padding: 0 1.5em 3em; + } + /* line 48, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-12 > li:nth-of-type(n) { + clear: none; + } + /* line 49, ../bower_components/foundation/scss/foundation/components/_block-grid.scss */ + .large-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; + } +} +/* line 197, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button, .button { + cursor: pointer; + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: normal; + line-height: normal; + margin: 0 0 1.25rem; + position: relative; + text-decoration: none; + text-align: center; + display: inline-block; + padding-top: 1rem; + padding-right: 2rem; + padding-bottom: 1.0625rem; + padding-left: 2rem; + font-size: 1rem; + /* @else { font-size: $padding - rem-calc(2); } */ + background-color: #0a161f; + border-color: #04080c; + color: white; + -webkit-transition: background-color 300ms ease-out; + -moz-transition: background-color 300ms ease-out; + transition: background-color 300ms ease-out; + padding-top: 1.0625rem; + padding-bottom: 1rem; + -webkit-appearance: none; + border: none; + font-weight: normal !important; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button:hover, button:focus, .button:hover, .button:focus { + background-color: #04080c; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button:hover, button:focus, .button:hover, .button:focus { + color: white; +} +/* line 205, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.secondary, .button.secondary { + background-color: #1a5f99; + border-color: #165183; + color: white; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { + background-color: #165183; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus { + color: white; +} +/* line 206, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.success, .button.success { + background-color: #1a5f99; + border-color: #165183; + color: white; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { + background-color: #165183; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.success:hover, button.success:focus, .button.success:hover, .button.success:focus { + color: white; +} +/* line 207, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.alert, .button.alert { + background-color: #1a5f99; + border-color: #165183; + color: white; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { + background-color: #165183; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus { + color: white; +} +/* line 209, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.large, .button.large { + padding-top: 1.125rem; + padding-right: 2.25rem; + padding-bottom: 1.1875rem; + padding-left: 2.25rem; + font-size: 1.25rem; + /* @else { font-size: $padding - rem-calc(2); } */ +} +/* line 210, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.small, .button.small { + padding-top: 0.875rem; + padding-right: 1.75rem; + padding-bottom: 0.9375rem; + padding-left: 1.75rem; + font-size: 0.8125rem; + /* @else { font-size: $padding - rem-calc(2); } */ +} +/* line 211, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.tiny, .button.tiny { + padding-top: 0.625rem; + padding-right: 1.25rem; + padding-bottom: 0.6875rem; + padding-left: 1.25rem; + font-size: 0.6875rem; + /* @else { font-size: $padding - rem-calc(2); } */ +} +/* line 212, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.expand, .button.expand { + padding-right: 0; + padding-left: 0; + width: 100%; +} +/* line 214, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.left-align, .button.left-align { + text-align: left; + text-indent: 0.75rem; +} +/* line 215, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.right-align, .button.right-align { + text-align: right; + padding-right: 0.75rem; +} +/* line 217, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.radius, .button.radius { + -webkit-border-radius: 3px; + border-radius: 3px; +} +/* line 218, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.round, .button.round { + -webkit-border-radius: 1000px; + border-radius: 1000px; +} +/* line 220, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled, button[disabled], .button.disabled, .button[disabled] { + background-color: #0a161f; + border-color: #04080c; + color: white; + cursor: "default"; + opacity: 0.7; + -webkit-box-shadow: none; + box-shadow: none; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { + background-color: #04080c; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { + color: white; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus { + background-color: #0a161f; +} +/* line 221, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary { + background-color: #1a5f99; + border-color: #165183; + color: white; + cursor: "default"; + opacity: 0.7; + -webkit-box-shadow: none; + box-shadow: none; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { + background-color: #165183; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { + color: white; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus { + background-color: #1a5f99; +} +/* line 222, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success { + background-color: #1a5f99; + border-color: #165183; + color: white; + cursor: "default"; + opacity: 0.7; + -webkit-box-shadow: none; + box-shadow: none; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { + background-color: #165183; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { + color: white; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus { + background-color: #1a5f99; +} +/* line 223, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert { + background-color: #1a5f99; + border-color: #165183; + color: white; + cursor: "default"; + opacity: 0.7; + -webkit-box-shadow: none; + box-shadow: none; +} +/* line 142, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { + background-color: #165183; +} +/* line 153, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { + color: white; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ +button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus { + background-color: #1a5f99; +} + +@media only screen and (min-width: 40.063em) { + /* line 228, ../bower_components/foundation/scss/foundation/components/_buttons.scss */ + button, .button { + display: inline-block; + } +} +/* line 45, ../bower_components/foundation/scss/foundation/components/_flex-video.scss */ +.flex-video { + position: relative; + padding-top: 1.5625rem; + padding-bottom: 67.5%; + height: 0; + margin-bottom: 1rem; + overflow: hidden; +} +/* line 28, ../bower_components/foundation/scss/foundation/components/_flex-video.scss */ +.flex-video.widescreen { + padding-bottom: 57.25%; +} +/* line 29, ../bower_components/foundation/scss/foundation/components/_flex-video.scss */ +.flex-video.vimeo { + padding-top: 0; +} +/* line 34, ../bower_components/foundation/scss/foundation/components/_flex-video.scss */ +.flex-video iframe, +.flex-video object, +.flex-video embed, +.flex-video video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/* Standard Forms */ +/* line 300, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +form { + margin: 0 0 1rem; +} + +/* Using forms within rows, we need to set some defaults */ +/* line 75, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +form .row .row { + margin: 0 -0.5rem; +} +/* line 78, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +form .row .row .column, +form .row .row .columns { + padding: 0 0.5rem; +} +/* line 81, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +form .row .row.collapse { + margin: 0; +} +/* line 84, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +form .row .row.collapse .column, +form .row .row.collapse .columns { + padding: 0; +} +/* line 85, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +form .row .row.collapse input { + -moz-border-radius-bottomright: 0; + -moz-border-radius-topright: 0; + -webkit-border-bottom-right-radius: 0; + -webkit-border-top-right-radius: 0; +} +/* line 97, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +form .row input.column, +form .row input.columns, +form .row textarea.column, +form .row textarea.columns { + padding-left: 0.5rem; +} + +/* Label Styles */ +/* line 306, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +label { + font-size: 0.875rem; + color: #4d4d4d; + cursor: pointer; + display: block; + font-weight: normal; + margin-bottom: 0.5rem; + /* Styles for required inputs */ +} +/* line 307, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +label.right { + float: none; + text-align: right; +} +/* line 308, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +label.inline { + margin: 0 0 1rem 0; + padding: 0.625rem 0; +} +/* line 310, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +label small { + text-transform: capitalize; + color: #666666; +} + +/* line 316, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +select { + -webkit-appearance: none !important; + background: #fafafa url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; + background-position-x: 97%; + background-position-y: center; + border: 1px solid #cccccc; + padding: 0.5rem; + font-size: 0.875rem; + -webkit-border-radius: 0; + border-radius: 0; +} +/* line 327, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +select.radius { + -webkit-border-radius: 3px; + border-radius: 3px; +} +/* line 328, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +select:hover { + background: #f2f2f2 url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat; + background-position-x: 97%; + background-position-y: center; + border-color: #999999; +} + +@-moz-document url-prefix() { + /* line 338, ../bower_components/foundation/scss/foundation/components/_forms.scss */ + select { + background: #fafafa; + } + + /* line 339, ../bower_components/foundation/scss/foundation/components/_forms.scss */ + select:hover { + background: #f2f2f2; + } +} + +/* Attach elements to the beginning or end of an input */ +/* line 343, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.prefix, +.postfix { + display: block; + position: relative; + z-index: 2; + text-align: center; + width: 100%; + padding-top: 0; + padding-bottom: 0; + border-style: solid; + border-width: 1px; + overflow: hidden; + font-size: 0.875rem; + height: 2.3125rem; + line-height: 2.3125rem; +} + +/* Adjust padding, alignment and radius if pre/post element is a button */ +/* line 346, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.postfix.button { + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; + text-align: center; + line-height: 2.125rem; + border: none; +} + +/* line 347, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.prefix.button { + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; + text-align: center; + line-height: 2.125rem; + border: none; +} + +/* line 349, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.prefix.button.radius { + -webkit-border-radius: 0; + border-radius: 0; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} + +/* line 350, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.postfix.button.radius { + -webkit-border-radius: 0; + border-radius: 0; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +/* line 351, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.prefix.button.round { + -webkit-border-radius: 0; + border-radius: 0; + -moz-border-radius-bottomleft: 1000px; + -moz-border-radius-topleft: 1000px; + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; +} + +/* line 352, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.postfix.button.round { + -webkit-border-radius: 0; + border-radius: 0; + -moz-border-radius-topright: 1000px; + -moz-border-radius-bottomright: 1000px; + -webkit-border-top-right-radius: 1000px; + -webkit-border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; +} + +/* Separate prefix and postfix styles when on span or label so buttons keep their own */ +/* line 355, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +span.prefix, label.prefix { + background: #f2f2f2; + border-color: #d9d9d9; + border-right: none; + color: #333333; +} +/* line 356, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +span.prefix.radius, label.prefix.radius { + -webkit-border-radius: 0; + border-radius: 0; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} + +/* line 358, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +span.postfix, label.postfix { + background: #f2f2f2; + border-color: #cccccc; + border-left: none; + color: #333333; +} +/* line 359, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +span.postfix.radius, label.postfix.radius { + -webkit-border-radius: 0; + border-radius: 0; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +/* Input groups will automatically style first and last elements of the group */ +/* line 365, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.input-group.radius > *:first-child, .input-group.radius > *:first-child * { + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +/* line 368, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.input-group.radius > *:last-child, .input-group.radius > *:last-child * { + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +/* line 373, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.input-group.round > *:first-child, .input-group.round > *:first-child * { + -moz-border-radius-bottomleft: 1000px; + -moz-border-radius-topleft: 1000px; + -webkit-border-bottom-left-radius: 1000px; + -webkit-border-top-left-radius: 1000px; + border-bottom-left-radius: 1000px; + border-top-left-radius: 1000px; +} +/* line 376, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.input-group.round > *:last-child, .input-group.round > *:last-child * { + -moz-border-radius-topright: 1000px; + -moz-border-radius-bottomright: 1000px; + -webkit-border-top-right-radius: 1000px; + -webkit-border-bottom-right-radius: 1000px; + border-top-right-radius: 1000px; + border-bottom-right-radius: 1000px; +} + +/* We use this to get basic styling on all basic form elements */ +/* line 396, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +input[type="text"], +input[type="password"], +input[type="date"], +input[type="datetime"], +input[type="datetime-local"], +input[type="month"], +input[type="week"], +input[type="email"], +input[type="number"], +input[type="search"], +input[type="tel"], +input[type="time"], +input[type="url"], +textarea { + -webkit-appearance: none; + -webkit-border-radius: 0; + border-radius: 0; + background-color: white; + font-family: inherit; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + color: rgba(0, 0, 0, 0.75); + display: block; + font-size: 0.875rem; + margin: 0 0 1rem 0; + padding: 0.5rem; + height: 2.3125rem; + width: 100%; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: -webkit-box-shadow 0.45s, border-color 0.45s ease-in-out; + -moz-transition: -moz-box-shadow 0.45s, border-color 0.45s ease-in-out; + transition: box-shadow 0.45s, border-color 0.45s ease-in-out; +} +/* line 182, ../bower_components/foundation/scss/foundation/components/_global.scss */ +input[type="text"]:focus, +input[type="password"]:focus, +input[type="date"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="month"]:focus, +input[type="week"]:focus, +input[type="email"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="time"]:focus, +input[type="url"]:focus, +textarea:focus { + -webkit-box-shadow: 0 0 5px #999999; + -moz-box-shadow: 0 0 5px #999999; + box-shadow: 0 0 5px #999999; + border-color: #999999; +} +/* line 123, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +input[type="text"]:focus, +input[type="password"]:focus, +input[type="date"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="month"]:focus, +input[type="week"]:focus, +input[type="email"]:focus, +input[type="number"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="time"]:focus, +input[type="url"]:focus, +textarea:focus { + background: #fafafa; + border-color: #999999; + outline: none; +} +/* line 130, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +input[type="text"][disabled], +input[type="password"][disabled], +input[type="date"][disabled], +input[type="datetime"][disabled], +input[type="datetime-local"][disabled], +input[type="month"][disabled], +input[type="week"][disabled], +input[type="email"][disabled], +input[type="number"][disabled], +input[type="search"][disabled], +input[type="tel"][disabled], +input[type="time"][disabled], +input[type="url"][disabled], +textarea[disabled] { + background-color: #dddddd; +} + +/* Adjust margin for form elements below */ +/* line 410, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +input[type="file"], +input[type="checkbox"], +input[type="radio"], +select { + margin: 0 0 1rem 0; +} + +/* line 415, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +input[type="checkbox"] + label, +input[type="radio"] + label { + display: inline-block; + margin-left: 0.5rem; + margin-right: 1rem; + margin-bottom: 0; + vertical-align: baseline; +} + +/* Normalize file input width */ +/* line 424, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +input[type="file"] { + width: 100%; +} + +/* We add basic fieldset styling */ +/* line 429, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +fieldset { + border: solid 1px #dddddd; + padding: 1.25rem; + margin: 1.125rem 0; +} +/* line 247, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +fieldset legend { + font-weight: bold; + background: white; + padding: 0 0.1875rem; + margin: 0; + margin-left: -0.1875rem; +} + +/* Error Handling */ +/* line 436, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +[data-abide] .error small.error, [data-abide] span.error, [data-abide] small.error { + display: block; + padding: 0.375rem 0.5625rem 0.5625rem; + margin-top: -1px; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: normal; + font-style: italic; + background: #1a5f99; + color: white; +} +/* line 439, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +[data-abide] span.error, [data-abide] small.error { + display: none; +} + +/* line 441, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +span.error, small.error { + display: block; + padding: 0.375rem 0.5625rem 0.5625rem; + margin-top: -1px; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: normal; + font-style: italic; + background: #1a5f99; + color: white; +} + +/* line 447, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.error input, +.error textarea, +.error select { + margin-bottom: 0; +} +/* line 452, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.error label, +.error label.error { + color: #1a5f99; +} +/* line 457, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.error > small, +.error small.error { + display: block; + padding: 0.375rem 0.5625rem 0.5625rem; + margin-top: -1px; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: normal; + font-style: italic; + background: #1a5f99; + color: white; +} +/* line 461, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +.error span.error-message { + display: block; +} + +/* line 467, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +input.error, +textarea.error { + margin-bottom: 0; +} + +/* line 470, ../bower_components/foundation/scss/foundation/components/_forms.scss */ +label.error { + color: #1a5f99; +} + +/* line 190, ../bower_components/foundation/scss/foundation/components/_grid.scss */ +.row { + width: 100%; + margin-left: auto; + margin-right: auto; + margin-top: 0; + margin-bottom: 0; + max-width: 70.5625rem; + *zoom: 1; +} +/* line 165, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.row:before, .row:after { + content: " "; + display: table; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.row:after { + clear: both; +} +/* line 195, ../bower_components/foundation/scss/foundation/components/_grid.scss */ +.row.collapse > .column, +.row.collapse > .columns { + position: relative; + padding-left: 0; + padding-right: 0; + float: left; +} +/* line 197, ../bower_components/foundation/scss/foundation/components/_grid.scss */ +.row.collapse .row { + margin-left: 0; + margin-right: 0; +} +/* line 200, ../bower_components/foundation/scss/foundation/components/_grid.scss */ +.row .row { + width: auto; + margin-left: -1.5em; + margin-right: -1.5em; + margin-top: 0; + margin-bottom: 0; + max-width: none; + *zoom: 1; +} +/* line 165, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.row .row:before, .row .row:after { + content: " "; + display: table; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.row .row:after { + clear: both; +} +/* line 201, ../bower_components/foundation/scss/foundation/components/_grid.scss */ +.row .row.collapse { + width: auto; + margin: 0; + max-width: none; + *zoom: 1; +} +/* line 165, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.row .row.collapse:before, .row .row.collapse:after { + content: " "; + display: table; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.row .row.collapse:after { + clear: both; +} + +/* line 206, ../bower_components/foundation/scss/foundation/components/_grid.scss */ +.column, +.columns { + position: relative; + padding-left: 1.5em; + padding-right: 1.5em; + width: 100%; + float: left; +} + +@media only screen { + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-1 { + position: relative; + left: 8.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-1 { + position: relative; + right: 8.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-2 { + position: relative; + left: 16.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-2 { + position: relative; + right: 16.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-3 { + position: relative; + left: 25%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-3 { + position: relative; + right: 25%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-4 { + position: relative; + left: 33.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-4 { + position: relative; + right: 33.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-5 { + position: relative; + left: 41.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-5 { + position: relative; + right: 41.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-6 { + position: relative; + left: 50%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-6 { + position: relative; + right: 50%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-7 { + position: relative; + left: 58.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-7 { + position: relative; + right: 58.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-8 { + position: relative; + left: 66.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-8 { + position: relative; + right: 66.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-9 { + position: relative; + left: 75%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-9 { + position: relative; + right: 75%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-10 { + position: relative; + left: 83.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-10 { + position: relative; + right: 83.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-push-11 { + position: relative; + left: 91.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-pull-11 { + position: relative; + right: 91.66667%; + left: auto; + } + + /* line 157, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column, + .columns { + position: relative; + padding-left: 1.5em; + padding-right: 1.5em; + float: left; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-1 { + position: relative; + width: 8.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-2 { + position: relative; + width: 16.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-3 { + position: relative; + width: 25%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-4 { + position: relative; + width: 33.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-5 { + position: relative; + width: 41.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-6 { + position: relative; + width: 50%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-7 { + position: relative; + width: 58.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-8 { + position: relative; + width: 66.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-9 { + position: relative; + width: 75%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-10 { + position: relative; + width: 83.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-11 { + position: relative; + width: 91.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-12 { + position: relative; + width: 100%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-0 { + position: relative; + margin-left: 0%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-1 { + position: relative; + margin-left: 8.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-2 { + position: relative; + margin-left: 16.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-3 { + position: relative; + margin-left: 25%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-4 { + position: relative; + margin-left: 33.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-5 { + position: relative; + margin-left: 41.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-6 { + position: relative; + margin-left: 50%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-7 { + position: relative; + margin-left: 58.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-8 { + position: relative; + margin-left: 66.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-9 { + position: relative; + margin-left: 75%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .small-offset-10 { + position: relative; + margin-left: 83.33333%; + } + + /* line 168, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"]:last-child { + float: right; + } + + /* line 169, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"].end { + float: left; + } + + /* line 172, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.small-centered, + .columns.small-centered { + position: relative; + margin-left: auto; + margin-right: auto; + float: none !important; + } + + /* line 175, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.small-uncentered, + .columns.small-uncentered { + margin-left: 0; + margin-right: 0; + float: left !important; + } + + /* line 182, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.small-uncentered.opposite, + .columns.small-uncentered.opposite { + float: right !important; + } +} +@media only screen and (min-width: 40.063em) { + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-1 { + position: relative; + left: 8.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-1 { + position: relative; + right: 8.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-2 { + position: relative; + left: 16.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-2 { + position: relative; + right: 16.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-3 { + position: relative; + left: 25%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-3 { + position: relative; + right: 25%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-4 { + position: relative; + left: 33.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-4 { + position: relative; + right: 33.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-5 { + position: relative; + left: 41.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-5 { + position: relative; + right: 41.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-6 { + position: relative; + left: 50%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-6 { + position: relative; + right: 50%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-7 { + position: relative; + left: 58.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-7 { + position: relative; + right: 58.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-8 { + position: relative; + left: 66.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-8 { + position: relative; + right: 66.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-9 { + position: relative; + left: 75%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-9 { + position: relative; + right: 75%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-10 { + position: relative; + left: 83.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-10 { + position: relative; + right: 83.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-push-11 { + position: relative; + left: 91.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-pull-11 { + position: relative; + right: 91.66667%; + left: auto; + } + + /* line 157, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column, + .columns { + position: relative; + padding-left: 1.5em; + padding-right: 1.5em; + float: left; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-1 { + position: relative; + width: 8.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-2 { + position: relative; + width: 16.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-3 { + position: relative; + width: 25%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-4 { + position: relative; + width: 33.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-5 { + position: relative; + width: 41.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-6 { + position: relative; + width: 50%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-7 { + position: relative; + width: 58.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-8 { + position: relative; + width: 66.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-9 { + position: relative; + width: 75%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-10 { + position: relative; + width: 83.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-11 { + position: relative; + width: 91.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-12 { + position: relative; + width: 100%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-0 { + position: relative; + margin-left: 0%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-1 { + position: relative; + margin-left: 8.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-2 { + position: relative; + margin-left: 16.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-3 { + position: relative; + margin-left: 25%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-4 { + position: relative; + margin-left: 33.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-5 { + position: relative; + margin-left: 41.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-6 { + position: relative; + margin-left: 50%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-7 { + position: relative; + margin-left: 58.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-8 { + position: relative; + margin-left: 66.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-9 { + position: relative; + margin-left: 75%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .medium-offset-10 { + position: relative; + margin-left: 83.33333%; + } + + /* line 168, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"]:last-child { + float: right; + } + + /* line 169, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"].end { + float: left; + } + + /* line 172, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.medium-centered, + .columns.medium-centered { + position: relative; + margin-left: auto; + margin-right: auto; + float: none !important; + } + + /* line 175, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.medium-uncentered, + .columns.medium-uncentered { + margin-left: 0; + margin-right: 0; + float: left !important; + } + + /* line 182, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.medium-uncentered.opposite, + .columns.medium-uncentered.opposite { + float: right !important; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-1 { + position: relative; + left: 8.33333%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-1 { + position: relative; + right: 8.33333%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-2 { + position: relative; + left: 16.66667%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-2 { + position: relative; + right: 16.66667%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-3 { + position: relative; + left: 25%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-3 { + position: relative; + right: 25%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-4 { + position: relative; + left: 33.33333%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-4 { + position: relative; + right: 33.33333%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-5 { + position: relative; + left: 41.66667%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-5 { + position: relative; + right: 41.66667%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-6 { + position: relative; + left: 50%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-6 { + position: relative; + right: 50%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-7 { + position: relative; + left: 58.33333%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-7 { + position: relative; + right: 58.33333%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-8 { + position: relative; + left: 66.66667%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-8 { + position: relative; + right: 66.66667%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-9 { + position: relative; + left: 75%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-9 { + position: relative; + right: 75%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-10 { + position: relative; + left: 83.33333%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-10 { + position: relative; + right: 83.33333%; + left: auto; + } + + /* line 216, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .push-11 { + position: relative; + left: 91.66667%; + right: auto; + } + + /* line 219, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .pull-11 { + position: relative; + right: 91.66667%; + left: auto; + } +} +@media only screen and (min-width: 64.063em) { + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-1 { + position: relative; + left: 8.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-1 { + position: relative; + right: 8.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-2 { + position: relative; + left: 16.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-2 { + position: relative; + right: 16.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-3 { + position: relative; + left: 25%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-3 { + position: relative; + right: 25%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-4 { + position: relative; + left: 33.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-4 { + position: relative; + right: 33.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-5 { + position: relative; + left: 41.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-5 { + position: relative; + right: 41.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-6 { + position: relative; + left: 50%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-6 { + position: relative; + right: 50%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-7 { + position: relative; + left: 58.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-7 { + position: relative; + right: 58.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-8 { + position: relative; + left: 66.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-8 { + position: relative; + right: 66.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-9 { + position: relative; + left: 75%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-9 { + position: relative; + right: 75%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-10 { + position: relative; + left: 83.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-10 { + position: relative; + right: 83.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-push-11 { + position: relative; + left: 91.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-pull-11 { + position: relative; + right: 91.66667%; + left: auto; + } + + /* line 157, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column, + .columns { + position: relative; + padding-left: 1.5em; + padding-right: 1.5em; + float: left; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-1 { + position: relative; + width: 8.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-2 { + position: relative; + width: 16.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-3 { + position: relative; + width: 25%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-4 { + position: relative; + width: 33.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-5 { + position: relative; + width: 41.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-6 { + position: relative; + width: 50%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-7 { + position: relative; + width: 58.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-8 { + position: relative; + width: 66.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-9 { + position: relative; + width: 75%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-10 { + position: relative; + width: 83.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-11 { + position: relative; + width: 91.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-12 { + position: relative; + width: 100%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-0 { + position: relative; + margin-left: 0%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-1 { + position: relative; + margin-left: 8.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-2 { + position: relative; + margin-left: 16.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-3 { + position: relative; + margin-left: 25%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-4 { + position: relative; + margin-left: 33.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-5 { + position: relative; + margin-left: 41.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-6 { + position: relative; + margin-left: 50%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-7 { + position: relative; + margin-left: 58.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-8 { + position: relative; + margin-left: 66.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-9 { + position: relative; + margin-left: 75%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .large-offset-10 { + position: relative; + margin-left: 83.33333%; + } + + /* line 168, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"]:last-child { + float: right; + } + + /* line 169, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"].end { + float: left; + } + + /* line 172, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.large-centered, + .columns.large-centered { + position: relative; + margin-left: auto; + margin-right: auto; + float: none !important; + } + + /* line 175, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.large-uncentered, + .columns.large-uncentered { + margin-left: 0; + margin-right: 0; + float: left !important; + } + + /* line 182, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.large-uncentered.opposite, + .columns.large-uncentered.opposite { + float: right !important; + } +} +@media only screen and (min-width: 90.063em) { + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-1 { + position: relative; + left: 8.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-1 { + position: relative; + right: 8.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-2 { + position: relative; + left: 16.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-2 { + position: relative; + right: 16.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-3 { + position: relative; + left: 25%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-3 { + position: relative; + right: 25%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-4 { + position: relative; + left: 33.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-4 { + position: relative; + right: 33.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-5 { + position: relative; + left: 41.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-5 { + position: relative; + right: 41.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-6 { + position: relative; + left: 50%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-6 { + position: relative; + right: 50%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-7 { + position: relative; + left: 58.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-7 { + position: relative; + right: 58.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-8 { + position: relative; + left: 66.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-8 { + position: relative; + right: 66.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-9 { + position: relative; + left: 75%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-9 { + position: relative; + right: 75%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-10 { + position: relative; + left: 83.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-10 { + position: relative; + right: 83.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-push-11 { + position: relative; + left: 91.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-pull-11 { + position: relative; + right: 91.66667%; + left: auto; + } + + /* line 157, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column, + .columns { + position: relative; + padding-left: 1.5em; + padding-right: 1.5em; + float: left; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-1 { + position: relative; + width: 8.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-2 { + position: relative; + width: 16.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-3 { + position: relative; + width: 25%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-4 { + position: relative; + width: 33.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-5 { + position: relative; + width: 41.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-6 { + position: relative; + width: 50%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-7 { + position: relative; + width: 58.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-8 { + position: relative; + width: 66.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-9 { + position: relative; + width: 75%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-10 { + position: relative; + width: 83.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-11 { + position: relative; + width: 91.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-12 { + position: relative; + width: 100%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-0 { + position: relative; + margin-left: 0%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-1 { + position: relative; + margin-left: 8.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-2 { + position: relative; + margin-left: 16.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-3 { + position: relative; + margin-left: 25%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-4 { + position: relative; + margin-left: 33.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-5 { + position: relative; + margin-left: 41.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-6 { + position: relative; + margin-left: 50%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-7 { + position: relative; + margin-left: 58.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-8 { + position: relative; + margin-left: 66.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-9 { + position: relative; + margin-left: 75%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xlarge-offset-10 { + position: relative; + margin-left: 83.33333%; + } + + /* line 168, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"]:last-child { + float: right; + } + + /* line 169, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"].end { + float: left; + } + + /* line 172, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.xlarge-centered, + .columns.xlarge-centered { + position: relative; + margin-left: auto; + margin-right: auto; + float: none !important; + } + + /* line 175, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.xlarge-uncentered, + .columns.xlarge-uncentered { + margin-left: 0; + margin-right: 0; + float: left !important; + } + + /* line 182, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.xlarge-uncentered.opposite, + .columns.xlarge-uncentered.opposite { + float: right !important; + } +} +@media only screen and (min-width: 120.063em) { + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-1 { + position: relative; + left: 8.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-1 { + position: relative; + right: 8.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-2 { + position: relative; + left: 16.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-2 { + position: relative; + right: 16.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-3 { + position: relative; + left: 25%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-3 { + position: relative; + right: 25%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-4 { + position: relative; + left: 33.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-4 { + position: relative; + right: 33.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-5 { + position: relative; + left: 41.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-5 { + position: relative; + right: 41.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-6 { + position: relative; + left: 50%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-6 { + position: relative; + right: 50%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-7 { + position: relative; + left: 58.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-7 { + position: relative; + right: 58.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-8 { + position: relative; + left: 66.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-8 { + position: relative; + right: 66.66667%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-9 { + position: relative; + left: 75%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-9 { + position: relative; + right: 75%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-10 { + position: relative; + left: 83.33333%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-10 { + position: relative; + right: 83.33333%; + left: auto; + } + + /* line 148, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-push-11 { + position: relative; + left: 91.66667%; + right: auto; + } + + /* line 151, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-pull-11 { + position: relative; + right: 91.66667%; + left: auto; + } + + /* line 157, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column, + .columns { + position: relative; + padding-left: 1.5em; + padding-right: 1.5em; + float: left; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-1 { + position: relative; + width: 8.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-2 { + position: relative; + width: 16.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-3 { + position: relative; + width: 25%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-4 { + position: relative; + width: 33.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-5 { + position: relative; + width: 41.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-6 { + position: relative; + width: 50%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-7 { + position: relative; + width: 58.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-8 { + position: relative; + width: 66.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-9 { + position: relative; + width: 75%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-10 { + position: relative; + width: 83.33333%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-11 { + position: relative; + width: 91.66667%; + } + + /* line 161, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-12 { + position: relative; + width: 100%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-0 { + position: relative; + margin-left: 0%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-1 { + position: relative; + margin-left: 8.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-2 { + position: relative; + margin-left: 16.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-3 { + position: relative; + margin-left: 25%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-4 { + position: relative; + margin-left: 33.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-5 { + position: relative; + margin-left: 41.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-6 { + position: relative; + margin-left: 50%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-7 { + position: relative; + margin-left: 58.33333%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-8 { + position: relative; + margin-left: 66.66667%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-9 { + position: relative; + margin-left: 75%; + } + + /* line 165, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .xxlarge-offset-10 { + position: relative; + margin-left: 83.33333%; + } + + /* line 168, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"]:last-child { + float: right; + } + + /* line 169, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + [class*="column"] + [class*="column"].end { + float: left; + } + + /* line 172, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.xxlarge-centered, + .columns.xxlarge-centered { + position: relative; + margin-left: auto; + margin-right: auto; + float: none !important; + } + + /* line 175, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.xxlarge-uncentered, + .columns.xxlarge-uncentered { + margin-left: 0; + margin-right: 0; + float: left !important; + } + + /* line 182, ../bower_components/foundation/scss/foundation/components/_grid.scss */ + .column.xxlarge-uncentered.opposite, + .columns.xxlarge-uncentered.opposite { + float: right !important; + } +} +/* line 48, ../bower_components/foundation/scss/foundation/components/_inline-lists.scss */ +.inline-list { + margin: 0 auto 1.0625rem auto; + margin-left: -1.375rem; + margin-right: 0; + padding: 0; + list-style: none; + overflow: hidden; +} +/* line 37, ../bower_components/foundation/scss/foundation/components/_inline-lists.scss */ +.inline-list > li { + list-style: none; + float: left; + margin-left: 1.375rem; + display: block; +} +/* line 42, ../bower_components/foundation/scss/foundation/components/_inline-lists.scss */ +.inline-list > li > * { + display: block; +} + +/* line 132, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination { + display: block; + height: 1.5rem; + margin-left: -0.3125rem; +} +/* line 95, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li { + height: 1.5rem; + color: #222222; + font-size: 0.875rem; + margin-left: 0.3125rem; +} +/* line 101, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li a { + display: block; + padding: 0.0625rem 0.625rem 0.0625rem; + color: #999999; + -webkit-border-radius: 3px; + border-radius: 3px; +} +/* line 109, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li:hover a, +ul.pagination li a:focus { + background: #e6e6e6; +} +/* line 47, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li.unavailable a { + cursor: default; + color: #999999; +} +/* line 52, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus { + background: transparent; +} +/* line 60, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li.current a { + background: #0a161f; + color: white; + font-weight: bold; + cursor: default; +} +/* line 67, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li.current a:hover, ul.pagination li.current a:focus { + background: #0a161f; +} +/* line 119, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +ul.pagination li { + float: left; + display: block; +} + +/* Pagination centred wrapper */ +/* line 137, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +.pagination-centered { + text-align: center; +} +/* line 119, ../bower_components/foundation/scss/foundation/components/_pagination.scss */ +.pagination-centered ul.pagination li { + float: none; + display: inline-block; +} + +/* line 111, ../bower_components/foundation/scss/foundation/components/_type.scss */ +p.lead { + font-size: 1.21875rem; + line-height: 1.6; +} + +/* line 116, ../bower_components/foundation/scss/foundation/components/_type.scss */ +.subheader { + line-height: 1.4; + color: #2f6893; + font-weight: 300; + margin-top: 0.2rem; + margin-bottom: 0.5rem; +} + +/* Typography resets */ +/* line 145, ../bower_components/foundation/scss/foundation/components/_type.scss */ +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +pre, +form, +p, +blockquote, +th, +td { + margin: 0; + padding: 0; + direction: ltr; +} + +/* Default Link Styles */ +/* line 152, ../bower_components/foundation/scss/foundation/components/_type.scss */ +a { + color: #0a161f; + text-decoration: none; + line-height: inherit; +} +/* line 158, ../bower_components/foundation/scss/foundation/components/_type.scss */ +a:hover, a:focus { + color: #1a5f99; +} +/* line 160, ../bower_components/foundation/scss/foundation/components/_type.scss */ +a img { + border: none; +} + +/* Default paragraph styles */ +/* line 164, ../bower_components/foundation/scss/foundation/components/_type.scss */ +p { + font-family: inherit; + font-weight: normal; + font-size: 1rem; + line-height: 1.5; + margin-bottom: 1.25rem; + text-rendering: optimizeLegibility; +} +/* line 174, ../bower_components/foundation/scss/foundation/components/_type.scss */ +p aside { + font-size: 0.875rem; + line-height: 1.35; + font-style: italic; +} + +/* Default header styles */ +/* line 182, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h1, h2, h3, h4, h5, h6 { + font-family: "Roboto Slab", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-weight: 300; + font-style: normal; + color: #0a161f; + text-rendering: optimizeLegibility; + margin-top: 0.2rem; + margin-bottom: 0.5rem; + line-height: 1.4; +} +/* line 192, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { + font-size: 60%; + color: #2f6893; + line-height: 0; +} + +/* line 199, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h1 { + font-size: 2.375rem; +} + +/* line 200, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h2 { + font-size: 1.625rem; +} + +/* line 201, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h3 { + font-size: 1.5625rem; +} + +/* line 202, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h4 { + font-size: 1.1875rem; +} + +/* line 203, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h5 { + font-size: 1.125rem; +} + +/* line 204, ../bower_components/foundation/scss/foundation/components/_type.scss */ +h6 { + font-size: 1em; +} + +/* line 208, ../bower_components/foundation/scss/foundation/components/_type.scss */ +hr { + border: solid #9d9995; + border-width: 1px 0 0; + clear: both; + margin: 1.25rem 0 1.1875rem; + height: 0; +} + +/* Helpful Typography Defaults */ +/* line 218, ../bower_components/foundation/scss/foundation/components/_type.scss */ +em, +i { + font-style: italic; + line-height: inherit; +} + +/* line 224, ../bower_components/foundation/scss/foundation/components/_type.scss */ +strong, +b { + font-weight: bold; + line-height: inherit; +} + +/* line 229, ../bower_components/foundation/scss/foundation/components/_type.scss */ +small { + font-size: 60%; + line-height: inherit; +} + +/* line 234, ../bower_components/foundation/scss/foundation/components/_type.scss */ +code { + font-family: Consolas, "Liberation Mono", Courier, monospace; + font-weight: bold; + color: #0f3658; +} + +/* Lists */ +/* line 243, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul, +ol, +dl { + font-size: 1rem; + line-height: 1.5; + margin-bottom: 1.25rem; + list-style-position: outside; + font-family: inherit; +} + +/* line 251, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul { + margin-left: 1.1rem; +} +/* line 253, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul.no-bullet { + margin-left: 0; +} +/* line 257, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul.no-bullet li ul, +ul.no-bullet li ol { + margin-left: 1.25rem; + margin-bottom: 0; + list-style: none; +} + +/* Unordered Lists */ +/* line 270, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul li ul, +ul li ol { + margin-left: 1.25rem; + margin-bottom: 0; + font-size: 1rem; + /* Override nested font-size change */ +} +/* line 279, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul.square li ul, ul.circle li ul, ul.disc li ul { + list-style: inherit; +} +/* line 282, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul.square { + list-style-type: square; + margin-left: 1.1rem; +} +/* line 283, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul.circle { + list-style-type: circle; + margin-left: 1.1rem; +} +/* line 284, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul.disc { + list-style-type: disc; + margin-left: 1.1rem; +} +/* line 285, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ul.no-bullet { + list-style: none; +} + +/* Ordered Lists */ +/* line 289, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ol { + margin-left: 1.4rem; +} +/* line 293, ../bower_components/foundation/scss/foundation/components/_type.scss */ +ol li ul, +ol li ol { + margin-left: 1.25rem; + margin-bottom: 0; +} + +/* Definition Lists */ +/* line 302, ../bower_components/foundation/scss/foundation/components/_type.scss */ +dl dt { + margin-bottom: 0.3rem; + font-weight: bold; +} +/* line 306, ../bower_components/foundation/scss/foundation/components/_type.scss */ +dl dd { + margin-bottom: 0.75rem; +} + +/* Abbreviations */ +/* line 311, ../bower_components/foundation/scss/foundation/components/_type.scss */ +abbr, +acronym { + text-transform: uppercase; + font-size: 90%; + color: #0a161f; + border-bottom: 1px dotted #dddddd; + cursor: help; +} + +/* line 318, ../bower_components/foundation/scss/foundation/components/_type.scss */ +abbr { + text-transform: none; +} + +/* Blockquotes */ +/* line 323, ../bower_components/foundation/scss/foundation/components/_type.scss */ +blockquote { + margin: 0 0 1.25rem; + padding: 0.5625rem 1.25rem 0 1.1875rem; + border-left: 1px solid #dddddd; +} +/* line 328, ../bower_components/foundation/scss/foundation/components/_type.scss */ +blockquote cite { + display: block; + font-size: 0.8125rem; + color: #234d6c; +} +/* line 332, ../bower_components/foundation/scss/foundation/components/_type.scss */ +blockquote cite:before { + content: "\2014 \0020"; +} +/* line 337, ../bower_components/foundation/scss/foundation/components/_type.scss */ +blockquote cite a, +blockquote cite a:visited { + color: #234d6c; +} + +/* line 343, ../bower_components/foundation/scss/foundation/components/_type.scss */ +blockquote, +blockquote p { + line-height: 1.5; + color: #2f6893; +} + +/* Microformats */ +/* line 349, ../bower_components/foundation/scss/foundation/components/_type.scss */ +.vcard { + display: inline-block; + margin: 0 0 1.25rem 0; + border: 1px solid #dddddd; + padding: 0.625rem 0.75rem; +} +/* line 355, ../bower_components/foundation/scss/foundation/components/_type.scss */ +.vcard li { + margin: 0; + display: block; +} +/* line 359, ../bower_components/foundation/scss/foundation/components/_type.scss */ +.vcard .fn { + font-weight: bold; + font-size: 0.9375rem; +} + +/* line 366, ../bower_components/foundation/scss/foundation/components/_type.scss */ +.vevent .summary { + font-weight: bold; +} +/* line 368, ../bower_components/foundation/scss/foundation/components/_type.scss */ +.vevent abbr { + cursor: "default"; + text-decoration: none; + font-weight: bold; + border: none; + padding: 0 0.0625rem; +} + +@media only screen and (min-width: 40.063em) { + /* line 379, ../bower_components/foundation/scss/foundation/components/_type.scss */ + h1, h2, h3, h4, h5, h6 { + line-height: 1.4; + } + + /* line 380, ../bower_components/foundation/scss/foundation/components/_type.scss */ + h1 { + font-size: 3rem; + } + + /* line 381, ../bower_components/foundation/scss/foundation/components/_type.scss */ + h2 { + font-size: 2.25rem; + } + + /* line 382, ../bower_components/foundation/scss/foundation/components/_type.scss */ + h3 { + font-size: 1.875rem; + } + + /* line 383, ../bower_components/foundation/scss/foundation/components/_type.scss */ + h4 { + font-size: 1.5rem; + } +} +/* + * Print styles. + * + * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/ + * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com) +*/ +/* line 394, ../bower_components/foundation/scss/foundation/components/_type.scss */ +.print-only { + display: none !important; +} + +@media print { + /* line 396, ../bower_components/foundation/scss/foundation/components/_type.scss */ + * { + background: transparent !important; + color: #000 !important; + /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; + } + + /* line 404, ../bower_components/foundation/scss/foundation/components/_type.scss */ + a, + a:visited { + text-decoration: underline; + } + + /* line 405, ../bower_components/foundation/scss/foundation/components/_type.scss */ + a[href]:after { + content: " (" attr(href) ")"; + } + + /* line 407, ../bower_components/foundation/scss/foundation/components/_type.scss */ + abbr[title]:after { + content: " (" attr(title) ")"; + } + + /* line 412, ../bower_components/foundation/scss/foundation/components/_type.scss */ + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + + /* line 415, ../bower_components/foundation/scss/foundation/components/_type.scss */ + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + /* line 420, ../bower_components/foundation/scss/foundation/components/_type.scss */ + thead { + display: table-header-group; + /* h5bp.com/t */ + } + + /* line 423, ../bower_components/foundation/scss/foundation/components/_type.scss */ + tr, + img { + page-break-inside: avoid; + } + + /* line 425, ../bower_components/foundation/scss/foundation/components/_type.scss */ + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; +} + + /* line 431, ../bower_components/foundation/scss/foundation/components/_type.scss */ + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + /* line 437, ../bower_components/foundation/scss/foundation/components/_type.scss */ + h2, + h3 { + page-break-after: avoid; + } + + /* line 439, ../bower_components/foundation/scss/foundation/components/_type.scss */ + .hide-on-print { + display: none !important; + } + + /* line 440, ../bower_components/foundation/scss/foundation/components/_type.scss */ + .print-only { + display: block !important; + } + + /* line 441, ../bower_components/foundation/scss/foundation/components/_type.scss */ + .hide-for-print { + display: none !important; + } + + /* line 442, ../bower_components/foundation/scss/foundation/components/_type.scss */ + .show-for-print { + display: inherit !important; + } +} +/* line 77, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +meta.foundation-mq-topbar { + font-family: "/only screen and (min-width:40.063em)/"; + width: 40.063em; +} + +/* Wrapped around .top-bar to contain to grid width */ +/* line 86, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.contain-to-grid { + width: 100%; + background: #333333; +} +/* line 90, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.contain-to-grid .top-bar { + margin-bottom: 0; +} + +/* line 94, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.fixed { + width: 100%; + left: 0; + position: fixed; + top: 0; + z-index: 99; +} +/* line 101, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.fixed.expanded:not(.top-bar) { + overflow-y: auto; + height: auto; + width: 100%; + max-height: 100%; +} +/* line 107, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.fixed.expanded:not(.top-bar) .title-area { + position: fixed; + width: 100%; + z-index: 99; +} +/* line 113, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.fixed.expanded:not(.top-bar) .top-bar-section { + z-index: 98; + margin-top: 45px; +} + +/* line 120, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar { + overflow: hidden; + height: 45px; + line-height: 45px; + position: relative; + background: #333333; + margin-bottom: 0; +} +/* line 129, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar ul { + margin-bottom: 0; + list-style: none; +} +/* line 134, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .row { + max-width: none; +} +/* line 137, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar form, +.top-bar input { + margin-bottom: 0; +} +/* line 139, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar input { + height: auto; + padding-top: .35rem; + padding-bottom: .35rem; + font-size: 0.75rem; +} +/* line 141, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .button { + padding-top: .45rem; + padding-bottom: .35rem; + margin-bottom: 0; + font-size: 0.75rem; +} +/* line 152, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .title-area { + position: relative; + margin: 0; +} +/* line 157, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .name { + height: 45px; + margin: 0; + font-size: 16px; +} +/* line 162, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .name h1 { + line-height: 45px; + font-size: 1.0625rem; + margin: 0; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .name h1 a { + font-weight: normal; + color: white; + width: 50%; + display: block; + padding: 0 15px; +} +/* line 177, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .toggle-topbar { + position: absolute; + right: 0; + top: 0; +} +/* line 182, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .toggle-topbar a { + color: white; + text-transform: uppercase; + font-size: 0.8125rem; + font-weight: bold; + position: relative; + display: block; + padding: 0 15px; + height: 45px; + line-height: 45px; +} +/* line 195, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .toggle-topbar.menu-icon { + right: 15px; + top: 50%; + margin-top: -16px; + padding-left: 40px; +} +/* line 201, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .toggle-topbar.menu-icon a { + text-indent: -48px; + width: 34px; + height: 34px; + line-height: 33px; + padding: 0; + color: white; +} +/* line 209, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar .toggle-topbar.menu-icon a span { + position: absolute; + right: 0; + display: block; + width: 16px; + height: 0; + -webkit-box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white; + box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white; +} +/* line 230, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar.expanded { + height: auto; + background: transparent; +} +/* line 234, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar.expanded .title-area { + background: #333333; +} +/* line 237, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar.expanded .toggle-topbar a { + color: #888888; +} +/* line 238, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar.expanded .toggle-topbar a span { + -webkit-box-shadow: 0 10px 0 1px #888888, 0 16px 0 1px #888888, 0 22px 0 1px #888888; + box-shadow: 0 10px 0 1px #888888, 0 16px 0 1px #888888, 0 22px 0 1px #888888; +} + +/* line 258, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section { + left: 0; + position: relative; + width: auto; + -webkit-transition: left 300ms ease-out; + -moz-transition: left 300ms ease-out; + transition: left 300ms ease-out; +} +/* line 264, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul { + width: 100%; + height: auto; + display: block; + background: #333333; + font-size: 16px; + margin: 0; +} +/* line 274, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .divider, +.top-bar-section [role="separator"] { + border-top: solid 1px #1a1a1a; + clear: both; + height: 1px; + width: 100%; +} +/* line 282, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a { + display: block; + width: 100%; + color: white; + padding: 12px 0 12px 0; + padding-left: 15px; + font-family: "Roboto", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; + font-size: 0.8125rem; + font-weight: normal; + background: #333333; +} +/* line 293, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button { + background: #0a161f; + font-size: 0.8125rem; + padding-right: 15px; + padding-left: 15px; +} +/* line 298, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button:hover { + background: black; +} +/* line 302, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button.secondary { + background: #1a5f99; +} +/* line 304, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button.secondary:hover { + background: #13446d; +} +/* line 308, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button.success { + background: #1a5f99; +} +/* line 310, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button.success:hover { + background: #13446d; +} +/* line 314, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button.alert { + background: #1a5f99; +} +/* line 316, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li > a.button.alert:hover { + background: #13446d; +} +/* line 324, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li:hover > a { + background: #272727; + color: white; +} +/* line 331, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li.active > a { + background: #0a161f; + color: white; +} +/* line 334, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section ul li.active > a:hover { + background: #04080c; +} +/* line 341, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .has-form { + padding: 15px; +} +/* line 344, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .has-dropdown { + position: relative; +} +/* line 348, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .has-dropdown > a:after { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 5px; + border-color: transparent transparent transparent rgba(255, 255, 255, 0.4); + border-left-style: solid; + margin-right: 15px; + margin-top: -4.5px; + position: absolute; + top: 50%; + right: 0; +} +/* line 360, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .has-dropdown.moved { + position: static; +} +/* line 361, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .has-dropdown.moved > .dropdown { + display: block; +} +/* line 368, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .dropdown { + position: absolute; + left: 100%; + top: 0; + display: none; + z-index: 99; +} +/* line 375, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .dropdown li { + width: 100%; + height: auto; +} +/* line 379, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .dropdown li a { + font-weight: normal; + padding: 8px 15px; +} +/* line 382, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .dropdown li a.parent-link { + font-weight: normal; +} +/* line 387, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .dropdown li.title h5 { + margin-bottom: 0; +} +/* line 388, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .dropdown li.title h5 a { + color: white; + line-height: 22.5px; + display: block; +} +/* line 396, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.top-bar-section .dropdown label { + padding: 8px 15px 2px; + margin-bottom: 0; + text-transform: uppercase; + color: #777777; + font-weight: bold; + font-size: 0.625rem; +} + +/* line 407, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ +.js-generated { + display: block; +} + +@media only screen and (min-width: 40.063em) { + /* line 412, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar { + background: #333333; + *zoom: 1; + overflow: visible; + } + /* line 165, ../bower_components/foundation/scss/foundation/components/_global.scss */ + .top-bar:before, .top-bar:after { + content: " "; + display: table; + } + /* line 166, ../bower_components/foundation/scss/foundation/components/_global.scss */ + .top-bar:after { + clear: both; + } + /* line 417, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar .toggle-topbar { + display: none; + } + /* line 419, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar .title-area { + float: left; + } + /* line 420, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar .name h1 a { + width: auto; + } + /* line 423, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar input, + .top-bar .button { + font-size: 0.875rem; + position: relative; + top: 7px; + } + /* line 429, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar.expanded { + background: #333333; + } + + /* line 432, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .contain-to-grid .top-bar { + max-width: 70.5625rem; + margin: 0 auto; + margin-bottom: 0; + } + + /* line 438, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section { + -webkit-transition: none 0 0; + -moz-transition: none 0 0; + transition: none 0 0; + left: 0 !important; + } + /* line 442, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section ul { + width: auto; + height: auto !important; + display: inline; + } + /* line 447, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section ul li { + float: left; + } + /* line 449, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section ul li .js-generated { + display: none; + } + /* line 455, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section li.hover > a:not(.button) { + background: #272727; + color: white; + } + /* line 460, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section li a:not(.button) { + padding: 0 15px; + line-height: 45px; + background: #333333; + } + /* line 464, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section li a:not(.button):hover { + background: #272727; + } + /* line 472, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .has-dropdown > a { + padding-right: 35px !important; + } + /* line 474, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .has-dropdown > a:after { + content: ""; + display: block; + width: 0; + height: 0; + border: inset 5px; + border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent; + border-top-style: solid; + margin-top: -2.5px; + top: 22.5px; + } + /* line 483, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .has-dropdown.moved { + position: relative; + } + /* line 484, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .has-dropdown.moved > .dropdown { + display: none; + } + /* line 488, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown { + display: block; + } + /* line 495, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after { + border: none; + content: "\00bb"; + top: 1rem; + margin-top: -2px; + right: 5px; + } + /* line 507, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .dropdown { + left: 0; + top: auto; + background: transparent; + min-width: 100%; + } + /* line 514, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .dropdown li a { + color: white; + line-height: 1; + white-space: nowrap; + padding: 12px 15px; + background: #333333; + } + /* line 522, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .dropdown li label { + white-space: nowrap; + background: #333333; + } + /* line 528, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .dropdown li .dropdown { + left: 100%; + top: 0; + } + /* line 536, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section > ul > .divider, .top-bar-section > ul > [role="separator"] { + border-bottom: none; + border-top: none; + border-right: solid 1px #4d4d4d; + clear: none; + height: 45px; + width: 0; + } + /* line 545, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section .has-form { + background: #333333; + padding: 0 15px; + height: 45px; + } + /* line 553, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section ul.right li .dropdown { + left: auto; + right: 0; + } + /* line 557, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .top-bar-section ul.right li .dropdown li .dropdown { + right: 100%; + } + + /* line 567, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .no-js .top-bar-section ul li:hover > a { + background: #272727; + color: white; + } + /* line 573, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .no-js .top-bar-section ul li:active > a { + background: #0a161f; + color: white; + } + /* line 581, ../bower_components/foundation/scss/foundation/components/_top-bar.scss */ + .no-js .top-bar-section .has-dropdown:hover > .dropdown { + display: block; + } +} +/* line 67, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.off-canvas-wrap, .inner-wrap, nav.tab-bar, .left-off-canvas-menu, .left-off-canvas-menu *, .right-off-canvas-menu, .move-right a.exit-off-canvas, .move-left a.exit-off-canvas { + -webkit-backface-visibility: hidden; +} + +/* line 73, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.off-canvas-wrap, .inner-wrap { + position: relative; + width: 100%; +} + +/* line 79, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.left-off-canvas-menu, .right-off-canvas-menu { + width: 250px; + top: 0; + bottom: 0; + height: 100%; + position: absolute; + overflow-y: auto; + background: #333333; + z-index: 1001; + box-sizing: content-box; +} + +/* line 150, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +section.left-small, section.right-small { + width: 2.8125rem; + height: 2.8125rem; + position: absolute; + top: 0; +} + +/* line 270, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.off-canvas-wrap { + overflow: hidden; +} + +/* line 271, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.inner-wrap { + *zoom: 1; + -webkit-transition: -webkit-transform 500ms ease; + -moz-transition: -moz-transform 500ms ease; + -ms-transition: -ms-transform 500ms ease; + -o-transition: -o-transform 500ms ease; + transition: transform 500ms ease; +} +/* line 165, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.inner-wrap:before, .inner-wrap:after { + content: " "; + display: table; +} +/* line 166, ../bower_components/foundation/scss/foundation/components/_global.scss */ +.inner-wrap:after { + clear: both; +} + +/* line 273, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +nav.tab-bar { + background: #333333; + color: white; + height: 2.8125rem; + line-height: 2.8125rem; + position: relative; +} +/* line 139, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +nav.tab-bar h1, nav.tab-bar h2, nav.tab-bar h3, nav.tab-bar h4, nav.tab-bar h5, nav.tab-bar h6 { + color: white; + font-weight: bold; + line-height: 2.8125rem; + margin: 0; +} +/* line 145, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +nav.tab-bar h1, nav.tab-bar h2, nav.tab-bar h3, nav.tab-bar h4 { + font-size: 1.125rem; +} + +/* line 275, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +section.left-small { + border-right: solid 1px #1a1a1a; + box-shadow: 1px 0 0 #4d4d4d; + left: 0; +} + +/* line 276, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +section.right-small { + border-left: solid 1px #4d4d4d; + box-shadow: -1px 0 0 #1a1a1a; + right: 0; +} + +/* line 278, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +section.tab-bar-section { + padding: 0 0.625rem; + position: absolute; + text-align: center; + height: 2.8125rem; + top: 0; +} +@media only screen and (min-width: 40.063em) { + /* line 278, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ + section.tab-bar-section { + text-align: left; + } +} +/* line 182, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +section.tab-bar-section.left { + left: 0; + right: 2.8125rem; +} +/* line 186, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +section.tab-bar-section.right { + left: 2.8125rem; + right: 0; +} +/* line 190, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +section.tab-bar-section.middle { + left: 2.8125rem; + right: 2.8125rem; +} + +/* line 282, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +a.menu-icon { + text-indent: 2.1875rem; + width: 2.8125rem; + height: 2.8125rem; + display: block; + line-height: 2.0625rem; + padding: 0; + color: white; + position: relative; +} +/* line 293, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +a.menu-icon span { + position: absolute; + display: block; + width: 1rem; + height: 0; + left: 0.8125rem; + top: 0.3125rem; + -webkit-box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white; + box-shadow: 0 10px 0 1px white, 0 16px 0 1px white, 0 22px 0 1px white; +} +/* line 313, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +a.menu-icon:hover span { + -webkit-box-shadow: 0 10px 0 1px #b3b3b3, 0 16px 0 1px #b3b3b3, 0 22px 0 1px #b3b3b3; + box-shadow: 0 10px 0 1px #b3b3b3, 0 16px 0 1px #b3b3b3, 0 22px 0 1px #b3b3b3; +} + +/* line 325, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.left-off-canvas-menu { + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + -o-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} + +/* line 326, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.right-off-canvas-menu { + -webkit-transform: translate3d(100%, 0, 0); + -moz-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + -o-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + right: 0; +} + +/* line 328, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +ul.off-canvas-list { + list-style-type: none; + padding: 0; + margin: 0; +} +/* line 204, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +ul.off-canvas-list li label { + padding: 0.3rem 0.9375rem; + color: #999999; + text-transform: uppercase; + font-weight: bold; + background: #444444; + border-top: 1px solid #5e5e5e; + border-bottom: none; + margin: 0; +} +/* line 214, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +ul.off-canvas-list li a { + display: block; + padding: 0.66667rem; + color: rgba(255, 255, 255, 0.7); + border-bottom: 1px solid #262626; +} + +/* line 334, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.move-right > .inner-wrap { + -webkit-transform: translate3d(250px, 0, 0); + -moz-transform: translate3d(250px, 0, 0); + -ms-transform: translate3d(250px, 0, 0); + -o-transform: translate3d(250px, 0, 0); + transform: translate3d(250px, 0, 0); +} +/* line 337, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.move-right a.exit-off-canvas { + transition: background 300ms ease; + cursor: pointer; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.2); + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1002; +} +@media only screen and (min-width: 40.063em) { + /* line 244, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ + .move-right a.exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); + } +} + +/* line 341, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.move-left > .inner-wrap { + -webkit-transform: translate3d(-250px, 0, 0); + -moz-transform: translate3d(-250px, 0, 0); + -ms-transform: translate3d(-250px, 0, 0); + -o-transform: translate3d(-250px, 0, 0); + transform: translate3d(-250px, 0, 0); +} +/* line 345, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.move-left a.exit-off-canvas { + transition: background 300ms ease; + cursor: pointer; + box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5); + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.2); + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1002; +} +@media only screen and (min-width: 40.063em) { + /* line 244, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ + .move-left a.exit-off-canvas:hover { + background: rgba(255, 255, 255, 0.05); + } +} + +/* line 353, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.lt-ie10 .left-off-canvas-menu { + left: -250px; +} +/* line 354, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.lt-ie10 .right-off-canvas-menu { + right: -250px; +} +/* line 357, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.lt-ie10 .move-left > .inner-wrap { + right: 250px; +} +/* line 358, ../bower_components/foundation/scss/foundation/components/_offcanvas.scss */ +.lt-ie10 .move-right > .inner-wrap { + left: 250px; +} +form { + background-color:#ece5df; + padding:10px; + width:280px; + } + form.no-css { + background-color:#ece5df; + } +fieldset { + padding:0 20px 20px 20px; + margin-bottom:10px; + border:1px solid #DF3F3F; + } +legend { + color:#DF3F3F; + font-weight:bold + } +label { + display:block; + } +label.inline { + display:inline; + margin-right:50px; + } +input, textarea, select, option { + background-color:#FFF3F3; + } +input, textarea, select { + padding:3px; + border:1px solid #F5C5C5; + border-radius:5px; + width:150px; + box-shadow:1px 1px 2px #C0C0C0 inset; + } + +input[type=radio] { + background-color:transparent; + border:none; + width:10px; + } +input[type=submit], input[type=reset] { + width:100px; + margin-left:5px; + box-shadow:1px 1px 1px #D83F3D; + cursor:pointer; + } + +input[type=submit]:hover, input[type=reset]:hover { + background-color:#FCDEDE; + } +input[type=submit]:active, input[type=reset]:active { + background-color:#FCDEDE; + box-shadow:1px 1px 1px #D83F3D inset; +} + +#formItem label { + display: block; + text-align: center; + line-height: 150%; + font-size: .85em; +} +#formItem option { + text-align: center; + line-height: 150%; + font-size: .85em; +} \ No newline at end of file diff --git a/Website Source Code/css/style.css b/Website Source Code/css/style.css new file mode 100644 index 0000000..b184756 --- /dev/null +++ b/Website Source Code/css/style.css @@ -0,0 +1,82 @@ +html { + background: #ECE5DF; + text-align: center; + padding-top: 36px; +} + +body { + display: inline-block; +} + +.radial-timer { + overflow: hidden; + height: 144px; + width: 144px; + position: relative; +} +.radial-timer .radial-timer-half { + height: 144px; + width: 72px; + border-radius: 72px 0 0 72px; + background: red; + position: absolute; +} +.radial-timer .radial-timer-half:nth-of-type(2) { + z-index: 99999999; + -webkit-transform-origin: center right; + -webkit-transform: rotate(180deg); +} +.radial-timer .radial-timer-half:before { + content: ""; + position: absolute; + top: 9px; + left: 9px; + height: 126px; + width: 63px; + border-radius: 67.5px 0 0 67.5px; + background: #ECE5DF; +} +.radial-timer .radial-timer-half:after { + content: ""; + position: absolute; + background: #ECE5DF; + height: 288px; + width: 216px; + left: -144px; + top: -72px; + -webkit-transform-origin: center right; +} +.radial-timer.s-animate { + -webkit-transform-origin: center right; +} +.radial-timer.s-animate .radial-timer-half:nth-of-type(1):after { + -webkit-animation: rotateLeftMask 3s infinite linear; +} +.radial-timer.s-animate .radial-timer-half:nth-of-type(2):after { + -webkit-animation: rotateRightMask 3s infinite linear; +} + +@-webkit-keyframes rotateLeftMask { + 0% { + -webkit-transform: rotate(0deg); + } + 50% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(180deg); + } +} +@-webkit-keyframes rotateRightMask { + 0% { + -webkit-transform: rotate(0deg); + } + 50% { + -webkit-transform: rotate(180deg); + visibility: hidden; + } + 100% { + -webkit-transform: rotate(180deg); + visibility: hidden; + } +} diff --git a/Website Source Code/display-lux.php b/Website Source Code/display-lux.php new file mode 100644 index 0000000..9f0fc7b --- /dev/null +++ b/Website Source Code/display-lux.php @@ -0,0 +1,37 @@ +getMessage()); + } +// Récupération du contenu de la table capteurs + $reponse = $bdd->query('SELECT lux FROM capteurs WHERE id=1'); +?> + + + + + + +
+ + fetch()) + { + echo $donnees['lux'] . '
'; + } + $reponse->closeCursor(); + ?> +
+
+ + \ No newline at end of file diff --git a/Website Source Code/display-vent.php b/Website Source Code/display-vent.php new file mode 100644 index 0000000..7801df7 --- /dev/null +++ b/Website Source Code/display-vent.php @@ -0,0 +1,37 @@ +getMessage()); + } +// Récupération du contenu de la table capteurs + $reponse = $bdd->query('SELECT vent FROM capteurs WHERE id=1'); +?> + + + + + + +
+ + fetch()) + { + echo $donnees['vent'] . '
'; + } + $reponse->closeCursor(); + ?> +
+
+ + \ No newline at end of file diff --git a/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET Baptiste.pdf b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET Baptiste.pdf new file mode 100644 index 0000000..9c9b06d Binary files /dev/null and b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET Baptiste.pdf differ diff --git a/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Alexandre.pdf b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Alexandre.pdf new file mode 100644 index 0000000..c487c31 Binary files /dev/null and b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Alexandre.pdf differ diff --git a/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Jose.pdf b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Jose.pdf new file mode 100644 index 0000000..209f738 Binary files /dev/null and b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Jose.pdf differ diff --git a/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Valentin_Miniere.pdf b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Valentin_Miniere.pdf new file mode 100644 index 0000000..4fc972e Binary files /dev/null and b/Website Source Code/downloads/PRESENTATION_SLEGPI_PROJET_Valentin_Miniere.pdf differ diff --git a/Website Source Code/ecriture.php b/Website Source Code/ecriture.php new file mode 100644 index 0000000..0a1f9b4 --- /dev/null +++ b/Website Source Code/ecriture.php @@ -0,0 +1,62 @@ +Connexion impossible à la base de données

'); +mysql_select_db($bdd); + +$query = "UPDATE capteurs SET vent='$vent' WHERE id =1"; + $result = mysql_query($query); + } + else $vent="vide"; + + +echo"test mysql"; +if (isset($_GET['lux'])) +{ +$lux=$_GET['lux']; +$connexion=mysql_connect($host,$user,$pass) OR die('

Connexion impossible à la base de données

'); +mysql_select_db($bdd); +$query = "UPDATE capteurs SET lux='$lux' WHERE id =1"; + $result = mysql_query($query); + } + else $lux="vide"; + +echo"test mysql"; +if (isset($_GET['eInt'])) +{ +$eInt=$_GET['eInt']; +$connexion=mysql_connect($host,$user,$pass) OR die('

Connexion impossible à la base de données

'); +mysql_select_db($bdd); +$query = "UPDATE capteurs SET eInt='$eInt' WHERE id =1"; + $result = mysql_query($query); + } + else $eInt="vide"; + +echo"test mysql"; +if (isset($_GET['eExt'])) +{ +$eExt=$_GET['eExt']; +$connexion=mysql_connect($host,$user,$pass) OR die('

Connexion impossible à la base de données

'); +mysql_select_db($bdd); +$query = "UPDATE capteurs SET eExt='$eExt' WHERE id =1"; + $result = mysql_query($query); + } + else $eExt="vide"; + +echo"test mysql"; +if (isset($_GET['Store'])) +{ +$Store=$_GET['Store']; +$connexion=mysql_connect($host,$user,$pass) OR die('

Connexion impossible à la base de données

'); +mysql_select_db($bdd); + $query = "UPDATE capteurs SET Store='$Store' WHERE id =1"; + $result = mysql_query($query); + } + else $Store="vide"; +?> \ No newline at end of file diff --git a/Website Source Code/favicon.ico b/Website Source Code/favicon.ico new file mode 100644 index 0000000..7264d50 Binary files /dev/null and b/Website Source Code/favicon.ico differ diff --git a/Website Source Code/fonts/FontAwesome.otf b/Website Source Code/fonts/FontAwesome.otf new file mode 100644 index 0000000..3461e3f Binary files /dev/null and b/Website Source Code/fonts/FontAwesome.otf differ diff --git a/Website Source Code/fonts/Roboto-Black.ttf b/Website Source Code/fonts/Roboto-Black.ttf new file mode 100644 index 0000000..689fe5c Binary files /dev/null and b/Website Source Code/fonts/Roboto-Black.ttf differ diff --git a/Website Source Code/fonts/Roboto-BlackItalic.ttf b/Website Source Code/fonts/Roboto-BlackItalic.ttf new file mode 100644 index 0000000..0b4e0ee Binary files /dev/null and b/Website Source Code/fonts/Roboto-BlackItalic.ttf differ diff --git a/Website Source Code/fonts/Roboto-Bold.ttf b/Website Source Code/fonts/Roboto-Bold.ttf new file mode 100644 index 0000000..d3f01ad Binary files /dev/null and b/Website Source Code/fonts/Roboto-Bold.ttf differ diff --git a/Website Source Code/fonts/Roboto-BoldItalic.ttf b/Website Source Code/fonts/Roboto-BoldItalic.ttf new file mode 100644 index 0000000..41cc1e7 Binary files /dev/null and b/Website Source Code/fonts/Roboto-BoldItalic.ttf differ diff --git a/Website Source Code/fonts/Roboto-Italic.ttf b/Website Source Code/fonts/Roboto-Italic.ttf new file mode 100644 index 0000000..6a1cee5 Binary files /dev/null and b/Website Source Code/fonts/Roboto-Italic.ttf differ diff --git a/Website Source Code/fonts/Roboto-Light.ttf b/Website Source Code/fonts/Roboto-Light.ttf new file mode 100644 index 0000000..219063a Binary files /dev/null and b/Website Source Code/fonts/Roboto-Light.ttf differ diff --git a/Website Source Code/fonts/Roboto-LightItalic.ttf b/Website Source Code/fonts/Roboto-LightItalic.ttf new file mode 100644 index 0000000..0e81e87 Binary files /dev/null and b/Website Source Code/fonts/Roboto-LightItalic.ttf differ diff --git a/Website Source Code/fonts/Roboto-Medium.ttf b/Website Source Code/fonts/Roboto-Medium.ttf new file mode 100644 index 0000000..1a7f3b0 Binary files /dev/null and b/Website Source Code/fonts/Roboto-Medium.ttf differ diff --git a/Website Source Code/fonts/Roboto-MediumItalic.ttf b/Website Source Code/fonts/Roboto-MediumItalic.ttf new file mode 100644 index 0000000..0030295 Binary files /dev/null and b/Website Source Code/fonts/Roboto-MediumItalic.ttf differ diff --git a/Website Source Code/fonts/Roboto-Regular.ttf b/Website Source Code/fonts/Roboto-Regular.ttf new file mode 100644 index 0000000..2c97eea Binary files /dev/null and b/Website Source Code/fonts/Roboto-Regular.ttf differ diff --git a/Website Source Code/fonts/Roboto-Thin.ttf b/Website Source Code/fonts/Roboto-Thin.ttf new file mode 100644 index 0000000..b74a4fd Binary files /dev/null and b/Website Source Code/fonts/Roboto-Thin.ttf differ diff --git a/Website Source Code/fonts/Roboto-ThinItalic.ttf b/Website Source Code/fonts/Roboto-ThinItalic.ttf new file mode 100644 index 0000000..dd0ddb8 Binary files /dev/null and b/Website Source Code/fonts/Roboto-ThinItalic.ttf differ diff --git a/Website Source Code/fonts/fontawesome-webfont.eot b/Website Source Code/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..6cfd566 Binary files /dev/null and b/Website Source Code/fonts/fontawesome-webfont.eot differ diff --git a/Website Source Code/fonts/fontawesome-webfont.svg b/Website Source Code/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..f984e43 --- /dev/null +++ b/Website Source Code/fonts/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Website Source Code/fonts/fontawesome-webfont.ttf b/Website Source Code/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..5cd6cff Binary files /dev/null and b/Website Source Code/fonts/fontawesome-webfont.ttf differ diff --git a/Website Source Code/fonts/fontawesome-webfont.woff b/Website Source Code/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..9eaecb3 Binary files /dev/null and b/Website Source Code/fonts/fontawesome-webfont.woff differ diff --git a/Website Source Code/get_sql.php b/Website Source Code/get_sql.php new file mode 100644 index 0000000..58fc081 --- /dev/null +++ b/Website Source Code/get_sql.php @@ -0,0 +1,25 @@ +getMessage()); +} +// Récupération du contenu de la table capteurs +$reponse = $bdd->query('SELECT lux FROM capteurs WHERE id=1'); + +while ($donnees = $reponse->fetch()) +{ + echo $donnees['lux'] . '
'; +} + +$reponse->closeCursor(); // Termine le traitement de la requête +?> \ No newline at end of file diff --git a/Website Source Code/img/allume.png b/Website Source Code/img/allume.png new file mode 100644 index 0000000..4cfb1b5 Binary files /dev/null and b/Website Source Code/img/allume.png differ diff --git a/Website Source Code/img/auto/off.png b/Website Source Code/img/auto/off.png new file mode 100644 index 0000000..636e8a4 Binary files /dev/null and b/Website Source Code/img/auto/off.png differ diff --git a/Website Source Code/img/auto/on.png b/Website Source Code/img/auto/on.png new file mode 100644 index 0000000..832fce2 Binary files /dev/null and b/Website Source Code/img/auto/on.png differ diff --git a/Website Source Code/img/descendu.jpg b/Website Source Code/img/descendu.jpg new file mode 100644 index 0000000..d826a4c Binary files /dev/null and b/Website Source Code/img/descendu.jpg differ diff --git a/Website Source Code/img/descendu.png b/Website Source Code/img/descendu.png new file mode 100644 index 0000000..9d2b61d Binary files /dev/null and b/Website Source Code/img/descendu.png differ diff --git a/Website Source Code/img/eteint.png b/Website Source Code/img/eteint.png new file mode 100644 index 0000000..e44f320 Binary files /dev/null and b/Website Source Code/img/eteint.png differ diff --git a/Website Source Code/img/logo_slegpi.png b/Website Source Code/img/logo_slegpi.png new file mode 100644 index 0000000..0a0c21d Binary files /dev/null and b/Website Source Code/img/logo_slegpi.png differ diff --git a/Website Source Code/img/monte.jpg b/Website Source Code/img/monte.jpg new file mode 100644 index 0000000..c233410 Binary files /dev/null and b/Website Source Code/img/monte.jpg differ diff --git a/Website Source Code/img/monte.png b/Website Source Code/img/monte.png new file mode 100644 index 0000000..ba85855 Binary files /dev/null and b/Website Source Code/img/monte.png differ diff --git a/Website Source Code/img/projects/wide.png b/Website Source Code/img/projects/wide.png new file mode 100644 index 0000000..368f616 Binary files /dev/null and b/Website Source Code/img/projects/wide.png differ diff --git a/Website Source Code/index.php b/Website Source Code/index.php new file mode 100644 index 0000000..11d5dc5 --- /dev/null +++ b/Website Source Code/index.php @@ -0,0 +1,343 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + // Connection MySQL for imgs displaying. + $bdd = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + } + catch(Exception $e) + { + // Si il y a une erreur, arret du script. + die('Erreur : '.$e->getMessage()); + } + + $sql = "UPDATE `capteurs` SET `A/M` = '0' WHERE `capteurs`.`id` = 1"; + + // Prepare statement + $stmt = $conn->prepare($sql); + + // execute the query + $stmt->execute(); + +$conn = null; + + try + { +// Connection MySQL. + $checkiframeeInt = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + } + catch(Exception $e) + { +// Si il y a une erreur, arret du script. + die('Erreur : '.$e->getMessage()); + } +// Récupération du contenu de la table capteurs + $reponse = $checkiframeeInt->query('SELECT eInt FROM capteurs WHERE id=1'); + $result = $reponse->fetch(); + $count = $result[0]; +//============================================================================================================================= + try + { +// Connection MySQL. + $checkiframeeExt = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + } + catch(Exception $e) + { +// Si il y a une erreur, arret du script. + die('Erreur : '.$e->getMessage()); + } +// Récupération du contenu de la table capteurs + $reponse1 = $checkiframeeExt->query('SELECT eExt FROM capteurs WHERE id=1'); + $result = $reponse1->fetch(); + $count1 = $result[0]; +//============================================================================================================================= + try + { +// Connection MySQL. + $checkiframeStore = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + } + catch(Exception $e) + { +// Si il y a une erreur, arret du script. + die('Erreur : '.$e->getMessage()); + } +// Récupération du contenu de la table capteurs + $reponse2 = $checkiframeStore->query('SELECT Store FROM capteurs WHERE id=1'); + $result = $reponse2->fetch(); + $count2 = $result[0]; +//============================================================================================================================= + if ($count == 1){ + $LI = 'Y'; + } + elseif ($count == 0){ + $LI = 'non'; + } + else{ + $LI = ''; + } + + if ($count1 == 1){ + $LE = 'Z'; + } + elseif ($count1 == 0){ + $LE = 'wrong'; + } + else{ + $LE = ''; + } + + if ($count2 == 1){ + $S = 'false'; + } + elseif ($count2 == 0){ + $S = 'OUV'; + } + else{ + $S = ''; + } +?> + + + + + + + + + + Slegpi - Projet SIN 2018 + + + + + + + + + + +
+
+
    + + + +
  • +
    +
    + Capteur Lumières +
    +
    +
  • + + + + +
  • +
    +
    +
    +
    + + + + + + + +
    + +
    +
    +
    +
    +
  • + + + + + +
  • +
    +
    + Capteur Lumières +
    +
    +
  • + + + + +
  • +
    +
    + +
    +
    +

    Amount of light (in µW/cm²)

    +
    +
    +
  • + + + + + +
  • +
    +
    +
    + +
    + +
    +
  • + + + +
  • +
    +
    + +
    +
    +

    Wind Speed (km/h)

    +
    +
    +
  • + + + +
  • +
    +
    + query('SELECT `eInt` FROM `capteurs` WHERE id=1'); + $result = $etateInt->fetch(); + $count = $result[0]; + if ($count == 1) + { + echo ''; + } + else + { + echo 'Lumières Intérieures Eteintes'; + } + ?> +
    +

    State of the Indoor Lights

    +
    +
    +
    +
  • + + + +
  • +
    +
    + query('SELECT `Store` FROM `capteurs` WHERE id=1'); + $result2 = $etatStore->fetch(); + $count2 = $result2[0]; + if ($count2 == 0) + { + echo 'Store en position Haute'; + } + else + { + echo 'Store en position Basse'; + } + ?> +
    +

    Position of the blind

    +
    +
    +
    +
  • + + + + +
  • +
    +
    + query('SELECT `eExt` FROM `capteurs` WHERE id=1'); + $result1 = $etateExt->fetch(); + $count1 = $result1[0]; + if ($count1 == 1) + { + echo ''; + } + else + { + echo 'Lumières Extérieures Eteintes'; + } + ?> +
    +

    State of the Outdoor Lights

    +
    +
    +
    +
  • + +
+
+
+ + + diff --git a/Website Source Code/js/auto-js.js b/Website Source Code/js/auto-js.js new file mode 100644 index 0000000..d08d289 --- /dev/null +++ b/Website Source Code/js/auto-js.js @@ -0,0 +1,4 @@ +setTimeout(function () { + window.location.href= 'http://localhost/slegpi/auto.php'; // the redirect goes here + +},2000); \ No newline at end of file diff --git a/Website Source Code/js/foundation.min.js b/Website Source Code/js/foundation.min.js new file mode 100644 index 0000000..a650229 --- /dev/null +++ b/Website Source Code/js/foundation.min.js @@ -0,0 +1,3 @@ +!function(a,b,c,d){"use strict";function e(a){var b,c=this;if(this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=10,this.layer=a,!a||!a.nodeType)throw new TypeError("Layer must be a document node");this.onClick=function(){return e.prototype.onClick.apply(c,arguments)},this.onMouse=function(){return e.prototype.onMouse.apply(c,arguments)},this.onTouchStart=function(){return e.prototype.onTouchStart.apply(c,arguments)},this.onTouchMove=function(){return e.prototype.onTouchMove.apply(c,arguments)},this.onTouchEnd=function(){return e.prototype.onTouchEnd.apply(c,arguments)},this.onTouchCancel=function(){return e.prototype.onTouchCancel.apply(c,arguments)},e.notNeeded(a)||(this.deviceIsAndroid&&(a.addEventListener("mouseover",this.onMouse,!0),a.addEventListener("mousedown",this.onMouse,!0),a.addEventListener("mouseup",this.onMouse,!0)),a.addEventListener("click",this.onClick,!0),a.addEventListener("touchstart",this.onTouchStart,!1),a.addEventListener("touchmove",this.onTouchMove,!1),a.addEventListener("touchend",this.onTouchEnd,!1),a.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(a.removeEventListener=function(b,c,d){var e=Node.prototype.removeEventListener;"click"===b?e.call(a,b,c.hijacked||c,d):e.call(a,b,c,d)},a.addEventListener=function(b,c,d){var e=Node.prototype.addEventListener;"click"===b?e.call(a,b,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(a,b,c,d)}),"function"==typeof a.onclick&&(b=a.onclick,a.addEventListener("click",function(a){b(a)},!1),a.onclick=null))}function f(a){return("string"==typeof a||a instanceof String)&&(a=a.replace(/^[\\/'"]+|(;\s?})+|[\\/'"]+$/g,"")),a}0===a("head").has(".foundation-mq-small").length&&a("head").append(''),0===a("head").has(".foundation-mq-medium").length&&a("head").append(''),0===a("head").has(".foundation-mq-large").length&&a("head").append(''),0===a("head").has(".foundation-mq-xlarge").length&&a("head").append(''),0===a("head").has(".foundation-mq-xxlarge").length&&a("head").append(''),e.prototype.deviceIsAndroid=navigator.userAgent.indexOf("Android")>0,e.prototype.deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent),e.prototype.deviceIsIOS4=e.prototype.deviceIsIOS&&/OS 4_\d(_\d)?/.test(navigator.userAgent),e.prototype.deviceIsIOSWithBadTarget=e.prototype.deviceIsIOS&&/OS ([6-9]|\d{2})_\d/.test(navigator.userAgent),e.prototype.needsClick=function(a){switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(this.deviceIsIOS&&"file"===a.type||a.disabled)return!0;break;case"label":case"video":return!0}return/\bneedsclick\b/.test(a.className)},e.prototype.needsFocus=function(a){switch(a.nodeName.toLowerCase()){case"textarea":case"select":return!0;case"input":switch(a.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!a.disabled&&!a.readOnly;default:return/\bneedsfocus\b/.test(a.className)}},e.prototype.sendClick=function(a,d){var e,f;c.activeElement&&c.activeElement!==a&&c.activeElement.blur(),f=d.changedTouches[0],e=c.createEvent("MouseEvents"),e.initMouseEvent("click",!0,!0,b,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null),e.forwardedTouchEvent=!0,a.dispatchEvent(e)},e.prototype.focus=function(a){var b;this.deviceIsIOS&&a.setSelectionRange?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},e.prototype.updateScrollParent=function(a){var b,c;if(b=a.fastClickScrollParent,!b||!b.contains(a)){c=a;do{if(c.scrollHeight>c.offsetHeight){b=c,a.fastClickScrollParent=c;break}c=c.parentElement}while(c)}b&&(b.fastClickLastScrollTop=b.scrollTop)},e.prototype.getTargetElementFromEventTarget=function(a){return a.nodeType===Node.TEXT_NODE?a.parentNode:a},e.prototype.onTouchStart=function(a){var c,d,e;if(a.targetTouches.length>1)return!0;if(c=this.getTargetElementFromEventTarget(a.target),d=a.targetTouches[0],this.deviceIsIOS){if(e=b.getSelection(),e.rangeCount&&!e.isCollapsed)return!0;if(!this.deviceIsIOS4){if(d.identifier===this.lastTouchIdentifier)return a.preventDefault(),!1;this.lastTouchIdentifier=d.identifier,this.updateScrollParent(c)}}return this.trackingClick=!0,this.trackingClickStart=a.timeStamp,this.targetElement=c,this.touchStartX=d.pageX,this.touchStartY=d.pageY,a.timeStamp-this.lastClickTime<200&&a.preventDefault(),!0},e.prototype.touchHasMoved=function(a){var b=a.changedTouches[0],c=this.touchBoundary;return Math.abs(b.pageX-this.touchStartX)>c||Math.abs(b.pageY-this.touchStartY)>c?!0:!1},e.prototype.onTouchMove=function(a){return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},e.prototype.findControl=function(a){return a.control!==d?a.control:a.htmlFor?c.getElementById(a.htmlFor):a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},e.prototype.onTouchEnd=function(a){var d,e,f,g,h,i=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTime<200)return this.cancelNextClick=!0,!0;if(this.lastClickTime=a.timeStamp,e=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,this.deviceIsIOSWithBadTarget&&(h=a.changedTouches[0],i=c.elementFromPoint(h.pageX-b.pageXOffset,h.pageY-b.pageYOffset)||i,i.fastClickScrollParent=this.targetElement.fastClickScrollParent),f=i.tagName.toLowerCase(),"label"===f){if(d=this.findControl(i)){if(this.focus(i),this.deviceIsAndroid)return!1;i=d}}else if(this.needsFocus(i))return a.timeStamp-e>100||this.deviceIsIOS&&b.top!==b&&"input"===f?(this.targetElement=null,!1):(this.focus(i),this.deviceIsIOS4&&"select"===f||(this.targetElement=null,a.preventDefault()),!1);return this.deviceIsIOS&&!this.deviceIsIOS4&&(g=i.fastClickScrollParent,g&&g.fastClickLastScrollTop!==g.scrollTop)?!0:(this.needsClick(i)||(a.preventDefault(),this.sendClick(i,a)),!1)},e.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},e.prototype.onMouse=function(a){return this.targetElement?a.forwardedTouchEvent?!0:a.cancelable?!this.needsClick(this.targetElement)||this.cancelNextClick?(a.stopImmediatePropagation?a.stopImmediatePropagation():a.propagationStopped=!0,a.stopPropagation(),a.preventDefault(),!1):!0:!0:!0},e.prototype.onClick=function(a){var b;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===a.target.type&&0===a.detail?!0:(b=this.onMouse(a),b||(this.targetElement=null),b)},e.prototype.destroy=function(){var a=this.layer;this.deviceIsAndroid&&(a.removeEventListener("mouseover",this.onMouse,!0),a.removeEventListener("mousedown",this.onMouse,!0),a.removeEventListener("mouseup",this.onMouse,!0)),a.removeEventListener("click",this.onClick,!0),a.removeEventListener("touchstart",this.onTouchStart,!1),a.removeEventListener("touchmove",this.onTouchMove,!1),a.removeEventListener("touchend",this.onTouchEnd,!1),a.removeEventListener("touchcancel",this.onTouchCancel,!1)},e.notNeeded=function(a){var d;if("undefined"==typeof b.ontouchstart)return!0;if(/Chrome\/[0-9]+/.test(navigator.userAgent)){if(!e.prototype.deviceIsAndroid)return!0;if(d=c.querySelector("meta[name=viewport]"),d&&-1!==d.content.indexOf("user-scalable=no"))return!0}return"none"===a.style.msTouchAction?!0:!1},e.attach=function(a){return new e(a)},"undefined"!=typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof module&&module.exports?(module.exports=e.attach,module.exports.FastClick=e):b.FastClick=e,"undefined"!=typeof e&&e.attach(c.body);var g=function(b,d){return"string"==typeof b?d?a(d.querySelectorAll(b)):a(c.querySelectorAll(b)):a(b,d)};b.matchMedia=b.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(c),function(){function a(){c&&(f(a),jQuery.fx.tick())}for(var c,d=0,e=["webkit","moz"],f=b.requestAnimationFrame,g=b.cancelAnimationFrame;d").appendTo("head")[0].sheet,init:function(a,b,c,d,e){var f=[a,c,d,e],h=[];if(this.rtl=/rtl/i.test(g("html").attr("dir")),this.scope=a||this.scope,b&&"string"==typeof b&&!/reflow/i.test(b))this.libs.hasOwnProperty(b)&&h.push(this.init_lib(b,f));else for(var i in this.libs)h.push(this.init_lib(i,b));return a},init_lib:function(a,b){return this.libs.hasOwnProperty(a)?(this.patch(this.libs[a]),b&&b.hasOwnProperty(a)?this.libs[a].init.apply(this.libs[a],[this.scope,b[a]]):this.libs[a].init.apply(this.libs[a],b)):function(){}},patch:function(a){a.scope=this.scope,a.data_options=this.lib_methods.data_options,a.bindings=this.lib_methods.bindings,a.S=g,a.rtl=this.rtl},inherit:function(a,b){for(var c=b.split(" "),d=c.length-1;d>=0;d--)this.lib_methods.hasOwnProperty(c[d])&&(this.libs[a.name][c[d]]=this.lib_methods[c[d]])},random_str:function(a){var b="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");a||(a=Math.floor(Math.random()*b.length));for(var c="",d=0;a>d;d++)c+=b[Math.floor(Math.random()*b.length)];return c},libs:{},lib_methods:{throttle:function(a,b){var c=null;return function(){var d=this,e=arguments;clearTimeout(c),c=setTimeout(function(){a.apply(d,e)},b)}},data_options:function(b){function c(a){return!isNaN(a-0)&&null!==a&&""!==a&&a!==!1&&a!==!0}function d(b){return"string"==typeof b?a.trim(b):b}var e,f,g,h,i={},j=b.data("options");if("object"==typeof j)return j;for(g=(j||":").split(";"),h=g.length,e=h-1;e>=0;e--)f=g[e].split(":"),/true/i.test(f[1])&&(f[1]=!0),/false/i.test(f[1])&&(f[1]=!1),c(f[1])&&(f[1]=parseInt(f[1],10)),2===f.length&&f[0].length>0&&(i[d(f[0])]=d(f[1]));return i},delay:function(a,b){return setTimeout(a,b)},empty:function(a){if(a.length&&a.length>0)return!1;if(a.length&&0===a.length)return!0;for(var b in a)if(hasOwnProperty.call(a,b))return!1;return!0},register_media:function(b,c){Foundation.media_queries[b]===d&&(a("head").append(''),Foundation.media_queries[b]=f(a("."+c).css("font-family")))},addCustomRule:function(a,b){if(b===d)Foundation.stylesheet.insertRule(a,Foundation.stylesheet.cssRules.length);else{var c=Foundation.media_queries[b];c!==d&&Foundation.stylesheet.insertRule("@media "+Foundation.media_queries[b]+"{ "+a+" }")}},loaded:function(a,b){function c(){b(a[0])}function d(){if(this.one("load",c),/MSIE (\d+\.\d+);/.test(navigator.userAgent)){var a=this.attr("src"),b=a.match(/\?/)?"&":"?";b+="random="+(new Date).getTime(),this.attr("src",a+b)}}return a.attr("src")?(a[0].complete||4===a[0].readyState?c():d.call(a),void 0):(c(),void 0)},bindings:function(b,c){var d=this,e=!g(this).data(this.name+"-init");return"string"==typeof b?this[b].call(this):(g(this.scope).is("[data-"+this.name+"]")?(g(this.scope).data(this.name+"-init",a.extend({},this.settings,c||b,this.data_options(g(this.scope)))),e&&this.events(this.scope)):g("[data-"+this.name+"]",this.scope).each(function(){var e=!g(this).data(d.name+"-init");g(this).data(d.name+"-init",a.extend({},d.settings,c||b,d.data_options(g(this)))),e&&d.events(this)}),void 0)}}},a.fn.foundation=function(){var a=Array.prototype.slice.call(arguments,0);return this.each(function(){return Foundation.init.apply(Foundation,[this].concat(a)),this})}}(jQuery,this,this.document),function(a,b,c){"use strict";Foundation.libs.abide={name:"abide",version:"5.0.0",settings:{focus_on_invalid:!0,timeout:1e3,patterns:{alpha:/[a-zA-Z]+/,alpha_numeric:/[a-zA-Z0-9]+/,integer:/-?\d+/,number:/-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?/,password:/(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,card:/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,cvv:/^([0-9]){3,4}$/,email:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,url:/(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/,datetime:/([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))/,time:/(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}/,dateISO:/\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/,month_day_year:/(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/}},timer:null,init:function(a,b,c){this.bindings(b,c)},events:function(b){{var c=this,d=a(b).attr("novalidate","novalidate");d.data("abide-init")}d.off(".abide").on("submit.fndtn.abide validate.fndtn.abide",function(b){var d=/ajax/i.test(a(this).attr("data-abide"));return c.validate(a(this).find("input, textarea, select").get(),b,d)}).find("input, textarea, select").off(".abide").on("blur.fndtn.abide change.fndtn.abide",function(a){c.validate([this],a)}).on("keydown.fndtn.abide",function(b){var d=a(this).closest("form").data("abide-init");clearTimeout(c.timer),c.timer=setTimeout(function(){c.validate([this],b)}.bind(this),d.timeout)})},validate:function(b,c,d){for(var e=this.parse_patterns(b),f=e.length,g=a(b[0]).closest("form"),h=/submit/.test(c.type),i=0;f>i;i++)if(!e[i]&&(h||d))return this.settings.focus_on_invalid&&b[i].focus(),g.trigger("invalid"),a(b[i]).closest("form").attr("data-invalid",""),!1;return(h||d)&&g.trigger("valid"),g.removeAttr("data-invalid"),d?!1:!0},parse_patterns:function(a){for(var b=a.length,c=[],d=b-1;d>=0;d--)c.push(this.pattern(a[d]));return this.check_validation_and_apply_styles(c)},pattern:function(a){var b=a.getAttribute("type"),c="string"==typeof a.getAttribute("required");if(this.settings.patterns.hasOwnProperty(b))return[a,this.settings.patterns[b],c];var d=a.getAttribute("pattern")||"";return this.settings.patterns.hasOwnProperty(d)&&d.length>0?[a,this.settings.patterns[d],c]:d.length>0?[a,new RegExp(d),c]:(d=/.*/,[a,d,c])},check_validation_and_apply_styles:function(b){for(var c=b.length,d=[],e=c-1;e>=0;e--){var f=b[e][0],g=b[e][2],h=f.value,i=f.getAttribute("data-equalto"),j="radio"===f.type,k=g?f.value.length>0:!0;j&&g?d.push(this.valid_radio(f,g)):i&&g?d.push(this.valid_equal(f,g)):b[e][1].test(h)&&k||!g&&f.value.length<1?(a(f).removeAttr("data-invalid").parent().removeClass("error"),d.push(!0)):(a(f).attr("data-invalid","").parent().addClass("error"),d.push(!1))}return d},valid_radio:function(b){for(var d=b.getAttribute("name"),e=c.getElementsByName(d),f=e.length,g=!1,h=0;f>h;h++)e[h].checked&&(g=!0);for(var h=0;f>h;h++)g?a(e[h]).removeAttr("data-invalid").parent().removeClass("error"):a(e[h]).attr("data-invalid","").parent().addClass("error");return g},valid_equal:function(b){var d=c.getElementById(b.getAttribute("data-equalto")).value,e=b.value,f=d===e;return f?a(b).removeAttr("data-invalid").parent().removeClass("error"):a(b).attr("data-invalid","").parent().addClass("error"),f}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.accordion={name:"accordion",version:"5.0.1",settings:{active_class:"active",toggleable:!0},init:function(a,b,c){this.bindings(b,c)},events:function(){a(this.scope).off(".accordion").on("click.fndtn.accordion","[data-accordion] > dd > a",function(b){var c=a(this).parent(),d=a("#"+this.href.split("#")[1]),e=a("> dd > .content",d.closest("[data-accordion]")),f=c.parent().data("accordion-init"),g=a("> dd > .content."+f.active_class,c.parent());return b.preventDefault(),g[0]==d[0]&&f.toggleable?d.toggleClass(f.active_class):(e.removeClass(f.active_class),d.addClass(f.active_class),void 0)})},off:function(){},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.alert={name:"alert",version:"5.0.0",settings:{animation:"fadeOut",speed:300,callback:function(){}},init:function(a,b,c){this.bindings(b,c)},events:function(){a(this.scope).off(".alert").on("click.fndtn.alert","[data-alert] a.close",function(b){var c=a(this).closest("[data-alert]"),d=c.data("alert-init");b.preventDefault(),c[d.animation](d.speed,function(){a(this).trigger("closed").remove(),d.callback()})})},reflow:function(){}}}(jQuery,this,this.document),function(a,b,c,d){"use strict";Foundation.libs.clearing={name:"clearing",version:"5.0.0",settings:{templates:{viewing:'×'},close_selectors:".clearing-close",init:!1,locked:!1},init:function(b,c,d){var e=this;Foundation.inherit(this,"throttle loaded"),this.bindings(c,d),a(this.scope).is("[data-clearing]")?this.assemble(a("li",this.scope)):a("[data-clearing]",this.scope).each(function(){e.assemble(a("li",this))})},events:function(c){var d=this;a(this.scope).off(".clearing").on("click.fndtn.clearing","ul[data-clearing] li",function(b,c,e){var c=c||a(this),e=e||c,f=c.next("li"),g=c.closest("[data-clearing]").data("clearing-init"),h=a(b.target);b.preventDefault(),g||(d.init(),g=c.closest("[data-clearing]").data("clearing-init")),e.hasClass("visible")&&c[0]===e[0]&&f.length>0&&d.is_open(c)&&(e=f,h=a("img",e)),d.open(h,c,e),d.update_paddles(e)}).on("click.fndtn.clearing",".clearing-main-next",function(a){d.nav(a,"next")}).on("click.fndtn.clearing",".clearing-main-prev",function(a){d.nav(a,"prev")}).on("click.fndtn.clearing",this.settings.close_selectors,function(a){Foundation.libs.clearing.close(a,this)}).on("keydown.fndtn.clearing",function(a){d.keydown(a)}),a(b).off(".clearing").on("resize.fndtn.clearing",function(){d.resize()}),this.swipe_events(c)},swipe_events:function(){var b=this;a(this.scope).on("touchstart.fndtn.clearing",".visible-img",function(b){b.touches||(b=b.originalEvent);var c={start_page_x:b.touches[0].pageX,start_page_y:b.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};a(this).data("swipe-transition",c),b.stopPropagation()}).on("touchmove.fndtn.clearing",".visible-img",function(c){if(c.touches||(c=c.originalEvent),!(c.touches.length>1||c.scale&&1!==c.scale)){var d=a(this).data("swipe-transition");if("undefined"==typeof d&&(d={}),d.delta_x=c.touches[0].pageX-d.start_page_x,"undefined"==typeof d.is_scrolling&&(d.is_scrolling=!!(d.is_scrolling||Math.abs(d.delta_x)');var d=a("#foundationClearingHolder"),e=c.data("clearing-init"),f=c.detach(),g={grid:'",viewing:e.templates.viewing},h='
'+g.viewing+g.grid+"
";return d.after(h).remove()}},open:function(b,c,d){var e=d.closest(".clearing-assembled"),f=a("div",e).first(),g=a(".visible-img",f),h=a("img",g).not(b);this.locked()||(h.attr("src",this.load(b)).css("visibility","hidden"),this.loaded(h,function(){h.css("visibility","visible"),e.addClass("clearing-blackout"),f.addClass("clearing-container"),g.show(),this.fix_height(d).caption(a(".clearing-caption",g),b).center(h).shift(c,d,function(){d.siblings().removeClass("visible"),d.addClass("visible")})}.bind(this)))},close:function(b,c){b.preventDefault();var d,e,f=function(a){return/blackout/.test(a.selector)?a:a.closest(".clearing-blackout")}(a(c));return c===b.target&&f&&(d=a("div",f).first(),e=a(".visible-img",d),this.settings.prev_index=0,a("ul[data-clearing]",f).attr("style","").closest(".clearing-blackout").removeClass("clearing-blackout"),d.removeClass("clearing-container"),e.hide()),!1},is_open:function(a){return a.parent().prop("style").length>0},keydown:function(b){var c=a("ul[data-clearing]",".clearing-blackout");39===b.which&&this.go(c,"next"),37===b.which&&this.go(c,"prev"),27===b.which&&a("a.clearing-close").trigger("click")},nav:function(b,c){var d=a("ul[data-clearing]",".clearing-blackout");b.preventDefault(),this.go(d,c)},resize:function(){var b=a("img",".clearing-blackout .visible-img");b.length&&this.center(b)},fix_height:function(b){var c=b.parent().children();return c.each(function(){var b=a(this),c=b.find("img");b.height()>c.outerHeight()&&b.addClass("fix-height")}).closest("ul").width(100*c.length+"%"),this},update_paddles:function(b){var c=b.closest(".carousel").siblings(".visible-img");b.next().length>0?a(".clearing-main-next",c).removeClass("disabled"):a(".clearing-main-next",c).addClass("disabled"),b.prev().length>0?a(".clearing-main-prev",c).removeClass("disabled"):a(".clearing-main-prev",c).addClass("disabled")},center:function(a){return this.rtl?a.css({marginRight:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2)}):a.css({marginLeft:-(a.outerWidth()/2),marginTop:-(a.outerHeight()/2)}),this},load:function(a){if("A"===a[0].nodeName)var b=a.attr("href");else var b=a.parent().attr("href");return this.preload(a),b?b:a.attr("src")},preload:function(a){this.img(a.closest("li").next()).img(a.closest("li").prev())},img:function(b){if(b.length){var c=new Image,d=a("a",b);c.src=d.length?d.attr("href"):a("img",b).attr("src")}return this},caption:function(a,b){var c=b.data("caption");return c?a.html(c).show():a.text("").hide(),this},go:function(b,c){var d=a(".visible",b),e=d[c]();e.length&&a("img",e).trigger("click",[d,e])},shift:function(a,b,c){var d,e=b.parent(),f=this.settings.prev_index||b.index(),g=this.direction(e,a,b),h=parseInt(e.css("left"),10),i=b.outerWidth();b.index()===f||/skip/.test(g)?/skip/.test(g)&&(d=b.index()-this.settings.up_count,this.lock(),d>0?e.animate({left:-(d*i)},300,this.unlock()):e.animate({left:0},300,this.unlock())):/left/.test(g)?(this.lock(),e.animate({left:h+i},300,this.unlock())):/right/.test(g)&&(this.lock(),e.animate({left:h-i},300,this.unlock())),c()},direction:function(b,c,d){var e,f=a("li",b),g=f.outerWidth()+f.outerWidth()/4,h=Math.floor(a(".clearing-container").outerWidth()/g)-1,i=f.index(d);return this.settings.up_count=h,e=this.adjacent(this.settings.prev_index,i)?i>h&&i>this.settings.prev_index?"right":i>h-1&&i<=this.settings.prev_index?"left":!1:"skip",this.settings.prev_index=i,e},adjacent:function(a,b){for(var c=b+1;c>=b-1;c--)if(c===a)return!0;return!1},lock:function(){this.settings.locked=!0},unlock:function(){this.settings.locked=!1},locked:function(){return this.settings.locked},off:function(){a(this.scope).off(".fndtn.clearing"),a(b).off(".fndtn.clearing")},reflow:function(){this.init()}}}(jQuery,this,this.document),function(a,b){"use strict";Foundation.libs.dropdown={name:"dropdown",version:"5.0.0",settings:{active_class:"open",is_hover:!1,opened:function(){},closed:function(){}},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.bindings(b,c)},events:function(){var c=this;a(this.scope).off(".dropdown").on("click.fndtn.dropdown","[data-dropdown]",function(b){var d=a(this).data("dropdown-init");b.preventDefault(),(!d.is_hover||Modernizr.touch)&&c.toggle(a(this))}).on("mouseenter.fndtn.dropdown","[data-dropdown], [data-dropdown-content]",function(){var b=a(this);if(clearTimeout(c.timeout),b.data("dropdown"))var d=a("#"+b.data("dropdown")),e=b;else{var d=b;e=a("[data-dropdown='"+d.attr("id")+"']")}var f=e.data("dropdown-init");f.is_hover&&c.open.apply(c,[d,e])}).on("mouseleave.fndtn.dropdown","[data-dropdown], [data-dropdown-content]",function(){var b=a(this);c.timeout=setTimeout(function(){if(b.data("dropdown")){var d=b.data("dropdown-init");d.is_hover&&c.close.call(c,a("#"+b.data("dropdown")))}else{var e=a('[data-dropdown="'+a(this).attr("id")+'"]'),d=e.data("dropdown-init");d.is_hover&&c.close.call(c,b)}}.bind(this),150)}).on("click.fndtn.dropdown",function(b){var d=a(b.target).closest("[data-dropdown-content]");if(!a(b.target).data("dropdown")&&!a(b.target).parent().data("dropdown"))return!a(b.target).data("revealId")&&d.length>0&&(a(b.target).is("[data-dropdown-content]")||a.contains(d.first()[0],b.target))?(b.stopPropagation(),void 0):(c.close.call(c,a("[data-dropdown-content]")),void 0)}).on("opened.fndtn.dropdown","[data-dropdown-content]",this.settings.opened).on("closed.fndtn.dropdown","[data-dropdown-content]",this.settings.closed),a(b).off(".dropdown").on("resize.fndtn.dropdown",c.throttle(function(){c.resize.call(c)},50)).trigger("resize")},close:function(b){var c=this;b.each(function(){a(this).hasClass(c.settings.active_class)&&(a(this).css(Foundation.rtl?"right":"left","-99999px").removeClass(c.settings.active_class),a(this).trigger("closed"))})},open:function(a,b){this.css(a.addClass(this.settings.active_class),b),a.trigger("opened")},toggle:function(b){var c=a("#"+b.data("dropdown"));0!==c.length&&(this.close.call(this,a("[data-dropdown-content]").not(c)),c.hasClass(this.settings.active_class)?this.close.call(this,c):(this.close.call(this,a("[data-dropdown-content]")),this.open.call(this,c,b)))},resize:function(){var b=a("[data-dropdown-content].open"),c=a("[data-dropdown='"+b.attr("id")+"']");b.length&&c.length&&this.css(b,c)},css:function(c,d){var e=c.offsetParent(),f=d.offset();if(f.top-=e.offset().top,f.left-=e.offset().left,this.small())c.css({position:"absolute",width:"95%","max-width":"none",top:f.top+d.outerHeight()}),c.css(Foundation.rtl?"right":"left","2.5%");else{if(!Foundation.rtl&&a(b).width()>c.outerWidth()+d.offset().left){var g=f.left;c.hasClass("right")&&c.removeClass("right")}else{c.hasClass("right")||c.addClass("right");var g=f.left-(c.outerWidth()-d.outerWidth())}c.attr("style","").css({position:"absolute",top:f.top+d.outerHeight(),left:g})}return c},small:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},off:function(){a(this.scope).off(".fndtn.dropdown"),a("html, body").off(".fndtn.dropdown"),a(b).off(".fndtn.dropdown"),a("[data-dropdown-content]").off(".fndtn.dropdown"),this.settings.init=!1},reflow:function(){}}}(jQuery,this,this.document),function(a,b){"use strict";Foundation.libs.interchange={name:"interchange",version:"5.0.0",cache:{},images_loaded:!1,nodes_loaded:!1,settings:{load_attr:"interchange",named_queries:{"default":Foundation.media_queries.small,small:Foundation.media_queries.small,medium:Foundation.media_queries.medium,large:Foundation.media_queries.large,xlarge:Foundation.media_queries.xlarge,xxlarge:Foundation.media_queries.xxlarge,landscape:"only screen and (orientation: landscape)",portrait:"only screen and (orientation: portrait)",retina:"only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx)"},directives:{replace:function(b,c,d){if(/IMG/.test(b[0].nodeName)){var e=b[0].src;if(new RegExp(c,"i").test(e))return;return b[0].src=c,d(b[0].src)}var f=b.data("interchange-last-path");if(f!=c)return a.get(c,function(a){b.html(a),b.data("interchange-last-path",c),d()})}}},init:function(a,b,c){Foundation.inherit(this,"throttle"),this.data_attr="data-"+this.settings.load_attr,this.bindings(b,c),this.load("images"),this.load("nodes")},events:function(){var c=this;return a(b).off(".interchange").on("resize.fndtn.interchange",c.throttle(function(){c.resize.call(c)},50)),this},resize:function(){var b=this.cache;if(!this.images_loaded||!this.nodes_loaded)return setTimeout(a.proxy(this.resize,this),50),void 0;for(var c in b)if(b.hasOwnProperty(c)){var d=this.results(c,b[c]);d&&this.settings.directives[d.scenario[1]](d.el,d.scenario[0],function(){if(arguments[0]instanceof Array)var a=arguments[0];else var a=Array.prototype.slice.call(arguments,0);d.el.trigger(d.scenario[1],a)})}},results:function(a,b){var c=b.length;if(c>0)for(var d=this.S('[data-uuid="'+a+'"]'),e=c-1;e>=0;e--){var f,g=b[e][2];if(f=this.settings.named_queries.hasOwnProperty(g)?matchMedia(this.settings.named_queries[g]):matchMedia(g),f.matches)return{el:d,scenario:b[e]}}return!1},load:function(a,b){return("undefined"==typeof this["cached_"+a]||b)&&this["update_"+a](),this["cached_"+a]},update_images:function(){var a=this.S("img["+this.data_attr+"]"),b=a.length,c=0,d=this.data_attr;this.cache={},this.cached_images=[],this.images_loaded=0===b;for(var e=b-1;e>=0;e--){if(c++,a[e]){var f=a[e].getAttribute(d)||"";f.length>0&&this.cached_images.push(a[e])}c===b&&(this.images_loaded=!0,this.enhance("images"))}return this},update_nodes:function(){var a=this.S("["+this.data_attr+"]:not(img)"),b=a.length,c=0,d=this.data_attr;this.cached_nodes=[],this.nodes_loaded=0===b;for(var e=b-1;e>=0;e--){c++;var f=a[e].getAttribute(d)||"";f.length>0&&this.cached_nodes.push(a[e]),c===b&&(this.nodes_loaded=!0,this.enhance("nodes"))}return this},enhance:function(c){for(var d=this["cached_"+c].length,e=d-1;e>=0;e--)this.object(a(this["cached_"+c][e]));return a(b).trigger("resize")},parse_params:function(a,b,c){return[this.trim(a),this.convert_directive(b),this.trim(c)]},convert_directive:function(a){var b=this.trim(a); +return b.length>0?b:"replace"},object:function(a){var b=this.parse_data_attr(a),c=[],d=b.length;if(d>0)for(var e=d-1;e>=0;e--){var f=b[e].split(/\((.*?)(\))$/);if(f.length>1){var g=f[0].split(","),h=this.parse_params(g[0],g[1],f[1]);c.push(h)}}return this.store(a,c)},uuid:function(a){function b(){return(65536*(1+Math.random())|0).toString(16).substring(1)}var c=a||"-";return b()+b()+c+b()+c+b()+c+b()+c+b()+b()+b()},store:function(a,b){var c=this.uuid(),d=a.data("uuid");return d?this.cache[d]:(a.attr("data-uuid",c),this.cache[c]=b)},trim:function(b){return"string"==typeof b?a.trim(b):b},parse_data_attr:function(a){for(var b=a.data(this.settings.load_attr).split(/\[(.*?)\]/),c=b.length,d=[],e=c-1;e>=0;e--)b[e].replace(/[\W\d]+/,"").length>4&&d.push(b[e]);return d},reflow:function(){this.load("images",!0),this.load("nodes",!0)}}}(jQuery,this,this.document),function(a,b,c,d){"use strict";Foundation.libs.joyride={name:"joyride",version:"5.0.0",defaults:{expose:!1,modal:!0,tip_location:"bottom",nub_position:"auto",scroll_speed:1500,scroll_animation:"linear",timer:0,start_timer_on_click:!0,start_offset:0,next_button:!0,tip_animation:"fade",pause_after:[],exposed:[],tip_animation_fade_speed:300,cookie_monster:!1,cookie_name:"joyride",cookie_domain:!1,cookie_expires:365,tip_container:"body",tip_location_patterns:{top:["bottom"],bottom:[],left:["right","top","bottom"],right:["left","top","bottom"]},post_ride_callback:function(){},post_step_callback:function(){},pre_step_callback:function(){},pre_ride_callback:function(){},post_expose_callback:function(){},template:{link:'×',timer:'
',tip:'
',wrapper:'
',button:'',modal:'
',expose:'
',expose_cover:'
'},expose_add_class:""},init:function(a,b,c){Foundation.inherit(this,"throttle delay"),this.settings=this.defaults,this.bindings(b,c)},events:function(){var c=this;a(this.scope).off(".joyride").on("click.fndtn.joyride",".joyride-next-tip, .joyride-modal-bg",function(a){a.preventDefault(),this.settings.$li.next().length<1?this.end():this.settings.timer>0?(clearTimeout(this.settings.automate),this.hide(),this.show(),this.startTimer()):(this.hide(),this.show())}.bind(this)).on("click.fndtn.joyride",".joyride-close-tip",function(a){a.preventDefault(),this.end()}.bind(this)),a(b).off(".joyride").on("resize.fndtn.joyride",c.throttle(function(){if(a("[data-joyride]").length>0&&c.settings.$next_tip){if(c.settings.exposed.length>0){var b=a(c.settings.exposed);b.each(function(){var b=a(this);c.un_expose(b),c.expose(b)})}c.is_phone()?c.pos_phone():c.pos_default(!1,!0)}},100))},start:function(){var b=this,c=a("[data-joyride]",this.scope),d=["timer","scrollSpeed","startOffset","tipAnimationFadeSpeed","cookieExpires"],e=d.length;!c.length>0||(this.settings.init||this.events(),this.settings=c.data("joyride-init"),this.settings.$content_el=c,this.settings.$body=a(this.settings.tip_container),this.settings.body_offset=a(this.settings.tip_container).position(),this.settings.$tip_content=this.settings.$content_el.find("> li"),this.settings.paused=!1,this.settings.attempts=0,"function"!=typeof a.cookie&&(this.settings.cookie_monster=!1),(!this.settings.cookie_monster||this.settings.cookie_monster&&null===a.cookie(this.settings.cookie_name))&&(this.settings.$tip_content.each(function(c){var f=a(this);this.settings=a.extend({},b.defaults,b.data_options(f));for(var g=e-1;g>=0;g--)b.settings[d[g]]=parseInt(b.settings[d[g]],10);b.create({$li:f,index:c})}),!this.settings.start_timer_on_click&&this.settings.timer>0?(this.show("init"),this.startTimer()):this.show("init")))},resume:function(){this.set_li(),this.show()},tip_template:function(b){var c,d;return b.tip_class=b.tip_class||"",c=a(this.settings.template.tip).addClass(b.tip_class),d=a.trim(a(b.li).html())+this.button_text(b.button_text)+this.settings.template.link+this.timer_instance(b.index),c.append(a(this.settings.template.wrapper)),c.first().attr("data-index",b.index),a(".joyride-content-wrapper",c).append(d),c[0]},timer_instance:function(b){var c;return c=0===b&&this.settings.start_timer_on_click&&this.settings.timer>0||0===this.settings.timer?"":a(this.settings.template.timer)[0].outerHTML},button_text:function(b){return this.settings.next_button?(b=a.trim(b)||"Next",b=a(this.settings.template.button).append(b)[0].outerHTML):b="",b},create:function(b){var c=b.$li.attr("data-button")||b.$li.attr("data-text"),d=b.$li.attr("class"),e=a(this.tip_template({tip_class:d,index:b.index,button_text:c,li:b.$li}));a(this.settings.tip_container).append(e)},show:function(b){var c=null;this.settings.$li===d||-1===a.inArray(this.settings.$li.index(),this.settings.pause_after)?(this.settings.paused?this.settings.paused=!1:this.set_li(b),this.settings.attempts=0,this.settings.$li.length&&this.settings.$target.length>0?(b&&(this.settings.pre_ride_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.show_modal()),this.settings.pre_step_callback(this.settings.$li.index(),this.settings.$next_tip),this.settings.modal&&this.settings.expose&&this.expose(),this.settings.tip_settings=a.extend({},this.settings,this.data_options(this.settings.$li)),this.settings.timer=parseInt(this.settings.timer,10),this.settings.tip_settings.tip_location_pattern=this.settings.tip_location_patterns[this.settings.tip_settings.tip_location],/body/i.test(this.settings.$target.selector)||this.scroll_to(),this.is_phone()?this.pos_phone(!0):this.pos_default(!0),c=this.settings.$next_tip.find(".joyride-timer-indicator"),/pop/i.test(this.settings.tip_animation)?(c.width(0),this.settings.timer>0?(this.settings.$next_tip.show(),this.delay(function(){c.animate({width:c.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fade_speed)):this.settings.$next_tip.show()):/fade/i.test(this.settings.tip_animation)&&(c.width(0),this.settings.timer>0?(this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed).show(),this.delay(function(){c.animate({width:c.parent().width()},this.settings.timer,"linear")}.bind(this),this.settings.tip_animation_fadeSpeed)):this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed)),this.settings.$current_tip=this.settings.$next_tip):this.settings.$li&&this.settings.$target.length<1?this.show():this.end()):this.settings.paused=!0},is_phone:function(){return matchMedia(Foundation.media_queries.small).matches&&!matchMedia(Foundation.media_queries.medium).matches},hide:function(){this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.modal||a(".joyride-modal-bg").hide(),this.settings.$current_tip.css("visibility","hidden"),setTimeout(a.proxy(function(){this.hide(),this.css("visibility","visible")},this.settings.$current_tip),0),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip)},set_li:function(a){a?(this.settings.$li=this.settings.$tip_content.eq(this.settings.start_offset),this.set_next_tip(),this.settings.$current_tip=this.settings.$next_tip):(this.settings.$li=this.settings.$li.next(),this.set_next_tip()),this.set_target()},set_next_tip:function(){this.settings.$next_tip=a(".joyride-tip-guide").eq(this.settings.$li.index()),this.settings.$next_tip.data("closed","")},set_target:function(){var b=this.settings.$li.attr("data-class"),d=this.settings.$li.attr("data-id"),e=function(){return d?a(c.getElementById(d)):b?a("."+b).first():a("body")};this.settings.$target=e()},scroll_to:function(){var c,d;c=a(b).height()/2,d=Math.ceil(this.settings.$target.offset().top-c+this.settings.$next_tip.outerHeight()),d>0&&a("html, body").animate({scrollTop:d},this.settings.scroll_speed,"swing")},paused:function(){return-1===a.inArray(this.settings.$li.index()+1,this.settings.pause_after)},restart:function(){this.hide(),this.settings.$li=d,this.show("init")},pos_default:function(c,d){var e=(Math.ceil(a(b).height()/2),this.settings.$next_tip.offset(),this.settings.$next_tip.find(".joyride-nub")),f=Math.ceil(e.outerWidth()/2),g=Math.ceil(e.outerHeight()/2),h=c||!1;if(h&&(this.settings.$next_tip.css("visibility","hidden"),this.settings.$next_tip.show()),"undefined"==typeof d&&(d=!1),/body/i.test(this.settings.$target.selector))this.settings.$li.length&&this.pos_modal(e);else{if(this.bottom()){var i=this.settings.$target.offset().left;Foundation.rtl&&(i=this.settings.$target.offset().width-this.settings.$next_tip.width()+i),this.settings.$next_tip.css({top:this.settings.$target.offset().top+g+this.settings.$target.outerHeight(),left:i}),this.nub_position(e,this.settings.tip_settings.nub_position,"top")}else if(this.top()){var i=this.settings.$target.offset().left;Foundation.rtl&&(i=this.settings.$target.offset().width-this.settings.$next_tip.width()+i),this.settings.$next_tip.css({top:this.settings.$target.offset().top-this.settings.$next_tip.outerHeight()-g,left:i}),this.nub_position(e,this.settings.tip_settings.nub_position,"bottom")}else this.right()?(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.outerWidth(this.settings.$target)+this.settings.$target.offset().left+f}),this.nub_position(e,this.settings.tip_settings.nub_position,"left")):this.left()&&(this.settings.$next_tip.css({top:this.settings.$target.offset().top,left:this.settings.$target.offset().left-this.outerWidth(this.settings.$next_tip)-f}),this.nub_position(e,this.settings.tip_settings.nub_position,"right"));!this.visible(this.corners(this.settings.$next_tip))&&this.settings.attempts0&&arguments[0]instanceof a)e=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;e=this.settings.$target}return e.length<1?(b.console&&console.error("element not valid",e),!1):(c=a(this.settings.template.expose),this.settings.$body.append(c),c.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),d=a(this.settings.template.expose_cover),f={zIndex:e.css("z-index"),position:e.css("position")},g=null==e.attr("class")?"":e.attr("class"),e.css("z-index",parseInt(c.css("z-index"))+1),"static"==f.position&&e.css("position","relative"),e.data("expose-css",f),e.data("orig-class",g),e.attr("class",g+" "+this.settings.expose_add_class),d.css({top:e.offset().top,left:e.offset().left,width:e.outerWidth(!0),height:e.outerHeight(!0)}),this.settings.modal&&this.show_modal(),this.settings.$body.append(d),c.addClass(h),d.addClass(h),e.data("expose",h),this.settings.post_expose_callback(this.settings.$li.index(),this.settings.$next_tip,e),this.add_exposed(e),void 0)},un_expose:function(){var c,d,e,f,g,h=!1;if(arguments.length>0&&arguments[0]instanceof a)d=arguments[0];else{if(!this.settings.$target||/body/i.test(this.settings.$target.selector))return!1;d=this.settings.$target}return d.length<1?(b.console&&console.error("element not valid",d),!1):(c=d.data("expose"),e=a("."+c),arguments.length>1&&(h=arguments[1]),h===!0?a(".joyride-expose-wrapper,.joyride-expose-cover").remove():e.remove(),f=d.data("expose-css"),"auto"==f.zIndex?d.css("z-index",""):d.css("z-index",f.zIndex),f.position!=d.css("position")&&("static"==f.position?d.css("position",""):d.css("position",f.position)),g=d.data("orig-class"),d.attr("class",g),d.removeData("orig-classes"),d.removeData("expose"),d.removeData("expose-z-index"),this.remove_exposed(d),void 0)},add_exposed:function(b){this.settings.exposed=this.settings.exposed||[],b instanceof a||"object"==typeof b?this.settings.exposed.push(b[0]):"string"==typeof b&&this.settings.exposed.push(b)},remove_exposed:function(b){var c,d;b instanceof a?c=b[0]:"string"==typeof b&&(c=b),this.settings.exposed=this.settings.exposed||[],d=this.settings.exposed.length;for(var e=0;d>e;e++)if(this.settings.exposed[e]==c)return this.settings.exposed.splice(e,1),void 0},center:function(){var c=a(b);return this.settings.$next_tip.css({top:(c.height()-this.settings.$next_tip.outerHeight())/2+c.scrollTop(),left:(c.width()-this.settings.$next_tip.outerWidth())/2+c.scrollLeft()}),!0},bottom:function(){return/bottom/i.test(this.settings.tip_settings.tip_location)},top:function(){return/top/i.test(this.settings.tip_settings.tip_location)},right:function(){return/right/i.test(this.settings.tip_settings.tip_location)},left:function(){return/left/i.test(this.settings.tip_settings.tip_location)},corners:function(c){var d=a(b),e=d.height()/2,f=Math.ceil(this.settings.$target.offset().top-e+this.settings.$next_tip.outerHeight()),g=d.width()+d.scrollLeft(),h=d.height()+f,i=d.height()+d.scrollTop(),j=d.scrollTop();return j>f&&(j=0>f?0:f),h>i&&(i=h),[c.offset().topc.offset().left]},visible:function(a){for(var b=a.length;b--;)if(a[b])return!1;return!0},nub_position:function(a,b,c){"auto"===b?a.addClass(c):a.addClass(b)},startTimer:function(){this.settings.$li.length?this.settings.automate=setTimeout(function(){this.hide(),this.show(),this.startTimer()}.bind(this),this.settings.timer):clearTimeout(this.settings.automate)},end:function(){this.settings.cookie_monster&&a.cookie(this.settings.cookie_name,"ridden",{expires:this.settings.cookie_expires,domain:this.settings.cookie_domain}),this.settings.timer>0&&clearTimeout(this.settings.automate),this.settings.modal&&this.settings.expose&&this.un_expose(),this.settings.$next_tip.data("closed",!0),a(".joyride-modal-bg").hide(),this.settings.$current_tip.hide(),this.settings.post_step_callback(this.settings.$li.index(),this.settings.$current_tip),this.settings.post_ride_callback(this.settings.$li.index(),this.settings.$current_tip),a(".joyride-tip-guide").remove()},off:function(){a(this.scope).off(".joyride"),a(b).off(".joyride"),a(".joyride-close-tip, .joyride-next-tip, .joyride-modal-bg").off(".joyride"),a(".joyride-tip-guide, .joyride-modal-bg").remove(),clearTimeout(this.settings.automate),this.settings={}},reflow:function(){}}}(jQuery,this,this.document),function(a,b){"use strict";Foundation.libs.magellan={name:"magellan",version:"5.0.0",settings:{active_class:"active",threshold:0},init:function(){this.fixed_magellan=a("[data-magellan-expedition]"),this.set_threshold(),this.last_destination=a("[data-magellan-destination]").last(),this.events()},events:function(){var c=this;a(this.scope).off(".magellan").on("arrival.fndtn.magellan","[data-magellan-arrival]",function(){var b=a(this),d=b.closest("[data-magellan-expedition]"),e=d.attr("data-magellan-active-class")||c.settings.active_class;b.closest("[data-magellan-expedition]").find("[data-magellan-arrival]").not(b).removeClass(e),b.addClass(e)}),this.fixed_magellan.off(".magellan").on("update-position.fndtn.magellan",function(){a(this)}).trigger("update-position"),a(b).off(".magellan").on("resize.fndtn.magellan",function(){this.fixed_magellan.trigger("update-position")}.bind(this)).on("scroll.fndtn.magellan",function(){var d=a(b).scrollTop();c.fixed_magellan.each(function(){var b=a(this);"undefined"==typeof b.data("magellan-top-offset")&&b.data("magellan-top-offset",b.offset().top),"undefined"==typeof b.data("magellan-fixed-position")&&b.data("magellan-fixed-position",!1);var e=d+c.settings.threshold>b.data("magellan-top-offset"),f=b.attr("data-magellan-top-offset");b.data("magellan-fixed-position")!=e&&(b.data("magellan-fixed-position",e),e?(b.addClass("fixed"),b.css({position:"fixed",top:0})):(b.removeClass("fixed"),b.css({position:"",top:""})),e&&"undefined"!=typeof f&&0!=f&&b.css({position:"fixed",top:f+"px"}))})}),this.last_destination.length>0&&a(b).on("scroll.fndtn.magellan",function(){var d=a(b).scrollTop(),e=d+a(b).height(),f=Math.ceil(c.last_destination.offset().top);a("[data-magellan-destination]").each(function(){var b=a(this),g=b.attr("data-magellan-destination"),h=b.offset().top-b.outerHeight(!0)-d;h<=c.settings.threshold&&a("[data-magellan-arrival='"+g+"']").trigger("arrival"),e>=a(c.scope).height()&&f>d&&e>f&&a("[data-magellan-arrival]").last().trigger("arrival")})})},set_threshold:function(){"number"!=typeof this.settings.threshold&&(this.settings.threshold=this.fixed_magellan.length>0?this.fixed_magellan.outerHeight(!0):0)},off:function(){a(this.scope).off(".fndtn.magellan"),a(b).off(".fndtn.magellan")},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.offcanvas={name:"offcanvas",version:"5.0.0",settings:{},init:function(){this.events()},events:function(){a(this.scope).off(".offcanvas").on("click.fndtn.offcanvas",".left-off-canvas-toggle",function(b){b.preventDefault(),a(this).closest(".off-canvas-wrap").toggleClass("move-right")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(b){b.preventDefault(),a(".off-canvas-wrap").removeClass("move-right")}).on("click.fndtn.offcanvas",".right-off-canvas-toggle",function(b){b.preventDefault(),a(this).closest(".off-canvas-wrap").toggleClass("move-left")}).on("click.fndtn.offcanvas",".exit-off-canvas",function(b){b.preventDefault(),a(".off-canvas-wrap").removeClass("move-left")})},reflow:function(){}}}(jQuery,this,this.document),function(a,b,c,d){"use strict";var e=function(){},f=function(e,f){if(e.hasClass(f.slides_container_class))return this;var j,k,l,m,n,o,p=this,q=e,r=0,s=!1;q.children().first().addClass(f.active_slide_class),p.update_slide_number=function(b){f.slide_number&&(k.find("span:first").text(parseInt(b)+1),k.find("span:last").text(q.children().length)),f.bullets&&(l.children().removeClass(f.bullets_active_class),a(l.children().get(b)).addClass(f.bullets_active_class))},p.update_active_link=function(b){var c=a('a[data-orbit-link="'+q.children().eq(b).attr("data-orbit-slide")+'"]');c.parents("ul").find("[data-orbit-link]").removeClass(f.bullets_active_class),c.addClass(f.bullets_active_class)},p.build_markup=function(){q.wrap('
'),j=q.parent(),q.addClass(f.slides_container_class),f.navigation_arrows&&(j.append(a('').addClass(f.prev_class)),j.append(a('').addClass(f.next_class))),f.timer&&(m=a("
").addClass(f.timer_container_class),m.append(""),m.append(a("
").addClass(f.timer_progress_class)),m.addClass(f.timer_paused_class),j.append(m)),f.slide_number&&(k=a("
").addClass(f.slide_number_class),k.append(" "+f.slide_number_text+" "),j.append(k)),f.bullets&&(l=a("
    ").addClass(f.bullets_container_class),j.append(l),l.wrap('
    '),q.children().each(function(b){var c=a("
  1. ").attr("data-orbit-slide",b);l.append(c)})),f.stack_on_small&&j.addClass(f.stack_on_small_class),p.update_slide_number(0),p.update_active_link(0)},p._goto=function(b,c){if(b===r)return!1;"object"==typeof o&&o.restart();var d=q.children(),e="next";s=!0,r>b&&(e="prev"),b>=d.length?b=0:0>b&&(b=d.length-1);var g=a(d.get(r)),h=a(d.get(b));g.css("zIndex",2),g.removeClass(f.active_slide_class),h.css("zIndex",4).addClass(f.active_slide_class),q.trigger("before-slide-change.fndtn.orbit"),f.before_slide_change(),p.update_active_link(b);var i=function(){var a=function(){r=b,s=!1,c===!0&&(o=p.create_timer(),o.start()),p.update_slide_number(r),q.trigger("after-slide-change.fndtn.orbit",[{slide_number:r,total_slides:d.length}]),f.after_slide_change(r,d.length)};q.height()!=h.height()&&f.variable_height?q.animate({height:h.height()},250,"linear",a):a()};if(1===d.length)return i(),!1;var j=function(){"next"===e&&n.next(g,h,i),"prev"===e&&n.prev(g,h,i)};h.height()>q.height()&&f.variable_height?q.animate({height:h.height()},250,"linear",j):j()},p.next=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r+1)},p.prev=function(a){a.stopImmediatePropagation(),a.preventDefault(),p._goto(r-1)},p.link_custom=function(b){b.preventDefault();var c=a(this).attr("data-orbit-link");if("string"==typeof c&&""!=(c=a.trim(c))){var d=j.find("[data-orbit-slide="+c+"]");-1!=d.index()&&p._goto(d.index())}},p.link_bullet=function(){var b=a(this).attr("data-orbit-slide");"string"==typeof b&&""!=(b=a.trim(b))&&p._goto(parseInt(b))},p.timer_callback=function(){p._goto(r+1,!0)},p.compute_dimensions=function(){var b=a(q.children().get(r)),c=b.height();f.variable_height||q.children().each(function(){a(this).height()>c&&(c=a(this).height())}),q.height(c)},p.create_timer=function(){var a=new g(j.find("."+f.timer_container_class),f,p.timer_callback);return a},p.stop_timer=function(){"object"==typeof o&&o.stop()},p.toggle_timer=function(){var a=j.find("."+f.timer_container_class);a.hasClass(f.timer_paused_class)?("undefined"==typeof o&&(o=p.create_timer()),o.start()):"object"==typeof o&&o.stop()},p.init=function(){p.build_markup(),f.timer&&(o=p.create_timer(),o.start()),n=new i(f,q),"slide"===f.animation&&(n=new h(f,q)),j.on("click","."+f.next_class,p.next),j.on("click","."+f.prev_class,p.prev),j.on("click","[data-orbit-slide]",p.link_bullet),j.on("click",p.toggle_timer),f.swipe&&j.on("touchstart.fndtn.orbit",function(a){a.touches||(a=a.originalEvent);var b={start_page_x:a.touches[0].pageX,start_page_y:a.touches[0].pageY,start_time:(new Date).getTime(),delta_x:0,is_scrolling:d};j.data("swipe-transition",b),a.stopPropagation()}).on("touchmove.fndtn.orbit",function(a){if(a.touches||(a=a.originalEvent),!(a.touches.length>1||a.scale&&1!==a.scale)){var b=j.data("swipe-transition");if("undefined"==typeof b&&(b={}),b.delta_x=a.touches[0].pageX-b.start_page_x,"undefined"==typeof b.is_scrolling&&(b.is_scrolling=!!(b.is_scrolling||Math.abs(b.delta_x)0?a(this.scope).on("open.fndtn.reveal",this.settings.open).on("opened.fndtn.reveal",this.settings.opened).on("opened.fndtn.reveal",this.open_video).on("close.fndtn.reveal",this.settings.close).on("closed.fndtn.reveal",this.settings.closed).on("closed.fndtn.reveal",this.close_video):a(this.scope).on("open.fndtn.reveal","[data-reveal]",this.settings.open).on("opened.fndtn.reveal","[data-reveal]",this.settings.opened).on("opened.fndtn.reveal","[data-reveal]",this.open_video).on("close.fndtn.reveal","[data-reveal]",this.settings.close).on("closed.fndtn.reveal","[data-reveal]",this.settings.closed).on("closed.fndtn.reveal","[data-reveal]",this.close_video),a("body").on("keyup.fndtn.reveal",function(b){var c=a("[data-reveal].open"),d=c.data("reveal-init");27===b.which&&d.close_on_esc&&c.foundation("reveal","close")}),!0},open:function(b,c){if(b)if("undefined"!=typeof b.selector)var d=a("#"+b.data("reveal-id"));else{var d=a(this.scope);c=b}else var d=a(this.scope);if(!d.hasClass("open")){var e=a("[data-reveal].open");if("undefined"==typeof d.data("css-top")&&d.data("css-top",parseInt(d.css("top"),10)).data("offset",this.cache_offset(d)),d.trigger("open"),e.length<1&&this.toggle_bg(),"undefined"!=typeof c&&c.url){var f=this,g="undefined"!=typeof c.success?c.success:null;a.extend(c,{success:function(b,c,h){a.isFunction(g)&&g(b,c,h),d.html(b),a(d).foundation("section","reflow"),f.hide(e,f.settings.css.close),f.show(d,f.settings.css.open)}}),a.ajax(c)}else this.hide(e,this.settings.css.close),this.show(d,this.settings.css.open)}},close:function(b){var b=b&&b.length?b:a(this.scope),c=a("[data-reveal].open");c.length>0&&(this.locked=!0,b.trigger("close"),this.toggle_bg(),this.hide(c,this.settings.css.close))},close_targets:function(){var a="."+this.settings.dismiss_modal_class;return this.settings.close_on_background_click?a+", ."+this.settings.bg_class:a},toggle_bg:function(){0===a("."+this.settings.bg_class).length&&(this.settings.bg=a("
    ",{"class":this.settings.bg_class}).appendTo("body")),this.settings.bg.filter(":visible").length>0?this.hide(this.settings.bg):this.show(this.settings.bg)},show:function(c,d){if(d){if(0===c.parent("body").length){var e=c.wrap('
    ').parent();c.on("closed.fndtn.reveal.wrapped",function(){c.detach().appendTo(e),c.unwrap().unbind("closed.fndtn.reveal.wrapped")}),c.detach().appendTo("body")}if(/pop/i.test(this.settings.animation)){d.top=a(b).scrollTop()-c.data("offset")+"px";var f={top:a(b).scrollTop()+c.data("css-top")+"px",opacity:1};return this.delay(function(){return c.css(d).animate(f,this.settings.animation_speed,"linear",function(){this.locked=!1,c.trigger("opened")}.bind(this)).addClass("open")}.bind(this),this.settings.animation_speed/2)}if(/fade/i.test(this.settings.animation)){var f={opacity:1};return this.delay(function(){return c.css(d).animate(f,this.settings.animation_speed,"linear",function(){this.locked=!1,c.trigger("opened")}.bind(this)).addClass("open")}.bind(this),this.settings.animation_speed/2)}return c.css(d).show().css({opacity:1}).addClass("open").trigger("opened")}return/fade/i.test(this.settings.animation)?c.fadeIn(this.settings.animation_speed/2):c.show()},hide:function(c,d){if(d){if(/pop/i.test(this.settings.animation)){var e={top:-a(b).scrollTop()-c.data("offset")+"px",opacity:0};return this.delay(function(){return c.animate(e,this.settings.animation_speed,"linear",function(){this.locked=!1,c.css(d).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),this.settings.animation_speed/2)}if(/fade/i.test(this.settings.animation)){var e={opacity:0};return this.delay(function(){return c.animate(e,this.settings.animation_speed,"linear",function(){this.locked=!1,c.css(d).trigger("closed")}.bind(this)).removeClass("open")}.bind(this),this.settings.animation_speed/2)}return c.hide().css(d).removeClass("open").trigger("closed")}return/fade/i.test(this.settings.animation)?c.fadeOut(this.settings.animation_speed/2):c.hide()},close_video:function(){var b=a(this).find(".flex-video"),c=b.find("iframe");c.length>0&&(c.attr("data-src",c[0].src),c.attr("src","about:blank"),b.hide()) +},open_video:function(){var b=a(this).find(".flex-video"),c=b.find("iframe");if(c.length>0){var e=c.attr("data-src");if("string"==typeof e)c[0].src=c.attr("data-src");else{var f=c[0].src;c[0].src=d,c[0].src=f}b.show()}},cache_offset:function(a){var b=a.show().height()+parseInt(a.css("top"),10);return a.hide(),b},off:function(){a(this.scope).off(".fndtn.reveal")},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.tab={name:"tab",version:"5.0.1",settings:{active_class:"active"},init:function(a,b,c){this.bindings(b,c)},events:function(){a(this.scope).off(".tab").on("click.fndtn.tab","[data-tab] > dd > a",function(b){b.preventDefault();var c=a(this).parent(),d=a("#"+this.href.split("#")[1]),e=c.siblings(),f=c.closest("[data-tab]").data("tab-init");c.addClass(f.active_class),e.removeClass(f.active_class),d.siblings().removeClass(f.active_class).end().addClass(f.active_class)})},off:function(){},reflow:function(){}}}(jQuery,this,this.document),function(a){"use strict";Foundation.libs.tooltip={name:"tooltip",version:"5.0.0",settings:{additional_inheritable_classes:[],tooltip_class:".tooltip",append_to:"body",touch_close_text:"Tap To Close",disable_for_touch:!1,tip_template:function(a,b){return''+b+''}},cache:{},init:function(a,b,c){this.bindings(b,c)},events:function(){var b=this;Modernizr.touch?a(this.scope).off(".tooltip").on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip","[data-tooltip]",function(c){var d=a.extend({},b.settings,b.data_options(a(this)));d.disable_for_touch||(c.preventDefault(),a(d.tooltip_class).hide(),b.showOrCreateTip(a(this)))}).on("click.fndtn.tooltip touchstart.fndtn.tooltip touchend.fndtn.tooltip",this.settings.tooltip_class,function(b){b.preventDefault(),a(this).fadeOut(150)}):a(this.scope).off(".tooltip").on("mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip","[data-tooltip]",function(c){var d=a(this);/enter|over/i.test(c.type)?b.showOrCreateTip(d):("mouseout"===c.type||"mouseleave"===c.type)&&b.hide(d)})},showOrCreateTip:function(a){var b=this.getTip(a);return b&&b.length>0?this.show(a):this.create(a)},getTip:function(b){var c=this.selector(b),d=null;return c&&(d=a('span[data-selector="'+c+'"]'+this.settings.tooltip_class)),"object"==typeof d?d:!1},selector:function(a){var b=a.attr("id"),c=a.attr("data-tooltip")||a.attr("data-selector");return(b&&b.length<1||!b)&&"string"!=typeof c&&(c="tooltip"+Math.random().toString(36).substring(7),a.attr("data-selector",c)),b&&b.length>0?b:c},create:function(b){var c=a(this.settings.tip_template(this.selector(b),a("
    ").html(b.attr("title")).html())),d=this.inheritable_classes(b);c.addClass(d).appendTo(this.settings.append_to),Modernizr.touch&&c.append(''+this.settings.touch_close_text+""),b.removeAttr("title").attr("title",""),this.show(b)},reposition:function(b,c,d){var e,f,g,h,i;if(c.css("visibility","hidden").show(),e=b.data("width"),f=c.children(".nub"),g=f.outerHeight(),h=f.outerHeight(),i=function(a,b,c,d,e,f){return a.css({top:b?b:"auto",bottom:d?d:"auto",left:e?e:"auto",right:c?c:"auto",width:f?f:"auto"}).end()},i(c,b.offset().top+b.outerHeight()+10,"auto","auto",b.offset().left,e),this.small())i(c,b.offset().top+b.outerHeight()+10,"auto","auto",12.5,a(this.scope).width()),c.addClass("tip-override"),i(f,-g,"auto","auto",b.offset().left);else{var j=b.offset().left;Foundation.rtl&&(j=b.offset().left+b.offset().width-c.outerWidth()),i(c,b.offset().top+b.outerHeight()+10,"auto","auto",j,e),c.removeClass("tip-override"),d&&d.indexOf("tip-top")>-1?i(c,b.offset().top-c.outerHeight(),"auto","auto",j,e).removeClass("tip-override"):d&&d.indexOf("tip-left")>-1?i(c,b.offset().top+b.outerHeight()/2-2.5*g,"auto","auto",b.offset().left-c.outerWidth()-g,e).removeClass("tip-override"):d&&d.indexOf("tip-right")>-1&&i(c,b.offset().top+b.outerHeight()/2-2.5*g,"auto","auto",b.offset().left+b.outerWidth()+g,e).removeClass("tip-override")}c.css("visibility","visible").hide()},small:function(){return matchMedia(Foundation.media_queries.small).matches},inheritable_classes:function(b){var c=["tip-top","tip-left","tip-bottom","tip-right","noradius"].concat(this.settings.additional_inheritable_classes),d=b.attr("class"),e=d?a.map(d.split(" "),function(b){return-1!==a.inArray(b,c)?b:void 0}).join(" "):"";return a.trim(e)},show:function(a){var b=this.getTip(a);this.reposition(a,b,a.attr("class")),b.fadeIn(150)},hide:function(a){var b=this.getTip(a);b.fadeOut(150)},reload:function(){var b=a(this);return b.data("fndtn-tooltips")?b.foundationTooltips("destroy").foundationTooltips("init"):b.foundationTooltips("init")},off:function(){a(this.scope).off(".fndtn.tooltip"),a(this.settings.tooltip_class).each(function(b){a("[data-tooltip]").get(b).attr("title",a(this).text())}).remove()},reflow:function(){}}}(jQuery,this,this.document),function(a,b,c){"use strict";Foundation.libs.topbar={name:"topbar",version:"5.0.1",settings:{index:0,sticky_class:"sticky",custom_back_text:!0,back_text:"Back",is_hover:!0,mobile_show_parent_link:!1,scrolltop:!0},init:function(b,c,d){Foundation.inherit(this,"addCustomRule register_media throttle");var e=this;e.register_media("topbar","foundation-mq-topbar"),this.bindings(c,d),a("[data-topbar]",this.scope).each(function(){{var b=a(this),c=b.data("topbar-init");a("section",this),a("> ul",this).first()}b.data("index",0);var d=b.parent();d.hasClass("fixed")||d.hasClass(c.sticky_class)?(e.settings.sticky_class=c.sticky_class,e.settings.stick_topbar=b,b.data("height",d.outerHeight()),b.data("stickyoffset",d.offset().top)):b.data("height",b.outerHeight()),c.assembled||e.assemble(b),c.is_hover?a(".has-dropdown",b).addClass("not-click"):a(".has-dropdown",b).removeClass("not-click"),e.addCustomRule(".f-topbar-fixed { padding-top: "+b.data("height")+"px }"),d.hasClass("fixed")&&a("body").addClass("f-topbar-fixed")})},toggle:function(c){var d=this;if(c)var e=a(c).closest("[data-topbar]");else var e=a("[data-topbar]");var f=e.data("topbar-init"),g=a("section, .section",e);d.breakpoint()&&(d.rtl?(g.css({right:"0%"}),a(">.name",g).css({right:"100%"})):(g.css({left:"0%"}),a(">.name",g).css({left:"100%"})),a("li.moved",g).removeClass("moved"),e.data("index",0),e.toggleClass("expanded").css("height","")),f.scrolltop?e.hasClass("expanded")?e.parent().hasClass("fixed")&&(f.scrolltop?(e.parent().removeClass("fixed"),e.addClass("fixed"),a("body").removeClass("f-topbar-fixed"),b.scrollTo(0,0)):e.parent().removeClass("expanded")):e.hasClass("fixed")&&(e.parent().addClass("fixed"),e.removeClass("fixed"),a("body").addClass("f-topbar-fixed")):(e.parent().hasClass(d.settings.sticky_class)&&e.parent().addClass("fixed"),e.parent().hasClass("fixed")&&(e.hasClass("expanded")?(e.addClass("fixed"),e.parent().addClass("expanded")):(e.removeClass("fixed"),e.parent().removeClass("expanded"),d.update_sticky_positioning())))},timer:null,events:function(){var c=this;a(this.scope).off(".topbar").on("click.fndtn.topbar","[data-topbar] .toggle-topbar",function(a){a.preventDefault(),c.toggle(this)}).on("click.fndtn.topbar","[data-topbar] li.has-dropdown",function(b){var d=a(this),e=a(b.target),f=d.closest("[data-topbar]"),g=f.data("topbar-init");return e.data("revealId")?(c.toggle(),void 0):(c.breakpoint()||(!g.is_hover||Modernizr.touch)&&(b.stopImmediatePropagation(),d.hasClass("hover")?(d.removeClass("hover").find("li").removeClass("hover"),d.parents("li.hover").removeClass("hover")):(d.addClass("hover"),"A"===e[0].nodeName&&e.parent().hasClass("has-dropdown")&&b.preventDefault())),void 0)}).on("click.fndtn.topbar","[data-topbar] .has-dropdown>a",function(b){if(c.breakpoint()){b.preventDefault();var d=a(this),e=d.closest("[data-topbar]"),f=e.find("section, .section"),g=(d.next(".dropdown").outerHeight(),d.closest("li"));e.data("index",e.data("index")+1),g.addClass("moved"),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),e.css("height",d.siblings("ul").outerHeight(!0)+e.data("height"))}}),a(b).off(".topbar").on("resize.fndtn.topbar",c.throttle(function(){c.resize.call(c)},50)).trigger("resize"),a("body").off(".topbar").on("click.fndtn.topbar touchstart.fndtn.topbar",function(b){var c=a(b.target).closest("li").closest("li.hover");c.length>0||a("[data-topbar] li").removeClass("hover")}),a(this.scope).on("click.fndtn.topbar","[data-topbar] .has-dropdown .back",function(b){b.preventDefault();var d=a(this),e=d.closest("[data-topbar]"),f=e.find("section, .section"),g=(e.data("topbar-init"),d.closest("li.moved")),h=g.parent();e.data("index",e.data("index")-1),c.rtl?(f.css({right:-(100*e.data("index"))+"%"}),f.find(">.name").css({right:100*e.data("index")+"%"})):(f.css({left:-(100*e.data("index"))+"%"}),f.find(">.name").css({left:100*e.data("index")+"%"})),0===e.data("index")?e.css("height",""):e.css("height",h.outerHeight(!0)+e.data("height")),setTimeout(function(){g.removeClass("moved")},300)})},resize:function(){var b=this;a("[data-topbar]").each(function(){var d,e=a(this),f=(e.data("topbar-init"),e.parent("."+b.settings.sticky_class));if(!b.breakpoint()){var g=e.hasClass("expanded");e.css("height","").removeClass("expanded").find("li").removeClass("hover"),g&&b.toggle(e)}f.length>0&&(f.hasClass("fixed")?(f.removeClass("fixed"),d=f.offset().top,a(c.body).hasClass("f-topbar-fixed")&&(d-=e.data("height")),e.data("stickyoffset",d),f.addClass("fixed")):(d=f.offset().top,e.data("stickyoffset",d)))})},breakpoint:function(){return!matchMedia(Foundation.media_queries.topbar).matches},assemble:function(b){{var c=b.data("topbar-init"),d=a("section",b);a("> ul",b).first()}d.detach(),a(".has-dropdown>a",d).each(function(){var b=a(this),d=b.siblings(".dropdown"),e=b.attr("href");if(c.mobile_show_parent_link&&e&&e.length>1)var f=a('
  2. '+b.text()+"
  3. ");else var f=a('
  4. ');1==c.custom_back_text?a("h5>a",f).html(c.back_text):a("h5>a",f).html("« "+b.html()),d.prepend(f)}),d.appendTo(b),this.sticky(),this.assembled(b)},assembled:function(b){b.data("topbar-init",a.extend({},b.data("topbar-init"),{assembled:!0}))},height:function(b){var c=0;return a("> li",b).each(function(){c+=a(this).outerHeight(!0)}),c},sticky:function(){var c=(a(b),this);a(b).on("scroll",function(){c.update_sticky_positioning()})},update_sticky_positioning:function(){var c="."+this.settings.sticky_class,d=a(b);if(a(c).length>0){var e=this.settings.sticky_topbar.data("stickyoffset");a(c).hasClass("expanded")||(d.scrollTop()>e?a(c).hasClass("fixed")||(a(c).addClass("fixed"),a("body").addClass("f-topbar-fixed")):d.scrollTop()<=e&&a(c).hasClass("fixed")&&(a(c).removeClass("fixed"),a("body").removeClass("f-topbar-fixed")))}},off:function(){a(this.scope).off(".fndtn.topbar"),a(b).off(".fndtn.topbar")},reflow:function(){}}}(jQuery,this,this.document); \ No newline at end of file diff --git a/Website Source Code/js/hawthorne.js b/Website Source Code/js/hawthorne.js new file mode 100644 index 0000000..0389d00 --- /dev/null +++ b/Website Source Code/js/hawthorne.js @@ -0,0 +1,43 @@ +// Foundation JavaScript +// Documentation can be found at: http://foundation.zurb.com/docs +$(document).foundation(); + +$(document).ready(function() +{ + // Image hover + $(".thumbnail-img").hover(function() { + $(this).find(".thumbnail-hover").stop(true, true).fadeIn(200); + }, function() { + $(this).find(".thumbnail-hover").fadeOut(400); + }); + + $(".thumbnail-img").click(function() { + $(this).find(".thumbnail-hover").fadeOut(400); + }); + + // Hide hover effect on touch devices + if (Modernizr.touch) { + $(".thumbnail-hover").css("display", "none"); + $(".thumbnail-hover").css("visibility", "hidden"); + $(".thumbnail-img").unbind("mouseenter mouseleave"); + } + + // Trigger caption hover on thumbnail hover + $(".thumbnail-img").hover(function(){ + $(this).parent().find(".caption-link").toggleClass("caption-hover"); + }); + + // Trigger thumbnail hover on caption hover + $(".caption-link").hover(function() { + $(this).parent().parent().find(".thumbnail-hover").stop(true, true).fadeIn(200); + }, function() { + $(this).parent().parent().find(".thumbnail-hover").fadeOut(400); + }); + + // Back to top button on detail view page + $(".back-to-top").click(function(event) { + event.preventDefault(); + $("html, body").animate({scrollTop: 0}, 700); + }); + +}); \ No newline at end of file diff --git a/Website Source Code/js/index-js.js b/Website Source Code/js/index-js.js new file mode 100644 index 0000000..01c1a33 --- /dev/null +++ b/Website Source Code/js/index-js.js @@ -0,0 +1,4 @@ +setTimeout(function () { + window.location.href= 'http://localhost/slegpi'; // the redirect goes here + +},2000); \ No newline at end of file diff --git a/Website Source Code/logo_slegpi.png b/Website Source Code/logo_slegpi.png new file mode 100644 index 0000000..0a0c21d Binary files /dev/null and b/Website Source Code/logo_slegpi.png differ diff --git a/Website Source Code/send_sql.php b/Website Source Code/send_sql.php new file mode 100644 index 0000000..51e424c --- /dev/null +++ b/Website Source Code/send_sql.php @@ -0,0 +1,119 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + $conn1 = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + // set the PDO error mode to exception + $conn1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + $conn2 = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + // set the PDO error mode to exception + $conn2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + $conn3 = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); + // set the PDO error mode to exception + $conn3->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } + catch(Exception $e) + { + // Si il y a une erreur, arret du script. + die('Erreur : '.$e->getMessage()); + } + + $sql = "UPDATE `capteurs` SET `A/M` = '0' WHERE `capteurs`.`id` = 1"; + + // Prepare statement + $stmt = $conn->prepare($sql); + + // execute the query + $stmt->execute(); + +$conn = null; + +?> + + + + + + + + + + + +
    +
    +














    +

    Data sent, redirection to the main page in few seconds...

    +

    +
    +
    +



    + The sended data are :
    +

    - For Indoor Lights = +

    - For Outdoor Lights = +

    - For the blind =

    + +
    +
    + + +prepare($sql1); + $stmt->execute(); + } +elseif ($LI == 'non') + { + $sql2 = "UPDATE `capteurs` SET `eInt` = '0' WHERE `capteurs`.`id` = 1"; + $stmt2 = $conn1->prepare($sql2); + $stmt2->execute(); + } + +//================================================================================================================================================================================================================= + if ($LE == 'Z') + { + $sql3 = "UPDATE `capteurs` SET `eExt` = '1' WHERE `capteurs`.`id` = 1"; + $stmt3 = $conn2->prepare($sql3); + $stmt3->execute(); + } + elseif ($LE == 'wrong') + { + $sql4 = "UPDATE `capteurs` SET `eExt` = '0' WHERE `capteurs`.`id` = 1"; + $stmt4 = $conn2->prepare($sql4); + $stmt4->execute(); + } +//================================================================================================================================================================================================================= + if ($S == 'false') + { + $sql5 = "UPDATE `capteurs` SET `Store` = '1' WHERE `capteurs`.`id` = 1"; + $stmt5 = $conn3->prepare($sql5); + $stmt5->execute(); + } +elseif ($S == 'OUV') + { + $sql6 = "UPDATE `capteurs` SET `Store` = '0' WHERE `capteurs`.`id` = 1"; + $stmt6 = $conn3->prepare($sql6); + $stmt6->execute(); + } + + //$stmt = $conn->prepare($sql); + //$stmt->execute(); +?> \ No newline at end of file diff --git a/docs/LICENSE b/docs/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/docs/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..6d0abd0 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,2 @@ +# SLEGPI +This is a repositories to get a short url like : https://junkjumper.github.io/slegpi diff --git a/docs/about.html b/docs/about.html new file mode 100644 index 0000000..84d2e65 --- /dev/null +++ b/docs/about.html @@ -0,0 +1,144 @@ + + + + + SLEGPI + + + + + + + + + +
    + +
    + +
    +
    +
    + wbesite +
    +
    +
    +
    +

    About the project

    +

    Welcome on the About page of the project. SLEGPI is my project for my exams of june 2018. I have work on it from + October 2017 to May 2018. The goal of SLEGPI was to make me discover numeric and electronic aspect by considering + a lot the substainable developpement. +
    +
    When I start the project, I receive from my professor a contract notice with all the instruction that I must + to respect. +
    +
    On the contract, was written that i must use a Raspebrry Pi 3, an Arduino Card, and try to respect the substainable + developpement. +
    +
    +

    + +

    How the project works ?

    +

    The project works by setting up a connection between a server hosted on a Raspebrry Pi 3 and the Arduino Card. + To do that, the Arduino card and the Raspebrry Pi 3 need to b connected to the same network. +
    +
    Firstly, the + LAMP server need to be configured with the + PDO function. Without it, all the connection between the databse and the website is deleted. When we use + the website to send an action to do to our Arduino card, we are in server mode. So we are asking to the Arduino + Card to "display" a page with an URL like : +

    ip-adress/action=what_we_want + And our Arduino Card understand what to do. +
    +
    When the Arduino Card is receiving data from our anemometer or from the luxmeter, it sending informations + to the website in client mode. And the website is understanding what Arduino send by using a file called "get_sql.php". +
    +
    +

    + +

    How was the exam with this project ?

    +

    The Exam is separated in two parts. One is a continuous assessment and the grade is given by the professor who + follow the project from the begining to the end. And the second one is given by a jury of two professors who + don't know anything about us or about our project (exept maybe the name of our project). +
    +
    Personally, I get 20/20 for the continuous assessment and 18/20 from the jury. So I get 19/20 for the project + (coefficient 12). +
    +
    For the continuous assessment, we just have to seriously work. For the jury part, we have to do a slide show + to project on a screen. We must do a general and personal recap into a .docx file. +

    + +
    +
    +
    + + +
    +
    +
+
+ +
+ +
+ + + \ No newline at end of file diff --git a/docs/img/about.png b/docs/img/about.png new file mode 100644 index 0000000..1901422 Binary files /dev/null and b/docs/img/about.png differ diff --git a/docs/img/footer.png b/docs/img/footer.png new file mode 100644 index 0000000..65b30e2 Binary files /dev/null and b/docs/img/footer.png differ diff --git a/docs/img/github.png b/docs/img/github.png new file mode 100644 index 0000000..e633aa8 Binary files /dev/null and b/docs/img/github.png differ diff --git a/docs/img/logo_slegpi.png b/docs/img/logo_slegpi.png new file mode 100644 index 0000000..0a0c21d Binary files /dev/null and b/docs/img/logo_slegpi.png differ diff --git a/docs/img/orange_file.gif b/docs/img/orange_file.gif new file mode 100644 index 0000000..989cf47 Binary files /dev/null and b/docs/img/orange_file.gif differ diff --git a/docs/img/profilepicture.jpg b/docs/img/profilepicture.jpg new file mode 100644 index 0000000..056e15c Binary files /dev/null and b/docs/img/profilepicture.jpg differ diff --git a/docs/img/story.png b/docs/img/story.png new file mode 100644 index 0000000..b3e91ad Binary files /dev/null and b/docs/img/story.png differ diff --git a/docs/img/website-resized.png b/docs/img/website-resized.png new file mode 100644 index 0000000..6428a83 Binary files /dev/null and b/docs/img/website-resized.png differ diff --git a/docs/img/website.png b/docs/img/website.png new file mode 100644 index 0000000..3455c2d Binary files /dev/null and b/docs/img/website.png differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..7057426 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,124 @@ + + + + + SLEGPI + + + + + + + +
+ +
+ +
+
+ +
+ website picture +
+ +
+
+ +
+

About the project

+ about +

SLEGPI is my project for my exams of june 2018. I have work on it from October 2017 to May 2018. +
+
In what consist SLEGPI-Website ? You can check it by following the link bellow.

+ +
+ +
+

Story of the project

+ story +

If you want to discover how the project is born, why and how I decide to realise it, you can read the full story + by following the link. +
+
You don't want to miss them, alright ? ;)

+ +
+ +
+

Download the source code

+ github +

I upload all my projects on Github to get a full historic of them and to share it with the community. You can + check them on the appropriate page.

+
+ +
+
+
+ +
+
+
+ +
+

Project of JunkJumper

+

I'm a 18 years old student in informatic developpement. I like to tap anything on my keyboard to create something + new ! 👍

+
+
+
+
+
+
+
+ +
+ +
+ + + \ No newline at end of file diff --git a/docs/story.html b/docs/story.html new file mode 100644 index 0000000..5174660 --- /dev/null +++ b/docs/story.html @@ -0,0 +1,83 @@ + + + + + SLEGPI + + + + + + + + + +
+ +
+ +
+
+
+ wbesite +
+
+
+
+

Story of the project

+

The idea of doing this project come after a physic Homework that threat of "Positive Energy Houses".

+ At this moment, I want to work on a "house" who can controll automaticly lights by using a solar panel who charge a battery.

+ I begin by doing all the necessary diagrams (see here, at the diagram section of the pdf file) and after that, I was begining to do the website by creating the website without any design.

+
+
+
+
+
+
+ + +
+ +
+ + + \ No newline at end of file diff --git a/docs/styles/layout.css b/docs/styles/layout.css new file mode 100644 index 0000000..287022a --- /dev/null +++ b/docs/styles/layout.css @@ -0,0 +1,291 @@ +html{ + overflow-y:scroll; +} + +body{ + margin:0; + padding:0; + font-size:13px; + font-family:Georgia, "Times New Roman", Times, serif; + color:#919191; + background-color:#232323; +} + +.clear:after{ + content:"."; + display:block; height:0; + clear:both; + visibility:hidden; + line-height:0; +} + +.clear{ + display:block; + clear:both; +} + +html[xmlns] .clear{ + display:block; +} + +* html .clear{ + height:1%; +} + +a{ + outline:none; + text-decoration:none; +} + +code{ + font-weight:normal; + font-style:normal; + font-family:Georgia, "Times New Roman", Times, serif; +} + +.fl_left{ + float:left; +} + +.fl_right{ + float:right; +} + +img{ + margin:0; + padding:0; + border:none; + line-height:normal; + vertical-align:middle; +} + +.imgholder, .imgl, .imgr{ + padding:4px; + border:1px solid #D6D6D6; + text-align:center; +} + +.imgl{ + float:left; + margin:0 15px 15px 0; + clear:left; +} + +.imgr{ + float:right; + margin:0 0 15px 15px; + clear:right; +} + +/* ----------------------------------------------Wrapper-------------------------------------*/ + +div.wrapper{ + display:block; + width:100%; + margin:0; + padding:0; + text-align:left; +} + +.row1, .row1 a{ + color:#C0BAB6; + background-color:#333333; +} + +.row2{ + color:#979797; + background-color:#FFFFFF; +} + +.row2 a{ + color:#FF9900; + background-color:#FFFFFF; +} + +.row4, .row4 a{ + color:#919191; + background-color:#232323; +} + +/*----------------------------------------------Generalise-------------------------------------*/ + +#header, #container, #footer, #copyright{ + display:block; + width:960px; + margin:0 auto; +} + +nav ul{ + margin:0; + padding:0; + list-style:none; +} + +h1, h2, h3, h4, h5, h6{ + margin:0; + padding:0; + font-size:16px; + font-weight:bold; + font-style:normal; + line-height:normal; + text-transform:uppercase; +} + +/*----------------------------------------------Header-------------------------------------*/ + +#header #hgroup{ + padding:0px 0; +} + +#header #hgroup h1, #header #hgroup h2{ + font-weight:normal; + text-transform:none; +} + +#header #hgroup h1{ + font-size:36px; +} + +#header #hgroup h2{ + font-size:13px; +} + +/*----------------------------------------------Content Area-------------------------------------*/ + +#container{ + padding:30px 0; +} + +#container section{ + display:block; + width:100%; + margin:0 0 30px 0; + padding:0; +} + +#container .last{ + margin:0; +} + +#container .more{ + text-align:right; + text-transform:uppercase; + font-size:smaller; + font-weight:bold; +} + +/* ------Slider-----*/ + +#container #slider{ + display:block; + width:100%; +} + +#container #slider a{ + display:block; + padding:9px; + border:1px solid #DEDEDE; +} + +#container #slider a:hover{ + border-color:#FF9900; +} + +/* ------Main Content-----*/ + +#container #content{ + float:left; + width:630px; + line-height:1.6em; +} + +#container #content #latest ul{ + margin:0; + padding:0; + list-style:none; +} + +#container #content #latest ul li{ + display:block; + width:100%; + margin-bottom:30px; +} + +#container #content #latest ul li.last{ + margin-bottom:0; +} + +#container #content #latest ul li article figure img{ + float:left; + width:180px; + height:150px; + margin:0; + padding:4px; + border:1px solid #666666; +} + +#container #content #latest ul li article figure figcaption{ + display:block; + float:right; + width:410px; +} + +#container #content #latest ul li article figure h2{ + font-size:14px; +} + +/* ------Right Column-----*/ + +#container #right_column{ + float:right; + width:280px; +} +#container #right_column h2.title{ + margin-bottom:15px; + padding-bottom:15px; + border-bottom:1px solid #DEDEDE; +} + +#container #right_column nav{ + display:block; + width:100%; + margin-bottom:30px; +} + +#container #right_column nav ul{ + margin:0; + padding:0; + list-style:none; +} + +#container #right_column nav li{ + margin:0 0 3px 0; + padding:0; +} + +#container #right_column nav li.last{ + margin-bottom:0; +} + +#container #right_column nav a{ + display:block; + margin:0; + padding:5px 10px 5px 20px; + color:#666666; + background:url("../img/orange_file.gif") no-repeat 10px center #FFFFFF; + text-decoration:none; + border-bottom:1px dotted #666666; +} + +#container #right_column nav a:hover{ + color:#FF9900; + background-color:#FFFFFF; +} + +/*----------------------------------------------Footer-------------------------------------*/ + +#footer{ + padding:30px 0; + font-size:12px; + line-height:1.4em; +} \ No newline at end of file diff --git a/docs/styles/style.css b/docs/styles/style.css new file mode 100644 index 0000000..b6477c2 --- /dev/null +++ b/docs/styles/style.css @@ -0,0 +1,383 @@ +html{ + overflow-y:scroll; + scroll-behavior: smooth; +} + +body{ + margin:0; + padding:0; + font-size:13px; + font-family:Georgia, "Times New Roman", Times, serif; + color:#919191; + background-color:#232323; +} + +.clear:after{ + content:"."; + display:block; height:0; + clear:both; + visibility:hidden; + line-height:0; +} + +.clear{ + display:block; + clear:both; +} + +html[xmlns] .clear{ + display:block; +} + +* html .clear{ + height:1%; +} + +a{ + outline:none; + text-decoration:none; +} + +p{ + text-align: justify +} + +code{ + font-weight:normal; + font-style:normal; + font-family:Georgia, "Times New Roman", Times, serif; +} + +.fl_left{ + float:left; +} + +.fl_right{ + float:right; +} + +img{ + margin:0; + padding:0; + border:none; + line-height:normal; + vertical-align:middle; +} + +.imgholder, .imgl, .imgr{ + padding:4px; + border:1px solid #D6D6D6; + text-align:center; +} + +.imgl{ + float:left; + margin:0 15px 15px 0; + clear:left; +} + +.imgr{ + float:right; + margin:0 0 15px 15px; + clear:right; +} + +/* ----------------------------------------------Wrapper-------------------------------------*/ + +div.wrapper{ + display:block; + width:100%; + margin:0; + padding:0; + text-align:left; +} + +.row1, .row1 a{ + color:#C0BAB6; + background-color:#333333; +} + +.row2{ + color:#979797; + background-color:#FFFFFF; +} + +.row2 a{ + color:#FF9900; + background-color:#FFFFFF; +} + +.row4, .row4 a{ + color:#919191; + background-color:#232323; +} + +/*----------------------------------------------Generalise-------------------------------------*/ + +#header, #container, #footer, #copyright{ + display:block; + width:960px; + margin:0 auto; +} + +nav ul{ + margin:0; + padding:0; + list-style:none; +} + +h1, h2, h3, h4, h5, h6{ + margin:0; + padding:0; + font-size:16px; + font-weight:bold; + font-style:normal; + line-height:normal; + text-transform:uppercase; +} + +.one_third, .two_third, .three_third{ + display:block; + float:left; + margin:0 30px 0 0; +} + +.one_third{ + width:300px; +} + +.two_third{ + width:630px; +} + +.three_third{ + width:960px; + float:none; + margin-right:0; + clear:both; +} + +.lastbox{ + margin-right:0; +} + +article, aside, figcaption, figure, footer, header, nav, section{ + display:block; + margin:0; + padding:0; +} + +/*----------------------------------------------Header-------------------------------------*/ + +#header{ + padding:20px 0; +} + +#header #hgroup{ + float:left; + margin:0 0 20px 0; +} + +#header #hgroup h1, #header #hgroup h2{ + font-weight:normal; + text-transform:none; +} + +#header #hgroup h1{ + font-size:36px; +} + +#header #hgroup h2{ + font-size:13px; +} + +#header form{ + display:block; + width:290px; + float:right; + margin:20px 0; + padding:0;} + +#header form input{ + display:block; + float:left; + width:200px; + margin:0; + padding:5px; + color:#C0BAB6; + background-color:#232323; + border:1px solid #666666; +} + +#header form #sf_submit{ + display:block; + float:right; + width:70px; + font-size:12px; + font-weight:bold; + text-transform:uppercase; + color:#FFFFFF; + background-color:#FF9900; + border:none; + cursor:pointer; +} + +#header nav{ + display:block; + width:100%; + margin:0; + padding:20px 0; + color:#C0BAB6; + background-color:#232323; + clear:both; +} + +#header nav ul{ + padding:0 20px; +} + +#header nav li{ + display:inline; + margin-right:25px; + text-transform:uppercase; +} + +#header nav li.last{ + margin-right:0; +} + +#header nav li a{ + color:#C0BAB6; + background-color:#232323; +} + +#header nav li a.active{ + color:#FF9900; + background-color:#232323; +} + +#header nav li a:hover{ + color:#FF9900; + background-color:#232323; +} + +/*----------------------------------------------Content Area-------------------------------------*/ + +#container{ + padding:30px 0; +} + +#container section{ + display:block; + width:100%; + margin:0 0 30px 0; + padding:0; +} + +#container .last{ + margin:0; +} + +#container .more{ + text-align:right; +} + +/* ------Main Content-----*/ + +#container #homepage{ + line-height:1.6em; +} + +#container #homepage section{ + margin:0; +} + +#container #homepage #services{ + margin-bottom:40px; +} + +#container #homepage #services article h2{ + font-size:14px; + margin-bottom:15px; + padding-bottom:8px; + border-bottom:1px solid #DEDEDE; +} + +#container #homepage #services article p{ + margin:0; + padding:0; +} + +#container #homepage #services article img{ + float:left; + width:80px; + height:80px; + margin:0 15px 0 0; + padding:4px; +} + +#container #homepage #services article footer{ + margin:10px 0 0 0; +} + +#container #homepage .fl_left, #container #homepage .fl_right{ + width:455px; +} + +#container #homepage .fl_right article figure img{ + float:left; + width:125px; + height:125px; + margin:0; + padding:4px; +} + +#container #homepage .fl_right article figure figcaption{ + display:block; + float:right; + width:300px; +} + +#container #homepage .fl_right article figure h2{ + font-size:14px; +} + +#container #homepage .fl_left1, #container #homepage .fl_right{ + width:455px; +} + +#container #homepage .fl_left1 article figure img{ + float:left; + width:125px; + height:125px; + margin:0; + padding:4px; +} + +#container #homepage .fl_left1 article figure figcaption{ + display:block; + float:left; + width:300px; +} + +#container #homepage .fl_left1 article figure h2{ + font-size:14px; +} + +#container #homepage .fl_left1 article figure img{ + float:left; + width:125px; + height:125px; + margin:15px; + padding:0px; +} + +/*----------------------------------------------Footer-------------------------------------*/ + +#footer{ + padding:20px 0; +} + +#footer p{ + margin:0; padding:0; +} \ No newline at end of file diff --git a/logo_slegpi.png b/logo_slegpi.png new file mode 100644 index 0000000..0a0c21d Binary files /dev/null and b/logo_slegpi.png differ